:root{--bg: #f3f5fb;--bg-deep: #e9edf7;--surface: #ffffff;--surface-soft: #f8fafc;--text: #101828;--text-soft: #344054;--muted: #667085;--muted-soft: #98a2b3;--border: #e4e7ec;--border-strong: #d0d5dd;--primary: #4f46e5;--primary-dark: #4338ca;--primary-soft: #eef2ff;--danger: #d92d20;--danger-soft: #fef3f2;--green: #079455;--green-soft: #ecfdf3;--amber: #dc6803;--amber-soft: #fffaeb;--blue: #1570ef;--blue-soft: #eff8ff;--violet: #7a5af8;--violet-soft: #f4f3ff;--cyan: #0e9384;--cyan-soft: #f0fdfa;--sidebar-bg: #0e1729;--sidebar-width: 268px;--topbar-height: 84px;--radius-lg: 18px;--radius-md: 12px;--radius-sm: 9px;--shadow-card: 0 1px 2px rgba(16, 24, 40, .04), 0 10px 28px -18px rgba(16, 24, 40, .28);--shadow-pop: 0 24px 60px -20px rgba(16, 24, 40, .45);--font: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: "Cascadia Code", "Consolas", "SFMono-Regular", "Liberation Mono", monospace}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}code{padding:2px 5px;border-radius:5px;background:#eef1f6;color:#344054;font-family:var(--font-mono);font-size:.88em;white-space:nowrap}::selection{background:#4f46e52e}:focus-visible{outline:2px solid rgba(79,70,229,.55);outline-offset:2px}.boot-screen{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;background:radial-gradient(700px 420px at 50% -10%,rgba(99,102,241,.16),transparent 70%),var(--bg);text-align:center}.boot-mark{display:flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(140deg,#6366f1,#4338ca);box-shadow:0 12px 26px -12px #4f46e5bf;color:#fff;font-size:24px;font-weight:800;letter-spacing:-.02em}.boot-text{color:var(--muted);font-size:14px}.boot-title{margin:8px 0 0;font-size:22px}.boot-message{max-width:520px;margin:0 0 8px;color:var(--muted)}.noscript{padding:24px;background:var(--danger-soft);color:var(--danger);text-align:center}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:50;top:0;bottom:0;left:0;display:flex;width:var(--sidebar-width);flex-direction:column;background:radial-gradient(420px 260px at 110% 0%,rgba(99,102,241,.28),transparent 65%),linear-gradient(180deg,#111c33 0%,var(--sidebar-bg) 58%,#0a1222 100%);color:#d7deeb;box-shadow:12px 0 40px -30px #020617d9}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:22px 20px 18px;cursor:pointer;user-select:none}.brand-mark{display:flex;width:42px;height:42px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:13px;background:linear-gradient(140deg,#818cf8,#4f46e5 55%,#3730a3);box-shadow:0 10px 22px -10px #6366f1f2,inset 0 1px #ffffff40;color:#fff;font-size:20px;font-weight:800;letter-spacing:-.03em}.brand-mark-lg{width:52px;height:52px;border-radius:16px;font-size:24px}.brand-text{min-width:0}.brand-name{overflow:hidden;color:#fff;font-size:15px;font-weight:700;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.brand-sub{overflow:hidden;margin-top:2px;color:#94a3b8;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{flex:1;overflow-y:auto;padding:10px 14px 18px}.nav-caption{padding:8px 10px 10px;color:#64748b;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav-item{display:flex;width:100%;align-items:center;gap:11px;margin-bottom:3px;padding:10px 11px;border:0;border-radius:10px;background:transparent;color:#b6c2d4;font-size:13.5px;font-weight:500;text-align:left;transition:background .16s ease,color .16s ease,transform .16s ease}.nav-item:hover{background:#94a3b81a;color:#fff}.nav-item-active{background:linear-gradient(100deg,#6366f1eb,#4f46e5b8);box-shadow:0 10px 24px -14px #4f46e5;color:#fff}.nav-item-active:hover{background:linear-gradient(100deg,#6366f1fa,#4f46e5d1)}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{min-width:23px;padding:1px 7px;border-radius:999px;background:#94a3b829;color:#cbd5e1;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;text-align:center}.nav-item-active .nav-count{background:#ffffff38;color:#fff}.sidebar-foot{display:flex;flex-direction:column;gap:9px;padding:16px 20px 22px;border-top:1px solid rgba(148,163,184,.12)}.sidebar-link{display:inline-flex;align-items:center;gap:8px;color:#a5b4fc;font-size:12.5px;font-weight:500}.sidebar-link:hover{color:#e0e7ff;text-decoration:none}.sidebar-version{color:#64748b;font-size:11px}.sidebar-overlay{position:fixed;z-index:45;inset:0;background:#0f172a8c;backdrop-filter:blur(2px)}.main-area{width:calc(100% - var(--sidebar-width));min-width:0;min-height:100vh;margin-left:var(--sidebar-width)}.topbar{position:sticky;z-index:30;top:0;display:flex;min-height:var(--topbar-height);align-items:center;justify-content:space-between;gap:18px;padding:14px 30px;border-bottom:1px solid rgba(228,231,236,.9);background:#ffffffd1;backdrop-filter:blur(14px)}.topbar-left{display:flex;min-width:0;align-items:center;gap:12px}.topbar-titles{min-width:0}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;margin-bottom:2px;color:var(--muted);font-size:11.5px;font-weight:500}.breadcrumb-root{padding:0;border:0;background:transparent;color:var(--muted);font-size:inherit;font-weight:600}.breadcrumb-root:hover{color:var(--primary)}.breadcrumb-sep{color:var(--muted-soft)}.topbar-title{overflow:hidden;margin:0;font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.topbar-subtitle{overflow:hidden;margin-top:1px;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.topbar-right{display:flex;flex:0 0 auto;align-items:center;gap:14px}.user-chip{display:flex;align-items:center;gap:9px;padding:5px 10px 5px 6px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.user-avatar{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(140deg,#818cf8,#4f46e5);color:#fff;font-size:13px;font-weight:700}.user-meta{line-height:1.15}.user-name{color:var(--text);font-size:12.5px;font-weight:600}.user-login{color:var(--muted);font-size:11px}.mobile-menu{display:none}.content{width:100%;max-width:1560px;margin:0 auto;padding:28px 30px 44px}.page{display:flex;flex-direction:column;gap:22px;animation:page-in .28s ease both}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-title{margin:0;font-size:26px;font-weight:750;letter-spacing:-.03em;line-height:1.2}.page-description{max-width:780px;margin:7px 0 0;color:var(--muted);font-size:13.5px}.page-head-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:9px}.page-loading{display:flex;min-height:52vh;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:var(--muted);font-size:13.5px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;font-weight:600;line-height:1;white-space:nowrap;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-sm{min-height:31px;padding:7px 11px;font-size:12.5px}.btn-md{min-height:38px;padding:10px 14px;font-size:13px}.btn-lg{min-height:46px;padding:13px 18px;font-size:14px}.btn-primary{background:linear-gradient(135deg,#5b52ec,var(--primary) 48%,var(--primary-dark));box-shadow:0 10px 20px -12px #4f46e5e6;color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#6a61f0,#4f46e5 48%,#3730a3);box-shadow:0 12px 24px -12px #4f46e5}.btn-secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text-soft)}.btn-secondary:hover:not(:disabled){border-color:#b9c0cd;background:var(--surface-soft)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-soft);color:var(--text)}.btn-danger{background:linear-gradient(135deg,#ef4444,var(--danger));box-shadow:0 10px 20px -12px #d92d20d9;color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b42318)}.icon-btn{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);transition:background .16s ease,color .16s ease}.icon-btn:hover{background:var(--surface-soft);color:var(--text)}.icon-btn-danger:hover{background:var(--danger-soft);color:var(--danger)}.link-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:var(--primary);font-size:12.5px;font-weight:600}.link-btn:hover{color:var(--primary-dark)}.link-like{color:var(--primary);font-weight:600}.spinner{display:inline-block;width:20px;height:20px;flex:0 0 auto;border:2px solid rgba(79,70,229,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.spinner-light{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.card{min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 0}.card-title{margin:0;font-size:15px;font-weight:700;letter-spacing:-.01em}.card-subtitle{margin:3px 0 0;color:var(--muted);font-size:12.5px}.card-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.card-body{padding:18px 20px 20px}.card-body-flush{padding:14px 0 0}.card-foot-actions{display:flex;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.badge{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 8px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.45;white-space:nowrap}.badge-dot{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:currentColor}.badge-muted{background:#f2f4f7;color:#475467}.badge-blue{background:var(--blue-soft);color:#175cd3}.badge-green{background:var(--green-soft);color:var(--green)}.badge-amber{background:var(--amber-soft);color:#b54708}.badge-red{background:var(--danger-soft);color:#b42318}.badge-violet{background:var(--violet-soft);color:#5925dc}.badge-cyan{background:var(--cyan-soft);color:#107569}.badge-indigo{background:var(--primary-soft);color:var(--primary-dark)}.badge-stack{display:flex;flex-wrap:wrap;gap:4px}.field{display:flex;min-width:0;flex-direction:column;gap:6px}.field-label{color:var(--text-soft);font-size:12.5px;font-weight:600}.field-required{margin-left:3px;color:var(--danger)}.input{width:100%;min-height:39px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:13.5px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input::placeholder{color:var(--muted-soft)}.input:hover:not(:disabled){border-color:#b9c0cd}.input:focus{border-color:#4f46e5bf;outline:none;box-shadow:0 0 0 3px #4f46e521}.input:disabled,.input[readonly]{background:#f8fafc;color:var(--muted)}.select-wrap{position:relative;min-width:0}.select{padding-right:34px;appearance:none}.select-icon{position:absolute;top:50%;right:11px;color:var(--muted);pointer-events:none;transform:translateY(-50%)}.textarea{min-height:110px;resize:vertical;line-height:1.55}.textarea-code{min-height:250px;background:#fbfcfe;font-family:var(--font-mono);font-size:12.5px}.field-hint,.field-message{color:var(--muted);font-size:11.5px;line-height:1.45}.field-message{color:var(--danger)}.field-error .input{border-color:#d92d2099;background:#fffbfa}.field-error .input:focus{box-shadow:0 0 0 3px #d92d201f}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 16px}.form-grid .span-2{grid-column:span 2}.form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.hint-box{margin-top:18px;padding:11px 13px;border:1px solid #e4e7ec;border-left:3px solid #98a2b3;border-radius:9px;background:var(--surface-soft);color:var(--muted);font-size:12px;line-height:1.55}.hint-box strong{color:var(--text-soft)}.hint-box code{background:#eef1f6}.hint-warn{border-left-color:var(--amber);background:var(--amber-soft);color:#93370d}.summary-list{display:flex;flex-direction:column}.summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #f1f3f7;font-size:12.5px}.summary-row:last-child{border-bottom:0}.summary-row>span{flex:0 0 auto;color:var(--muted)}.summary-row>strong{min-width:0;color:var(--text-soft);font-weight:600;overflow-wrap:anywhere;text-align:right}.summary-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);color:var(--muted);font-size:11.5px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{position:relative;overflow:hidden;padding:17px 18px;border:1px solid var(--border);border-radius:16px;background:radial-gradient(240px 140px at 110% -20%,var(--tone-soft),transparent 70%),var(--surface);box-shadow:var(--shadow-card)}.stat-card:after{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--tone),transparent 85%);content:""}.stat-indigo{--tone: #6366f1;--tone-soft: rgba(99, 102, 241, .14)}.stat-cyan{--tone: #06aed4;--tone-soft: rgba(6, 174, 212, .14)}.stat-violet{--tone: #8b5cf6;--tone-soft: rgba(139, 92, 246, .14)}.stat-green{--tone: #12b76a;--tone-soft: rgba(18, 183, 106, .14)}.stat-amber{--tone: #f79009;--tone-soft: rgba(247, 144, 9, .15)}.stat-red{--tone: #f04438;--tone-soft: rgba(240, 68, 56, .14)}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.stat-label{color:var(--muted);font-size:12px;font-weight:600}.stat-icon{display:flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:10px;background:var(--tone-soft);color:var(--tone)}.stat-value{margin-top:8px;font-size:26px;font-weight:750;letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere}.stat-hint{margin-top:4px;color:var(--muted);font-size:11.5px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:18px;align-items:start}.status-list{display:flex;flex-direction:column;gap:13px}.status-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.status-row-count{color:var(--text-soft);font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:600}.status-track{height:7px;overflow:hidden;border-radius:999px;background:#eef1f6}.status-fill{height:100%;min-width:1px;border-radius:999px;transition:width .4s ease}.status-fill-green{background:linear-gradient(90deg,#32d583,#12b76a)}.status-fill-blue{background:linear-gradient(90deg,#53b1fd,#1570ef)}.status-fill-amber{background:linear-gradient(90deg,#fdb022,#f79009)}.status-fill-red{background:linear-gradient(90deg,#f97066,#f04438)}.status-fill-muted{background:linear-gradient(90deg,#cfd4dc,#98a2b3)}.status-fill-violet{background:linear-gradient(90deg,#a48afb,#7a5af8)}.status-fill-cyan{background:linear-gradient(90deg,#2ed3b7,#0e9384)}.balance-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.balance-label{color:var(--muted);font-size:11px}.balance-value{margin-top:3px;color:var(--text);font-size:14px;font-weight:700}.week-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.week-item{display:flex;flex-direction:column;align-items:flex-start;padding:13px;border:1px solid #f0f2f7;border-radius:12px;background:var(--surface-soft)}.week-icon{display:flex;width:30px;height:30px;align-items:center;justify-content:center;margin-bottom:8px;border-radius:9px}.week-indigo{background:var(--primary-soft);color:var(--primary)}.week-violet{background:var(--violet-soft);color:var(--violet)}.week-green{background:var(--green-soft);color:var(--green)}.week-amber{background:var(--amber-soft);color:var(--amber)}.week-value{font-size:20px;font-weight:750;letter-spacing:-.03em;line-height:1.1}.week-label{margin-top:2px;color:var(--muted);font-size:11.5px}.quick-links{display:flex;flex-direction:column;gap:8px;margin-top:16px}.quick-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);text-align:left;transition:border-color .16s ease,background .16s ease}.quick-link:hover{border-color:#c7d0e0;background:var(--surface-soft)}.quick-link-icon{display:flex;width:30px;height:30px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:9px;background:var(--primary-soft);color:var(--primary)}.quick-link>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;line-height:1.2}.quick-link strong{font-size:14px;font-variant-numeric:tabular-nums}.quick-link em{margin-top:2px;color:var(--muted);font-size:11px;font-style:normal}.quick-link>.icon{color:var(--muted-soft)}.dashboard-footnote{display:flex;align-items:center;gap:8px;padding:2px 4px;color:var(--muted);font-size:11.5px}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:13px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-card)}.toolbar-search{position:relative;flex:1 1 280px;max-width:430px}.toolbar-search-icon{position:absolute;top:50%;left:11px;color:var(--muted-soft);pointer-events:none;transform:translateY(-50%)}.input-search{padding-right:34px;padding-left:36px;background:var(--surface-soft)}.toolbar-search-clear{position:absolute;top:50%;right:7px;display:flex;width:24px;height:24px;align-items:center;justify-content:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);transform:translateY(-50%)}.toolbar-search-clear:hover{background:#e9edf5;color:var(--text)}.toolbar-filter{display:flex;flex-direction:column;gap:4px}.toolbar-filter-label{padding-left:2px;color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.toolbar-filter .select{min-width:145px;background:var(--surface-soft);font-size:12.5px}.toolbar-total{display:flex;align-items:center;gap:8px;margin-left:auto;padding-bottom:4px}.count-badge{display:inline-flex;min-width:28px;height:24px;align-items:center;justify-content:center;padding:0 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:700}.count-pill{display:inline-flex;min-width:24px;height:22px;align-items:center;justify-content:center;padding:0 7px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:600}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:6px 10px;border:1px solid #d6d9ff;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:12px;font-weight:600}.filter-chip:hover{border-color:#b9bcf8;background:#e6e9ff}.filter-chip span{color:#7a5af8;font-size:14px;line-height:1}.table-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card)}.table-scroll{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.data-table th{position:sticky;z-index:2;top:0;padding:10px 14px;border-bottom:1px solid var(--border);background:#f8fafc;color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}.data-table td{padding:11px 14px;border-bottom:1px solid #f0f2f6;color:var(--text-soft);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr.clickable{cursor:pointer;transition:background .13s ease}.data-table tbody tr.clickable:hover{background:#f8faff}.data-table tbody tr.clickable:active{background:#f1f4ff}.data-table-mini{font-size:12.5px}.data-table-mini th{padding:8px 16px}.data-table-mini td{padding:9px 16px}.data-table tfoot td{border-top:1px solid var(--border);border-bottom:0;background:#f8fafc;color:var(--text-soft);font-weight:600}.skeleton-row td{padding-top:15px;padding-bottom:15px}.skeleton{display:block;width:100%;max-width:170px;height:9px;border-radius:999px;background:linear-gradient(90deg,#eef1f6 25%,#e2e7f0 37%,#eef1f6 63%);background-size:400% 100%;animation:shimmer 1.25s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.mini-empty{padding:22px 18px;color:var(--muted);font-size:12.5px;text-align:center}.align-right{text-align:right!important}.align-center{text-align:center!important}.cell-id{color:var(--muted);font-family:var(--font-mono);font-size:11.5px;white-space:nowrap}.cell-strong{color:var(--text);font-weight:600}.cell-money{color:var(--text);font-variant-numeric:tabular-nums;font-weight:650;white-space:nowrap}.mono{font-family:var(--font-mono);font-size:.94em}.muted{color:var(--muted)}.user-cell,.note-cell,.balance-cell{display:flex;min-width:0;flex-direction:column;gap:2px}.user-cell em,.note-cell em,.balance-cell em{overflow:hidden;color:var(--muted);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.balance-cell{align-items:flex-end;font-variant-numeric:tabular-nums;font-weight:600}.balance-cell em{font-weight:500}.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 15px;border-top:1px solid var(--border);background:#fbfcfe}.pagination-info{color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-page{min-width:48px;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums;text-align:center}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 20px;text-align:center}.empty-icon{display:flex;width:54px;height:54px;align-items:center;justify-content:center;margin-bottom:12px;border-radius:16px;background:var(--primary-soft);color:var(--primary)}.empty-title{color:var(--text);font-size:14px;font-weight:700}.empty-text{max-width:380px;margin-top:4px;color:var(--muted);font-size:12.5px}.alert{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid transparent;border-radius:11px;font-size:12.5px}.alert-error{border-color:#fecdca;background:var(--danger-soft);color:#912018}.alert-body{flex:1;line-height:1.5}.alert .btn{flex:0 0 auto}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.detail-head-left{min-width:0}.detail-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:8px}.detail-title{margin:0;font-size:23px;font-weight:750;letter-spacing:-.03em;line-height:1.2;overflow-wrap:anywhere}.detail-subtitle{margin-top:4px;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}.detail-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:8px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(280px,.88fr);gap:18px;align-items:start}.detail-grid-wide{grid-template-columns:minmax(0,1.6fr) minmax(270px,.8fr)}.detail-side{display:flex;min-width:0;flex-direction:column;gap:18px}.public-link-box{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.public-link-label{margin-bottom:5px;color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.public-link-row{display:flex;align-items:center;gap:9px}.public-link{min-width:0;overflow:hidden;color:var(--primary);font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.token-value{overflow-wrap:anywhere;word-break:break-all}.ua-box{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);color:var(--text-soft);font-family:var(--font-mono);font-size:11.5px;line-height:1.55;overflow-wrap:anywhere}.ext-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ext-item{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.ext-icon{display:flex;width:22px;height:22px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:7px}.ext-on .ext-icon{background:var(--green-soft);color:var(--green)}.ext-off .ext-icon{background:var(--danger-soft);color:var(--danger)}.ext-off{border-color:#fecdca;background:#fffbfa}.ext-name{flex:1;color:var(--text-soft);font-size:12px}.ext-state{color:var(--muted);font-size:10.5px;font-weight:600}.check-list{display:flex;flex-direction:column;gap:12px}.check-row{display:flex;align-items:flex-start;gap:10px}.check-icon{display:flex;width:24px;height:24px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:50%;background:var(--green-soft);color:var(--green)}.check-row>div{display:flex;flex-direction:column;gap:1px;font-size:12.5px}.check-row strong{color:var(--text-soft)}.check-row span{color:var(--muted);font-size:12px}.security-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.sys-table tfoot td{font-size:12px}.dialog-overlay{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a85;backdrop-filter:blur(3px);animation:fade-in .16s ease both}.dialog{width:100%;max-height:calc(100vh - 40px);overflow:auto;border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-pop);animation:dialog-in .2s cubic-bezier(.2,.8,.3,1) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px 0}.dialog-head h2{margin:0;font-size:17px;font-weight:700;letter-spacing:-.02em}.dialog-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.dialog-body{padding:16px 20px}.dialog-form{display:flex;flex-direction:column;gap:13px}.dialog-text{margin:0;color:var(--text-soft);font-size:13px;line-height:1.6}.dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px 18px;border-top:1px solid var(--border);background:#fbfcfe}.toasts{position:fixed;z-index:120;right:18px;bottom:18px;display:flex;width:min(370px,calc(100vw - 36px));flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 16px 40px -18px #1018288c;color:var(--text-soft);font-size:12.5px;pointer-events:auto;animation:toast-in .24s cubic-bezier(.2,.8,.3,1) both}.toast>span{flex:1}.toast-success>.icon{color:var(--green)}.toast-error>.icon{color:var(--danger)}.toast-close{display:flex;width:22px;height:22px;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted)}.toast-close:hover{background:var(--surface-soft);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.login-page{position:relative;display:flex;min-height:100vh;align-items:center;justify-content:center;overflow:hidden;padding:32px 20px;background:radial-gradient(900px 620px at 15% 10%,rgba(99,102,241,.42),transparent 62%),radial-gradient(820px 560px at 88% 85%,rgba(14,147,132,.3),transparent 60%),linear-gradient(145deg,#0b1221,#101a30 45%,#0d1526)}.login-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}.login-orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.6}.login-orb-1{top:-140px;left:-100px;width:420px;height:420px;background:#4f46e5}.login-orb-2{right:-130px;bottom:-170px;width:460px;height:460px;background:#0e9384}.login-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(ellipse at center,black 20%,transparent 76%)}.login-wrap{position:relative;z-index:1;width:100%;max-width:430px}.login-card{padding:30px;border:1px solid rgba(255,255,255,.65);border-radius:22px;background:#fffffffa;box-shadow:0 40px 90px -30px #020617d9}.login-brand{display:flex;align-items:center;gap:13px}.login-title{color:var(--text);font-size:16px;font-weight:750;letter-spacing:-.02em}.login-subtitle{margin-top:2px;color:var(--muted);font-size:11.5px}.login-heading{margin:25px 0 20px}.login-heading h1{margin:0;font-size:24px;font-weight:750;letter-spacing:-.035em}.login-heading p{margin:6px 0 0;color:var(--muted);font-size:12.5px;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:15px}.input-with-icon{position:relative}.input-with-icon>.icon{position:absolute;z-index:1;top:50%;left:12px;color:var(--muted-soft);transform:translateY(-50%)}.input-with-icon .input{padding-right:40px;padding-left:38px}.input-reveal{position:absolute;top:50%;right:6px;display:flex;width:30px;height:30px;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);transform:translateY(-50%)}.input-reveal:hover{background:var(--surface-soft);color:var(--text)}.login-error{margin:0}.login-submit{width:100%;margin-top:3px}.login-foot{display:flex;align-items:flex-start;gap:7px;margin-top:20px;padding-top:15px;border-top:1px solid var(--border);color:var(--muted);font-size:11px;line-height:1.5}.login-foot .icon{flex:0 0 auto;margin-top:1px;color:var(--green)}.login-note{margin-top:18px;color:#cbd5e1bf;font-size:11px;text-align:center}.sidebar-nav::-webkit-scrollbar,.table-scroll::-webkit-scrollbar,.dialog::-webkit-scrollbar{width:9px;height:9px}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:99px;background:#94a3b83d}.table-scroll::-webkit-scrollbar-thumb,.dialog::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:#cfd6e2;background-clip:padding-box}@media(max-width:1240px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:minmax(0,1fr)}.detail-grid,.detail-grid-wide{grid-template-columns:minmax(0,1.25fr) minmax(260px,.85fr)}}@media(max-width:1024px){.sidebar{transform:translate(-100%);transition:transform .24s cubic-bezier(.2,.8,.3,1)}.sidebar-open{transform:translate(0)}.main-area{width:100%;margin-left:0}.mobile-menu{display:inline-flex;width:36px;height:36px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text-soft)}.detail-grid,.detail-grid-wide{grid-template-columns:minmax(0,1fr)}.detail-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.topbar{min-height:72px;padding:10px 16px}.topbar-title{font-size:16px}.topbar-subtitle{display:none}.topbar-right{gap:8px}.user-meta{display:none}.user-chip{padding:3px;border:0;background:transparent}.user-avatar{width:30px;height:30px}.content{padding:18px 16px 36px}.page{gap:17px}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-title{font-size:22px}.page-head-actions{justify-content:flex-start}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat-card{padding:14px}.stat-value{font-size:22px}.detail-head{flex-direction:column;gap:12px}.detail-actions{width:100%}.detail-side{display:flex}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .span-2{grid-column:auto}.toolbar{align-items:stretch;padding:11px}.toolbar-search{max-width:none;flex-basis:100%}.toolbar-filter{flex:1 1 140px}.toolbar-filter .select{width:100%;min-width:0}.toolbar-total{flex:1 0 100%;justify-content:flex-end;padding-bottom:0}.pagination{flex-direction:column;align-items:stretch;gap:9px}.pagination-controls{justify-content:space-between}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-card{padding:24px 20px}.login-page{padding:22px 14px}.dialog-head,.dialog-body,.dialog-foot{padding-right:16px;padding-left:16px}}@media(max-width:480px){.topbar-breadcrumb{display:none}.stats-grid{grid-template-columns:minmax(0,1fr)}.balance-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-strip>div:last-child{grid-column:span 2}.ext-grid{grid-template-columns:minmax(0,1fr)}.data-table th,.data-table td{padding-right:11px;padding-left:11px}.filter-chip{max-width:100%}.public-link-row{flex-direction:column;align-items:flex-start}.security-badges{gap:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
