/* ==========  CRM SaaS - estilos base  ========== */
:root{
    --tx:#EAE6FF; --mut:#94A3B8; --acc:#7B61FF; --cy:#22D3EE; --vlt:#A78BFA;
    --bg:#0B0E16; --surf:#12172A; --surf2:#1A1F3A; --brd:rgba(167,139,250,.15);
    --ok:#22c55e; --err:#ef4444; --warn:#f59e0b;
    --grad:linear-gradient(135deg,var(--acc),var(--cy));
    --grad2:linear-gradient(135deg,var(--vlt),var(--acc));
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:'Inter',system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--cy);text-decoration:none}
a:hover{text-decoration:underline}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.mut{color:var(--mut)}
.small{font-size:.82rem}

/* ==========  TOPBAR / BRAND  ========== */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--brd);background:rgba(11,14,22,.85);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem;color:var(--tx)}
.brand:hover{text-decoration:none}
.brand img{height:28px;filter:drop-shadow(0 2px 8px rgba(123,97,255,.4))}
.brand span{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.topbar nav{display:flex;gap:14px;align-items:center}
.lnk{color:var(--mut);font-weight:500;font-size:.9rem}
.lnk:hover{color:var(--tx);text-decoration:none}
.lnk-mini{color:var(--vlt);font-size:.75rem;font-weight:600}

/* ==========  BUTTONS  ========== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:10px;border:0;cursor:pointer;font-family:inherit;font-weight:600;font-size:.9rem;transition:transform .1s,filter .15s}
.btn:hover{filter:brightness(1.1);text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn.pri{background:var(--grad);color:#fff}
.btn.ghost{background:rgba(123,97,255,.08);color:var(--tx);border:1px solid var(--brd)}
.btn.ghost:hover{background:rgba(123,97,255,.15)}
.btn.warn{background:rgba(239,68,68,.15);color:var(--err);border:1px solid var(--err)}
.btn.warn:hover{background:rgba(239,68,68,.25)}
.btn.lg{padding:13px 26px;font-size:1rem}
.btn.mini{padding:5px 10px;font-size:.75rem}
.btn.block{display:flex;width:100%;justify-content:center;margin-top:18px}

/* ==========  FORMS  ========== */
input,textarea,select{width:100%;padding:10px 12px;background:rgba(11,14,22,.6);color:var(--tx);border:1px solid var(--brd);border-radius:8px;font-family:inherit;font-size:.92rem;transition:.15s}
input:focus,textarea:focus,select:focus{outline:0;border-color:var(--cy);box-shadow:0 0 0 3px rgba(34,211,238,.12);background:rgba(11,14,22,.85)}
input[readonly]{background:rgba(11,14,22,.3);color:var(--mut);cursor:default}
textarea{resize:vertical;min-height:80px;line-height:1.5}
select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
label.field{display:block;font-size:.75rem;color:var(--mut);margin-bottom:5px;letter-spacing:.4px;text-transform:uppercase;font-weight:600}
label.check{display:flex;align-items:center;gap:8px;color:var(--mut);font-size:.9rem;cursor:pointer}
label.check input{width:auto;margin:0;cursor:pointer}
.row-form{display:flex;gap:8px;flex-wrap:wrap;align-items:stretch}

/* ==========  MSG / FLASH  ========== */
.msg{padding:11px 16px;border-radius:10px;margin-bottom:14px;display:flex;align-items:center;gap:10px;font-size:.9rem}
.msg.ok{background:rgba(34,197,94,.1);border:1px solid var(--ok);color:var(--ok)}
.msg.err{background:rgba(239,68,68,.1);border:1px solid var(--err);color:var(--err)}
.msg.warn{background:rgba(245,158,11,.1);border:1px solid var(--warn);color:var(--warn)}

/* ==========  CHIP / BADGE  ========== */
.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.7rem;font-weight:700;background:var(--grad);color:#fff;text-transform:uppercase;letter-spacing:.5px}
.chip.mini{background:rgba(123,97,255,.15);color:var(--vlt);font-size:.62rem}

/* ==========  CARDS  ========== */
.card{background:var(--surf);border:1px solid var(--brd);border-radius:14px;padding:22px;margin-bottom:18px}
.card h3{font-size:1.05rem;font-weight:700;margin-bottom:14px;color:var(--vlt);display:flex;align-items:center;gap:8px}
.card h3 i{color:var(--cy)}

/* ==========  GRIDS  ========== */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
@media (max-width:700px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* ==========  TABLES  ========== */
.tbl{width:100%;border-collapse:collapse}
.tbl th{text-align:left;padding:10px;color:var(--mut);font-size:.72rem;letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--brd);font-weight:600}
.tbl td{padding:12px 10px;border-bottom:1px solid var(--brd);font-size:.9rem;vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:rgba(123,97,255,.03)}

/* ==========  PUBLIC LANDING  ========== */
.pub-main{max-width:1100px;margin:0 auto;padding:20px}
.pub-foot{padding:30px 24px;border-top:1px solid var(--brd);display:flex;justify-content:space-between;color:var(--mut);font-size:.8rem;flex-wrap:wrap;gap:14px;margin-top:60px}
.pub-foot nav{display:flex;gap:20px}
.pub-foot a{color:var(--mut)}
.pub-foot a:hover{color:var(--cy)}

.hero{padding:80px 20px 60px;text-align:center;background:radial-gradient(ellipse at top,rgba(123,97,255,.15),transparent 60%)}
.hero-inner{max-width:780px;margin:0 auto}
.badge{display:inline-block;padding:6px 14px;background:rgba(167,139,250,.1);color:var(--vlt);border:1px solid var(--brd);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:1px;margin-bottom:24px;text-transform:uppercase}
.hero h1{font-size:3rem;font-weight:800;line-height:1.1;margin-bottom:20px;letter-spacing:-.5px}
.hero .grad{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero .lead{font-size:1.15rem;color:var(--mut);margin-bottom:34px;max-width:600px;margin-left:auto;margin-right:auto}
.cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.hint{color:var(--mut);font-size:.8rem}
@media (max-width:600px){.hero h1{font-size:2rem}.hero .lead{font-size:1rem}}

.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:60px 20px;max-width:1100px;margin:0 auto}
.feat{background:var(--surf);border:1px solid var(--brd);border-radius:16px;padding:26px;transition:transform .2s,border-color .2s}
.feat:hover{transform:translateY(-3px);border-color:rgba(167,139,250,.4)}
.feat-ic{width:48px;height:48px;border-radius:12px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;margin-bottom:16px}
.feat h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}
.feat p{color:var(--mut);font-size:.9rem;line-height:1.55}

