@layer components{.portal{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100svh - var(--header-h))}.p-side{border-right:1px solid var(--line);background:var(--side-bg);padding:22px 16px;display:grid;gap:18px;align-content:start;position:sticky;top:var(--header-h);height:calc(100svh - var(--header-h));overflow-y:auto}.p-acct{display:grid;gap:6px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--night-2)}.p-acct .who{font:700 15px/1.25 var(--f-display);font-stretch:104%;overflow-wrap:anywhere}.p-acct .mail{font:500 12px/1.4 var(--f-mono);color:var(--ink-faint);overflow-wrap:anywhere}.p-acct select{margin-top:4px}.p-nav{display:grid;gap:2px}.p-nav .k{font:600 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);padding:14px 10px 6px}.p-nav a,.p-nav button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;font:500 14.5px/1.2 var(--f-body);color:var(--ink-dim)}.p-nav a svg,.p-nav button svg{width:18px;height:18px;flex:none;opacity:.85}.p-nav a:hover,.p-nav button:hover{background:color-mix(in srgb,var(--tint) 7%,transparent);color:var(--ink)}.p-nav a[data-status=active]{background:#62ad3224;color:var(--ink);box-shadow:inset 3px 0 0 var(--accent)}.p-nav a:focus-visible,.p-nav button:focus-visible{outline:2px solid var(--glow);outline-offset:1px}.p-nav .count{margin-left:auto;font:600 11px/1 var(--f-mono);padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.p-main{min-width:0;padding:clamp(20px,3vw,40px) max(16px,env(safe-area-inset-right,0px)) 64px clamp(16px,3vw,40px);display:grid;gap:22px;align-content:start;max-width:1180px;width:100%;margin-inline:auto}@media(max-width:900px){.portal{grid-template-columns:minmax(0,1fr)}.p-side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:12px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));gap:10px}.p-acct{grid-template-columns:minmax(0,1fr) auto;align-items:center}.p-acct select{grid-column:1 / -1}.p-nav{display:flex;overflow-x:auto;gap:4px;padding-bottom:10px;scrollbar-width:none}.p-nav::-webkit-scrollbar{display:none}.p-nav .k{display:none}.p-nav a,.p-nav button{white-space:nowrap;padding:8px 12px}.p-nav a[data-status=active]{box-shadow:inset 0 -2px 0 var(--accent)}.p-main{padding-left:max(16px,env(safe-area-inset-left,0px))}}.p-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}.p-head h1{font-weight:850;font-stretch:108%;font-size:clamp(28px,3.2vw,42px);line-height:1;letter-spacing:-.015em}.p-head .sub{color:var(--ink-dim);margin-top:8px;max-width:64ch}.p-crumbs{font:500 12px/1 var(--f-mono);letter-spacing:.08em;color:var(--ink-faint);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.p-crumbs a{color:var(--ink-dim);text-decoration:none}.p-crumbs a:hover{color:var(--ink)}.p-head-actions{display:flex;flex-wrap:wrap;gap:10px}.p-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.p-tile{display:grid;gap:6px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--night-2);text-decoration:none;transition:border-color .2s,transform .2s}a.p-tile:hover{border-color:#62ad328c;transform:translateY(-1px)}.p-tile .k{font:600 11.5px/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.p-tile .v{font:850 32px/1 var(--f-display);font-stretch:106%;font-variant-numeric:tabular-nums}.p-tile .v.warn{color:var(--warn)}.p-tile .n{font-size:13px;color:var(--ink-dim)}@media(max-width:900px){.p-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.p-panel{border-radius:18px;border:1px solid var(--line);background:var(--night-2);min-width:0}.p-panel-head{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.p-panel-head h2{font:750 18px/1.2 var(--f-display);font-stretch:105%}.p-panel-head .hint{font:500 12px/1.3 var(--f-mono);color:var(--ink-faint)}.p-panel-body{padding:18px;display:grid;gap:14px}.p-panel-body>p{color:var(--ink-dim)}.p-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.p-cols-wide{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media(max-width:1000px){.p-cols,.p-cols-wide{grid-template-columns:minmax(0,1fr)}}.p-kv{display:grid;gap:0;margin:0}.p-kv>div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.4fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.p-kv>div:last-child{border-bottom:0}.p-kv dt{font:500 12.5px/1.5 var(--f-mono);letter-spacing:.04em;color:var(--ink-faint)}.p-kv dd{margin:0;overflow-wrap:anywhere}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.p-table-wrap{overflow-x:auto}.p-table{width:100%;border-collapse:collapse;font-size:14.5px}.p-table th{text-align:left;font:600 11.5px/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--glow);padding:12px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.p-table td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.p-table tr:last-child td{border-bottom:0}.p-table tbody tr{transition:background .15s}.p-table tbody tr[data-href]{cursor:pointer}.p-table tbody tr[data-href]:hover{background:color-mix(in srgb,var(--tint) 5%,transparent)}.p-table .num{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.p-table a.row-link{color:var(--ink);text-decoration:none;font-weight:600}.p-table a.row-link:hover{color:var(--glow)}.p-table .muted{color:var(--ink-faint);font-size:13px}@media(max-width:720px){.p-table thead{display:none}.p-table,.p-table tbody,.p-table tr,.p-table td{display:block;width:100%}.p-table tr{padding:12px 16px;border-bottom:1px solid var(--line)}.p-table tr:last-child{border-bottom:0}.p-table td{padding:3px 0;border:0}.p-table td[data-label]:before{content:attr(data-label);display:inline-block;min-width:110px;font:500 11px/1.6 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.p-table .num{text-align:left}}.pill{display:inline-flex;align-items:center;gap:6px;font:600 11.5px/1 var(--f-mono);letter-spacing:.04em;padding:6px 9px;border-radius:999px;white-space:nowrap;background:color-mix(in srgb,var(--ink-dim) 14%,transparent);color:var(--ink-dim)}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.pill.good{background:color-mix(in srgb,var(--good) 14%,transparent);color:var(--good)}.pill.warn{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}.pill.bad{background:color-mix(in srgb,var(--bad) 14%,transparent);color:var(--bad)}.pill.info{background:color-mix(in srgb,var(--tint) 14%,transparent);color:var(--glow)}.p-filters{display:flex;flex-wrap:wrap;gap:6px}.p-filters button{all:unset;cursor:pointer;font:500 13px/1 var(--f-body);padding:9px 13px;border-radius:999px;border:1px solid var(--line);color:var(--ink-dim)}.p-filters button:hover{color:var(--ink);border-color:color-mix(in srgb,var(--tint) 35%,transparent)}.p-filters button[aria-pressed=true]{background:#62ad3229;border-color:#62ad3280;color:var(--ink)}.p-filters button:focus-visible{outline:2px solid var(--glow);outline-offset:2px}.p-empty,.p-error{display:grid;gap:10px;justify-items:start;padding:26px 18px;color:var(--ink-dim)}.p-empty h3,.p-error h3{font:700 17px/1.2 var(--f-display);color:var(--ink)}.p-error{border-left:3px solid var(--bad)}.p-skel{border-radius:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--tint) 5%,transparent),color-mix(in srgb,var(--tint) 11%,transparent),color-mix(in srgb,var(--tint) 5%,transparent));background-size:200% 100%;animation:shimmer 1.2s linear infinite;min-height:18px}@keyframes shimmer{to{background-position:-200% 0}}.p-note{padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--tint) 30%,transparent);background:color-mix(in srgb,var(--tint) 6%,transparent);color:var(--ink);font-size:14.5px}.p-note.warn{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}.p-note.bad{border-color:color-mix(in srgb,var(--bad) 45%,transparent);background:color-mix(in srgb,var(--bad) 8%,transparent)}.p-note.good{border-color:color-mix(in srgb,var(--good) 45%,transparent);background:color-mix(in srgb,var(--good) 8%,transparent)}.p-form{display:grid;gap:14px}.p-form .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.p-form .row-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.p-form .row,.p-form .row-3{grid-template-columns:minmax(0,1fr)}}.field{display:grid;gap:6px;min-width:0}.field>span,.field>label{font:500 13px/1.3 var(--f-body);color:var(--ink-dim)}.field small{font-size:12.5px;color:var(--ink-faint)}.field .err{font-size:13px;color:var(--bad-text)}.p-input,.p-select,.p-textarea{width:100%;font:400 15px/1.4 var(--f-body);color:var(--ink);background:var(--night);border:1px solid color-mix(in srgb,var(--tint) 28%,transparent);border-radius:12px;padding:11px 14px;min-height:44px;transition:border-color .2s,box-shadow .2s}.p-textarea{min-height:150px;resize:vertical}.p-input::placeholder,.p-textarea::placeholder{color:var(--placeholder)}.p-input:focus,.p-select:focus,.p-textarea:focus{outline:none;border-color:var(--glow);box-shadow:0 0 0 3px color-mix(in srgb,var(--tint) 18%,transparent)}.p-input[aria-invalid=true]{border-color:var(--bad)}.p-check{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:var(--ink);cursor:pointer}.p-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent)}.p-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}@media(max-width:640px){.p-checks{grid-template-columns:minmax(0,1fr)}}.p-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.btn[disabled],.btn[aria-busy=true]{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-danger{border-color:color-mix(in srgb,var(--bad) 55%,transparent);color:var(--bad-text)}.btn-danger:hover{background:color-mix(in srgb,var(--bad) 10%,transparent);border-color:var(--bad)}.btn-link{all:unset;cursor:pointer;color:var(--glow);font:600 14px/1.3 var(--f-body)}.btn-link:hover{text-decoration:underline}.btn-link:focus-visible{outline:2px solid var(--glow);outline-offset:2px;border-radius:4px}.p-meter{display:grid;gap:6px}.p-meter .lbl{display:flex;justify-content:space-between;font:500 12.5px/1.2 var(--f-mono);color:var(--ink-dim)}.p-meter .bar{height:8px;border-radius:999px;background:color-mix(in srgb,var(--tint) 12%,transparent);overflow:hidden}.p-meter .bar i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.p-meter .bar i.warn{background:var(--warn)}.p-meter .bar i.bad{background:var(--bad)}.p-thread{display:grid;gap:12px}.p-msg{border-radius:16px;border:1px solid var(--line);background:var(--night-2);overflow:hidden}.p-msg.staff{border-color:#62ad3273}.p-msg-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--tint) 3%,transparent)}.p-msg-head b{font-weight:600}.p-msg-head .when{font:500 12px/1.4 var(--f-mono);color:var(--ink-faint)}.p-msg-body{padding:14px 16px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.p-msg-files{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 14px}.p-file{display:inline-flex;align-items:center;gap:8px;font:500 12.5px/1 var(--f-mono);padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--night);color:var(--ink);cursor:pointer}.p-file:hover{border-color:color-mix(in srgb,var(--tint) 40%,transparent)}.p-dialog{border:1px solid color-mix(in srgb,var(--tint) 30%,transparent);border-radius:20px;background:var(--night-2);color:var(--ink);padding:0;width:min(520px,calc(100vw - 32px));box-shadow:0 40px 100px -40px var(--shadow-deep)}.p-dialog::backdrop{background:#040a14b8}.p-dialog form,.p-dialog .in{display:grid;gap:14px;padding:22px}.p-dialog h2{font:800 22px/1.15 var(--f-display);font-stretch:105%}.p-dialog p{color:var(--ink-dim)}.p-auth{min-height:calc(100svh - var(--header-h) - 120px);display:grid;place-items:center;padding:48px max(16px,env(safe-area-inset-right,0px)) 64px max(16px,env(safe-area-inset-left,0px));background:radial-gradient(900px 420px at 70% 0%,color-mix(in srgb,var(--wash) 32%,transparent),color-mix(in srgb,var(--wash) 0%,transparent) 70%)}.p-auth-card{width:min(440px,100%);display:grid;gap:18px;padding:clamp(22px,4vw,34px);border-radius:22px;border:1px solid color-mix(in srgb,var(--tint) 24%,transparent);background:var(--night-2);box-shadow:0 40px 90px -50px var(--shadow-deep)}.p-auth-card h1{font-weight:850;font-stretch:108%;font-size:32px;line-height:1}.p-auth-card .sub{color:var(--ink-dim)}.p-auth-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:14px;color:var(--ink-dim)}.p-auth-foot a{color:var(--glow)}.p-iframe{width:100%;min-height:520px;border:1px solid var(--line);border-radius:14px;background:#fff}.p-code{font:600 15px/1.4 var(--f-mono);padding:12px 14px;border-radius:12px;background:var(--night);border:1px dashed color-mix(in srgb,var(--tint) 40%,transparent);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}@media(prefers-reduced-motion:reduce){.p-skel{animation:none}.p-tile,.p-table tbody tr{transition:none}}}
