@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.__className_031d91{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-style:normal}.__variable_031d91{--font-jakarta:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}:root{--surface-page:#ffffff;--surface-shell:#f6f6f7;--surface-raised:#ffffff;--surface-sunken:#fafafa;--surface-hover:#f1f1f2;--surface-row-hover:rgba(24,24,27,0.022);--surface-active:#e9e9ec;--surface-scrim:rgba(24,24,27,0.42);--border-subtle:#f1f1f2;--border:#e8e8ea;--border-strong:#d6d6da;--text-primary:#18181b;--text-secondary:#52525b;--text-muted:#6b6b73;--text-faint:#a1a1aa;--text-inverse:#fafafa;--action:#18181b;--action-hover:#27272a;--action-press:#09090b;--action-fg:#ffffff;--brand:#be4848;--brand-hover:#a83f3f;--brand-press:#8f3636;--brand-soft:#fef2f2;--brand-border:#fecaca;--brand-deep:#8b1a1a;--brand-fg:#ffffff;--danger:#b42318;--danger-strong:#99261c;--danger-soft:#fdf1f0;--danger-border:#f6d6d3;--success:#15794a;--success-strong:#12653d;--success-soft:#e9f7ef;--success-border:#c2e6d1;--warning:#a16207;--warning-strong:#854d0e;--warning-soft:#fef8e7;--warning-border:#f1e2b4;--info:#1d4ed8;--info-soft:#eef2ff;--info-border:#d4ddfa;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:14px;--r-full:999px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:15px;--fs-xl:16px;--fs-2xl:19px;--fs-3xl:26px;--fs-display-sm:30px;--fs-display:36px;--fs-display-lg:48px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--shadow-xs:0 1px 2px rgba(24,24,27,0.04);--shadow-sm:0 1px 3px rgba(24,24,27,0.05),0 1px 2px rgba(24,24,27,0.03);--shadow-md:0 4px 12px rgba(24,24,27,0.07);--shadow-lg:0 12px 32px rgba(24,24,27,0.11);--ring:0 0 0 3px rgba(190,72,72,0.80);--ring-neutral:0 0 0 3px rgba(24,24,27,0.55);--ring-danger:0 0 0 3px rgba(180,35,24,0.80);--ease:cubic-bezier(0.4,0,0.2,1);--dur-fast:110ms;--dur:160ms;--dur-slow:260ms;--sidebar-w:236px;--sidebar-inset:6px;--topbar-h:46px;--page-pad:24px;--tap:28px;--menu-item-h:30px;--nav-fg:#3f3f46;--nav-icon:#71717a;--nav-fg-hover:#18181b;--nav-bg-hover:#f1f1f2;--nav-fg-active:#18181b;--nav-bg-active:#e4e4e7;--nav-icon-active:#18181b;--focus-ring:rgba(190,72,72,0.80);--purple:#6d3fb5;--purple-soft:#f4f0fb;--orange:#b45309;--orange-soft:#fdf1e8}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--font-jakarta),-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--surface-page);color:var(--text-primary);font-size:var(--fs-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{min-height:100%}body{min-height:100dvh;display:flex;flex-direction:column}.landing-footer{margin-top:auto}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface-hover)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-sm)}.dashboard-layout{--sp-1:4px;--sp-2:6px;--sp-3:10px;--sp-4:14px;--sp-5:16px;--sp-6:20px;--sp-8:26px;--sp-10:32px;--page-pad:18px;line-height:1.5;display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--surface-shell);border-radius:var(--r-xl);display:flex;flex-direction:column;position:fixed;left:var(--sidebar-inset);top:var(--sidebar-inset);bottom:var(--sidebar-inset);z-index:100;transition:transform var(--dur-slow) var(--ease);overflow:hidden}.sidebar-logo{min-height:var(--topbar-h);padding:var(--sp-3) var(--sp-4);gap:var(--sp-3)}.sidebar-logo,.sidebar-logo-icon{display:flex;align-items:center;flex-shrink:0}.sidebar-logo-icon{width:26px;height:26px;border-radius:var(--r-sm);background:var(--brand);color:var(--brand-fg);justify-content:center;font-size:var(--fs-sm);font-weight:700;letter-spacing:-.01em}.sidebar-logo-text{display:flex;flex-direction:column;min-width:0}.sidebar-logo-title{font-weight:600;color:var(--text-primary);font-size:var(--fs-lg);line-height:1.2;letter-spacing:-.01em}.sidebar-logo-sub,.sidebar-logo-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logo-sub{font-size:var(--fs-xs);color:var(--text-muted)}.sidebar-nav{flex:1 1;padding:var(--sp-2);overflow-y:auto;display:flex;flex-direction:column;gap:2px}.sidebar-nav::-webkit-scrollbar-track{background:var(--surface-shell)}.sidebar-submenu{display:flex;flex-direction:column;gap:2px}.sidebar-section-label{font-size:var(--fs-sm);font-weight:500;color:var(--text-muted);padding:var(--sp-3) var(--sp-2) 3px}.sidebar-link{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:var(--r-md);color:var(--nav-fg);font-size:var(--fs-md);font-weight:500;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease);cursor:pointer;border:none;background:none;width:100%;text-align:left}.sidebar-link:hover{background:var(--nav-bg-hover)}.sidebar-link:hover,.sidebar-link:hover svg{color:var(--nav-fg-hover)}.sidebar-link.active{background:var(--nav-bg-active);color:var(--nav-fg-active);font-weight:600}.sidebar-link.active svg{color:var(--nav-icon-active)}.sidebar-link.is-trail{color:var(--nav-fg-active);font-weight:600}.sidebar-link.is-trail svg{color:var(--nav-icon-active)}.sidebar-link svg{width:16px;height:16px;flex-shrink:0;color:var(--nav-icon);transition:color var(--dur) var(--ease)}.sidebar-submenu .sidebar-link{padding-left:33px}.sidebar-account{border-top:1px solid var(--border);padding:var(--sp-2);flex-shrink:0}.main-content{margin-left:calc(var(--sidebar-w) + var(--sidebar-inset) * 2);flex:1 1;min-height:100vh;display:flex;flex-direction:column;transition:margin-left var(--dur-slow) var(--ease);min-width:0}.topbar{height:var(--topbar-h);background:var(--surface-page);display:flex;align-items:center;padding:0 var(--page-pad);position:-webkit-sticky;position:sticky;top:0;z-index:50;gap:var(--sp-3)}.topbar-divider{width:1px;height:18px;background:var(--border);flex-shrink:0}.topbar-title{font-weight:600;font-size:var(--fs-md);flex:1 1;min-width:0}.page-content{padding:var(--page-pad);flex:1 1}.page-narrow{max-width:960px}.icon-btn{width:var(--tap);height:var(--tap);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.icon-btn:focus-visible{box-shadow:var(--ring-neutral);outline:none}.icon-btn-bordered{border-color:var(--border);background:var(--surface-page)}.breadcrumb{display:flex;align-items:center;gap:2px;min-width:0;flex:1 1}.breadcrumb-item{font-size:var(--fs-md);font-weight:500;color:var(--text-muted);padding:3px 5px;border-radius:var(--r-xs);white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}a.breadcrumb-item:hover{color:var(--text-primary);background:var(--surface-hover)}.breadcrumb-item[aria-current=page]{color:var(--text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis}.breadcrumb-sep{color:var(--text-faint);flex-shrink:0;display:flex}.user-menu{position:relative;width:100%}.user-menu-trigger{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:6px 8px;border:none;background:none;border-radius:var(--r-md);cursor:pointer;text-align:left;transition:background-color var(--dur) var(--ease)}.user-menu-trigger:hover{background:var(--surface-hover)}.user-menu-trigger[aria-expanded=true]{background:var(--surface-active)}.user-menu-trigger:focus-visible{box-shadow:var(--ring);outline:none}.user-menu-identity{display:flex;flex-direction:column;min-width:0;flex:1 1}.user-menu-name{font-size:var(--fs-md);font-weight:600;color:var(--text-primary)}.user-menu-name,.user-menu-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-sub{font-size:var(--fs-xs);color:var(--text-muted)}.user-menu-caret{color:var(--text-faint);flex-shrink:0}.topbar-avatar{width:26px;height:26px;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand);justify-content:center;font-size:var(--fs-sm);font-weight:700;flex-shrink:0}.flex-between,.topbar-avatar{display:flex;align-items:center}.flex-between{justify-content:space-between;gap:var(--sp-3)}.text-muted{color:var(--text-muted)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-5)}.page-title{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;margin:0;line-height:1.25}.page-desc{font-size:var(--fs-md);color:var(--text-muted);margin:4px 0 0}.page-header-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}@keyframes spin{to{transform:rotate(1turn)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:inherit;font-weight:600;line-height:1.2;white-space:nowrap;border:1px solid transparent;border-radius:var(--r-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}a.btn{text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn-block{width:100%}.btn-sm{height:26px;padding:0 9px;font-size:var(--fs-sm);border-radius:var(--r-sm)}.btn-md{height:32px;padding:0 12px;font-size:var(--fs-md)}.btn-lg{height:38px;padding:0 16px;font-size:var(--fs-base);border-radius:var(--r-lg)}.btn-primary{background:var(--action);color:var(--action-fg);border-color:var(--action)}.btn-primary:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover)}.btn-primary:active:not(:disabled){background:var(--action-press)}.btn-primary:focus-visible{box-shadow:var(--ring-neutral)}.btn-secondary{background:var(--surface-page);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn-secondary:active:not(:disabled){background:var(--surface-active)}.btn-brand{background:var(--brand);color:var(--brand-fg);border-color:var(--brand)}.btn-brand:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.btn-brand:active:not(:disabled){background:var(--brand-press)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong)}.btn-danger:focus-visible{box-shadow:var(--ring-danger)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover:not(:disabled){background:var(--success-strong);border-color:var(--success-strong)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn-outline{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.btn-outline:hover:not(:disabled){background:var(--surface-hover)}.btn-spinner{width:13px;height:13px;flex-shrink:0;border:2px solid;border-top:2px solid transparent;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}.card{background:var(--surface-raised);border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden;min-width:0}.card-header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.card-title{font-weight:600;font-size:var(--fs-lg);letter-spacing:-.01em}.card-body{padding:var(--sp-4)}.table-wrap{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - var(--topbar-h) - 230px)}table{width:100%;border-collapse:separate;border-spacing:0}th{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--surface-sunken);text-align:left;padding:6px 11px;font-size:var(--fs-sm);font-weight:600;color:var(--text-muted);white-space:nowrap;border-bottom:none;box-shadow:inset 0 -1px 0 var(--border)}td{padding:7px 11px;border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface-row-hover)}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}th.sortable:hover{color:var(--text-primary)}th .sort-caret{display:inline-flex;vertical-align:middle;margin-left:4px;opacity:.4}th.sorted .sort-caret{opacity:1;color:var(--text-secondary)}.cell-link{color:var(--text-primary);font-weight:600}.cell-link:hover{color:var(--brand)}.form-group{margin-bottom:var(--sp-4)}.form-label{display:block;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);margin-bottom:5px}.form-input{width:100%;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-page);color:var(--text-primary);font-size:var(--fs-md);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.form-input:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.form-input::placeholder{color:var(--text-faint)}.form-input:disabled{background:var(--surface-hover);color:var(--text-muted);cursor:not-allowed}.form-input[aria-invalid=true]{border-color:var(--danger)}textarea.form-input{height:auto;min-height:76px;padding:8px 10px;line-height:1.5;resize:vertical}select.form-input{cursor:pointer}.form-hint{color:var(--text-muted)}.form-error,.form-hint{font-size:var(--fs-xs);margin-top:4px}.form-error{color:var(--danger)}.modal-overlay{position:fixed;inset:0;background:var(--surface-scrim);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:1000}.modal{background:var(--surface-raised);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);width:100%;max-height:calc(100vh - 2 * var(--sp-4));overflow:hidden}.modal,.modal>form{display:flex;flex-direction:column}.modal>form{min-height:0}.modal-header{padding:var(--sp-4);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-shrink:0}.modal-title{font-weight:600;font-size:var(--fs-lg);letter-spacing:-.01em;margin:0}.modal-body{padding:var(--sp-4);overflow-y:auto;min-height:0}.modal-footer{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-2);flex-shrink:0}.badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--r-full);border:1px solid transparent;font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.badge-green{background:var(--success-soft);color:var(--success)}.badge-red{background:var(--danger-soft);color:var(--danger)}.badge-amber,.badge-yellow{background:var(--warning-soft);color:var(--warning)}.badge-gray{background:var(--surface-hover);color:var(--text-secondary)}.badge-blue{background:var(--info-soft);color:var(--info)}.badge-purple{background:var(--purple-soft);color:var(--purple)}.badge-orange{background:var(--orange-soft);color:var(--orange)}.pill{height:26px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-page);color:var(--text-muted);font-size:var(--fs-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.pill:hover{background:var(--surface-hover);color:var(--text-primary)}.pill:focus-visible{box-shadow:var(--ring-neutral);outline:none}.pill.is-active{border-color:var(--border-strong);color:var(--text-primary);font-weight:600}.kbd{min-width:16px;height:16px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-xs);background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-muted);font-size:var(--fs-xs);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.search-field{position:relative;display:flex;align-items:center;min-width:0}.search-field .form-input{padding-left:34px;padding-right:34px}.search-field-icon{position:absolute;left:11px;color:var(--text-faint);pointer-events:none;display:flex}.empty-state{padding:var(--sp-6) var(--sp-5);text-align:center;color:var(--text-muted);flex-direction:column;gap:10px}.empty-state,.empty-state-icon{display:flex;align-items:center}.empty-state-icon{width:36px;height:36px;border-radius:var(--r-lg);background:var(--surface-hover);color:var(--text-faint);justify-content:center}.empty-state-title{font-weight:600;color:var(--text-primary)}.welcome-banner{background:var(--surface-shell);border-radius:var(--r-lg);padding:var(--sp-6);margin-bottom:var(--sp-5);position:relative;overflow:hidden}.welcome-circle{width:44px;height:44px;border-radius:var(--r-full);background:var(--brand-soft);color:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}.welcome-circle span{font-size:var(--fs-xl);font-weight:700}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:var(--sp-5)}.stat-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-4);gap:var(--sp-3);min-width:0}.stat-card,.stat-icon{display:flex;align-items:center}.stat-icon{width:34px;height:34px;border-radius:var(--r-md);justify-content:center;flex-shrink:0}.stat-icon svg{width:17px;height:17px}.stat-icon-red{background:var(--brand-soft);color:var(--brand)}.stat-icon-blue{background:var(--info-soft);color:var(--info)}.stat-icon-green{background:var(--success-soft);color:var(--success)}.stat-icon-yellow{background:var(--warning-soft);color:var(--warning)}.stat-icon-purple{background:var(--purple-soft);color:var(--purple)}.stat-num{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text-primary)}.stat-label{font-size:var(--fs-sm);color:var(--text-muted)}.pagination{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.page-btn{min-width:26px;height:26px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-page);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.page-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.page-btn.active{background:var(--action);border-color:var(--action);color:var(--action-fg);font-weight:600}.page-btn:disabled{opacity:.4;cursor:not-allowed}.dt-fill{display:flex;flex-direction:column;height:100%;min-height:0}.datatable-toolbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3)}.datatable-search{position:relative;display:flex;align-items:center;flex:1 1;min-width:200px;max-width:320px}.datatable-search input{width:100%;height:32px;padding:0 10px 0 32px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-page);color:var(--text-primary);font-size:var(--fs-md);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.datatable-search input:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.datatable-search input::placeholder{color:var(--text-faint)}.datatable-search svg{position:absolute;left:10px;color:var(--text-faint);pointer-events:none}.datatable-bulkbar{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-3);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-md);font-size:var(--fs-md)}.datatable-body{overflow:auto;flex:1 1;min-height:0;background:linear-gradient(to right,var(--surface-page) 30%,transparent) 0 /28px 100% no-repeat local,linear-gradient(to left,var(--surface-page) 30%,transparent) 100% /28px 100% no-repeat local,linear-gradient(to right,rgba(0,0,0,.09),transparent) 0 /14px 100% no-repeat scroll,linear-gradient(to left,rgba(0,0,0,.09),transparent) 100% /14px 100% no-repeat scroll}.dt-checkbox{width:16px;height:16px;accent-color:var(--action);cursor:pointer}.datatable-footer{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border);font-size:var(--fs-md);color:var(--text-muted)}.datatable-footer .page-jump,.datatable-footer .page-size{display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.datatable-footer input,.datatable-footer select{height:28px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-page);color:var(--text-primary);font-size:var(--fs-sm)}.datatable-footer input:focus,.datatable-footer select:focus{outline:none;border-color:var(--brand);box-shadow:var(--ring)}.datatable-footer input.jump-input{width:54px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dt-filters{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;min-width:0;max-width:100%}.dt-filters select.form-input{width:auto!important;min-width:0;max-width:100%;padding:0 26px 0 10px;border-radius:var(--r-sm);border-color:var(--border);background-color:var(--surface-page);color:var(--text-muted);font-weight:500;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-faint) 50%),linear-gradient(135deg,var(--text-faint) 50%,transparent 50%);background-position:calc(100% - 14px),calc(100% - 10px);background-size:4px 4px,4px 4px;background-repeat:no-repeat}.dt-filters select.form-input:hover{background-color:var(--surface-hover);color:var(--text-primary)}.dt-filters select.form-input:focus{border-color:var(--text-primary);box-shadow:none}.kebab-btn{width:var(--tap);height:var(--tap);display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--r-sm);background:none;color:var(--text-faint);cursor:pointer;transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}.kebab-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.kebab-btn:focus-visible{box-shadow:var(--ring-neutral);outline:none}.menu-panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);max-height:320px;overflow-y:auto;overflow-x:hidden;padding:var(--sp-1)}.menu-item{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:var(--menu-item-h);padding:6px 9px;border:none;background:none;border-radius:var(--r-sm);color:var(--text-primary);font-size:var(--fs-md);font-weight:500;text-align:left;cursor:pointer;white-space:nowrap;transition:background-color var(--dur) var(--ease)}.menu-item:hover{background:var(--surface-hover)}.menu-item:focus-visible{box-shadow:var(--ring-neutral);outline:none}.menu-item svg{flex-shrink:0;color:var(--text-muted)}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-soft)}.dashboard-layout.sidebar-collapsed .sidebar{transform:translateX(calc(-100% - var(--sidebar-inset)))}.dashboard-layout.sidebar-collapsed .main-content{margin-left:0}.sidebar-overlay-mobile{display:none}@media (max-width:768px){:root{--topbar-h:64px}.dashboard-layout{--page-pad:14px}.sidebar{transform:translateX(calc(-100% - var(--sidebar-inset)))}.dashboard-layout.sidebar-open .sidebar{transform:translateX(0)}.main-content{margin-left:0}.sidebar-overlay-mobile{display:block;position:fixed;inset:0;background:var(--surface-scrim)}.dashboard-layout.sidebar-open .sidebar{z-index:502}.dashboard-layout.sidebar-open .sidebar-overlay-mobile{z-index:501}.icon-btn,.kebab-btn{--tap:34px}.btn-sm{height:30px;padding:0 11px}}.mobile-bottom-nav{display:none}@media (max-width:768px){.page-content{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.dashboard-layout .main-content{margin-left:0!important;padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(229,231,235,.7);z-index:500;align-items:center;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -4px 20px rgba(0,0,0,.05)}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);font-size:10px;font-weight:600;text-decoration:none;flex:1 1;height:100%;gap:3px;transition:color .15s,transform .1s ease}.mobile-nav-item svg{width:20px;height:20px;transition:transform .15s ease}.mobile-nav-item:active{transform:scale(.95)}.mobile-nav-item.active{color:var(--brand)}.mobile-nav-center-btn{flex-direction:column;text-decoration:none;flex:1 1;height:100%;margin-top:-18px;position:relative;z-index:501;gap:3px}.center-btn-inner,.mobile-nav-center-btn{display:flex;align-items:center;justify-content:center}.center-btn-inner{width:48px;height:48px;background:linear-gradient(135deg,var(--brand) 0,var(--brand-deep) 100%);border-radius:50%;box-shadow:0 4px 12px rgba(190,72,72,.4);transition:transform .15s ease;border:3px solid white}.mobile-nav-center-btn:active .center-btn-inner{transform:scale(.9)}.mobile-nav-center-btn span{font-size:10px;font-weight:600;color:var(--text-muted)}}html{scroll-behavior:smooth}section[id]{scroll-margin-top:84px}.sp-navlink{color:var(--text-muted);font-weight:600;font-size:var(--fs-base);transition:color var(--dur) var(--ease)}.sp-navlink:hover{color:var(--text-primary)}.sp-hover-card{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.sp-hover-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.sp-faq-q{transition:color var(--dur) var(--ease)}.sp-faq-q:hover{color:var(--brand)}.toast-item{animation:toast-in .22s cubic-bezier(.21,1.02,.73,1)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media (max-width:768px){.sp-nav-links{display:none!important}.sp-hero-title{font-size:var(--fs-3xl)!important}.login-brand{display:none!important}.login-mobile-logo{display:flex!important}.toast-stack{right:12px!important;left:12px!important;bottom:calc(80px + env(safe-area-inset-bottom))!important}.toast-item{min-width:0!important;width:100%}}