@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--brand:#2563eb;--brand-50:#eff6ff;--brand-100:#dbeafe;--brand-600:#1d4ed8;--cta:#f59e0b;--cta-50:#fffbeb;--cta-600:#d97706;--ok:#16a34a;--ok-50:#f0fdf4;--warn:#d97706;--warn-50:#fffbeb;--alert:#dc2626;--alert-50:#fef2f2;--ink:#0f172a;--ink-1:#1e293b;--ink-2:#334155;--ink-3:#64748b;--ink-4:#94a3b8;--ink-5:#cbd5e1;--surface:#fff;--surface-2:#f1f5f9;--surface-alt:#f8fafc;--line:#e2e8f0;--line-soft:#f1f5f9;--sidebar-bg:#0f172a;--sidebar-w:224px;--f-sans:"Plus Jakarta Sans", system-ui, sans-serif;--f-mono:"JetBrains Mono", "Fira Code", monospace;--r-sm:4px;--r:6px;--r-lg:10px;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000d;--shadow:0 4px 6px -1px #00000014, 0 2px 4px -2px #0000000d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:14px}body{font-family:var(--f-sans);color:var(--ink);background:var(--surface-alt);-webkit-font-smoothing:antialiased;line-height:1.5}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}button{cursor:pointer;border:none;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex}.main{min-width:0;margin-left:var(--sidebar-w);flex-direction:column;flex:1;display:flex}.content{flex:1;min-width:0;padding:20px 24px 40px;animation:.2s ease-out page-enter}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);z-index:100;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.brand{border-bottom:1px solid #ffffff14;justify-content:center;align-items:center;padding:16px;display:flex}.logo{width:36px;height:36px;color:var(--brand);font-family:var(--f-mono);background:#fff;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.brand-name{color:#fff;letter-spacing:.04em;font-size:15px;font-weight:700}.brand-sub{color:#fff6;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.search-box{border-radius:var(--r);color:#ffffff73;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;align-items:center;gap:8px;padding:7px 10px;font-size:12px;display:flex}.search-box svg{flex-shrink:0;width:14px;height:14px}.search-box kbd{font-family:var(--f-mono);background:#ffffff1f;border-radius:3px;margin-left:auto;padding:1px 5px;font-size:9.5px}.nav{flex:1;padding:6px 0}.nav-label{color:#ffffff4d;text-transform:uppercase;letter-spacing:.1em;padding:10px 16px 4px;font-size:9.5px;font-weight:600}.nav-item{border-radius:var(--r);color:#ffffff8c;cursor:pointer;align-items:center;gap:9px;margin:1px 6px;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item svg{opacity:.8;flex-shrink:0;width:16px;height:16px;transition:opacity .15s}.nav-item:hover{color:#ffffffe6;background:#ffffff14}.nav-item:hover svg{opacity:1}.nav-item.active{color:#fff;border-left:2.5px solid var(--brand);background:#2563eb2e;margin-left:4px;padding-left:12px;font-weight:600;box-shadow:inset 0 0 0 1px #2563eb26}.nav-item.active svg{opacity:1}.nav-item .count{color:#ffffffe6;background:#ffffff26;border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:600;transition:background .15s}.nav-item.active .count{background:var(--brand);color:#fff}.user{border-top:1px solid #ffffff14;align-items:center;gap:9px;padding:12px 14px;display:flex}.user .avatar-sm{border-radius:50%;flex-shrink:0;width:32px;height:32px;font-size:11px;font-weight:700}.user-name{color:#fff;font-size:12.5px;font-weight:600}.user-role{color:#fff6;font-size:10.5px}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:50;align-items:center;gap:16px;padding:11px 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0f172a0a}.crumbs{color:var(--ink-3);align-items:center;gap:4px;font-size:11.5px;display:flex}.crumbs svg{width:12px;height:12px}.page-title{letter-spacing:-.02em;font-size:19px;font-weight:700;line-height:1.2}.topbar-search{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--r);max-width:380px;color:var(--ink-3);cursor:pointer;flex:1;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;display:flex}.topbar-search svg{width:14px;height:14px}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.btn{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:var(--ink);white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn svg{flex-shrink:0;width:15px;height:15px}.btn:hover{background:var(--surface-alt);border-color:var(--ink-5)}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff;padding:10px 20px;font-size:14px}.btn-brand:hover{background:var(--brand-600)}.btn-danger{background:var(--alert);border-color:var(--alert);color:#fff}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.btn:disabled,.btn[disabled]{opacity:.42;cursor:not-allowed;pointer-events:none}.btn-ghost{color:var(--ink-3);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-alt);color:var(--ink)}.btn-sm{padding:5px 10px;font-size:12px}.btn-sm svg{width:13px;height:13px}.btn-icon{padding:7px}.btn-icon.btn-sm{padding:5px}.chip{background:var(--line-soft);color:var(--ink-3);border:1px solid var(--line);white-space:nowrap;border-radius:20px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:500;display:inline-flex}.chip .dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.chip-brand{background:var(--brand-50);color:var(--brand);border-color:var(--brand-100)}.chip-ok{background:var(--ok-50);color:var(--ok);border-color:color-mix(in oklch, var(--ok) 20%, transparent)}.chip-warn{background:var(--warn-50);color:var(--warn);border-color:color-mix(in oklch, var(--warn) 20%, transparent)}.chip-alert{background:var(--alert-50);color:var(--alert);border-color:color-mix(in oklch, var(--alert) 20%, transparent)}.chip-cta{background:var(--cta-50);color:var(--cta-600);border-color:color-mix(in oklch, var(--cta) 20%, transparent)}.chip-neutral{background:var(--line-soft);color:var(--ink-3);border-color:var(--line)}.sem-col{align-items:center;gap:5px;display:inline-flex}.sem{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.sem-ok{background:var(--ok)}.sem-warn{background:var(--warn)}.sem-neutral{background:var(--ink-5)}@keyframes sem-pulse{0%,to{box-shadow:0 0 #dc262680}50%{box-shadow:0 0 0 4px #dc262600}}.sem-alert{background:var(--alert);animation:2s ease-in-out infinite sem-pulse}.prog{background:var(--line-soft);border-radius:999px;overflow:hidden}.prog i{background:var(--brand);border-radius:999px;height:100%;transition:width .4s cubic-bezier(.4,0,.2,1);display:block}.prog.ok i{background:var(--ok)}.prog.warn i{background:var(--warn)}.prog.alert i{background:var(--alert)}.prog.cta i{background:var(--cta)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-header{align-items:center;padding:14px 16px 0;display:flex}.card-title{font-size:13.5px;font-weight:600}.card-body{padding:14px 16px}.card-footer{border-top:1px solid var(--line-soft);padding:10px 16px}.accent-l{border-left:3px solid}.accent-l.brand{border-left-color:var(--brand)}.accent-l.warn{border-left-color:var(--warn)}.accent-l.alert{border-left-color:var(--alert)}.accent-l.ok{border-left-color:var(--ok)}.accent-l.cta{border-left-color:var(--cta)}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:14px 16px;transition:box-shadow .15s}.kpi[data-delta=up]{border-top:2.5px solid var(--ok);background:linear-gradient(160deg, var(--ok-50) 0%, var(--surface) 55%)}.kpi[data-delta=down]{border-top:2.5px solid var(--alert);background:linear-gradient(160deg, var(--alert-50) 0%, var(--surface) 55%)}.kpi-label{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:6px;font-size:11.5px;font-weight:500;display:flex}.kpi-label svg{width:14px;height:14px}.kpi-value{font-size:26px;font-weight:700;line-height:1.1;font-family:var(--f-mono);letter-spacing:-.02em}.kpi-delta{color:var(--ink-3);border-top:1px solid var(--line-soft);align-items:center;gap:4px;margin-top:6px;padding-top:6px;font-size:11.5px;display:flex}.kpi-delta svg{width:13px;height:13px}.kpi-delta.up{color:var(--ok)}.kpi-delta.down{color:var(--alert)}.tbl-wrap{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:12.5px}.tbl th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);background:var(--surface-alt);border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 12px;font-size:11px;font-weight:600}.tbl th.num,.tbl td.num{text-align:right}.tbl th.ctr,.tbl td.ctr{text-align:center}.tbl td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:9px 12px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr:hover td{background:var(--surface-alt);transition:background .1s}.row-action{border-radius:var(--r-sm);width:26px;height:26px;color:var(--ink-3);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.row-action:hover{background:var(--line-soft);color:var(--ink)}.row-action svg{width:15px;height:15px}.filter-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 0;display:flex}.pill-tabs{flex-wrap:wrap;gap:4px;display:flex}.pill-tab{color:var(--ink-3);cursor:pointer;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:5px 12px;font-size:12.5px;font-weight:500;transition:all .12s;display:inline-flex}.pill-tab:hover{background:var(--line-soft);color:var(--ink)}.pill-tab.active{background:var(--brand-50);color:var(--brand);border-color:var(--brand-100)}.pill-tab .count{font-size:11px;font-weight:600}.tabs{border-bottom:1px solid var(--line);margin-bottom:16px;display:flex}.tab{color:var(--ink-3);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 16px;font-size:13px;font-weight:500;transition:color .12s,border-color .12s;display:flex}.tab:hover{color:var(--ink)}.tab.active{color:var(--brand);border-bottom-color:var(--brand)}.tab .badge{background:var(--line-soft);color:var(--ink-3);border-radius:10px;padding:1px 6px;font-size:10px;font-weight:600}.tab.active .badge{background:var(--brand-50);color:var(--brand)}.field{flex-direction:column;gap:4px;display:flex;position:relative}.lbl{color:var(--ink-3);letter-spacing:.01em;font-size:11.5px;font-weight:500}.lbl-req:after{content:" *";color:var(--alert)}.ipt,.input{border:1.5px solid var(--line);border-radius:var(--r);width:100%;font-size:13px;font-family:var(--f-sans);color:var(--ink);background:var(--surface);outline:none;min-height:34px;padding:7px 10px;transition:border-color .12s,box-shadow .12s}.ipt:focus,.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2563eb1f}.ipt:hover:not(:focus),.input:hover:not(:focus){border-color:var(--ink-5)}.ipt-empty{color:var(--ink-5)}.ipt-mono,.ipt.cell-mono{font-family:var(--f-mono)}.ipt-wrap{border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);align-items:stretch;transition:border-color .12s,box-shadow .12s;display:flex;overflow:hidden}.ipt-wrap:hover:not(:focus-within){border-color:var(--ink-5)}.ipt-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #2563eb1f}.ipt-wrap .ipt{box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;min-width:0}.ipt-pfx{color:var(--ink-4);background:var(--surface-alt);font-size:12px;font-family:var(--f-mono);white-space:nowrap;border-right:1.5px solid var(--line);align-items:center;padding:0 9px;display:flex}.sel-wrap{align-items:center;display:flex;position:relative}.sel-native{border:1.5px solid var(--line);border-radius:var(--r);width:100%;font-size:13px;font-family:var(--f-sans);color:var(--ink);background:var(--surface);appearance:none;cursor:pointer;outline:none;min-height:34px;padding:7px 34px 7px 10px;transition:border-color .12s,box-shadow .12s}.sel-native:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2563eb1f}.sel-native:hover:not(:focus){border-color:var(--ink-5)}.sel-native:disabled{opacity:.55;cursor:not-allowed;background:var(--surface-alt)}.sel-native option{color:var(--ink)}.sel-native option[value=""]{color:var(--ink-3)}.sel-caret{pointer-events:none;color:var(--ink-3);align-items:center;transition:color .12s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.sel-caret svg{width:14px;height:14px}.sel-wrap:focus-within .sel-caret{color:var(--brand)}.ss-wrap{border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;width:100%;min-height:34px;padding:0 34px 0 10px;transition:border-color .12s,box-shadow .12s;display:flex;position:relative}.ss-wrap:hover{border-color:var(--ink-5)}.ss-wrap--open{border-color:var(--brand);box-shadow:0 0 0 3px #2563eb1f}.ss-display{font-size:13px;font-family:var(--f-sans);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;line-height:32px;overflow:hidden}.ss-placeholder{color:var(--ink-3)}.ss-clear{color:var(--ink-3);z-index:1;border-radius:3px;padding:2px 4px;font-size:15px;line-height:1;position:absolute;top:50%;right:28px;transform:translateY(-50%)}.ss-clear:hover{color:var(--ink);background:var(--surface-alt)}.ss-dropdown{z-index:200;background:var(--surface);border:1.5px solid var(--brand);border-radius:var(--r);width:100%;min-width:240px;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.ss-search-wrap{border-bottom:1px solid var(--line);padding:8px}.ss-search{border:1.5px solid var(--line);border-radius:var(--r);width:100%;font-size:13px;font-family:var(--f-sans);background:var(--surface-alt);outline:none;padding:6px 10px}.ss-search:focus{border-color:var(--brand);background:var(--surface)}.ss-list{overscroll-behavior:contain;max-height:220px;overflow-y:auto}.ss-option{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:7px 12px;font-size:13px;overflow:hidden}.ss-option:hover{background:var(--surface-alt)}.ss-option--active{color:var(--brand);font-weight:600}.ss-empty{color:var(--ink-3);padding:10px 12px;font-size:12px}.sel{border:1.5px solid var(--line);border-radius:var(--r);color:var(--ink);background:var(--surface);cursor:pointer;justify-content:space-between;align-items:center;min-height:34px;padding:7px 10px;font-size:13px;transition:border-color .12s;display:flex}.sel:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #2563eb1f}.sel .caret{color:var(--ink-3)}.sel .caret svg{width:14px;height:14px}.ot-header{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:16px}.tl{flex-direction:column;display:flex}.tl-item{gap:10px;display:flex}.tl-dot{flex-direction:column;flex-shrink:0;align-items:center;padding-top:2px;display:flex}.tl-line{background:var(--line);flex:1;width:1px;min-height:16px;margin:3px 0}.flow{align-items:center;padding:8px 0;display:flex}.flow-step{text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;padding:0 4px;display:flex}.flow-step .circle{background:var(--line-soft);width:32px;height:32px;color:var(--ink-3);border:2px solid var(--line);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.flow-step.done .circle{background:var(--brand);border-color:var(--brand);color:#fff}.flow-step.current .circle{background:var(--cta-50);border-color:var(--cta);color:var(--cta-600)}.flow-step .label{font-size:12px;font-weight:600}.flow-step .sub{color:var(--ink-3);font-size:10.5px}.flow-step.done .label{color:var(--brand)}.flow-step.current .label{color:var(--cta-600)}.flow-line{background:var(--line);flex:.8;height:2px;margin-top:-28px}.flow-line.done{background:var(--brand)}.donut{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;position:relative}.donut:before{content:"";background:var(--surface);border-radius:50%;width:54px;height:54px;position:absolute}.donut span{z-index:1;font-size:13px;font-weight:700;font-family:var(--f-mono);position:relative}.avatar-sm{background:var(--brand-50);width:26px;height:26px;color:var(--brand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:9.5px;font-weight:700;display:inline-flex}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}.row{flex-direction:row;display:flex}.col{flex-direction:column;display:flex}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.flex-1{flex:1;min-width:0}.flex-wrap{flex-wrap:wrap}.gap-4{gap:4px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.mla{margin-left:auto}.muted{color:var(--ink-3)}.strong{font-weight:600}.tiny{font-size:12px}.xtiny{font-size:10.5px}.mono{font-family:var(--f-mono)}.trunc{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.divider{background:var(--line-soft);height:1px;margin:4px 0}.text-center{text-align:center}.login-screen{min-height:100vh;display:flex}.login-hero{background:var(--sidebar-bg);color:#fff;flex-direction:column;flex:1;justify-content:space-between;padding:48px;display:flex}.login-form-wrap{background:var(--surface);justify-content:center;align-items:center;width:440px;padding:48px;display:flex}.login-form{flex-direction:column;gap:16px;width:100%;display:flex}@keyframes lx-enter{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes lx-hero-enter{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes lx-spin{to{transform:rotate(360deg)}}@keyframes lx-pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.lx-screen{background:var(--ink);min-height:100vh;display:flex}.lx-hero{background:var(--ink);color:#fff;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.lx-hero:after{content:"";pointer-events:none;background:radial-gradient(70% 60% at 20% 80%,#f59e0b12 0%,#0000 65%),radial-gradient(50% 40% at 80% 10%,#2563eb14 0%,#0000 60%);position:absolute;inset:0}.lx-grid{width:100%;height:100%;position:absolute;inset:0}.lx-accent-bar{background:linear-gradient(90deg, var(--cta) 0%, var(--brand) 60%, transparent 100%);height:3px;position:absolute;top:0;left:0;right:0}.lx-corner{width:20px;height:20px;position:absolute}.lx-corner:before,.lx-corner:after{content:"";background:#ffffff40;position:absolute}.lx-corner:before{width:1px;height:100%;top:0;left:0}.lx-corner:after{width:100%;height:1px;top:0;left:0}.lx-corner-tl{top:32px;left:32px}.lx-corner-br{bottom:32px;right:32px;transform:rotate(180deg)}.lx-hero-inner{z-index:1;flex-direction:column;justify-content:space-between;gap:0;height:100%;padding:clamp(28px,4vh,52px) clamp(28px,4vw,52px) clamp(24px,3.5vh,44px);display:flex;position:relative}.lx-hero-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(14px,2vh,28px);padding:clamp(16px,2.5vh,36px) 0;display:flex}.lx-mounted .lx-hero-center{animation:.55s cubic-bezier(.22,1,.36,1) 50ms both lx-hero-enter}.lx-logo-img{object-fit:contain;object-position:center;filter:drop-shadow(0 12px 40px #00000080);width:auto;max-width:80%;height:clamp(100px,18vh,220px)}.lx-logo-sub{font-family:var(--f-mono);letter-spacing:.14em;opacity:.4;text-transform:uppercase;font-size:clamp(8px,.8vw,10px);line-height:1}.lx-headline-block{flex-direction:column;flex:1;justify-content:center;gap:20px;padding:40px 0;display:flex}.lx-mounted .lx-headline-block{animation:.6s cubic-bezier(.22,1,.36,1) 80ms both lx-hero-enter}.lx-eyebrow{font-family:var(--f-mono);letter-spacing:.18em;color:var(--cta);align-items:center;gap:10px;font-size:clamp(8px,.75vw,10.5px);font-weight:500;display:flex}.lx-eyebrow-line{background:var(--cta);opacity:.7;flex-shrink:0;width:clamp(16px,2vw,32px);height:1px;display:block}.lx-headline{letter-spacing:-.025em;color:#fff;font-size:clamp(36px,4vw,54px);font-weight:700;line-height:1.04}.lx-headline-accent{color:var(--cta);position:relative}.lx-headline-accent:after{content:"";background:var(--cta);opacity:.4;border-radius:2px;height:3px;position:absolute;bottom:2px;left:0;right:0}.lx-subline{color:#ffffff8c;max-width:42ch;font-size:clamp(11px,1.1vw,14px);line-height:1.65}.lx-stats{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:0;display:flex;overflow:hidden}.lx-mounted .lx-stats{animation:.6s cubic-bezier(.22,1,.36,1) .16s both lx-hero-enter}.lx-stat{text-align:center;flex-direction:column;flex:1;gap:3px;padding:clamp(10px,1.5vh,18px) clamp(12px,2vw,24px);display:flex}.lx-stat-val{font-family:var(--f-mono);color:#fff;letter-spacing:-.02em;font-size:clamp(14px,1.5vw,20px);font-weight:600}.lx-stat-label{letter-spacing:.08em;color:#fff6;text-transform:uppercase;font-size:clamp(8px,.7vw,10px)}.lx-stat-sep{background:#ffffff14;flex-shrink:0;width:1px;height:clamp(28px,3vh,42px)}.lx-badges{flex-wrap:wrap;gap:8px;display:flex}.lx-mounted .lx-badges{animation:.6s cubic-bezier(.22,1,.36,1) .22s both lx-hero-enter}.lx-badge{font-family:var(--f-mono);letter-spacing:.06em;color:#ffffff73;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:5px;padding:clamp(3px,.4vh,5px) clamp(7px,.8vw,11px);font-size:clamp(8px,.7vw,10px);display:inline-flex}.lx-badge-ok{color:#86efaccc;background:#16a34a14;border-color:#16a34a33}.lx-badge-dot{background:#4ade80;border-radius:50%;width:5px;height:5px;animation:2s ease-in-out infinite lx-pulse-dot}.lx-form-wrap{background:var(--surface);border-left:1px solid var(--line);flex-shrink:0;justify-content:center;align-items:center;width:clamp(360px,32vw,500px);padding:clamp(32px,5vh,64px) clamp(28px,4vw,56px);display:flex;position:relative}.lx-form-wrap:before{content:"";background:linear-gradient(90deg, var(--brand) 0%, var(--cta) 100%);height:3px;position:absolute;top:0;left:0;right:0}.lx-form{flex-direction:column;gap:20px;width:100%;display:flex}.lx-mounted .lx-form{animation:.55s cubic-bezier(.22,1,.36,1) .1s both lx-enter}.lx-form-header{flex-direction:column;gap:6px;margin-bottom:4px;display:flex}.lx-form-tag{font-family:var(--f-mono);letter-spacing:.18em;color:var(--cta);font-size:9.5px;font-weight:600}.lx-form-title{color:var(--ink);letter-spacing:-.02em;font-size:clamp(20px,2vw,26px);font-weight:700;line-height:1.1}.lx-form-caption{color:var(--ink-3);font-size:clamp(11px,.85vw,13px);line-height:1.4}.lx-rule{align-items:center;gap:10px;display:flex}.lx-rule span:first-child,.lx-rule span:last-child{background:var(--line);flex:1;height:1px}.lx-rule-text{font-family:var(--f-mono);letter-spacing:.14em;color:var(--ink-4);text-transform:uppercase;flex:none;font-size:9px}.lx-field{flex-direction:column;gap:6px;display:flex}.lx-label{color:var(--ink-2);letter-spacing:.01em;align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.lx-label svg{color:var(--ink-4)}.lx-input{border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface-alt);width:100%;height:42px;color:var(--ink);font-size:13.5px;font-family:var(--f-sans);outline:none;padding:0 14px;transition:border-color .15s,box-shadow .15s,background .15s}.lx-input::placeholder{color:var(--ink-4)}.lx-input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px #2563eb1a}.lx-input-wrap{position:relative}.lx-input-pass{padding-right:42px}.lx-eye{cursor:pointer;color:var(--ink-4);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;transition:color .15s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.lx-eye:hover{color:var(--ink-2)}.lx-options{justify-content:space-between;align-items:center;margin-top:-4px;display:flex}.lx-check-label{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:flex}.lx-checkbox{display:none}.lx-checkmark{border:1.5px solid var(--ink-5);background:var(--surface-alt);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;transition:border-color .15s,background .15s;display:flex}.lx-checkbox:checked+.lx-checkmark{background:var(--brand);border-color:var(--brand)}.lx-checkbox:checked+.lx-checkmark:after{content:"";border-bottom:1.5px solid #fff;border-left:1.5px solid #fff;width:8px;height:5px;transform:rotate(-45deg)translateY(-1px)}.lx-forgot{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:500;transition:color .15s}.lx-forgot:hover{color:var(--brand-600);text-decoration:underline}.lx-error{background:var(--alert-50);color:var(--alert);border-radius:var(--r);border:1px solid #dc262633;align-items:center;gap:8px;padding:10px 12px;font-size:12.5px;font-weight:500;animation:.25s both lx-enter;display:flex}.lx-submit{background:var(--ink);color:#fff;border-radius:var(--r);cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;height:46px;margin-top:4px;font-size:13.5px;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.lx-submit:before{content:"";opacity:0;background:linear-gradient(135deg,#f59e0b26 0%,#0000 60%);transition:opacity .2s;position:absolute;inset:0}.lx-submit:hover{background:var(--ink-1);box-shadow:0 4px 12px #0f172a40}.lx-submit:hover:before{opacity:1}.lx-submit:active{transform:translateY(1px)}.lx-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}.lx-submit svg{transition:transform .2s}.lx-submit:hover svg{transform:translate(3px)}.lx-spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:15px;height:15px;animation:.7s linear infinite lx-spin}.lx-form-footer{color:var(--ink-4);font-size:10.5px;font-family:var(--f-mono);letter-spacing:.04em;text-align:center;justify-content:center;align-items:center;gap:6px;display:flex}@media (width<=900px){.lx-hero{display:none}.lx-form-wrap{border-left:none;width:100%}}@media (width<=480px){.lx-form-wrap{padding:40px 24px}}.editor-page{padding-bottom:80px}.form-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid-4{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.field label{color:var(--ink-3);font-size:12px;font-weight:600}.input-sm{min-height:unset;padding:4px 8px;font-size:12px}textarea.input{resize:vertical;min-height:64px}select.input{appearance:none;cursor:pointer;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='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.partidas-scroll{overflow-x:auto}.partidas-table{border-collapse:collapse;width:100%;font-size:13px}.partidas-table thead tr{background:var(--surface-alt)}.partidas-table th{text-align:left;color:var(--ink-3);border-bottom:2px solid var(--line);white-space:nowrap;padding:8px 6px;font-size:11px;font-weight:600}.partida-row{border-bottom:1px solid var(--line-soft)}.partida-row:hover{background:var(--brand-50)}.cell-input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:100%;font-size:13px;font-family:var(--f-sans);color:var(--ink);outline:none;padding:5px 8px;transition:border-color .12s,box-shadow .12s}.cell-input:hover:not(:focus){border-color:var(--ink-5)}.cell-input:focus{border-color:var(--brand);border-radius:var(--r-sm);background:var(--surface);box-shadow:0 0 0 2px #2563eb1f}input[type=number]::-webkit-inner-spin-button{display:none}input[type=number]::-webkit-outer-spin-button{display:none}input[type=number]{-moz-appearance:textfield}select.cell-input{appearance:none;cursor:pointer;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='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:26px}.cell-right{text-align:right}.cell-pfx-wrap{align-items:center;display:flex;position:relative}.cell-pfx{color:var(--ink-4);font-size:11px;font-family:var(--f-mono);pointer-events:none;z-index:1;position:absolute;left:9px}.cell-pfx-wrap .cell-input,.cell-pfx-wrap .ep-price-input{padding-left:18px}.cell-num{color:var(--ink-3);text-align:center;padding:6px;font-size:12px}.cell-textarea{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--ink-2);resize:none;outline:none;padding:4px 7px;font-family:inherit;font-size:11.5px;transition:border-color .12s}.cell-textarea:hover:not(:focus){border-color:var(--ink-5)}.cell-textarea:focus{border-color:var(--brand);background:var(--surface);border-radius:var(--r-sm);box-shadow:0 0 0 2px #2563eb1f}.cell-textarea::placeholder{color:var(--ink-4)}.partida-row-extra td{background:#fafbfc}.cell-subtotal{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;padding:6px 8px;font-weight:600}.btn-delete-row{cursor:pointer;color:var(--ink-3);border-radius:var(--r-sm);background:0 0;border:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;display:flex}.btn-delete-row:hover{background:var(--alert-50);color:var(--alert)}.partidas-footer{border-top:1px solid var(--line-soft);padding:8px 12px}.totales-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);max-width:380px;margin-top:16px;margin-left:auto;padding:16px 20px}.totales-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;padding:5px 0;font-size:13px;display:flex}.totales-row:last-child{border-bottom:none}.totales-total{color:var(--brand);margin-top:4px;padding-top:10px;font-size:16px;font-weight:700}.text-red{color:var(--alert)}.save-bar{bottom:0;left:var(--sidebar-w);background:var(--surface);border-top:1px solid var(--line);z-index:100;justify-content:space-between;align-items:center;padding:12px 28px;display:flex;position:fixed;right:0;box-shadow:0 -4px 12px #0000000d}.detail-page{padding-bottom:32px}.detail-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.detail-info-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.kv-card{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--r);padding:10px 14px}.kv-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;font-size:11px;font-weight:600}.kv-value{color:var(--ink);font-size:14px;font-weight:500}.total-highlight{background:linear-gradient(135deg, var(--brand-50), #fff);border:1px solid var(--brand-100);border-radius:var(--r-lg);margin-bottom:16px;padding:16px 24px}.total-highlight-inner{flex-wrap:wrap;align-items:flex-end;gap:40px;display:flex}.transition-bar{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 16px;display:flex}.alert{border-radius:var(--r);align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.alert-error{background:var(--alert-50);color:var(--alert);border:1px solid #fecaca}.mb-4{margin-bottom:16px}.mt-2{margin-top:8px}.p-0{padding:0}.table-wrap{overflow-x:auto}.pres-split{align-items:flex-start;gap:12px;min-height:320px;margin-bottom:16px;display:flex}.pres-split-left{flex:1;min-width:0}.pres-split-right{flex:0 0 56%;align-self:flex-start;min-width:0;animation:.18s slideInRight;position:sticky;top:76px}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.pres-apu-panel{background:var(--surface);border:1px solid var(--brand-100);border-left:3px solid var(--brand);border-radius:var(--r-lg);flex-direction:column;max-height:calc(100vh - 88px);display:flex;overflow:hidden;box-shadow:0 4px 24px #2563eb14,0 1px 4px #0000000f}.pres-apu-panel-header{border-bottom:1px solid var(--line);background:var(--surface-alt);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.pres-apu-panel-body{flex:1;overflow-y:auto}.apu-row-btn{width:100%;min-width:32px;height:100%;min-height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-right:2px solid #0000;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .12s;display:flex}.apu-row-btn:hover{background:var(--brand-50);color:var(--brand);border-right-color:var(--brand-100)}.apu-row-btn--active{background:var(--brand);color:#fff;border-right-color:var(--brand);font-size:10px}.partida-row--selected{outline:2px solid var(--brand-100);outline-offset:-2px;background:#eff6ff!important}.partida-row--selected td{border-color:var(--brand-100)}.th-apu-badge{background:var(--brand);color:#fff;vertical-align:middle;letter-spacing:.3px;border-radius:3px;margin-left:4px;padding:1px 4px;font-size:9px;font-weight:700;display:inline-block}.cell-pu-apu{font-weight:600;color:var(--brand)!important}.pres-apu-hint{color:var(--ink-3);background:var(--brand-50);border-bottom:1px solid var(--brand-100);align-items:center;gap:8px;padding:8px 14px;font-size:12px;display:flex}.pres-apu-hint svg{flex-shrink:0;width:14px;height:14px}.totales-inline{align-items:center;gap:10px;font-size:13px;display:flex}.cell-mono{font-family:var(--f-mono,monospace);font-size:12px}.btn-apu-toggle{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-sm);color:var(--brand);cursor:pointer;white-space:nowrap;padding:2px 5px;font-size:10px;font-weight:700;transition:background .15s}.btn-apu-toggle:hover,.btn-apu-toggle.active{background:var(--brand);color:#fff}.apu-editor{border-top:3px solid var(--brand);box-sizing:border-box;background:#f8fafc;flex-direction:column;gap:10px;padding:16px 20px 20px;display:flex;position:relative}.apu-resize-handle{cursor:col-resize;z-index:10;width:12px;transition:background .12s;position:absolute;top:0;bottom:0;left:-6px}.apu-resize-handle:hover{background:color-mix(in srgb, var(--brand) 18%, transparent)}.apu-resize-handle:after{content:"";background:var(--brand);opacity:0;border-radius:2px;width:3px;height:40px;transition:opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.apu-resize-handle:hover:after{opacity:1}.apu-catalog-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:relative}.apu-cat-target-pills{flex-wrap:wrap;gap:6px;display:flex}.apu-cat-pill{cursor:pointer;border:1.5px solid var(--cat-color,#888);color:var(--cat-color,#888);background:0 0;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600;transition:all .12s}.apu-cat-pill.active{background:var(--cat-color,#888);color:#fff}.apu-catalog-results{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);z-index:100;max-height:280px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 32px #0000001f}.apu-catalog-result-row{border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:center;gap:10px;padding:7px 12px;font-size:12px;display:flex}.apu-catalog-result-row:last-child{border-bottom:none}.apu-catalog-result-row:hover{background:var(--brand-50)}.apu-section{border-radius:var(--r);border:1px solid var(--line);overflow:hidden}.apu-section-header{text-transform:uppercase;letter-spacing:.5px;color:var(--cat-color,#555);background:color-mix(in srgb, var(--cat-color,#888) 8%, white);border-bottom:1px solid color-mix(in srgb, var(--cat-color,#888) 20%, transparent);justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;font-weight:700;display:flex}.apu-section-total{font-variant-numeric:tabular-nums}.apu-tbl-wrap{overflow-x:auto}.apu-tbl{border-collapse:collapse;width:100%;font-size:12.5px}.apu-tbl thead tr{background:color-mix(in srgb, var(--surface-alt) 80%, white)}.apu-tbl th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;padding:5px 6px;font-size:10.5px;font-weight:600}.th-r{text-align:right}.apu-tbl tbody td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:4px 6px}.apu-tbl tbody tr:last-child td{border-bottom:none}.apu-tbl .partida-row:hover{background:#f0f9ff}.apu-subgroup-row{background:#eff6ff}.apu-subgroup-cell{letter-spacing:.05em;color:#1d4ed8;text-transform:uppercase;padding:3px 8px;font-size:11px;font-weight:700}.apu-cat-icon{cursor:pointer;color:var(--ink-3);border-radius:var(--r-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:3px;transition:all .12s;display:flex}.apu-cat-icon:hover{background:var(--brand-50);color:var(--brand)}.cell-hint{color:var(--ink-3);text-align:right;white-space:nowrap;margin-top:1px;padding-right:6px;font-size:9.5px}.cell-mono{font-family:var(--f-mono,monospace)}.apu-add-row{color:var(--cat-color,var(--brand));background:color-mix(in srgb, var(--cat-color,var(--brand)) 6%, white);border:none;border-top:1px solid var(--line-soft);cursor:pointer;text-align:left;align-items:center;gap:5px;width:100%;padding:6px 12px;font-size:11.5px;font-weight:600;transition:background .12s;display:flex}.apu-add-row:hover{background:color-mix(in srgb, var(--cat-color,var(--brand)) 14%, white)}.apu-add-row svg{width:13px;height:13px}.apu-add-cat-bar{flex-wrap:wrap;gap:8px;display:flex}.apu-add-cat-btn{color:var(--cat-color,#666);border:1.5px dashed var(--cat-color,#ccc);background:color-mix(in srgb, var(--cat-color,#888) 5%, white);border-radius:var(--r);cursor:pointer;align-items:center;gap:5px;padding:5px 12px;font-size:11.5px;font-weight:600;transition:all .12s;display:flex}.apu-add-cat-btn:hover{background:color-mix(in srgb, var(--cat-color,#888) 12%, white)}.apu-add-cat-btn svg{width:13px;height:13px}.apu-chain{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-wrap:wrap;align-items:stretch;gap:0;margin-top:4px;display:flex;overflow:hidden}.apu-chain-block{flex-direction:column;gap:4px;padding:14px 16px;display:flex}.apu-chain-cd,.apu-chain-pu{background:var(--surface-alt);min-width:150px}.apu-chain-pu{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.apu-chain-factors{flex-wrap:wrap;flex:1;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.apu-chain-label{text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);font-size:10px;font-weight:700}.apu-chain-value{font-variant-numeric:tabular-nums;color:var(--ink);font-size:18px;font-weight:700}.apu-pu-value{color:var(--brand);font-size:22px}.apu-chain-sub{color:var(--ink-3);font-size:11px}.apu-chain-arrow{color:var(--ink-3);background:var(--surface);flex-shrink:0;align-items:center;padding:0 8px;font-size:18px;display:flex}.apu-factor{flex-direction:column;gap:3px;min-width:90px;display:flex}.apu-factor-label{color:var(--ink-2);font-size:11px;font-weight:600}.apu-factor-input{text-align:right;width:80px!important}.apu-factor-effect{color:var(--ink-3);font-size:10px;font-family:var(--f-mono,monospace)}.apu-breakdown{flex-wrap:wrap;gap:6px;display:flex}.apu-breakdown-item{background:color-mix(in srgb, var(--cat-color,#888) 12%, white);border-radius:var(--r-sm);flex:1;align-items:center;min-width:80px;height:28px;display:flex;position:relative;overflow:hidden}.apu-breakdown-bar{background:color-mix(in srgb, var(--cat-color,#888) 30%, transparent);transition:width .3s;position:absolute;top:0;bottom:0;left:0}.apu-breakdown-label{z-index:1;color:var(--cat-color,#555);white-space:nowrap;padding:0 8px;font-size:10px;font-weight:700;position:relative}.apu-auto-lines{border-radius:var(--r);background:#f0fdf4;border:1px solid #bbf7d0;flex-direction:column;gap:6px;padding:10px 14px;font-size:12px;display:flex}.apu-auto-line-title{text-transform:uppercase;letter-spacing:.4px;color:#166534;font-size:11px;font-weight:700}.apu-auto-line{color:var(--ink-2);align-items:center;gap:8px;display:flex}.apu-auto-line .mono.strong{font-family:var(--f-mono,monospace);text-align:right;min-width:90px;font-weight:700}.apu-trans-body{flex-direction:column;gap:0;display:flex}.apu-trans-sub{border-top:1px solid var(--line-soft)}.apu-trans-sub-title{text-transform:uppercase;letter-spacing:.4px;color:var(--ink-3);background:#f0f9ff;padding:7px 14px 4px;font-size:11px;font-weight:700}.apu-mode-btn{border:1px solid var(--line);background:var(--surface-alt);color:var(--ink-3);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700;transition:all .12s}.apu-mode-btn.active{color:#fff;background:#065f46;border-color:#065f46}.apu-mode-btn:hover{opacity:.8}.apu-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.mt-3{margin-top:12px}.gap-6{gap:6px}.modal-backdrop{z-index:200;background:#0006;justify-content:center;align-items:center;padding:16px;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:420px;animation:.18s slideUp;box-shadow:0 24px 64px #0000002e}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-lg{max-width:680px}.modal-xl{max-width:860px}.modal-body-scroll{max-height:calc(100vh - 200px);padding:16px 20px;overflow-y:auto}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.modal-header h3{margin:0;font-size:15px;font-weight:700}.modal-body{padding:16px 20px}.modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.pd-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.pd-back-link{color:var(--ink-3);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:6px;padding:0;font-family:inherit;font-size:13px;display:inline-flex}.pd-back-link:hover{color:var(--ink)}.pd-title-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.pd-h1{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:600}.pd-folio{color:var(--ink-3);background:var(--surface);border:1px solid var(--line);font-size:13px;font-family:var(--f-mono);border-radius:6px;padding:3px 8px}.pd-meta-sub{color:var(--ink-3);flex-wrap:wrap;gap:12px;font-size:12.5px;display:flex}.pd-meta-sub b{color:var(--ink-2);font-weight:500}.pd-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.pd-info-grid{background:var(--line);border-radius:var(--r-lg);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:16px;display:grid;overflow:hidden}.pd-info-cell{background:var(--surface);padding:14px 16px}.pd-span-2{grid-column:span 2}.pd-info-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin-bottom:4px;font-size:10.5px;font-weight:600}.pd-info-value{color:var(--ink-1);font-size:14px;font-weight:500}.pd-info-mini{color:var(--ink-4);margin-top:2px;font-size:11.5px}.pd-info-mini-inline{color:var(--ink-4);font-size:13px;font-weight:400}.pd-partidas{border-collapse:collapse;width:100%;font-size:13px}.pd-partidas thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);background:var(--surface-alt);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 18px;font-size:11.5px;font-weight:500}.pd-partidas thead th.r,.pd-partidas tbody td.r{text-align:right}.pd-partidas tbody td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:14px 18px}.pd-partidas tbody tr:last-child td{border-bottom:none}.pd-partidas tbody tr{transition:background .12s}.pd-partidas tbody tr:hover{background:var(--surface-alt)}.pd-row-index{background:var(--surface-alt);border:1px solid var(--line);width:26px;height:26px;color:var(--ink-3);font-family:var(--f-mono);border-radius:7px;justify-content:center;align-items:center;font-size:12px;font-weight:500;display:inline-flex}.pd-desc-title{color:var(--ink-1);font-weight:500}.pd-desc-sub{color:var(--ink-4);margin-top:2px;font-size:12px}.pd-unit-chip{background:var(--surface-alt);border:1px solid var(--line);color:var(--ink-3);font-size:12px;font-family:var(--f-mono);border-radius:5px;align-items:center;padding:2px 8px;display:inline-flex}.pd-num-val{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.pd-row-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.pd-partidas tbody tr:hover .pd-row-actions{opacity:1}.pd-partidas tfoot td{background:var(--surface-alt);color:var(--ink-3);border-top:1px solid var(--line);padding:10px 18px;font-size:13px}.pd-partidas tfoot tr.pd-foot-total td{background:var(--brand-50);color:var(--brand-600);border-top:1px solid var(--brand-100);font-size:14px;font-weight:600}.pd-total-card{color:#fff;border-radius:var(--r-lg);background:linear-gradient(#1c2742 0%,#0e1422 100%);padding:18px 20px;position:relative;overflow:hidden}.pd-total-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#5b8cff38,#0000 65%);width:220px;height:220px;position:absolute;top:-50%;right:-20%}.pd-total-card h3{letter-spacing:.1em;text-transform:uppercase;color:#8893b8;margin:0 0 10px;font-size:11px;font-weight:600;position:relative}.pd-total-line{color:#c0c8e0;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex;position:relative}.pd-total-line .pd-num{font-family:var(--f-mono);color:#fff;font-variant-numeric:tabular-nums}.pd-divider{border-top:1px dashed #ffffff1f;margin-top:6px;padding-top:12px}.pd-grand-total{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:14px;display:flex;position:relative}.pd-grand-label{color:#8893b8;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.pd-grand-amount{font-family:var(--f-mono);letter-spacing:-.02em;font-size:24px;font-weight:600}.pd-grand-currency{color:#8893b8;margin-left:4px;font-size:12px}.pd-state-card{padding:16px 18px}.pd-state-current{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:12px;padding-bottom:12px;display:flex}.pd-state-dot{background:var(--ok);border-radius:50%;flex-shrink:0;width:8px;height:8px}.pd-state-dot.warn{background:var(--warn)}.pd-state-dot.alert{background:var(--alert)}.pd-state-dot.brand{background:var(--brand)}.pd-state-dot.neutral{background:var(--ink-4)}.pd-state-label{color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:11px}.pd-state-actions{flex-direction:column;gap:6px;display:flex}.pd-state-btn{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--ink);align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;transition:all .15s;display:flex}.pd-state-btn:hover{border-color:var(--brand);background:var(--brand-50);color:var(--brand-600)}.pd-state-btn svg{width:14px;height:14px;color:var(--ink-3);flex-shrink:0;transition:color .15s}.pd-state-btn:hover svg{color:var(--brand)}.pd-state-btn small{color:var(--ink-4);margin-top:1px;font-size:11.5px;transition:color .15s;display:block}.pd-state-btn:hover small{color:var(--brand-600);opacity:.85}.pd-state-btn .pd-arrow{opacity:.4;flex-shrink:0;margin-left:auto}.pd-state-btn.danger:hover{border-color:var(--alert);background:var(--alert-50);color:var(--alert)}.pd-state-btn.danger:hover svg,.pd-state-btn.danger:hover small{color:var(--alert)}.pd-card-title{align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:600;display:flex}.pd-count{color:var(--ink-3);background:var(--surface-alt);border:1px solid var(--line);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:500}.pd-timeline{flex-direction:column;gap:12px;display:flex}.pd-tl-item{gap:10px;display:flex}.pd-tl-dot{background:var(--line);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px;position:relative}.pd-tl-item:not(:last-child) .pd-tl-dot:after{content:"";background:var(--line-soft);width:2px;height:24px;position:absolute;top:14px;left:3px}.pd-tl-now .pd-tl-dot{background:var(--ok);box-shadow:0 0 0 3px var(--ok-50)}.pd-tl-ev{font-size:13px;font-weight:500}.pd-tl-meta{color:var(--ink-4);margin-top:2px;font-size:11.5px}@media (width<=1100px){.pd-info-grid{grid-template-columns:repeat(2,1fr)}.pd-span-2{grid-column:span 1}}@media (width<=1280px){.grid-6{grid-template-columns:repeat(3,1fr)}}@media (width<=1100px){.grid-5{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.sidebar{transform:translate(-100%)}.main{margin-left:0}.login-hero{display:none}.login-form-wrap{width:100%}}.ep-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:flex-start;gap:16px;margin-bottom:16px;display:grid}.ep-grid--apu{grid-template-columns:1fr}.ep-left-stack{flex-direction:column;gap:16px;min-width:0;display:flex}.ep-summary-stack{flex-direction:column;gap:16px;display:flex;position:sticky;top:76px}@media (width<=1180px){.ep-grid{grid-template-columns:1fr}}.ep-banner{grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:20px;margin-bottom:16px;padding:14px 18px;display:grid}.ep-banner-client{align-items:center;gap:10px;display:flex}.ep-banner-av{background:linear-gradient(135deg, var(--brand), var(--brand-600));color:#fff;width:38px;height:38px;font-size:11px;font-weight:700;font-family:var(--f-mono);letter-spacing:.04em;border-radius:8px;flex-shrink:0;place-items:center;display:grid}.ep-banner-lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);margin-bottom:2px;font-size:10.5px;font-weight:600}.ep-banner-val{color:var(--ink);font-size:14px;font-weight:500}.ep-banner-div{background:var(--line);align-self:stretch;width:1px}.ep-params-tabs{background:var(--surface-2);border-radius:9px;gap:2px;margin:12px 16px 0;padding:4px;display:flex}.ep-params-tab{font:inherit;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;justify-content:center;align-items:center;padding:7px 10px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.ep-params-tab:hover{color:var(--ink)}.ep-params-tab.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.ep-params-body{padding:16px}.ep-card-desc{color:var(--ink-4);margin-top:2px;font-size:12px}.ep-field-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.ep-iw{border:1.5px solid var(--line);border-radius:var(--r);align-items:stretch;transition:border-color .12s,box-shadow .12s;display:flex;overflow:hidden}.ep-iw:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #2563eb1f}.ep-iw input{min-width:0;font-size:13px;font-family:var(--f-mono);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:none;flex:1;padding:7px 10px}.ep-iw-pfx,.ep-iw-sfx{color:var(--ink-4);background:var(--surface-alt);font-size:12px;font-family:var(--f-mono);white-space:nowrap;align-items:center;padding:0 9px;display:flex}.ep-iw-pfx{border-right:1.5px solid var(--line)}.ep-iw-sfx{border-left:1.5px solid var(--line)}.ep-card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.ep-card-head h3{align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.ep-count{color:var(--ink-3);background:var(--surface-alt);border:1px solid var(--line);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:500}.tipo-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 5px center;background-repeat:no-repeat;border:1px solid #0000;border-radius:6px;max-width:108px;padding:4px 22px 4px 8px;font-size:12px;font-weight:500;transition:all .12s}.tipo-select:hover{border-color:#0000001a}.tipo-select:focus{outline:2px solid var(--brand);outline-offset:1px}.tipo-select.ts-elec{color:#2549d6;background-color:#eef2ff}.tipo-select.ts-civil{color:#b86b00;background-color:#fff4e0}.tipo-select.ts-hvac{color:#0e8a76;background-color:#e6f7f3}.tipo-select.ts-equipo{color:#7c3aed;background-color:#f5f3ff}.tipo-select.ts-suministro{color:#0891b2;background-color:#ecfeff}.tipo-select.ts-otro,.tipo-select.ts-none{background-color:var(--surface-alt);color:var(--ink-3)}.ep-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.ep-toolbar-search{background:var(--surface-alt);border:1px solid var(--line);border-radius:7px;flex:1;align-items:center;gap:7px;max-width:280px;padding:6px 10px;display:flex}.ep-toolbar-search svg{width:13px;height:13px;color:var(--ink-4);flex-shrink:0}.ep-toolbar-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:13px}.ep-filter-chips{flex-wrap:wrap;gap:5px;display:flex}.ep-chip{border:1px solid var(--line);color:var(--ink-3);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .12s;display:inline-flex}.ep-chip:hover{color:var(--ink);border-color:var(--ink-5)}.ep-chip.active{background:var(--brand-50);color:var(--brand-600);border-color:var(--brand-100)}.ep-chip-ct{opacity:.7;font-size:10.5px;font-family:var(--f-mono)}.ep-tipo-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.ep-hint-bar{color:var(--ink-3);background:linear-gradient(180deg, var(--brand-50) 0%, #eff6ff4d 100%);border-bottom:1px solid var(--line);align-items:center;gap:7px;padding:9px 16px;font-size:12.5px;display:flex}.ep-hint-bar svg{width:14px;height:14px;color:var(--brand);flex-shrink:0}.ep-hint-bar code{font-family:var(--f-mono);border:1px solid var(--line);background:#fff;border-radius:3px;padding:0 4px;font-size:12px}.pres-split--open .ep-partidas-head,.pres-split--open .ep-partida-main{grid-template-columns:36px 58px minmax(120px,1fr) 60px 88px 32px}.pres-split--open .ep-desc-input{min-width:0}.pres-split--open .pres-split-left .card{overflow-x:auto}.pres-split--open .ep-partidas-head>div:nth-child(3),.pres-split--open .ep-partidas-head>div:nth-child(5),.pres-split--open .ep-partidas-head>div:nth-child(8),.pres-split--open .ep-partidas-head>div:nth-child(9),.pres-split--open .ep-partida-main>div:nth-child(3),.pres-split--open .ep-partida-main>div:nth-child(5),.pres-split--open .ep-partida-main>div:nth-child(8),.pres-split--open .ep-partida-main>div:nth-child(9),.pres-split--open .ep-partida-detail{display:none}.ep-partida--selected{box-shadow:inset 3px 0 0 var(--brand);background:#eff6ff!important}.ep-partida--selected:hover{background:#eff6ff!important}.pres-split--open .ep-partida:not(.ep-partida--selected){opacity:.65}.pres-split--open .ep-partida:not(.ep-partida--selected):hover{opacity:1}.ep-partidas-head{background:var(--surface-2);border-bottom:2px solid var(--line);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);grid-template-columns:36px 80px 108px 1fr 65px 80px 130px 120px 68px 32px;align-items:center;gap:6px;padding:9px 16px;font-size:10.5px;font-weight:700;display:grid}.ep-th-r{text-align:right}.ep-th-apu{background:var(--brand);color:#fff;vertical-align:middle;letter-spacing:.3px;border-radius:3px;margin-left:3px;padding:1px 4px;font-size:9px;font-weight:700;display:inline-flex}.ep-partida{border-bottom:1px solid var(--line-soft);transition:background .12s}.ep-partida:hover{background:var(--surface-alt)}.ep-partida:last-child{border-bottom:0}.ep-partida-main{grid-template-columns:36px 80px 108px 1fr 65px 80px 130px 120px 68px 32px;align-items:center;gap:6px;padding:11px 16px;display:grid}.ep-partida-main .field{gap:0}.ep-partida-main .sel-native{padding:5px 28px 5px 7px;font-size:13px}.ep-row-idx{background:var(--surface);border:1px solid var(--line);width:28px;height:28px;font-family:var(--f-mono);color:var(--ink-3);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.ep-partida:hover .ep-row-idx{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand)}.ep-row-idx--active{font-size:10px;background:var(--brand)!important;border-color:var(--brand)!important;color:#fff!important}.ep-codigo-chip{background:var(--surface);border:1px solid var(--line);font-family:var(--f-mono);color:var(--ink-3);white-space:nowrap;border-radius:5px;padding:2px 6px;font-size:11.5px;display:inline-flex}.ep-desc-input{border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;color:var(--ink);resize:none;border-radius:5px;outline:none;padding:5px 7px;font-size:13.5px;font-weight:500;line-height:1.45;transition:border-color .12s,box-shadow .12s;overflow:hidden}.ep-desc-input:hover:not(:focus){border-color:var(--ink-5)}.ep-desc-input:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 2px #2563eb1f}.ep-qty-input,.ep-price-input{border:1px solid var(--line);background:var(--surface);text-align:right;width:100%;font-family:var(--f-mono);color:var(--ink);font-variant-numeric:tabular-nums;border-radius:5px;outline:none;padding:5px 7px;font-size:13px;transition:border-color .12s,box-shadow .12s}.ep-qty-input:hover:not(:focus),.ep-price-input:hover:not(:focus){border-color:var(--ink-5)}.ep-qty-input:focus,.ep-price-input:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 2px #2563eb1f}.ep-price-input{color:var(--brand-600);font-weight:500}.ep-subtotal-val{font-family:var(--f-mono);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding-right:4px;font-size:13.5px;font-weight:600}.ep-partida-detail{grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 12px 258px;display:grid}.ep-detail-cell{background:var(--surface-alt);border:1px solid var(--line);border-radius:7px;padding:8px 10px}.ep-detail-lbl{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);margin-bottom:3px;font-size:10px;font-weight:700}.ep-detail-cell textarea{resize:vertical;width:100%;min-height:34px;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;font-size:12.5px;line-height:1.4}.ep-detail-cell textarea::placeholder{color:var(--ink-4)}.ep-add-row{border:0;border-top:1px dashed var(--ink-5);cursor:pointer;width:100%;color:var(--ink-3);font:inherit;background:0 0;justify-content:center;align-items:center;gap:6px;padding:11px 16px;font-size:13px;display:flex}.ep-add-row:hover{background:var(--surface-alt);color:var(--brand)}.ep-add-row svg{width:14px;height:14px}.ep-cont-tbl{border-collapse:collapse;width:100%;font-size:13px}.ep-cont-tbl thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);background:var(--surface-alt);border-bottom:1px solid var(--line);padding:9px 16px;font-size:11px;font-weight:500}.ep-cont-tbl tbody td{border-bottom:1px solid var(--line-soft);padding:8px 16px}.ep-cont-tbl tbody tr:last-child td{border-bottom:0}.ep-cont-tbl tbody tr:hover{background:var(--surface-alt)}.ep-cont-input{border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;color:var(--ink);border-radius:5px;outline:none;padding:4px 7px;font-size:13px;transition:border-color .12s,box-shadow .12s}.ep-cont-input:hover:not(:focus){border-color:var(--ink-5)}.ep-cont-input:focus{border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 2px #2563eb1f}.ep-cont-input.ep-r{text-align:right;font-family:var(--f-mono)}.ep-iw .ep-cont-input{box-shadow:none;background:0 0;border:0}.ep-th-dias{color:#b45309;letter-spacing:.04em;font-size:10.5px}.ep-dias-cell{justify-content:flex-end;align-items:center;padding-right:4px;display:flex}.ep-dias-chip{color:#b45309;font-variant-numeric:tabular-nums;letter-spacing:.3px;white-space:nowrap;background:#fff7ed;border:1px solid #fed7aa;border-radius:20px;align-items:center;gap:3px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.ep-dias-empty{color:var(--ink-5);font-size:12px}.ep-tab-sep{background:var(--line);flex-shrink:0;align-self:center;width:1px;height:18px;margin:0 4px}.ep-page-tab--cost.active{color:#b45309}.ep-page-tab--cost.active:after{background:#b45309}.ep-page-tab--cost .ep-count{color:#b45309;background:#fff7ed}.ep-tab-total-bar{border-top:1px solid var(--line-soft);justify-content:flex-end;align-items:center;gap:10px;padding:11px 16px;font-size:12.5px;display:flex}.ep-tab-total-label{color:var(--ink-4)}.ep-tab-total-val{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.ep-tab-total-val--accent{color:#b45309}.ep-cont-blocks{flex-direction:column;gap:0;display:flex}.ep-cont-block{border-top:1px solid var(--line-soft)}.ep-cont-block:first-child{border-top:none}.ep-cont-block-head{background:var(--surface);align-items:center;gap:8px;padding:10px 12px;display:flex}.ep-cont-toggle{cursor:pointer;width:22px;height:22px;color:var(--ink-3);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.ep-cont-toggle:hover{background:var(--line-soft);color:var(--ink)}.ep-cont-chev{font-size:16px;font-weight:700;line-height:1;transition:transform .15s;display:inline-block;transform:rotate(0)}.ep-cont-chev--open{transform:rotate(90deg)}.ep-cont-nombre{flex:1;min-width:0}.ep-cont-meta{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.ep-cont-meta-lbl{color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em;font-size:10px;line-height:1}.ep-cont-calc-val{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.ep-autosave-status{color:var(--ink-4);justify-content:flex-end;align-items:center;gap:5px;min-width:110px;font-size:12px;transition:opacity .2s;display:flex}.ep-autosave--idle{opacity:0;pointer-events:none}.ep-autosave--saving{opacity:1;color:var(--ink-3)}.ep-autosave--saved{opacity:1;color:var(--ok)}.ep-autosave--error{opacity:1;color:var(--err)}.ep-autosave-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:.7s linear infinite lx-spin}.ep-autosave-ok,.ep-autosave-err{font-size:13px;line-height:1}.ep-cont-sm{width:90px!important}.ep-cont-block-total{color:#b45309;font-variant-numeric:tabular-nums;white-space:nowrap;padding:0 4px;font-size:12.5px;font-weight:700}.ep-cont-block-body{background:var(--surface-alt);padding:0 12px 12px 42px}.ep-cont-asig-tbl{border-collapse:collapse;width:100%;font-size:12px}.ep-cont-asig-tbl th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4);border-bottom:1px solid var(--line-soft);padding:6px 8px 4px;font-size:10.5px;font-weight:600}.ep-cont-asig-tbl td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:5px 8px}.ep-cont-asig-tbl tr:last-child td{border-bottom:none}.ep-cont-asig-footer{align-items:center;gap:8px;padding:8px 8px 0;font-size:12px;display:flex}.ep-cont-asig-lbl{color:var(--ink-4)}.ep-cont-asig-pct{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.ep-cont-asig-pct--ok{color:var(--ok)}.ep-cont-asig-pct--over{color:var(--alert)}.ep-cont-asig-warn{color:var(--warn);margin-left:4px;font-size:11.5px}.ep-cont-no-partidas{color:var(--ink-4);padding:10px 0;font-size:12px}.ep-config-dias-info{border-radius:var(--r-sm);color:#92400e;background:#fff7ed;border:1px solid #fed7aa;align-items:center;gap:0;margin-bottom:12px;padding:10px 16px;font-size:12.5px;display:flex}.ep-total-dark{color:#fff;border-radius:var(--r-lg);background:linear-gradient(#1c2742 0%,#0e1422 100%);padding:18px 20px;position:relative;overflow:hidden}.ep-total-dark:after{content:"";pointer-events:none;background:radial-gradient(circle,#5b8cff38,#0000 65%);width:200px;height:200px;position:absolute;top:-50%;right:-20%}.ep-total-dark h3{letter-spacing:.1em;text-transform:uppercase;color:#8893b8;margin:0 0 10px;font-size:11px;font-weight:600;position:relative}.ep-total-line{color:#c0c8e0;justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;display:flex;position:relative}.ep-num{font-family:var(--f-mono);color:#fff;font-variant-numeric:tabular-nums}.ep-grand{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:14px;display:flex;position:relative}.ep-grand-label{color:#8893b8;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.ep-grand-amount{font-family:var(--f-mono);letter-spacing:-.02em;font-size:24px;font-weight:600}.ep-grand-currency{color:#8893b8;margin-left:2px;font-size:12px}.ep-dias-card{padding:14px 16px}.ep-dias-row{justify-content:space-between;align-items:baseline;padding:3px 0;display:flex}.ep-dias-row--real{border-top:1px solid var(--line-soft);margin-top:6px;padding-top:8px}.ep-dias-lbl{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.ep-dias-val{font-size:22px;font-weight:700;font-family:var(--f-mono);color:var(--ink)}.ep-dias-input{text-align:right;width:80px;font-size:22px;font-weight:700;font-family:var(--f-mono);color:var(--brand);border:none;border-bottom:2px solid var(--brand-100);background:0 0;outline:none;padding:0 2px}.ep-dias-input:focus{border-bottom-color:var(--brand)}.ep-dias-input::placeholder{color:var(--ink-5);font-size:16px}.ep-breakdown{padding:16px}.ep-breakdown-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);margin:0 0 12px;font-size:11px;font-weight:600}.ep-breakdown-row{padding:6px 0}.ep-brow-top{justify-content:space-between;align-items:center;margin-bottom:5px;font-size:13px;display:flex}.ep-brow-lbl{align-items:center;gap:7px;display:flex}.ep-brow-dot{border-radius:3px;flex-shrink:0;width:8px;height:8px}.ep-brow-val{font-family:var(--f-mono);font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:12.5px}.ep-bar-track{background:var(--surface-2);border-radius:999px;height:4px;overflow:hidden}.ep-bar-fill{border-radius:999px;height:100%}.ep-stats{grid-template-columns:1fr 1fr;gap:14px;padding:16px;display:grid}.ep-stat-lbl{color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:10.5px;font-weight:600}.ep-stat-val{font-family:var(--f-mono);color:var(--ink);font-size:18px;font-weight:600;line-height:1.1}.ep-stat-sub{color:var(--ink-4);margin-top:2px;font-size:11px}.save-bar-state{color:var(--ink-3);align-items:center;gap:8px;font-size:13px;display:flex}.save-bar-dot{background:var(--warn);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s infinite saveblnk;display:inline-block}@keyframes saveblnk{50%{opacity:.35}}.prov-suc-row td{background:var(--surface-alt)}.prov-suc-detail{flex-wrap:wrap;gap:8px;padding:10px 12px 12px;display:flex}.prov-suc-item{background:var(--surface);border:1px solid var(--border);border-radius:7px;flex:220px;min-width:220px;padding:10px 12px;font-size:12px}.prov-suc-item--principal{border-color:var(--brand);background:var(--brand-50)}.prov-suc-grid{color:var(--ink-2);grid-template-columns:1fr 1fr;gap:2px 12px;font-size:11.5px;display:grid}.prov-suc-grid .muted{color:var(--ink-4);margin-right:2px;font-size:10.5px}.cli-cont-row td{background:var(--surface-alt)}.cli-cont-detail{flex-wrap:wrap;gap:12px;padding:10px 12px 12px;display:flex}.cli-cont-group{flex:160px;min-width:160px}.cli-cont-items{flex-direction:column;gap:4px;display:flex}.cli-cont-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:1px;padding:5px 10px;font-size:12px;display:flex}.avatar-lg{background:var(--brand-50);width:52px;height:52px;color:var(--brand);letter-spacing:-.02em;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:inline-flex}.section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);border-bottom:1px solid var(--line-soft);margin-bottom:10px;padding-bottom:6px;font-size:10.5px;font-weight:700}.contact-grid{flex-wrap:wrap;gap:8px;display:flex}.contact-chip{background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:2px;min-width:150px;padding:6px 12px;display:inline-flex}.contact-chip-label{color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.contact-chip-value{font-family:var(--f-mono);color:var(--ink);font-size:12.5px;font-weight:500}.suc-accordion{flex-direction:column;gap:8px;display:flex}.suc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.suc-card--principal{border-color:var(--brand);border-width:1.5px}.suc-card-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.suc-card-head:hover{background:var(--surface-alt)}.suc-card-body{border-top:1px solid var(--line-soft);grid-template-columns:1fr 1fr;gap:16px;padding:14px;display:grid}@media (width<=680px){.suc-card-body{grid-template-columns:1fr}}.bank-section{background:var(--surface-alt);border:1px solid var(--line-soft);border-radius:var(--r);padding:10px 14px}.bank-section+.bank-section{margin-top:8px}.bank-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);margin-bottom:8px;font-size:10px;font-weight:700}.notes-block{background:var(--surface-alt);border:1px solid var(--line-soft);border-left:3px solid var(--ink-5);border-radius:var(--r);color:var(--ink-2);white-space:pre-wrap;padding:10px 14px;font-size:13px;line-height:1.6}.clabe-reveal{align-items:center;gap:6px;display:flex}.clabe-mask{font-family:var(--f-mono);color:var(--ink-3);letter-spacing:.08em;font-size:12px}.clabe-btn{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-size:10.5px;font-weight:600}.clabe-btn:hover{text-decoration:underline}.detail-kv-row{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:20px;margin-top:12px;padding-top:12px;display:flex}.ep-page-tabs{border-bottom:2px solid var(--line);background:var(--surface);z-index:10;align-items:center;gap:2px;margin-bottom:0;padding:0 4px;display:flex;position:sticky;top:0}.ep-page-tab{color:var(--ink-3);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:10px 18px;font-size:13.5px;font-weight:500;transition:color .15s;display:flex;position:relative}.ep-page-tab:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2px;transition:background .15s;position:absolute;bottom:-2px;left:0;right:0}.ep-page-tab:hover{color:var(--ink-1)}.ep-page-tab.active{color:var(--brand);font-weight:600}.ep-page-tab.active:after{background:var(--brand)}.ep-dirty-dot{vertical-align:middle;background:#f59e0b;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-left:5px;display:inline-block}.ep-config-tab{flex-direction:column;gap:16px;display:flex}.fcalc-toggle{color:var(--ink-4);transition:color .15s}.fcalc-toggle.fcalc-toggle--on,.fcalc-toggle:hover{color:var(--brand);background:var(--brand-50)}.fcalc-toggle--apu{color:var(--brand);background:var(--brand-50);border-radius:var(--r-sm);border:1px solid var(--brand-100)!important}.fcalc-toggle--apu:hover,.fcalc-toggle--apu.fcalc-toggle--on{background:var(--brand);color:#fff;border-color:var(--brand)!important}.fcalc-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);-webkit-user-select:none;user-select:none;min-width:280px;font-size:13px;position:fixed;overflow:hidden;box-shadow:0 20px 60px #0003,0 4px 12px #0000001a}.fcalc-bar{background:var(--surface-2);border-bottom:1px solid var(--line);cursor:grab;align-items:center;gap:8px;height:36px;padding:0 10px;display:flex}.fcalc-bar:active{cursor:grabbing}.fcalc-bar-ico{color:var(--brand);flex-shrink:0;font-size:15px}.fcalc-bar-title{color:var(--ink-2);flex:1;font-size:12px;font-weight:600}.fcalc-mode-tabs{flex-shrink:0;gap:2px;display:flex}.fcalc-mtab{color:var(--ink-4);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:3px 10px;font-size:11px;font-weight:500;transition:all .12s}.fcalc-mtab:hover{color:var(--ink-2)}.fcalc-mtab.on{background:var(--brand-50);border-color:var(--brand-100);color:var(--brand)}.fcalc-x{border:1px solid var(--line);width:22px;height:22px;color:var(--ink-4);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:all .12s;display:flex}.fcalc-x:hover{background:var(--alert-50);border-color:var(--alert);color:var(--alert)}.fcalc-xl{flex-direction:column;display:flex;position:relative;overflow:hidden}.fcalc-fbar{border-bottom:1px solid var(--line);background:var(--surface-alt);flex-shrink:0;align-items:center;height:30px;display:flex}.fcalc-fbar-ref{width:40px;color:var(--brand);border-right:1px solid var(--line);height:100%;font-size:11px;font-weight:600;font-family:var(--f-mono);flex-shrink:0;align-items:center;padding:0 8px;display:flex}.fcalc-fbar-fx{color:var(--ink-4);flex-shrink:0;padding:0 8px;font-size:12px;font-style:italic}.fcalc-fbar-inp{font-size:12.5px;font-family:var(--f-mono);color:var(--brand);background:0 0;border:none;outline:none;flex:1;padding:0 4px}.fcalc-fbar-inp::placeholder{color:var(--ink-5);font-style:italic}.fcalc-copy{border:none;border-left:1px solid var(--line);height:100%;color:var(--brand);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;padding:0 10px;font-size:11px;font-weight:600;transition:background .12s}.fcalc-copy:hover{background:var(--brand-50)}.fcalc-grid{flex-direction:column;flex:1;display:flex;overflow:hidden}.fcalc-gheads{background:var(--surface-2);border-bottom:1px solid var(--line);flex-shrink:0;display:flex}.fcalc-rnum{width:28px;color:var(--ink-4);border-right:1px solid var(--line);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex}.fcalc-gheads .fcalc-rnum{height:22px}.fcalc-chead{height:22px;color:var(--ink-4);border-right:1px solid var(--line-soft);letter-spacing:.04em;text-transform:uppercase;flex:1;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.fcalc-chead:last-child{border-right:none}.fcalc-gbody{flex:1;overflow:hidden auto}.fcalc-grow{border-bottom:1px solid var(--line-soft);display:flex}.fcalc-grow .fcalc-rnum{background:var(--surface-2);height:26px;font-size:10px}.fcalc-cell{border-right:1px solid var(--line-soft);height:26px;font-size:12px;font-family:var(--f-mono);cursor:cell;flex:1;align-items:center;padding:0 5px;transition:background 80ms;display:flex;overflow:hidden}.fcalc-cell:last-child{border-right:none}.fcalc-cell:hover:not(.on){background:var(--brand-50)}.fcalc-cell.on{outline:1.5px solid var(--brand);outline-offset:-1.5px;background:#2563eb0f;padding:0}.fcalc-cell.on.editing{background:#fff;outline-width:2px}.fcalc-cell.pointed{outline:1.5px dashed var(--brand);outline-offset:-1.5px;background:#2563eb1a}.fcalc-cell.in-range{outline:1.5px solid var(--brand);outline-offset:-1.5px;background:#2563eb1a}.fcalc-cell.selected{outline-offset:-1.5px;background:#2563eb26;outline:1.5px solid #2563eb80}.fcalc-ac{background:var(--surface);border:1px solid var(--brand-100,#bfdbfe);border-radius:0 0 var(--r) var(--r);z-index:100;border-top:none;position:absolute;top:66px;left:50px;right:0;overflow:hidden;box-shadow:0 4px 12px #0000001f}.fcalc-ac-item{text-align:left;width:100%;font-size:12px;font-family:var(--f-mono);cursor:pointer;color:var(--ink-2);background:0 0;border:none;padding:4px 12px;display:block}.fcalc-ac-item:hover,.fcalc-ac-item.on{color:var(--brand);background:#2563eb14}.fcalc-ac-fn{font-weight:600}.fcalc-ac-paren{color:var(--ink-4)}.fcalc-cinp{width:100%;height:100%;font-size:12.5px;font-family:var(--f-mono);color:var(--ink);background:0 0;border:none;outline:none;padding:0 5px}.fcalc-fml{color:var(--brand)}.fcalc-rsz{cursor:nwse-resize;background:linear-gradient(135deg, transparent 40%, var(--line) 40%, var(--line) 55%, transparent 55%, transparent 70%, var(--line) 70%, var(--line) 85%, transparent 85%);width:14px;height:14px;position:absolute;bottom:0;right:0}.fcalc-std{flex-direction:column;display:flex}.fcalc-hist{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:3px;padding:8px 12px 4px;display:flex}.fcalc-hist-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.fcalc-hist-e{color:var(--ink-4);font-size:11px;font-family:var(--f-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fcalc-hist-r{color:var(--ink-3);font-size:11px;font-family:var(--f-mono);flex-shrink:0}.fcalc-dsp{text-align:right;border-bottom:1px solid var(--line-soft);flex-direction:column;justify-content:flex-end;min-height:72px;padding:14px 16px 8px;display:flex}.fcalc-dsp-sub{color:var(--ink-4);font-size:11.5px;font-family:var(--f-mono);margin-bottom:2px}.fcalc-dsp-main{color:var(--ink-1);font-size:30px;font-weight:600;font-family:var(--f-mono);cursor:pointer;word-break:break-all;line-height:1.1;transition:color .12s}.fcalc-dsp-main:hover{color:var(--brand)}.fcalc-keys{flex-direction:column;gap:7px;padding:10px 10px 6px;display:flex}.fcalc-krow{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.fcalc-key{border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2);height:46px;color:var(--ink-1);cursor:pointer;font-size:17px;font-weight:500;font-family:var(--f-sans);justify-content:center;align-items:center;transition:background .1s,transform 80ms;display:flex}.fcalc-key:hover{background:var(--line)}.fcalc-key:active{transform:scale(.92)}.fcalc-key.fn{color:var(--ink-3);font-size:14px}.fcalc-key.op{background:var(--brand-50);color:var(--brand);border-color:var(--brand-100);font-size:18px}.fcalc-key.op:hover{background:var(--brand-100)}.fcalc-key.eq{background:var(--brand);color:#fff;border-color:var(--brand-600);font-size:18px}.fcalc-key.eq:hover{background:var(--brand-600)}.fcalc-copy-row{padding:4px 10px 10px}.fcalc-copy-main{border-radius:var(--r);border:1px solid var(--brand-100);background:var(--brand-50);width:100%;color:var(--brand);cursor:pointer;padding:8px;font-size:12px;font-weight:600;transition:background .12s}.fcalc-copy-main:hover{background:var(--brand-100)}.toast-container{z-index:99999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--r);pointer-events:all;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;animation:.18s toast-in;display:flex;box-shadow:0 4px 16px #0000002e}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.toast--error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.toast--ok{color:#166534;background:#dcfce7;border:1px solid #86efac}.toast--warn{color:#854d0e;background:#fef9c3;border:1px solid #fde047}.toast-msg{flex:1}.toast-retry{border-radius:var(--r);color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;padding:3px 10px;font-size:12px;font-weight:600}.toast-retry:hover{opacity:.75}.toast-close{color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.toast-close:hover{opacity:1}
