@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";
:root{--radius:12px;--radius-sm:9px;--radius-pill:9999px;--radius-button:8px;--radius-card:12px;--radius-input:6px;--font-display:"Space Grotesk",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace}[data-theme=dark]{--bg:#0a111e;--side:#080f1a;--panel:#101b2e;--soft:#13223a;--line:#1d2c46;--line-2:#172339;--ink:#e6edf7;--muted:#93a1b8;--faint:#5c6b85;--accent:#18d0c9;--accent-2:#2be3db;--accent-soft:#18d0c929;--green:#2fbf71;--green-soft:#2fbf7126;--amber:#f2a93b;--amber-soft:#f2a93b26;--red:#e5484d;--red-soft:#e5484d26;--yellow:#e6c229;--orange:#f2802e;--violet:#a78bfa;--violet-soft:#a78bfa29;--on-accent:#04231f;--shadow:0 1px 1px #0000004d;--th-grid:#ffffff04}[data-theme=light]{--bg:#f4f6f9;--side:#fff;--panel:#fff;--soft:#f8fafc;--line:#e7ebf1;--line-2:#eef1f5;--ink:#0f1b2d;--muted:#5d6b80;--faint:#93a0b3;--accent:#0d9488;--accent-2:#0f766e;--accent-soft:#d8f3f0;--green:#0e9f6e;--green-soft:#e3f6ee;--amber:#c2790f;--amber-soft:#fbeed6;--red:#d92d20;--red-soft:#fde7e4;--yellow:#b7950b;--orange:#d9630b;--violet:#7c3aed;--violet-soft:#f0eafe;--on-accent:#fff;--shadow:0 1px 2px #101b2d0a,0 4px 14px #101b2d0d;--th-grid:#00000003}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3,h4,h5{font-family:var(--font-display)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button{font-family:inherit}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-input)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.scroll-y{overflow:hidden auto}.scroll-y::-webkit-scrollbar{width:10px}.scroll-y::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--bg);border-radius:8px}.scroll-y::-webkit-scrollbar-track{background:0 0}.scroll-y{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.scroll-y::-webkit-scrollbar-thumb:hover{background:var(--muted)}.modal-body,.drawer-body,.result-list,.caja-pos .res-list{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.modal-body::-webkit-scrollbar{width:10px;height:10px}.drawer-body::-webkit-scrollbar{width:10px;height:10px}.result-list::-webkit-scrollbar{width:10px;height:10px}.caja-pos .res-list::-webkit-scrollbar{width:10px;height:10px}.modal-body::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--bg);border-radius:8px}.drawer-body::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--bg);border-radius:8px}.caja-pos .res-list::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--bg);border-radius:8px}.result-list::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--panel);border-radius:8px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--muted)}.drawer-body::-webkit-scrollbar-thumb:hover{background:var(--muted)}.result-list::-webkit-scrollbar-thumb:hover{background:var(--muted)}.caja-pos .res-list::-webkit-scrollbar-thumb:hover{background:var(--muted)}.modal-body::-webkit-scrollbar-track{background:0 0}.drawer-body::-webkit-scrollbar-track{background:0 0}.result-list::-webkit-scrollbar-track{background:0 0}.caja-pos .res-list::-webkit-scrollbar-track{background:0 0}.app{grid-template-columns:244px 1fr;width:100vw;height:100vh;display:grid;overflow:hidden}.side{background:var(--side);border-right:1px solid var(--line);flex-direction:column;padding:18px 14px;display:flex;overflow:hidden}.brand{align-items:center;gap:11px;padding:4px 8px 16px;display:flex}.brand .logo{background:linear-gradient(135deg,var(--accent-2),var(--accent));width:32px;height:32px;color:var(--on-accent);border-radius:9px;place-items:center;font-size:16px;font-weight:800;display:grid;box-shadow:0 4px 12px #18d0c94d}.brand b{letter-spacing:-.2px;color:var(--ink);font-size:16px;font-weight:700}.brand span{color:var(--faint);letter-spacing:.6px;text-transform:uppercase;font-size:10px;display:block}.nav-label{text-transform:uppercase;letter-spacing:.9px;color:var(--faint);padding:14px 10px 7px;font-size:10px;font-weight:700}.nav{flex-direction:column;gap:1px;display:flex}.nav button{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:8px 11px;font-size:13.5px;font-weight:500;transition:all .12s;display:flex}.nav button svg{stroke-width:1.8px;flex:none;width:17px;height:17px}.nav button:hover{background:var(--soft);color:var(--ink)}.nav button.on{background:var(--accent-soft);color:var(--accent)}[data-theme=dark] .nav button.on{color:#fff}[data-theme=dark] .nav button.on svg{color:var(--accent-2)}.nav button .badge{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill);text-align:center;min-width:20px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:700}.nav button .badge.warn{background:var(--amber);color:#fff}[data-theme=dark] .nav button .badge.warn{color:#3b2a00}.side-foot{border-top:1px solid var(--line-2);align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.avatar{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:9px;place-items:center;font-size:13px;font-weight:700;display:grid}[data-theme=dark] .avatar{color:var(--accent-2)}.side-foot small{color:var(--faint);font-size:11px;display:block}.app{transition:grid-template-columns .18s}.app.collapsed{grid-template-columns:72px 1fr}.side.mini{align-items:stretch;padding:18px 12px}.side.mini .brand{justify-content:center;padding:4px 0 16px}.side.mini .brand .txt{display:none}.side.mini .nav-label{background:var(--line-2);color:#0000;letter-spacing:0;height:1px;margin:14px 6px 8px;padding:0;overflow:hidden}.side.mini .nav button{justify-content:center;gap:0;padding:10px 0;position:relative}.side.mini .nav button .label{display:none}.side.mini .nav button .badge{background:var(--accent);border-radius:50%;width:8px;min-width:auto;height:8px;padding:0;font-size:0;line-height:0;position:absolute;top:5px;right:9px}.side.mini .side-foot{justify-content:center}.side.mini .side-foot .txt{display:none}.panel-toggle{flex:none}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:14px;height:62px;padding:0 22px;display:flex}.crumb{color:var(--faint);font-size:13.5px;font-weight:500}.crumb b{color:var(--ink);letter-spacing:-.2px;font-size:16px;font-weight:700;font-family:var(--font-display)}.search{background:var(--soft);border:1px solid var(--line);max-width:360px;color:var(--faint);border-radius:10px;flex:1;align-items:center;gap:9px;margin-left:6px;padding:9px 13px;font-size:13px;display:flex}.search svg{width:15px;height:15px}.search .k{border:1px solid var(--line);border-radius:5px;margin-left:auto;padding:1px 6px;font-size:10px}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.toggle{background:var(--soft);border:1px solid var(--line);border-radius:9px;gap:2px;padding:3px;display:flex}.toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 11px;font-size:11.5px;font-weight:600;display:flex}.toggle button svg{width:14px;height:14px}.toggle button.on{background:var(--panel);color:var(--ink);box-shadow:var(--shadow)}[data-theme=dark] .toggle button.on{background:var(--accent-soft);color:#fff}.icon-btn{border:1px solid var(--line);background:var(--panel);width:38px;height:38px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;display:grid;position:relative}.icon-btn svg{width:17px;height:17px}.icon-btn:hover{color:var(--ink);border-color:var(--accent)}.icon-btn .dot{background:var(--red);border:2px solid var(--panel);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;right:10px}.btn-primary{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-button);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:7px;padding:10px 15px;font-size:13px;font-weight:600;display:flex;box-shadow:0 4px 12px #18d0c938}.btn-primary svg{width:15px;height:15px}.btn-ghost{background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-button);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.btn-ghost:hover:not(:disabled){color:var(--ink);border-color:var(--accent)}.btn-ghost:disabled{opacity:.4;cursor:not-allowed}.btn-ghost svg{width:15px;height:15px}.content{flex:1;min-height:0;padding:22px 24px 40px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{letter-spacing:-.4px;font-size:22px;font-weight:700}.page-head p{color:var(--muted);margin-top:3px;font-size:13px}.page-head.bare{justify-content:flex-end;margin-bottom:10px}.page-sub{color:var(--muted);font-size:13px;line-height:1.4}.head-actions{align-items:center;gap:10px;display:flex}.segmented{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:3px;display:flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:500;display:inline-flex}.segmented button svg{width:15px;height:15px}.segmented button.on{background:var(--accent);color:var(--on-accent)}[data-theme=dark] .segmented button.on{background:var(--soft);color:var(--ink)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-pad{padding:22px 24px}.panel-head{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.panel-head h3{font-size:14px;font-weight:700}.panel-head .meta{color:var(--faint);font-size:12px}.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}[data-theme=dark] .link{color:var(--accent-2)}.panel-head .link{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}[data-theme=dark] .panel-head .link{color:var(--accent-2)}.legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.legend span{color:var(--muted);align-items:center;gap:6px;font-size:11.5px;display:flex}.legend i{border-radius:3px;width:9px;height:9px;display:inline-block}.kpis{gap:14px;margin-bottom:16px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;position:relative;overflow:hidden}.kpi .top{justify-content:space-between;align-items:center;display:flex}.kpi .ic{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.kpi .ic svg{width:18px;height:18px}.kpi.blue .ic{background:var(--accent-soft);color:var(--accent)}[data-theme=dark] .kpi.blue .ic{color:var(--accent-2)}.kpi.green .ic{background:var(--green-soft);color:var(--green)}.kpi.amber .ic{background:var(--amber-soft);color:var(--amber)}.kpi.violet .ic{background:var(--violet-soft);color:var(--violet)}.kpi.pink .ic{color:#db2777;background:#db277729}[data-theme=dark] .kpi.pink .ic{color:#f472b6}.kpi .val{letter-spacing:-.6px;font-size:27px;font-weight:700;font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:14px}.kpi .lab{color:var(--muted);margin-top:3px;font-size:13px;font-weight:500}.chip{border-radius:7px;align-items:center;gap:3px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.chip.up{color:var(--green);background:var(--green-soft)}.chip.down{color:var(--red);background:var(--red-soft)}.tbl-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%}tr.row-off{opacity:.55}tr.row-clickable:hover{background:var(--soft)}.plans-tbl tbody tr{transition:background .12s,box-shadow .12s}.plans-tbl tbody tr:hover{background:var(--accent-soft)}.plans-tbl tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.plans-tbl tbody tr.row-off{opacity:1}.plans-tbl tbody tr.row-off td{color:var(--muted)}.ro-field{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px}.method-picker{flex-wrap:wrap;gap:8px;display:flex}.method-picker .mp-chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:600;transition:all .12s;display:inline-flex}.method-picker .mp-chip:hover{border-color:var(--accent);color:var(--ink)}.method-picker .mp-chip.on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.method-picker .mp-chip .mp-check{width:14px;height:14px;display:inline-flex}.method-picker .mp-chip .mp-check svg{width:14px;height:14px}[data-theme=dark] .method-picker .mp-chip.on{color:var(--accent-2)}.tech-filter{align-items:center;gap:6px;display:inline-flex}.tf-select{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:7px;padding:5px 8px;font-size:12.5px}.tf-select:focus{border-color:var(--accent);outline:none}.mov-filters{border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.nav .tree>a.parent{cursor:pointer}.nav .tree>a.parent .chev{flex:none;width:14px;height:14px;margin-left:auto;transition:transform .18s}.nav .tree.open>a.parent .chev{transform:rotate(90deg)}.nav .tree .sub{flex-direction:column;gap:1px;margin:1px 0 5px;padding:2px 4px 2px 12px;display:none}.nav .tree.open .sub{display:flex}.nav .tree .sub a{border-left:2px solid #0000;border-radius:0 7px 7px 0;padding:6px 10px;font-size:12.8px}.nav .tree .sub a.on{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent)}[data-theme=dark] .nav .tree .sub a.on{color:#fff;background:#3b82f624}.side.mini .nav .tree .sub,.side.mini .nav .tree .chev{display:none}.cc-client-row{border:1px solid var(--line);background:var(--soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.cc-client-row>b{font-size:14px}.type-checks{flex-wrap:wrap;gap:20px;display:flex}.type-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.type-check input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.collective-check{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;display:flex}.collective-check input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:2px}.collective-check span{color:var(--ink);font-size:13.5px}.line-editor{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:14px}.rd-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.rd-tabs{border-bottom:1px solid var(--line-2);flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.rd-tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px;font-weight:600}.rd-tab:hover{color:var(--ink)}.rd-tab.on{color:var(--accent);border-bottom-color:var(--accent)}.kv-list{flex-direction:column;gap:2px;display:flex}.kv-row{border-bottom:1px solid var(--line-2);justify-content:space-between;gap:16px;padding:9px 4px;display:flex}.kv-row:last-child{border-bottom:none}.kv-k{color:var(--muted);font-size:13px}.kv-v{text-align:right;word-break:break-all;font-size:13px}.pc-edit{width:26px;height:26px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.pc-edit:hover{background:var(--soft);color:var(--ink)}.pc-edit svg{width:15px;height:15px}.export-menu{display:inline-flex;position:relative}.export-backdrop{z-index:20;position:fixed;inset:0}.export-pop{z-index:21;background:var(--panel);border:1px solid var(--line);min-width:160px;box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:2px;padding:5px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.export-pop button{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 10px;font-size:13px}.export-pop button:hover{background:var(--soft)}.price-filter{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.price-filter .pf-input{border:1px solid var(--line);background:var(--panel);width:82px;color:var(--ink);text-align:right;border-radius:7px;padding:5px 8px;font-size:12.5px}.price-filter .pf-input:focus{border-color:var(--accent);outline:none}.price-filter .pf-clear{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.price-filter .pf-clear:hover{background:var(--soft);color:var(--ink)}.price-filter .pf-clear svg{width:14px;height:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--faint);border-bottom:1px solid var(--line-2);background:var(--soft);white-space:nowrap;padding:11px 18px;font-size:10.5px;font-weight:700}[data-theme=dark] th{background:0 0}td{border-bottom:1px solid var(--line-2);color:var(--ink);padding:8px 18px;font-size:13px}tbody tr{cursor:pointer;transition:background .1s}tbody tr:hover{background:var(--soft)}tr:last-child td{border-bottom:none}.cust{align-items:center;gap:10px;display:flex}.cust .ph{color:#fff;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:grid}.cust b{font-size:13px;font-weight:600}.cust small{color:var(--faint);font-size:11px;display:block}.cust.no-av{padding:0}.cust.no-av b{color:var(--ink);font-weight:500;line-height:1.2}.cust.no-av small{margin-top:0;line-height:1.15}.tag{white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:700}.tag.com{background:var(--violet-soft);color:var(--violet)}.tag.res{background:var(--accent-soft);color:var(--accent)}[data-theme=dark] .tag.res{color:var(--accent-2)}.pill{white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.pill.ok{color:var(--green);background:var(--green-soft)}.pill.late{color:var(--red);background:var(--red-soft)}.pill.info{color:var(--accent);background:var(--accent-soft)}[data-theme=dark] .pill.info{color:var(--accent-2)}.amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:600}.grid-2{grid-template-columns:1.55fr 1fr;align-items:start;gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.stack{flex-direction:column;gap:14px;display:flex}.chart-wrap{padding:16px 18px 10px}.chart{width:100%;height:200px;display:block}.chart-x{color:var(--faint);justify-content:space-between;padding:8px 4px 2px;font-size:11px;display:flex}.spark{opacity:.5;pointer-events:none;width:100%;height:36px;position:absolute;bottom:0;right:0}.net-row{border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:12px 18px;display:flex}.net-row:last-child{border-bottom:none}.net-row .nm{width:110px;font-size:13px;font-weight:500}.net-row .bar{background:var(--line);border-radius:5px;flex:1;height:8px;overflow:hidden}.net-row .bar i{border-radius:5px;height:100%;display:block}.net-row .pc{font-family:var(--font-mono);text-align:right;width:44px;font-size:12.5px;font-weight:600}.sch{border-bottom:1px solid var(--line-2);gap:12px;padding:12px 18px;display:flex}.sch:last-child{border-bottom:none}.sch .time{font-family:var(--font-mono);color:var(--accent);flex:none;width:48px;padding-top:1px;font-size:12px;font-weight:600}[data-theme=dark] .sch .time{color:var(--accent-2)}.sch .body b{font-size:13px;font-weight:600;display:block}.sch .body small{color:var(--faint);font-size:11.5px}.sch .who{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;margin-left:auto;font-size:11.5px;display:flex}.sch .av{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:7px;place-items:center;font-size:10px;font-weight:700;display:grid}[data-theme=dark] .sch .av{color:var(--accent-2)}.wa-stat{grid-template-columns:repeat(3,1fr);display:grid}.wa-stat>div{border-right:1px solid var(--line-2);padding:14px 16px}.wa-stat>div:last-child{border-right:none}.wa-stat .v{font-family:var(--font-mono);font-size:21px;font-weight:700}.wa-stat .l{color:var(--faint);margin-top:2px;font-size:11px}.note{color:var(--muted);font-size:13px;line-height:1.6}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.tcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.tcard .row{align-items:center;gap:12px;display:flex}.tcard .av{color:#fff;border-radius:12px;flex:none;place-items:center;width:46px;height:46px;font-size:16px;font-weight:700;display:grid}.tcard h4{font-size:15px;font-weight:700}.tcard .role{color:var(--faint);font-size:12px}.tcard .stats{border-top:1px solid var(--line-2);gap:18px;margin-top:14px;padding-top:14px;display:flex}.tcard .stats div .n{font-family:var(--font-mono);font-size:17px;font-weight:700}.tcard .stats div .k{color:var(--faint);font-size:11px}.st{align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.st:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.c-green{color:var(--green)}.c-amber{color:var(--amber)}.c-red{color:var(--red)}.c-muted{color:var(--muted)}.c-accent{color:var(--accent)}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.fchip{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;padding:7px 14px;font-size:12.5px;font-weight:600}.fchip.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-theme=dark] .fchip.on{background:var(--accent-soft);color:#fff;border-color:#0000}.fsearch{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-input);color:var(--faint);align-items:center;gap:8px;min-width:220px;margin-left:auto;padding:8px 13px;font-size:13px;display:flex}.fsearch svg{width:15px;height:15px}.fsearch input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13px}.fsearch input::placeholder{color:var(--faint)}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#050a148c;justify-content:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer{background:var(--bg);border-left:1px solid var(--line);flex-direction:column;width:480px;max-width:92vw;height:100%;animation:.22s cubic-bezier(.2,.7,.3,1) slide;display:flex}@keyframes slide{0%{opacity:.4;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.drawer-head{border-bottom:1px solid var(--line);align-items:flex-start;gap:14px;padding:20px 22px;display:flex}.drawer-body{flex-direction:column;gap:18px;padding:20px 22px;display:flex}.dl{grid-template-columns:130px 1fr;gap:8px 14px;font-size:13px;display:grid}.dl dt{color:var(--faint)}.dl dd{color:var(--ink);font-weight:500}.x-btn{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:9px;place-items:center;margin-left:auto;display:grid}.x-btn svg{width:16px;height:16px}.sect-title{text-transform:uppercase;letter-spacing:.6px;color:var(--faint);margin-bottom:10px;font-size:11px;font-weight:700}.inbox{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);height:100%;box-shadow:var(--shadow);grid-template-columns:320px 1fr;display:grid;overflow:hidden}.conv-list{border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.conv-search{border-bottom:1px solid var(--line-2);padding:14px}.conv-search div{background:var(--soft);border:1px solid var(--line);color:var(--faint);border-radius:9px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.conv-search svg{width:15px;height:15px}.conv{border-bottom:1px solid var(--line-2);cursor:pointer;gap:11px;padding:13px 16px;display:flex}.conv:hover{background:var(--soft)}.conv.on{background:var(--accent-soft)}.conv .av{color:#fff;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:grid}.conv .top{justify-content:space-between;align-items:center;display:flex}.conv .nm{font-size:13.5px;font-weight:600}.conv .tm{color:var(--faint);font-size:10.5px}.conv .pv{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:210px;margin-top:2px;font-size:12px;overflow:hidden}.conv .unread{background:var(--green);color:#04130c;border-radius:20px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:grid}.chat{flex-direction:column;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--line-2);align-items:center;gap:12px;padding:14px 18px;display:flex}.chat-head .av{color:#fff;border-radius:10px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid}.chat-body{background:var(--bg);flex-direction:column;flex:1;gap:12px;padding:20px;display:flex}.bubble{border-radius:14px;max-width:74%;padding:10px 13px;font-size:13px;line-height:1.5}.bubble.in{background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:4px;align-self:flex-start}.bubble.out{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px;align-self:flex-end}[data-theme=dark] .bubble.out{background:#1d4ed8}.bubble .t{opacity:.7;text-align:right;font-size:10px;font-family:var(--font-mono);margin-top:4px}.chat-input{border-top:1px solid var(--line-2);gap:10px;padding:14px 18px;display:flex}.chat-input input{background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:10px;outline:none;flex:1;padding:11px 14px;font-family:inherit;font-size:13px}.chat-input input::placeholder{color:var(--faint)}.chat-send{background:var(--accent);width:44px;color:var(--on-accent);cursor:pointer;border:none;border-radius:10px;place-items:center;display:grid}.chat-send svg{width:18px;height:18px}.bignum{font-family:var(--font-mono);letter-spacing:-1px;font-size:34px;font-weight:700}.bars{align-items:flex-end;gap:10px;height:200px;padding:18px;display:flex}.bars .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.bars .col .stk{border-radius:5px 5px 0 0;flex-direction:column-reverse;width:60%;display:flex;overflow:hidden}.bars .col .lb{color:var(--faint);font-size:11px}.kv{flex-direction:column;gap:2px;display:flex}.kv .k{color:var(--faint);font-size:11px}.kv .v{font-size:13px;font-weight:600;font-family:var(--font-mono)}.screen{opacity:1}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;background:#050a148c;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:780px;max-width:96vw;max-height:92vh;display:flex;overflow:hidden;box-shadow:0 24px 60px #0006}.modal-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:16px;padding:18px 24px;display:flex}.modal-head .ttl{font-size:17px;font-weight:700}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:10px;padding:16px 24px;display:flex}.stepper{align-items:center;gap:8px;margin-left:auto;display:flex}.stepper .s{color:var(--faint);white-space:nowrap;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.stepper .s .n{border:1.5px solid var(--line);width:24px;height:24px;font-size:11px;font-family:var(--font-mono);border-radius:50%;place-items:center;display:grid}.stepper .s .n svg{width:13px;height:13px}.stepper .s.on{color:var(--ink)}.stepper .s.on .n{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.stepper .s.done .n{background:var(--green);border-color:var(--green);color:#04130c}.stepper .sep{background:var(--line);width:22px;height:1.5px}@media (max-width:680px){.stepper .s .lbl{display:none}}.type-cards{grid-template-columns:1fr 1fr;gap:16px;margin-top:6px;display:grid}.type-card{border:1.5px solid var(--line);cursor:pointer;background:var(--panel);text-align:left;border-radius:14px;padding:22px;transition:all .14s}.type-card:hover{border-color:var(--accent-2)}.type-card.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.type-card .tc-ic{border-radius:13px;place-items:center;width:48px;height:48px;margin-bottom:16px;display:grid}.type-card .tc-ic svg{width:23px;height:23px}.type-card.com .tc-ic{background:var(--violet-soft);color:var(--violet)}.type-card.res .tc-ic{background:var(--accent-soft);color:var(--accent)}[data-theme=dark] .type-card.res .tc-ic{color:var(--accent-2)}.type-card h4{color:var(--ink);justify-content:space-between;align-items:center;font-size:16px;font-weight:700;display:flex}.type-card p{color:var(--muted);margin-top:6px;font-size:12.5px;line-height:1.5}.type-card .check{border:1.5px solid var(--line);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.type-card.on .check{background:var(--accent);border-color:var(--accent)}.type-card .check svg{color:#fff;opacity:0;width:13px;height:13px}.type-card.on .check svg{opacity:1}.type-card .tc-tags{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.type-card .tc-tags span{color:var(--muted);background:var(--soft);border:1px solid var(--line-2);border-radius:7px;padding:4px 9px;font-size:11px;font-weight:600}.form-section+.form-section{margin-top:24px}.form-section h5{text-transform:uppercase;letter-spacing:.7px;color:var(--faint);align-items:center;gap:10px;margin-bottom:16px;font-size:11px;font-weight:700;display:flex}.form-section h5 .si{background:var(--soft);border:1px solid var(--line-2);width:24px;height:24px;color:var(--accent);border-radius:7px;place-items:center;display:grid}.form-section h5 .si svg{width:13px;height:13px}.form-section h5:after{content:"";background:var(--line-2);flex:1;height:1px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field.full{grid-column:1/-1}.field label{color:var(--ink);font-size:12px;font-weight:600}.field label .opt{color:var(--faint);text-transform:lowercase;font-weight:400}.field label .req{color:var(--red);margin-left:2px}.field input,.field select,.field textarea{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-input);color:var(--ink);outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:13.5px;transition:all .12s}.field textarea{resize:vertical}.field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2393a0b3' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}[data-theme=dark] .field input[type=date]::-webkit-calendar-picker-indicator{filter:invert()opacity(.6)}.field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--panel) inset;-webkit-text-fill-color:var(--ink);transition:background-color}.field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--panel) inset;-webkit-text-fill-color:var(--ink);transition:background-color}.field .hint{color:var(--faint);font-size:11px}.tipmark{border:1px solid var(--line);width:13px;height:13px;color:var(--faint);cursor:help;vertical-align:middle;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;margin-left:5px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.tipmark:hover{border-color:var(--accent);color:var(--accent)}.lines-tbl{table-layout:fixed}.lines-tbl th,.lines-tbl td{vertical-align:middle;padding:6px 8px}.lines-tbl th:first-child,.lines-tbl td:first-child{padding-left:0}.lines-tbl th:last-child,.lines-tbl td:last-child{padding-right:0}.lines-tbl tbody tr{cursor:default}.lines-tbl tbody tr:hover{background:0 0}.lines-tbl input,.lines-tbl select{background:var(--panel);border:1px solid var(--line);color:var(--ink);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:7px 9px;font-family:inherit;font-size:13px;transition:all .12s}.lines-tbl input[type=checkbox]{appearance:none;border:1.5px solid var(--line);background:var(--panel);cursor:pointer;border-radius:5px;flex:none;width:17px;height:17px;padding:0;transition:all .12s;position:relative}.lines-tbl input[type=checkbox]:hover{border-color:var(--accent)}.lines-tbl input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.lines-tbl input[type=checkbox]:checked:after{content:"";border:solid var(--on-accent);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4.5px;transform:rotate(45deg)}.lines-tbl input[type=checkbox]:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.lines-tbl select{cursor:pointer}.lines-tbl input::placeholder{color:var(--faint)}.lines-tbl input:focus,.lines-tbl select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}[data-theme=dark] .lines-tbl input[type=date]::-webkit-calendar-picker-indicator{filter:invert()opacity(.6)}.seg-radio{flex-wrap:wrap;gap:8px;display:flex}.seg-radio button{color:var(--muted);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:9px;padding:9px 14px;font-size:12.5px;font-weight:600}.seg-radio button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}[data-theme=dark] .seg-radio button.on{background:var(--accent-soft);color:#fff;border-color:#0000}.nc-success{text-align:center;padding:30px 20px 10px}.nc-success .big-ic{background:var(--green-soft);width:72px;height:72px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.nc-success .big-ic svg{width:34px;height:34px}.nc-success h3{font-size:20px;font-weight:700}.nc-success p{color:var(--muted);margin-top:8px;font-size:13.5px;line-height:1.6}.nc-summary{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:12px;max-width:420px;margin:22px auto 0;padding:16px 18px}.nc-summary .row{border-bottom:1px solid var(--line-2);justify-content:space-between;padding:7px 0;font-size:13px;display:flex}.nc-summary .row:last-child{border-bottom:none}.nc-summary .row .k{color:var(--faint)}.nc-summary .row .v{font-weight:600}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.sel-card{background:var(--panel);border:1px solid var(--accent);box-shadow:0 0 0 3px var(--accent-soft);border-radius:13px;align-items:center;gap:14px;padding:16px;display:flex}.sel-card.slim{border-color:var(--line);box-shadow:none;background:var(--soft);padding:12px 14px}.sel-card .ph{color:#fff;border-radius:12px;flex:none;place-items:center;width:46px;height:46px;font-size:16px;font-weight:700;display:grid}.sel-card.slim .ph{border-radius:9px;width:34px;height:34px;font-size:12px}.sel-card b{font-size:15px;font-weight:700}.sel-card.slim b{font-size:13.5px}.result-list{border:1px solid var(--line);border-radius:12px;flex-direction:column;max-height:340px;display:flex;overflow:hidden auto}.result-row{border:none;border-bottom:1px solid var(--line-2);background:var(--panel);color:var(--ink);cursor:pointer;align-items:center;gap:12px;width:100%;padding:11px 14px;transition:all .1s;display:flex}.result-row:last-child{border-bottom:none}.result-row:hover{background:var(--soft)}.result-row .ph{width:34px;height:34px;color:var(--on-accent);background:var(--accent);border-radius:9px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.result-row b{color:var(--ink);font-size:13.5px;font-weight:600}.result-row .pick-ic{border:1px solid var(--line);width:26px;height:26px;color:var(--accent);border-radius:7px;flex:none;place-items:center;display:grid}.result-row .pick-ic svg{width:14px;height:14px}.result-row:hover .pick-ic{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.empty-row{text-align:center;color:var(--faint);padding:24px;font-size:13px}.co-result{text-align:left;border:1px solid var(--line-2);color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px 10px;transition:all .12s;display:flex}.co-result:hover{background:var(--soft)}.co-result.on{background:color-mix(in srgb,var(--accent) 12%,transparent)}.co-result .ph{color:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.co-result b{color:var(--ink);font-size:13.5px;font-weight:600}.create-cta{border:1.5px dashed var(--line);background:var(--panel);width:100%;color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:14px;margin-top:14px;padding:14px 16px;transition:all .12s;display:flex}.create-cta:hover{border-color:var(--accent);background:var(--accent-soft)}.create-cta .ci{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;flex:none;place-items:center;display:grid}[data-theme=dark] .create-cta .ci{color:var(--accent-2)}.create-cta .ci svg{stroke-width:2.4px;width:18px;height:18px}.create-cta b{color:var(--ink);font-size:14px;font-weight:700}.inline-banner{color:var(--accent);background:var(--accent-soft);border-radius:10px;align-items:center;gap:9px;margin-bottom:20px;padding:11px 14px;font-size:13px;font-weight:600;display:flex}[data-theme=dark] .inline-banner{color:var(--accent-2)}.inline-banner svg{width:16px;height:16px}.pay-ctr-list{flex-direction:column;gap:10px;display:flex}.pay-ctr{border:1.5px solid var(--line);background:var(--panel);width:100%;color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:all .12s;display:flex}.pay-ctr:hover{border-color:var(--accent);background:var(--soft)}.pay-ctr.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.pay-ctr .radio{border:2px solid var(--line);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;transition:all .12s;display:grid}.pay-ctr .radio.on{background:var(--accent);border-color:var(--accent)}.pay-ctr .radio svg{stroke-width:3.4px;width:13px;height:13px}.pay-ctr .pc-main{text-align:left;flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.pay-ctr .pc-top{align-items:center;gap:9px;display:flex}.pay-ctr .pc-code{white-space:nowrap;font-size:13.5px;font-weight:700}.pay-ctr .pc-plan{color:var(--muted);font-size:12.5px}.pay-ctr .pc-start{color:var(--faint);font-size:11.5px}.pay-ctr .pc-amt{text-align:right;flex:none}.pay-ctr .pc-amt-lbl{color:var(--faint);font-size:11px}.pay-due{gap:12px;margin-bottom:22px;display:flex}.pay-due>div{background:var(--soft);border:1px solid var(--line-2);border-radius:11px;flex-direction:column;flex:1;gap:4px;padding:12px 14px;display:flex}.pay-due .k{text-transform:uppercase;letter-spacing:.5px;color:var(--faint);font-size:11px;font-weight:700}.pay-due .v{font-size:16px;font-weight:700}.amount-input{border:1px solid var(--line);background:var(--panel);border-radius:9px;align-items:center;display:flex;overflow:hidden}.amount-input .cur{color:var(--faint);padding:0 4px 0 14px;font-size:15px;font-weight:700}.amount-input input{width:100%;color:var(--ink);background:0 0;border:none;padding:11px 14px 11px 4px;font-size:15px;font-weight:600}.amount-input input[type=number]{appearance:textfield}.amount-input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.amount-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.amount-chips{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.amount-chips button{color:var(--accent);background:var(--accent-soft);cursor:pointer;border:none;border-radius:8px;padding:6px 11px;font-size:11.5px;font-weight:600}[data-theme=dark] .amount-chips button{color:var(--accent-2)}.amount-chips button:hover{filter:brightness(1.05)}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:6px;display:grid}.plan-card{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--cat);border-radius:16px;flex-direction:column;padding:18px 18px 16px;display:flex;position:relative}.plan-card.off{opacity:.62}.plan-card .pc-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.cat-badge{color:#fff;letter-spacing:.3px;border-radius:7px;padding:4px 10px;font-size:11px;font-weight:700}.plan-card .pc-name{font-size:19px;font-weight:700;line-height:1.1}.plan-card .pc-id{color:var(--faint);margin-top:3px;font-size:11px}.plan-card .pc-speeds{gap:10px;margin:16px 0;display:flex}.plan-card .pc-speeds>div{background:var(--soft);border:1px solid var(--line-2);border-radius:10px;flex:1;align-items:center;gap:8px;padding:9px 11px;display:flex}.plan-card .pc-speeds svg{width:18px;height:18px;color:var(--cat);flex:none}.plan-card .pc-speeds .up svg{transform:rotate(180deg)}.plan-card .pc-speeds b{font-size:13.5px;font-weight:700;line-height:1.1;display:block}.plan-card .pc-speeds small{color:var(--faint);font-size:10.5px}.plan-card .pc-price{align-items:baseline;gap:5px;margin-bottom:14px;display:flex}.plan-card .pc-price .amt{font-size:26px;font-weight:800;font-family:var(--font-mono);color:var(--ink)}.plan-card .pc-price .per{color:var(--faint);font-size:13px}.plan-card .pc-tags{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.ptag{color:var(--cat);background:color-mix(in srgb,var(--cat) 14%,transparent);border-radius:7px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.ptag svg{stroke-width:3px;width:12px;height:12px}.ptag.soft{color:var(--muted);background:var(--soft)}.plan-card .pc-foot{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;display:flex}.plan-card .pc-foot .subs{color:var(--muted);font-size:12.5px}.plan-card .pc-foot .subs b{color:var(--ink);font-weight:700}.sw{background:var(--line);cursor:pointer;border:none;border-radius:99px;flex:none;width:38px;height:22px;padding:0;transition:all .16s;position:relative}.sw .dot{background:#fff;border-radius:50%;width:16px;height:16px;transition:all .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0000004d}.sw.on{background:var(--green)}.sw.on .dot{left:19px}.switch-row{color:var(--muted);align-items:center;gap:11px;margin-top:13px;font-size:13.5px;font-weight:500;display:flex}.cat-badge{align-items:center;gap:6px;display:inline-flex}.cat-badge svg{width:13px;height:13px}.pf-desc{color:var(--muted);min-height:36px;margin:12px 0 14px;font-size:13px;line-height:1.4}.perm-dots{flex-wrap:wrap;gap:5px;margin-bottom:14px;display:flex}.pdot{cursor:default;border-radius:4px;width:13px;height:13px}.swatches{flex-wrap:wrap;gap:9px;display:flex}.sw-c{cursor:pointer;color:#fff;border:2px solid #0000;border-radius:8px;place-items:center;width:30px;height:30px;transition:all .12s;display:grid}.sw-c.on{box-shadow:0 0 0 2px var(--panel),0 0 0 4px currentColor}.sw-c svg{stroke-width:3px;width:15px;height:15px}.perm-seg{flex:none;width:auto;display:inline-flex}.perm-seg button{white-space:nowrap;padding:6px 12px;font-size:12px}.perm-quick{color:var(--faint);align-items:center;gap:12px;margin-bottom:14px;font-size:12.5px;font-weight:600;display:flex}.perm-list{border:1px solid var(--line);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.perm-row{background:var(--panel);justify-content:space-between;align-items:center;gap:14px;padding:10px 14px;display:flex}.perm-row:nth-child(2n){background:var(--soft)}.pm-name{color:var(--ink);font-size:13.5px;font-weight:600}.user-cell{align-items:center;gap:11px;display:flex}.user-cell .av{color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.user-cell .u-mail{color:var(--faint);font-size:11.5px}.prof-badge{color:var(--ink);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);border-radius:8px;align-items:center;gap:7px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.prof-badge .d{background:var(--c);border-radius:50%;width:8px;height:8px}.prof-options{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.prof-opt{border:1.5px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;border-radius:11px;align-items:center;gap:9px;padding:11px 13px;transition:all .12s;display:flex}.prof-opt:hover{border-color:var(--accent)}.prof-opt.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft)}.prof-opt .d{border-radius:50%;flex:none;width:10px;height:10px}.prof-opt .nm{flex:1;font-size:13.5px;font-weight:600}.prof-opt .mc{color:var(--faint);font-size:11px}.pass-row{align-items:stretch;gap:9px;display:flex}.pass-row>div{flex:1}.pass-row .gen{white-space:nowrap;flex:none}.pass-row .gen svg{width:15px;height:15px}.cat-filter{flex-wrap:wrap;gap:8px;margin:2px 0 16px;display:flex}.cat-filter button{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;padding:7px 14px;font-size:12.5px;font-weight:600;transition:all .12s}.cat-filter button:hover{border-color:var(--accent);color:var(--ink)}.cat-filter button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cat-tag{background:var(--soft);color:var(--muted);border:1px solid var(--line-2);border-radius:7px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-block}.cat-tag[data-c=cpe]{color:#2563eb;background:#2563eb1f}.cat-tag[data-c=network]{color:#7c3aed;background:#7c3aed1f}.cat-tag[data-c=cable]{color:#0891b2;background:#0891b21f}.cat-tag[data-c=connector]{color:#0d9488;background:#0d94881f}.cat-tag[data-c=power]{color:#ea580c;background:#ea580c1f}.cat-tag[data-c=tools]{color:#65a30d;background:#65a30d1f}[data-theme=dark] .cat-tag[data-c=cpe]{color:#60a5fa}[data-theme=dark] .cat-tag[data-c=network]{color:#a78bfa}[data-theme=dark] .cat-tag[data-c=cable]{color:#22d3ee}[data-theme=dark] .cat-tag[data-c=connector]{color:#2dd4bf}[data-theme=dark] .cat-tag[data-c=power]{color:#fb923c}[data-theme=dark] .cat-tag[data-c=tools]{color:#a3e635}.pill.pend{color:var(--amber);background:var(--amber-soft)}.move-preview{background:var(--soft);border:1px solid var(--line-2);border-radius:12px;justify-content:center;align-items:center;gap:18px;margin-top:18px;padding:16px;display:flex}.move-preview>div{flex-direction:column;align-items:center;gap:4px;display:flex}.move-preview .k{text-transform:uppercase;letter-spacing:.4px;color:var(--faint);font-size:11px;font-weight:700}.move-preview .v{font-size:20px;font-weight:700}.move-preview>svg{width:22px;height:22px;color:var(--faint);flex:none}.field textarea.ta{background:var(--panel);border:1px solid var(--line);color:var(--ink);resize:vertical;border-radius:9px;outline:none;width:100%;min-height:96px;padding:11px 12px;font-family:inherit;font-size:13.5px;line-height:1.55;transition:all .12s}.field textarea.ta::placeholder{color:var(--faint)}.field textarea.ta:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.report-list{grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:16px;display:grid}.report-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;flex-direction:column;padding:18px;display:flex}.report-card .rc-head{align-items:center;gap:12px;margin-bottom:13px;display:flex}.report-card .av{color:#fff;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:grid}.rc-tech{font-size:15px;font-weight:700;line-height:1.1}.rc-meta{color:var(--faint);margin-top:2px;font-size:11.5px}.rc-tags{flex:none;align-items:center;gap:7px;display:flex}.kind-tag{letter-spacing:.2px;border-radius:7px;padding:3px 9px;font-size:11px;font-weight:700}.kind-tag[data-k=install]{color:#2563eb;background:#2563eb21}.kind-tag[data-k=support]{color:#ea580c;background:#ea580c21}.kind-tag[data-k=maint]{color:#7c3aed;background:#7c3aed21}[data-theme=dark] .kind-tag[data-k=install]{color:#60a5fa}[data-theme=dark] .kind-tag[data-k=support]{color:#fb923c}[data-theme=dark] .kind-tag[data-k=maint]{color:#a78bfa}.rc-client{color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.rc-client svg{width:15px;height:15px;color:var(--faint);flex:none}.rc-client b{color:var(--ink);font-weight:600}.rc-client .mono{color:var(--faint);font-size:11px}.rc-desc{color:var(--muted);text-wrap:pretty;margin:0 0 14px;font-size:13px;line-height:1.5}.rc-sup{border-top:1px solid var(--line-2);margin-top:auto;padding-top:12px}.rc-sup-head{white-space:nowrap;text-transform:uppercase;letter-spacing:.4px;color:var(--faint);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:11px;font-size:11px;font-weight:700;display:flex}.rc-sup-head>span:first-child{text-overflow:ellipsis;overflow:hidden}.rc-sup-head .mono{color:var(--green);letter-spacing:0}.sup-chips{flex-wrap:wrap;gap:7px;display:flex}.sup-chip{color:var(--ink);background:var(--soft);border:1px solid var(--line-2);border-radius:8px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:500;display:inline-flex}.sup-chip svg{width:12px;height:12px;color:var(--faint)}.sup-chip b{color:var(--accent);font-weight:700}[data-theme=dark] .sup-chip b{color:var(--accent-2)}.rc-nosup{color:var(--faint);font-size:12.5px}.sup-rows{flex-direction:column;gap:9px;display:flex}.sup-empty{color:var(--faint);padding:8px 0;font-size:12.5px}.sup-row{align-items:center;gap:9px;display:flex}.il-desc{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:9px;outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.il-desc:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sup-sel{background:var(--panel);border:1px solid var(--line);min-width:0;color:var(--ink);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2393a0b3' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border-radius:9px;outline:none;flex:1;padding:9px 11px;font-family:inherit;font-size:13px}.sup-sel:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sup-avail{color:var(--faint);white-space:nowrap;flex:none;font-size:11px}.sup-qty{background:var(--panel);border:1px solid var(--line);width:64px;color:var(--ink);text-align:center;border-radius:9px;outline:none;flex:none;padding:9px 10px;font-family:inherit;font-size:13px}.sup-qty:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sup-del{border:1px solid var(--line);background:var(--panel);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:8px;flex:none;place-items:center;display:grid}.sup-del:hover{color:var(--red);border-color:var(--red)}.sup-del svg{width:14px;height:14px}.sup-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.sup-add{flex:none}.sup-total{color:var(--muted);font-size:12.5px}.sup-total b{color:var(--ink)}.inline-hint{color:var(--faint);align-items:center;gap:8px;margin-top:12px;font-size:11.5px;display:flex}.inline-hint svg{flex:none;width:14px;height:14px}.period-bar{background:var(--panel);border:1px solid var(--line);border-radius:13px;margin-bottom:18px;padding:15px 16px}.period-bar .pb-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.period-bar .pb-title{color:var(--ink);align-items:center;gap:9px;font-size:13.5px;font-weight:700;display:flex}.period-bar .pb-title svg{width:16px;height:16px;color:var(--accent)}[data-theme=dark] .period-bar .pb-title svg{color:var(--accent-2)}.period-bar .pb-count{color:var(--faint);font-size:12.5px}.period-bar .pb-count b{color:var(--ink);font-weight:700}.period-bar .pb-chips{margin:0}.period-bar .pb-custom{border-top:1px solid var(--line-2);flex-wrap:wrap;gap:16px;margin-top:14px;padding-top:14px;display:flex}.period-bar .pb-custom label{color:var(--muted);align-items:center;gap:9px;font-size:12.5px;font-weight:600;display:flex}.period-bar .pb-custom input{background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:9px;outline:none;padding:8px 11px;font-family:inherit;font-size:13px}.period-bar .pb-custom input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.period-empty{color:var(--faint);text-align:center;border:1.5px dashed var(--line);border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:54px 20px;display:flex}.period-empty svg{opacity:.6;width:30px;height:30px}.period-empty span{font-size:13.5px}.chip-terms{white-space:nowrap;border-radius:7px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.chip-terms.cash{color:var(--green);background:var(--green-soft)}.chip-terms.credit{color:var(--amber);background:var(--amber-soft)}.acct-badge{color:var(--ink);background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);border-radius:8px;align-items:center;gap:7px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.acct-badge .d{background:var(--c);border-radius:50%;width:8px;height:8px}.modal.sm{max-width:520px}.pair-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.olt-panel-acts{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:12px;display:flex}.olt-panel-acts.start{justify-content:flex-start}@media (max-width:768px){.olt-panel-acts,.olt-panel-acts.start{justify-content:stretch}.olt-panel-acts>button{flex:1;justify-content:center;min-width:140px;min-height:38px}.olt-panel-acts>.inline-hint{flex:1 0 100%}}.load-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 24px;display:flex}.load-state .ls-spin{border:3px solid var(--line-2,var(--line));border-top-color:var(--accent);border-radius:50%;flex:none;width:34px;height:34px;animation:.8s linear infinite ls-spin}@keyframes ls-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.load-state .ls-spin{animation:none}}.load-state .ls-t{color:var(--ink);font-size:14px;font-weight:600}.load-state .ls-s{color:var(--muted);max-width:320px;font-size:12.5px;line-height:1.5}.load-state .ls-bar{background:color-mix(in srgb,var(--accent) 16%,transparent);border-radius:3px;width:200px;max-width:100%;height:3px;margin-top:4px;position:relative;overflow:hidden}.load-state .ls-bar:before{content:"";background:var(--accent);border-radius:3px;width:40%;animation:1.15s ease-in-out infinite busy-slide;position:absolute;top:0;bottom:0}@media (prefers-reduced-motion:reduce){.load-state .ls-bar:before{opacity:.5;width:100%;animation:none}}.busy-veil{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#050a148c;place-items:center;padding:28px;animation:.15s fade;display:grid;position:fixed;inset:0}.busy-veil .busy-card{background:var(--panel);border:1px solid var(--line-2,var(--line));color:var(--ink);border-radius:12px;align-items:center;gap:10px;max-width:calc(100vw - 48px);padding:14px 20px 17px;font-size:13.5px;font-weight:600;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 12px 36px #0006}.busy-veil .busy-bar{background:color-mix(in srgb,var(--accent) 18%,transparent);height:3px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.busy-veil .busy-bar:before{content:"";background:var(--accent);border-radius:3px;width:40%;animation:1.15s ease-in-out infinite busy-slide;position:absolute;top:0;bottom:0}@keyframes busy-slide{0%{transform:translate(250%)}to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){.busy-veil .busy-bar:before{opacity:.5;width:100%;animation:none}}.warn-box{align-items:flex-start;gap:13px;display:flex}.warn-box .wb-ic{background:var(--amber-soft,color-mix(in srgb,var(--amber,#d97706) 14%,transparent));width:42px;height:42px;color:var(--amber,#d97706);border-radius:11px;flex:none;place-items:center;display:grid}.warn-box .wb-ic svg{width:22px;height:22px}.warn-box .wb-txt{flex:1;min-width:0}.warn-box .wb-t{color:var(--ink);margin-bottom:3px;font-size:14.5px;font-weight:600}.warn-box .wb-s{color:var(--muted);font-size:13px;line-height:1.5}.warn-impact{background:color-mix(in srgb,var(--red) 8%,transparent);border:1px solid color-mix(in srgb,var(--red) 22%,transparent);color:var(--ink);border-radius:10px;margin-top:12px;padding:11px 13px;font-size:13px}.warn-impact b{font-size:15px}.btn-danger{border-radius:var(--radius-input);background:var(--red);color:#fff;cursor:pointer;border:1px solid #0000;align-items:center;gap:7px;padding:9px 15px;font-size:13px;font-weight:600;transition:filter .12s;display:inline-flex}.btn-danger:hover{filter:brightness(1.08)}.btn-danger:disabled{opacity:.55;cursor:default}.cfg-section-head{background:var(--panel);border:1px solid var(--line);border-radius:13px;align-items:center;gap:14px;margin:4px 0 20px;padding:16px 18px;display:flex}.cfg-section-head .csh-ic{background:var(--accent-soft);width:42px;height:42px;color:var(--accent);border-radius:11px;flex:none;place-items:center;display:grid}[data-theme=dark] .cfg-section-head .csh-ic{color:var(--accent-2)}.cfg-section-head .csh-ic svg{width:21px;height:21px}.cfg-section-head h3{margin:0;font-size:16px;font-weight:700}.cfg-section-head p{color:var(--muted);text-wrap:pretty;max-width:760px;margin:3px 0 0;font-size:12.5px;line-height:1.45}.fs-msg{color:var(--muted);padding:18px;font-size:13.5px}.fs-sec{margin-bottom:14px;padding:18px 18px 20px}.fs-sec-head{margin-bottom:16px}.fs-sec-head b{font-size:14px;font-weight:700}.fs-sec-head small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.fs-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.fs-sec .field label{align-items:center;gap:5px;display:flex}.fs-sec .field label svg{width:12px;height:12px;color:var(--faint);flex:none}.fs-file{color:var(--muted);cursor:pointer;padding:8px 0;font-size:12px}.fs-multi{flex-wrap:wrap;gap:6px;display:flex}.fs-chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:600;transition:all .12s}.fs-chip:hover{border-color:var(--accent)}.fs-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.fs-actions{justify-content:flex-end;align-items:center;gap:12px;margin:6px 0 24px;display:flex}.fs-actions .fs-err{color:var(--red);font-size:13px;font-weight:600}.fs-actions .fs-ok{color:var(--green,#0e9f6e);font-size:13px;font-weight:600}.conc-count{color:var(--muted);background:var(--soft);border:1px solid var(--line-2);border-radius:7px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.conc-count svg{width:12px;height:12px;color:var(--faint)}.conc-list{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.conc-item{border:1.5px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;transition:all .12s;display:flex}.conc-item:hover{border-color:var(--accent)}.conc-item.on{border-color:var(--accent);background:var(--accent-soft)}.conc-item .cbox{border:2px solid var(--line);color:#fff;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;transition:all .12s;display:grid}.conc-item .cbox.on{background:var(--accent);border-color:var(--accent)}.conc-item .cbox svg{stroke-width:3.4px;width:12px;height:12px}.conc-item .cn{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.conc-item .ct{color:var(--c);flex:none;align-items:center;gap:5px;font-size:10.5px;font-weight:700;display:inline-flex}.conc-item .ct .d{background:var(--c);border-radius:50%;width:7px;height:7px}.conc-item .cv{color:var(--faint);text-align:right;flex:none;min-width:42px;font-size:11.5px}.conc-group-head{border-bottom:1.5px solid color-mix(in srgb,var(--c) 25%,transparent);align-items:center;gap:8px;margin-bottom:8px;padding:6px 4px;display:flex}.conc-group-head .d{background:var(--c);border-radius:50%;flex:none;width:9px;height:9px}.conc-group-head .cgh-label{color:var(--c);text-transform:uppercase;letter-spacing:.04em;flex:1;font-size:12px;font-weight:700}.conc-group-head .cgh-count{color:var(--faint);font-size:11.5px;font-weight:600}.cert-row{align-items:center;gap:9px;display:flex}.cert-row .sup-sel{flex:1;min-width:0}.cert-row .cert-exp{color:var(--faint);white-space:nowrap;flex:none;align-items:center;gap:8px;font-size:11.5px;font-weight:600;display:flex}.cert-row .cert-exp input{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:9px;outline:none;padding:8px 10px;font-family:inherit;font-size:12.5px}.cert-row .cert-exp input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.period-select{background:var(--panel);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:9px;outline:none;padding:9px 13px;font-family:inherit;font-size:13px;font-weight:600}.period-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pr-table tbody .pr-row{cursor:pointer;transition:background .12s}.pr-table tbody .pr-row:hover{background:var(--soft)}.pr-table tbody .pr-row.open{background:var(--accent-soft)}.pr-caret{color:var(--faint);place-items:center;transition:transform .18s;display:inline-grid}.pr-caret svg{width:16px;height:16px}.pr-caret.up{color:var(--accent);transform:rotate(180deg)}.inv-row{cursor:pointer;transition:background .12s}.inv-row:hover{background:var(--soft)}.inv-lines{border:1px solid var(--line);border-radius:12px;margin-bottom:18px;overflow:hidden}.inv-lines-head{background:var(--soft);border-bottom:1px solid var(--line-2);text-transform:uppercase;letter-spacing:.5px;color:var(--faint);grid-template-columns:1fr 70px 130px 36px;gap:10px;padding:9px 14px;font-size:11px;font-weight:700;display:grid}.inv-line{border-bottom:1px solid var(--line-2);grid-template-columns:1fr 70px 130px 36px;align-items:center;gap:10px;padding:8px 14px;display:grid}.inv-line:last-of-type{border-bottom:none}.inv-line input{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:8px;outline:none;width:100%;padding:9px 11px;font-family:inherit;font-size:13px;transition:all .12s}.inv-line input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inv-line .il-qty{text-align:center}.inv-line .il-price{border:1px solid var(--line);background:var(--panel);border-radius:8px;align-items:center;display:flex;overflow:hidden}.inv-line .il-price:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inv-line .il-price span{color:var(--faint);padding:0 2px 0 10px;font-size:13px;font-weight:700}.inv-line .il-price input{box-shadow:none;text-align:right;border:none;padding-left:4px}.inv-line .il-price input:focus{box-shadow:none}.add-line{background:var(--panel);width:100%;color:var(--accent);cursor:pointer;border:none;border-top:1px dashed var(--line);align-items:center;gap:7px;padding:11px 14px;font-family:inherit;font-size:12.5px;font-weight:600;display:flex}.add-line:hover{background:var(--accent-soft)}.add-line svg{stroke-width:2.4px;width:14px;height:14px}.il-empty{color:var(--faint);border-top:1px solid var(--line-2);padding:10px 14px;font-size:12px}.prefill-link{text-transform:none;letter-spacing:0;color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:none;margin-left:auto;font-size:12px;font-weight:600}[data-theme=dark] .prefill-link{color:var(--accent-2)}.prefill-link:hover{text-decoration:underline}.ncf-static{background:var(--soft);border:1px solid var(--line-2);color:var(--muted);border-radius:9px;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;font-weight:600;display:flex}.inv-totals{width:300px;margin-left:auto}.inv-totals.mini{width:100%;max-width:340px;margin-left:auto}.inv-totals .row{color:var(--muted);border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;display:flex}.inv-totals .row span:first-child{font-weight:500}.inv-totals .row span:last-child{color:var(--ink);font-weight:600}.inv-totals .row.grand{border-bottom:none;border-top:2px solid var(--line);margin-top:4px;padding-top:11px;font-size:16px}.inv-totals .row.grand span{color:var(--ink);font-weight:800}.inv-modal{width:860px}.inv-review-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden}.invoice-doc{background:var(--bg);color:var(--ink);padding:34px 38px 30px;position:relative}.inv-stamp{letter-spacing:4px;opacity:.16;pointer-events:none;z-index:5;white-space:nowrap;border:3px solid;border-radius:10px;padding:8px 22px;font-size:38px;font-weight:800;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-14deg)}.inv-doc-head{border-bottom:2px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;display:flex}.inv-brand{align-items:flex-start;gap:13px;display:flex}.inv-logo{color:#fff;background:linear-gradient(140deg,#3b82f6,#1d4ed8);border-radius:12px;flex:none;place-items:center;width:46px;height:46px;font-size:22px;font-weight:800;display:grid}.inv-brand b{letter-spacing:-.2px;font-size:17px;font-weight:800}.inv-from-meta{color:var(--faint);margin-top:3px;font-size:11.5px;line-height:1.55}.inv-doc-id{text-align:right;flex:none}.inv-no-lbl{text-transform:uppercase;letter-spacing:.6px;color:var(--faint);font-size:11px;font-weight:700}.inv-no{color:var(--accent);white-space:nowrap;margin-top:2px;font-size:21px;font-weight:800}[data-theme=dark] .inv-no{color:var(--accent-2)}.inv-ncf-lbl{color:var(--muted);margin-top:6px;font-size:11.5px;font-weight:600}.inv-parties{grid-template-columns:1fr auto;gap:30px;padding:22px 0;display:grid}.inv-sec-lbl{text-transform:uppercase;letter-spacing:.7px;color:var(--faint);margin-bottom:7px;font-size:10.5px;font-weight:700}.inv-parties b{font-size:15px;font-weight:700}.inv-party-meta{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.6}.inv-dates{flex-direction:column;gap:0;min-width:290px;display:flex}.inv-dates .row{border-bottom:1px solid var(--line-2);justify-content:space-between;gap:20px;padding:6px 0;font-size:12.5px;display:flex}.inv-dates .row:last-child{border-bottom:none}.inv-dates .row span{color:var(--faint)}.inv-dates .row b{text-align:right;font-weight:600}.inv-dates .row b.mono{white-space:nowrap}.inv-items{border-collapse:collapse;width:100%;margin-top:4px}.inv-items thead th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--faint);background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px;font-size:10.5px;font-weight:700}.inv-items tbody td{border-bottom:1px solid var(--line-2);vertical-align:top;padding:12px;font-size:13px}.inv-items tbody td:first-child{color:var(--ink);font-weight:600}.inv-foot{grid-template-columns:1fr 320px;gap:30px;margin-top:22px;display:grid}.inv-note{color:var(--muted);font-size:12px}.inv-note p{text-wrap:pretty;margin:0 0 14px;line-height:1.55}.inv-thanks{color:var(--faint);margin-top:8px;font-size:11.5px;font-style:italic}.modal-head .x-btn{margin-left:6px}@media print{body *{visibility:hidden!important}.modal-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;padding:0!important;display:block!important;position:static!important}.modal.inv-modal{box-shadow:none!important;border:none!important;width:auto!important;max-height:none!important}.no-print,.modal-foot{display:none!important}.inv-print-area{padding:0!important;overflow:visible!important}.inv-print-area,.inv-print-area *{visibility:visible!important}.invoice-doc{padding:0!important}.inv-stamp{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.bucket-editor{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bucket-editor .be-lbl{text-transform:uppercase;letter-spacing:.5px;color:var(--faint);margin-right:2px;font-size:11px;font-weight:700}.be-cell{background:var(--soft);border:1px solid var(--line-2);color:var(--muted);border-radius:9px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.be-cell i{border-radius:3px;flex:none;width:9px;height:9px}.be-cell .be-le{color:var(--faint);font-weight:700}.be-cell input{width:34px;color:var(--ink);font-family:var(--font-mono);text-align:center;border:none;border-bottom:1px solid var(--line);background:0 0;outline:none;padding:2px 0;font-size:12.5px;font-weight:700}.be-cell input:focus{border-color:var(--accent)}.be-cell.over{color:var(--muted)}.be-reset{color:var(--accent);cursor:pointer;background:0 0;border:none;align-items:center;gap:5px;margin-left:2px;font-size:12px;font-weight:600;display:inline-flex}[data-theme=dark] .be-reset{color:var(--accent-2)}.be-reset svg{width:13px;height:13px}.aging-bar{background:var(--soft);border-radius:9px;gap:2px;height:30px;margin:6px 0 18px;display:flex;overflow:hidden}.ab-seg{cursor:pointer;place-items:center;min-width:42px;transition:filter .12s,opacity .12s;display:grid}.ab-seg span{color:#0000009e;font-size:11px;font-weight:800}.ab-seg:hover{filter:brightness(1.08)}.ab-seg.on{box-shadow:inset 0 0 0 2px #ffffffa6}.ab-empty{flex:1}.bucket-cards{grid-template-columns:repeat(6,1fr);gap:10px;display:grid}.bcard{text-align:left;background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:5px;padding:12px 13px;transition:all .12s;display:flex}.bcard:hover{border-color:var(--accent)}.bcard.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.bcard .bc-top{color:var(--muted);align-items:center;gap:7px;font-size:11.5px;font-weight:600;display:flex}.bcard .bc-dot{border-radius:3px;flex:none;width:9px;height:9px}.bcard .bc-dot.all{background:var(--accent)}.bcard .bc-amt{font-family:var(--font-mono);color:var(--ink);font-size:17px;font-weight:700}.bcard .bc-meta{color:var(--faint);font-size:11px}.ca-row{cursor:pointer;transition:background .12s}.ca-row:hover{background:var(--soft)}.ca-row.open{background:var(--accent-soft)}.bucket-pill{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.ca-detail>td{background:var(--soft);padding:0!important}.ca-inv-list{border-top:1px solid var(--line);padding:14px 18px 16px}.ci-head{text-transform:uppercase;letter-spacing:.6px;color:var(--faint);margin-bottom:10px;font-size:11px;font-weight:700}.ci-row{background:var(--panel);border:1px solid var(--line-2);border-radius:9px;align-items:center;gap:16px;margin-bottom:7px;padding:9px 12px;display:flex}.ci-row .ci-id{min-width:92px;font-size:12.5px;font-weight:700}.ci-row .ci-ncf{color:var(--faint);min-width:104px;font-size:11.5px}.ci-row .ci-due{color:var(--muted);flex:1;font-size:12px}.ci-row .ci-days{white-space:nowrap;font-size:12px;font-weight:700}.ci-row .ci-amt{text-align:right;min-width:96px;font-size:13px}.ci-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.ci-total{color:var(--muted);font-size:13px}.btn-ghost.reminded{color:var(--green);border-color:var(--green)}.btn-ghost.reminded svg{color:var(--green)}.c-faint{color:var(--faint)}.dv-row{cursor:pointer;transition:background .12s}.dv-row:hover{background:var(--soft)}.dv-cell{align-items:center;gap:11px;display:flex}.dv-cell b{white-space:nowrap;font-size:13px;font-weight:700;display:block}.dv-cell small{color:var(--faint);white-space:nowrap;font-size:11.5px}.dv-ic{border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.dv-ic svg{width:17px;height:17px}.dv-ic.cpe{background:var(--accent-soft);color:var(--accent)}[data-theme=dark] .dv-ic.cpe{color:var(--accent-2)}.dv-ic.infra{background:var(--violet-soft);color:var(--violet)}.dv-ic.big{border-radius:12px;width:46px;height:46px}.dv-ic.big svg{width:23px;height:23px}.dv-zone{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.dv-zone svg{width:13px;height:13px;color:var(--faint)}.ph-mini{color:#fff;border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:9.5px;font-weight:700;display:inline-grid}.sig{align-items:center;gap:8px;display:inline-flex}.sig-bars{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.sig-bars i{background:var(--line);border-radius:1px;width:3.5px}.sig-bars i:first-child{height:5px}.sig-bars i:nth-child(2){height:8px}.sig-bars i:nth-child(3){height:11px}.sig-bars i:nth-child(4){height:14px}.sig-val{font-size:12px;font-weight:600}.dv-metrics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.dv-metric{background:var(--soft);border:1px solid var(--line-2);border-radius:11px;padding:12px 13px}.dv-metric.wide{grid-column:1/-1}.dm-top{text-transform:uppercase;letter-spacing:.4px;color:var(--faint);justify-content:space-between;align-items:center;margin-bottom:7px;font-size:11px;font-weight:700;display:flex}.dm-top b{text-transform:none;letter-spacing:0;font-size:12px}.dm-big{color:var(--ink);font-size:21px;font-weight:800}.dm-big small{color:var(--faint);font-size:12px;font-weight:600}.dm-sub{color:var(--faint);margin-top:4px;font-size:11px}.dv-metric .sig{margin-top:8px}.dm-row{color:var(--muted);align-items:center;gap:10px;padding:4px 0;font-size:12px;display:flex}.dm-row>span:first-child{width:54px;font-weight:600}.dm-row b{text-align:right;min-width:38px;margin-left:auto}.dv-bar{background:var(--line-2);border-radius:4px;flex:1;height:7px;overflow:hidden}.dv-bar i{border-radius:4px;height:100%;display:block}.dv-traffic{gap:10px;display:flex}.dv-traffic>div{flex-direction:column;flex:1;align-items:flex-start;gap:3px;display:flex}.dv-traffic svg{width:15px;height:15px;color:var(--accent)}[data-theme=dark] .dv-traffic svg{color:var(--accent-2)}.dv-traffic b{font-size:17px;font-weight:800}.dv-traffic b small{color:var(--faint);font-size:11px;font-weight:600}.dv-traffic span{text-transform:uppercase;letter-spacing:.4px;color:var(--faint);font-size:10.5px;font-weight:700}.dv-actions{flex-wrap:wrap;gap:9px;display:flex}.dv-actions .btn-ghost{flex:1;justify-content:center;min-width:140px}.btn-ghost.busy{color:var(--accent);border-color:var(--accent)}[data-theme=dark] .btn-ghost.busy{color:var(--accent-2)}.pr-detail-row>td{background:var(--bg);padding:0!important}.pr-detail{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;padding:16px 18px;display:grid}.pr-grp{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:12px 13px}.pr-grp-head{color:var(--c);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:7px;margin-bottom:9px;font-size:11.5px;font-weight:700;display:flex}.pr-grp-head .d{background:var(--c);border-radius:50%;width:8px;height:8px}.pr-items{flex-direction:column;gap:8px;display:flex}.pr-item{grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;display:grid}.pr-item .nm{color:var(--ink);font-size:12.5px;font-weight:600}.pr-item .bs{color:var(--faint);grid-column:1;font-size:10.5px}.pr-item .vl{color:var(--ink);grid-area:1/2/span 2;align-self:center;font-size:13px;font-weight:700}.pr-item .vl.neg{color:var(--red)}.pr-empty{color:var(--faint);padding:14px;font-size:12.5px}.pr-table tfoot .pr-totals td{border-top:2px solid var(--line);background:var(--soft);padding-top:13px;font-weight:700}.pr-table tfoot .pr-totals td:first-child{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:13px}.nav a{border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:8px 11px;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .12s;display:flex}.nav a svg{stroke-width:1.8px;flex:none;width:17px;height:17px}.nav a:hover{background:var(--soft);color:var(--ink)}.nav a.on{background:var(--accent-soft);color:var(--accent)}[data-theme=dark] .nav a.on{color:#fff}[data-theme=dark] .nav a.on svg{color:var(--accent-2)}.nav a .badge{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill);text-align:center;min-width:20px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:700}.nav a .badge.warn{background:var(--amber);color:#fff}[data-theme=dark] .nav a .badge.warn{color:#3b2a00}.side.mini .nav a{justify-content:center;gap:0;padding:10px 0;position:relative}.side.mini .nav a .label{display:none}.side.mini .nav a .badge{background:var(--accent);border-radius:50%;width:8px;min-width:auto;height:8px;padding:0;font-size:0;line-height:0;position:absolute;top:5px;right:9px}.side .brand{flex:none}.side .nav-scroll{flex:1;min-height:0;margin:0 -4px;padding:0 4px}.side-foot{flex:none;margin-top:0}.nav-scroll::-webkit-scrollbar-thumb{border-color:var(--side)}.lang-menu{position:relative}.lang-btn{color:var(--ink);background:var(--soft);border:1px solid var(--line);cursor:pointer;border-radius:9px;align-items:center;gap:7px;padding:7px 10px;font-size:11.5px;font-weight:600;transition:all .12s;display:flex}.lang-btn:hover{border-color:var(--accent)}.lang-btn>svg{width:15px;height:15px;color:var(--muted)}.lang-btn .chev{width:13px;height:13px;color:var(--faint);transition:transform .15s}.lang-btn.open .chev{transform:rotate(180deg)}.lang-pop{background:var(--panel);border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow),0 12px 30px #0000002e;z-index:60;border-radius:11px;padding:6px;animation:.12s lang-in;position:absolute;top:calc(100% + 6px);right:0}@keyframes lang-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.lang-opt{cursor:pointer;width:100%;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}.lang-opt:hover{background:var(--soft)}.lang-opt .sh{color:var(--faint);flex:none;width:22px;font-size:10px;font-weight:700}.lang-opt .ck{color:var(--accent);margin-left:auto;display:flex}.lang-opt .ck svg{stroke-width:3px;width:14px;height:14px}.user-menu{position:relative}.user-btn{background:var(--soft);border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:4px 8px 4px 5px;transition:all .12s;display:flex}.user-btn:hover{border-color:var(--accent)}.user-btn .avatar{border-radius:8px;width:28px;height:28px;font-size:12px}.user-btn .chev{width:13px;height:13px;color:var(--faint);transition:transform .15s}.user-btn.open .chev{transform:rotate(180deg)}.user-pop{background:var(--panel);border:1px solid var(--line);min-width:200px;box-shadow:var(--shadow),0 12px 30px #0000002e;z-index:60;border-radius:11px;padding:6px;animation:.12s lang-in;position:absolute;top:calc(100% + 6px);right:0}.user-pop-head{border-bottom:1px solid var(--line-2);margin-bottom:6px;padding:8px 10px 10px}.user-pop-head b{color:var(--ink);font-size:13px;font-weight:600;display:block}.user-pop-head small{color:var(--faint);margin-top:2px;font-size:11.5px;display:block}.user-opt{cursor:pointer;width:100%;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.user-opt:hover{background:var(--soft)}.user-opt svg{width:16px;height:16px}.user-opt.danger{color:var(--red)}.user-opt.danger:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}.side-logout{width:30px;height:30px;color:var(--muted);border-radius:8px;flex:none;place-items:center;margin-left:auto;text-decoration:none;transition:all .12s;display:grid}.side-logout svg{width:17px;height:17px}.side-logout:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.side.mini .side-logout{display:none}.sub-list{flex-direction:column;gap:6px;margin:2px 0 8px;display:flex}.sub-row{background:var(--soft);border:1px solid var(--line-2);border-radius:9px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.sub-row a{color:var(--ink);text-decoration:none}.sub-row a:hover{color:var(--accent)}.sub-row svg{width:15px;height:15px;color:var(--muted);flex:none}.sub-empty{color:var(--faint);padding:6px 2px;font-size:12px}.sub-del{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:4px;display:flex}.sub-del:hover{color:var(--red);background:var(--red-soft)}.sub-del svg{width:14px;height:14px;color:inherit}.sub-add{gap:6px;margin-bottom:6px;display:flex}.sub-add input{background:var(--soft);border:1px solid var(--line);min-width:0;color:var(--ink);border-radius:8px;flex:1;padding:7px 10px;font-size:12.5px}.sub-add .btn-ghost{flex:none;padding:7px 10px}.btn-ghost.xs{padding:4px 9px;font-size:11px}.auth-screen{--a-blue:#1655e6;--a-blue-2:#9cc0ff;--a-teal:#0e9da0;--a-orange:#ff6a3d;--a-ink:#0f1b2d;--a-muted:#5d6b80;--a-faint:#93a0b3;--a-line:#e3e8ef;--a-bg:#f4f6f9;--a-card:#fff;--a-soft:#f6f8fb;--a-red:#e11d48;--a-green:#0e9f6e;background:var(--a-bg);color:var(--a-ink);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,system-ui,sans-serif;position:fixed;inset:0;overflow:auto}.auth-screen *{box-sizing:border-box}.auth-wrap{grid-template-columns:minmax(420px,46%) 1fr;min-height:100%;display:grid}@media (max-width:960px){.auth-wrap{grid-template-columns:1fr}}.auth-aside{color:#eaf0ff;background:radial-gradient(120% 120% at 20% 10%,#15224a 0%,#0c1531 55%,#0a1129 100%);flex-direction:column;padding:40px 44px;display:flex;position:relative;overflow:hidden}@media (max-width:960px){.auth-aside{display:none}}.auth-aside .hero-field{z-index:0;position:absolute;inset:0}.auth-aside .brand{align-items:center;gap:11px;text-decoration:none;display:inline-flex}.auth-aside .brand-mark{place-items:center;width:34px;height:34px;display:inline-grid}.auth-aside .brand-mark svg{width:34px;height:34px;display:block}.auth-aside .brand-name{color:#fff;letter-spacing:-.3px;font-family:Sora,sans-serif;font-size:19px;font-weight:800}.auth-aside-body{z-index:2;max-width:420px;margin-top:auto;margin-bottom:auto;position:relative}.auth-aside-body .eyebrow{letter-spacing:.8px;text-transform:uppercase;color:var(--a-blue-2);font-size:12px;font-weight:700;display:inline-block}.auth-aside-body h2{letter-spacing:-.6px;color:#fff;margin-top:16px;font-family:Sora,sans-serif;font-size:34px;font-weight:800;line-height:1.12}.auth-aside-body p{color:#aebbd6;margin-top:14px;font-size:15px;line-height:1.6}.auth-aside-list{gap:14px;margin:28px 0 0;padding:0;list-style:none;display:grid}.auth-aside-list li{color:#dce4f5;align-items:center;gap:12px;font-size:14.5px;display:flex}.auth-aside-list li svg{color:#4fd6d9;background:#0e9da02e;border-radius:7px;flex:none;width:20px;height:20px;padding:3px}.auth-aside-foot{z-index:2;color:#7c89a8;margin-top:32px;font-size:12.5px;position:relative}.auth-main{flex-direction:column;min-width:0;padding:24px clamp(20px,5vw,64px) 48px;display:flex}.auth-topbar{justify-content:space-between;align-items:center;gap:16px;height:52px;display:flex}.auth-topbar .link-login{font-size:13.5px;font-weight:600;text-decoration:none;transition:all .12s}.auth-topbar .link-login:hover{color:var(--a-ink)}.auth-card{width:100%;max-width:460px;margin:auto 0;padding:18px 0}.auth-head{margin-bottom:24px}.auth-head .eyebrow{letter-spacing:.7px;text-transform:uppercase;color:var(--a-blue);background:#1655e614;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;display:inline-block}.auth-head h1{letter-spacing:-.6px;font-family:Sora,sans-serif;font-size:28px;font-weight:800;line-height:1.15}.auth-head .auth-sub{color:var(--a-muted);margin-top:10px;font-size:14.5px;line-height:1.55}.verify-ico{background:color-mix(in srgb,var(--a-blue,var(--accent)) 12%,transparent);width:54px;height:54px;color:var(--a-blue,var(--accent));border-radius:14px;place-items:center;margin-bottom:18px;display:grid}.verify-ico svg{width:26px;height:26px}.verify-body{color:var(--a-ink,var(--ink));font-size:14.5px;line-height:1.55}.verify-email{color:var(--a-ink,var(--ink));word-break:break-all;font-weight:700}.verify-hint{color:var(--a-muted,var(--muted));margin-top:10px;font-size:13.5px;line-height:1.55}.verify-status{color:var(--a-muted,var(--muted));align-items:center;gap:9px;margin-top:18px;font-size:13px;font-weight:500;display:flex}.verify-status.is-expired{color:var(--a-red,#e11d48)}.verify-spinner{border:2px solid color-mix(in srgb,var(--a-blue,var(--accent)) 30%,transparent);border-top-color:var(--a-blue,var(--accent));border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite verify-spin}@keyframes verify-spin{to{transform:rotate(360deg)}}.auth-screen .form-banner{color:#0a7c55;background:#0e9f6e1a;border:1px solid #0e9f6e4d;border-radius:11px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:14px;font-weight:600;display:none}.auth-screen .form-banner.is-show{display:flex}.auth-screen .form-banner svg{flex:none;width:18px;height:18px}.auth-screen .form-banner.is-error{color:#be123c;background:#e11d4814;border-color:#e11d4847}.auth-screen form{gap:16px;display:grid}.auth-screen .field{gap:7px;min-width:0;display:grid}.auth-screen .field label{color:var(--a-ink);font-size:13px;font-weight:600}.auth-screen .input-wrap{align-items:center;display:flex;position:relative}.auth-screen .input{background:var(--a-card);border:1.5px solid var(--a-line);width:100%;color:var(--a-ink);border-radius:11px;outline:none;padding:12px 14px;font-family:inherit;font-size:14.5px;transition:border-color .12s,box-shadow .12s}.auth-screen .input.has-toggle{padding-right:46px}.auth-screen .input::placeholder{color:var(--a-faint)}.auth-screen .input:focus{border-color:var(--a-blue);box-shadow:0 0 0 4px #1655e61f}.auth-screen .field.is-valid .input{border-color:#0e9f6e8c}.auth-screen .field.is-invalid .input{border-color:var(--a-red);box-shadow:0 0 0 4px #e11d481a}.auth-screen .field-error{color:var(--a-red);font-size:12.5px;font-weight:500;display:none}.auth-screen .field.is-invalid .field-error{display:block}.auth-screen .field label .opt{color:var(--a-faint);font-weight:500}.auth-screen .field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:520px){.auth-screen .field-row{grid-template-columns:1fr}}.auth-screen select.input{appearance:none;cursor:pointer;padding-right:40px}.auth-screen .select-caret{width:18px;height:18px;color:var(--a-faint);pointer-events:none;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.auth-screen .pw-toggle{width:32px;height:32px;color:var(--a-faint);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-screen .pw-toggle:hover{color:var(--a-muted);background:var(--a-soft)}.auth-screen .pw-toggle svg{width:19px;height:19px}.auth-screen .pw-strength{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:2px;display:grid}.auth-screen .pw-strength i{background:var(--a-line);border-radius:99px;height:4px;transition:background .15s}.auth-screen .pw-strength.s1 i:nth-child(-n+1),.auth-screen .pw-strength.s2 i:nth-child(-n+2),.auth-screen .pw-strength.s3 i:nth-child(-n+3),.auth-screen .pw-strength.s4 i:nth-child(-n+4){background:var(--a-blue)}.auth-screen .pw-strength.s1 i:nth-child(-n+1){background:var(--a-red)}.auth-screen .pw-strength.s2 i:nth-child(-n+2){background:var(--a-orange)}.auth-screen .pw-strength.s3 i:nth-child(-n+3){background:#d4a006}.auth-screen .pw-strength.s4 i:nth-child(-n+4){background:var(--a-green)}.auth-screen .pw-hint{color:var(--a-faint);font-size:12px}.auth-screen .checkrow{cursor:pointer;gap:10px;display:flex}.auth-screen .checkrow.align-top{align-items:flex-start}.auth-screen .checkbox{appearance:none;border:1.5px solid var(--a-line);background:var(--a-card);cursor:pointer;border-radius:5px;flex:none;width:18px;height:18px;margin-top:1px;position:relative}.auth-screen .checkbox:checked{background:var(--a-blue);border-color:var(--a-blue)}.auth-screen .checkbox:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1.5px;left:5px;transform:rotate(45deg)}.auth-screen .check-label{color:var(--a-muted);font-size:13.5px;line-height:1.5}.auth-screen .check-label a{color:var(--a-blue);font-weight:600;text-decoration:none}.auth-screen .check-label a:hover{text-decoration:underline}.auth-screen .btn,.auth-wrap .btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:14.5px;font-weight:700;text-decoration:none;transition:filter .12s,opacity .12s;display:inline-flex}.auth-screen .btn-primary,.auth-wrap .btn-primary{background:var(--a-blue);color:#fff;box-shadow:0 8px 20px #1655e647}.auth-screen .btn-primary:hover,.auth-wrap .btn-primary:hover{filter:brightness(1.05)}.auth-screen .btn-primary:disabled,.auth-wrap .btn-primary:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.auth-screen .btn-block,.auth-wrap .btn-block{width:100%}.auth-screen .btn-lg,.auth-wrap .btn-lg{padding:14px 18px}.auth-alt{color:var(--a-muted,var(--muted));text-align:center;margin-top:22px;font-size:14px}.auth-alt a{color:var(--a-blue,var(--accent));font-weight:700;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.auth-forgot{text-align:right;margin:-6px 0 18px;font-size:13.5px}.auth-forgot a{color:var(--a-blue,var(--accent));font-weight:600;text-decoration:none}.auth-forgot a:hover{text-decoration:underline}.auth-screen .lang-select{position:relative}.auth-screen .lang-select-btn{color:var(--a-muted);background:var(--a-card);border:1.5px solid var(--a-line);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:8px 11px;font-size:13px;font-weight:600;display:inline-flex}.auth-screen .lang-select-btn:hover{border-color:var(--a-blue)}.auth-screen .lang-select-btn .globe{color:var(--a-faint)}.auth-screen .lang-select-btn .chev{width:14px;height:14px;color:var(--a-faint);transition:transform .15s}.auth-screen .lang-select[aria-expanded=true] .lang-select-btn .chev,.auth-screen .lang-select-btn[aria-expanded=true] .chev{transform:rotate(180deg)}.auth-screen .lang-select-menu{background:var(--a-card);border:1px solid var(--a-line);z-index:20;border-radius:11px;min-width:180px;margin:0;padding:6px;list-style:none;display:none;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px #101b2d24}.auth-screen .lang-select.open .lang-select-menu{display:block}.auth-screen .lang-select-menu button{cursor:pointer;width:100%;color:var(--a-ink);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;font-weight:500;display:flex}.auth-screen .lang-select-menu button:hover{background:var(--a-soft)}.auth-screen .lang-select-menu .lang-code{color:var(--a-faint);flex:none;width:22px;font-size:10.5px;font-weight:700}@media (max-width:1024px){.app,.app.collapsed{grid-template-columns:72px 1fr}.side{align-items:stretch;padding:18px 12px}.side .brand{justify-content:center;padding:4px 0 16px}.side .brand .txt{display:none}.side .nav-label{background:var(--line-2);color:#0000;letter-spacing:0;height:1px;margin:14px 6px 8px;padding:0;overflow:hidden}.side .nav button,.side .nav a{justify-content:center;gap:0;padding:10px 0;position:relative}.side .nav button .label,.side .nav a .label{display:none}.side .nav button .badge,.side .nav a .badge{background:var(--accent);border-radius:50%;width:8px;min-width:auto;height:8px;padding:0;font-size:0;line-height:0;position:absolute;top:5px;right:9px}.side .side-foot{justify-content:center}.side .side-foot .txt{display:none}.kpis{grid-template-columns:repeat(3,1fr)!important}.form-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.app,.app.collapsed{grid-template-columns:1fr}.side{z-index:200;align-items:stretch;width:260px;padding:18px 14px;transition:left .2s;position:fixed;top:0;bottom:0;left:-280px;box-shadow:4px 0 32px #00000059}.side .brand{justify-content:flex-start;padding:4px 8px 16px}.side .brand .txt{display:block}.side .nav-label{height:auto;color:var(--faint);letter-spacing:.9px;background:0 0;margin:0;padding:14px 10px 7px;overflow:visible}.side .nav button,.side .nav a{justify-content:flex-start;gap:11px;padding:8px 11px}.side .nav button .label,.side .nav a .label{display:block}.side .nav button .badge,.side .nav a .badge{border-radius:20px;width:auto;min-width:20px;height:auto;padding:1px 7px;font-size:10.5px;line-height:normal;position:static}.side .side-foot{justify-content:flex-start}.side .side-foot .txt{display:block}.side.open{left:0}.mob-backdrop{z-index:199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;position:fixed;inset:0}.topbar .search,.topbar .toggle{display:none}.crumb{font-size:13px}.form-grid{grid-template-columns:1fr!important}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:18px 18px 0 0;max-width:100vw;max-height:95dvh}.modal.sm{max-width:100vw}.drawer{width:100vw;max-width:100vw}.kpis{grid-template-columns:repeat(2,1fr)!important}.cfg-section-head{flex-wrap:wrap}.cfg-section-head>button{width:100%;margin-top:10px;margin-left:0!important}}.cl-search-row{width:100%;margin-bottom:2px}.cl-fsearch{width:100%!important;max-width:100%!important}.cl-mob-list{flex-direction:column;display:flex}.cl-mob-item{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:13px;padding:14px 16px;transition:background .1s;display:flex}.cl-mob-item:active{background:var(--soft)}.cl-mob-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.cl-mob-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;display:block;overflow:hidden}.cl-mob-sub{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.cl-mob-right{flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.cl-mob-amt{color:var(--ink);font-size:15px;font-weight:700}.cl-mob-amt.red{color:var(--red)}.ph.ph-mono{background:var(--soft);color:var(--muted)}.cl-mob-item .ph{border-radius:11px;flex:none;place-items:center;width:42px;height:42px;font-size:14px;font-weight:700;display:grid}.tag-plain{color:var(--muted);font-size:12.5px;font-weight:500}.svc-mob-list{flex-direction:column;display:flex}.svc-mob-item{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.svc-mob-item.tap{cursor:pointer;transition:background .1s}.svc-mob-item.tap:active{background:var(--soft)}.svc-mob-top{align-items:flex-start;gap:10px;display:flex}.svc-mob-id{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.svc-mob-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.svc-mob-sub{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.svc-mob-side{flex-direction:column;flex:none;align-items:flex-end;gap:5px;display:flex}.svc-mob-grid{grid-template-columns:1fr 1fr;gap:7px 12px;display:grid}.svc-mob-f{flex-direction:column;gap:1px;min-width:0;display:flex}.svc-mob-f .k{text-transform:uppercase;letter-spacing:.4px;color:var(--faint);font-size:10.5px}.svc-mob-f .v{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.svc-mob-f.full{grid-column:1/-1}.svc-mob-acts{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:6px;padding-top:9px;display:flex}.svc-mob-acts .btn-ghost{min-height:38px;padding:8px 12px}.svc-mob-acts .btn-primary{min-height:38px;padding:8px 14px}.svc-mob-acts.wide .btn-primary{justify-content:center;width:100%}@media (max-width:768px){.svc-mob-item .panel-pad{max-width:min(340px,100vw - 48px)}.rd-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow:auto hidden}.rd-tabs::-webkit-scrollbar{display:none}.rd-tab{flex:none;padding:9px 12px;font-size:12.5px}.rd-head h1{overflow-wrap:anywhere;font-size:19px}.panel.panel-pad{padding:14px}.svc-mob-acts .btn-ghost{flex:1;justify-content:center}.modal select[size]{height:auto}input,select,textarea,.field input,.field select,.field textarea,.field textarea.ta,.fsearch input,.lines-tbl input,.lines-tbl select,.chat-input input,.period-bar .pb-custom input{font-size:16px}.lines-tbl input,.lines-tbl select{padding:6px 8px}.modal-head{gap:10px;padding:15px 16px}.modal-body{padding:16px}.modal-foot{padding:14px 16px}.modal-head>div:first-child{flex:1;min-width:0}.modal-head .ttl{overflow-wrap:anywhere;font-size:16px}.modal-head .x-btn{flex:none}.modal-foot>button{flex:1;justify-content:center;min-height:42px}}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:56px 24px;display:flex}.empty-state .es-ic{border-radius:var(--radius-card);background:var(--accent-soft);width:60px;height:60px;color:var(--accent);place-items:center;margin-bottom:10px;display:grid}.empty-state .es-ic svg{width:30px;height:30px}.empty-state .es-t{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600}.empty-state .es-s{color:var(--muted);max-width:340px;margin-bottom:14px;font-size:13px;line-height:1.5}@media (max-width:480px){.kpis{grid-template-columns:1fr!important}.page-head{flex-direction:column;align-items:flex-start}.topbar{gap:10px;padding:0 14px}}.plan-picker{flex-direction:column;gap:6px;margin-top:10px;display:flex}.plan-opt{text-align:left;cursor:pointer;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-input);width:100%;color:var(--ink);align-items:center;gap:10px;padding:9px 12px;transition:all .12s;display:flex}.plan-opt:hover{border-color:var(--accent)}.plan-opt.on{border-color:var(--accent);background:var(--accent-soft)}.plan-opt:disabled{opacity:.6;cursor:default}.plan-opt .po-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden}.plan-opt .po-price{color:var(--ink);white-space:nowrap;font-size:13px;font-weight:700}.plan-opt .po-price .po-per{color:var(--faint);margin-left:1px;font-size:11px;font-weight:500}.plan-opt .po-check{color:var(--accent);flex:none;place-items:center;display:grid}.plan-opt .po-check svg{width:15px;height:15px}.plan-opt.pending{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent)}.plan-confirm{border-radius:var(--radius-input);background:color-mix(in srgb,var(--amber) 10%,var(--soft));border:1px solid color-mix(in srgb,var(--amber) 30%,transparent);flex-direction:column;gap:10px;margin-top:2px;padding:10px 12px;display:flex}.plan-confirm .pc-q{color:var(--ink);font-size:13px;line-height:1.45}.plan-confirm .pc-q b{font-weight:700}.plan-confirm .pc-actions{justify-content:flex-end;gap:8px;display:flex}.plan-sort{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:4px;display:flex}.plan-sort .ps-lbl{color:var(--muted);margin-right:2px;font-size:11.5px}.plan-sort .ps-chip{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;padding:3px 10px;font-size:11.5px;font-weight:600;transition:all .12s}.plan-sort .ps-chip:hover{border-color:var(--accent);color:var(--ink)}.plan-sort .ps-chip.on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.plan-opt .po-spd{color:var(--faint);margin-left:8px;font-size:11px;font-weight:500}.pc-view{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.pc-foot .pc-view{margin-left:8px}.pc-view:hover{text-decoration:underline}.plan-confirm .pc-reason{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-input);width:100%;color:var(--ink);outline:none;padding:7px 10px;font-family:inherit;font-size:12.5px}.plan-confirm .pc-reason:focus{border-color:var(--accent)}.plan-confirm .pc-reason::placeholder{color:var(--faint)}.dev-ic{color:var(--green)}.dev-ic.off{color:var(--red)}.onu-live{color:var(--green);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:inline-flex}.onu-live .onu-dot{background:var(--green);border-radius:50%;width:7px;height:7px;animation:1.4s ease-out infinite onu-pulse}@keyframes onu-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--green) 60%,transparent)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 #0000}}.phase-prog{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.phase-chip{background:var(--soft);color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;transition:color .2s,background .2s,border-color .2s;display:inline-flex}.phase-chip svg{width:12px;height:12px}.phase-chip.ok{color:var(--green);background:var(--green-soft);border-color:#0000}.phase-spin{border:1.6px solid var(--line);border-top-color:var(--muted);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite phase-spin}@keyframes phase-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.phase-spin{animation:none}}.skel{height:12px;width:var(--skw,70%);background:linear-gradient(90deg,var(--line) 25%,var(--soft) 37%,var(--line) 63%);vertical-align:middle;background-size:400% 100%;border-radius:6px;max-width:100%;animation:1.4s ease-in-out infinite skel-shimmer;display:inline-block}@keyframes skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.onu-wrap{max-height:calc(100dvh - 210px);overflow:auto}.onu-wrap thead th{z-index:2;background:var(--soft);position:sticky;top:0}[data-theme=dark] .onu-wrap thead th{background:#13223a}.sticky-head thead th{z-index:3;background:var(--panel);position:sticky;top:0}[data-theme=dark] .sticky-head thead th{background:#13223a}.tbl-wrap{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.tbl-wrap::-webkit-scrollbar{width:10px;height:10px}.tbl-wrap::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--panel);border-radius:8px}.tbl-wrap::-webkit-scrollbar-thumb:hover{background:var(--muted)}.tbl-wrap::-webkit-scrollbar-track{background:0 0}.tbl-wrap::-webkit-scrollbar-corner{background:0 0}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.th-sort:hover{color:var(--ink)}.th-sort.on{color:var(--accent)}.th-sort .th-arrow{vertical-align:middle;color:var(--faint);opacity:.55;margin-left:5px;font-size:10px;display:inline-block}.th-sort:hover .th-arrow{opacity:.9}.th-sort.on .th-arrow{color:var(--accent);opacity:1;font-size:9px}.stat{flex-direction:column;align-items:center;gap:5px;display:inline-flex}.stat .rt{width:22px;height:22px}.stat.on .rt{color:#0e9f6e}.stat.off .rt{color:#e02424}.flow{color:#0e9f6e}.stat.off .flow{color:#e02424}.flow-b{width:46px;height:6px;position:relative;overflow:hidden}.flow-b .dots{gap:5px;display:flex}.flow-b .dots i{opacity:.22;background:currentColor;border-radius:50%;width:5px;height:5px}.flow-b .sweep{filter:blur(.3px);background:radial-gradient(circle,currentColor 0% 35%,#0000 70%);border-radius:50%;width:10px;height:10px;margin-top:-5px;animation:2.2s linear infinite sweep;position:absolute;top:50%;left:0}.stat.off .flow-b .sweep{display:none}@keyframes sweep{0%{opacity:0;transform:translate(-10px)}6%{opacity:1}44%{opacity:1}50%{opacity:0;transform:translate(46px)}56%{opacity:1;transform:translate(46px)}94%{opacity:1}to{opacity:0;transform:translate(-10px)}}.stat .dur{letter-spacing:.2px;font-size:10.5px;font-weight:700;font-family:var(--font-mono)}.stat.on .dur{color:#0e9f6e}.stat.off .dur{color:#e02424}@media (prefers-reduced-motion:reduce){.flow-b .sweep{opacity:1;animation:none}}.color-swatches{flex-wrap:wrap;gap:8px;display:flex}.color-swatches .swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;width:26px;height:26px;padding:0;transition:all .12s}.color-swatches .swatch:hover{transform:scale(1.08)}.color-swatches .swatch.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--accent)}.app-toast{z-index:9999;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--green);max-width:calc(100vw - 40px);color:var(--ink);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:13.5px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 12px 40px #00000047}.app-toast.err{border-left-color:var(--red)}.app-toast.warn{border-left-color:var(--amber)}.app-toast.warn svg{color:var(--amber)}.app-toast svg{flex:none;width:18px;height:18px}.app-toast.ok svg{color:var(--green)}.app-toast.err svg{color:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.app-toast{animation:none}}.printer-bar{color:var(--muted);background:var(--soft);border:1px solid var(--line-2);border-radius:10px;align-items:center;gap:8px;margin-bottom:14px;padding:9px 14px;font-size:13px;display:flex}.printer-bar svg{width:16px;height:16px;color:var(--faint);flex:none}.printer-bar b{color:var(--ink);font-weight:600}.printer-bar .link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.printer-bar .link:hover{text-decoration:underline}.ps-list{flex-direction:column;gap:8px;display:flex}.ps-item{border:1.5px solid var(--line);background:var(--panel);width:100%;color:var(--ink);cursor:pointer;border-radius:11px;align-items:center;gap:12px;padding:11px 14px;transition:all .12s;display:flex}.ps-item:hover{border-color:var(--accent)}.ps-item.on{border-color:var(--accent);background:var(--accent-soft)}.ps-item .radio{border:2px solid var(--line);width:20px;height:20px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;transition:all .12s;display:grid}.ps-item .radio.on{background:var(--accent);border-color:var(--accent)}.ps-item .radio svg{stroke-width:3.4px;width:12px;height:12px}.ps-confirm{border-radius:var(--radius-input);background:color-mix(in srgb,var(--accent) 8%,var(--soft));border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);margin-top:10px;padding:10px 12px}.ps-confirm .pc-q{color:var(--ink);font-size:13px}.ps-confirm .pc-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.caja-pos{max-width:1320px;color:var(--ink);margin:0 auto}.caja-pos button{color:inherit}.caja-pos .cx-head{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:22px;display:flex}.caja-pos .cx-mark{background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 82%,#fff),var(--accent));width:44px;height:44px;color:var(--on-accent,#fff);box-shadow:0 4px 12px var(--accent-soft);border-radius:12px;flex:none;place-items:center;display:grid}.caja-pos .cx-mark svg{width:24px;height:24px}.caja-pos .cx-head h1{letter-spacing:-.5px;font-size:22px;font-weight:800;line-height:1.1}.caja-pos .cx-head .sub{color:var(--muted);margin-top:2px;font-size:13px}.caja-pos .cx-meta{flex-wrap:wrap;align-items:stretch;gap:10px;margin-left:auto;display:flex}.caja-pos .cx-pill{background:var(--panel);border:1px solid var(--line);text-align:right;border-radius:11px;flex-direction:column;justify-content:center;padding:8px 14px;display:flex}.caja-pos .cx-pill .k{text-transform:uppercase;letter-spacing:.5px;color:var(--faint);font-size:10px;font-weight:700}.caja-pos .cx-pill .v{margin-top:1px;font-size:14px;font-weight:700}.caja-pos .cx-pill .v.acc{color:var(--accent)}.caja-pos .cx-pill .v.grn{color:var(--green)}.caja-pos .cx-pill.hl{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}.caja-pos .cx-pill.hl .k{color:var(--green)}.caja-pos .cx-btn{background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:11px;align-items:center;gap:7px;padding:0 16px;font-size:12.5px;font-weight:700;display:flex}.caja-pos .cx-btn:hover{color:var(--ink);border-color:var(--accent)}.caja-pos .cx-btn.on{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}.caja-pos .cx-btn svg{width:15px;height:15px}.caja-pos .cx-grid{grid-template-columns:360px minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.caja-pos .cx-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px #0f1b2d0a}.caja-pos .cx-card-h{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:15px 18px;display:flex}.caja-pos .cx-card-h .ic{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.caja-pos .cx-card-h .ic svg{width:15px;height:15px}.caja-pos .cx-card-h h2{font-size:14.5px;font-weight:700}.caja-pos .cx-card-h .tail{color:var(--faint);margin-left:auto;font-size:11.5px;font-weight:700}.caja-pos .cx-card-b{padding:16px 18px}.caja-pos .col-client,.caja-pos .col-receipt{position:sticky;top:16px}.caja-pos .cx-search{background:var(--soft);border:1px solid var(--line);color:var(--faint);border-radius:11px;align-items:center;gap:9px;padding:11px 14px;transition:all .15s;display:flex}.caja-pos .cx-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--panel)}.caja-pos .cx-search svg{flex:none;width:17px;height:17px}.caja-pos .cx-search input{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:14px}.caja-pos .cx-search input::placeholder{color:var(--faint)}.caja-pos .cx-search .kbd{color:var(--faint);border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:2px 6px;font-size:10.5px;font-weight:700}.caja-pos .res-list{flex-direction:column;gap:2px;max-height:460px;margin-top:12px;display:flex;overflow-y:auto}.caja-pos .res-row{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:11px;width:100%;padding:9px 10px;transition:all .12s;display:flex}.caja-pos .res-row:hover{background:var(--soft);border-color:var(--line)}.caja-pos .res-row .nm{font-size:13px;font-weight:700;line-height:1.2}.caja-pos .res-row .mt{color:var(--faint);margin-top:2px;font-size:11px}.caja-pos .res-row .rt{text-align:right;flex:none;margin-left:auto}.caja-pos .due-pill{white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:700}.caja-pos .due-pill.owe{background:var(--red-soft);color:var(--red)}.caja-pos .due-pill.ok{background:var(--green-soft);color:var(--green)}.caja-pos .cx-empty{text-align:center;color:var(--faint);padding:34px 12px;font-size:12.5px}.caja-pos .cx-empty svg{opacity:.5;width:30px;height:30px;margin-bottom:8px}.caja-pos .sel{padding:16px 18px}.caja-pos .sel-top{align-items:flex-start;gap:12px;display:flex}.caja-pos .sel-top .ph{color:#fff;border-radius:12px;flex:none;place-items:center;width:46px;height:46px;font-size:15px;font-weight:700;display:grid}.caja-pos .sel-top .nm{font-size:16px;font-weight:800;line-height:1.15}.caja-pos .sel-top .id{color:var(--faint);margin-top:3px;font-size:11.5px}.caja-pos .sel-x{border:1px solid var(--line);background:var(--panel);width:28px;height:28px;color:var(--faint);cursor:pointer;border-radius:8px;flex:none;place-items:center;margin-left:auto;display:grid}.caja-pos .sel-x:hover{color:var(--ink);border-color:var(--accent)}.caja-pos .cx-tag{border-radius:20px;margin-top:8px;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-block}.caja-pos .cx-tag.res{background:var(--accent-soft);color:var(--accent)}.caja-pos .cx-tag.com{background:var(--violet-soft,var(--accent-soft));color:var(--violet,var(--accent))}.caja-pos .meta-rows{border-top:1px solid var(--line);flex-direction:column;margin-top:14px;display:flex}.caja-pos .meta-rows .r{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:9px 0;font-size:12.5px;display:flex}.caja-pos .meta-rows .r .k{color:var(--faint);font-weight:500}.caja-pos .meta-rows .r .v{text-align:right;font-weight:600}.caja-pos .bal{border-radius:13px;justify-content:space-between;align-items:center;margin-top:16px;padding:14px 15px;display:flex}.caja-pos .bal.owe{background:var(--red-soft)}.caja-pos .bal.ok{background:var(--green-soft)}.caja-pos .bal .k{text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.caja-pos .bal.owe .k{color:var(--red)}.caja-pos .bal.ok .k{color:var(--green)}.caja-pos .bal .v{font-size:22px;font-weight:800}.caja-pos .bal.owe .v{color:var(--red)}.caja-pos .bal.ok .v{color:var(--green)}.caja-pos .inv-h{text-transform:uppercase;letter-spacing:.5px;color:var(--faint);margin:18px 0 9px;font-size:11px;font-weight:700}.caja-pos .svc-card{border:1px solid var(--line);background:var(--soft);text-align:left;border-radius:12px;align-items:flex-start;gap:11px;width:100%;margin-bottom:8px;padding:11px 13px;display:flex}.caja-pos .svc-sel{cursor:pointer;transition:all .12s}.caja-pos .svc-sel:hover{border-color:var(--accent)}.caja-pos .svc-card.on{border-color:var(--accent);background:var(--accent-soft)}.caja-pos .svc-card.on .chk{background:var(--accent);border-color:var(--accent)}.caja-pos .svc-card.on .chk svg{opacity:1}.caja-pos .svc-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.caja-pos .svc-plan{font-size:13px;font-weight:700}.caja-pos .svc-monthly{color:var(--accent);font-size:13px;font-weight:700}.caja-pos .svc-addr{color:var(--muted);align-items:flex-start;gap:6px;margin-top:5px;font-size:11.5px;line-height:1.35;display:flex}.caja-pos .svc-addr svg{width:13px;height:13px;color:var(--faint);flex:none;margin-top:1px}.caja-pos .inv{border:1px solid var(--line);cursor:pointer;background:var(--panel);text-align:left;border-radius:11px;align-items:center;gap:11px;width:100%;margin-bottom:8px;padding:10px 11px;transition:all .12s;display:flex}.caja-pos .inv:hover{border-color:var(--accent)}.caja-pos .inv.on{border-color:var(--accent);background:var(--accent-soft)}.caja-pos .chk{border:1.5px solid var(--line);color:#fff;background:var(--panel);border-radius:6px;flex:none;place-items:center;width:20px;height:20px;display:grid}.caja-pos .inv.on .chk{background:var(--accent);border-color:var(--accent)}.caja-pos .chk svg{opacity:0;width:13px;height:13px}.caja-pos .inv.on .chk svg{opacity:1}.caja-pos .inv .no{font-size:12.5px;font-weight:700}.caja-pos .inv .dt{color:var(--faint);margin-top:1px;font-size:11px}.caja-pos .inv .amt{margin-left:auto;font-size:13px;font-weight:700}.caja-pos .inv .amt.late{color:var(--red)}.caja-pos .sec{margin-bottom:15px}.caja-pos .sec:last-child{margin-bottom:0}.caja-pos .sec-t{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);align-items:center;gap:8px;margin-bottom:9px;font-size:11px;font-weight:700;display:flex}.caja-pos .sec-t:after{content:"";background:var(--line);flex:1;height:1px}.caja-pos .methods{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.caja-pos .method{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;height:36px;padding:4px 6px;transition:all .12s;display:flex;overflow:hidden}.caja-pos .method:hover{border-color:var(--accent)}.caja-pos .method.on{border-color:var(--accent);background:var(--accent-soft)}.caja-pos .method span{color:var(--muted);text-align:center;font-size:11.5px;font-weight:700;line-height:1.1}.caja-pos .cx-chan{margin-top:11px}.caja-pos .cx-chan-l{text-transform:uppercase;letter-spacing:.4px;color:var(--faint);margin-bottom:6px;font-size:11px;font-weight:700}.caja-pos .cx-chan-row{flex-wrap:wrap;gap:6px;display:flex}.caja-pos .cx-chan-b{color:var(--muted);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .12s}.caja-pos .cx-chan-b:hover{border-color:var(--accent)}.caja-pos .cx-chan-b.on{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.caja-pos .cx-chan-auto{color:var(--muted);margin-top:9px;font-size:12px}.caja-pos .cx-chan-auto b{color:var(--ink);font-weight:700}.caja-pos .cx-nochan{border:1px solid color-mix(in srgb,var(--red) 30%,transparent);background:var(--red-soft);border-radius:12px;margin-top:11px;padding:12px 14px}.caja-pos .cx-nochan .nc-t{color:var(--red);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.caja-pos .cx-nochan .nc-t svg{flex:none;width:14px;height:14px}.caja-pos .cx-nochan ol{color:var(--muted);margin:8px 0 10px 20px;padding:0;font-size:12px;line-height:1.65}.caja-pos .cx-link{color:var(--accent);align-items:center;gap:6px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.caja-pos .cx-link svg{width:14px;height:14px}.caja-pos .cx-link:hover{text-decoration:underline}.caja-pos .method.on span{color:var(--accent)}.caja-pos .grid2{grid-template-columns:1fr 1fr;gap:15px;display:grid}.caja-pos .cx-field{flex-direction:column;gap:7px;min-width:0;display:flex}.caja-pos .cx-field.full{grid-column:1/-1}.caja-pos .cx-field label{color:var(--ink);font-size:12px;font-weight:600}.caja-pos .cx-field label .req{color:var(--red);margin-left:2px}.caja-pos .cx-field label .opt{color:var(--faint);font-weight:400}.caja-pos .cx-field input,.caja-pos .cx-field textarea{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:10px;outline:none;width:100%;padding:11px 13px;font-family:inherit;font-size:13.5px;transition:all .12s}.caja-pos .cx-field textarea{resize:vertical;min-height:64px;line-height:1.5}.caja-pos .cx-field input:focus,.caja-pos .cx-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.caja-pos .cx-field input::placeholder,.caja-pos .cx-field textarea::placeholder{color:var(--faint)}.caja-pos .amt-box{border:1.5px solid var(--line);background:var(--panel);border-radius:11px;align-items:center;transition:all .12s;display:flex;overflow:hidden}.caja-pos .amt-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.caja-pos .amt-box.big .cur{padding:0 4px 0 16px;font-size:22px}.caja-pos .amt-box.big input{padding:14px 14px 14px 4px;font-size:24px}.caja-pos .amt-box .cur{color:var(--faint);padding:0 4px 0 14px;font-size:15px;font-weight:700}.caja-pos .amt-box input{width:100%;color:var(--ink);background:0 0;border:none;outline:none;padding:12px 14px 12px 4px;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:16px;font-weight:700}.caja-pos .cx-chips{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.caja-pos .cx-chips button{color:var(--accent);background:var(--accent-soft);cursor:pointer;border:none;border-radius:8px;padding:7px 12px;font-size:11.5px;font-weight:600}.caja-pos .cx-chips button:hover{filter:brightness(.97)}.caja-pos .cx-chips button.mut{color:var(--muted);background:var(--soft)}.caja-pos .change-row{background:var(--soft);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;margin-top:13px;padding:13px 15px;display:flex}.caja-pos .change-row .k{text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-size:12px;font-weight:700}.caja-pos .change-row .v{color:var(--green);font-size:20px;font-weight:800}.caja-pos .change-row .v.neg{color:var(--red)}.caja-pos .await{text-align:center;padding:56px 24px}.caja-pos .await .ring{background:var(--accent-soft);width:60px;height:60px;color:var(--accent);border-radius:16px;place-items:center;margin:0 auto 16px;display:grid}.caja-pos .await .ring svg{width:28px;height:28px}.caja-pos .await h3{font-size:16px;font-weight:800}.caja-pos .await p{color:var(--muted);margin-top:6px;max-width:340px;margin-inline:auto;font-size:13px;line-height:1.5}.caja-pos .receipt{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #0f1b2d14}.caja-pos .rc-top{border-bottom:1px dashed var(--line);align-items:center;gap:10px;padding:16px 18px;display:flex}.caja-pos .rc-top .ic{background:var(--ink);width:30px;height:30px;color:var(--panel);border-radius:9px;flex:none;place-items:center;display:grid}.caja-pos .rc-top .ic svg{width:16px;height:16px}.caja-pos .rc-top .t{font-size:13.5px;font-weight:800}.caja-pos .rc-top .n{color:var(--faint);margin-top:1px;font-size:11px}.caja-pos .rc-b{padding:16px 18px}.caja-pos .rc-line{justify-content:space-between;gap:12px;padding:5px 0;font-size:12.5px;display:flex}.caja-pos .rc-line .k{color:var(--muted)}.caja-pos .rc-line .v{text-align:right;font-weight:600}.caja-pos .rc-line .v.mut{color:var(--faint);font-weight:500}.caja-pos .rc-items{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:10px 0;padding:11px 0}.caja-pos .rc-item{justify-content:space-between;gap:10px;padding:3px 0;font-size:12px;display:flex}.caja-pos .rc-item .k{color:var(--muted)}.caja-pos .rc-item .v{font-family:IBM Plex Mono,JetBrains Mono,monospace;font-weight:600}.caja-pos .rc-total{justify-content:space-between;align-items:flex-end;margin-top:12px;display:flex}.caja-pos .rc-total .k{text-transform:uppercase;letter-spacing:.5px;color:var(--faint);font-size:12px;font-weight:700}.caja-pos .rc-total .v{color:var(--ink);font-size:28px;font-weight:800}.caja-pos .rc-foot{padding:14px 18px 18px}.caja-pos .pay-btn{background:var(--accent);width:100%;color:var(--on-accent,#fff);cursor:pointer;box-shadow:0 6px 16px var(--accent-soft);border:none;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:15px;font-size:15px;font-weight:700;transition:all .12s;display:flex}.caja-pos .pay-btn:hover:not(:disabled){filter:brightness(.95)}.caja-pos .pay-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.caja-pos .pay-btn svg{width:19px;height:19px}.caja-pos .print-btn{background:var(--panel);width:100%;color:var(--muted);border:1px solid var(--line);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:7px;margin-top:9px;padding:10px;font-size:12.5px;font-weight:600;display:flex}.caja-pos .print-btn:hover{color:var(--ink);border-color:var(--accent)}.caja-pos .print-btn svg{width:15px;height:15px}.caja-pos .hint-need{color:var(--faint);text-align:center;margin-top:10px;font-size:11.5px}.caja-pos .hint-need.err{color:var(--red)}.caja-pos-ov{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;background:#0f1b2d80;place-items:center;padding:24px;animation:.2s cxfade;display:grid;position:fixed;inset:0}@keyframes cxfade{0%{opacity:0}}.caja-pos-ov .ok-card{background:var(--panel);border-radius:20px;width:min(420px,100%);animation:.25s cubic-bezier(.2,.9,.3,1.2) cxpop;overflow:hidden;box-shadow:0 24px 60px #0f1b2d4d}@keyframes cxpop{0%{opacity:0;transform:scale(.94)translateY(8px)}}.caja-pos-ov .ok-hero{background:linear-gradient(160deg,var(--green),color-mix(in srgb,var(--green) 68%,#000));text-align:center;color:#fff;padding:30px 24px}.caja-pos-ov .ok-hero .big{background:#fff3;border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 14px;display:grid}.caja-pos-ov .ok-hero .big svg{stroke-width:3px;width:34px;height:34px}.caja-pos-ov .ok-hero h3{font-size:19px;font-weight:800}.caja-pos-ov .ok-hero .amt{margin-top:6px;font-family:IBM Plex Mono,JetBrains Mono,monospace;font-size:34px;font-weight:800}.caja-pos-ov .ok-b{padding:18px 22px}.caja-pos-ov .ok-b .rc-line{justify-content:space-between;gap:12px;padding:6px 0;font-size:12.5px;display:flex}.caja-pos-ov .ok-b .rc-line .k{color:var(--muted)}.caja-pos-ov .ok-b .rc-line .v{text-align:right;font-weight:600}.caja-pos-ov .ok-foot{gap:10px;padding:4px 22px 22px;display:flex}.caja-pos-ov .ok-foot button{cursor:pointer;border:1px solid var(--line);border-radius:11px;flex:1;padding:12px;font-size:13.5px;font-weight:700}.caja-pos-ov .ok-foot .ghost{background:var(--panel);color:var(--muted)}.caja-pos-ov .ok-foot .ghost:hover{color:var(--ink);border-color:var(--accent)}.caja-pos-ov .ok-foot .prim{background:var(--accent);color:var(--on-accent,#fff);border-color:var(--accent)}@media (max-width:1100px){.caja-pos .cx-grid{grid-template-columns:1fr}.caja-pos .col-client,.caja-pos .col-receipt{position:static}}@media (max-width:768px){.caja-pos .cx-head{gap:12px}.caja-pos .cx-meta{gap:8px;width:100%;margin-left:0}.caja-pos .cx-btn{flex:100%;justify-content:center;min-height:40px}.caja-pos .cx-pill{text-align:left;flex:calc(50% - 4px);min-width:0}.caja-pos .grid2,.caja-pos .grid-2{grid-template-columns:1fr}.caja-pos .methods{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.caja-pos .cx-head h1{font-size:19px}.caja-pos .cx-head .sub{font-size:12px}.caja-pos .cx-mark{width:38px;height:38px}.caja-pos .cx-mark svg{width:20px;height:20px}.caja-pos .methods{grid-template-columns:repeat(2,1fr)}.caja-pos .amt-box.big input{padding:12px 12px 12px 4px;font-size:20px}.caja-pos .amt-box.big .cur{font-size:19px}.caja-pos .rc-total .v{font-size:24px}.caja-pos .bal .v{font-size:19px}}
