/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--navy-900:#0c1a2f;--navy-800:#12253f;--brand:#2b5a9e;--brand-700:#1e4080;--page:#f4f6fa;--surface:#fff;--line:#e7ebf1;--line-soft:#f1f4f8;--ink:#0f1b2d;--ink-2:#475569;--ink-3:#8494a8;--ok:#15803d;--ok-bg:#e8f6ed;--warn:#b45309;--warn-bg:#fdf5e6;--bad:#be123c;--bad-bg:#fdeaee;--r-sm:8px;--r-md:12px;--r-lg:16px;--shadow-sm:0 1px 2px #0f1b2d0f;--shadow-lg:0 16px 40px #0f1b2d29;--sidebar-w:244px}*{box-sizing:border-box}body,html{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}.portal-table td,.stat-value,.tabular{font-variant-numeric:tabular-nums}h1,h2,h3,h4{letter-spacing:-.011em;color:var(--ink);margin:0}a{color:var(--brand)}.blue-textured-bg{background-color:var(--navy-800);background-image:url(/texture-background.png);background-repeat:repeat}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background-color:var(--navy-900);background-image:url(/texture-background.png);background-repeat:repeat;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:11px;padding:22px 20px 18px;display:flex}.sidebar-brand img{object-fit:contain;width:auto;height:30px}.sidebar-brand-text{color:#fff;letter-spacing:-.01em;font-size:14px;font-weight:650}.sidebar-brand-sub{color:#ffffff73;margin-top:1px;font-size:11px}.sidebar-section{padding:6px 12px}.sidebar-label{letter-spacing:.07em;text-transform:uppercase;color:#ffffff59;padding:14px 10px 7px;font-size:10.5px;font-weight:600}.nav-item{border-radius:var(--r-sm);color:#ffffffb8;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding:9px 11px;font-family:inherit;font-size:13.5px;font-weight:500;transition:background .12s,color .12s;display:flex}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item[aria-current=true]{color:#fff;background:#ffffff21;font-weight:600}.nav-item-icon{text-align:center;opacity:.85;flex:0 0 16px;width:16px}.sidebar-foot{border-top:1px solid #ffffff17;margin-top:auto;padding:14px 16px 18px}.sidebar-user{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:500;overflow:hidden}.sidebar-user-sub{color:#ffffff6b;margin-top:1px;font-size:11px}.sidebar-link{cursor:pointer;color:#ffffff8c;background:0 0;border:none;margin-top:10px;padding:0;font-family:inherit;font-size:12px;display:block}.sidebar-link:hover{color:#fff}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;align-items:center;gap:16px;padding:20px 32px;display:flex;position:sticky;top:0}.topbar h1{font-size:19px;font-weight:650}.topbar-sub{color:var(--ink-3);margin-top:2px;font-size:12.5px}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.content{padding:28px 32px 56px}@media (max-width:860px){.shell{flex-direction:column}.sidebar{flex:none;width:100%;height:auto;position:static}.sidebar-section{gap:4px;padding:4px 10px 10px;display:flex;overflow-x:auto}.sidebar-label{display:none}.nav-item{white-space:nowrap;width:auto;margin-bottom:0}.content,.topbar{padding-left:18px;padding-right:18px}}.portal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow:visible}.card-pad{padding:24px}.card-title{margin-bottom:4px;font-size:14.5px;font-weight:650}.card-hint{color:var(--ink-3);font-size:12.5px}.stat{padding:18px 20px}.stat-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);font-size:11.5px;font-weight:600}.stat-value{letter-spacing:-.02em;margin-top:6px;font-size:28px;font-weight:680}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.portal-table{border-collapse:collapse;width:100%}.portal-table thead th{text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;background:var(--line-soft);border-bottom:1px solid var(--line);padding:11px 18px;font-size:11px;font-weight:600}.portal-table td{color:var(--ink-2);border-bottom:1px solid var(--line-soft);padding:13px 18px;font-size:13.5px}.portal-table td:first-child{color:var(--ink);font-weight:550}.portal-table tbody tr:hover{background:#fafbfd}.portal-table tbody tr:last-child td{border-bottom:none}.empty{text-align:center;color:var(--ink-3);padding:56px 24px;font-size:13.5px}.btn-danger,.btn-primary,.btn-secondary{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:8px 15px;font-family:inherit;font-size:13.5px;font-weight:550;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.btn-primary{background:var(--brand);color:#fff;border:1px solid var(--brand)}.btn-primary:hover:not(:disabled){background:var(--brand-700);border-color:var(--brand-700)}.btn-secondary{background:var(--surface);color:var(--ink-2);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){color:var(--ink);background:#fafbfd;border-color:#d6dde7}.btn-danger{background:var(--bad);color:#fff;border:1px solid var(--bad)}.btn-danger:hover:not(:disabled){background:#9f0f32}.btn-danger:disabled,.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.portal-input{border:1px solid var(--line);border-radius:var(--r-sm);width:100%;color:var(--ink);background:var(--surface);outline:none;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:border-color .12s,box-shadow .12s}.portal-input::placeholder{color:var(--ink-3)}.portal-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2b5a9e1c}select.portal-input{cursor:pointer}label{color:var(--ink-2);font-size:12.5px;font-weight:550}.segmented{background:var(--line-soft);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;color:var(--ink-3);background:0 0;border:none;border-radius:7px;padding:7px 18px;font-family:inherit;font-size:13px;font-weight:550}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);min-width:210px;padding:5px;overflow:hidden}.menu button{text-align:left;width:100%;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 11px;font-family:inherit;font-size:13px;display:block}.menu button:hover:not(:disabled){background:var(--line-soft);color:var(--ink)}.menu button:disabled{color:var(--ink-3);cursor:not-allowed}.menu-sep{background:var(--line-soft);height:1px;margin:5px 0}.badge{border-radius:999px;padding:2.5px 9px;font-size:11.5px;font-weight:550;display:inline-block}.badge-green{background:var(--ok-bg);color:var(--ok)}.badge-red{background:var(--bad-bg);color:var(--bad)}.badge-blue{color:var(--brand);background:#e8f0fb}.badge-gray{background:var(--line-soft);color:var(--ink-2)}.modal-overlay{z-index:200;background:#0c1a2f80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-lg);padding:26px;overflow-y:auto}.auth-wrap{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{width:100%;max-width:400px}.auth-panel{background:var(--surface);border-radius:var(--r-lg);padding:32px;box-shadow:0 20px 50px #00000038}.auth-mark{text-align:center;margin-bottom:26px}.auth-mark img{object-fit:contain;height:52px}.auth-mark p{color:#ffffff9e;margin:10px 0 0;font-size:13px}.auth-foot{text-align:center;color:#fff6;margin-top:22px;font-size:11.5px}.alert{border-radius:var(--r-sm);margin-bottom:16px;padding:10px 13px;font-size:13px}.alert-error{background:var(--bad-bg);color:var(--bad);border:1px solid #f7ccd6}.alert-ok{background:var(--ok-bg);color:var(--ok);border:1px solid #c8e8d5}.alert-warn{background:var(--warn-bg);color:var(--warn);border:1px solid #f6e0b8}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.avatar{width:30px;height:30px;color:var(--brand);letter-spacing:.02em;background:#e8eef7;border-radius:50%;flex:0 0 30px;justify-content:center;align-items:center;font-size:11px;font-weight:650;display:inline-flex}.avatar-lg{flex-basis:46px;width:46px;height:46px;font-size:15px}.slug{background:var(--line-soft);color:var(--ink-2);border-radius:5px;padding:2px 7px;font-family:ui-monospace,monospace;font-size:11.5px}.drawer-overlay{z-index:120;background:#0c1a2f6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);width:100%;max-width:520px;height:100%;padding:26px 28px 40px;overflow-y:auto;box-shadow:-18px 0 48px #0f1b2d2e}.drawer-head{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.detail-list{flex-direction:column;margin:0 0 22px;display:flex}.detail-list>div{border-bottom:1px solid var(--line-soft);gap:16px;padding:11px 0;display:flex}.detail-list dt{color:var(--ink-3);flex:0 0 132px;margin:0;font-size:12.5px}.detail-list dd{color:var(--ink);word-break:break-word;min-width:0;margin:0;font-size:13.5px}.drawer-qr{border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:18px;margin-bottom:24px;padding:18px;display:flex}.drawer-qr img{border-radius:var(--r-sm);flex:0 0 108px;width:108px;height:108px}.drawer-section{border-top:1px solid var(--line);padding-top:20px}@media (max-width:560px){.drawer{padding:20px 18px 32px}.drawer-qr{flex-direction:column;align-items:flex-start}.detail-list>div{flex-direction:column;gap:3px}}.settings-row{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (max-width:900px){.settings-row{grid-template-columns:1fr}}.theme-row{align-items:center;gap:10px;margin-bottom:8px;display:flex}.swatch{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;flex:0 0 34px;width:34px;height:34px;padding:2px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}