.cta-bottom{text-align:center;padding:80px 20px;background:radial-gradient(ellipse at bottom,rgba(34,211,238,.1),transparent 60%)}
.cta-bottom h2{font-size:2rem;font-weight:800;margin-bottom:12px}
.cta-bottom p{color:var(--mut);margin-bottom:26px}

/* ==========  AUTH FORMS  ========== */
.auth-wrap{max-width:440px;margin:60px auto;padding:20px}
.auth-card{background:var(--surf);border:1px solid var(--brd);border-radius:16px;padding:34px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.auth-card h2{font-size:1.5rem;margin-bottom:6px}
.auth-card .mut{margin-bottom:22px;font-size:.9rem}
.auth-alt{text-align:center;margin-top:18px;color:var(--mut);font-size:.9rem}

.acc-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.acc-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:rgba(11,14,22,.5);border:1px solid var(--brd);border-radius:12px;cursor:pointer;font-family:inherit;color:var(--tx);text-align:left;width:100%;transition:.15s}
.acc-item:hover{background:rgba(123,97,255,.1);border-color:var(--vlt)}
.acc-item.active{background:rgba(34,211,238,.08);border-color:var(--cy)}
.acc-avatar{width:44px;height:44px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0}
.acc-info{flex:1}
.acc-title{font-weight:700;font-size:.95rem}
.acc-meta{color:var(--mut);font-size:.78rem;margin-top:2px}
.acc-arrow{color:var(--mut);font-size:.85rem}

