:root{--text:#1a1630;--text-muted:#56506e;--surface-solid:#fff;--surface-2:#f1edf7;--border:#e2deea;--border-strong:#cbc4db;--field-bg:#f4f1fa;--field-border:#bfb5d4;--field-shadow:inset 0 1px 2px #1a163014;--on-accent:#fff;--glass:#ffffffeb;--glass-strong:#fffffff5;--glass-border:#1a163024;--glass-hi:#ffffff8c;--active-bg:#443ea81a;--active-hi:#ffffff8c;--blur:28px;--glass-sat:110%;--page-bg:linear-gradient(180deg, #d9d2e8 0%, #e6e1f0 100%);--accent:#443ea8;--accent-weak:#443ea81a;--pos:#0f6b54;--neg:#9b3f3a;--warn-bg:#d0985329;--warn-border:#d0985380;--warn-text:#8a5a16;--chart-1:#443ea8;--chart-2:#9b3f3a;--chart-grid:#7882962e;--chart-muted:#6b6480;--radius:20px;--radius-sm:13px;--radius-pill:999px;--shadow:0 6px 22px #1a16301f, 0 1px 2px #1a163012;--shadow-soft:0 2px 8px #1a163014;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:15px/1.5 var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme]){--text:#eef1f6;--text-muted:#9aa4b2;--surface-solid:#171b22;--surface-2:#1c2129;--border:#2a303a;--border-strong:#38404c;--field-bg:#1c2129;--field-border:#434c59;--field-shadow:inset 0 1px 2px #00000059;--on-accent:#14112a;--glass:#161a2257;--glass-strong:#161a2275;--glass-sat:190%;--glass-border:#ffffff1a;--glass-hi:#ffffff0f;--active-bg:#ffffff24;--active-hi:#ffffff2e;--accent:#8e88ee;--accent-weak:#8e88ee38;--pos:#34c471;--neg:#f2685c;--warn-bg:#ea822829;--warn-border:#ea822866;--warn-text:#f0b47a;--chart-1:#8e88ee;--chart-2:#f2685c;--chart-grid:#96a0b429;--chart-muted:#8b97a8;--shadow:0 8px 30px #0000008c, 0 1px 2px #00000073;--shadow-soft:0 2px 12px #00000073;--page-bg:radial-gradient(1000px 600px at 12% -12%, #6e66e638, transparent 60%), radial-gradient(900px 620px at 100% 0%, #d094901f, transparent 55%), linear-gradient(180deg, #0b0d12 0%, #08090c 100%)}}:root[data-theme=dark]{--text:#eef1f6;--text-muted:#9aa4b2;--surface-solid:#171b22;--surface-2:#1c2129;--border:#2a303a;--border-strong:#38404c;--field-bg:#1c2129;--field-border:#434c59;--field-shadow:inset 0 1px 2px #00000059;--on-accent:#14112a;--glass:#161a2257;--glass-strong:#161a2275;--glass-sat:190%;--glass-border:#ffffff1a;--glass-hi:#ffffff0f;--active-bg:#ffffff24;--active-hi:#ffffff2e;--accent:#8e88ee;--accent-weak:#8e88ee38;--pos:#34c471;--neg:#f2685c;--warn-bg:#ea822829;--warn-border:#ea822866;--warn-text:#f0b47a;--chart-1:#8e88ee;--chart-2:#f2685c;--chart-grid:#96a0b429;--chart-muted:#8b97a8;--shadow:0 8px 30px #0000008c, 0 1px 2px #00000073;--shadow-soft:0 2px 12px #00000073;--page-bg:radial-gradient(1000px 600px at 12% -12%, #6e66e638, transparent 60%), radial-gradient(900px 620px at 100% 0%, #d094901f, transparent 55%), linear-gradient(180deg, #0b0d12 0%, #08090c 100%)}*{box-sizing:border-box}body{background:var(--page-bg);background-attachment:fixed;min-height:100svh;margin:0}body:before,body:after{content:"";z-index:-1;pointer-events:none;filter:blur(70px);opacity:.4;border-radius:50%;width:46vw;max-width:540px;height:46vw;max-height:540px;position:fixed}body:before{background:radial-gradient(circle,#2a78d6,#0000 70%);top:-12%;left:-8%}body:after{background:radial-gradient(circle,#12a150,#0000 70%);bottom:-14%;right:-10%}@media (prefers-color-scheme:dark){body:before,body:after{opacity:.3}}h1{letter-spacing:-.5px;margin:0 0 4px;font-size:26px;font-weight:700}h2{margin:0 0 12px;font-size:16px;font-weight:650}p{margin:0}a{color:inherit}.app-main{max-width:1000px;margin:0 auto;padding:1.5rem 2rem 3rem}.page-title{margin-bottom:2px}.page-subtitle{color:var(--text-muted);margin:0 0 1.5rem}.muted{color:var(--text-muted)}.num{font-variant-numeric:tabular-nums}.navbar{z-index:30;padding:12px 16px 0;position:sticky;top:0}.navbar-inner{background:linear-gradient(180deg, var(--glass-hi), transparent 60%), var(--glass-strong);max-width:1000px;-webkit-backdrop-filter:blur(calc(var(--blur) + 4px)) saturate(var(--glass-sat));backdrop-filter:blur(calc(var(--blur) + 4px)) saturate(var(--glass-sat));border:1px solid var(--glass-border);border-radius:var(--radius-pill);box-shadow:var(--shadow), inset 0 1px 0 var(--glass-hi);flex-wrap:wrap;align-items:center;gap:6px;margin:0 auto;padding:7px 10px;display:flex;position:relative}.navbar-inner:before{content:"Cuentia";z-index:0;pointer-events:none;letter-spacing:12px;color:var(--text);opacity:.07;white-space:nowrap;border-radius:var(--radius-pill);justify-content:center;align-items:center;font-size:46px;font-weight:800;display:flex;position:absolute;inset:0;overflow:hidden}.navbar-inner>*{z-index:1;position:relative}.brand{letter-spacing:-.3px;margin:0 8px;font-size:18px;font-weight:800}.brand-dot{color:var(--accent)}.navlink{border-radius:var(--radius-pill);color:var(--text-muted);padding:7px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.navlink:hover{background:var(--surface-2);color:var(--text)}.navlink.active{color:var(--text);background:linear-gradient(180deg, var(--active-hi), transparent 70%), var(--active-bg);box-shadow:inset 0 1px 0 var(--active-hi), inset 0 -1px 2px #0000000a, 0 2px 6px #1018281a;border:1px solid var(--glass-border)}.nav-group{display:flex;position:relative}.nav-trigger{font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:5px;font-size:14px;font-weight:600;display:inline-flex}.nav-caret{opacity:.7;font-size:10px;line-height:1;transition:transform .15s}.nav-group:has(.nav-menu) .nav-caret{transform:rotate(180deg)}.nav-menu{z-index:40;background:var(--surface-solid);border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex-direction:column;gap:2px;min-width:190px;padding:6px;animation:.13s ease-out nav-menu-in;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 32px #1018282e,0 2px 6px #1018281a}@keyframes nav-menu-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.nav-menu{animation:none}}.nav-menu-item{border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;padding:9px 12px;font-size:14px;font-weight:600;text-decoration:none;display:block}.nav-menu-item:hover{background:var(--surface-2);color:var(--text)}.nav-menu-item.active{color:var(--text);background:var(--active-bg)}.lang-btn{font:inherit;border-radius:var(--radius-pill);border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;background:0 0;padding:6px 12px;font-size:13px;font-weight:700}.lang-btn:hover{background:var(--surface-2);color:var(--text)}.nav-links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.nav-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.nav-user{color:var(--text-muted);white-space:nowrap;border-radius:var(--radius-pill);padding:4px 10px;font-size:13px;text-decoration:none}.nav-user:hover{color:var(--text);background:var(--surface-2)}.nav-logout{padding:6px 12px;font-size:13px}.nav-ico{display:none}.nav-label{display:inline}.card{background:linear-gradient(155deg, var(--glass-hi), transparent 42%), var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(var(--glass-sat));backdrop-filter:blur(var(--blur)) saturate(var(--glass-sat));border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow), inset 0 1px 0 var(--glass-hi);margin-bottom:1.25rem;padding:1.25rem 1.5rem}.stat-row{flex-wrap:wrap;gap:2rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:12px}.stat-value{letter-spacing:-.3px;margin-top:2px;font-size:24px;font-weight:700}.btn{font:inherit;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-solid);color:var(--text);cursor:pointer;box-shadow:var(--shadow-soft);padding:9px 16px;font-size:14px;font-weight:600;transition:transform 80ms,background .15s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:#0000;box-shadow:0 2px 10px #443ea847}.btn-primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn-danger{background:var(--neg);color:#fff;border-color:#0000}.btn-danger:hover:not(:disabled){filter:brightness(1.05);background:var(--neg)}.btn-glass{background:linear-gradient(180deg, var(--glass-hi), transparent 65%), var(--glass);-webkit-backdrop-filter:blur(14px) saturate(var(--glass-sat));backdrop-filter:blur(14px) saturate(var(--glass-sat));border:1px solid var(--glass-border);color:var(--text);box-shadow:var(--shadow-soft), inset 0 1px 0 var(--glass-hi)}.btn-glass:hover:not(:disabled){filter:brightness(1.04)}.btn-danger-glass{background:linear-gradient(180deg, var(--glass-hi), transparent 65%), var(--glass);-webkit-backdrop-filter:blur(14px) saturate(var(--glass-sat));backdrop-filter:blur(14px) saturate(var(--glass-sat));border:1px solid var(--glass-border);color:var(--neg);box-shadow:var(--shadow-soft), inset 0 1px 0 var(--glass-hi)}.btn-danger-glass:hover:not(:disabled){background:var(--neg);color:#fff;border-color:#0000}.btn-sm{padding:6px 12px;font-size:13px}.file-field{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.file-input-hidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.is-disabled{opacity:.5;pointer-events:none}label.btn{display:inline-block}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:460px;font-size:14px}.table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);padding:10px 8px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);padding:12px 8px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.table .right{text-align:right}.amount-pos{color:var(--pos);font-weight:600}.amount-neg{color:var(--neg);font-weight:600}.empty{text-align:center;color:var(--text-muted);padding:2.5rem 1rem}.tag{background:var(--accent-weak);color:var(--accent);border-radius:var(--radius-pill);white-space:nowrap;padding:3px 11px;font-size:12px;font-weight:600}.tag-empty{color:var(--border-strong)}.alert-warn{background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);border-radius:var(--radius-sm);margin-bottom:12px;padding:11px 15px;font-size:14px}.msg{color:var(--text-muted);margin-top:10px;font-size:14px}.error{color:var(--neg)}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.chat-log{flex-direction:column;gap:10px;min-height:220px;max-height:440px;margin-bottom:1rem;padding:4px;display:flex;overflow-y:auto}.chat-msg{max-width:78%;box-shadow:var(--shadow-soft);padding:10px 14px;font-size:14px;line-height:1.45}.chat-user{background:var(--accent);color:#fff;border-radius:20px 20px 6px;align-self:flex-end}.chat-assistant{background:var(--surface-solid);border:1px solid var(--border);border-radius:20px 20px 20px 6px;align-self:flex-start}.chat-role{text-transform:uppercase;letter-spacing:.5px;opacity:.7;margin-bottom:3px;font-size:10px}.chat-text{white-space:pre-wrap}.chat-note{color:var(--warn-text);margin-top:6px;font-size:12px}.chat-form{gap:8px;display:flex}.chat-input{font:inherit;border:1px solid var(--field-border);border-radius:var(--radius-pill);background:var(--field-bg);color:var(--text);box-shadow:var(--field-shadow);flex:1;padding:11px 16px;font-size:14px}.chat-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);outline:none}.auth-wrap{justify-content:center;align-items:center;min-height:100svh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.auth-wrap:before,.auth-wrap:after{content:"";filter:blur(48px);opacity:.22;z-index:0;border-radius:50%;width:42vw;max-width:480px;height:42vw;max-height:480px;position:absolute}.auth-wrap:before{background:radial-gradient(circle, var(--accent), transparent 70%);top:-8%;left:-6%}.auth-wrap:after{background:radial-gradient(circle, var(--pos), transparent 70%);bottom:-10%;right:-8%}.auth-card{z-index:1;background:var(--glass-strong);width:100%;max-width:400px;margin:0;padding:1.75rem 1.75rem 1.5rem;position:relative}.auth-topbar{justify-content:flex-end;gap:8px;min-height:30px;display:flex}.icon-btn{text-align:center;min-width:42px;line-height:1}.auth-brand{text-align:center;letter-spacing:-1px;margin:2px 0 4px;font-size:38px;font-weight:800}.auth-brand .brand-dot{color:var(--accent)}.auth-tagline{text-align:center}.auth-form{flex-direction:column;gap:10px;margin:16px 0;display:flex}.auth-form .btn{width:100%;padding:12px;font-size:15px}.auth-wrap:before,.auth-wrap:after{display:none}.auth-scene{z-index:0;pointer-events:none;background-image:var(--auth-scene,none);background-color:#2a2118;background-position:32%;background-size:cover;position:absolute;inset:0}.auth-scene-tint{z-index:0;pointer-events:none;background:radial-gradient(46% 60% at 17% 34%,#ffbe6e00 0%,#0000 58%),linear-gradient(#080a147a,#080a14b8);transition:background .64s ease-out;position:absolute;inset:0}:root[data-theme=light] .auth-scene-tint{background:radial-gradient(52% 66% at 17% 32%,#ffb05c80 0%,#ffb4641a 40%,#0000 66%),linear-gradient(#14100814,#1410084d)}.auth-lamp-switch{z-index:1;cursor:pointer;background:radial-gradient(at 45% 40%,#ffc8780d,#0000 60%);border:0;border-radius:40% 40% 30% 30%;width:26%;height:48%;padding:0;transition:background .3s;position:absolute;top:10%;left:2%}.auth-lamp-switch:hover{background:radial-gradient(at 45% 40%,#ffc8782e,#0000 62%)}.auth-lamp-switch:focus-visible{outline-offset:4px;outline:2px solid #ffcf6e}.auth-card{z-index:2;background:color-mix(in srgb, var(--surface-solid) 93%, transparent);max-width:360px;transform:perspective(1000px) rotateY(var(--rx,0deg)) rotateX(var(--ry,0deg));transform-style:preserve-3d;will-change:transform;padding:1.5rem 1.5rem 1.25rem;transition:transform .32s ease-out;position:relative;box-shadow:0 30px 70px #00000073,0 4px 14px #00000040}@media (prefers-reduced-motion:reduce){.auth-card{transform:none}}:root[data-theme=dark] .auth-card{background:#242b38;border:1px solid #ffffff24;box-shadow:0 34px 76px #0009,0 6px 18px #00000061,inset 0 1px #ffffff14}.auth-brand{margin:0 0 2px;font-size:32px}.auth-form{gap:9px;margin:14px 0}.auth-form .chat-input{padding:10px 14px}.auth-form .btn{padding:11px}.auth-topbar{z-index:3;align-items:center;position:relative}.auth-brand,.auth-tagline,.auth-form,.auth-card>.msg{z-index:2;position:relative}.auth-glow{z-index:1;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(70% 42% at 22% -6%,#ffb0543d,#0000 60%);transition:opacity .52s ease-out;position:absolute;inset:0}:root[data-theme=light] .auth-glow{opacity:1}@media (prefers-reduced-motion:reduce){.auth-scene-tint,.auth-glow,.auth-lamp-switch{transition:none}}.mode-choice{flex-direction:column;gap:10px;margin:8px 0 4px;display:flex}.mode-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.mode-option.active{border-color:var(--accent);background:var(--accent-weak)}.mode-option input{margin-top:3px}.mode-option strong{display:block}.mode-option .muted{margin-top:2px;font-size:13px;display:block}.demo-badge{letter-spacing:.5px;vertical-align:middle;background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:800;display:inline-block}.demo-note{border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-border);margin:0 0 10px;padding:9px 12px;font-size:13px}.chart-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.figure{margin:0}.figure figcaption{margin-bottom:10px;font-size:14px;font-weight:600}.verify-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.chain-badge{border-radius:var(--radius-pill);padding:6px 13px;font-size:13px;font-weight:600}.chain-ok{color:var(--pos);background:color-mix(in srgb, var(--pos) 14%, transparent)}.chain-broken{color:var(--warn-text);background:var(--warn-bg);border:1px solid var(--warn-border)}.chain-empty{color:var(--text-muted);background:var(--surface-2)}.tag-sealed{background:color-mix(in srgb, var(--pos) 16%, transparent);color:var(--pos)}.status-draft{background:var(--surface-2);color:var(--text-muted)}.status-sent{background:var(--accent-weak);color:var(--accent)}.status-accepted,.status-converted{background:color-mix(in srgb, var(--pos) 16%, transparent);color:var(--pos)}.status-rejected{background:color-mix(in srgb, var(--neg) 15%, transparent);color:var(--neg)}.invoice-form{flex-direction:column;gap:14px;margin-top:14px;display:flex}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field{flex-direction:column;flex:1;gap:5px;min-width:160px;display:flex}.field.field-sm{flex:0 0 120px;min-width:100px}.field>span{color:var(--text-muted);font-size:12px;font-weight:600}.field input,.lines-table input{font:inherit;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--text);width:100%;box-shadow:var(--field-shadow);padding:9px 13px;font-size:14px}.field input:focus,.lines-table input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.7}.lines-table{min-width:0}.lines-table td{border-bottom:none;padding:6px}.lines-table th{border-bottom:1px solid var(--border);padding:4px 6px}.lines-table tbody tr:hover{background:0 0}.num-input{text-align:right;max-width:96px}.form-sec{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);border-bottom:1px solid var(--border);margin:18px 0 2px;padding-bottom:4px;font-size:12px;font-weight:700}.cie-note{color:var(--text-muted);font-size:12px}.cie-steps{color:var(--text);margin:10px 0 12px;padding-left:18px;font-size:13px;line-height:1.6}.cie-steps li{margin-bottom:4px}.loads-grid{flex-wrap:wrap;gap:10px 20px;margin-top:8px;display:flex}.load-check{cursor:pointer;align-items:center;gap:7px;font-size:14px;display:flex}.unifilar{display:block}.unifilar text{font-family:inherit;font-size:10px}.uni-line{stroke:var(--border-strong);stroke-width:1.5px}.uni-box{fill:var(--surface-solid);stroke:var(--border-strong);stroke-width:1.5px}.uni-iga{fill:var(--accent-weak);stroke:var(--accent);stroke-width:1.5px}.uni-id{fill:color-mix(in srgb, var(--pos) 12%, transparent);stroke:var(--pos);stroke-width:1.5px}.uni-code{fill:var(--text);font-weight:700}.uni-sub{fill:var(--text-muted);font-size:9px}.plan-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.plan-tool{font:inherit;border-radius:var(--radius-pill);border:1px solid var(--field-border);background:var(--field-bg);color:var(--text-muted);cursor:pointer;padding:5px 11px;font-size:13px;font-weight:600}.plan-tool:hover{background:var(--surface-2);color:var(--text)}.plan-tool.active{background:var(--accent-weak);color:var(--accent);border-color:var(--accent)}.plan-sep{background:var(--border);width:1px;height:20px;margin:0 4px}.floorplan{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);touch-action:none;display:block}.grid-line{stroke:var(--border);stroke-width:1px}.plan-room{fill:color-mix(in srgb, var(--accent) 6%, transparent);stroke:var(--text);stroke-width:3px}.plan-room-label{fill:var(--text);pointer-events:none;font-size:12px;font-weight:700}.plan-room-dim{fill:var(--text-muted);pointer-events:none;font-size:10px}.plan-vertex{fill:var(--surface-solid);stroke:var(--accent);stroke-width:2px;cursor:grab}.plan-vertex:hover{fill:var(--accent);r:7}.panel-board svg{margin:0 auto 14px;display:block}.board-case{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:2px}.board-rail{fill:var(--border)}.din rect{stroke-width:1.5px}.din-iga rect{fill:var(--surface-solid);stroke:var(--text)}.din-id rect{fill:color-mix(in srgb, var(--pos) 14%, var(--surface-solid));stroke:var(--pos)}.din-pia rect{fill:color-mix(in srgb, var(--accent) 12%, var(--surface-solid));stroke:var(--accent)}.din-lever{fill:var(--text-muted);stroke:none}.din text{text-anchor:middle}.din-top{fill:var(--text);font-size:12px;font-weight:800}.din-bottom{fill:var(--text-muted);font-size:10px}.dev-socket-tag{fill:var(--accent);text-anchor:middle;pointer-events:none;font-size:8px;font-weight:800}.check-miss{padding:2px 0;font-size:13px}.check-miss+.check-miss{border-top:1px dashed var(--border)}.plan-mid{fill:var(--accent);opacity:.35;cursor:copy}.plan-mid:hover{opacity:1;r:6}.poly-draft polyline{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4}.poly-draft circle{fill:var(--accent)}.rectify-overlay{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a08189e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:auto}.rectify-card{width:100%;max-width:820px}.rectify-box{touch-action:none;-webkit-user-select:none;user-select:none;max-width:100%;margin:0 auto;position:relative}.rectify-box img{border-radius:8px;width:100%;height:100%;display:block}.rectify-svg{width:100%;height:100%;position:absolute;inset:0}.rectify-svg polygon{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:var(--accent);stroke-width:2px;stroke-dasharray:6 4}.rectify-svg polygon.invalid{fill:color-mix(in srgb, var(--neg) 16%, transparent);stroke:var(--neg)}.rectify-svg circle{fill:var(--surface-solid);stroke:var(--accent);stroke-width:3px;cursor:grab}.rectify-svg circle:active{cursor:grabbing}.rectify-svg text{fill:var(--accent);paint-order:stroke;stroke:var(--surface-solid);stroke-width:3px;font-size:13px;font-weight:700}.plan-opacity{align-items:center;display:flex}.plan-opacity input{width:90px;accent-color:var(--accent);cursor:pointer}.calib-mark line{stroke:var(--neg);stroke-width:2px}.calib-mark .calib-line{stroke-dasharray:6 4;stroke-width:2px}.calib-tag{fill:var(--neg);font-size:12px;font-weight:700}.calib-grab{fill:#0000;cursor:grab}.calib-grab:active{cursor:grabbing}.calib-panel{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:10px;padding:10px 12px;display:flex}.dev-socket{fill:color-mix(in srgb, var(--accent) 30%, var(--surface-solid));stroke:var(--accent);stroke-width:2px}.dev-switch{fill:color-mix(in srgb, var(--pos) 30%, var(--surface-solid));stroke:var(--pos);stroke-width:2px}.dev-light circle{fill:var(--surface-solid);stroke:var(--warn-text);stroke-width:2px}.dev-light path{stroke:var(--warn-text);stroke-width:1.5px}.plan-panel{fill:var(--accent)}.plan-panel-label{fill:#fff;pointer-events:none;font-size:9px;font-weight:700}.floorplan3d{border:1px solid var(--border);border-radius:var(--radius-sm);background:#efeaf6;width:100%;height:440px;overflow:hidden}.cie-textarea{font:inherit;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--text);resize:vertical;width:100%;min-height:60px;box-shadow:var(--field-shadow);padding:9px 13px;font-size:14px}.cie-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);outline:none}.bank-select{font:inherit;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field-bg);color:var(--text);box-sizing:border-box;min-width:200px;max-width:100%;box-shadow:var(--field-shadow);padding:9px 13px;font-size:14px}.field .bank-select,.field-sm .bank-select,td .bank-select{width:100%;min-width:0}.bank-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak);outline:none}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;margin-right:12px;padding:4px 2px;font-size:13px;font-weight:600}.link-btn:hover{text-decoration:underline}.danger-link{color:var(--neg)}.subtabs{flex-wrap:wrap;gap:6px;margin:4px 0 18px;display:flex}.subtab{font:inherit;border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:7px 15px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.subtab:hover{color:var(--text);background:var(--surface-2)}.subtab.active{color:var(--text);background:linear-gradient(180deg, var(--active-hi), transparent 70%), var(--active-bg);border-color:var(--glass-border);box-shadow:var(--shadow-soft), inset 0 1px 0 var(--glass-hi)}.row-click{cursor:pointer}.detail-row td,.detail-row:hover td{background:var(--surface-2)}.invoice-detail{flex-direction:column;gap:14px;padding:4px 2px;display:flex}.detail-lines{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.detail-lines li{justify-content:space-between;gap:16px;font-size:14px;display:flex}.detail-verifactu{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.fingerprint{border-top:1px dashed var(--border-strong);flex-direction:column;flex:1;gap:7px;min-width:240px;padding-top:10px;display:flex}.qr-box{flex-direction:column;align-items:center;gap:8px;display:flex}.qr-img{border:1px solid var(--border);background:#fff;border-radius:12px;width:150px;height:150px;padding:8px;display:block}.doc-links{gap:14px;display:flex}.fingerprint>div{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.fp-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);min-width:92px;font-size:11px;font-weight:700}.hash{color:var(--accent);word-break:break-all;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}@media (width<=820px){.chart-grid{grid-template-columns:1fr}.app-main{padding:1rem 1rem 3rem}.navbar{padding:10px 10px 0}.navbar-inner{border-radius:22px;flex-wrap:nowrap;gap:2px;padding:6px}.navbar-inner:before{display:none}.brand{margin-left:4px}.nav-ico{font-size:16px;line-height:1;display:inline}.nav-label{display:none}.nav-links{flex:auto;justify-content:space-between;gap:2px}.nav-actions{flex-wrap:nowrap;flex:none;gap:2px;width:auto;margin-left:4px}.navlink{padding:7px}.nav-user{padding:6px 7px}.nav-actions .btn-sm{padding:6px 8px}.nav-actions .icon-btn{min-width:32px}.stat-row{gap:1.25rem}.card{padding:1rem 1.15rem}h1{font-size:22px}}
