@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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}:root{--font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg: #0a1d45;--bg-image: radial-gradient(1100px 700px at 8% -12%, rgba(53, 200, 245, .42), transparent 60%), radial-gradient(950px 750px at 108% 12%, rgba(31, 107, 255, .55), transparent 62%), radial-gradient(800px 600px at 55% 115%, rgba(14, 150, 220, .35), transparent 60%), radial-gradient(500px 360px at 85% 95%, rgba(255, 194, 26, .1), transparent 70%), linear-gradient(160deg, #0c2c6a 0%, #0a2154 48%, #06163a 100%);--glass: rgba(255, 255, 255, .075);--glass-strong: rgba(255, 255, 255, .12);--glass-solid: rgba(13, 34, 78, .88);--glass-border: rgba(255, 255, 255, .14);--glass-hi: rgba(255, 255, 255, .22);--blur: blur(22px) saturate(150%);--surface: rgba(255, 255, 255, .07);--surface-2: rgba(255, 255, 255, .05);--hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--text: #f2f7fa;--text-2: rgba(235, 245, 250, .66);--text-3: rgba(235, 245, 250, .44);--brand: #4cb8ff;--brand-strong: #8fd3ff;--brand-soft: rgba(76, 184, 255, .16);--link: #8fd3ff;--brand-grad: linear-gradient(135deg, #2f6bff 0%, #1fa8f5 60%, #38d0f6 100%);--on-brand: #ffffff;--ryl: #ffc21a;--dark: #08131b;--dark-hover: #0f1f2b;--on-dark: #ffffff;--input-bg: rgba(255, 255, 255, .07);--option-bg: #0f2654;--overlay: rgba(2, 10, 30, .5);--ok: #34d399;--ok-soft: rgba(52, 211, 153, .16);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .16);--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .16);--info: #7dd3fc;--info-soft: rgba(125, 211, 252, .16);--radius: 12px;--radius-lg: 18px;--radius-xl: 26px;--shadow: 0 8px 30px rgba(0, 10, 20, .18);--shadow-lg: 0 24px 70px rgba(0, 8, 16, .45);--row-h: 40px;color-scheme:dark}:root[data-theme=light]{--bg: #dbe8fb;--bg-image: radial-gradient(1100px 700px at 8% -12%, rgba(53, 200, 245, .45), transparent 60%), radial-gradient(950px 750px at 108% 12%, rgba(47, 107, 255, .35), transparent 62%), radial-gradient(500px 360px at 85% 95%, rgba(255, 194, 26, .22), transparent 70%), linear-gradient(160deg, #e8f2ff 0%, #d6e5fb 50%, #e4ecfa 100%);--glass: rgba(255, 255, 255, .5);--glass-strong: rgba(255, 255, 255, .68);--glass-solid: rgba(245, 249, 255, .92);--glass-border: rgba(255, 255, 255, .75);--glass-hi: rgba(255, 255, 255, .95);--surface: rgba(255, 255, 255, .55);--surface-2: rgba(255, 255, 255, .4);--hover: rgba(14, 60, 90, .06);--border: rgba(14, 60, 90, .1);--border-strong: rgba(14, 60, 90, .18);--text: #0b2350;--text-2: rgba(11, 35, 80, .68);--text-3: rgba(11, 35, 80, .46);--brand: #0b5bd3;--brand-strong: #0a47a8;--brand-soft: rgba(11, 91, 211, .12);--link: #0a47a8;--ryl: #e0a100;--on-brand: #ffffff;--input-bg: rgba(255, 255, 255, .7);--option-bg: #ffffff;--overlay: rgba(10, 40, 60, .28);--ok: #059669;--ok-soft: rgba(5, 150, 105, .12);--warn: #b45309;--warn-soft: rgba(217, 119, 6, .14);--danger: #e11d48;--danger-soft: rgba(225, 29, 72, .1);--info: #0369a1;--info-soft: rgba(3, 105, 161, .1);--shadow: 0 8px 30px rgba(10, 50, 80, .1);--shadow-lg: 0 24px 70px rgba(10, 50, 80, .25);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:13.5px;line-height:1.45;color:var(--text);background:var(--bg);background-image:var(--bg-image);background-attachment:fixed;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}option{background:var(--option-bg);color:var(--text)}a{color:var(--link);text-decoration:none}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.015em}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}::selection{background:#4cb8ff59}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.glass{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi)}.shell{display:grid;grid-template-columns:248px 1fr;gap:14px;height:100%;padding:14px}.shell.collapsed{grid-template-columns:72px 1fr}.sidebar{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi);border-radius:var(--radius-xl);color:var(--text);display:flex;flex-direction:column;min-height:0;overflow:hidden}.brand-row{display:flex;align-items:center;gap:11px;padding:16px 16px 10px}.brand-mark{width:40px;height:40px;flex:none;border-radius:11px;display:block;box-shadow:0 6px 18px #145ae673,0 0 0 1px #ffffff2e}.brand-name{font-weight:750;font-size:14.5px;white-space:nowrap;line-height:1.15}.brand-name span{color:var(--ryl)}.brand-name .brand-sub{display:block;font-size:11px;font-weight:500;color:var(--text-3)}.nav{flex:1;overflow-y:auto;padding:4px 10px 12px}.nav-group{margin-top:16px}.nav-group-title{font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3);padding:0 12px 6px;white-space:nowrap}.nav-link,a.nav-link{display:flex;align-items:center;gap:11px;height:36px;padding:0 12px;border-radius:999px;margin-bottom:2px;color:var(--text-2);font-weight:550;white-space:nowrap;cursor:pointer;border:0;background:none;width:100%;text-align:left;transition:background .15s,color .15s}.nav-link:hover{background:var(--hover);color:var(--text)}.nav-link.active{background:linear-gradient(180deg,#ffffff52,#fff0 58%),var(--brand-grad);color:#fff;font-weight:650;text-shadow:0 1px 1px rgba(0,30,90,.35);box-shadow:0 8px 22px #1f78ff73,inset 0 1px #fff9,inset 0 -1px #00145040}.nav-link svg{flex:none}.nav-link.disabled{opacity:.5;cursor:default}.nav-link.disabled:hover{background:none;color:var(--text-2)}.nav-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:inline-grid;place-items:center}.collapsed .nav-count{position:absolute;top:4px;right:4px;min-width:16px;height:16px;font-size:9.5px;padding:0 4px}.nav-soon{margin-left:auto;font-size:10px;font-weight:650;color:var(--text-2);padding:1px 7px;border-radius:999px;background:var(--hover);border:1px solid var(--border)}.collapsed .brand-name,.collapsed .nav-group-title,.collapsed .nav-label,.collapsed .nav-soon{display:none}.collapsed .brand-row{justify-content:center;padding-inline:0}.collapsed .nav-link{justify-content:center;padding:0}.side-foot{padding:10px;border-top:1px solid var(--border)}.main{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0}.topbar{position:relative;z-index:20;height:60px;flex:none;display:flex;align-items:center;gap:10px;padding:0 10px 0 12px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi);border-radius:999px}.topbar .spacer{flex:1}.topbar .select{border-radius:999px;height:38px;padding-left:36px}.branch-pick{position:relative;display:flex;align-items:center}.branch-pick>svg{position:absolute;left:13px;color:var(--text-3);pointer-events:none}.kbd{font-size:10.5px;font-weight:650;color:var(--text-3);padding:2px 6px;border-radius:6px;border:1px solid var(--border-strong)}.round{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--glass-strong);border:1px solid var(--glass-border);cursor:pointer;color:var(--text);transition:transform .15s,background .15s}.round:hover{transform:translateY(-1px);background:var(--glass-hi)}.round.rainbow{background:conic-gradient(from 200deg,#38d4f8,#a78bfa,#f472b6,#fbbf24,#34d399,#38d4f8);color:#fff;border-color:transparent}.content{flex:1;overflow:auto;padding:28px 30px 34px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi);border-radius:var(--radius-xl)}.page-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head h1{font-size:28px;font-weight:750;letter-spacing:-.025em}.page-head p{margin:4px 0 0;color:var(--text-2)}.page-head .actions{margin-left:auto;display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--glass-border);background:var(--glass-strong);color:var(--text);font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px 0 var(--glass-hi);transition:background .15s,transform .15s,box-shadow .15s}.btn:hover{background:var(--glass-hi);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:var(--dark);border-color:#ffffff14;color:var(--on-dark);box-shadow:0 8px 22px #000a1459,inset 0 1px #ffffff1f}.btn.primary:hover{background:var(--dark-hover)}.btn.danger:hover{background:var(--danger-soft)}.btn.ghost{border-color:transparent;background:none;box-shadow:none}.btn.sm{height:30px;padding:0 12px;font-size:12.5px}.btn.icon{width:36px;padding:0}.btn.sm.icon{width:30px}.btn.block{width:100%;height:42px}.input,.select,.textarea{height:36px;width:100%;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--input-bg);color:var(--text);transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.textarea{height:auto;padding:9px 12px;min-height:76px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-soft)}.input.invalid{border-color:var(--danger)}.input[readonly]{background:var(--surface-2);color:var(--text-2)}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label{font-size:12px;font-weight:600;color:var(--text-2)}.field .hint{font-size:11.5px;color:var(--text-3)}.field .error{font-size:11.5px;color:var(--danger)}.req:after{content:" *";color:var(--danger)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.span-2{grid-column:span 2}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.muted{color:var(--text-2)}.small{font-size:12px}.mono{font-family:var(--mono);font-size:12.5px}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{width:15px;height:15px;accent-color:var(--brand);margin:0}.toggle{position:relative;width:36px;height:21px;border-radius:999px;flex:none;background:var(--border-strong);border:0;cursor:pointer;transition:background .15s}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #0000004d}.toggle.on{background:var(--brand-grad)}.toggle.on:after{transform:translate(15px)}.search{position:relative}.search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.search .input{padding-left:36px;border-radius:999px}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.toolbar .search{width:320px}.toolbar .select{width:auto;min-width:150px;border-radius:999px}.toolbar .count{margin-left:auto;color:var(--text-2);font-size:12.5px}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.segmented button{border:0;background:none;height:30px;padding:0 14px;border-radius:999px;cursor:pointer;color:var(--text-2);font-weight:600;transition:background .15s,color .15s}.segmented button:hover{color:var(--text)}.segmented button.on{background:var(--dark);color:#fff;box-shadow:0 4px 12px #000a144d}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:auto;max-height:calc(100vh - 300px)}.table-wrap.standalone{border-radius:var(--radius-lg)}table.data{width:100%;border-collapse:separate;border-spacing:0}table.data th{position:sticky;top:0;z-index:1;background:var(--glass-solid);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-align:left;font-size:11px;font-weight:650;color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;height:38px;padding:0 14px;border-bottom:1px solid var(--border);white-space:nowrap}table.data td{height:var(--row-h);padding:0 14px;border-bottom:1px solid var(--border);white-space:nowrap}table.data tr:last-child td{border-bottom:0}table.data tbody tr.clickable{cursor:pointer}table.data tbody tr:hover td{background:var(--hover)}table.data .num{text-align:right;font-variant-numeric:tabular-nums}table.data .wrap{white-space:normal}.table-empty{padding:44px 16px;text-align:center;color:var(--text-2)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 2px 0;color:var(--text-2);font-size:12.5px}.badge{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:999px;font-size:11.5px;font-weight:650;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge.info{background:var(--info-soft);color:var(--info);border-color:transparent}.badge.brand{background:var(--brand-soft);color:var(--brand-strong);border-color:transparent}:root[data-theme=light] .badge.brand{color:var(--brand-strong)}.code-chip{font-family:var(--mono);font-size:12px;font-weight:600;padding:2px 7px;border-radius:7px;background:var(--surface-2);border:1px solid var(--border)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 0 var(--glass-hi)}.panel-head{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border)}.panel-head h2{font-size:15px}.panel-head .actions{margin-left:auto}.panel-body{padding:18px}.panel.lift,a>.panel{transition:transform .2s,box-shadow .2s,background .2s}.panel.lift:hover,a>.panel:hover{transform:translateY(-4px);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi);background:var(--glass-strong)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi{padding:16px 18px 18px;position:relative}.kpi .kpi-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--glass-strong);border:1px solid var(--glass-border);color:var(--text)}.kpi .kpi-tag{position:absolute;top:16px;right:16px}.kpi .value{font-size:30px;font-weight:750;margin-top:14px;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.1}.kpi .label{font-size:13px;font-weight:600;color:var(--text);margin-top:2px;display:flex;align-items:center;gap:6px}.kpi .sub{font-size:12px;color:var(--text-3)}.home-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:14px}.bars{display:flex;align-items:flex-end;gap:10px;height:190px;padding:6px 18px 0}.bar-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}.bar{width:100%;max-width:46px;border-radius:10px 10px 6px 6px;min-height:4px;background:linear-gradient(180deg,#5ee0ff,#2b8cf0);box-shadow:0 6px 18px #2ba0f059,inset 0 1px #ffffff80;transition:filter .15s;position:relative}.bar:hover{filter:brightness(1.15)}.bar-val{font-size:11.5px;font-weight:700;font-variant-numeric:tabular-nums}.bar-lbl{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.donut-wrap{display:flex;align-items:center;gap:20px;padding:18px;flex-wrap:wrap}.donut{position:relative;width:168px;height:168px;flex:none}.donut svg{transform:rotate(-90deg)}.donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center}.donut-center b{font-size:26px;font-weight:750;letter-spacing:-.02em;line-height:1}.donut-center span{font-size:11px;color:var(--text-3);margin-top:4px}.legend{display:flex;flex-direction:column;gap:7px;flex:1;min-width:150px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12.5px}.legend-item i{width:9px;height:9px;border-radius:3px;flex:none}.legend-item b{margin-left:auto;font-variant-numeric:tabular-nums}.list-rows{display:flex;flex-direction:column}.list-rows .item{display:flex;gap:11px;align-items:flex-start;padding:10px 18px;border-bottom:1px solid var(--border)}.list-rows .item:last-child{border-bottom:0}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-3);margin-top:6px;flex:none}.dot.ok{background:var(--ok);box-shadow:0 0 10px var(--ok)}.dot.warn{background:var(--warn)}.dot.danger{background:var(--danger);box-shadow:0 0 10px var(--danger)}.dot.brand{background:var(--brand);box-shadow:0 0 10px var(--brand)}.phase{display:flex;gap:11px;padding:8px 18px;align-items:center}.phase .n{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;border:1px solid var(--border-strong);color:var(--text-2);flex:none}.phase.current .n{background:var(--brand-grad);border-color:transparent;color:#fff;box-shadow:0 0 14px #38bdf88c}.phase.current .t{font-weight:650}.overlay{position:fixed;inset:0;background:var(--overlay);z-index:40;animation:fade .15s ease-out;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.drawer{position:fixed;top:12px;right:12px;bottom:12px;width:min(620px,calc(100vw - 24px));z-index:41;background:var(--glass-solid);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--glass-hi);display:flex;flex-direction:column;overflow:hidden;animation:slide .2s ease-out}.drawer.wide{width:min(880px,calc(100vw - 24px))}.drawer-head{display:flex;align-items:flex-start;gap:12px;padding:18px 22px;border-bottom:1px solid var(--border)}.drawer-head h2{font-size:18px}.drawer-head p{margin:3px 0 0;color:var(--text-2);font-size:12.5px}.drawer-body{flex:1;overflow:auto;padding:20px 22px}.drawer-foot{display:flex;gap:8px;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--border);background:var(--surface-2)}.drawer-foot .left{margin-right:auto;display:flex;gap:8px}.section-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin:20px 0 10px}.section-title:first-child{margin-top:0}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:51;width:min(460px,calc(100vw - 32px));padding:22px;background:var(--glass-solid);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),inset 0 1px 0 var(--glass-hi);animation:pop .16s ease-out}.modal h2{font-size:17px;margin-bottom:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.secret{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding:11px 14px;border-radius:var(--radius);background:var(--surface-2);border:1px dashed var(--border-strong);font-family:var(--mono);font-size:16px;font-weight:700;letter-spacing:.04em}.toasts{position:fixed;bottom:22px;right:22px;z-index:60;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:flex-start;gap:10px;min-width:280px;max-width:420px;padding:12px 16px;border-radius:var(--radius-lg);background:var(--glass-solid);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow-lg);animation:slideUp .18s ease-out}.toast>svg:first-child{color:var(--ok);flex:none;margin-top:1px}.toast.error>svg:first-child{color:var(--danger)}.alert{display:flex;gap:8px;padding:11px 14px;border-radius:var(--radius);font-size:12.5px}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.warn{background:var(--warn-soft);color:var(--warn)}.alert.info{background:var(--info-soft);color:var(--info)}.checklist{border:1px solid var(--border);border-radius:var(--radius);max-height:240px;overflow:auto}.checklist .check{display:flex;padding:7px 12px;border-bottom:1px solid var(--border)}.checklist .check:last-child{border-bottom:0}.checklist .check:hover{background:var(--hover)}.perm-module{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}.perm-module-head{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--surface-2);border-bottom:1px solid var(--border);font-weight:650}table.perm{width:100%;border-collapse:collapse}table.perm th{font-size:10.5px;color:var(--text-3);font-weight:650;text-transform:uppercase;letter-spacing:.06em;padding:7px 4px;text-align:center}table.perm th:first-child{text-align:left;padding-left:14px}table.perm td{padding:6px 4px;text-align:center;border-top:1px solid var(--border)}table.perm td:first-child{text-align:left;padding-left:14px}table.perm input{width:15px;height:15px;accent-color:var(--brand)}.roles-layout{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}.role-item{display:flex;flex-direction:column;gap:2px;padding:11px 16px;border-bottom:1px solid var(--border);cursor:pointer}.role-item:hover{background:var(--hover)}.role-item.active{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.diff{font-family:var(--mono);font-size:12px;background:var(--surface-2);border-radius:var(--radius);padding:9px 12px;white-space:pre-wrap}.diff .from{color:var(--danger);text-decoration:line-through}.diff .to{color:var(--ok)}.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr;gap:14px;padding:14px}.login-art{border-radius:var(--radius-xl);padding:48px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;position:relative;overflow:hidden;background:radial-gradient(500px 360px at 80% 20%,rgba(94,224,255,.35),transparent 70%),radial-gradient(500px 400px at 10% 100%,rgba(37,99,235,.45),transparent 70%),#05192659;border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #fff3}.login-art:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.6;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%)}.login-art>*{position:relative;z-index:1}.login-art h1{font-size:40px;font-weight:800;letter-spacing:-.03em;color:#fff}.login-art h1 span{color:var(--ryl)}.login-art p{max-width:440px;color:#ebf5fab8;font-size:15px}.login-form{display:grid;place-items:center;padding:32px;border-radius:var(--radius-xl);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--shadow),inset 0 1px 0 var(--glass-hi)}.login-card{width:min(370px,100%)}.login-card h2{font-size:26px;font-weight:750;margin-bottom:4px}.user-chip{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border-radius:999px;cursor:pointer;border:1px solid transparent;background:none}.user-chip:hover{border-color:var(--border);background:var(--hover)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:12.5px;background:var(--brand-grad);color:#fff;box-shadow:inset 0 1px #fff6}.menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:230px;padding:6px;background:var(--glass-solid);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.menu button{display:flex;width:100%;align-items:center;gap:9px;height:36px;padding:0 12px;border:0;background:none;border-radius:10px;cursor:pointer;text-align:left}.menu button:hover{background:var(--hover)}.menu hr{border:0;border-top:1px solid var(--border);margin:6px 0}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;animation:spin .7s linear infinite}.center-fill{height:100%;display:grid;place-items:center}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes slide{0%{transform:translate(28px);opacity:0}}@keyframes slideUp{0%{transform:translateY(8px);opacity:0}}@keyframes pop{0%{transform:translate(-50%,-47%) scale(.98);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.home-grid,.roles-layout{grid-template-columns:1fr}.user-meta{display:none}}@media(max-width:760px){.login{grid-template-columns:1fr}.login-art{display:none}.shell{grid-template-columns:72px 1fr;padding:8px;gap:8px}.shell .brand-name,.shell .nav-group-title,.shell .nav-label,.shell .nav-soon{display:none}.shell .nav-link{justify-content:center;padding:0}.content{padding:18px 16px}.grid-2,.grid-3{grid-template-columns:1fr}.span-2{grid-column:auto}.toolbar .search{width:100%}.page-head h1{font-size:23px}}.quick-search{width:360px;max-width:34vw}.quick-search .input{height:40px;background:var(--surface-2);padding-right:64px}.quick-kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none}@media(max-width:1100px){.quick-search{width:220px}.quick-kbd{display:none}}@media(max-width:760px){.quick-search{display:none}}.picker-menu{left:0;right:0;width:100%;max-height:340px;overflow:auto}.picker-menu button{gap:10px;white-space:nowrap}.picker-menu button.hi{background:var(--hover)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin:-4px 0 16px}.tabs button{border:0;background:none;height:38px;padding:0 14px;cursor:pointer;color:var(--text-2);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{color:var(--text)}.tabs button.on{color:var(--text);border-bottom-color:var(--brand)}.qty-pos{color:var(--ok);font-weight:650}.qty-neg{color:var(--danger);font-weight:650}.lines-table td{height:46px}.lines-table .input{height:32px}.num-input{text-align:right;font-variant-numeric:tabular-nums}.split{display:grid;grid-template-columns:300px 1fr;gap:14px;align-items:start}.stat-row{display:flex;gap:22px;flex-wrap:wrap;padding:14px 18px}.stat-row .stat b{display:block;font-size:20px;font-weight:750;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-row .stat span{font-size:11.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-weight:650}@media(max-width:1100px){.split{grid-template-columns:1fr}}:root{--lg-tint: rgba(255, 255, 255, .11);--lg-tint-2: rgba(255, 255, 255, .035);--lg-rim: rgba(255, 255, 255, .62);--lg-rim-2: rgba(255, 255, 255, .1);--lg-spec: rgba(255, 255, 255, .2);--lg-blur: blur(26px) saturate(185%) brightness(1.04);--lg-solid-1: rgba(32, 66, 140, .78);--lg-solid-2: rgba(10, 26, 66, .88);--lg-shadow: 0 20px 50px rgba(0, 10, 40, .35)}:root[data-theme=light]{--lg-tint: rgba(255, 255, 255, .62);--lg-tint-2: rgba(255, 255, 255, .34);--lg-rim: rgba(255, 255, 255, 1);--lg-rim-2: rgba(255, 255, 255, .35);--lg-spec: rgba(255, 255, 255, .75);--lg-blur: blur(24px) saturate(170%);--lg-solid-1: rgba(255, 255, 255, .86);--lg-solid-2: rgba(236, 244, 255, .92);--lg-shadow: 0 20px 50px rgba(20, 60, 140, .16)}.sidebar,.topbar,.content,.login-form{background:linear-gradient(150deg,var(--lg-tint),var(--lg-tint-2));backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);border-color:#ffffff1a;box-shadow:var(--lg-shadow),inset 0 1px 1px #ffffff73,inset 0 -1px 1px #ffffff1a,inset 0 0 24px #ffffff0a}.drawer,.modal,.menu,.toast{background:linear-gradient(155deg,var(--lg-solid-1),var(--lg-solid-2));backdrop-filter:var(--lg-blur);-webkit-backdrop-filter:var(--lg-blur);border-color:#ffffff1f;box-shadow:var(--shadow-lg),inset 0 1px 1px #fff6,inset 0 0 30px #ffffff0a}.sidebar,.login-form,.lg{position:relative}.sidebar,.topbar,.drawer,.modal,.menu,.login-form,.lg{isolation:isolate}.sidebar:before,.topbar:before,.drawer:before,.modal:before,.menu:before,.login-form:before,.lg:before,.btn:before,.round:before,.panel.kpi:before,.segmented:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;background:linear-gradient(135deg,var(--lg-rim) 0%,var(--lg-rim-2) 28%,transparent 50%,var(--lg-rim-2) 76%,var(--lg-rim) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.75}.btn,.round,.nav-link,.panel.kpi,.user-chip{position:relative;isolation:isolate}.btn:after,.round:after,.nav-link:after,.panel.kpi:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background:radial-gradient(140px circle at var(--mx, 50%) var(--my, -40%),var(--lg-spec),transparent 60%);opacity:0;transition:opacity .25s}.btn:hover:after,.round:hover:after,.nav-link:hover:after,.panel.kpi:hover:after{opacity:1}.panel.kpi:after{background:radial-gradient(260px circle at var(--mx, 50%) var(--my, -40%),var(--lg-spec),transparent 60%)}.btn{background:linear-gradient(180deg,#fff3,#ffffff0d);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%);border-color:transparent;box-shadow:0 4px 14px #000c282e,inset 0 1px #ffffff59;transition:transform .18s cubic-bezier(.2,.9,.3,1.4),background .15s,box-shadow .15s}:root[data-theme=light] .btn{background:linear-gradient(180deg,#fffffff2,#fff9)}.btn:hover{transform:translateY(-1px);background:linear-gradient(180deg,#ffffff47,#ffffff14)}:root[data-theme=light] .btn:hover{background:#fff}.btn:active{transform:scale(.96)}.btn.primary,:root[data-theme=light] .btn.primary{background:linear-gradient(180deg,#24324d,#0b1324 55%,#050a16);color:#fff;box-shadow:0 10px 26px #00081e73,inset 0 1px #ffffff47,inset 0 -1px #0006}.btn.primary:hover,:root[data-theme=light] .btn.primary:hover{background:linear-gradient(180deg,#2c3c5c,#101a30 55%,#070e1d)}.btn.ghost,:root[data-theme=light] .btn.ghost{background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.btn.ghost:before{display:none}.btn.ghost:hover{background:var(--hover)}.btn.danger{color:var(--danger)}.btn:disabled{transform:none}.btn:disabled:after{display:none}.round{background:linear-gradient(180deg,#ffffff3d,#ffffff0f);border-color:transparent;box-shadow:0 4px 14px #000c2833,inset 0 1px #fff6}.round:active{transform:scale(.94)}.segmented{position:relative;background:#ffffff0f;border-color:transparent}:root[data-theme=light] .segmented{background:#ffffff80}.segmented button{position:relative;z-index:2}.segmented button.on{background:linear-gradient(180deg,#24324d,#0b1324 60%,#050a16);box-shadow:0 4px 12px #00081e59,inset 0 1px #ffffff40}.panel.kpi{background:linear-gradient(150deg,#ffffff21,#ffffff08);border-color:transparent;box-shadow:0 10px 30px #000a2833,inset 0 1px 1px #ffffff59}:root[data-theme=light] .panel.kpi{background:linear-gradient(150deg,#ffffffd9,#ffffff80)}.panel.kpi>*{position:relative;z-index:2}.panel.kpi .kpi-tag{position:absolute}.kpi .kpi-icon{background:linear-gradient(180deg,#ffffff4d,#ffffff0f);box-shadow:inset 0 1px #ffffff80,0 4px 10px #000a2833}.input,.select,.textarea{box-shadow:inset 0 1px 2px #000a281f}.brand-name{font-size:15px;letter-spacing:-.01em}.brand-name span{color:var(--ryl);text-shadow:0 0 18px rgba(255,194,26,.25)}.login-logo{width:96px;height:96px;border-radius:24px;box-shadow:0 18px 50px #1e64ff8c,0 0 0 1px #ffffff40}.login-brand{display:flex;align-items:center;gap:18px}.login-brand .t{font-size:15px;color:#ebf5ffbf;font-weight:500}.login-mobile-logo{display:none;width:56px;height:56px;border-radius:15px;margin-bottom:10px;box-shadow:0 10px 28px #1e64ff73}@media(max-width:760px){.login-mobile-logo{display:block}}@media(prefers-reduced-transparency:reduce){.sidebar,.topbar,.content,.drawer,.modal,.menu,.toast,.login-form{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--glass-solid)}}.login-art{background:radial-gradient(520px 380px at 82% 18%,rgba(56,208,246,.42),transparent 70%),radial-gradient(560px 420px at 8% 100%,rgba(47,107,255,.6),transparent 70%),radial-gradient(300px 220px at 70% 92%,rgba(255,194,26,.14),transparent 70%),linear-gradient(150deg,#143c968c,#05143c8c)}.login-art h1{font-size:44px;line-height:1}.login-art p{font-size:22px;line-height:1.4;max-width:470px;color:#f0f8ffdb;font-weight:500;letter-spacing:-.01em}.pos{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.pos-main{display:flex;flex-direction:column;gap:14px;min-width:0}.pos-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.pos-head h1{font-size:28px;font-weight:750;letter-spacing:-.025em}.pos-head p{margin:4px 0 0}.pos-selects{margin-left:auto;display:flex;gap:10px}.pos-selects .select{min-width:210px}.pos-customer{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 16px}.pos-customer-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--brand-grad);color:#fff;box-shadow:inset 0 1px #ffffff73}.pos-customer-info{display:flex;flex-direction:column;min-width:0}.pos-customer-info b{font-size:16px}.pos-customer-search{display:flex;align-items:center;gap:8px}.pos-customer-search .input{width:260px}.pos-lines{padding:0;overflow:hidden}.pos-search{padding:14px 16px;border-bottom:1px solid var(--border)}.pos-search .input{height:44px;font-size:15px}.pos-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:46px 16px;color:var(--text-2)}.pos-empty svg{opacity:.5;margin-bottom:4px}.qty-box{display:inline-flex;align-items:center;gap:4px}.qty-box .input{width:92px;height:34px;font-weight:650}.row-problem td{background:var(--danger-soft)}.pos-problem{color:var(--danger);font-weight:600}.pos-warn{color:var(--warn)}.pos-side{position:sticky;top:0;display:flex;flex-direction:column;gap:14px}.pos-total-card{position:relative;isolation:isolate;padding:20px;border-radius:var(--radius-xl);background:linear-gradient(160deg,#2f6bff8c,#1fa8f540 60%,#ffffff0f);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 50px #0a288c59,inset 0 1px 1px #ffffff80}:root[data-theme=light] .pos-total-card{background:linear-gradient(160deg,#2f6bff,#1fa8f5);color:#fff}.pos-total-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;opacity:.8}.pos-total{font-size:38px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1;margin-top:4px}.pos-total-sub{font-size:12.5px;opacity:.75;margin-top:2px}.pos-breakdown{margin:16px 0;display:flex;flex-direction:column;gap:6px}.pos-breakdown div{display:flex;justify-content:space-between;gap:10px;font-size:13px}.pos-breakdown dt{opacity:.8}.pos-breakdown dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}.pos-breakdown .grand{border-top:1px solid var(--border);padding-top:8px;margin-top:4px;font-size:16px}.pos-breakdown .grand dd{font-weight:800}.pos-pay{height:52px!important;font-size:16px}.kbd-dark{color:#ffffffbf;border-color:#ffffff4d;margin-left:6px}.pay-modal{width:min(640px,calc(100vw - 32px))}.pay-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface);margin:6px 0 12px}.pay-total b{font-size:28px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.pay-methods{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.pay-row{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.pay-row.bad{border-color:var(--danger)}.pay-row-name{display:flex;align-items:center;gap:7px;font-weight:600}.pay-summary{display:flex;gap:10px;margin-top:12px}.pay-summary>div{flex:1;padding:10px 12px;border-radius:var(--radius);background:var(--surface-2);display:flex;flex-direction:column}.pay-summary span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-weight:700}.pay-summary b{font-size:18px;font-variant-numeric:tabular-nums}.pay-summary .missing b{color:var(--danger)}.pay-summary .over b{color:var(--warn)}.pay-summary .okay b,.pay-summary .change b{color:var(--ok)}.done-box{display:flex;gap:12px}.done-box>div{flex:1;padding:14px;border-radius:var(--radius-lg);background:var(--surface);display:flex;flex-direction:column}.done-box b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}.done-change{background:var(--ok-soft)!important}.done-change b{color:var(--ok)}@media(max-width:1200px){.pos{grid-template-columns:1fr}.pos-side{position:static}}.print-msg{padding:40px;text-align:center}.invoice-print{min-height:100%;background:#e6ecf5;padding:20px 12px;color:#111}.print-toolbar{width:8.5in;max-width:100%;margin:0 auto 10px;display:flex;align-items:center;gap:12px;justify-content:flex-end}.print-toolbar .muted{color:#5b6b85}.mc{position:relative;width:8.5in;height:5.5in;overflow:hidden;max-width:100%;margin:0 auto;background:#fff;color:#111;display:flex;flex-direction:column;padding:.22in .26in;box-shadow:0 10px 40px #00143c26;font:8.2px/1.3 Inter Variable,Arial,sans-serif}.mc i{font-style:normal;font-weight:700;color:#0b2a5c;margin-right:4px}.mc-head{display:grid;grid-template-columns:1.15fr 1.25fr .62in;gap:10px;align-items:start;padding-bottom:5px;border-bottom:1.5px solid #0b5bd3}.mc-branch{display:flex;gap:8px;align-items:center}.mc-branch img{width:1.25in;height:auto;flex:none}.mc-branch div{display:flex;flex-direction:column}.mc-branch b{font-size:9.5px;color:#0b2a5c}.mc-title{display:flex;flex-direction:column;text-align:right}.mc-title>span:first-child{font-size:8.5px;text-transform:uppercase;font-weight:700;color:#334}.mc-title b{font-size:17px;color:#0b5bd3;letter-spacing:.02em;line-height:1.1}.mc-company{font-weight:700}.mc-auth{font-size:7.4px;color:#555}.mc-qr{width:.62in;height:.62in;border:1px dashed #9aa8c0;display:grid;place-items:center;text-align:center;font-size:6.5px;color:#7a869c}.mc-client{display:grid;grid-template-columns:2.3fr 1fr 1fr .9fr;gap:1px 10px;padding:5px 0 3px}.mc-client>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-client b{font-size:9px}.mc-client .span2{grid-column:span 2}.mc-client .span4{grid-column:span 4;white-space:normal}.mc-term{font-size:12px;font-weight:800;color:#0b2a5c;text-align:right}.mc-cufe{font-size:6.8px;color:#555;word-break:break-all;padding-bottom:3px}.mc-lines{width:100%;border-collapse:collapse}.mc-lines th{background:#0b2a5c;color:#fff;font-size:7.5px;text-transform:uppercase;padding:2.5px 4px;text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact}.mc-lines td{padding:2px 4px;border-bottom:.5px solid #d6dbe4;white-space:nowrap}.mc-lines td:nth-child(3){max-width:3.2in;overflow:hidden;text-overflow:ellipsis}.mc-page{font-size:8px;font-weight:700;color:#b45309;text-transform:uppercase;letter-spacing:.04em}.mc-cont{margin-top:auto;border:.75px dashed #9aa8c0;padding:8px 10px;display:flex;justify-content:space-between;gap:10px;color:#0b2a5c;font-weight:600}.mc+.mc{margin-top:18px}.mc-lines .r{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.mc-bottom{display:grid;grid-template-columns:1fr 2.3in;gap:10px;margin-top:auto;padding-top:6px}.mc-left{display:flex;flex-direction:column;gap:5px}.mc-qty{display:flex;gap:14px;flex-wrap:wrap;align-items:baseline}.mc-save{margin-left:auto;font-weight:700;color:#0b2a5c;text-transform:uppercase}.mc-signs{display:grid;grid-template-columns:repeat(4,1fr);border:.75px solid #333;min-height:.55in}.mc-signs>div{border-right:.75px solid #333;padding:3px 5px;display:flex;flex-direction:column;justify-content:space-between}.mc-signs>div:last-child{border-right:0}.mc-signs i{font-style:italic;font-weight:600;color:#333}.mc-totals{border-collapse:collapse;width:100%;border:.75px solid #333}.mc-totals td{padding:1.6px 6px;border-bottom:.5px solid #ccd;font-variant-numeric:tabular-nums}.mc-totals td:first-child{font-style:italic;text-align:right;text-transform:uppercase;color:#223}.mc-totals td:last-child{text-align:right;width:1in;border-left:.75px solid #333}.mc-totals .grand td{font-weight:800;font-size:9.5px;color:#0b2a5c;border-bottom:0}.mc-legal{margin:5px 0 0;font-size:6.9px;font-style:italic;text-align:center;color:#333}.mc-legal.b{font-style:normal;font-weight:600;font-size:6.6px}.mc-foot{display:flex;justify-content:space-between;margin-top:4px;font-size:7px;color:#444}.mc-void{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font-size:80px;font-weight:900;color:#dc262629;letter-spacing:.1em;pointer-events:none}.mc-test{position:absolute;top:.08in;left:50%;transform:translate(-50%);font-size:7px;font-weight:700;color:#b45309;text-transform:uppercase;letter-spacing:.08em}@media print{@page{size:8.5in 11in;margin:0}html,body,#root{background:#fff!important;height:auto}.invoice-print{background:#fff;padding:0}.print-toolbar{display:none}.mc{box-shadow:none;width:8.5in;height:5.5in;margin:0;break-after:page;page-break-after:always}.mc:last-child{break-after:auto;page-break-after:auto}.mc+.mc{margin-top:0}}.cash-open{display:flex;gap:18px;align-items:flex-start;padding:22px}.cash-open h2{font-size:18px;margin:0}.cash-open-icon{width:54px;height:54px;flex:none;border-radius:16px;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn)}.cash-open-form{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px;max-width:760px}.cash-open-form .btn{height:40px;margin-bottom:18px}.cash-hero{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:18px 22px;margin-bottom:14px}.cash-hero-main{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.cash-hero-main h2{font-size:22px;margin:2px 0 0}.cash-hero-total{margin-left:auto;text-align:right;display:flex;flex-direction:column}.cash-hero-total span{font-size:12px;color:var(--text-3);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.cash-hero-total b{font-size:34px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--brand-strong);line-height:1.15}.cash-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.cash-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.cash-kpis.compact .value{font-size:19px!important;margin-top:8px}.cash-kpis.compact .kpi{padding:12px 14px}.cash-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.cash-grid .table-wrap{overflow-x:auto}.cash-moves{display:flex;flex-direction:column;max-height:420px;overflow:auto}.cash-move{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border)}.cash-move:last-child{border-bottom:0}.cash-move.voided{opacity:.55}.cash-move.voided .cash-move-amount{text-decoration:line-through}.cash-move-icon{width:30px;height:30px;flex:none;border-radius:10px;display:grid;place-items:center}.cash-move-icon.in,.cash-move-amount.in{color:var(--ok)}.cash-move-icon.in{background:var(--ok-soft)}.cash-move-icon.out,.cash-move-amount.out{color:var(--danger)}.cash-move-icon.out{background:var(--danger-soft)}.cash-move-body{flex:1;min-width:0}.cash-move-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.denoms{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}.denom{display:grid;grid-template-columns:90px 96px 1fr;gap:10px;align-items:center;margin-bottom:6px;font-variant-numeric:tabular-nums}.denom>span:last-child{text-align:right}.cash-close-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;padding:14px 16px;border-radius:var(--radius);background:var(--surface-2, var(--hover));border:1px solid var(--border)}.cash-close-box>div{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.cash-close-box b{font-size:20px;font-variant-numeric:tabular-nums}@media(max-width:900px){.cash-grid,.denoms,.cash-open-form{grid-template-columns:1fr}.cash-hero-total{margin-left:0;text-align:left}}.res-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:13px;border:1px solid transparent}.res-banner.danger{background:var(--danger-soft);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.res-banner.warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.res-banner .muted{color:inherit;opacity:.8}.res-alerts{display:flex;flex-direction:column}.res-alert{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:13px}.res-alert:last-child{border-bottom:0}.res-alert.danger{color:var(--danger)}.res-alert.warn{color:var(--warn)}.res-progress{height:6px;border-radius:3px;background:var(--hover);overflow:hidden;margin-bottom:4px}.res-progress span{display:block;height:100%;background:var(--brand);border-radius:3px}.res-progress span.warn{background:var(--warn)}.mappings{display:flex;flex-direction:column}.mapping-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr);gap:14px;align-items:center;padding:8px 16px;border-bottom:1px solid var(--border)}.mapping-row:last-child{border-bottom:0}table.data tr.acc-l1 td{background:color-mix(in srgb,var(--brand) 7%,transparent)}table.data tr.acc-l2 td{background:color-mix(in srgb,var(--brand) 3%,transparent)}table.data tr.total-row td{background:var(--hover);border-top:1px solid var(--border)}.fin-report{display:grid;gap:14px;max-width:920px}.fin-totals{display:grid;grid-template-columns:1fr auto;gap:6px 24px;padding:14px 18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);font-variant-numeric:tabular-nums}.fin-totals b{text-align:right}.fin-totals .grand{font-size:16px;color:var(--brand-strong);border-top:1px solid var(--border);padding-top:6px}.print-only{display:none}@media print{.sidebar,.topbar,.no-print,.page-head .actions,.res-banner{display:none!important}.print-only{display:flex}.report-head{flex-direction:column;margin-bottom:10px}.content{padding:0!important}.table-wrap.report,.fin-totals{box-shadow:none}}.purchase-totals{display:flex;justify-content:flex-end;gap:22px;padding:12px 16px;font-variant-numeric:tabular-nums;color:var(--text-2);flex-wrap:wrap}.purchase-totals b{color:var(--text);margin-left:6px}.purchase-totals .grand b{font-size:17px;color:var(--brand-strong)}.cz{width:8.5in;max-width:100%;margin:0 auto;background:#fff;color:#111;padding:.45in .5in;box-shadow:0 10px 40px #00143c26;font:10px/1.4 Inter Variable,Arial,sans-serif}.cz i{font-style:normal;font-weight:700;color:#0b2a5c;margin-right:4px}.cz-head{display:flex;align-items:center;gap:14px;padding-bottom:8px;border-bottom:1.5px solid #0b5bd3}.cz-head img{width:1.4in}.cz-head div{display:flex;flex-direction:column}.cz-head b{font-size:17px;color:#0b2a5c}.cz-result{margin-left:auto;font-weight:800;font-size:12px;padding:5px 10px;border-radius:6px;border:1.5px solid currentColor}.cz-result.ok{color:#0f7a3d}.cz-result.info{color:#0b5bd3}.cz-result.danger{color:#b42318}.cz-meta{display:grid;grid-template-columns:1fr 1fr;gap:3px 16px;padding:8px 0}.cz-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.cz-table{width:100%;border-collapse:collapse;margin-top:10px}.cz-table caption{text-align:left;font-weight:800;color:#0b2a5c;text-transform:uppercase;font-size:9px;letter-spacing:.06em;padding-bottom:3px}.cz-table th{background:#0b2a5c;color:#fff;font-size:8.5px;text-transform:uppercase;padding:3px 5px;text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cz-table td{padding:3px 5px;border-bottom:.5px solid #d6dbe4}.cz-table td:last-child,.cz-table th:last-child{text-align:right;white-space:nowrap}.cz-table.money td:not(:first-child),.cz-table.money th:not(:first-child){text-align:right}.cz-table tr.strong td{font-weight:800;border-top:1px solid #333}.cz-table tr.voided td{color:#888;text-decoration:line-through}.cz-notes{margin:10px 0 0}.cz-signs{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:46px}.cz-signs div{border-top:.75px solid #333;padding-top:4px;text-align:center;font-weight:600}.cz-foot{display:flex;justify-content:space-between;margin-top:14px;font-size:8px;color:#555}@media print{.cz{box-shadow:none;width:8.5in;padding:.45in .5in;margin:0}}.signin{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px 20px;background:radial-gradient(900px 600px at 20% 10%,rgba(56,208,246,.22),transparent 60%),radial-gradient(900px 700px at 90% 90%,rgba(47,107,255,.18),transparent 60%),radial-gradient(400px 300px at 70% 20%,rgba(255,194,26,.12),transparent 70%),linear-gradient(170deg,#f7fbff,#eaf2fe 55%,#e2ecfb);color:#0b2350}.signin-stage{flex:1;display:grid;grid-template-columns:380px 460px;align-items:center;gap:0;max-width:960px;width:100%;justify-content:center}.signin-emblem{width:340px;height:340px;margin-right:10px;overflow:visible;animation:floaty 9s ease-in-out infinite}.signin-right{display:flex;flex-direction:column;gap:22px;position:relative;z-index:1}.signin-brand h1{font-size:64px;font-weight:800;letter-spacing:-.04em;line-height:.95;color:#0b2a6b}.signin-brand h1 span{color:#ffb800;background:linear-gradient(180deg,#ffd23f,#f5a700);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.signin-brand p{margin:8px 0 0 4px;font-size:18px;color:#4b6a99;font-style:italic;letter-spacing:.01em}.signin-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:26px 26px 22px;background:#ffffffd1;border-radius:22px;border:1px solid #fff;backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 24px 60px #1446a02e,inset 0 1px #fff}.signin-card:before{content:"";position:absolute;left:-22px;top:46px;width:0;height:0;border-top:16px solid transparent;border-bottom:16px solid transparent;border-right:24px solid rgba(255,255,255,.82);filter:drop-shadow(-4px 4px 4px rgba(20,70,160,.06))}.signin-field{display:flex;align-items:stretch;height:52px;border-radius:14px;overflow:hidden;background:#eef3fb;border:1px solid #d5e1f3;transition:border-color .15s,box-shadow .15s}.signin-field:focus-within{border-color:#2f6bff;box-shadow:0 0 0 4px #2f6bff26}.signin-field .ic{width:56px;display:grid;place-items:center;color:#fff;background:linear-gradient(160deg,#2f6bff,#1fa8f5)}.signin-field input{flex:1;border:0;background:transparent;padding:0 16px;font-size:15.5px;color:#0b2350;outline:none}.signin-field input::placeholder{color:#8aa0c2}.signin-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:4px}.signin-actions .muted{color:#6b7f9f;flex:1}.signin-actions .btn{height:46px;padding:0 26px;font-size:15px}.signin-foot{font-size:12px;color:#7d8fae;text-align:center;margin-top:10px}@keyframes floaty{50%{transform:translateY(-8px)}}@media(max-width:900px){.signin-stage{grid-template-columns:1fr;justify-items:center}.signin-emblem{width:220px;height:220px;margin:0 0 -10px}.signin-right{width:min(460px,100%)}.signin-brand{text-align:center}.signin-brand h1{font-size:46px}.signin-card:before{display:none}}.form-section{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin:4px 0 -4px;font-weight:700}table.data tr.selected td{background:var(--accent-soft, rgba(11, 91, 211, .08))}.ps{width:8.5in;height:5.5in;max-width:100%;margin:0 auto;background:#fff;color:#111;display:flex;flex-direction:column;overflow:hidden;padding:.25in .32in;box-shadow:0 10px 40px #00143c26;font:8.6px/1.35 Inter Variable,Arial,sans-serif}.ps+.ps{margin-top:18px}.ps i{font-style:normal;font-weight:700;color:#0b2a5c;margin-right:4px}.ps-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding-bottom:6px;border-bottom:1.5px solid #0b5bd3}.ps-head img{width:1.25in}.ps-head>div{display:flex;flex-direction:column}.ps-head b{font-size:10px;color:#0b2a5c}.ps-title{text-align:right}.ps-title span:first-child{font-size:8px;text-transform:uppercase;font-weight:700;color:#334}.ps-title b{font-size:15px!important;color:#0b5bd3!important}.ps-meta{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:2px 12px;padding:6px 0}.ps-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ps-lines{width:100%;border-collapse:collapse}.ps-lines th{background:#0b2a5c;color:#fff;font-size:7.5px;text-transform:uppercase;padding:3px 5px;text-align:left;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ps-lines td{padding:2px 5px;border-bottom:.5px solid #d6dbe4;white-space:nowrap}.ps-lines td:nth-child(3){border-right:1px solid #c3cbd9}.ps-lines .r{text-align:right;font-variant-numeric:tabular-nums}.ps-lines tr.strong td{font-weight:800;border-top:1px solid #0b2a5c}.ps-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:8px}.ps-bank{display:flex;flex-direction:column;color:#334}.ps-net{border:1.5px solid #0b5bd3;border-radius:4px;padding:5px 12px;text-align:right;display:flex;flex-direction:column}.ps-net span{font-size:7.5px;text-transform:uppercase;font-weight:700;color:#0b2a5c}.ps-net b{font-size:16px;color:#0b5bd3;font-variant-numeric:tabular-nums}.ps-signs{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:auto;padding-top:22px}.ps-signs div{border-top:.75px solid #333;padding-top:2px;text-align:center;color:#333}.ps-foot{display:flex;justify-content:space-between;color:#8792a6;font-size:7px;margin-top:6px}@media print{.ps{box-shadow:none;margin:0;border-bottom:.5px dashed #b8c0ce}.ps+.ps{margin-top:0}.ps:nth-of-type(2n){break-after:page;page-break-after:always;border-bottom:0}}