/* ==========  APP LAYOUT  ========== */
body.app{background:var(--bg)}
.layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
@media (max-width:900px){.layout{grid-template-columns:1fr}.side{display:none}}
.side{background:linear-gradient(180deg,#0B0E16,#0F0A25 60%,#1E1560);border-right:1px solid var(--brd);padding:18px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}
.side .brand{padding:4px 6px 20px}
.acc-switch{background:rgba(11,14,22,.5);border:1px solid var(--brd);border-radius:10px;padding:10px 12px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.acc-name{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.acc-name i{color:var(--vlt);margin-right:4px}
.nav{flex:1;display:flex;flex-direction:column;gap:2px}
.nav-sec{font-size:.62rem;color:var(--mut);letter-spacing:1.5px;text-transform:uppercase;padding:14px 12px 6px;font-weight:700;display:flex;align-items:center;gap:8px}
.nav-sec .soon{font-size:.55rem;padding:1px 6px;border-radius:6px;background:rgba(148,163,184,.15);color:var(--mut);letter-spacing:.5px;text-transform:none}
.nav a{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;color:var(--tx);font-size:.88rem;opacity:.85;transition:.15s;border:1px solid transparent}
.nav a:hover{background:rgba(123,97,255,.1);opacity:1;text-decoration:none}
.nav a.active{background:var(--grad);color:#fff;opacity:1;box-shadow:0 6px 20px -6px rgba(123,97,255,.5)}
.nav a.disabled{opacity:.3;cursor:not-allowed}
.nav a.disabled:hover{background:transparent}
.nav a i{width:16px;text-align:center}
.side-foot{padding-top:16px;text-align:center;color:var(--mut);font-size:.7rem;letter-spacing:1px}

.main{padding:28px 36px;max-width:100%;overflow-x:hidden}
@media (max-width:600px){.main{padding:20px}}
.top{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.top h1{font-size:1.5rem;font-weight:800}
.top .who{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--mut);font-size:.85rem}
.top .who .out{color:var(--mut)}
.top .who .out:hover{color:var(--err);text-decoration:none}

/* ==========  DASHBOARD  ========== */
.welcome{margin-bottom:22px}
.welcome h2{font-size:1.4rem;font-weight:700}
.welcome .wave{display:inline-block;animation:wave 2s ease-in-out infinite}
@keyframes wave{0%,60%,100%{transform:rotate(0)}20%{transform:rotate(14deg)}40%{transform:rotate(-8deg)}}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:22px}
.kpi{background:var(--surf);border:1px solid var(--brd);border-radius:12px;padding:16px;display:flex;align-items:center;gap:14px}
.kpi-ic{width:44px;height:44px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex-shrink:0}
.kpi .n{font-size:1.6rem;font-weight:800;font-family:'JetBrains Mono',monospace}
.kpi .l{color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;margin-top:2px}

.timeline{list-style:none;padding:0}
.timeline li{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--brd)}
.timeline li:last-child{border:none}
.tl-dot{width:8px;height:8px;border-radius:50%;background:var(--vlt);margin-top:6px;flex-shrink:0;box-shadow:0 0 0 3px rgba(167,139,250,.15)}
.tl-body{flex:1;font-size:.88rem}

.checklist{list-style:none;padding:0}
.checklist li{padding:9px 12px;border-radius:8px;margin-bottom:4px;display:flex;align-items:center;gap:10px;font-size:.9rem}
.checklist li.done{background:rgba(34,197,94,.08);color:var(--ok)}
.checklist li.done i{color:var(--ok)}
.checklist li a{color:var(--tx)}
.checklist li a:hover{color:var(--cy);text-decoration:none}
.checklist li.dim{color:var(--mut);opacity:.7}
.checklist li i{width:16px}


/* ═══ DarkLogic Contable — UX Fase 1 ═══ */
.dlc-mobile-menu{display:none;position:fixed;left:12px;top:12px;z-index:1302;width:44px;height:44px;border-radius:10px;border:1px solid var(--brd);background:rgba(11,14,22,.96);color:#fff;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 8px 24px rgba(0,0,0,.32)}
.dlc-mobile-shade{display:none}
.dlc-nav>.nav-sec:first-of-type{margin-top:2px}
.dlc-nav-group{margin-top:4px}
.dlc-nav-group>summary{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;color:var(--mut);font-size:.86rem;font-weight:600;cursor:pointer;list-style:none}
.dlc-nav-group>summary::-webkit-details-marker{display:none}
.dlc-nav-group>summary i{width:17px;text-align:center}
.dlc-nav-group>summary:after{content:'›';margin-left:auto;transition:.15s}
.dlc-nav-group[open]>summary:after{transform:rotate(90deg)}
.dlc-nav-group>summary:hover{background:rgba(123,97,255,.1);color:var(--tx)}
.dlc-nav-group>div{padding-left:7px}
.dlc-nav-group>div a{font-size:.82rem;padding-top:8px;padding-bottom:8px}

.dlc-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.dlc-action{display:flex;align-items:center;gap:11px;border:1px solid var(--brd);border-radius:11px;padding:14px;background:var(--surf);color:var(--tx);text-decoration:none;transition:.15s}
.dlc-action:hover{border-color:var(--cy);transform:translateY(-1px);text-decoration:none}
.dlc-action>i{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(123,97,255,.11);color:var(--vlt);flex:0 0 auto}
.dlc-action b{display:block;font-size:.86rem}.dlc-action span{display:block;color:var(--mut);font-size:.7rem;margin-top:3px;line-height:1.3}

.dlc-onboarding{border-left:4px solid var(--cy);margin-bottom:18px;background:linear-gradient(135deg,rgba(34,211,238,.035),rgba(123,97,255,.045))}
.dlc-onboarding-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.dlc-onboarding-head h3{margin:0 0 4px}.dlc-onboarding-head h3 i{color:var(--cy)}.dlc-onboarding-head p{margin:0;color:var(--mut);font-size:.79rem}
.dlc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}
.dlc-step{position:relative;border:1px solid var(--brd);border-radius:9px;padding:10px 9px 10px 35px;background:var(--surf2);min-height:58px}
.dlc-step:before{content:'';position:absolute;left:11px;top:15px;width:15px;height:15px;border-radius:50%;border:2px solid #64748b}
.dlc-step.done{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.035)}
.dlc-step.done:before{content:'✓';display:flex;align-items:center;justify-content:center;background:#22c55e;border-color:#22c55e;color:#fff;font-size:.6rem;font-weight:900}
.dlc-step.current{border-color:var(--cy)}
.dlc-step b{display:block;font-size:.76rem}.dlc-step span{display:block;color:var(--mut);font-size:.66rem;margin-top:2px;line-height:1.25}

.dlc-money-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.dlc-money-card{text-decoration:none;color:var(--tx);padding:17px 18px;border-left:3px solid #64748b}
.dlc-money-card:hover{text-decoration:none;border-color:var(--vlt)}
.dlc-money-card>span{display:block;color:var(--mut);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.6px}
.dlc-money-card>b{display:block;font-size:1.45rem;margin-top:5px}.dlc-money-card>small{display:block;color:var(--mut);margin-top:4px}
.dlc-money-card.green{border-left-color:#22c55e}.dlc-money-card.amber{border-left-color:#f59e0b}.dlc-money-card.blue{border-left-color:#0ea5e9}.dlc-money-card.red{border-left-color:#ef4444}
.dlc-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.dlc-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.dlc-card-head h3{margin:0 0 3px}.dlc-card-head h3 i{color:var(--vlt);margin-right:5px}.dlc-card-head p{margin:0;color:var(--mut);font-size:.75rem}
.dlc-result-main{margin-top:14px;padding:15px;border-radius:10px;background:rgba(34,197,94,.05);border:1px solid rgba(34,197,94,.18)}.dlc-result-main.negative{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.2)}
.dlc-result-main span{display:block;color:var(--mut);font-size:.72rem}.dlc-result-main b{display:block;font-size:1.65rem;margin-top:3px;color:#4ade80}.dlc-result-main.negative b{color:#f87171}.dlc-result-main small{display:block;color:var(--mut);margin-top:3px}
.dlc-result-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.dlc-result-lines>div{border:1px solid var(--brd);border-radius:8px;padding:9px}.dlc-result-lines span{display:block;color:var(--mut);font-size:.67rem}.dlc-result-lines b{display:block;font-size:.8rem;margin-top:2px}
.dlc-year-details{margin-top:10px;border-top:1px dashed var(--brd);padding-top:9px}.dlc-year-details>summary{cursor:pointer;color:var(--vlt);font-size:.76rem;font-weight:700}.dlc-year-details>div{display:flex;justify-content:space-between;padding:7px 0;font-size:.76rem;border-bottom:1px solid var(--brd)}
.dlc-empty-small{text-align:center;padding:24px 12px}.dlc-empty-small>i{display:block;font-size:1.6rem;color:#22c55e;margin-bottom:8px}.dlc-empty-small b{display:block}.dlc-empty-small span{display:block;color:var(--mut);font-size:.76rem;margin-top:3px}
.dlc-attention-list{display:grid}.dlc-attention-list>a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--brd);color:var(--tx);text-decoration:none}.dlc-attention-list>a:last-child{border-bottom:none}.dlc-attention-list b{display:block;font-size:.82rem}.dlc-attention-list span{display:block;color:var(--mut);font-size:.7rem;margin-top:2px}.dlc-attention-list strong{white-space:nowrap;color:#f59e0b;font-size:.8rem}
.dlc-accounting-details>summary{display:flex;justify-content:space-between;cursor:pointer;list-style:none;font-weight:800}.dlc-accounting-details>summary::-webkit-details-marker{display:none}.dlc-accounting-details[open]>summary>i{transform:rotate(180deg)}.dlc-accounting-details>summary>i{transition:.15s;color:var(--mut)}.dlc-accounting-details>p{margin:9px 0 14px}

.dlc-simple-form{max-width:980px}.dlc-form-grid{margin-top:11px}.dlc-address-grid{display:grid;grid-template-columns:2fr 2fr 1fr;gap:12px}
.dlc-form-more{margin-top:15px;border-top:1px dashed var(--brd);padding-top:12px}.dlc-form-more>summary,.dlc-form-advanced>summary{cursor:pointer;color:var(--vlt);font-size:.82rem;font-weight:750}.dlc-form-advanced{margin-top:12px}
.dlc-form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.dlc-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.dlc-search-row{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.dlc-search-box{position:relative;flex:1;max-width:460px;min-width:230px}.dlc-search-box i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mut)}.dlc-search-box input{width:100%;padding-left:36px}
.dlc-empty{text-align:center;padding:38px 18px;color:var(--mut)}.dlc-empty>i{font-size:2.3rem;color:var(--vlt);opacity:.75;margin-bottom:10px}.dlc-empty h3{color:var(--tx);margin:0 0 5px}.dlc-empty p{max-width:540px;margin:0 auto 14px;line-height:1.45}
.dlc-row-actions{display:flex;gap:5px;justify-content:flex-end;align-items:center;white-space:nowrap}.dlc-row-more{position:relative}.dlc-row-more>summary{list-style:none}.dlc-row-more>summary::-webkit-details-marker{display:none}.dlc-row-more>div{position:absolute;right:0;top:37px;z-index:50;width:190px;background:var(--surf);border:1px solid var(--brd);border-radius:9px;padding:5px;box-shadow:0 12px 30px rgba(0,0,0,.32)}.dlc-row-more>div a{display:flex;gap:8px;align-items:center;padding:9px;border-radius:7px;color:#f87171;text-decoration:none;font-size:.78rem}.dlc-row-more>div a:hover{background:rgba(239,68,68,.08)}

@media(max-width:1100px){
  .dlc-quick-actions,.dlc-money-kpis{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .dlc-mobile-menu{display:flex}
  .side{display:flex!important;position:fixed!important;left:0;top:0;bottom:0;width:min(84vw,300px);height:100vh;z-index:1301;transform:translateX(-105%);transition:transform .2s ease;box-shadow:12px 0 35px rgba(0,0,0,.36)}
  body.dlc-menu-open .side{transform:translateX(0)}
  .dlc-mobile-shade{position:fixed;inset:0;background:rgba(2,6,23,.66);z-index:1300}
  body.dlc-menu-open .dlc-mobile-shade{display:block}
  .main{padding-top:68px!important}
  .top .cont-top-product{padding-left:48px}
  .dlc-dashboard-grid{grid-template-columns:1fr}
  .dlc-steps{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .dlc-quick-actions,.dlc-money-kpis,.dlc-steps,.dlc-result-lines{grid-template-columns:1fr}
  .dlc-onboarding-head{display:block}.dlc-onboarding-head .btn{width:100%;margin-top:12px}
  .dlc-address-grid,.grid-2,.grid-3{grid-template-columns:1fr!important}
  .dlc-form-actions .btn{flex:1 1 auto}
  .dlc-head-actions{width:100%}.dlc-head-actions .btn{flex:1 1 auto}
  .dlc-search-row{display:grid;grid-template-columns:1fr auto}.dlc-search-box{min-width:0;max-width:none}.dlc-search-row a{grid-column:1/-1}
  .top .integration-chip,.top .theme-switch,.top .dlc-role,.top .dlc-user-name{display:none}
  input,select,textarea{font-size:16px!important}
}


/* ═══ DarkLogic Contable — UX Fase 2 / Dashboard refresh ═══ */
.dlc-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:20px 0 12px}
.dlc-section-title h3{margin:0;display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--tx)}
.dlc-section-title h3 i{color:var(--cy)}
.dlc-section-title p{margin:0;color:var(--mut);font-size:.82rem}
.dlc-hero{padding:24px;background:radial-gradient(circle at top right,rgba(34,211,238,.16),transparent 36%),radial-gradient(circle at bottom left,rgba(123,97,255,.18),transparent 42%),linear-gradient(135deg,rgba(18,23,42,.98),rgba(26,31,58,.98));overflow:hidden}
.dlc-hero-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:18px;align-items:stretch}
.dlc-hero-main h2{font-size:2rem;line-height:1.1;margin:12px 0 8px;letter-spacing:-.4px}
.dlc-hero-lead{max-width:760px;color:#c8d3ef;font-size:.98rem;line-height:1.55}
.dlc-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.dlc-progress-wrap{margin-top:18px;padding:14px 16px;border:1px solid rgba(167,139,250,.18);background:rgba(11,14,22,.36);border-radius:14px}
.dlc-progress-copy{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.83rem;margin-bottom:10px;flex-wrap:wrap}
.dlc-progress-copy strong{font-size:.88rem}
.dlc-progress-copy span{color:var(--mut)}
.dlc-progress{height:10px;border-radius:999px;background:rgba(148,163,184,.14);overflow:hidden}
.dlc-progress>span{display:block;height:100%;border-radius:999px;background:var(--grad);box-shadow:0 0 18px rgba(34,211,238,.25)}
.dlc-hero-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dlc-mini-stat{border:1px solid rgba(167,139,250,.14);background:rgba(11,14,22,.42);border-radius:16px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;min-height:110px}
.dlc-mini-stat span{display:block;color:var(--mut);font-size:.76rem;line-height:1.35}
.dlc-mini-stat b{display:block;margin-top:10px;font-size:1.8rem;line-height:1;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dlc-quick-actions{gap:14px}
.dlc-action{padding:16px;border-radius:14px;background:linear-gradient(180deg,rgba(18,23,42,.96),rgba(11,14,22,.96));box-shadow:0 10px 24px rgba(2,6,23,.14)}
.dlc-action>i{width:46px;height:46px;border-radius:13px;background:rgba(123,97,255,.14)}
.dlc-action b{font-size:.94rem}
.dlc-action span{font-size:.76rem}
.dlc-onboarding{padding:22px}
.dlc-steps{gap:10px}
.dlc-step{border-radius:12px;padding:12px 10px 12px 38px;min-height:64px}
.dlc-money-kpis{gap:14px}
.dlc-money-card{padding:18px 18px 16px;border-left-width:4px;background:linear-gradient(180deg,rgba(18,23,42,.98),rgba(11,14,22,.98));transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.dlc-money-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(2,6,23,.18)}
.dlc-money-card>b{font-size:1.55rem}
.dlc-dashboard-grid-wide{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}
.dlc-span-2{grid-column:1 / -1}
.dlc-card-head{margin-bottom:8px}
.dlc-card-head .btn.tiny,.btn.tiny.gray{padding:8px 12px;border-radius:10px}
.dlc-recent-list{display:grid;gap:10px;margin-top:10px}
.dlc-recent-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid var(--brd);border-radius:13px;background:rgba(11,14,22,.32);text-decoration:none;color:var(--tx)}
.dlc-recent-item:hover{text-decoration:none;border-color:var(--cy);transform:translateY(-1px)}
.dlc-recent-icon{width:44px;height:44px;border-radius:12px;background:rgba(123,97,255,.12);display:flex;align-items:center;justify-content:center;color:var(--vlt)}
.dlc-recent-body{min-width:0}
.dlc-recent-body b{display:block;font-size:.88rem}
.dlc-recent-body span{display:block;color:var(--mut);font-size:.78rem;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlc-recent-meta{text-align:right}
.dlc-recent-meta strong{display:block;font-size:.9rem}
.dlc-recent-meta small{display:block;color:var(--mut);font-size:.74rem;margin-top:4px}
@media(max-width:1100px){
  .dlc-hero-grid,.dlc-dashboard-grid-wide{grid-template-columns:1fr}
}
@media(max-width:700px){
  .dlc-section-title{display:block}
  .dlc-hero-main h2{font-size:1.5rem}
  .dlc-hero-side{grid-template-columns:1fr 1fr}
  .dlc-recent-item{grid-template-columns:40px 1fr}
  .dlc-recent-meta{grid-column:2;display:flex;justify-content:space-between;align-items:center;text-align:left}
}
@media(max-width:520px){
  .dlc-hero-side{grid-template-columns:1fr}
  .dlc-progress-copy{display:block}
  .dlc-progress-copy span{display:block;margin-top:4px}
}

/* ═══ DarkLogic Contable — UX Fase 3 / Facturas y cobros guiados ═══ */
.dlc-blocked-step{display:flex;align-items:center;gap:16px;border-left:4px solid var(--warn);background:linear-gradient(135deg,rgba(245,158,11,.05),rgba(18,23,42,.95))}
.dlc-blocked-step>i{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(245,158,11,.12);color:#f59e0b;font-size:1.2rem;flex:0 0 auto}
.dlc-blocked-step>div{flex:1}.dlc-blocked-step h3{margin:0 0 4px;color:var(--tx)}.dlc-blocked-step p{margin:0;color:var(--mut);font-size:.82rem;line-height:1.45}
.dlc-form-section{padding:20px}
.dlc-form-section-head{display:flex;gap:11px;align-items:flex-start;margin-bottom:16px}
.dlc-form-section-head>span{width:32px;height:32px;border-radius:10px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:900;color:#fff;flex:0 0 auto;box-shadow:0 6px 18px rgba(123,97,255,.2)}
.dlc-form-section-head h3{margin:0 0 3px;color:var(--tx)}.dlc-form-section-head p{margin:0;color:var(--mut);font-size:.78rem;line-height:1.4}
.dlc-invoice-top-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.dlc-invoice-lines table{min-width:840px}.dlc-invoice-lines input,.dlc-invoice-lines select{min-width:90px}
.dlc-invoice-bottom-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px;align-items:start}
.dlc-invoice-total-card{position:sticky;top:78px;background:linear-gradient(145deg,rgba(18,23,42,.98),rgba(26,31,58,.98));border-color:rgba(34,211,238,.22)}
.dlc-total-eyebrow{display:block;color:var(--mut);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.8px;margin-bottom:10px}
.dlc-invoice-total-card>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--brd);font-size:.84rem}.dlc-invoice-total-card>div span{color:var(--mut)}.dlc-invoice-total-card>div b{font-size:.9rem}.dlc-invoice-total-card>.dlc-total-final{padding:13px 0;border-bottom:0}.dlc-invoice-total-card>.dlc-total-final span{font-weight:800;color:var(--tx)}.dlc-invoice-total-card>.dlc-total-final b{font-size:1.45rem;color:var(--cy)}.dlc-invoice-total-card p{color:var(--mut);font-size:.73rem;line-height:1.45;margin:8px 0 0}
.dlc-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-color:rgba(123,97,255,.25);background:linear-gradient(135deg,rgba(123,97,255,.05),rgba(34,211,238,.035))}
.dlc-submit-bar b{display:block}.dlc-submit-bar span{display:block;color:var(--mut);font-size:.77rem;margin-top:3px}.dlc-submit-actions{display:flex;gap:8px;flex:0 0 auto}
.dlc-invoice-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.dlc-invoice-kpis>.card{margin:0;padding:16px 18px;border-left:4px solid #64748b}.dlc-invoice-kpis>.card span{display:block;color:var(--mut);font-size:.7rem;text-transform:uppercase;letter-spacing:.65px;font-weight:800}.dlc-invoice-kpis>.card b{display:block;font-size:1.45rem;margin-top:5px}.dlc-invoice-kpis>.card small{display:block;color:var(--mut);margin-top:4px}.dlc-invoice-kpis>.card.amber{border-left-color:#f59e0b}.dlc-invoice-kpis>.card.blue{border-left-color:#0ea5e9}.dlc-invoice-kpis>.card.violet{border-left-color:#a78bfa}.dlc-invoice-kpis>.card.green{border-left-color:#22c55e}.dlc-invoice-kpis>a{text-decoration:none;color:var(--tx)}
.dlc-single-kpi{grid-template-columns:minmax(260px,420px)}
.dlc-list-toolbar{border:1px solid var(--brd);border-radius:13px;background:var(--surf);padding:12px 14px;margin-bottom:14px}.dlc-search-row-inline{margin-bottom:9px}.dlc-filter-chips{display:flex;gap:6px;flex-wrap:wrap}.dlc-filter-chips a{padding:6px 10px;border:1px solid var(--brd);border-radius:999px;color:var(--mut);text-decoration:none;font-size:.73rem;font-weight:700}.dlc-filter-chips a.active{color:#fff;border-color:var(--acc);background:rgba(123,97,255,.15)}
.dlc-table-card{padding:0;overflow:visible}.dlc-invoice-table{margin:0;max-height:min(620px,70vh)!important}.dlc-primary-link{color:var(--cy);text-decoration:none}.dlc-primary-link:hover{text-decoration:underline}.dlc-overdue{color:#f87171!important;font-weight:700}
.dlc-status{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap;background:rgba(148,163,184,.12);color:#cbd5e1}.dlc-status.emitida,.dlc-status.enviado{background:rgba(245,158,11,.12);color:#fbbf24}.dlc-status.parcial,.dlc-status.visto{background:rgba(14,165,233,.12);color:#38bdf8}.dlc-status.pagada,.dlc-status.firmado,.dlc-status.completado{background:rgba(34,197,94,.12);color:#4ade80}.dlc-status.cancelada,.dlc-status.rechazado{background:rgba(239,68,68,.12);color:#f87171}.dlc-status.borrador,.dlc-status.pendiente{background:rgba(148,163,184,.12);color:#cbd5e1}
.mobile-only{display:none}
.dlc-invoice-mobile-card{padding:14px;border-bottom:1px solid var(--brd)}.dlc-invoice-mobile-card:last-child{border-bottom:0}.dlc-invoice-mobile-main{display:flex;justify-content:space-between;gap:10px;text-decoration:none;color:var(--tx)}.dlc-invoice-mobile-main b{display:block}.dlc-invoice-mobile-main span:not(.dlc-status){display:block;color:var(--mut);font-size:.75rem;margin-top:3px}.dlc-invoice-mobile-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--mut);font-size:.72rem;margin-top:10px}.dlc-invoice-mobile-meta b{color:var(--tx)}.dlc-invoice-mobile-actions{display:flex;gap:8px;margin-top:11px}.dlc-invoice-mobile-actions a{flex:1;justify-content:center}
.dlc-payment-main-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.dlc-open-invoices{display:grid;gap:8px}.dlc-open-invoice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid var(--brd);border-radius:11px;background:rgba(11,14,22,.28)}.dlc-open-invoice.selected{border-color:var(--cy);background:rgba(34,211,238,.04)}.dlc-open-invoice b{display:block}.dlc-open-invoice span{display:block;color:var(--mut);font-size:.73rem;margin-top:3px}.dlc-apply-wrap{display:grid;grid-template-columns:auto 125px;gap:8px;align-items:center}.dlc-apply-wrap label{font-size:.7rem;color:var(--mut);font-weight:700;text-transform:uppercase}.dlc-apply-summary{display:flex;justify-content:flex-end;gap:12px;margin-top:10px;font-size:.8rem}.dlc-apply-summary span{color:var(--mut)}
.dlc-back-row{margin-bottom:12px}.dlc-invoice-head{margin-bottom:12px}.dlc-next-action{display:flex;align-items:center;justify-content:space-between;gap:16px;border-left:4px solid var(--cy);background:linear-gradient(135deg,rgba(34,211,238,.045),rgba(123,97,255,.045))}.dlc-next-action.success{border-left-color:#22c55e}.dlc-next-action.warning{border-left-color:#f59e0b}.dlc-next-action-copy{display:flex;gap:12px;align-items:center}.dlc-next-action-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,238,.1);color:var(--cy);flex:0 0 auto}.dlc-next-action.success .dlc-next-action-icon{background:rgba(34,197,94,.1);color:#22c55e}.dlc-next-action.warning .dlc-next-action-icon{background:rgba(245,158,11,.1);color:#f59e0b}.dlc-next-action-copy b{display:block}.dlc-next-action-copy span{display:block;color:var(--mut);font-size:.78rem;line-height:1.45;margin-top:3px}.dlc-next-action-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dlc-inline-form{margin:0}
.dlc-journey-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.dlc-journey-row>div{position:relative;border:1px solid var(--brd);border-radius:11px;padding:11px 12px 11px 42px;background:var(--surf)}.dlc-journey-row>div>i{position:absolute;left:13px;top:15px;color:#64748b}.dlc-journey-row b{display:block;font-size:.8rem}.dlc-journey-row span{display:block;color:var(--mut);font-size:.69rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dlc-journey-row>div.done{border-color:rgba(34,197,94,.28)}.dlc-journey-row>div.done>i{color:#22c55e}.dlc-journey-row>div.current{border-color:var(--cy)}.dlc-journey-row>div.current>i{color:var(--cy)}
.dlc-sign-status{border-left:4px solid var(--acc)}.dlc-sign-status-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.dlc-sign-status-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}.dlc-sign-status-head>div>i{grid-row:1/3;color:var(--vlt);font-size:1.2rem}.dlc-sign-status-head b{display:block}.dlc-sign-status-head span:not(.dlc-status){color:var(--mut);font-size:.73rem}.dlc-signers-list{margin-top:10px}.dlc-signers-list>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--brd);font-size:.77rem}.dlc-signers-list b,.dlc-signers-list small{display:block}.dlc-signers-list small{color:var(--mut);font-size:.68rem;margin-top:2px}.dlc-signers-list strong{font-size:.72rem;color:var(--vlt)}
.dlc-invoice-detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.65fr);gap:18px;align-items:start}.dlc-invoice-paper{min-width:0}.dlc-invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--brd)}.dlc-invoice-parties>div{display:flex;flex-direction:column;align-items:flex-start}.dlc-invoice-parties>div>span{color:var(--mut);font-size:.68rem;text-transform:uppercase;letter-spacing:.7px;font-weight:800;margin-bottom:5px}.dlc-invoice-parties img{max-width:210px;max-height:65px;object-fit:contain;background:#fff;border-radius:8px;padding:5px;margin:2px 0 8px}.dlc-invoice-parties b{font-size:.9rem}.dlc-invoice-parties small{color:var(--mut);margin-top:3px}.dlc-invoice-concept{margin:14px 0;padding:10px 12px;border-radius:9px;background:rgba(123,97,255,.05);border:1px solid rgba(123,97,255,.12)}.dlc-invoice-concept span{display:block;color:var(--mut);font-size:.68rem;text-transform:uppercase;font-weight:800}.dlc-invoice-concept b{display:block;margin-top:3px}.dlc-invoice-detail-table table{min-width:620px}.dlc-invoice-notes{margin-top:14px;padding-top:12px;border-top:1px solid var(--brd)}.dlc-invoice-notes p{color:var(--mut);font-size:.8rem;line-height:1.5;margin-top:4px}
.dlc-invoice-summary{position:sticky;top:78px}.dlc-invoice-summary>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--brd);font-size:.8rem}.dlc-invoice-summary>div span{color:var(--mut)}.dlc-invoice-summary>div.total{padding:13px 0}.dlc-invoice-summary>div.total b{font-size:1.18rem;color:var(--cy)}.dlc-invoice-summary>div.balance b{font-size:1.12rem;color:#fbbf24}.dlc-invoice-summary>div .paid{color:#4ade80}.dlc-summary-dates{display:grid!important;grid-template-columns:1fr auto;row-gap:6px;border-bottom:0!important;margin-top:8px;padding-top:12px!important}
.dlc-secondary-actions>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-weight:800}.dlc-secondary-actions>summary::-webkit-details-marker{display:none}.dlc-secondary-actions[open]>summary>i{transform:rotate(180deg)}.dlc-secondary-actions>summary>i{transition:.15s}.dlc-inner-details{margin-top:12px;border-top:1px dashed var(--brd);padding-top:10px}.dlc-inner-details>summary{cursor:pointer;color:var(--vlt);font-size:.76rem;font-weight:700}.dlc-option-form{margin-top:12px}
@media(max-width:1050px){.dlc-invoice-bottom-grid,.dlc-invoice-detail-grid{grid-template-columns:1fr}.dlc-invoice-total-card,.dlc-invoice-summary{position:static}.dlc-invoice-kpis{grid-template-columns:1fr 1fr}.dlc-invoice-kpis>.card:last-child{grid-column:1/-1}.dlc-payment-main-grid{grid-template-columns:1fr 1fr}.dlc-payment-main-grid>div:first-child{grid-column:1/-1}}
@media(max-width:760px){.desktop-only{display:none!important}.mobile-only{display:block!important}.dlc-invoice-top-grid,.dlc-payment-main-grid,.dlc-invoice-kpis{grid-template-columns:1fr}.dlc-invoice-kpis>.card:last-child,.dlc-payment-main-grid>div:first-child{grid-column:auto}.dlc-submit-bar,.dlc-next-action{display:block}.dlc-submit-actions,.dlc-next-action-buttons{display:grid;grid-template-columns:1fr;margin-top:14px}.dlc-submit-actions .btn,.dlc-next-action-buttons .btn,.dlc-next-action-buttons form{width:100%;justify-content:center}.dlc-blocked-step{display:block;text-align:center}.dlc-blocked-step>i{margin:0 auto 10px}.dlc-blocked-step .btn{margin-top:12px;width:100%;justify-content:center}.dlc-journey-row{grid-template-columns:1fr}.dlc-invoice-parties{grid-template-columns:1fr}.dlc-open-invoice{display:block}.dlc-apply-wrap{grid-template-columns:1fr;margin-top:10px}.dlc-signers-list>div{grid-template-columns:1fr auto}.dlc-signers-list>div>small:last-child{grid-column:1/-1}.dlc-list-toolbar{padding:10px}.dlc-filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.dlc-filter-chips a{white-space:nowrap}}

