:root{--navy:#1b1e27;--navy-soft:#252936;--paper:#f6f5f1;--card:#fff;--ink:#2b2d33;--ink-muted:#767a85;--border:#e3e1d8;--moss:#2f6f4e;--moss-soft:#e7f0ea;--rust:#b4552f;--rust-soft:#fbebe3;--amber:#b7791f;--amber-soft:#fbf1df;--blue:#3a6ea5;--blue-soft:#e9f0f8;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}html,body{background:var(--paper);font-family:var(--font-body);color:var(--ink);-webkit-user-select:none;user-select:none;margin:0;padding:0;overflow-x:hidden}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text}button,input,select,textarea{font-family:inherit}button{transition:background .15s,color .15s,border-color .15s,transform .12s,box-shadow .15s,opacity .15s}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #1b1e2714;border-color:var(--navy)!important}.input,select.input,textarea.input{transition:border-color .15s,box-shadow .15s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPop{0%{opacity:0;transform:scale(.96)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.mini-spinner{border:2px solid var(--border);border-top-color:var(--navy);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}.content.page-enter{animation:.28s fadeInUp}#app{height:100vh;display:flex}.sidebar{background:var(--navy);flex-direction:column;flex-shrink:0;gap:4px;width:220px;padding:22px 14px;display:flex}.sidebar-brand{align-items:center;gap:8px;margin-bottom:26px;padding:0 10px;display:flex}.sidebar-brand-mark{background:var(--blue);color:#fff;width:26px;height:26px;font-family:var(--font-display);border-radius:6px;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.sidebar-brand-name{color:#fff;font-family:var(--font-display);font-size:16px;font-weight:600}.sidebar-brand-logo-wrap{background:#fff;border-radius:8px;flex:1;align-items:center;min-width:0;padding:6px 10px;display:flex}.sidebar-brand-logo{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:clamp(18px,6vw,24px);display:block}.nav-btn{color:#a6abb8;font-family:var(--font-body);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13.5px;font-weight:500;transition:background .15s,color .15s,transform .12s;display:flex}.nav-btn:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.nav-btn:active{transform:translate(2px)scale(.98)}.nav-btn.active{background:var(--navy-soft);color:#fff}.nav-btn svg{flex-shrink:0}.sidebar-close-btn{color:#a6abb8;cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px;display:none}.sidebar-close-btn:hover{color:#fff;background:#ffffff14}.menu-btn{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;display:none}.menu-btn:hover{background:var(--paper);color:var(--ink)}.sidebar-backdrop{z-index:40;background:#1b1e2773;animation:.18s fadeIn;position:fixed;inset:0}.sidebar-profile-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;margin-top:auto;padding:12px 10px;transition:background .15s}.sidebar-profile-btn:hover{background:#ffffff0d}.sidebar-profile-btn.active{background:var(--navy-soft)}.sidebar-profile-row{align-items:center;gap:8px;display:flex}.sidebar-avatar{background:var(--navy-soft);color:#fff;width:28px;height:28px;font-family:var(--font-body);object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.sidebar-profile-name{color:#fff;font-size:12.5px;font-family:var(--font-body);white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-weight:500;overflow:hidden}.sidebar-profile-role{color:#7c8091;font-size:11px;font-family:var(--font-body)}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.topbar-date{font-family:var(--font-mono);color:var(--ink-muted);font-size:12.5px}.content{flex:1;min-height:0;padding:28px;overflow-y:auto}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.section-header h2{font-family:var(--font-display);color:var(--ink);margin:0;font-size:22px;font-weight:600}.section-header .subtitle{color:var(--ink-muted);font-size:13px;font-family:var(--font-body);margin-top:4px}.stat-row{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex:1;min-width:160px;padding:18px 20px;transition:transform .18s,box-shadow .18s,border-color .18s}.stat-card:hover{border-color:#d7d4c7;transform:translateY(-3px);box-shadow:0 8px 20px #1b1e2714}.stat-label{color:var(--ink-muted);font-size:12px;font-family:var(--font-body);letter-spacing:.3px;margin-bottom:8px}.stat-value{font-size:26px;font-family:var(--font-mono);color:var(--ink);font-weight:500}.stat-delta{font-size:12px;font-family:var(--font-mono);align-items:center;gap:4px;margin-top:6px;display:flex}.stat-delta.positive{color:var(--moss)}.stat-delta.negative{color:var(--rust)}.card-box{background:var(--card);border:1px solid var(--border);border-radius:10px;transition:box-shadow .18s}.panel{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px 20px;transition:box-shadow .18s}.panel-title{font-size:13px;font-family:var(--font-body);color:var(--ink);align-items:center;gap:6px;margin-bottom:14px;font-weight:600;display:flex}.grid-2{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;display:grid}.grid-overview{grid-template-columns:1.4fr 1fr;align-items:stretch;gap:16px;margin-bottom:24px;display:grid}.panel-chart{flex-direction:column;display:flex}.panel-chart .chart-body{flex-direction:column;flex:1;justify-content:center;display:flex}.panel-chart .restock-list{flex-direction:column;flex:1;justify-content:center;gap:2px;display:flex}.restock-row{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;margin:0 -6px;padding:8px 6px;transition:background .12s;display:flex}.restock-row:not(:last-child){border-bottom:1px solid var(--border)}.restock-row:hover{background:var(--paper)}.data-table tbody tr.clickable-row{cursor:pointer}.data-table tbody tr.clickable-row:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}table.data-table{border-collapse:collapse;width:100%}.data-table thead tr{border-bottom:1px solid var(--border)}.data-table th{text-align:left;color:var(--ink-muted);font-size:11px;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding:12px 16px;font-weight:600}.data-table th.align-right{text-align:right}.data-table td{color:var(--ink);font-size:13.5px;font-family:var(--font-body);white-space:nowrap;padding:13px 16px}.data-table td.align-right{text-align:right}.data-table td.mono{font-family:var(--font-mono)}.data-table tr:not(:last-child) td{border-bottom:1px solid var(--border)}.data-table tbody tr{transition:background .12s}.data-table tbody tr:hover{background:var(--paper)}.table-empty{text-align:center;color:var(--ink-muted);font-family:var(--font-body);padding:32px;font-size:13px}.status-pill{font-size:11px;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;border-radius:20px;padding:3px 9px;font-weight:600;display:inline-block}.link-btn{cursor:pointer;color:var(--ink);font-family:var(--font-body);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13.5px;font-weight:500;transition:text-decoration-color .15s,color .15s}.link-btn:hover{-webkit-text-decoration-color:var(--navy);text-decoration-color:var(--navy);color:var(--navy)}.btn{font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy-soft);transform:translateY(-1px);box-shadow:0 4px 12px #1b1e2740}.btn-primary:disabled{background:var(--border);cursor:not-allowed}.btn-secondary{color:var(--ink-muted);border:1px solid var(--border);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--paper);color:var(--ink);border-color:#d7d4c7;transform:translateY(-1px)}.btn-danger{background:var(--rust);color:#fff}.btn-danger:hover:not(:disabled){background:#9c4527;transform:translateY(-1px);box-shadow:0 4px 12px #b4552f4d}.btn-moss{background:var(--moss);color:#fff}.btn-moss:hover:not(:disabled){background:#255a3f;transform:translateY(-1px);box-shadow:0 4px 12px #2f6f4e4d}.btn-sm{border-radius:7px;padding:6px 12px;font-size:11.5px}.btn-icon{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--paper);color:var(--ink)}.btn-icon.danger{color:var(--rust)}.btn-icon.danger:hover:not(:disabled){background:var(--rust-soft);color:var(--rust)}.btn-icon:disabled{color:var(--border);cursor:default}.input,select.input,textarea.input{border:1px solid var(--border);width:100%;font-family:var(--font-body);box-sizing:border-box;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:9px 12px;font-size:13px}.input.mono{font-family:var(--font-mono)}textarea.input{resize:vertical}.field-label{font-size:12px;font-family:var(--font-body);color:var(--ink-muted);margin-bottom:6px;display:block}.field-hint{color:var(--ink-muted);font-weight:400}.field-error{color:var(--rust);font-size:11.5px;font-family:var(--font-body);margin-top:5px}.search-wrap{position:relative}.search-wrap svg{pointer-events:none;position:absolute;top:10px;left:12px}.search-wrap input{padding-left:34px}.filter-pill{font-size:12.5px;font-family:var(--font-body);text-transform:capitalize;cursor:pointer;border:1px solid var(--border);color:var(--ink);background:#fff;border-radius:20px;padding:7px 14px;font-weight:600;transition:background .15s,border-color .15s,color .15s,transform .12s}.filter-pill:hover{border-color:var(--navy);transform:translateY(-1px)}.filter-pill.active{background:var(--navy);border-color:var(--navy);color:#fff}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.form-panel{background:var(--card);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:20px}.form-title{font-family:var(--font-display);color:var(--ink);margin-bottom:16px;font-size:16px;font-weight:600}.form-grid{gap:14px;margin-bottom:14px;display:grid}.form-grid-4{grid-template-columns:2fr 1fr 1fr 1fr}.form-grid-5{grid-template-columns:1.5fr 1fr 1fr .8fr .8fr}.form-grid-2{grid-template-columns:1fr 1fr}.form-actions{gap:10px;display:flex}.filter-bar{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:16px;padding:16px 20px;display:flex}.img-upload-swatch-wrap{flex-shrink:0;position:relative}.img-upload-swatch{border:1px solid var(--border);cursor:pointer;background-position:50%;background-size:cover;border-radius:8px;padding:0;transition:transform .15s,border-color .15s;display:block;position:relative;overflow:hidden}.img-upload-swatch:hover{border-color:var(--navy);transform:translateY(-2px)}.img-upload-swatch img{object-fit:cover;width:100%;height:100%;display:block}.img-upload-overlay{opacity:0;pointer-events:none;background:#1b1e2700;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:absolute;inset:0}.img-upload-swatch:hover .img-upload-overlay{opacity:1;background:#1b1e2773}.img-remove-btn{background:var(--rust);border:2px solid var(--card);color:#fff;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;transition:transform .12s;display:flex;position:absolute;top:-6px;right:-6px}.img-remove-btn:hover{transform:scale(1.15)}.img-add-slot{border:1px dashed var(--border);cursor:pointer;color:var(--ink-muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;width:56px;height:56px;transition:border-color .15s,color .15s,background .15s;display:flex}.img-add-slot:hover{border-color:var(--navy);color:var(--navy);background:var(--paper)}.product-image-strip{display:flex}.strip-img{border:2px solid var(--card);background-position:50%;background-size:cover;border-radius:6px;flex-shrink:0;overflow:hidden}.strip-img img{object-fit:cover;width:100%;height:100%;display:block}.strip-more{background:var(--paper);border:2px solid var(--card);font-size:11px;font-family:var(--font-mono);color:var(--ink-muted);border-radius:6px;justify-content:center;align-items:center;display:flex}.modal-overlay{z-index:50;background:#1b1e2780;justify-content:center;align-items:center;padding:24px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--card);border-radius:12px;width:100%;max-width:640px;max-height:85vh;padding:24px;animation:.2s modalPop;overflow-y:auto}.coupon-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.coupon-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;transition:transform .18s,box-shadow .18s}.coupon-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #1b1e2714}.coupon-card.inactive{opacity:.6}.coupon-icon{background:var(--moss-soft);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.coupon-code{font-family:var(--font-mono);color:var(--ink);letter-spacing:.5px;font-size:14px;font-weight:500}.coupon-scope{font-size:12px;font-family:var(--font-body);color:var(--ink-muted);margin-top:2px}.coupon-value{font-family:var(--font-display);color:var(--ink);margin:10px 0;font-size:22px;font-weight:600}.coupon-meta{font-size:12px;font-family:var(--font-mono);color:var(--ink-muted);justify-content:space-between;margin-bottom:6px;display:flex}.coupon-bar{background:var(--border);border-radius:4px;height:4px;overflow:hidden}.coupon-bar-fill{background:var(--moss);height:100%}.coupon-bar-fill.inactive{background:var(--ink-muted)}.toggle{cursor:pointer;background:var(--border);border:none;border-radius:20px;flex-shrink:0;width:36px;height:20px;padding:0;transition:background .15s;position:relative}.toggle:hover{background:#d7d4c7}.toggle.on{background:var(--moss)}.toggle.on:hover{background:#285c40}.toggle-knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle.on .toggle-knob{left:18px}.slider-preview{border-radius:8px;flex-direction:column;justify-content:center;min-height:100px;padding:22px 20px;display:flex;position:relative;overflow:hidden}.slider-preview-img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.slider-preview-overlay{z-index:1;background:linear-gradient(90deg,#0009,#0003);position:absolute;inset:0}.slider-preview-title,.slider-preview-subtitle,.slider-preview-cta{z-index:2;position:relative}.slider-preview-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;padding:0;display:block}.slider-preview-btn:hover{opacity:.9}.slider-preview-title{font-family:var(--font-display);color:#fff;margin-bottom:4px;font-size:17px;font-weight:600}.slider-preview-subtitle{font-family:var(--font-body);color:#ffffffd9;margin-bottom:10px;font-size:12.5px}.slider-preview-cta{color:#fff;font-family:var(--font-body);background:#ffffff29;border-radius:20px;align-self:flex-start;padding:5px 12px;font-size:11.5px;font-weight:600}.accent-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .15s}.accent-swatch:hover{transform:scale(1.12)}.accent-swatch.selected{border-color:var(--ink);outline-offset:2px}.slider-row{background:var(--card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:16px;padding:14px;transition:box-shadow .18s;display:flex}.slider-row-thumb{flex-shrink:0;width:260px}.slider-row:hover{box-shadow:0 4px 14px #1b1e270f}.slider-row.inactive{opacity:.55}.slider-order-col{flex-direction:column;gap:2px;display:flex}.category-row-head{align-items:center;gap:14px;padding:14px 18px;transition:background .15s;display:flex}.category-row-head:hover{background:var(--paper)}.category-expand-btn{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:4px;display:flex}.category-expand-btn:hover{color:var(--ink);background:#1b1e270f}.category-expand-btn svg{transition:transform .15s}.category-expand-btn.expanded svg{transform:rotate(180deg)}.category-name{font-family:var(--font-body);color:var(--ink);font-size:14px;font-weight:500}.category-meta{font-family:var(--font-mono);color:var(--ink-muted);margin-top:2px;font-size:11.5px}.subcategory-panel{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:14px 18px 16px 66px;display:flex}.subcategory-row{background:var(--paper);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s;display:flex}.subcategory-row:hover{border-color:#d7d4c7}.sub-add-row{align-items:flex-start;gap:8px;margin-top:2px;display:flex}.profile-card{background:var(--card);border:1px solid var(--border);border-radius:10px;max-width:620px;margin-bottom:20px;padding:24px}.profile-head{align-items:center;gap:16px;margin-bottom:22px;display:flex}.profile-display-name{font-family:var(--font-display);color:var(--ink);font-size:16px;font-weight:600}.profile-role{color:var(--ink-muted);font-size:12.5px;font-family:var(--font-body);margin-top:2px}.section-label{color:var(--ink-muted);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}.saved-flag{color:var(--moss);font-family:var(--font-body);align-items:center;gap:5px;font-size:12.5px;font-weight:500;display:flex}.chart-svg text{font-family:var(--font-mono);fill:var(--ink-muted)}.chart-legend{font-family:var(--font-body);flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;font-size:12px;display:flex}.chart-legend-item{opacity:0;align-items:center;gap:6px;animation:.35s forwards fadeInUp;display:flex}.chart-legend-dot{border-radius:50%;width:9px;height:9px;display:inline-block}.chart-gridline{opacity:0;animation:.4s forwards chartFadeIn}.chart-line-draw{stroke-dasharray:100;stroke-dashoffset:100px;animation:.9s cubic-bezier(.4,.1,.2,1) forwards chartLineDraw}.chart-dot{opacity:0;transform-box:fill-box;transform-origin:50%;cursor:pointer;transition:r .15s;animation:.35s forwards chartDotPop;transform:scale(0)}.chart-dot:hover{r:5}.chart-bar{transform-box:view-box;cursor:pointer;transition:opacity .15s;animation:.5s cubic-bezier(.34,1.3,.4,1) forwards chartBarGrow;transform:scaleY(0)}.chart-bar:hover{opacity:.78}.chart-pie-slice{opacity:0;cursor:pointer;transform-box:view-box;transition:transform .15s,filter .15s;animation:.4s forwards chartSliceIn;transform:scale(.6)}.chart-pie-slice:hover{filter:brightness(1.06);transform:scale(1.035)}@keyframes chartFadeIn{to{opacity:1}}@keyframes chartLineDraw{to{stroke-dashoffset:0}}@keyframes chartDotPop{to{opacity:1;transform:scale(1)}}@keyframes chartBarGrow{to{transform:scaleY(1)}}@keyframes chartSliceIn{to{opacity:1;transform:scale(1)}}@media (width<=900px){.grid-overview,.grid-2,.form-grid-4,.form-grid-3,.form-grid-2{grid-template-columns:1fr}.form-grid-5{grid-template-columns:1fr 1fr}}@media (width<=860px){.menu-btn,.sidebar-close-btn{display:inline-flex}.sidebar{z-index:45;height:100vh;transition:transform .22s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:8px 0 24px #0000002e}.sidebar.open{transform:translate(0)}.sidebar-brand-logo-wrap{padding:5px 8px}.content{padding:18px}.topbar{padding:0 16px}}@media (width<=640px){.content{padding:14px}.section-header h2{font-size:19px}.stat-row{gap:10px}.stat-card{min-width:130px;padding:14px 16px}.stat-value{font-size:21px}.form-panel{padding:16px}.form-grid-5{grid-template-columns:1fr}.modal-box{max-height:90vh;padding:18px}.coupon-grid{grid-template-columns:1fr}.filter-bar{gap:12px;padding:12px 14px}.filter-bar>*{min-width:0!important}.search-wrap{flex:100%!important;max-width:none!important}.subcategory-panel{padding-left:20px}.data-table th,.data-table td{padding:10px 12px;font-size:12.5px}.slider-row{flex-wrap:wrap;padding:12px}.slider-row-thumb{order:-1;width:100%}.slider-order-col{flex-direction:row;order:2}.category-row-head{gap:10px;padding:12px 14px}.subcategory-row{flex-wrap:wrap}.page-access-grid{grid-template-columns:1fr}.profile-head{flex-wrap:wrap}}@media (width<=420px){.stat-row{flex-direction:column}.stat-card{min-width:0}.login-card{padding:28px 22px 24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.login-screen{background:var(--navy);background-image:radial-gradient(circle at 20% 20%,#3a6ea540,#0000 45%),radial-gradient(circle at 80% 80%,#2f6f4e40,#0000 45%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--card);border-radius:14px;width:100%;max-width:380px;padding:36px 32px 30px;animation:.25s modalPop;box-shadow:0 30px 60px #00000059}.login-brand{justify-content:center;align-items:center;margin-bottom:26px;display:flex}.login-brand-logo{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:clamp(32px,9vw,46px);display:block}.login-title{font-family:var(--font-display);color:var(--ink);text-align:center;margin:0 0 4px;font-size:22px;font-weight:600}.login-subtitle{color:var(--ink-muted);text-align:center;margin:0 0 26px;font-size:13.5px}.login-field{margin-bottom:16px}.login-label{color:var(--ink);margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.login-input{border:1px solid var(--border);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px;font-size:14px}.login-error{background:var(--rust-soft);color:var(--rust);border-radius:8px;margin-bottom:16px;padding:9px 12px;font-size:13px}.login-submit{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 12px;font-size:14.5px;font-weight:600;display:flex}.login-submit:hover{background:var(--navy-soft)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-show-password{color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;margin-top:8px;font-size:12.5px;display:flex}.login-show-password input[type=checkbox]{width:14px;height:14px;accent-color:var(--navy);cursor:pointer;margin:0}.page-access-grid{grid-template-columns:repeat(2,1fr);gap:4px 16px;display:grid}.page-access-item{color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 4px;font-size:13.5px;display:flex}.page-access-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--navy);cursor:pointer;margin:0}.page-access-hint{color:var(--ink-muted);margin:-4px 0 14px;font-size:12.5px}.logout-btn{border:1px solid var(--border);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;display:flex}.logout-btn:hover{color:var(--ink);border-color:var(--ink-muted)}.full-loader{background:var(--paper);justify-content:center;align-items:center;min-height:100vh;display:flex}.modal-box.modal-wide{max-width:820px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:18px;font-weight:600}.modal-close-btn{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.modal-close-btn:hover{background:var(--paper);color:var(--ink)}.modal-footer{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.empty-state{text-align:center;color:var(--ink-muted);padding:40px 10px;font-size:13.5px}.page-loading{text-align:center;color:var(--ink-muted);padding:60px 0}
