:root{--primary:#715092;--primary-hover:#5F417D;--primary-active:#4E3568;--primary-light:#F3EDF7;--primary-light-2:#E8DEF1;--primary-soft:#EDE5F4;--bg:#F8FAFC;--surface:#FFFFFF;--surface-2:#FBFCFE;--border:#E5EAF3;--border-strong:#D6DEEC;--text:#1E293B;--text-secondary:#64748B;--text-muted:#94A3B8;--success:#10B981;--success-light:#E7F8F1;--warning:#F59E0B;--warning-light:#FEF4E5;--danger:#EF4444;--danger-light:#FDECEC;--info:#38BDF8;--info-light:#E8F7FE;--radius-sm:7px;--radius:11px;--radius-lg:16px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(16,24,40,0.04);--shadow-sm:0 1px 3px rgba(16,24,40,0.05),0 1px 2px rgba(16,24,40,0.03);--shadow-md:0 4px 16px -4px rgba(16,24,40,0.08),0 2px 6px -2px rgba(16,24,40,0.04);--shadow-lg:0 18px 44px -12px rgba(33,22,56,0.18);--shadow-pop:0 12px 32px -8px rgba(33,22,56,0.16),0 2px 6px rgba(16,24,40,0.06);--sidebar-w:264px;--sidebar-w-collapsed:76px;--topbar-h:64px;--density:1;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}::selection{background:var(--primary-light-2);color:var(--primary-active)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#D9E0EC;border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#C3CCDC;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.focusable:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-light-2),0 0 0 1px var(--primary);border-color:var(--primary)!important}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;z-index:40;transition:width .22s cubic-bezier(.4,0,.2,1),transform .26s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.main-area{flex:1 1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column;transition:margin-left .22s cubic-bezier(.4,0,.2,1)}.main-area.collapsed{margin-left:var(--sidebar-w-collapsed)}.page-scroll{flex:1 1;overflow-y:auto}.page-container{max-width:1320px;margin:0 auto;padding:28px 36px 64px}.sb-brand{height:var(--topbar-h);display:flex;align-items:center;gap:11px;padding:0 20px;border-bottom:1px solid var(--border);flex-shrink:0}.sb-logo{width:34px;height:34px;border-radius:9px;flex-shrink:0;background:linear-gradient(135deg,#7d59a3,#5F417D);display:grid;place-items:center;box-shadow:0 2px 8px -2px rgba(95,65,125,.5)}.sb-nav{flex:1 1;overflow-y:auto;padding:14px 12px 20px}.sb-nav::-webkit-scrollbar{width:6px}.sb-group-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);padding:0 12px;margin:18px 0 7px;white-space:nowrap;overflow:hidden}.sb-group-label:first-child{margin-top:2px}.sb-item{display:flex;align-items:center;gap:11px;padding:8px 12px;margin:1px 0;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;border:1px solid transparent;transition:background .13s,color .13s;position:relative}.sb-item:hover{background:#F4F6FA;color:var(--text)}.sb-item.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px -3px rgba(113,80,146,.5)}.sb-item.active .sb-ico{color:#fff}.sb-item .sb-ico{color:var(--text-muted);flex-shrink:0;transition:color .13s}.sb-item:hover .sb-ico{color:var(--text-secondary)}.sb-item .sb-badge{margin-left:auto;font-size:10.5px;font-weight:700;background:var(--primary-light);color:var(--primary);padding:1px 7px;border-radius:999px}.sb-item.active .sb-badge{background:rgba(255,255,255,.22);color:#fff}.sidebar.collapsed .sb-badge,.sidebar.collapsed .sb-brand-text,.sidebar.collapsed .sb-group-label,.sidebar.collapsed .sb-label{display:none}.sidebar.collapsed .sb-item{justify-content:center;padding:9px}.sidebar.collapsed .sb-group-label{height:1px;margin:12px 14px;padding:0;border-top:1px solid var(--border)}.sb-footer{border-top:1px solid var(--border);padding:10px 12px;flex-shrink:0}.sb-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .13s}.sb-user:hover{background:#F4F6FA}.sb-user.active{background:var(--primary-light)}.sb-user.active .sb-label>div:first-child{color:var(--primary-active)}body.dark-sidebar .sb-user.active{background:rgba(255,255,255,.08)}.sb-logout{display:flex;align-items:center;gap:10px;width:100%;margin-top:6px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--danger,#DC2626);font-size:13px;font-weight:600;cursor:pointer;transition:background .13s,border-color .13s}.sb-logout:hover{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.3)}body.dark-sidebar .sb-logout{border-color:#3A2F55}body.dark-sidebar .sb-logout:hover{background:rgba(220,38,38,.15)}.sb-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#8a66ad,#5F417D);color:#fff;display:grid;place-items:center;font-weight:700;font-size:13px}.topbar{height:var(--topbar-h);flex-shrink:0;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);gap:14px;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:30}.topbar,.topbar-search{display:flex;align-items:center}.topbar-search{gap:9px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:0 13px;height:38px;width:320px;max-width:38vw;color:var(--text-muted);transition:border-color .13s,box-shadow .13s}.topbar-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light-2)}.topbar-search input{border:none;background:none;outline:none;flex:1 1;font-size:13.5px;color:var(--text);font-family:var(--font)}.topbar-search kbd{font-family:var(--font);font-size:10.5px;font-weight:600;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:1px 6px}.icon-btn{width:38px;height:38px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:grid;place-items:center;cursor:pointer;position:relative;transition:background .13s,color .13s,border-color .13s}.icon-btn:hover{background:var(--bg);color:var(--text)}.icon-btn .dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:2px solid var(--surface)}.tenant-switch{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px 11px 6px 8px;cursor:pointer;transition:border-color .13s,box-shadow .13s;min-width:218px}.tenant-switch:hover{border-color:var(--border-strong);box-shadow:var(--shadow-xs)}.tenant-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-size:13.5px;font-weight:600;border-radius:var(--radius);padding:0 16px;height:38px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .13s,color .13s,border-color .13s,box-shadow .13s,transform .08s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 2px rgba(78,53,104,.25)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--bg);border-color:#C3CCDC}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:#F1F4F9;color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#DC2F2F}.btn-danger-soft{background:var(--danger-light);color:var(--danger)}.btn-danger-soft:hover:not(:disabled){background:#FBDCDC}.btn-sm{height:32px;padding:0 12px;font-size:12.5px;border-radius:var(--radius-sm)}.btn-lg{height:44px;padding:0 22px;font-size:14.5px}.btn-icon{width:38px;padding:0}.btn-icon.btn-sm{width:32px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:22px 24px}.card-head{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:16px}.badge,.card-head{align-items:center}.badge{display:inline-flex;gap:5px;font-size:12px;font-weight:600;padding:2px 10px;border-radius:999px;line-height:1.5;white-space:nowrap}.badge .badge-dot{width:6px;height:6px;border-radius:50%}.badge-primary{background:var(--primary-light);color:var(--primary-active)}.badge-success{background:var(--success-light);color:#0a8f63}.badge-warning{background:var(--warning-light);color:#b9760a}.badge-danger{background:var(--danger-light);color:#cf3636}.badge-info{background:var(--info-light);color:#1184c2}.badge-neutral{background:#F1F4F9;color:var(--text-secondary)}.delta{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:600;padding:2px 8px;border-radius:999px}.delta-up{background:var(--success-light);color:#0a8f63}.delta-down{background:var(--danger-light);color:#cf3636}.delta-flat{background:#F1F4F9;color:var(--text-secondary)}.field-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:7px}.field-hint{color:var(--text-muted)}.field-error,.field-hint{font-size:12px;margin-top:6px}.field-error{display:flex;align-items:center;gap:4px}.field-error,.req{color:var(--danger)}.input,.select-native,.textarea{width:100%;font-family:var(--font);font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:0 13px;height:40px;transition:border-color .13s,box-shadow .13s}.textarea{height:auto;padding:11px 13px;resize:vertical;min-height:92px;line-height:1.6}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.select-native:focus,.textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light-2)}.input:disabled{background:var(--bg);color:var(--text-muted)}.input-group{position:relative}.input-group .input{padding-left:38px}.input-group .ig-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.switch{width:40px;height:23px;border-radius:999px;background:#D6DEEC;position:relative;cursor:pointer;transition:background .16s;flex-shrink:0;border:none;padding:0}.switch.on{background:var(--primary)}.switch .knob{position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .16s}.switch.on .knob{transform:translateX(17px)}.cbox{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all .12s}.cbox.indet,.cbox.on{background:var(--primary);border-color:var(--primary);color:#fff}.dt-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.dt-toolbar{padding:16px 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--border)}.dt-scroll{overflow-x:auto}table.dt{width:100%;border-collapse:collapse;font-size:13.5px}table.dt thead th{text-align:left;font-size:11.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);padding:calc(11px * var(--density)) 18px;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}table.dt thead th.sortable{cursor:pointer}table.dt thead th.sortable:hover{color:var(--text-secondary)}table.dt tbody td{padding:calc(13px * var(--density)) 18px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}table.dt tbody tr{transition:background .1s}table.dt tbody tr:hover{background:#FAFBFD}table.dt tbody tr:last-child td{border-bottom:none}.dt-cell-strong{font-weight:600;color:var(--text)}.dt-cell-sub{font-size:12px;color:var(--text-muted)}.dt-actions{display:flex;align-items:center;gap:4px}.dt-act-btn{width:30px;height:30px;border-radius:7px;border:none;background:transparent;color:var(--text-muted);display:grid;place-items:center;cursor:pointer;transition:all .12s}.dt-act-btn:hover{background:#F1F4F9;color:var(--text)}.dt-act-btn.danger:hover{background:var(--danger-light);color:var(--danger)}.dt-footer{padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border);flex-wrap:wrap}.dt-pagebtn{min-width:32px;height:32px;padding:0 8px;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .12s}.dt-pagebtn:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg)}.dt-pagebtn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.dt-pagebtn:disabled{opacity:.4;cursor:not-allowed}.cell-av{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-weight:700;font-size:12px;flex-shrink:0;color:#fff}.cell-av.circle{border-radius:50%}.seg{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:3px;gap:2px}.seg button{border:none;background:transparent;font-family:var(--font);font-size:12.5px;font-weight:600;color:var(--text-secondary);padding:5px 13px;border-radius:7px;cursor:pointer;transition:all .12s;white-space:nowrap}.seg button.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-xs)}.seg button:hover:not(.active){color:var(--text)}.chip{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 13px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .12s}.chip:hover{border-color:#C3CCDC;background:var(--bg)}.chip.active{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px;flex-wrap:wrap}.page-title{font-size:23px;font-weight:700;letter-spacing:-.02em;color:var(--text);margin:0}.page-sub{font-size:14px;color:var(--text-secondary);margin:5px 0 0;max-width:640px}.breadcrumb{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-muted);margin-bottom:11px}.breadcrumb a{color:var(--text-muted);text-decoration:none}.breadcrumb a:hover{color:var(--primary)}.grid{display:grid;grid-gap:18px;gap:18px}.g-2{grid-template-columns:repeat(2,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-4{grid-template-columns:repeat(4,1fr)}.span-2{grid-column:1/-1}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:19px 20px;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}.metric-card:hover{box-shadow:var(--shadow-md)}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-ico{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:var(--primary-light);color:var(--primary)}.metric-label{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.metric-value{font-size:28px;font-weight:700;letter-spacing:-.025em;color:var(--text);margin:12px 0 4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 24px}.empty-ico{width:60px;height:60px;border-radius:16px;background:var(--primary-light);color:var(--primary);display:grid;place-items:center;margin-bottom:18px}.skel{background:linear-gradient(90deg,#EEF1F6 25%,#F6F8FB 37%,#EEF1F6 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:7px}.skel-circle{border-radius:50%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skel-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.top-progress{position:absolute;left:0;right:0;bottom:-1px;height:2.5px;overflow:hidden;pointer-events:none;z-index:40}.top-progress:before{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,var(--primary),transparent);animation:topbar-indeterminate 1.05s ease-in-out infinite}@keyframes topbar-indeterminate{0%{left:-40%}to{left:100%}}.modal-overlay{position:fixed;inset:0;background:rgba(20,16,33,.42);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;display:grid;place-items:center;padding:24px;animation:fade .15s ease}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:460px;animation:pop .18s cubic-bezier(.2,.9,.3,1.2)}.modal-lg{max-width:720px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}}.toast-wrap{position:fixed;bottom:22px;right:22px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:flex-start;gap:11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:13px 15px;min-width:290px;max-width:380px;animation:slidein .25s cubic-bezier(.2,.9,.3,1.1)}@keyframes slidein{0%{opacity:0;transform:translateX(20px)}}.toast-ico{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;margin-top:1px}.menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:6px;min-width:200px;z-index:60;animation:pop .14s ease}.menu-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:7px;font-size:13.5px;color:var(--text);cursor:pointer;transition:background .1s}.menu-item:hover{background:#F4F6FA}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-light)}.menu-sep{height:1px;background:var(--border);margin:5px 0}.menu-label{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:7px 10px 4px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border)}.tab{padding:11px 4px;margin:0 12px -1px 0;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:color .12s,border-color .12s}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.divider{height:1px;background:var(--border);border:none;margin:0}.muted{color:var(--text-muted)}.sec{color:var(--text-secondary)}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}a{color:var(--primary)}.fade-in{animation:fadein .3s ease both}@keyframes fadein{0%{transform:translateY(7px)}to{transform:none}}body.dark-sidebar .sidebar{background:#2A2140;border-right-color:#3A2F55}body.dark-sidebar .sb-brand{border-bottom-color:#3A2F55}body.dark-sidebar .sb-brand-text>div:first-child{color:#fff}body.dark-sidebar .sb-group-label{color:#8B7CA8}body.dark-sidebar .sb-item{color:#C5BAD9}body.dark-sidebar .sb-item .sb-ico{color:#8B7CA8}body.dark-sidebar .sb-item:hover{background:rgba(255,255,255,.06);color:#fff}body.dark-sidebar .sb-item:hover .sb-ico{color:#C5BAD9}body.dark-sidebar .sb-item.active{background:var(--primary);color:#fff}body.dark-sidebar .sb-footer{border-top-color:#3A2F55}body.dark-sidebar .sb-user:hover{background:rgba(255,255,255,.06)}body.dark-sidebar .sb-user .sb-label>div:first-child{color:#fff}body.dark-sidebar .sidebar.collapsed .sb-group-label{border-top-color:#3A2F55}body.density-compact{--density:0.72}body.density-comfy{--density:1.2}.reorder-list{display:flex;flex-direction:column;gap:10px}.reorder-item{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:13px 16px;box-shadow:var(--shadow-xs);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:border-color .13s,box-shadow .13s,background .13s,transform .06s}.reorder-item:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.reorder-item:active{cursor:-webkit-grabbing;cursor:grabbing}.reorder-item.dragging{opacity:.55;border-color:var(--primary);box-shadow:var(--shadow-md)}.reorder-item.drop-target{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light-2)}.reorder-grip{color:var(--text-muted);display:grid;place-items:center;flex-shrink:0;cursor:-webkit-grab;cursor:grab}.reorder-item:hover .reorder-grip,.reorder-pos{color:var(--primary)}.reorder-pos{width:26px;height:26px;border-radius:7px;background:var(--primary-light);font-size:12px;font-weight:700;display:grid;place-items:center;flex-shrink:0}.reorder-footer{position:-webkit-sticky;position:sticky;bottom:0;margin:22px -36px -64px;padding:16px 36px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:10}.reorder-list.saving{opacity:.6;pointer-events:none}@media (max-width:1024px){.reorder-footer{margin:22px -20px -56px;padding:14px 20px}}.login-spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:920px){.login-shell{grid-template-columns:1fr!important}.login-brand{padding:36px 28px!important;min-height:240px}.login-brand h1{font-size:26px!important}}.scrim{position:fixed;inset:0;background:rgba(20,16,33,.4);z-index:39;animation:fade .2s}@media (max-width:1024px){.sidebar{transform:translateX(-100%);box-shadow:var(--shadow-lg)}.sidebar.mobile-open{transform:translateX(0)}.main-area,.main-area.collapsed{margin-left:0}.page-container{padding:22px 20px 56px}}@media (max-width:880px){.g-4{grid-template-columns:repeat(2,1fr)}.g-2,.g-3{grid-template-columns:1fr}.topbar-search{display:none}.page-title{font-size:20px}}@media (max-width:560px){.g-4{grid-template-columns:1fr}.page-container{padding:18px 14px 48px}}.rte{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:border-color .13s,box-shadow .13s}.rte:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light-2)}.rte-error{border-color:var(--danger)}.rte-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--surface-2)}.rte-btn{display:grid;place-items:center;width:30px;height:30px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:background .12s,color .12s}.rte-btn:hover{background:var(--primary-light);color:var(--primary)}.rte-sep{width:1px;height:18px;background:var(--border);margin:0 4px}.rte-area{padding:12px 14px;font-size:13.5px;line-height:1.65;color:var(--text);outline:none;overflow-y:auto}.rte-area:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.rte-area p{margin:0 0 10px}.rte-area p:last-child{margin-bottom:0}.rte-area ol,.rte-area ul{margin:0 0 10px;padding-left:22px}.rte-area li{margin:2px 0}.rte-area a{color:var(--primary);text-decoration:underline}