/* ═══ DarkLogic Contable — UX Fase 4 / Gastos, pagos y bancos ═══ */
.dlc-expense-top-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.dlc-expense-lines table{min-width:760px}.dlc-expense-lines input{min-width:80px}
.dlc-expense-bottom-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;align-items:start}
.dlc-submit-copy-card{border-left:4px solid var(--cy);background:linear-gradient(135deg,rgba(34,211,238,.04),rgba(123,97,255,.035))}
.dlc-submit-copy-card h3{margin:0 0 5px;color:var(--tx)}.dlc-submit-copy-card h3 i{color:#22c55e}.dlc-submit-copy-card p{margin:0;color:var(--mut);font-size:.8rem;line-height:1.5}
.dlc-expense-total-card{position:sticky;top:78px;background:linear-gradient(145deg,rgba(18,23,42,.98),rgba(26,31,58,.98));border-color:rgba(245,158,11,.2)}
.dlc-expense-total-card>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--brd);font-size:.84rem}.dlc-expense-total-card>div span{color:var(--mut)}.dlc-expense-total-card>.dlc-total-final{padding:13px 0;border-bottom:0}.dlc-expense-total-card>.dlc-total-final span{font-weight:800;color:var(--tx)}.dlc-expense-total-card>.dlc-total-final b{font-size:1.45rem;color:#fbbf24}
.dlc-coa-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(240px,1.4fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--brd)}.dlc-coa-row:last-child{border-bottom:0}.dlc-coa-row span{font-size:.76rem;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dlc-status.registrada{background:rgba(245,158,11,.12);color:#fbbf24}
.dlc-invoice-kpis>.card.red{border-left-color:#ef4444}
.dlc-bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.dlc-bank-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;margin:0}
.dlc-bank-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(123,97,255,.12);color:var(--vlt);font-size:1.15rem}
.dlc-bank-main{min-width:0}.dlc-bank-main b{display:block;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dlc-bank-main span,.dlc-bank-main small{display:block;color:var(--mut);font-size:.72rem;margin-top:3px}
.dlc-bank-balance{text-align:right}.dlc-bank-balance span{display:block;color:var(--mut);font-size:.66rem;text-transform:uppercase;letter-spacing:.6px;font-weight:800}.dlc-bank-balance b{display:block;font-size:1rem;margin-top:4px}
.dlc-bank-actions{grid-column:1/-1;display:flex;gap:7px;padding-top:11px;border-top:1px solid var(--brd);margin-top:2px}.dlc-bank-actions>a{flex:1;justify-content:center}.dlc-bank-actions .dlc-row-more{margin-left:auto}
@media(max-width:1050px){.dlc-expense-bottom-grid{grid-template-columns:1fr}.dlc-expense-total-card{position:static}.dlc-expense-top-grid{grid-template-columns:1fr 1fr}.dlc-expense-top-grid>div:first-child{grid-column:1/-1}}
@media(max-width:760px){.dlc-expense-top-grid{grid-template-columns:1fr}.dlc-expense-top-grid>div:first-child{grid-column:auto}.dlc-coa-row{grid-template-columns:1fr}.dlc-bank-grid{grid-template-columns:1fr}.dlc-bank-card{grid-template-columns:48px 1fr}.dlc-bank-balance{grid-column:1/-1;text-align:left;padding-top:8px;border-top:1px solid var(--brd)}.dlc-bank-actions{display:grid;grid-template-columns:1fr 1fr}.dlc-bank-actions .dlc-row-more{position:absolute;right:16px;top:16px}.dlc-bank-card{position:relative}}

/* ═══ DarkLogic Contable — UX Fase 5 / Reports, settings & help ═══ */
.dlc-report-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.dlc-report-presets a{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;border:1px solid var(--brd);background:var(--surf);color:var(--mut);font-size:.78rem;font-weight:700;text-decoration:none}
.dlc-report-presets a:hover{border-color:var(--cy);color:var(--tx);text-decoration:none}
.dlc-report-presets a.active{background:rgba(123,97,255,.14);border-color:var(--acc);color:var(--tx)}
.dlc-report-filter{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:16px}
.dlc-report-filter .btn{min-height:42px}
.dlc-balance-filter{grid-template-columns:minmax(220px,360px) auto;justify-content:start}
.dlc-report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.dlc-report-kpi{margin:0;padding:17px 18px;border-left:4px solid #64748b;background:linear-gradient(180deg,rgba(18,23,42,.98),rgba(11,14,22,.98))}
.dlc-report-kpi>span{display:block;color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:.65px;font-weight:750}
.dlc-report-kpi>b{display:block;font-size:1.45rem;margin-top:5px}
.dlc-report-kpi>small{display:block;color:var(--mut);font-size:.7rem;margin-top:4px;line-height:1.35}
.dlc-report-kpi.income{border-left-color:#22c55e}.dlc-report-kpi.expense{border-left-color:#f59e0b}.dlc-report-kpi.profit{border-left-color:#22c55e}.dlc-report-kpi.loss{border-left-color:#ef4444}.dlc-report-kpi.margin{border-left-color:#22d3ee}
.dlc-report-summary-card{padding:20px}
.dlc-report-flow{display:grid;gap:8px;margin-top:10px}
.dlc-flow-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--brd);border-radius:10px;background:rgba(11,14,22,.28)}
.dlc-flow-row>div{display:flex;align-items:center;gap:10px}.dlc-flow-row i{width:30px;height:30px;border-radius:8px;background:rgba(123,97,255,.12);display:flex;align-items:center;justify-content:center;color:var(--vlt)}
.dlc-flow-row span{font-size:.83rem}.dlc-flow-row b{white-space:nowrap}
.dlc-flow-row.total{border-width:2px}.dlc-flow-row.total.positive{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.04)}.dlc-flow-row.total.negative{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.04)}
.dlc-flow-row.total.positive i{color:#22c55e;background:rgba(34,197,94,.1)}.dlc-flow-row.total.negative i{color:#ef4444;background:rgba(239,68,68,.1)}
.dlc-report-detail>summary,.dlc-help-advanced>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;list-style:none;font-weight:800}.dlc-report-detail>summary::-webkit-details-marker,.dlc-help-advanced>summary::-webkit-details-marker{display:none}
.dlc-report-detail>summary span,.dlc-help-advanced>summary span{display:flex;gap:8px;align-items:center}.dlc-report-detail>summary span i,.dlc-help-advanced>summary span i{color:var(--vlt)}
.dlc-report-detail[open]>summary>i,.dlc-help-advanced[open]>summary>i{transform:rotate(180deg)}.dlc-report-detail>summary>i,.dlc-help-advanced>summary>i{transition:.15s;color:var(--mut)}
.dlc-report-detail>p,.dlc-help-advanced>p{margin:10px 0 14px;line-height:1.55;color:var(--mut);font-size:.8rem}
.dlc-report-section td{padding-top:16px!important;color:var(--vlt)!important;font-weight:800!important;font-size:.75rem!important;letter-spacing:.8px!important}.dlc-report-total td{font-weight:800!important;border-top:1px solid var(--brd)!important}

