:root{--bg: #eef1f6;--surface: #ffffff;--surface-2: #f7f9fc;--surface-3: #eef2f8;--sidebar: #0f172a;--sidebar-hover: #1e293b;--sidebar-active:#1d4ed8;--border: #dbe1ea;--border-strong: #c3ccd9;--text: #16202f;--text-2: #4a5768;--text-3: #7b8797;--text-invert: #f8fafc;--primary: #1d4ed8;--primary-hover: #1a43ba;--primary-soft: #e8efff;--success: #0f7b45;--success-hover: #0b6338;--success-soft: #e3f5ec;--warning: #a45c00;--warning-soft: #fdf1dd;--danger: #c0342c;--danger-hover: #a12922;--danger-soft: #fdeceb;--info: #0b6b8a;--info-soft: #e2f2f8;--radius: 6px;--radius-lg: 9px;--control-h: 30px;--row-h: 28px;--sidebar-w: 232px;--sidebar-collapsed-w: 58px;--topbar-h: 48px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow: 0 3px 10px rgba(16, 24, 40, .09);--shadow-lg: 0 14px 42px rgba(16, 24, 40, .2);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "SF Mono", ui-monospace, "JetBrains Mono", Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:13px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5{margin:0;font-weight:600;letter-spacing:-.011em}button,input,select,textarea{font:inherit;color:inherit}.num,.amount,input[type=number],td.num,th.num{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c6cedb;border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#a9b4c5;background-clip:content-box}:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-radius:3px}.field-input:focus-visible,.btn:focus-visible{outline-offset:2px}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:var(--sidebar-w);flex:none;background:var(--sidebar);color:#cbd5e1;display:flex;flex-direction:column;transition:width .16s ease;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-w)}.sidebar-brand{height:var(--topbar-h);display:flex;align-items:center;gap:9px;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.08);flex:none}.sidebar-brand .mark{width:26px;height:26px;flex:none;border-radius:6px;background:var(--sidebar-active);display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px}.sidebar-brand .name{font-weight:650;color:#fff;font-size:14px;white-space:nowrap}.sidebar-brand .sub{font-size:10px;color:#7d8ba1;white-space:nowrap}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0 14px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff29;background-clip:content-box}.nav-group-label{padding:12px 14px 5px;font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#64748b;white-space:nowrap}.sidebar.collapsed .nav-group-label{text-align:center;padding-left:0;padding-right:0;font-size:0}.sidebar.collapsed .nav-group-label:after{content:"•";font-size:11px}.nav-item{display:flex;align-items:center;gap:10px;padding:0 14px;height:32px;color:#cbd5e1;text-decoration:none;font-size:12.5px;border-left:2px solid transparent;white-space:nowrap;cursor:pointer;background:none;border-top:0;border-right:0;border-bottom:0;width:100%;text-align:left}.nav-item:hover{background:var(--sidebar-hover);color:#fff}.nav-item.active{background:#1d4ed830;color:#fff;border-left-color:var(--sidebar-active);font-weight:550}.nav-item .ico{width:16px;flex:none;display:grid;place-items:center;opacity:.9}.sidebar.collapsed .nav-item{justify-content:center;padding:0}.sidebar.collapsed .nav-item .label{display:none}.nav-item .shortcut{margin-left:auto;font-size:9.5px;color:#64748b;font-family:var(--mono)}.sidebar.collapsed .nav-item .shortcut{display:none}.sidebar-build{flex:none;padding:8px 14px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;color:#64748b;white-space:nowrap}.sidebar-build .v{color:#94a3b8;font-weight:600}.sidebar-build .e{color:#f59e0b}.sidebar.collapsed .sidebar-build{justify-content:center;padding:8px 4px;font-size:9px}.login-build{margin-top:16px;display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11px;color:var(--text-3)}.login-build .sep{opacity:.5}.login-build .env{color:var(--warning);font-weight:600}.main-col{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:var(--topbar-h);flex:none;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:0 14px}.topbar .icon-btn{width:28px;height:28px;display:grid;place-items:center;border:1px solid transparent;background:none;border-radius:var(--radius);cursor:pointer;color:var(--text-2)}.topbar .icon-btn:hover{background:var(--surface-3);color:var(--text)}.company-chip{display:flex;flex-direction:column;line-height:1.25;min-width:0}.company-chip .cname{font-weight:650;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-chip .cmeta{font-size:10.5px;color:var(--text-3);white-space:nowrap}.global-search{position:relative;margin-left:auto;width:min(330px,34vw)}.global-search input{width:100%;height:28px;padding:0 62px 0 30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:12.5px}.global-search input:focus{background:var(--surface);border-color:var(--primary)}.global-search .s-ico{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.global-search .s-kbd{position:absolute;right:7px;top:50%;transform:translateY(-50%);pointer-events:none}.topbar-user{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 4px;border:1px solid transparent;border-radius:var(--radius);background:none;cursor:pointer}.topbar-user:hover{background:var(--surface-3)}.avatar{width:26px;height:26px;flex:none;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:650}.topbar-user .uname{font-size:12.5px;font-weight:550;line-height:1.2}.topbar-user .urole{font-size:10px;color:var(--text-3);line-height:1.2}.content-scroll{flex:1;overflow-y:auto;overflow-x:hidden}.page{padding:14px 16px 44px;max-width:1720px}.breadcrumbs{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-3);padding:7px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);flex:none}.breadcrumbs a{color:var(--text-2);text-decoration:none}.breadcrumbs a:hover{color:var(--primary);text-decoration:underline}.breadcrumbs .sep{color:var(--border-strong)}.breadcrumbs .current{color:var(--text);font-weight:550}.page-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px;flex-wrap:wrap}.page-head h1{font-size:18px;letter-spacing:-.02em}.page-head .sub{font-size:12px;color:var(--text-3);margin-top:1px}.page-head .actions{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;min-width:0}.card+.card{margin-top:12px}.card-head{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px solid var(--border)}.card-head h2,.card-head h3{font-size:12.5px;font-weight:650}.card-head .sub{font-size:11px;color:var(--text-3)}.card-head .right{margin-left:auto;display:flex;gap:6px;align-items:center}.card-body{padding:13px}.card-body.tight{padding:0}.card-foot{padding:9px 13px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h);padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:12.5px;font-weight:550;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,box-shadow .12s}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--text-3)}.btn:active:not(:disabled){transform:translateY(.5px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-hover);border-color:var(--success-hover);color:#fff}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover);color:#fff}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:var(--border);color:inherit}.btn-ghost.text-danger:hover:not(:disabled){background:var(--danger-soft);border-color:#f4c4c1;color:var(--danger)}.btn-sm{height:25px;padding:0 9px;font-size:11.5px}.btn-icon{width:var(--control-h);padding:0}.btn-icon.btn-sm{width:25px}.btn-block{width:100%}.kbd{display:inline-block;min-width:17px;padding:1px 4px;font-family:var(--mono);font-size:9.5px;line-height:1.35;text-align:center;color:var(--text-3);background:var(--surface-3);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px}.btn .kbd{background:#ffffff29;border-color:#ffffff40;color:inherit;opacity:.8}.btn-primary .kbd,.btn-success .kbd,.btn-danger .kbd{color:#fff}.btn:not(.btn-primary):not(.btn-success):not(.btn-danger) .kbd{background:var(--surface-3);border-color:var(--border);color:var(--text-3)}.form-grid{display:grid;gap:10px 12px}.form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-full{grid-column:1 / -1}.field{display:flex;flex-direction:column;gap:3px;min-width:0}.field-label{font-size:11px;font-weight:550;color:var(--text-2);display:flex;align-items:center;gap:4px}.field-label .req{color:var(--danger)}.field-label .hint{margin-left:auto;font-size:10px;color:var(--text-3);font-weight:400}.field-input{height:var(--control-h);padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-size:12.5px;width:100%;min-width:0;transition:border-color .12s,box-shadow .12s}.field-input:hover:not(:disabled):not(:focus){border-color:var(--text-3)}.field-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.field-input:disabled,.field-input[readonly]{background:var(--surface-3);color:var(--text-2);cursor:not-allowed}.field-input[readonly]:focus{box-shadow:none;border-color:var(--border-strong)}textarea.field-input{height:auto;min-height:58px;padding:6px 8px;resize:vertical;line-height:1.5}select.field-input{cursor:pointer;padding-right:4px}.field-input.right{text-align:right}.field-input.mono{font-family:var(--mono)}.field.invalid .field-input{border-color:var(--danger)}.field.invalid .field-input:focus{box-shadow:0 0 0 3px var(--danger-soft)}.field-error{font-size:10.5px;color:var(--danger);display:flex;align-items:center;gap:3px}.field-help{font-size:10.5px;color:var(--text-3)}.checkbox-row{display:flex;align-items:center;gap:7px;min-height:var(--control-h)}.checkbox-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);cursor:pointer}.checkbox-row label{font-size:12.5px;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-bar{display:flex;gap:9px;align-items:flex-end;flex-wrap:wrap;padding:11px 13px;background:var(--surface-2);border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.filter-bar .field{min-width:128px}.filter-bar .field.grow{flex:1;min-width:190px}.filter-bar .spacer{margin-left:auto}.table-wrap{overflow:auto;max-height:100%}.table-wrap.scroll-y{max-height:62vh}table.data{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}table.data thead th{position:sticky;top:0;z-index:3;background:var(--surface-3);padding:0 9px;height:30px;text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.045em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--border-strong);white-space:nowrap}table.data thead th.num{text-align:right}table.data thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}table.data thead th.sortable:hover{color:var(--primary)}table.data thead th .sort-ico{opacity:.55;margin-left:3px}table.data tbody td{padding:0 9px;height:var(--row-h);border-bottom:1px solid var(--border);vertical-align:middle;white-space:nowrap}table.data tbody td.num{text-align:right}table.data tbody td.wrap{white-space:normal}table.data tbody tr:hover td{background:var(--surface-2)}table.data tbody tr.selected td{background:var(--primary-soft)}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr.muted td{color:var(--text-3)}table.data tbody tr.danger-row td{background:var(--danger-soft)}table.data tfoot td{position:sticky;bottom:0;z-index:2;background:var(--surface-3);font-weight:700;padding:0 9px;height:30px;border-top:2px solid var(--border-strong);white-space:nowrap}table.data tfoot td.num{text-align:right}.table-actions{display:flex;gap:3px;justify-content:flex-end}.row-index{color:var(--text-3);font-variant-numeric:tabular-nums}table.data td.cell-id{max-width:0;width:100%;overflow:hidden;text-overflow:ellipsis}table.data td.cell-id>*{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-strong{font-weight:600}.cell-sub{display:block;font-size:10.5px;color:var(--text-3)}.cell-link{color:var(--primary);text-decoration:none;font-weight:550}.cell-link:hover{text-decoration:underline}.txn-grid-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius)}.txn-scroll-pad{padding-bottom:8px}table.txn-grid{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px}table.txn-grid thead th{position:sticky;top:0;z-index:3;background:var(--surface-3);height:27px;padding:0 6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid var(--border-strong);white-space:nowrap;text-align:left}table.txn-grid thead th.num{text-align:right}table.txn-grid tbody td{padding:0;height:29px;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}table.txn-grid tbody td:last-child{border-right:0}table.txn-grid tbody tr:hover td{background:#fbfcfe}table.txn-grid tbody tr.active-row td{background:var(--primary-soft)}.grid-input{width:100%;height:100%;border:0;background:transparent;padding:0 6px;font-size:12.5px;outline:none}.grid-input:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--primary);border-radius:2px}.grid-input.num{text-align:right;font-variant-numeric:tabular-nums}.grid-input:disabled,.grid-input[readonly]{background:var(--surface-2);color:var(--text-2)}.grid-cell-static{padding:0 6px;display:flex;align-items:center;height:100%}.grid-cell-static.num{justify-content:flex-end;font-variant-numeric:tabular-nums}.grid-foot-note{padding:6px 9px;font-size:11px;color:var(--text-3);background:var(--surface-2);border-top:1px solid var(--border);display:flex;gap:14px;flex-wrap:wrap;align-items:center}.txn-totals{position:sticky;bottom:0;background:var(--surface);border-top:2px solid var(--border-strong);box-shadow:0 -3px 14px #10182812;z-index:5}.totals-grid{display:grid;grid-template-columns:1fr 300px;gap:14px;padding:11px 13px}.totals-list{display:flex;flex-direction:column;gap:1px}.totals-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12.5px}.totals-row .lbl{color:var(--text-2)}.totals-row .val{font-variant-numeric:tabular-nums;font-weight:550}.totals-row.subtle .lbl,.totals-row.subtle .val{color:var(--text-3);font-weight:400}.totals-row.grand{margin-top:5px;padding:8px 10px;background:var(--sidebar);color:#fff;border-radius:var(--radius);font-size:15px;font-weight:700}.totals-row.grand .lbl{color:#ffffffc7;font-size:12px}.totals-row.balance{font-weight:700;color:var(--danger)}.totals-row.balance.settled{color:var(--success)}.pill{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:20px;font-size:10.5px;font-weight:650;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;border:1px solid transparent}.pill.neutral{background:var(--surface-3);color:var(--text-2);border-color:var(--border-strong)}.pill.success{background:var(--success-soft);color:var(--success);border-color:#b6e2cb}.pill.warning{background:var(--warning-soft);color:var(--warning);border-color:#f1d9ae}.pill.danger{background:var(--danger-soft);color:var(--danger);border-color:#f4c4c1}.pill.info{background:var(--info-soft);color:var(--info);border-color:#b8dfec}.pill.primary{background:var(--primary-soft);color:var(--primary);border-color:#c2d6ff}.pill .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:11px 12px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, var(--primary))}.kpi .k-label{font-size:10.5px;font-weight:650;letter-spacing:.045em;text-transform:uppercase;color:var(--text-3);display:flex;align-items:center;gap:5px}.kpi .k-value{font-size:21px;font-weight:700;letter-spacing:-.025em;margin-top:4px;font-variant-numeric:tabular-nums;line-height:1.15}.kpi .k-meta{font-size:11px;color:var(--text-3);margin-top:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0f172a6b;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;animation:fade .12s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-height:86vh;display:flex;flex-direction:column;animation:rise .14s ease}.modal.sm{max-width:420px}.modal.md{max-width:620px}.modal.lg{max-width:860px}.modal.xl{max-width:1080px}.modal-head{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);flex:none}.modal-head h3{font-size:14px}.modal-head .sub{font-size:11.5px;color:var(--text-3)}.modal-head .close{margin-left:auto}.modal-body{padding:14px;overflow-y:auto;flex:1}.modal-body.tight{padding:0}.modal-foot{padding:11px 14px;border-top:1px solid var(--border);background:var(--surface-2);display:flex;align-items:center;gap:8px;border-radius:0 0 var(--radius-lg) var(--radius-lg);flex:none}.modal-foot .spacer{margin-left:auto}.picker-search{padding:11px 14px;border-bottom:1px solid var(--border)}.picker-list{max-height:52vh;overflow-y:auto}.picker-list table.data thead th{top:0}.picker-hint{padding:7px 14px;font-size:11px;color:var(--text-3);background:var(--surface-2);border-top:1px solid var(--border);display:flex;gap:14px;flex-wrap:wrap;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.toast-stack{position:fixed;right:16px;bottom:16px;z-index:400;display:flex;flex-direction:column;gap:8px;max-width:380px}.toast{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);box-shadow:var(--shadow);animation:slide .16s ease}@keyframes slide{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.warning{border-left-color:var(--warning)}.toast .t-body{flex:1;min-width:0}.toast .t-title{font-weight:600;font-size:12.5px}.toast .t-msg{font-size:12px;color:var(--text-2);margin-top:1px;word-break:break-word}.toast .t-close{background:none;border:0;cursor:pointer;color:var(--text-3);padding:0 2px;line-height:1}.skeleton{background:linear-gradient(90deg,var(--surface-3) 25%,#e6ebf3 37%,var(--surface-3) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite;border-radius:4px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-line{height:11px;margin:7px 0}.skeleton-row{height:var(--row-h);margin:0;border-radius:0;border-bottom:1px solid var(--border)}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:44px 20px;text-align:center}.state-block .s-ico{width:42px;height:42px;border-radius:50%;background:var(--surface-3);color:var(--text-3);display:grid;place-items:center;margin-bottom:3px}.state-block .s-title{font-weight:600;font-size:13.5px}.state-block .s-msg{font-size:12px;color:var(--text-3);max-width:400px;line-height:1.55}.state-block.error .s-ico{background:var(--danger-soft);color:var(--danger)}.spinner{width:15px;height:15px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .6s linear infinite;flex:none}.spinner.on-dark{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.divider{height:1px;background:var(--border);margin:11px 0}.v-divider{width:1px;align-self:stretch;background:var(--border)}.muted{color:var(--text-3)}.small{font-size:11.5px}.strong{font-weight:650}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.right{text-align:right}.center{text-align:center}.flex{display:flex}.items-center{align-items:center}.gap-6{gap:6px}.gap-10{gap:10px}.ml-auto{margin-left:auto}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.nowrap{white-space:nowrap}.pagination{display:flex;align-items:center;gap:8px;padding:9px 13px;border-top:1px solid var(--border);font-size:12px;color:var(--text-2)}.pagination .pages{margin-left:auto;display:flex;gap:4px;align-items:center}.summary-strip{display:flex;gap:20px;flex-wrap:wrap;padding:8px 13px;background:var(--surface-2);border-top:1px solid var(--border);font-size:12px}.summary-strip .s-item{display:flex;gap:6px;align-items:baseline}.summary-strip .s-label{color:var(--text-3)}.summary-strip .s-value{font-weight:650;font-variant-numeric:tabular-nums}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 13px}.tab{padding:8px 12px;font-size:12.5px;font-weight:550;color:var(--text-2);background:none;border:0;border-bottom:2px solid transparent;cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.shortcut-table{width:100%;font-size:12.5px}.shortcut-table td{padding:4px 0;border-bottom:1px solid var(--border)}.shortcut-table td:last-child{text-align:right}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 440px;background:var(--sidebar)}.login-aside{padding:46px 52px;color:#cbd5e1;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(1100px 500px at 12% 0%,rgba(29,78,216,.3),transparent 62%),radial-gradient(900px 520px at 88% 100%,rgba(14,116,144,.24),transparent 60%)}.login-aside .brand{display:flex;align-items:center;gap:11px}.login-aside .brand .mark{width:36px;height:36px;border-radius:9px;background:var(--primary);display:grid;place-items:center;color:#fff;font-weight:700;font-size:17px}.login-aside h1{font-size:32px;color:#fff;letter-spacing:-.03em;line-height:1.18}.login-aside p{color:#94a3b8;font-size:14px;line-height:1.65;max-width:460px;margin-top:12px}.login-features{display:grid;gap:9px;margin-top:26px}.login-features .f{display:flex;align-items:center;gap:9px;font-size:13px;color:#cbd5e1}.login-features .f .tick{width:18px;height:18px;border-radius:50%;background:#1d4ed847;color:#93b4ff;display:grid;place-items:center;flex:none}.login-aside .foot{font-size:11.5px;color:#64748b}.login-panel{background:var(--surface);padding:46px 44px;display:flex;flex-direction:column;justify-content:center;overflow-y:auto}.login-panel h2{font-size:21px;letter-spacing:-.02em}.login-panel .lead{color:var(--text-3);font-size:13px;margin-top:4px;margin-bottom:22px}.login-form{display:flex;flex-direction:column;gap:13px}.login-form .field-input{height:38px;font-size:14px;padding:0 11px}.login-form .btn{height:40px;font-size:14px}.company-verified{display:flex;align-items:center;gap:9px;padding:9px 11px;background:var(--success-soft);border:1px solid #b6e2cb;border-radius:var(--radius);animation:rise .16s ease}.company-verified .cv-ico{color:var(--success);flex:none}.company-verified .cv-name{font-weight:650;font-size:13px}.company-verified .cv-meta{font-size:11px;color:var(--text-2)}.login-alert{display:flex;gap:8px;align-items:flex-start;padding:9px 11px;background:var(--danger-soft);border:1px solid #f4c4c1;border-radius:var(--radius);color:#8f2019;font-size:12.5px}.login-demo{margin-top:18px;padding:11px 13px;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:12px;color:var(--text-2)}.login-demo b{color:var(--text)}.login-demo .row{display:flex;justify-content:space-between;padding:2px 0}@media (max-width: 1180px){.totals-grid{grid-template-columns:1fr}.form-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.cols-5,.form-grid.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 980px){.login-page{grid-template-columns:1fr}.login-aside{display:none}.login-panel{padding:32px 24px}}@media (max-width: 860px){.sidebar{position:fixed;z-index:150;height:100%;box-shadow:var(--shadow-lg)}.sidebar.collapsed{width:0}.form-grid.cols-2,.form-grid.cols-3,.form-grid.cols-4,.form-grid.cols-5,.form-grid.cols-6{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.global-search{width:170px}.page{padding:12px}}@media print{.sidebar,.topbar,.breadcrumbs,.page-head .actions,.filter-bar,.pagination{display:none!important}.app-shell,.content-scroll{display:block;overflow:visible;height:auto}.card{border:0;box-shadow:none}body{background:#fff}}
