.p-dialog{padding:0;overflow:visible;border:1px solid var(--line,#414850);border-radius:18px;background:var(--panel,#1b1f24);color:var(--text,#edf0f3);width:min(960px,calc(100vw - 52px));max-height:calc(100vh - 72px);box-shadow:0 24px 100px #0009}.p-dialog::backdrop{background:#000a;backdrop-filter:blur(7px)}.p-dialog-body{padding:32px;max-height:calc(100vh - 76px);overflow:auto;border-radius:18px}.p-close{position:absolute;right:-14px;top:-14px;z-index:5;width:34px;height:34px;border:1px solid #7778;border-radius:50%;background:var(--panel,#242930);color:var(--text,#fff);box-shadow:0 4px 16px #0008;cursor:pointer}.p-dialog h2{margin:0 0 24px}.p-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}.p-filters{display:flex;gap:10px;justify-content:flex-end;align-items:end;flex-wrap:wrap;margin:20px 0}.p-filters>input{max-width:340px}.p-filters .field{margin:0;min-width:140px}.p-filters select{min-width:130px}.p-error{color:#ef7474;white-space:pre-wrap}.p-success{color:#31c99a}.p-check{display:flex;align-items:center;gap:10px;margin:10px 0}.p-check input{width:17px;height:17px}.p-pair{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line,#34383e);padding:14px 0}.p-pair>span,.p-muted{color:var(--muted,#a4adb9)}.p-pair strong{text-align:right;overflow-wrap:anywhere}.p-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}.p-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.p-card,.p-section{border:1px solid var(--line,#353a42);border-radius:16px;background:var(--panel,#1a1e23);padding:24px}.p-section{margin:28px 0}.p-empty{padding:30px!important;text-align:center;color:var(--muted,#a4adb9)}.p-evidence{display:flex;flex-wrap:wrap;gap:12px}.p-evidence img{width:140px;height:160px;object-fit:contain;background:#111;border-radius:10px}.p-avatar{width:74px;height:74px;border-radius:16px;object-fit:cover}.p-title-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.p-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.p-tabs .active{background:var(--accent,#ffcd29);color:#181818}.p-hero{padding:72px 0 44px;max-width:850px}.p-hero .eyebrow{color:#ffcd29;letter-spacing:3px}.p-hero h1{font-size:clamp(36px,5vw,62px);line-height:1.16;margin:18px 0}.p-hero p{font-size:17px;line-height:1.8;color:var(--muted,#a4adb9)}.p-server{position:relative;isolation:isolate;overflow:hidden;min-height:300px}.p-server>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.3}.p-server:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#13171aed);z-index:-1}.p-server h3{font-size:22px}.p-server .p-pair{border-color:#ffffff1a}.p-score{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.p-score span{font-weight:700;padding:8px 11px;background:#0004;border-radius:8px}.p-faction-lonestar{color:#42b9f8}.p-faction-valkyra,.p-faction-valkyrie{color:#ff635c}.p-faction-manticore{color:#25d984}.p-faction-white{color:var(--text,#eee)}.p-form-wrap{max-width:640px;margin:44px auto}.p-form-wrap h1{font-size:34px}.p-identity{display:flex;align-items:center;gap:20px;margin:20px 0}.p-balance{font-size:44px;color:var(--accent,#ffcd29);font-weight:750}.p-data{white-space:pre-wrap;overflow-wrap:anywhere}.p-plans{width:100%;min-width:680px}.p-plans input{min-width:65px;width:100%}.p-permissions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.p-permissions .p-check{margin:0}.public-site{display:block;background:var(--bg,#101316);color:var(--text,#edf0f3)}.public-site #p-nav{position:sticky;top:0;z-index:20;height:auto;min-height:86px;padding:16px 4vw;background:var(--panel,#161b20);border-bottom:1px solid var(--line,#353a42);display:flex;align-items:center;gap:22px;flex-wrap:wrap}.p-brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none}.p-logo{display:grid;place-items:center;width:48px;height:48px;background:#ffcd29;color:#181818;font-size:26px;font-weight:900;border-radius:12px;object-fit:cover}.p-brand strong{display:block;font-size:18px}.p-brand small{font-size:10px;letter-spacing:2px;color:var(--muted,#a4adb9)}.p-nav-links{display:flex;align-items:center;gap:20px;margin-left:auto;flex-wrap:wrap}.p-nav-links a{color:inherit;text-decoration:none;font-size:13px}.p-nav-links a:hover{color:#ffcd29}.p-user{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#303945;border:1px solid #74808d}.public-site #p-main{max-width:1420px;margin:auto;padding:20px 4vw 64px;min-height:75vh}.public-site footer{padding:28px 4vw;border-top:1px solid var(--line,#353a42)}.public-site input,.public-site select,.public-site textarea,.p-dialog input:not([type=checkbox]),.p-dialog textarea{background:var(--input-bg,#1c232b);border:1px solid var(--input-border,#47525e);border-radius:8px;color:var(--text,#edf0f3);padding:12px;min-width:0;font:inherit}.public-site input:focus,.public-site textarea:focus{outline:2px solid #ffcd2966;border-color:#ffcd29}.public-site .field,.p-dialog .field{display:flex;flex-direction:column;gap:8px;margin:16px 0}.public-site .field input,.public-site .field select{width:100%}.public-site textarea{width:100%;min-height:120px}.public-site .btn{display:inline-flex;text-decoration:none;justify-content:center;align-items:center;gap:8px}.public-site .panel{margin-top:16px}.public-site #p-main>h1{font-size:36px;margin-top:36px}#p-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);z-index:10000;background:#313c46;color:white;border:1px solid #718494;padding:14px 24px;border-radius:12px;max-width:90vw}.p-loading{padding:60px;text-align:center}.p-wiki-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 24px}.p-qr{width:min(290px,80vw);max-height:360px;object-fit:contain;display:block;margin:20px auto;background:white;padding:10px;border-radius:12px}#dialog{overflow:visible}#dialog>#dialog-content{max-height:calc(100vh - 100px);overflow:auto}#dialog>.p-close{right:-12px;top:-12px}#dialog [data-action=close],#dialog [data-action=inspector-close]{display:none}.light .p-server{color:#fff}.light .p-server .p-muted{color:#dbe3ea}.light .p-server .btn{background:#edf2f2;color:#161b20}.light .p-hero .eyebrow,.light .p-balance{color:#8b6100}@media(max-width:720px){.p-two{grid-template-columns:1fr}.p-dialog-body{padding:22px}.p-nav-links{gap:13px}.p-hero{padding-top:36px}.public-site #p-nav{position:relative}.p-filters>*{flex:1}.p-grid{grid-template-columns:1fr}}
/* Shared portal controls use the same tokens as the existing admin forms. */
:is(.public-site,.p-dialog,#portal-admin-content) .field{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:13px;line-height:18px;min-width:0}
:is(.public-site,.p-dialog,#portal-admin-content) .field :is(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;max-width:100%}
:is(.public-site,.p-dialog,#portal-admin-content) :is(input:not([type=checkbox]):not([type=radio]),textarea){background:var(--control);color:var(--text);border:1px solid var(--control-border);border-radius:9px;padding:10px 12px;min-width:0;font:inherit;line-height:20px}
:is(.public-site,.p-dialog,#portal-admin-content) select{background-color:var(--control);color:var(--text);border-color:var(--control-border)}
:is(.public-site,.p-dialog,#portal-admin-content) input:not([type=checkbox]):not([type=radio]):not([type=file]){min-height:42px}
:is(.public-site,.p-dialog,#portal-admin-content) input[readonly]{background:var(--inset);color:var(--muted)}
:is(.public-site,.p-dialog,#portal-admin-content) :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
:is(.public-site,.p-dialog,#portal-admin-content) :is(input:not([type=checkbox]):not([type=radio]),textarea):hover{border-color:var(--muted)}
:is(.public-site,.p-dialog,#portal-admin-content) :is(input,select,textarea):focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--focus-ring)}
:is(.public-site,.p-dialog,#portal-admin-content) :is(input,select,textarea):disabled{opacity:.55;cursor:not-allowed}
.p-filters{display:flex;justify-content:flex-end;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:22px 0 18px}
.p-filters .field{display:flex;flex-direction:column;gap:8px;flex:0 1 170px;width:170px;min-width:0;max-width:100%;margin:0;font-size:13px;line-height:18px;color:var(--muted)}
.p-filters .p-filter-search{flex-basis:300px;width:300px}
.p-filters .field :is(input,select){width:100%;min-width:0;height:42px;min-height:42px;margin:0;font-size:13px;line-height:20px;border-radius:9px}
.p-filters>.btn{flex:0 0 auto;height:42px;min-width:74px;margin:0;border-radius:9px;padding:10px 18px}
.p-filters input[type=search]{appearance:none;-webkit-appearance:none}
.p-filters input[type=search]::-webkit-search-cancel-button{cursor:pointer}
:is(.public-site,.p-dialog,#portal-admin-content) input:is([type=date],[type=datetime-local],[type=month]){color-scheme:dark;font-variant-numeric:tabular-nums}
.light :is(.public-site,.p-dialog,#portal-admin-content) input:is([type=date],[type=datetime-local],[type=month]){color-scheme:light}
:is(.public-site,.p-dialog,#portal-admin-content) input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75;margin-left:8px}
:is(.public-site,.p-dialog,#portal-admin-content) input::-webkit-calendar-picker-indicator:hover{opacity:1}
@media(max-width:720px){.p-filters .field{flex:0 1 170px}.p-filters .p-filter-search{flex-basis:300px}.p-filters>.btn{flex:0 0 auto}}
@media(max-width:480px){.p-filters .field,.p-filters .p-filter-search{flex-basis:100%;width:100%}}
.p-filter-period{display:flex;align-items:flex-end;gap:8px;flex:0 1 340px;min-width:0;max-width:100%}.p-filters .p-filter-period .field{flex:1 1 0;width:auto;min-width:130px}.p-date-separator{align-self:flex-end;height:42px;display:grid;place-items:center;color:var(--muted);font-size:12px}.p-filter-period input::-webkit-datetime-edit{padding:0}.p-filters .p-filter-period input::-webkit-calendar-picker-indicator{margin-left:2px}@media(max-width:480px){.p-filter-period{flex-basis:100%}}

.p-avatar-fallback{display:grid;place-items:center;flex-shrink:0;background:var(--control,#252b32);color:var(--muted,#a4adb9);border:1px solid var(--line);font-size:28px;font-weight:650}.p-binding-pending{margin-top:24px;padding:20px;border:1px solid var(--line);border-left:3px solid var(--brand,#ffcd29);border-radius:12px;background:var(--bg)}.p-binding-pending .p-identity{margin:0 0 16px}.p-binding-pending p{line-height:1.65}.p-binding-pending>.btn{margin-top:8px}