.dlc-position-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.dlc-position-card{display:flex;align-items:flex-start;gap:12px;margin:0;padding:18px}
.dlc-position-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:rgba(123,97,255,.1);color:var(--vlt)}
.dlc-position-card span{display:block;color:var(--mut);font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;font-weight:750}.dlc-position-card b{display:block;font-size:1.35rem;margin-top:4px}.dlc-position-card small{display:block;color:var(--mut);font-size:.7rem;line-height:1.35;margin-top:4px}
.dlc-position-card.assets{border-top:3px solid #22c55e}.dlc-position-card.liabilities{border-top:3px solid #ef4444}.dlc-position-card.equity{border-top:3px solid #f59e0b}
.dlc-balance-status{display:flex;align-items:center;gap:12px;padding:15px 18px;margin-bottom:14px}.dlc-balance-status>i{font-size:1.35rem}.dlc-balance-status b{display:block}.dlc-balance-status span{display:block;color:var(--mut);font-size:.76rem;margin-top:3px}.dlc-balance-status.ok{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.04)}.dlc-balance-status.ok>i{color:#22c55e}.dlc-balance-status.warn{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.04)}.dlc-balance-status.warn>i{color:#ef4444}
.dlc-position-explainer{padding:18px}.dlc-position-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;text-align:center}.dlc-position-equation>div{border:1px solid var(--brd);border-radius:10px;padding:13px}.dlc-position-equation span{display:block;color:var(--mut);font-size:.72rem}.dlc-position-equation b{display:block;margin-top:4px}.dlc-position-equation>i{color:var(--mut)}
.dlc-balance-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:14px}.dlc-detail-title{font-size:.82rem!important;letter-spacing:.8px;margin:0 0 8px!important}.dlc-detail-title.assets{color:#22c55e!important}.dlc-detail-title.liabilities{color:#ef4444!important}.dlc-detail-title.equity{color:#f59e0b!important}

.dlc-settings-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.dlc-settings-status{display:flex;align-items:center;gap:10px;padding:13px;border:1px solid var(--brd);border-radius:11px;background:var(--surf);text-decoration:none;color:var(--tx)}.dlc-settings-status:hover{text-decoration:none;border-color:var(--cy)}.dlc-settings-status>i{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(123,97,255,.1);color:var(--vlt);flex:0 0 auto}.dlc-settings-status b{display:block;font-size:.82rem}.dlc-settings-status span{display:block;color:var(--mut);font-size:.7rem;margin-top:2px}.dlc-settings-status.ok{border-left:3px solid #22c55e}.dlc-settings-status.warn{border-left:3px solid #f59e0b}.dlc-settings-status.optional{border-left:3px solid #64748b}
.dlc-settings-card{padding:22px}.dlc-settings-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.dlc-settings-head.compact{margin-top:0}.dlc-settings-head h3{margin:0 0 4px}.dlc-settings-head p{margin:0;color:var(--mut);font-size:.78rem;line-height:1.45}.dlc-settings-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:800}.dlc-settings-pill.ok{background:rgba(34,197,94,.1);color:#4ade80}.dlc-settings-pill.warn{background:rgba(245,158,11,.1);color:#fbbf24}
.dlc-settings-divider{height:1px;background:var(--brd);margin:22px 0}
.dlc-mail-summary{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid var(--brd);margin-bottom:14px}.dlc-mail-summary>i{margin-top:2px}.dlc-mail-summary b{display:block}.dlc-mail-summary span{display:block;color:var(--mut);font-size:.75rem;margin-top:3px;line-height:1.4}.dlc-mail-summary.ok{background:rgba(34,197,94,.04);border-color:rgba(34,197,94,.25)}.dlc-mail-summary.ok>i{color:#22c55e}.dlc-mail-summary.warn{background:rgba(245,158,11,.04);border-color:rgba(245,158,11,.25)}.dlc-mail-summary.warn>i{color:#f59e0b}
.dlc-integration-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dlc-integration-card{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--brd);border-radius:10px;background:var(--surf2);color:var(--tx);text-decoration:none}.dlc-integration-card:hover{text-decoration:none;border-color:var(--cy)}.dlc-integration-card>i:first-child{width:38px;height:38px;border-radius:9px;background:rgba(123,97,255,.11);color:var(--vlt);display:flex;align-items:center;justify-content:center}.dlc-integration-card>i:last-child{color:var(--mut)}.dlc-integration-card b{display:block}.dlc-integration-card span{display:block;color:var(--mut);font-size:.72rem;margin-top:2px;line-height:1.3}

.dlc-help-flow{display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,rgba(34,211,238,.04),rgba(123,97,255,.05));border-color:rgba(34,211,238,.2)}.dlc-help-flow-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(34,211,238,.1);color:var(--cy);font-size:1.1rem;flex:0 0 auto}.dlc-help-flow b{display:block}.dlc-help-flow span{display:block;color:var(--mut);font-size:.8rem;line-height:1.45;margin-top:3px}
.dlc-help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.dlc-help-card{display:flex;flex-direction:column;margin:0}.dlc-help-icon{width:44px;height:44px;border-radius:11px;background:rgba(123,97,255,.11);display:flex;align-items:center;justify-content:center;color:var(--vlt);margin-bottom:10px}.dlc-help-card h3{color:var(--tx);font-size:.95rem;margin:0 0 7px}.dlc-help-card p{color:var(--mut);font-size:.78rem;line-height:1.5;flex:1;margin:0 0 13px}.dlc-help-card .btn{align-self:flex-start}

@media(max-width:1100px){.dlc-report-kpis,.dlc-settings-status-grid{grid-template-columns:1fr 1fr}.dlc-integration-cards{grid-template-columns:1fr}.dlc-position-kpis{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:800px){.dlc-report-filter,.dlc-balance-filter{grid-template-columns:1fr 1fr}.dlc-report-filter .btn,.dlc-balance-filter .btn{grid-column:1/-1;width:100%}.dlc-report-kpis,.dlc-position-kpis,.dlc-settings-status-grid{grid-template-columns:1fr 1fr}.dlc-balance-detail-grid{grid-template-columns:1fr}.dlc-position-equation{grid-template-columns:1fr}.dlc-position-equation>i{transform:rotate(90deg)}}
@media(max-width:560px){.dlc-report-filter,.dlc-balance-filter,.dlc-report-kpis,.dlc-position-kpis,.dlc-settings-status-grid{grid-template-columns:1fr}.dlc-flow-row{align-items:flex-start}.dlc-flow-row b{font-size:.82rem}.dlc-settings-head{display:block}.dlc-settings-pill{margin-top:8px}.dlc-help-flow{align-items:flex-start}}
