:root{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--gray-0:#fff;--gray-25:#fbfcfd;--gray-50:#f6f7f9;--gray-100:#eef0f3;--gray-200:#e1e5ea;--gray-300:#cbd2da;--gray-400:#9aa4b1;--gray-500:#6b7685;--gray-600:#4e5866;--gray-700:#374050;--gray-800:#232a36;--gray-900:#151a23;--primary-50:#eef4ff;--primary-100:#dae6fe;--primary-500:#2f62d6;--primary-600:#2553bd;--primary-700:#1e4497;--success-50:#ecf8f1;--success-600:#1c7c4a;--success-700:#166339;--warning-50:#fdf5e6;--warning-600:#9a6008;--danger-50:#fdeeee;--danger-500:#d23b3b;--danger-600:#b42f2f;--info-50:#eaf4fb;--info-600:#1f6f9f;--surface:var(--gray-0);--surface-muted:var(--gray-50);--page-bg:#f3f5f8;--border:var(--gray-200);--border-strong:var(--gray-300);--text:var(--gray-900);--text-secondary:var(--gray-600);--text-muted:var(--gray-500);--sidebar-bg:#141a24;--sidebar-text:#b4bdca;--sidebar-text-strong:#fff;--sidebar-hover:#ffffff0f;--sidebar-active:#5b8def2e;--sidebar-heading:#7c8798;--radius-sm:4px;--radius:6px;--radius-lg:8px;--shadow-sm:0 1px 2px #1018280d;--shadow:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-lg:0 12px 32px #10182829;--focus-ring:0 0 0 3px #2f62d647;--sidebar-w:248px;--topbar-h:52px;--control-h:34px;--control-h-sm:28px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);color:var(--text);background:var(--page-bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}h1,h2,h3,h4,p{margin:0}a{color:var(--primary-600);text-decoration:none}a:hover{text-decoration:underline}img,svg{vertical-align:middle}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}.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:300;background:var(--primary-600);color:#fff;border-radius:var(--radius);padding:8px 12px;position:absolute;top:-40px;left:12px}.skip-link:focus{top:8px}.icon{stroke-width:1.75px;flex-shrink:0;width:16px;height:16px}.icon-sm{width:14px;height:14px}.icon-lg{width:20px;height:20px}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);color:var(--sidebar-text);z-index:120;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{height:var(--topbar-h);color:var(--sidebar-text-strong);border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:0 16px;display:flex}.sidebar-brand:hover{text-decoration:none}.brand-mark{border-radius:var(--radius);background:var(--primary-500);color:#fff;letter-spacing:.02em;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.brand-name{font-size:14px;font-weight:600;line-height:1.15}.brand-name small{color:var(--sidebar-heading);font-size:11px;font-weight:400;display:block}.sidebar-nav{flex:1;padding:8px 8px 16px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.nav-section:first-child{margin-top:4px}.nav-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-heading);padding:0 10px 4px;font-size:11px;font-weight:600}.nav-link{border-radius:var(--radius);height:32px;color:var(--sidebar-text);align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:500;display:flex}.nav-link[aria-current=page]{background:var(--sidebar-active);color:var(--sidebar-text-strong)}.sidebar-footer{border-top:1px solid #ffffff12;align-items:center;gap:10px;padding:10px 12px;display:flex}.avatar{color:#dfe6f0;background:#2b3546;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:600;display:flex}.sidebar-user{flex:1;min-width:0}.sidebar-user strong{color:var(--sidebar-text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.sidebar-user span{color:var(--sidebar-heading);text-transform:capitalize;font-size:11px;display:block}.main{min-width:0;margin-left:var(--sidebar-w);flex-direction:column;flex:1;display:flex}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);z-index:90;align-items:center;gap:12px;padding:0 24px;display:flex;position:sticky;top:0}.topbar-toggle{display:none}.breadcrumbs{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;font-size:13px;display:flex}.breadcrumbs a{color:var(--text-secondary)}.breadcrumbs .sep{color:var(--gray-300)}.breadcrumbs [aria-current=page]{color:var(--text);font-weight:500}.topbar-spacer{flex:1}.content{flex:1;padding:20px 24px 40px}.content-narrow{max-width:1080px}.sidebar-overlay{display:none}@media (width<=960px){.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.is-open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar-overlay.is-open{z-index:110;background:#0f141e73;display:block;position:fixed;inset:0}.main{margin-left:0}.topbar{padding:0 16px}.topbar-toggle{display:inline-flex}.content{padding:16px 16px 32px}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.page-title{color:var(--text);font-size:20px;font-weight:600;line-height:1.25}.page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{height:var(--control-h);border-radius:var(--radius);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--primary-600);color:#fff}.btn-primary:hover{background:var(--primary-700)}.btn-secondary{background:var(--surface);color:var(--gray-800);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--gray-50)}.btn-ghost{color:var(--gray-700);background:0 0}.btn-ghost:hover{background:var(--gray-100)}.btn-danger{background:var(--danger-600);color:#fff}.btn-danger:hover{background:#962626}.btn-danger-ghost{color:var(--danger-600);background:0 0}.btn-danger-ghost:hover{background:var(--danger-50)}.btn-sm{height:var(--control-h-sm);padding:0 9px;font-size:12px}.btn-icon{width:var(--control-h);color:var(--gray-600);background:0 0;padding:0}.btn-icon:hover{background:var(--gray-100);color:var(--gray-900)}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn.is-loading{position:relative;color:#0000!important}.btn.is-loading:after{content:"";border:2px solid #fff9;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;position:absolute}.btn-secondary.is-loading:after,.btn-ghost.is-loading:after{border-color:var(--gray-400);border-top-color:#0000}@keyframes spin{to{transform:rotate(360deg)}}.btn-group{flex-wrap:wrap;gap:6px;display:inline-flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel+.panel{margin-top:16px}.panel-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.panel-title{font-size:14px;font-weight:600}.panel-subtitle{color:var(--text-muted);margin-top:1px;font-size:12px}.panel-body{padding:16px}.panel-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.stack>*+*{margin-top:16px}.row{flex-wrap:wrap;gap:16px;display:flex}.row>.col{flex:320px;min-width:0}.row>.col-wide{flex:2 480px;min-width:0}.stats{flex-wrap:wrap;gap:12px;margin-bottom:16px;display:flex}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);flex:180px;padding:12px 14px}.stat-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.stat-value{font-variant-numeric:tabular-nums;margin-top:4px;font-size:20px;font-weight:600}.stat-meta{color:var(--text-muted);margin-top:2px;font-size:12px}.form-section+.form-section{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.form-section-title{color:var(--gray-800);margin-bottom:12px;font-size:13px;font-weight:600}.fields{flex-wrap:wrap;margin:0 -8px;display:flex}.field{flex:0 0 50%;min-width:0;max-width:50%;margin-bottom:14px;padding:0 8px}.field-full{flex-basis:100%;max-width:100%}.field-third{flex-basis:33.333%;max-width:33.333%}@media (width<=720px){.field,.field-third{flex-basis:100%;max-width:100%}}.label{color:var(--gray-700);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.label .req{color:var(--danger-600);margin-left:2px}.hint{color:var(--text-muted);margin-top:4px;font-size:12px}.field-error{color:var(--danger-600);margin-top:4px;font-size:12px}.input,.select,.textarea{width:100%;height:var(--control-h);border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:0 10px;font-size:13px;transition:border-color .12s,box-shadow .12s;display:block}.textarea{resize:vertical;height:auto;min-height:84px;padding:8px 10px;line-height:1.5}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7685' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;padding-right:30px}.select[multiple]{background-image:none;height:auto;min-height:96px;padding:6px}.input:focus,.select:focus,.textarea:focus{border-color:var(--primary-500);box-shadow:var(--focus-ring);outline:none}.input[readonly],.input:disabled,.select:disabled,.textarea[readonly]{background:var(--gray-50);color:var(--text-secondary)}.is-invalid{border-color:var(--danger-500)!important}.is-invalid:focus{box-shadow:0 0 0 3px #d23b3b33!important}.input-sm,.select-sm{height:var(--control-h-sm);font-size:12px}.input-group{display:flex}.input-group .input{border-top-right-radius:0;border-bottom-right-radius:0}.input-addon{border:1px solid var(--border-strong);border-radius:0 var(--radius) var(--radius) 0;background:var(--gray-50);color:var(--text-secondary);border-left:0;align-items:center;padding:0 10px;font-size:12px;display:flex}.check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--primary-600);margin:0}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.alert{border-radius:var(--radius);border:1px solid;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 12px;font-size:13px;display:flex}.alert .icon{margin-top:1px}.alert-body{flex:1;min-width:0}.alert-body ul{margin:4px 0 0;padding-left:18px}.alert-success{background:var(--success-50);color:var(--success-700);border-color:#bfe3cd}.alert-error{background:var(--danger-50);color:#8f2424;border-color:#f2c2c2}.alert-warning{background:var(--warning-50);color:#7a4c06;border-color:#efd8a8}.alert-info{background:var(--info-50);color:#19587e;border-color:#bcdcef}.alert .btn-icon{width:24px;height:24px;color:inherit}.badge{white-space:nowrap;background:var(--gray-100);height:20px;color:var(--gray-700);border-radius:10px;align-items:center;gap:4px;padding:0 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-warning{background:var(--warning-50);color:var(--warning-600)}.badge-danger{background:var(--danger-50);color:var(--danger-600)}.badge-info{background:var(--info-50);color:var(--info-600)}.badge-primary{background:var(--primary-50);color:var(--primary-700)}.dt{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel .dt{box-shadow:none;border:0;border-radius:0}.dt-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.dt-search{flex:220px;max-width:320px;position:relative}.dt-search .icon{color:var(--gray-400);pointer-events:none;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.dt-search .input{padding-left:30px}.dt-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dt-filters .select,.dt-filters .input{width:auto;min-width:140px}.dt-toolbar-end{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.dt-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table caption{text-align:left}.table th,.table td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--gray-100);padding:8px 12px}.table thead th{background:var(--gray-50);color:var(--gray-600);white-space:nowrap;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;position:sticky;top:0}.table tbody tr:hover{background:var(--gray-25)}.table tbody tr:last-child td{border-bottom:0}.table tfoot td,.table tfoot th{background:var(--gray-50);border-top:1px solid var(--border);border-bottom:0;font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .nowrap{white-space:nowrap}.table .actions{text-align:right;white-space:nowrap;width:1%}.table .cell-primary{color:var(--text);font-weight:500}.table .cell-sub{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.table .muted{color:var(--text-muted)}.table .truncate{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.th-sort{color:inherit;align-items:center;gap:4px;display:inline-flex}.th-sort:hover{color:var(--text);text-decoration:none}.th-sort .icon{width:13px;height:13px;color:var(--gray-400)}.table-compact th,.table-compact td{padding:6px 10px}.row-actions{justify-content:flex-end;align-items:center;gap:2px;display:inline-flex}.row-actions form{margin:0;display:inline}.dt-footer{border-top:1px solid var(--border);color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex}.dt-footer .select{width:auto;display:inline-block}.pagination{flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pagination a,.pagination span{border-radius:var(--radius);min-width:28px;height:28px;color:var(--gray-700);border:1px solid var(--border);background:var(--surface);justify-content:center;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.pagination a:hover{background:var(--gray-50);text-decoration:none}.pagination [aria-current=page] span{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.pagination .disabled span{color:var(--gray-400);background:var(--gray-50)}.empty{text-align:center;color:var(--text-secondary);padding:40px 16px}.empty .icon{width:28px;height:28px;color:var(--gray-400);margin-bottom:8px}.empty-title{color:var(--gray-800);font-size:14px;font-weight:600}.empty-text{margin-top:4px;font-size:13px}.empty .btn{margin-top:12px}.dl{flex-wrap:wrap;margin:0;display:flex}.dl-item{border-bottom:1px solid var(--gray-100);flex:0 0 50%;min-width:0;max-width:50%;padding:8px 12px 8px 0}.dl-item-full{flex-basis:100%;max-width:100%}.dl dt{color:var(--text-muted);margin-bottom:2px;font-size:12px}.dl dd{color:var(--text);word-break:break-word;margin:0;font-size:13px}@media (width<=720px){.dl-item{flex-basis:100%;max-width:100%}}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:16px;display:flex;overflow-x:auto}.tab{color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 12px;font-size:13px;font-weight:500;display:inline-flex}.tab:hover{color:var(--text);text-decoration:none}.tab[aria-selected=true],.tab[aria-current=page]{color:var(--primary-700);border-bottom-color:var(--primary-600)}.tab-count{background:var(--gray-100);color:var(--gray-600);border-radius:8px;padding:1px 6px;font-size:11px}dialog.modal{border-radius:var(--radius-lg);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);color:var(--text);border:0;padding:0}dialog.modal-lg{width:min(760px,100vw - 32px)}dialog.modal::backdrop{background:#0f141e73}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.modal-title{font-size:15px;font-weight:600}.modal-body{max-height:calc(100vh - 200px);padding:16px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--gray-25);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.dropdown{display:inline-block;position:relative}.dropdown-menu{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow-lg);padding:4px;position:absolute;top:calc(100% + 4px);right:0}.dropdown-menu[hidden]{display:none}.dropdown-item{border-radius:var(--radius-sm);width:100%;color:var(--gray-800);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.dropdown-item:hover,.dropdown-item:focus{background:var(--gray-100);text-decoration:none}.dropdown-item.is-danger{color:var(--danger-600)}.muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-600)}.text-danger{color:var(--danger-600)}.text-right{text-align:right}.mono{font-family:var(--font-mono);font-size:12px}.tabular{font-variant-numeric:tabular-nums}.mt-0{margin-top:0!important}.mb-16{margin-bottom:16px}.flex{display:flex}.items-center{align-items:center}.gap-8{gap:8px}.wrap{flex-wrap:wrap}.divider{border:0;border-top:1px solid var(--border);margin:16px 0}.progress{background:var(--gray-100);border-radius:3px;min-width:60px;height:6px;overflow:hidden}.progress>span{background:var(--primary-500);height:100%;display:block}.currency-totals{flex-direction:column;gap:2px;display:flex}.kv{border-bottom:1px solid var(--gray-100);justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;display:flex}.kv:last-child{border-bottom:0}.kv span:first-child{color:var(--text-secondary)}.kv strong{font-variant-numeric:tabular-nums}.auth{background:var(--page-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow);padding:28px 24px}.auth-brand{align-items:center;gap:10px;margin-bottom:20px;display:flex}.auth-brand .brand-name small{color:var(--text-muted)}@media print{.sidebar,.topbar,.page-actions,.dt-toolbar,.dt-footer,.row-actions{display:none!important}.main{margin-left:0}body{background:#fff}}.nav-items{flex-direction:column;gap:1px;display:flex}.nav-toggle{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:4px 10px;display:flex}.nav-toggle:hover{color:var(--sidebar-text-strong);background:var(--sidebar-hover)}.topbar-app{font-size:12px}.crumb{align-items:center;gap:6px;display:inline-flex}.th-sort{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.th-sort .icon{color:var(--gray-400)}th[aria-sort] .th-sort .icon{color:var(--primary-600)}.pagination button{border-radius:var(--radius);min-width:28px;height:28px;color:var(--gray-700);border:1px solid var(--border);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;font-size:12px;display:inline-flex}.pagination button:hover:not(:disabled){background:var(--gray-50)}.pagination button:disabled{color:var(--gray-400);background:var(--gray-50);cursor:not-allowed}.dt.is-loading .dt-scroll{opacity:.55;transition:opacity .15s}.dt-filter{align-items:center;gap:6px;display:flex}.dt-filter-label{color:var(--text-secondary);font-size:12px}.stat-link{color:inherit;text-decoration:none;transition:border-color .12s}.stat-link:hover{border-color:var(--primary-500);text-decoration:none}.stat-pair{flex-wrap:wrap;flex:100%;gap:12px;display:flex}.input-file{padding-top:5px}.fields-stack .field{padding:0}.fields-stack{margin:0}.auth-card .btn-primary{width:100%;height:38px}.plain-fieldset{border:0;min-width:0;margin:0;padding:0}.check-list{flex-direction:column;gap:8px;max-height:360px;display:flex;overflow-y:auto}.timer-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.timer-row .input{flex:240px}.timer{font-variant-numeric:tabular-nums;margin-left:8px;font-size:20px;font-weight:600}.logo-preview{border:1px solid var(--border);background:#fff;border-radius:6px;max-height:56px;padding:4px}.page-header+.tabs,.stats+.stats{margin-top:-4px}:root{--sidebar-w:252px;--sidebar-w-compact:64px;--sidebar-bg:#fff;--sidebar-border:var(--gray-200);--sidebar-text:var(--gray-700);--sidebar-text-strong:var(--gray-900);--sidebar-heading:var(--gray-500);--sidebar-hover:var(--gray-100);--sidebar-active-bg:var(--primary-50);--sidebar-active-text:var(--primary-700)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);transition:width .18s,transform .2s}.sidebar-brand{border-bottom:1px solid var(--sidebar-border);color:var(--sidebar-text-strong);justify-content:space-between;gap:8px;padding:0 10px 0 14px}.brand-link{color:var(--sidebar-text-strong);align-items:center;gap:10px;min-width:0;display:flex}.brand-link:hover{text-decoration:none}.brand-mark{background:var(--primary-600);flex-shrink:0}.brand-name{white-space:nowrap;overflow:hidden}.brand-name small{color:var(--sidebar-heading)}.sidebar-collapse{color:var(--gray-500);flex-shrink:0}.sidebar-collapse:hover{background:var(--gray-100);color:var(--gray-900)}.sidebar-nav{padding:10px 10px 16px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--gray-200)}.nav-section{margin-top:6px}.nav-section:first-child{border-bottom:1px solid var(--gray-100);margin-top:0;padding-bottom:6px}.nav-group{border-radius:var(--radius);letter-spacing:.06em;text-transform:uppercase;width:100%;height:30px;color:var(--sidebar-heading);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;margin-top:4px;padding:0 8px;font-size:11px;font-weight:600;display:flex}.nav-group:hover{background:var(--sidebar-hover);color:var(--gray-700)}.nav-group .nav-chevron{color:var(--gray-400);transition:transform .15s;transform:rotate(-90deg)}.nav-section.is-open .nav-group .nav-chevron{transform:rotate(0)}.nav-section.has-active:not(.is-open) .nav-group{color:var(--primary-700)}.nav-items{flex-direction:column;gap:2px;padding:2px 0 4px;display:flex}.nav-link{border-radius:var(--radius);height:34px;color:var(--sidebar-text);align-items:center;gap:10px;padding:0 10px;font-size:13.5px;font-weight:500;display:flex;position:relative}.nav-link .icon{color:var(--gray-500);flex-shrink:0}.nav-link:hover{background:var(--sidebar-hover);color:var(--sidebar-text-strong);text-decoration:none}.nav-link:hover .icon{color:var(--gray-700)}.nav-link[aria-current=page]{background:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:600}.nav-link[aria-current=page] .icon{color:var(--primary-600)}.nav-link[aria-current=page]:before{content:"";background:var(--primary-600);border-radius:0 3px 3px 0;width:3px;position:absolute;top:7px;bottom:7px;left:-10px}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.nav-divider{background:var(--gray-100);height:1px;margin:8px 6px}.sidebar-footer{border-top:1px solid var(--sidebar-border);background:var(--gray-25)}.avatar{background:var(--primary-100);color:var(--primary-700)}.sidebar-user strong{color:var(--sidebar-text-strong)}.sidebar-user span{color:var(--sidebar-heading)}.sidebar-footer .btn-icon{color:var(--gray-500)}.sidebar-footer .btn-icon:hover{background:var(--gray-100);color:var(--danger-600)}.main{transition:margin-left .18s}@media (width>=961px){.app.is-compact .sidebar{width:var(--sidebar-w-compact)}.app.is-compact .main{margin-left:var(--sidebar-w-compact)}.app.is-compact .sidebar-brand{height:auto;min-height:var(--topbar-h);flex-direction:column;justify-content:center;gap:2px;padding:4px 0}.app.is-compact .brand-name,.app.is-compact .nav-label,.app.is-compact .sidebar-user,.app.is-compact .nav-group{display:none}.app.is-compact .sidebar-nav{padding:8px}.app.is-compact .nav-link{justify-content:center;width:44px;margin:0 auto;padding:0}.app.is-compact .nav-link[aria-current=page]:before{left:-8px}.app.is-compact .sidebar-footer{flex-direction:column;gap:6px;padding:8px 0}}@media (width<=960px){.sidebar-collapse{display:none}.sidebar{box-shadow:none}.sidebar.is-open{box-shadow:var(--shadow-lg)}}.table th.actions,.table td.actions{background:var(--surface);position:sticky;right:0;box-shadow:-6px 0 6px -6px #1018281f}.table thead th.actions{background:var(--gray-50)}.table tbody tr:hover td.actions{background:var(--gray-25)}
