:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#080d19;--bg-raised:#0b1221;--surface:#0e1728;--surface-strong:#131f33;--surface-hover:#18263d;--line:#25344d;--line-strong:#384b68;--text:#f3f6fb;--text-soft:#c7d0df;--muted:#93a2b8;--muted-dark:#8292aa;--accent:#df0a81;--accent-hover:#f01a94;--accent-soft:#df0a8124;--blue:#4aa7d2;--blue-soft:#4aa7d221;--success:#4fd39a;--success-soft:#4fd39a1f;--warning:#f1bd65;--warning-soft:#f1bd651f;--danger:#f06a7f;--danger-hover:#ff7d91;--danger-soft:#f06a7f1f;--focus:#67c6f0;--radius-sm:8px;--radius:12px;--radius-lg:16px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px;min-height:100%}body{background:radial-gradient(circle at 16% -10%, #216d9429, transparent 32rem), var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button,input,select,textarea,[tabindex]{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 3px #67c6f052;border-color:var(--focus)!important}button{color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:#df0a812e}::selection{color:#fff;background:#df0a816b}*{scrollbar-color:var(--line-strong) var(--bg-raised);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-raised)}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--bg-raised);border-radius:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--text);color:var(--bg);padding:.6rem .8rem;font-size:.8rem;font-weight:750;transition:transform .15s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.button{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.55rem;min-height:42px;padding:.65rem 1rem;font-size:.875rem;font-weight:720;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.48;cursor:not-allowed}.button-primary{background:var(--accent);color:#fff}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-secondary{background:var(--surface-strong);border-color:var(--line);color:var(--text-soft)}.button-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--line-strong);color:var(--text)}.button-ghost{color:var(--muted);background:0 0;border-color:#0000}.button-ghost:hover:not(:disabled){background:var(--surface-strong);color:var(--text)}.button-danger{background:var(--danger-soft);color:#ffb3bf;border-color:#f06a7f61;width:100%}.button-danger:hover:not(:disabled){border-color:var(--danger);color:#fff;background:#f06a7f33}.button-compact{min-height:38px;padding:.5rem .72rem;font-size:.8rem}.icon-button{background:var(--surface-strong);width:40px;height:40px;color:var(--text-soft);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text);border-color:var(--line-strong)}.icon-button:disabled{opacity:.35;cursor:not-allowed}.field{flex-direction:column;gap:.42rem;display:flex}.field>span:first-child{color:var(--text-soft);font-size:.78rem;font-weight:700}.field em{color:var(--muted-dark);font-style:normal;font-weight:500}.field input,.search-field input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-raised);width:100%;min-height:42px;color:var(--text);caret-color:var(--accent-hover);padding:.62rem .75rem;transition:border-color .16s,background-color .16s}.field input:hover:not(:disabled),.search-field input:hover:not(:disabled){border-color:var(--line-strong)}.field input::placeholder,.search-field input::placeholder{color:var(--muted-dark)}.field small{color:var(--muted-dark);font-size:.72rem;line-height:1.45}.field .field-error{color:#ff9cac}.password-input-wrap{display:block;position:relative}.password-input-wrap input{padding-right:3rem}.input-icon-button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.input-icon-button:hover:not(:disabled){color:var(--text);background:var(--surface-strong)}.alert{border-radius:var(--radius-sm);border:1px solid var(--line);padding:.75rem .85rem;font-size:.8rem;line-height:1.5}.alert p{margin:.25rem 0 0}.alert>div:first-child{align-items:center;gap:.45rem;display:flex}.alert-error{background:var(--danger-soft);color:#ffc0ca;border-color:#f06a7f59}.alert-success{background:var(--success-soft);color:#b6f3d8;border-color:#4fd39a57}.button-loader{border:2px solid;border-right-color:#0000;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.startup-screen,.login-shell{min-height:100vh;min-height:100svh}.startup-screen{color:var(--muted);place-content:center;justify-items:center;gap:1rem;font-size:.82rem;display:grid}.startup-screen p{margin:0}.startup-mark{border:1px solid var(--line-strong);border-radius:50%;width:38px;height:38px;position:relative}.startup-mark:after{content:"";background:var(--accent);transform-origin:4px 23px;border-radius:50%;width:8px;height:8px;animation:1.2s linear infinite startup-orbit;position:absolute;top:-4px;left:15px}@keyframes startup-orbit{to{transform:rotate(360deg)}}.login-shell{background:radial-gradient(circle at 50% 12%,#216d9433,#0000 25rem),radial-gradient(circle at 85% 90%,#df0a8114,#0000 24rem);grid-template-rows:1fr auto;place-items:center;padding:2rem 1rem;display:grid}.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-self:center;width:min(100%,430px);padding:2.25rem;box-shadow:0 24px 70px #0000005c}.login-brand{width:54px;height:54px;color:var(--blue);place-items:center;margin-bottom:1.4rem;display:grid;position:relative}.login-brand-orbit{border:1px solid var(--line-strong);border-radius:50%;position:absolute;inset:0}.login-brand-orbit:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:5px}.login-panel h1{letter-spacing:-.025em;margin:0;font-size:1.55rem}.login-intro{max-width:36ch;color:var(--muted);margin:.55rem 0 1.35rem;font-size:.9rem;line-height:1.6}.security-notice{color:var(--blue);background:var(--blue-soft);border-radius:var(--radius-sm);align-items:center;gap:.55rem;margin-bottom:1rem;padding:.72rem .8rem;font-size:.78rem;font-weight:650;display:flex}.login-form{gap:1rem;margin-top:1rem;display:grid}.login-submit{width:100%;margin-top:.15rem}.login-footnote{max-width:66ch;color:var(--muted-dark);text-align:center;align-self:end;margin:2rem 0 0;font-size:.72rem;line-height:1.55}.dashboard-shell{min-height:100vh}.dashboard-header{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080d19f0;justify-content:space-between;align-items:center;gap:1rem;height:68px;padding:0 1.5rem;display:flex;position:sticky;top:0}.dashboard-brand,.dashboard-actions,.admin-identity{align-items:center;display:flex}.dashboard-brand{gap:.7rem}.dashboard-brand-mark{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border:1px solid #4aa7d24d;border-radius:10px;place-items:center;display:grid}.dashboard-brand>span:last-child,.admin-identity>span:last-child{flex-direction:column;display:flex}.dashboard-brand strong{letter-spacing:-.01em;font-size:.92rem}.dashboard-brand small,.admin-identity small{color:var(--muted-dark);margin-top:.12rem;font-size:.67rem}.dashboard-actions{gap:.55rem}.workspace-switch{border:1px solid var(--line);background:var(--bg-raised);border-radius:10px;align-items:center;gap:3px;min-width:0;padding:3px;display:flex}.workspace-switch button{border-radius:var(--radius-sm);min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:.45rem .72rem;font-size:.72rem;font-weight:750;display:inline-flex}.workspace-switch button:hover{color:var(--text-soft);background:var(--surface-strong)}.workspace-switch button.is-active{background:var(--accent-soft);color:var(--accent-hover)}.menu-button.is-hidden{visibility:hidden;pointer-events:none}.admin-identity{border-left:1px solid var(--line);border-right:1px solid var(--line);gap:.55rem;padding:0 .65rem}.admin-avatar,.account-avatar,.selected-avatar{background:var(--accent-soft);color:#ff8ecb;border-radius:50%;place-items:center;font-weight:800;display:grid}.admin-avatar{width:31px;height:31px;font-size:.74rem}.admin-identity strong{font-size:.76rem}.dashboard-main{width:min(100%,1580px);margin:0 auto;padding:1.25rem 1.5rem 2.5rem}.banner-workspace-main{width:min(100%,1580px);margin:0 auto;padding:1.25rem clamp(1rem,2vw,2rem) 3rem;overflow-x:clip}.workspace-loading,.workspace-state{min-height:420px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.8rem;display:grid}.workspace-loading p,.workspace-state p{max-width:44ch;margin:0;line-height:1.55}.banner-workspace-heading{justify-content:space-between;align-items:flex-end;gap:1.25rem;margin-bottom:1rem;display:flex}.banner-workspace-heading h1{letter-spacing:-.025em;margin:0;font-size:1.55rem}.banner-workspace-heading p,.banner-section-heading p{max-width:70ch;color:var(--muted);margin:.35rem 0 0;font-size:.76rem;line-height:1.5}.banner-feedback:empty{display:none}.banner-feedback .alert{margin-bottom:1rem}.banner-create-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:1fr 1.4fr 1fr 100px auto;align-items:end;gap:.8rem;margin-bottom:1rem;padding:1rem;display:grid}.banner-create-description{grid-column:1/-1}.banner-create-form input,.banner-create-form textarea,.banner-details-form input,.banner-details-form textarea,.banner-card-table input,.banner-card-table select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-raised);width:100%;color:var(--text)}.banner-create-form input,.banner-details-form input,.banner-card-table input,.banner-card-table select{min-height:42px;padding:.58rem .7rem}.banner-create-form textarea,.banner-details-form textarea{resize:vertical;min-height:76px;padding:.65rem .72rem;line-height:1.5}.banner-workspace-grid{grid-template-columns:270px minmax(0,1fr);align-items:start;gap:1rem;min-width:0;display:grid}.banner-list-panel,.banner-editor{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.banner-list-panel{position:sticky;top:84px;overflow:hidden}.banner-list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:.75rem .85rem;font-size:.76rem;display:flex}.banner-list-heading span,.banner-card-count{font-variant-numeric:tabular-nums}.banner-list{max-height:calc(100vh - 165px);max-height:calc(100svh - 165px);overflow-y:auto}.banner-list>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:70px;color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.72rem .85rem;display:grid}.banner-list>button:hover,.banner-list>button.is-selected{background:var(--surface-hover);color:var(--text)}.banner-list>button.is-selected{box-shadow:inset 1px 0 0 var(--accent)}.banner-list-copy{flex-direction:column;gap:.2rem;min-width:0;display:flex}.banner-list-meta,.banner-editor-state-row{align-items:center;gap:.42rem;min-width:0;display:flex}.banner-list>button strong,.banner-list>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.banner-list>button strong{font-size:.75rem}.banner-list>button small{color:var(--muted-dark);font-size:.66rem}.banner-status-dot{background:var(--warning);border-radius:50%;width:7px;height:7px}.banner-status-dot.is-enabled{background:var(--success);box-shadow:0 3px 7px #4fd39a38}.banner-card-count{min-width:28px;color:var(--muted);text-align:right;font-size:.68rem}.banner-editor{min-width:0;overflow:hidden}.banner-editor-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.25rem;min-height:98px;padding:1rem 1.15rem;display:flex}.banner-editor-header h2{letter-spacing:-.015em;margin:.35rem 0 .15rem;font-size:1.08rem}.banner-editor-header code{color:var(--muted-dark);font-size:.65rem}.banner-editor-header .button-danger{width:auto}.banner-state{color:var(--warning);letter-spacing:.035em;text-transform:uppercase;font-size:.63rem;font-weight:780}.banner-state.is-enabled{color:var(--success)}.banner-state.status-disabled{color:var(--danger)}.banner-state.status-ended{color:var(--muted)}.banner-special-marker{max-width:100%;min-height:20px;color:var(--warning);letter-spacing:.035em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#f1bd651f;border:1px solid #f1bd6557;border-radius:999px;flex:0 auto;align-items:center;padding:.14rem .42rem;font-size:.66rem;font-weight:800;line-height:1;display:inline-flex;overflow:hidden}.banner-requirements{background:var(--warning-soft);color:var(--warning);border-bottom:1px solid #f1bd6538;padding:.85rem 1.15rem;font-size:.78rem}.banner-requirements ul{flex-wrap:wrap;gap:.35rem 1.25rem;margin:.45rem 0 0;padding-left:1rem;display:flex}.banner-details-form{border-bottom:1px solid var(--line);grid-template-columns:1.4fr 1fr 100px auto;align-items:end;gap:.8rem;padding:1rem 1.15rem;display:grid}.banner-details-description{grid-column:1/-1}.banner-special-config,.banner-schedule-config{border-radius:var(--radius-sm);background:var(--warning-soft);border:1px solid #f1bd653d;grid-column:1/-1;grid-template-columns:minmax(240px,.85fr) minmax(260px,1.15fr);align-items:end;gap:.8rem;min-width:0;margin:0;padding:.85rem;display:grid}.banner-schedule-config{background:#67c6f00f;border-color:#67c6f03d;grid-template-columns:minmax(230px,.9fr) repeat(2,minmax(210px,1fr))}.banner-special-config legend,.banner-schedule-config legend{color:var(--warning);letter-spacing:.04em;text-transform:uppercase;padding:0 .3rem;font-size:.66rem;font-weight:780}.banner-schedule-config legend{color:var(--accent)}.banner-schedule-help,.banner-schedule-config>.field-error{color:var(--muted);grid-column:1/-1;margin:0;font-size:.68rem;line-height:1.45}.banner-schedule-config>.field-error{color:#ff9cac}.banner-special-toggle{cursor:pointer;align-items:center;gap:.7rem;min-width:0;min-height:44px;display:flex;position:relative}.banner-special-toggle>input{opacity:0;width:1px;height:1px;position:absolute}.banner-special-toggle>span:last-child{flex-direction:column;gap:.15rem;min-width:0;display:flex}.banner-special-toggle strong{color:var(--text-soft);font-size:.75rem}.banner-special-toggle small{color:var(--muted);font-size:.66rem;line-height:1.4}.banner-special-switch{border:1px solid var(--line-strong);background:var(--bg-raised);border-radius:999px;flex:none;width:38px;height:22px;transition:background-color .16s,border-color .16s;position:relative}.banner-special-switch>span{background:var(--muted);border-radius:50%;width:16px;height:16px;transition:background-color .16s,transform .16s;position:absolute;top:2px;left:2px}.banner-special-toggle>input:checked+.banner-special-switch{background:#f1bd653d;border-color:#f1bd65ad}.banner-special-toggle>input:checked+.banner-special-switch>span{background:var(--warning);transform:translate(16px)}.banner-special-toggle>input:focus-visible+.banner-special-switch{border-color:var(--focus);box-shadow:0 0 0 3px #67c6f052}.banner-editor-section{padding:1.15rem}.banner-editor-section+.banner-editor-section{border-top:1px solid var(--line)}.banner-section-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.85rem;display:flex}.banner-section-heading h3{margin:0;font-size:.9rem}.card-heading>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.7rem}.asset-slot-grid,.rarity-drop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;display:grid}.asset-slot,.rarity-drop{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-raised);min-width:0;min-height:86px;color:var(--muted);cursor:default;flex-direction:column;align-items:stretch;gap:.65rem;padding:.75rem;transition:border-color .15s,background-color .15s,color .15s;display:flex;position:relative}.asset-slot:hover,.rarity-drop:hover,.rarity-drop.is-dragging{border-color:var(--focus);background:var(--blue-soft);color:var(--text-soft)}.asset-slot.has-asset{border-style:solid}.asset-slot.has-pending{border-color:var(--focus);background:var(--blue-soft)}.rarity-drop:has(.staged-clear){border-color:var(--focus);background:var(--blue-soft)}.asset-slot-picker,.rarity-drop-picker{cursor:pointer;flex:1;align-items:center;gap:.65rem;min-width:0;display:flex}.asset-slot input,.rarity-drop input{opacity:0;width:1px;height:1px;position:absolute}.asset-slot-icon{background:var(--surface-strong);width:34px;height:34px;color:var(--blue);border-radius:8px;flex:none;place-items:center;display:grid}.asset-slot-picker>span:nth-child(3),.rarity-drop-picker>span{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.asset-slot strong,.rarity-drop strong{color:var(--text-soft);font-size:.7rem}.asset-slot small,.rarity-drop small{color:var(--muted-dark);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.asset-size{color:var(--muted-dark);font-variant-numeric:tabular-nums;flex:none;font-size:.58rem}.asset-pending{color:var(--blue);flex:none;font-size:.6rem;font-weight:750}.asset-slot>.button{width:100%}.additional-assets{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-raised);grid-template-columns:minmax(180px,.8fr) minmax(220px,1.5fr) auto;align-items:center;gap:.85rem;margin-top:.75rem;padding:.75rem;display:grid}.additional-assets strong{color:var(--text-soft);font-size:.78rem}.additional-assets p{color:var(--muted-dark);margin:.2rem 0 0;font-size:.66rem}.additional-asset-list{flex-wrap:wrap;gap:.35rem;min-width:0;display:flex}.additional-asset-list span{background:var(--surface-strong);max-width:190px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:.28rem .45rem;font-size:.66rem;overflow:hidden}.additional-asset-list small{color:var(--muted-dark);font-size:.66rem}.additional-assets label{cursor:pointer;position:relative}.additional-assets input{opacity:0;width:1px;height:1px;position:absolute}.additional-upload-actions{align-items:center;gap:.45rem;min-width:0;display:flex}.additional-upload-actions label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:230px;overflow:hidden}.rarity-drop{border-style:solid;min-height:70px}.rarity-drop-picker>b{color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:.78rem}.rarity-common{--rarity:#a0a0b0}.rarity-uncommon{--rarity:#4ade80}.rarity-rare{--rarity:#60a5fa}.rarity-ultraRare{--rarity:#f59e0b}.rarity-drop-picker>svg{color:var(--rarity)}.staged-upload-actions{justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.staged-clear{min-height:38px;color:var(--muted);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:.4rem;font-size:.68rem;font-weight:700;text-decoration:underline}.staged-clear:hover:not(:disabled){color:var(--text)}.upload-progress{border-radius:var(--radius-sm);background:var(--blue-soft);color:var(--blue);grid-template-columns:auto minmax(100px,1fr) auto auto;align-items:center;gap:.75rem;margin-top:.8rem;padding:.65rem .75rem;font-size:.68rem;display:grid}.upload-progress progress{width:100%;accent-color:var(--blue)}.upload-progress button{color:var(--blue);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;font-weight:750;text-decoration:underline}.upload-failures{border-radius:var(--radius-sm);background:var(--danger-soft);border:1px solid #f06a7f59;max-height:15rem;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.upload-failures li{color:#ffc0ca;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:.75rem;padding:.5rem .7rem;font-size:.7rem;line-height:1.45;display:grid}.upload-failures li+li{border-top:1px solid #f06a7f38}.upload-failures strong{overflow-wrap:anywhere;font-weight:700}.upload-failures span{color:#ffc0cad1;overflow-wrap:anywhere}@media (max-width:720px){.upload-failures li{grid-template-columns:1fr;gap:.15rem}}.card-search{width:min(100%,420px);margin:1rem 0 .75rem}.banner-card-table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);overflow-x:auto}.banner-card-table{border-collapse:collapse;table-layout:fixed;width:100%}.banner-card-table th,.banner-card-table td{border-bottom:1px solid var(--line);text-align:left;padding:.55rem .65rem}.banner-card-table th{background:var(--bg-raised);color:var(--muted-dark);letter-spacing:.04em;text-transform:uppercase;font-size:.62rem}.banner-card-table th:first-child{width:42%}.banner-card-table th:nth-child(2){width:18%}.banner-card-table th:nth-child(3){width:28%}.banner-card-table th:nth-child(4){width:180px}.banner-card-table tr{content-visibility:auto;contain-intrinsic-size:0 60px}.banner-card-table tbody tr:last-child td{border-bottom:0}.banner-card-table input,.banner-card-table select{min-height:38px;font-size:.7rem}.card-name-editor{min-width:0}.card-name-editor small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.3rem;font-size:.64rem;line-height:1.35;display:block;overflow:hidden}.card-asset-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;display:block;overflow:hidden}.card-image-replace{color:var(--accent);text-underline-offset:3px;cursor:pointer;margin-top:.3rem;font-size:.64rem;font-weight:700;text-decoration:underline;display:inline-block}.card-image-replace input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.card-image-replace:focus-within{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.card-row-actions{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.card-row-actions .button{width:100%;padding-inline:.5rem;font-size:.68rem}.banner-table-empty,.banner-table-limit{color:var(--muted);text-align:center;margin:0;padding:1rem;font-size:.7rem}.banner-table-limit{border-top:1px solid var(--line);background:var(--bg-raised)}@media (max-width:1120px){.asset-slot-grid,.rarity-drop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.additional-assets{grid-template-columns:1fr auto}.additional-assets>div:first-child{grid-column:1/-1}.banner-create-form,.banner-details-form{grid-template-columns:repeat(2,minmax(0,1fr))}.banner-create-description,.banner-details-description{grid-column:1/-1}}@media (max-width:820px){.dashboard-brand small,.admin-identity,.dashboard-actions .button-secondary{display:none}.banner-workspace-grid{grid-template-columns:1fr}.banner-list-panel{position:static}.banner-list{max-height:220px}}@media (max-width:640px){.dashboard-header{gap:.45rem;padding-inline:.65rem}.workspace-switch button{justify-content:center;width:42px;padding-inline:0}.workspace-switch button span,.dashboard-brand>span:last-child{display:none}.banner-workspace-main{padding:.85rem .65rem 2rem}.banner-workspace-heading,.banner-editor-header,.banner-section-heading{flex-direction:column;align-items:stretch}.banner-editor-header .button{width:100%}.banner-create-form,.banner-details-form,.banner-schedule-config,.banner-special-config,.asset-slot-grid,.rarity-drop-grid,.additional-assets{grid-template-columns:1fr}.additional-assets>div:first-child,.banner-create-description,.banner-details-description{grid-column:auto}.upload-progress{grid-template-columns:1fr auto}.upload-progress progress{grid-area:2/1/auto/-1}.banner-card-table{min-width:680px}}.overview-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;min-height:76px;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.overview-items{flex:1;align-items:stretch;display:flex;overflow-x:auto}.overview-stat{border-right:1px solid var(--line);min-width:132px;color:var(--muted);align-items:center;gap:.65rem;padding:.1rem 1rem;display:flex}.overview-stat:first-child{padding-left:.2rem}.overview-stat:last-child{border-right:0}.overview-stat-copy{flex-direction:column-reverse;gap:.12rem;display:flex}.overview-stat-copy>span:first-child{color:var(--muted);white-space:nowrap;font-size:.68rem}.overview-stat strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:1rem}.overview-sync{color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:.45rem;margin:0;font-size:.7rem;display:flex}.overview-error{color:#ffb3bf;border-top:1px solid #f06a7f47;flex:1 0 100%;justify-content:space-between;align-items:center;gap:1rem;padding-top:.7rem;font-size:.72rem;display:flex}.overview-error button{background:var(--danger-soft);color:#ffc0ca;cursor:pointer;border:1px solid #f06a7f59;border-radius:6px;min-height:32px;padding:.3rem .65rem;font-weight:700}.status-dot{background:var(--success);border-radius:50%;width:7px;height:7px;box-shadow:0 3px 8px #4fd39a3d}.workspace-grid{grid-template-columns:minmax(0,1.42fr) minmax(370px,.88fr);align-items:start;gap:1rem;display:grid}.directory-panel,.user-panel,.audit-strip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.directory-panel{min-width:0;overflow:hidden}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:76px;padding:.9rem 1rem;display:flex}.panel-heading h2,.user-panel h2,.audit-heading h2{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:.98rem}.panel-heading p,.audit-heading p{color:var(--muted);margin:.25rem 0 0;font-size:.7rem}.search-field{width:min(100%,310px);display:block;position:relative}.search-field svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.search-field input{min-height:38px;padding-left:2.2rem;font-size:.78rem}.directory-table-wrap{min-height:515px;max-height:calc(100vh - 272px);overflow:auto}.directory-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:680px}.directory-table th{z-index:2;background:var(--bg-raised);color:var(--muted);letter-spacing:.045em;text-align:left;text-transform:uppercase;font-size:.66rem;font-weight:750;position:sticky;top:0}.directory-table th,.directory-table td{vertical-align:middle;border-bottom:1px solid #25344db8;height:61px;padding:.62rem .8rem}.directory-table th:first-child{width:37%}.directory-table th:nth-child(2){width:19%}.directory-table th:nth-child(3){width:18%}.directory-table th:nth-child(4){width:26%}.directory-table tbody tr{transition:background-color .14s}.directory-table tbody tr:hover{background:#ffffff05}.directory-table tbody tr.is-selected{background:var(--accent-soft)}.directory-table tbody tr.is-selected td:first-child{box-shadow:inset 2px 0 0 var(--accent)}.account-select{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;width:100%;min-width:0;min-height:44px;padding:0;display:flex}.account-avatar{flex:none;width:32px;height:32px;font-size:.66rem}.account-copy{flex-direction:column;gap:.18rem;min-width:0;display:flex}.account-copy strong{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.account-copy small,.table-date{color:var(--muted-dark);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.provider-badge{background:var(--blue-soft);color:#8ed5f1;border-radius:999px;align-items:center;min-height:24px;padding:.2rem .48rem;font-size:.65rem;font-weight:750;display:inline-flex}.provider-lanautica{color:#bdd3b4;background:#91a98721}.save-signals{gap:.28rem;display:inline-flex}.save-signal{border:1px solid var(--line);width:24px;height:24px;color:var(--muted-dark);border-radius:6px;place-items:center;font-size:.6rem;font-weight:800;display:grid}.save-signal.has-data{background:var(--blue-soft);color:var(--blue);border-color:#4aa7d24d}.save-signal.has-data.lana{background:var(--accent-soft);color:#f175bd;border-color:#df0a814d}.pagination-bar{background:var(--bg-raised);justify-content:space-between;align-items:center;gap:1rem;min-height:54px;padding:.6rem .8rem;display:flex}.pagination-bar p{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.7rem}.pagination-bar>div{gap:.35rem;display:flex}.table-message{min-height:360px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.8rem;font-size:.8rem;display:grid}.table-message p{margin:0}.user-panel-anchor{min-width:0;scroll-margin-top:78px;position:sticky;top:84px}.user-panel-anchor:focus{box-shadow:none}.user-panel{min-height:645px;max-height:calc(100vh - 100px);padding:1rem;overflow-y:auto}.user-panel-header{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding-bottom:1rem;display:flex}.selected-avatar{border-radius:12px;flex:none;width:44px;height:44px;font-size:.78rem}.user-panel-header>div:last-child{min-width:0}.selected-name-line{align-items:center;gap:.5rem;min-width:0;display:flex}.selected-name-line h2{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.user-panel-header p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:.25rem 0 0;font-size:.7rem;overflow:hidden}.metadata-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:.8rem 0;display:grid}.metadata-grid>div{min-width:0;padding:.48rem .65rem}.metadata-grid dt{color:var(--muted-dark);text-transform:uppercase;letter-spacing:.035em;margin-bottom:.25rem;font-size:.63rem;font-weight:700}.metadata-grid dd{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.72rem;overflow:hidden}.save-overview,.password-manager{padding-top:1rem}.subsection-heading{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.65rem;display:flex}.subsection-heading h3{margin:0;font-size:.8rem}.subsection-heading>span{color:var(--muted-dark);text-align:right;font-size:.63rem}.save-ledger{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.save-row{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(95px,1fr) repeat(3,auto);align-items:center;gap:.6rem;min-height:62px;padding:.55rem .15rem;display:grid}.save-row:last-child{border-bottom:0}.save-project-mark{background:var(--muted-dark);border-radius:50%;width:8px;height:8px}.save-project-mark.has-save{background:var(--success)}.save-row-main,.save-row-stat{flex-direction:column;display:flex}.save-row-main{gap:.18rem;min-width:0}.save-row-main strong{font-size:.7rem}.save-row-main small,.save-row-stat small{color:var(--muted-dark);font-size:.62rem}.save-row-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.save-row-stat{align-items:flex-end;gap:.14rem;min-width:42px}.save-row-stat strong{color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:.68rem}.mode-switch{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:.8rem;padding:3px;display:grid}.mode-switch button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:.35rem;font-size:.68rem;font-weight:700}.mode-switch button:hover{color:var(--text-soft)}.mode-switch button.is-active{background:var(--surface-strong);color:var(--text)}.password-form,.password-fields{gap:.75rem;display:grid}.password-manager .alert{margin-bottom:.75rem}.inline-notice{border-radius:var(--radius-sm);background:var(--blue-soft);color:#a7def4;align-items:flex-start;gap:.65rem;padding:.72rem;display:flex}.inline-notice-warning{background:var(--warning-soft);color:#f6d69e}.inline-notice svg{flex:none;margin-top:.05rem}.inline-notice strong{font-size:.72rem;display:block}.inline-notice p{color:currentColor;opacity:.78;margin:.25rem 0 0;font-size:.67rem;line-height:1.45}.provider-managed{padding-bottom:.2rem}.confirmation-zone{border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--line);gap:.7rem;padding:.78rem;display:grid}.confirmation-zone code{color:#ff9fd2;font-size:.72rem}.confirmation-copy{color:var(--muted);margin:0;font-size:.68rem;line-height:1.5}.grant-balance-list{border-radius:var(--radius-sm);background:var(--bg-raised);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .8rem;margin:0;padding:.7rem .78rem;display:grid}.grant-balance-list>div{min-width:0}.grant-balance-list dt{color:var(--muted-dark);letter-spacing:.045em;text-transform:uppercase;font-size:.57rem;font-weight:750}.grant-balance-list dd{color:var(--text);font-variant-numeric:tabular-nums;margin:.15rem 0 0;font-size:1.05rem;font-weight:700}.check-field{color:var(--muted);cursor:pointer;align-items:flex-start;gap:.55rem;font-size:.68rem;line-height:1.45;display:flex}.check-field input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin:.12rem 0 0}.temporary-password{align-items:center;gap:.45rem;margin-top:.6rem;display:flex}.temporary-password code{color:#fff;letter-spacing:.025em;white-space:nowrap;background:#0000003d;border-radius:6px;flex:1;padding:.52rem .62rem;font-size:.78rem;overflow-x:auto}.one-time-note{color:#86dcb5;font-size:.66rem}.reauthenticate-button{width:100%;margin-top:.7rem}.panel-state{text-align:center;color:var(--muted);place-content:center;justify-items:center;display:grid}.panel-state svg{color:var(--muted-dark);margin-bottom:.8rem}.panel-state h2{color:var(--text-soft)}.panel-state p{max-width:34ch;margin:.5rem 0 1rem;font-size:.76rem;line-height:1.55}.audit-strip{grid-template-columns:minmax(230px,.32fr) minmax(0,1fr);gap:1rem;margin-top:1rem;padding:1rem;display:grid}.audit-heading{min-width:0;padding-right:2.5rem;position:relative}.audit-heading>svg{color:var(--blue);position:absolute;top:0;right:0}.audit-heading p{max-width:40ch;line-height:1.5}.audit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.audit-item{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;min-width:0;min-height:54px;display:grid}.audit-mark{background:var(--blue-soft);width:30px;height:30px;color:var(--blue);border-radius:8px;place-items:center;display:grid}.audit-mark.is-password{background:var(--accent-soft);color:#f175bd}.audit-mark.is-gacha{background:var(--accent-soft);color:var(--accent-hover)}.audit-item>div{min-width:0}.audit-item strong,.audit-item p{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.audit-item strong{color:var(--text-soft);font-size:.68rem}.audit-item p{color:var(--muted-dark);margin:.2rem 0 0;font-size:.62rem}.audit-item time{color:var(--muted-dark);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.6rem}.audit-empty{color:var(--muted);grid-column:1/-1;margin:1rem 0;font-size:.75rem}.audit-error{color:#ffb3bf;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;font-size:.72rem;display:flex}.skeleton{background:linear-gradient(90deg, var(--surface-strong) 25%, var(--surface-hover) 50%, var(--surface-strong) 75%);background-size:200% 100%;border-radius:6px;animation:1.25s ease-in-out infinite skeleton-shift;display:block}.skeleton-number{width:30px;height:15px}.skeleton-row{width:68px;height:13px}.skeleton-row.wide{width:145px}.skeleton-row.short{width:42px}.skeleton-title{width:56%;height:42px;margin-bottom:1rem}.skeleton-block{width:100%;height:140px;margin-bottom:1rem}.skeleton-block.tall{height:290px}.skeleton-audit{height:50px;margin-bottom:4px}@keyframes skeleton-shift{to{background-position:-200% 0}}@media (max-width:1120px){.workspace-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}.overview-stat{min-width:122px;padding-inline:.75rem}.overview-sync{display:none}.audit-strip{grid-template-columns:1fr}}@media (max-width:880px){.dashboard-main{padding-inline:1rem}.workspace-grid{grid-template-columns:1fr}.user-panel-anchor{scroll-margin-top:72px;position:static}.user-panel{min-height:0;max-height:none}.directory-table-wrap{max-height:600px}}@media (max-width:640px){.dashboard-header{height:62px;padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right))}.dashboard-brand-mark{width:34px;height:34px}.dashboard-brand small,.admin-identity>span:last-child,.hide-on-small{display:none}.admin-identity{padding-inline:.4rem}.dashboard-main{padding:.75rem .65rem 1.5rem}.icon-button{width:44px;height:44px}.overview-bar{padding-inline:.7rem}.overview-stat{min-width:112px}.directory-heading{flex-direction:column;align-items:stretch}.search-field{width:100%;max-width:none}.directory-table-wrap{min-height:430px}.directory-table{min-width:0}.directory-table th:first-child{width:62%}.directory-table th:nth-child(2){width:38%}.directory-table th:nth-child(3),.directory-table th:nth-child(4),.directory-table td:nth-child(3),.directory-table td:nth-child(4){display:none}.user-panel{padding:.8rem}.metadata-grid{grid-template-columns:1fr}.metadata-grid>div{padding-inline:.2rem}.save-row{grid-template-columns:auto minmax(90px,1fr) repeat(2,auto)}.save-row-stat:last-child{display:none}.audit-list{grid-template-columns:1fr}.audit-item time{display:none}.login-panel{padding:1.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dashboard-header-start,.user-data-header,.user-data-identity,.user-data-actions,.project-progress-header,.save-status,.progress-heading>span,.sidebar-selected-user{align-items:center;display:flex}.dashboard-header-start{gap:.75rem;min-width:0}.menu-button{background:var(--bg-raised);flex:none}.dashboard-layout{grid-template-columns:0 minmax(0,1fr);min-height:calc(100vh - 68px);display:grid}.dashboard-layout.has-open-sidebar{grid-template-columns:370px minmax(0,1fr)}.dashboard-main{width:100%;min-width:0;max-width:1480px;padding:1.25rem clamp(1rem,2vw,2rem) 2.5rem}.sidebar-backdrop{display:none}.dashboard-sidebar{width:0;min-width:0;height:calc(100vh - 68px);background:var(--bg-raised);border-right:0 solid var(--line);height:calc(100svh - 68px);position:sticky;top:68px;overflow:hidden}.dashboard-sidebar.is-open{border-right-width:1px;width:370px}.sidebar-surface{flex-direction:column;width:369px;height:100%;min-height:0;display:flex}.sidebar-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:70px;padding:.85rem 1rem;display:flex}.sidebar-header>div,.sidebar-selected-user>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.sidebar-header strong{font-size:.86rem}.sidebar-header small,.sidebar-selected-user small{color:var(--muted-dark);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.68rem;overflow:hidden}.sidebar-close{flex:none;width:38px;height:38px}.sidebar-switch{border-bottom:1px solid var(--line);grid-template-columns:1fr;gap:3px;padding:.65rem;display:grid}.sidebar-switch button{border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:.42rem;padding:.5rem .4rem;font-size:.68rem;font-weight:750;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.sidebar-switch button:hover{background:var(--surface-strong);color:var(--text-soft)}.sidebar-switch button.is-active{border-color:var(--line);background:var(--surface);color:var(--text)}.sidebar-switch button.is-active svg{color:var(--accent-hover)}.sidebar-content{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.dashboard-sidebar .directory-panel{background:0 0;border:0;border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex}.dashboard-sidebar .directory-heading{border-bottom:1px solid var(--line);gap:.75rem;padding:.9rem .85rem .8rem;display:grid}.directory-heading h2{letter-spacing:-.015em;margin:0;font-size:.88rem}.directory-heading p{color:var(--muted);margin:.22rem 0 0;font-size:.68rem}.dashboard-sidebar .search-field{width:100%;max-width:none}.directory-controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;min-width:0;display:grid}.directory-export{justify-items:start;gap:.35rem;display:grid}.directory-export .button{min-width:142px}.directory-export small{color:var(--muted-dark);font-size:.66rem;line-height:1.4}.directory-filter-trigger{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-strong);min-height:42px;color:var(--text-soft);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .65rem;font-size:.68rem;font-weight:750;transition:background-color .16s,border-color .16s,color .16s;display:inline-flex}.directory-filter-trigger:hover,.directory-filter-trigger[aria-expanded=true]{border-color:var(--line-strong);background:var(--surface-hover);color:var(--text)}.directory-filter-trigger.has-filters{color:var(--text);border-color:#df0a816b}.directory-filter-trigger strong{background:var(--accent);min-width:18px;height:18px;color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;place-content:center;font-size:.66rem;display:inline-grid}.directory-filter-panel{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-raised);gap:.72rem;padding:.75rem;display:grid}.directory-filter-group{border:0;min-width:0;margin:0;padding:0}.directory-filter-group legend{color:var(--muted);letter-spacing:.045em;text-transform:uppercase;margin-bottom:.4rem;font-size:.66rem;font-weight:750}.directory-filter-options{gap:3px;display:grid}.directory-filter-options.options-2{grid-template-columns:repeat(2,minmax(0,1fr))}.directory-filter-options.options-3{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-filter-option{cursor:pointer;min-width:0;position:relative}.directory-filter-option input{opacity:0;width:1px;height:1px;position:absolute}.directory-filter-option span{background:var(--surface-strong);min-height:38px;color:var(--muted);text-align:center;border:1px solid #0000;border-radius:6px;place-content:center;padding:.4rem .35rem;font-size:.66rem;font-weight:700;transition:background-color .14s,border-color .14s,color .14s;display:grid}.directory-filter-option:hover span{background:var(--surface-hover);color:var(--text-soft)}.directory-filter-option input:checked+span{background:var(--accent-soft);color:var(--text);border-color:#df0a8161}.directory-filter-option input:focus-visible+span{border-color:var(--focus);box-shadow:0 0 0 3px #67c6f052}.directory-filter-reset{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-self:end;padding:.4rem .55rem;font-size:.66rem;font-weight:700}.directory-filter-reset:hover:not(:disabled){color:var(--text);text-underline-offset:3px;text-decoration:underline}.directory-filter-reset:disabled{opacity:.42;cursor:not-allowed}.directory-list-wrap{overscroll-behavior:contain;flex:1;min-height:0;padding:.35rem 0;overflow-y:auto}.directory-list{margin:0;padding:0;list-style:none}.directory-list li{min-width:0}.directory-user{width:100%;min-height:78px;color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.65rem .85rem;transition:background-color .14s,color .14s;display:grid}.directory-user:hover{background:var(--surface-hover);color:var(--text)}.directory-user.is-selected{background:var(--accent-soft);box-shadow:inset 1px 0 0 var(--accent)}.directory-user>svg{color:var(--muted-dark)}.directory-user.is-selected>svg{color:var(--accent-hover)}.directory-user-line,.directory-user-meta{align-items:center;min-width:0;display:flex}.directory-user-line{justify-content:space-between;gap:.5rem}.directory-user-line strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.directory-user-line .provider-badge{flex:none}.directory-user-meta{color:var(--muted-dark);font-variant-numeric:tabular-nums;gap:.55rem;margin-top:.2rem;font-size:.62rem}.directory-user-meta>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.directory-user .save-signal{width:19px;height:19px;font-size:.53rem}.directory-message{min-height:240px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:.75rem;padding:1rem;font-size:.76rem;display:grid}.directory-message p{margin:0}.directory-user-skeleton{height:68px;margin:.45rem .85rem}.dashboard-sidebar .pagination-bar{border-top:1px solid var(--line);flex:none}.sidebar-password,.sidebar-password-skeleton{padding:.9rem}.sidebar-selected-user{border-bottom:1px solid var(--line);gap:.65rem;min-width:0;padding-bottom:.9rem}.sidebar-selected-user>span:nth-child(2){flex:1}.sidebar-selected-user strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.sidebar-selected-user .provider-badge{flex:none}.sidebar-password .password-manager{padding-top:1rem}.sidebar-password .subsection-heading h2{margin:0;font-size:.82rem}.sidebar-state{min-height:360px;color:var(--muted);text-align:center;place-content:center;justify-items:center;padding:1.25rem;display:grid}.sidebar-state svg{color:var(--muted-dark)}.sidebar-state h2{color:var(--text-soft);margin:.8rem 0 0;font-size:.9rem}.sidebar-state p{max-width:32ch;margin:.45rem 0 1rem;font-size:.75rem;line-height:1.55}.user-data{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-height:540px;padding:clamp(1rem,2vw,1.5rem)}.user-data-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:1.5rem;padding-bottom:1.15rem}.user-data-identity{gap:.85rem;min-width:0}.user-data-identity>div{min-width:0}.user-data-identity .selected-avatar{width:52px;height:52px;font-size:.9rem}.user-data .selected-name-line h2{max-width:min(46vw,560px);font-size:clamp(1.05rem,2vw,1.35rem)}.user-data-identity p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:.3rem 0 0;font-size:.75rem;overflow:hidden}.user-data-actions{flex:none;gap:.55rem}.user-facts{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:1rem 0;display:grid}.user-facts>div{border-right:1px solid var(--line);min-width:0;padding:.25rem .85rem}.user-facts>div:first-child{padding-left:0}.user-facts>div:last-child{border-right:0}.user-facts dt,.mode-metrics dt{color:var(--muted-dark);letter-spacing:.035em;text-transform:uppercase;margin-bottom:.28rem;font-size:.63rem;font-weight:750}.user-facts dd,.mode-metrics dd{color:var(--text-soft);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;overflow:hidden}.progress-heading{justify-content:space-between;align-items:flex-end;gap:1rem;padding:1.25rem 0 .75rem;display:flex}.progress-heading h3{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:.96rem}.progress-heading p{max-width:65ch;color:var(--muted);margin:.28rem 0 0;font-size:.7rem;line-height:1.5}.progress-heading>span{color:var(--blue);flex:none;gap:.38rem;font-size:.66rem;font-weight:700}.project-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.project-progress{--project-color:var(--blue);--project-soft:var(--blue-soft);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-raised);min-width:0;overflow:hidden}.project-progress-lana{--project-color:#e75da9;--project-soft:#df0a811f}.project-progress-header{border-bottom:1px solid var(--line);gap:.65rem;min-width:0;min-height:70px;padding:.8rem .9rem}.project-code{border-radius:var(--radius-sm);background:var(--project-soft);width:34px;height:34px;color:var(--project-color);flex:none;place-items:center;font-size:.7rem;font-weight:850;display:grid}.project-progress-header>div{flex:1;min-width:0}.project-progress-header h3{margin:0;font-size:.82rem}.project-progress-header p{color:var(--muted-dark);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:.22rem 0 0;font-size:.64rem;overflow:hidden}.save-status{color:var(--muted-dark);flex:none;gap:.35rem;font-size:.62rem;font-weight:700}.save-status>span{background:var(--muted-dark);border-radius:50%;width:6px;height:6px}.save-status.has-save{color:var(--success)}.save-status.has-save>span{background:var(--success);box-shadow:0 3px 7px #4fd39a38}.mode-progress-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mode-progress{min-width:0;padding:.95rem}.mode-progress+.mode-progress{border-left:1px solid var(--line)}.mode-progress-title{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.mode-progress-title h4{margin:0;font-size:.76rem}.mode-progress-title p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:.28rem 0 0;font-size:.63rem;overflow:hidden}.mode-progress-title>strong{color:var(--project-color);font-variant-numeric:tabular-nums;font-size:1rem}.mode-progress progress{appearance:none;border:0;border-radius:999px;width:100%;height:7px;margin:.8rem 0;display:block;overflow:hidden}.mode-progress progress::-webkit-progress-bar{background:var(--surface-strong);border-radius:999px}.mode-progress progress::-webkit-progress-value{background:var(--project-color);border-radius:999px}.mode-progress progress::-moz-progress-bar{background:var(--project-color);border-radius:999px}.mode-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .8rem;margin:0;display:grid}.mode-metrics>div{min-width:0}.mode-metrics dt{font-size:.57rem}.mode-metrics dd{font-size:.7rem}.banner-progress-breakdown{border-top:1px solid var(--line);min-width:0;margin-top:.95rem;padding-top:.85rem}.banner-progress-breakdown>label{color:var(--muted-dark);letter-spacing:.045em;text-transform:uppercase;margin-bottom:.42rem;font-size:.57rem;font-weight:750;display:block}.banner-progress-breakdown>select{border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--bg-raised);width:100%;min-width:0;min-height:42px;color:var(--text);text-overflow:ellipsis;touch-action:manipulation;padding:.58rem .7rem;font-size:.7rem;font-weight:650}.banner-progress-breakdown>select:hover{border-color:var(--line-strong)}.selected-banner-progress{min-width:0;padding-top:.72rem}.selected-banner-progress-title{grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:.5rem;min-width:0;display:grid}.selected-banner-progress-title>div{min-width:0}.selected-banner-progress-title h5{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.7rem;overflow:hidden}.selected-banner-progress-title p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:.22rem 0 0;font-size:.59rem;overflow:hidden}.selected-banner-progress-title>strong{color:var(--project-color);font-variant-numeric:tabular-nums;font-size:.78rem}.banner-progress-status{color:var(--muted-dark);white-space:nowrap;align-items:center;gap:.3rem;font-size:.57rem;font-weight:700;display:inline-flex}.banner-progress-status>span{background:var(--muted-dark);border-radius:50%;flex:none;width:6px;height:6px}.banner-progress-status.is-enabled{color:var(--success)}.banner-progress-status.is-enabled>span{background:var(--success)}.selected-banner-progress>progress{margin:.62rem 0}.banner-progress-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.banner-progress-metrics>div{min-width:0}.banner-progress-metrics dt{color:var(--muted-dark);letter-spacing:.025em;text-transform:uppercase;margin-bottom:.24rem;font-size:.54rem;font-weight:700}.banner-progress-metrics dd{color:var(--text-soft);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.68rem;font-weight:700;overflow:hidden}.project-progress-footer{border-top:1px solid var(--line);min-height:42px;color:var(--muted-dark);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .9rem;font-size:.61rem;display:flex}.user-data-state{color:var(--muted);text-align:center;place-content:center;justify-items:center;display:grid}.user-data-state>svg{color:var(--muted-dark)}.user-data-state h2{color:var(--text-soft);margin:.85rem 0 0;font-size:1rem}.user-data-state p{max-width:42ch;margin:.45rem 0 1rem;font-size:.78rem;line-height:1.55}.skeleton-facts{width:100%;height:74px;margin-bottom:1.25rem}.skeleton-project{height:330px}.user-data+.overview-bar{margin-top:1rem}.user-data+.overview-bar .overview-items{grid-template-columns:repeat(6,minmax(0,1fr));min-width:0;display:grid;overflow:visible}.user-data+.overview-bar .overview-stat{min-width:0;padding-inline:.65rem}@media (max-width:1240px){.project-progress-grid{grid-template-columns:1fr}.user-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 0}.user-facts>div:nth-child(2n){border-right:0}.user-facts>div:nth-child(odd){padding-left:0}}@media (max-width:900px){body.dashboard-sidebar-open{overflow:hidden}.dashboard-layout,.dashboard-layout.has-open-sidebar{grid-template-columns:minmax(0,1fr)}.dashboard-sidebar,.dashboard-sidebar.is-open{width:min(92vw,390px);height:calc(100vh - 68px);z-index:45;border-right:1px solid var(--line);height:calc(100svh - 68px);transition:transform .22s cubic-bezier(.16,1,.3,1);position:fixed;top:68px;left:0;transform:translate(-102%)}.dashboard-sidebar.is-open{transform:translate(0)}.sidebar-surface{width:min(92vw,389px)}.sidebar-backdrop{z-index:40;opacity:0;pointer-events:none;background:#03070eb8;border:0;transition:opacity .18s;display:block;position:fixed;inset:68px 0 0}.sidebar-backdrop.is-visible{opacity:1;pointer-events:auto}.dashboard-main{padding-inline:1rem}.user-data+.overview-bar .overview-items{display:flex;overflow-x:auto}.user-data+.overview-bar .overview-stat{min-width:112px}}@media (max-width:720px){.user-data-header{flex-direction:column;align-items:flex-start}.user-data-actions{width:100%}.user-data-actions .button{flex:1}.mode-progress-list{grid-template-columns:1fr}.mode-progress+.mode-progress{border-top:1px solid var(--line);border-left:0}.progress-heading{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.dashboard-sidebar,.dashboard-sidebar.is-open{height:calc(100vh - 62px);height:calc(100svh - 62px);top:62px}.sidebar-backdrop{inset-block-start:62px}.dashboard-header-start{gap:.5rem}.dashboard-brand-mark{display:none}.menu-button,.sidebar-close{width:44px;height:44px}.dashboard-main{padding:.75rem max(.65rem, env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left))}.user-data{min-height:480px;padding:.85rem}.user-data .selected-name-line{flex-direction:column;align-items:flex-start}.user-data .selected-name-line h2{max-width:68vw}.user-data-actions{grid-template-columns:1fr 1fr;display:grid}.user-data-actions .button{min-width:0;padding-inline:.55rem;font-size:.72rem}.user-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.user-facts>div,.user-facts>div:nth-child(n){border-right:0;padding:.38rem .55rem}.user-facts>div:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.project-progress-header{flex-wrap:wrap;align-items:flex-start}.save-status{margin-left:auto}.project-progress-footer{flex-direction:column;align-items:flex-start;gap:.3rem}}
