:root{--navy:#071422;--navy2:#0d2035;--blue:#1769ff;--cyan:#0bbbea;--teal:#0fbf9f;--orange:#ffae2b;--red:#ef4444;--bg:#f3f7fb;--card:#fff;--text:#102033;--muted:#6d7f92;--border:#e2eaf2;--shadow:0 16px 42px rgba(16,32,51,.08);--radius:22px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:290px;background:radial-gradient(circle at 10% 0,rgba(11,187,234,.24),transparent 28%),linear-gradient(180deg,#06111d 0,#0d2745 52%,#071422 100%);padding:22px 16px;display:flex;flex-direction:column;z-index:1000;box-shadow:18px 0 44px rgba(2,12,23,.12)}.brand-card{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.08);color:#fff;margin-bottom:22px}.brand-card img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:14px;padding:6px}.brand-card strong{display:block;font-size:1rem}.brand-card small{display:block;color:#a9c0d7;font-size:.76rem}.nav-stack{display:flex;flex-direction:column;gap:5px;overflow:auto;padding-right:3px}.nav-item{display:flex;align-items:center;gap:12px;text-decoration:none;color:#c9d8e6;padding:12px 13px;border-radius:15px;font-weight:650;font-size:.91rem;transition:.18s}.nav-item i{font-size:1.1rem;width:22px}.nav-item:hover,.nav-item.active{color:#fff;background:rgba(255,255,255,.11);transform:translateX(2px)}.nav-item.active{box-shadow:inset 3px 0 0 var(--cyan)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.user-mini{display:flex;align-items:center;gap:10px;color:#fff;padding:8px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-weight:800}.user-mini strong{display:block;font-size:.86rem}.user-mini small{display:block;color:#9fb3c7;font-size:.73rem}.logout{display:flex;gap:9px;align-items:center;color:#c6d4e1;text-decoration:none;padding:10px 12px;border-radius:12px}.logout:hover{color:#fff;background:rgba(255,255,255,.08)}.main-content{margin-left:290px;min-height:100vh}.topbar{position:sticky;top:0;z-index:900;height:88px;background:rgba(248,251,254,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(17,34,51,.07);display:flex;align-items:center;gap:16px;padding:0 28px}.topbar h1{margin:1px 0 0;font-size:1.5rem;letter-spacing:-.03em}.eyebrow{font-size:.68rem;font-weight:850;letter-spacing:.14em;color:#50708f}.topbar-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.menu-btn{display:none!important}.content-wrap{padding:26px 28px 50px;max-width:1800px;margin:0 auto}.btn{border-radius:12px;font-weight:700}.btn-primary{background:linear-gradient(135deg,var(--blue),#0d56de);border:0;box-shadow:0 8px 20px rgba(23,105,255,.2)}.btn-light{background:#fff;border:1px solid var(--border);color:#22364c}.panel{background:rgba(255,255,255,.96);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin-bottom:20px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-head h3,.panel h3{font-size:1.12rem;margin:2px 0 0;letter-spacing:-.02em}.panel-head p{color:var(--muted);margin:5px 0 0;font-size:.88rem}.hero-panel{border-radius:28px;background:radial-gradient(circle at 90% 0,rgba(11,187,234,.3),transparent 32%),linear-gradient(135deg,#071422,#12345a 62%,#0d2440);color:#fff;padding:30px 32px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 24px 54px rgba(7,20,34,.18);margin-bottom:22px;overflow:hidden}.hero-panel h2{font-size:1.8rem;margin:7px 0 8px}.hero-panel p{color:#b8cce0;margin:0}.hero-panel .eyebrow{color:#7dd8f3}.hero-mark{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;background:rgba(255,255,255,.11);font-size:2rem;border:1px solid rgba(255,255,255,.13)}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi-card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:16px;box-shadow:0 10px 28px rgba(16,32,51,.06);display:flex;gap:13px;align-items:center}.kpi-icon{width:44px;height:44px;border-radius:14px;background:#edf5ff;color:var(--blue);display:grid;place-items:center;font-size:1.1rem}.kpi-card span{display:block;color:var(--muted);font-size:.74rem;font-weight:700}.kpi-card strong{display:block;font-size:1.35rem;line-height:1.15}.kpi-card small{display:block;color:#8ca0b5;font-size:.68rem}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bar-list{display:flex;flex-direction:column;gap:12px}.bar-row>div:first-child{display:flex;justify-content:space-between;font-size:.82rem;margin-bottom:5px}.bar-track{height:8px;background:#edf2f7;border-radius:99px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:99px}.bar-track.alt i{background:linear-gradient(90deg,var(--teal),#43d6be)}.status-list{display:flex;flex-direction:column;gap:9px}.status-list>div{display:flex;justify-content:space-between;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfdff}.status-list span{font-size:.84rem}.status-list strong{font-size:.84rem}.danger-panel{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}.filter-panel{padding:18px}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.search-wide{grid-column:span 2}.filter-grid label,.form-grid-2 label,.form-grid-3 label,.panel label{display:block;color:#536a80;font-size:.75rem;font-weight:800;margin-bottom:6px}.filter-actions{display:flex;gap:8px}.form-control,.form-select{border-radius:12px;border:1px solid #d8e2ec;min-height:43px;font-size:.88rem;box-shadow:none}.form-control:focus,.form-select:focus{border-color:#82adff;box-shadow:0 0 0 .22rem rgba(23,105,255,.1)}.input-icon{position:relative}.input-icon>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#8194a7;z-index:2}.input-icon .form-control{padding-left:38px}.table-clean{margin:0;font-size:.82rem}.table-clean thead th{background:#f8fbfe;color:#60778d;font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);white-space:nowrap}.table-clean td{border-color:#edf2f6;vertical-align:middle}.table-clean tbody tr:hover{background:#fbfdff}.id-chip{display:inline-flex;padding:4px 8px;border-radius:8px;background:#edf4fb;color:#4e6880;font-size:.7rem;font-weight:850}.badge-soft{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border-radius:999px;background:#eef2f6;color:#687e91;font-size:.68rem;font-weight:800}.badge-soft.success{background:#e8f8f3;color:#10866f}.icon-btn{width:38px;height:38px;border-radius:11px;border:1px solid var(--border);background:#fff;display:inline-grid;place-items:center;color:#49647e;text-decoration:none}.icon-btn:hover{background:#f1f6fb;color:var(--blue)}.icon-btn.danger{color:#dc4c4c}.empty-state{text-align:center;color:#7e91a4;padding:35px!important}.empty-state.tall{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state.tall>i{font-size:2.5rem;color:#9eb1c3;margin-bottom:12px}.equipment-hero{background:linear-gradient(135deg,#fff,#f4f9ff);border:1px solid var(--border);border-radius:26px;padding:26px 28px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.equipment-hero h2{font-size:2rem;margin:6px 0 3px}.equipment-hero p{color:var(--muted);margin:0}.hero-price{text-align:right}.hero-price small{display:block;color:var(--muted)}.hero-price strong{font-size:1.7rem;color:var(--blue)}.detail-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.spec-grid>div,.quote-summary>div{padding:12px;border:1px solid var(--border);border-radius:14px;background:#fbfdff}.spec-grid span,.quote-summary span,.description-box span{display:block;color:#7b8fa2;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.spec-grid strong,.quote-summary strong{display:block;font-size:.88rem;margin-top:3px}.description-box{margin-top:12px;padding:14px;border:1px solid var(--border);border-radius:14px}.description-box p{margin:5px 0 0;color:#455c72;font-size:.88rem;white-space:pre-line}.price-stack{display:flex;flex-direction:column;gap:10px}.price-stack>div{display:flex;justify-content:space-between;padding:13px;border-radius:13px;background:#f8fbff;border:1px solid var(--border)}.price-stack span{color:var(--muted);font-size:.78rem}.pdf-card{display:flex;align-items:center;gap:14px}.pdf-card>i{font-size:2rem;color:#e24d4d}.pdf-card div{flex:1}.pdf-card strong,.pdf-card small{display:block}.pdf-card small{color:var(--muted);word-break:break-all}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.span-2{grid-column:span 2}.span-3{grid-column:1/-1}.form-footer{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--border);padding-top:18px;margin-top:22px}.form-narrow{max-width:900px}.upload-panel{text-align:center;max-width:850px;margin:0 auto}.upload-icon{width:72px;height:72px;border-radius:22px;background:#eaf9f1;color:#15835a;font-size:2rem;display:grid;place-items:center;margin:0 auto 14px}.dropzone{border:2px dashed #cbd9e7;border-radius:20px;padding:34px;display:flex;flex-direction:column;align-items:center;gap:7px;background:#fbfdff;position:relative}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone i{font-size:2rem;color:var(--blue)}.dropzone small{color:var(--muted)}.search-line{display:flex;gap:10px}.cards-list{display:flex;flex-direction:column;gap:12px}.sheet-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:16px 18px;box-shadow:0 8px 22px rgba(16,32,51,.04);display:flex;align-items:center;justify-content:space-between;gap:20px}.sheet-main{display:flex;align-items:center;gap:13px}.pdf-icon{width:48px;height:48px;border-radius:14px;background:#f0f3f6;color:#8a9bab;display:grid;place-items:center;font-size:1.3rem}.pdf-icon.has{background:#fff0f0;color:#df4d4d}.sheet-main h4{font-size:.95rem;margin:4px 0 2px}.sheet-main p,.file-name{margin:0;color:var(--muted);font-size:.76rem}.file-name{display:block;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-actions{display:flex;gap:7px;align-items:center}.role-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef3f7;color:#5d7387;font-size:.68rem;font-weight:850}.role-badge.super_admin{background:#ede9fe;color:#6d28d9}.role-badge.admin{background:#e8f1ff;color:#175dcc}.role-badge.aduanera{background:#e6f8f4;color:#10816b}.role-badge.seller{background:#fff4df;color:#a56a0a}.role-badge.mercadeo{background:#fde7f3;color:#c0227a}.permission-list{display:flex;flex-direction:column;gap:8px}.permission-row{display:flex!important;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:14px;margin:0!important}.permission-row>div{display:flex;align-items:center;gap:12px}.permission-row i{width:38px;height:38px;border-radius:11px;background:#eef5ff;color:var(--blue);display:grid;place-items:center}.permission-row strong,.permission-row small{display:block}.permission-row small{color:var(--muted)}.role-selector{display:flex;gap:10px;align-items:end;margin-bottom:16px}.role-selector .form-select{max-width:280px}.tabs-nav{display:flex;gap:8px;overflow:auto;margin-bottom:18px;padding:5px;background:#eaf0f6;border-radius:16px;width:max-content;max-width:100%}.tabs-nav a{text-decoration:none;color:#60778d;padding:10px 14px;border-radius:12px;font-weight:750;font-size:.82rem;white-space:nowrap}.tabs-nav a.active{background:#fff;color:#16344f;box-shadow:0 4px 14px rgba(16,32,51,.08)}details.create-panel summary{cursor:pointer;font-weight:800;color:#27445f;list-style:none}details.create-panel summary::-webkit-details-marker{display:none}.status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef4fa;color:#48647e;font-size:.67rem;font-weight:800;white-space:nowrap}.calculator-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}.margin-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.scenario-stack{display:flex;flex-direction:column;gap:12px}.scenario-card{background:linear-gradient(135deg,#fff,#f5f9ff);border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 10px 25px rgba(16,32,51,.05)}.scenario-label{font-size:.72rem;font-weight:850;color:var(--blue);text-transform:uppercase;letter-spacing:.08em}.scenario-card>strong{font-size:1.55rem;display:block;margin:4px 0}.scenario-meta{display:flex;justify-content:space-between;color:#526d84;font-size:.78rem}.scenario-card small{color:#8395a6}.crm-split{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.contact-list,.quote-list{display:flex;flex-direction:column;gap:8px;max-height:720px;overflow:auto}.contact-row,.quote-row{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--border);border-radius:14px}.contact-row strong,.contact-row span,.contact-row small,.quote-row strong,.quote-row span,.quote-row small{display:block}.contact-row span,.quote-row span{font-size:.78rem;color:#4f697f}.contact-row small,.quote-row small{font-size:.7rem;color:#8a9daf}.quote-row{text-decoration:none;color:inherit;justify-content:space-between}.quote-row.active,.quote-row:hover{border-color:#a9c7ff;background:#f4f8ff}.check-row{display:flex!important;align-items:center;gap:8px}.royalty-panel{margin-top:22px;padding:20px;background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid var(--border);border-radius:18px}.royalty-options{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:12px}.royalty-options.compact{grid-template-columns:repeat(3,1fr)}.royalty-options label{display:flex!important;align-items:flex-start;gap:9px;padding:11px;border:1px solid var(--border);border-radius:13px;background:#fff;margin:0!important}.royalty-options input{margin-top:3px}.royalty-options strong,.royalty-options small{display:block}.royalty-options strong{font-size:.74rem;line-height:1.35}.royalty-options small{color:var(--blue);font-weight:800}.royalty-panel h5{font-size:.86rem;margin:18px 0 6px}.quote-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:17px}.timeline{display:flex;flex-direction:column}.timeline-item{display:flex;gap:12px;position:relative;padding:0 0 18px}.timeline-item>i{width:10px;height:10px;border-radius:99px;background:var(--blue);margin-top:6px;flex:0 0 auto;box-shadow:0 0 0 4px #e9f1ff}.timeline-item:before{content:"";position:absolute;left:4px;top:16px;bottom:0;width:2px;background:#dfe9f3}.timeline-item:last-child:before{display:none}.timeline-item strong,.timeline-item span,.timeline-item small{display:block}.timeline-item strong{font-size:.82rem}.timeline-item span{font-size:.78rem;color:#526b81}.timeline-item small{font-size:.68rem;color:#8b9dad}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(2,12,23,.45);z-index:950}.alert{border-radius:14px;border:0}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.login-visual{background:radial-gradient(circle at 20% 10%,rgba(11,187,234,.28),transparent 30%),radial-gradient(circle at 85% 20%,rgba(255,174,43,.13),transparent 25%),linear-gradient(145deg,#06111e,#0b2b4c 60%,#071422);padding:70px;display:flex;align-items:center;color:#fff;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-120px;bottom:-150px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.login-copy{max-width:600px;position:relative;z-index:2}.login-copy h1{font-size:4.6rem;line-height:.95;letter-spacing:-.06em;margin:15px 0 22px}.login-copy p{font-size:1.05rem;color:#b8cbe0;line-height:1.6;max-width:540px}.login-badges{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}.login-badges span{padding:9px 12px;border:1px solid rgba(255,255,255,.13);border-radius:99px;background:rgba(255,255,255,.07);font-size:.78rem}.login-panel{display:grid;place-items:center;padding:40px;background:linear-gradient(180deg,#fff,#f8fbfe)}.login-card{width:min(430px,100%);padding:34px;border:1px solid var(--border);border-radius:26px;box-shadow:0 22px 60px rgba(16,32,51,.12);background:#fff}.login-logo{height:65px;max-width:180px;object-fit:contain;margin-bottom:20px}.login-card h2{font-size:1.8rem;margin-bottom:4px}.login-card>p{color:var(--muted);margin-bottom:24px}.login-card label{margin-top:11px}.login-card .btn{margin-top:20px}.security-note{display:block;text-align:center;color:#8497a9;margin-top:15px}
@media(max-width:1400px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.filter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1100px){.sidebar{transform:translateX(-102%);transition:.22s}.main-content{margin-left:0}.menu-btn{display:inline-grid!important}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-overlay{display:block}.detail-grid,.calculator-layout,.crm-split{grid-template-columns:1fr}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.content-wrap{padding:20px}.topbar{padding:0 20px}.filter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.kpi-grid,.dashboard-grid,.form-grid-2,.form-grid-3,.spec-grid,.quote-summary{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr}.search-wide,.span-2,.span-3{grid-column:auto}.topbar{height:76px}.topbar h1{font-size:1.14rem}.topbar-actions .btn{font-size:0;width:40px;height:40px;padding:0;display:grid;place-items:center}.topbar-actions .btn i{font-size:1rem}.content-wrap{padding:14px}.panel{padding:16px;border-radius:18px}.hero-panel{padding:22px}.hero-panel h2{font-size:1.35rem}.hero-mark{display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi-card{padding:12px}.equipment-hero{flex-direction:column;align-items:flex-start}.hero-price{text-align:left;margin-top:12px}.sheet-card{align-items:flex-start;flex-direction:column}.sheet-actions{width:100%;flex-wrap:wrap}.sheet-actions .btn{flex:1}.margin-grid{grid-template-columns:1fr 1fr}.royalty-options,.royalty-options.compact{grid-template-columns:1fr}.tabs-nav{border-radius:13px}.login-panel{padding:18px}.login-card{padding:24px}.table-responsive{border-radius:12px}.search-line{flex-direction:column}}

/* ===== CRM: Mis pendientes, vencidos y filtros por vendedor ===== */
.seller-filter{max-width:260px}
.kpi-card.kpi-danger .kpi-icon{background:#fdecec;color:#dc2626}
.kpi-card.kpi-warning .kpi-icon{background:#fff4df;color:#b45309}
.agenda-list{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow:auto}
.agenda-row{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid var(--border);border-left:4px solid #cbd9e7;border-radius:13px;color:inherit;background:#fff}
.agenda-row:hover{background:#f4f8ff;border-color:#a9c7ff}
.agenda-row strong{font-size:.84rem}
.agenda-row small{font-size:.72rem;color:#7b8fa2}
.agenda-row.agenda-overdue,.agenda-row.agenda-rejected{border-left-color:#dc2626}
.agenda-row.agenda-today{border-left-color:#f59e0b}
.agenda-row.agenda-week{border-left-color:#0bbbea}
.agenda-row.agenda-stale{border-left-color:#475569}
.quote-row.is-overdue{border-left:4px solid #dc2626}
.lost-reason-box{margin-top:10px;padding:12px;border:1px solid #fecaca;border-radius:13px;background:#fff7f7}
@media(max-width:720px){.seller-filter{max-width:none}.agenda-row{flex-direction:column;align-items:flex-start}.agenda-row .text-end{text-align:left!important}}
.quote-row>div:first-child strong{white-space:nowrap}

/* ===== CRM: Tablero Kanban ===== */
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:14px;overflow-x:auto;padding-bottom:12px;align-items:start}
.kanban-col{background:#eaf0f6;border-radius:18px;padding:10px;min-height:320px;display:flex;flex-direction:column}
.kanban-col.col-won{background:#e6f6f1}.kanban-col.col-lost{background:#f1f3f5}
.kanban-col-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:6px 6px 10px}
.kanban-col-head strong{display:block;font-size:.82rem;color:#16344f;line-height:1.25}
.kanban-col-head small{display:block;font-size:.72rem;color:#60778d;margin-top:2px}
.kanban-drop{display:flex;flex-direction:column;gap:8px;flex:1;min-height:120px;border-radius:14px;padding:2px;transition:background .15s}
.kanban-drop.drop-over{background:rgba(23,105,255,.08);outline:2px dashed #82adff}
.kanban-card{background:#fff;border:1px solid var(--border);border-left:4px solid #cbd9e7;border-radius:13px;padding:10px 11px;cursor:grab;box-shadow:0 4px 12px rgba(16,32,51,.05)}
.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.45}
.kanban-card.is-overdue{border-left-color:#dc2626}.kanban-card.is-today{border-left-color:#f59e0b}
.col-won .kanban-card{border-left-color:#0fbf9f}
.kanban-code{font-weight:800;font-size:.8rem;color:#16344f;text-decoration:none}.kanban-code:hover{color:var(--blue)}
.kanban-amount{font-size:.74rem;font-weight:800;color:#22364c;white-space:nowrap}
.kanban-client{font-size:.8rem;color:#33506b;margin-top:3px;line-height:1.3}
.kanban-meta{display:block;font-size:.68rem;color:#8a9daf;margin-top:2px}
.kanban-foot{display:flex;align-items:center;gap:5px;margin-top:8px;flex-wrap:wrap}
.kanban-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;background:#eef4fa;color:#48647e;font-size:.66rem;font-weight:800}
.kanban-tag.tag-overdue{background:#fdecec;color:#b91c1c}.kanban-tag.tag-today{background:#fff4df;color:#a15c07}
.kanban-tag.tag-won{background:#e6f6f1;color:#0b7a64}.kanban-tag.tag-warn{background:#fff4df;color:#a15c07}
.kanban-owner{margin-left:auto;width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font-size:.66rem;font-weight:800;display:grid;place-items:center}
.kanban-empty{font-size:.74rem;color:#8a9daf;text-align:center;margin:18px 0}
.kanban-more{font-size:.72rem;text-align:center;display:block;padding:6px}

/* ===== CRM: Reportes ===== */
.bar-track.muted i{background:linear-gradient(90deg,#64748b,#94a3b8)}
.month-chart{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;align-items:end;height:190px}
.month-chart.short{height:130px}
.month-col{display:flex;flex-direction:column;align-items:center;height:100%;cursor:default}
.month-col:hover .month-bar i{filter:brightness(1.12)}
.month-val{font-size:.66rem;font-weight:800;color:#33506b;min-height:14px}
.month-bar{flex:1;width:100%;max-width:34px;display:flex;align-items:flex-end;background:#f3f7fb;border-radius:6px 6px 0 0}
.month-bar i{display:block;width:100%;background:linear-gradient(180deg,var(--cyan),var(--blue));border-radius:4px 4px 0 0;min-height:0}
.month-bar.alt i{background:linear-gradient(180deg,#43d6be,var(--teal))}
.month-col small{font-size:.62rem;color:#7b8fa2;margin-top:4px;white-space:nowrap}
.stack-bar{display:flex;gap:2px;height:10px;background:#f3f7fb;border-radius:99px;overflow:hidden}
.stack-bar i{display:block;height:100%}.stack-bar i.won{background:var(--teal)}.stack-bar i.pipe{background:var(--blue)}
.legend-dot{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin:0 2px}
.legend-dot.won{background:var(--teal)}.legend-dot.pipe{background:var(--blue)}
@media(max-width:720px){.kanban{grid-auto-columns:82%}.month-chart{gap:3px}.month-col small{font-size:.55rem}}
.kanban-owner{width:auto;min-width:24px;padding:0 5px}
.kanban-move-btn{border:0;background:transparent;color:#8194a7;padding:0 2px;line-height:1;border-radius:6px}
.kanban-move-btn:hover,.kanban-move-btn:focus-visible{color:var(--blue);background:#eef4fa}

/* ===== CRM: Actividades ===== */
.contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.contact-actions .bi-whatsapp{color:#16a34a}
.activity-panel{padding:16px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(135deg,#f8fbff,#fff)}
.activity-panel h4{font-size:.95rem;margin:0 0 4px}
.activity-types{display:flex;flex-wrap:wrap;gap:6px}
.activity-type{margin:0!important;cursor:pointer}
.activity-type input{position:absolute;opacity:0;pointer-events:none}
.activity-type span{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--border);border-radius:11px;background:#fff;font-size:.78rem;font-weight:750;color:#48647e}
.activity-type input:checked+span{border-color:var(--blue);background:#eef4ff;color:#0d4fc4;box-shadow:0 0 0 3px rgba(23,105,255,.1)}
.activity-type input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.timeline-item.activity-item{align-items:flex-start}
.timeline-item .tl-icon{width:26px;height:26px;border-radius:9px;background:#eef4ff;color:var(--blue);display:grid;place-items:center;margin-top:0;flex:0 0 auto;box-shadow:none;font-style:normal;font-size:.8rem}
.timeline-item.activity-item:before{left:12px;top:30px}
.activity-outcome{color:#0d4fc4}
.activity-notes{white-space:pre-line}
.icon-btn.sm{width:28px;height:28px;border-radius:8px}
.agenda-row.agenda-won{border-left-color:#0fbf9f}
.contact-360 h5{font-size:.86rem;font-weight:800;color:#27445f}
.activity-totals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.activity-totals>div{border:1px solid var(--border);border-radius:14px;padding:12px;background:#fbfdff;display:flex;flex-direction:column;align-items:flex-start}
.activity-totals i{color:var(--blue);font-size:1rem}.activity-totals strong{font-size:1.25rem;line-height:1.2}.activity-totals span{font-size:.72rem;color:var(--muted);font-weight:700}
@media(max-width:720px){.activity-totals{grid-template-columns:repeat(3,1fr)}}
.activity-item strong .activity-outcome,.activity-item strong a{display:inline}

/* ===== CRM: Empresas ===== */
.company-avatar{background:linear-gradient(135deg,#0d2745,#1769ff)}
.contact-row.active,.contact-row:hover{border-color:#a9c7ff;background:#f4f8ff}
.quote-summary.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.quote-summary.four{grid-template-columns:repeat(2,1fr)}}

/* ===== Parte gráfica: etapas, tablas, buscador, asistente ===== */
:root{--st-1:#64748b;--st-1-bg:#f1f5f9;--st-2:#1d4ed8;--st-2-bg:#e8efff;--st-3:#7c3aed;--st-3-bg:#f1eaff;--st-4:#b45309;--st-4-bg:#fff3dc;--st-won:#047857;--st-won-bg:#e3f7ef;--st-lost:#6b7280;--st-lost-bg:#eceef1}
.stage-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:999px;font-size:.67rem;font-weight:800;white-space:nowrap;background:var(--st-1-bg);color:var(--st-1)}
.stage-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.stage-pill.st-1{background:var(--st-1-bg);color:var(--st-1)}.stage-pill.st-2{background:var(--st-2-bg);color:var(--st-2)}
.stage-pill.st-3{background:var(--st-3-bg);color:var(--st-3)}.stage-pill.st-4{background:var(--st-4-bg);color:var(--st-4)}
.stage-pill.st-won{background:var(--st-won-bg);color:var(--st-won)}.stage-pill.st-lost{background:var(--st-lost-bg);color:var(--st-lost);text-decoration:line-through;text-decoration-thickness:1px}
.kanban-col-head strong::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--st-1);vertical-align:1px}
.kanban-col[data-stage-class="st-2"] .kanban-col-head strong::before{background:var(--st-2)}
.kanban-col[data-stage-class="st-3"] .kanban-col-head strong::before{background:var(--st-3)}
.kanban-col[data-stage-class="st-4"] .kanban-col-head strong::before{background:var(--st-4)}
.kanban-col[data-stage-class="st-won"] .kanban-col-head strong::before{background:var(--st-won)}
.kanban-col[data-stage-class="st-lost"] .kanban-col-head strong::before{background:var(--st-lost)}
.approval-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:.66rem;font-weight:800;white-space:nowrap}
.approval-pill.pending{background:#fff3dc;color:#a15c07}.approval-pill.approved{background:#e3f7ef;color:#047857}
.approval-pill.rejected{background:#fdecec;color:#b91c1c}.approval-pill.not_required{background:#f1f5f9;color:#64748b}

/* Pestañas con menú de administración */
.tabs-nav .dropdown-toggle{border:0;background:transparent;color:#60778d;padding:10px 14px;border-radius:12px;font-weight:750;font-size:.82rem;white-space:nowrap}
.tabs-nav .dropdown-toggle.active,.tabs-nav .dropdown-toggle:hover{background:#fff;color:#16344f;box-shadow:0 4px 14px rgba(16,32,51,.08)}
.tabs-nav .dropdown-menu{border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow);padding:6px}
.tabs-nav .dropdown-item{border-radius:10px;font-size:.84rem;font-weight:650;padding:8px 12px}
.tabs-nav .dropdown-item.active{background:#eef4ff;color:#0d4fc4}

/* Tablas mejoradas */
.table-tools{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.table-tools .input-icon{flex:1;min-width:200px;max-width:360px}
.table-tools .form-control-sm{min-height:36px}
.table-count{font-size:.75rem;color:var(--muted);font-weight:700}
.table-pager{display:flex;justify-content:flex-end;align-items:center;gap:4px;margin-top:12px;flex-wrap:wrap}
.table-pager .btn{min-width:34px;border-radius:9px}
th.sortable{cursor:pointer;user-select:none;position:relative;padding-right:18px!important}
th.sortable::after{content:"↕";position:absolute;right:4px;opacity:.35;font-size:.7rem}
th.sortable[data-dir="asc"]::after{content:"↑";opacity:.9}th.sortable[data-dir="desc"]::after{content:"↓";opacity:.9}
th.sortable:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
@media(max-width:720px){
  .table-cards thead{display:none}
  .table-cards,.table-cards tbody,.table-cards tr,.table-cards td{display:block;width:100%}
  .table-cards tr{border:1px solid var(--border);border-radius:14px;margin-bottom:10px;padding:8px 10px;background:#fff}
  .table-cards tr[hidden]{display:none}
  .table-cards td{border:0!important;padding:5px 0 5px 38%!important;text-align:left!important;position:relative;min-height:26px;white-space:normal!important}
  .table-cards td::before{content:attr(data-label);position:absolute;left:0;top:7px;width:36%;font-size:.64rem;font-weight:800;color:#7b8fa2;text-transform:uppercase;letter-spacing:.04em}
  .table-cards td[data-label=""]{padding-left:0!important}
  .table-cards .stage-pill,.table-cards .approval-pill{white-space:normal}
  .tabs-nav.flex-wrap{flex-wrap:nowrap!important;overflow-x:auto;width:100%;scrollbar-width:none}
  .tabs-nav::-webkit-scrollbar{display:none}
  .table-cards td[data-label=""]::before{display:none}
}

/* Select con búsqueda */
.ss-native{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important;pointer-events:none;border:0!important;padding:0!important}
.ss-box{position:relative}
.ss-box.is-invalid .form-control{border-color:#dc2626;box-shadow:0 0 0 .2rem rgba(220,38,38,.12)}
.ss-list{position:absolute;z-index:1050;left:0;right:0;top:calc(100% + 4px);max-height:320px;overflow:auto;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);padding:6px}
.ss-item{padding:8px 10px;border-radius:9px;font-size:.84rem;cursor:pointer;line-height:1.3}
.ss-item:hover,.ss-item.active{background:#eef4ff;color:#0d4fc4}
.ss-group{font-size:.64rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#7b8fa2;padding:8px 10px 4px}
.ss-empty{padding:10px;color:var(--muted);font-size:.82rem}

/* Asistente de nueva cotización */
.wizard-steps{display:flex;gap:6px;margin-bottom:20px;counter-reset:step;flex-wrap:wrap}
.wizard-step{flex:1;min-width:140px;display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:14px;background:#f3f7fb;border:1px solid var(--border);color:#60778d;font-weight:750;font-size:.82rem;cursor:pointer;text-align:left}
.wizard-step .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--border);font-size:.78rem;flex:0 0 auto}
.wizard-step.active{background:#fff;border-color:var(--blue);color:#0d4fc4;box-shadow:0 0 0 3px rgba(23,105,255,.1)}
.wizard-step.active .n{background:var(--blue);border-color:var(--blue);color:#fff}
.wizard-step.done .n{background:var(--teal);border-color:var(--teal);color:#fff}
.wizard-step.done .n span{display:none}.wizard-step.done .n::after{content:"✓"}
.wizard-pane[hidden]{display:none}
.wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.wizard-summary{position:sticky;top:104px;border:1px solid var(--border);border-radius:18px;padding:16px;background:linear-gradient(180deg,#fff,#f8fbff)}
.wizard-summary h4{font-size:.92rem;margin:0 0 10px}
.ws-row{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;padding:6px 0;border-bottom:1px dashed #e2eaf2}
.ws-row:last-of-type{border-bottom:0}.ws-row span{color:var(--muted)}.ws-row strong{text-align:right}
.ws-total{font-size:1.35rem;font-weight:850;color:#16344f;margin:8px 0 2px}
.points-meter{height:8px;background:#edf2f7;border-radius:99px;overflow:hidden;margin:6px 0 4px}
.points-meter i{display:block;height:100%;background:var(--teal);border-radius:99px;transition:width .2s}
.points-meter.over i{background:#dc2626}
.ws-alert{font-size:.76rem;border-radius:12px;padding:9px 10px;margin-top:10px;display:flex;gap:8px;align-items:flex-start}
.ws-alert.warn{background:#fff3dc;color:#8a4b06}.ws-alert.ok{background:#e3f7ef;color:#065f46}
.wizard-nav{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:18px;margin-top:22px}
.line-flag{font-size:.72rem;font-weight:800;margin-top:6px}
.line-flag.warn{color:#b45309}
.review-lines{font-size:.82rem}
@media(max-width:1100px){.wizard-layout{grid-template-columns:1fr}.wizard-summary{position:static}}
@media(max-width:720px){.wizard-step{min-width:calc(50% - 6px);padding:9px}.wizard-step .lbl{font-size:.75rem}}
.kanban-code{white-space:nowrap}

/* ===== Cotización: detalle y versiones ===== */
.quote-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.quote-meta>div{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fbfdff}
.quote-meta>div.wide{grid-column:1/-1}
.quote-meta span{display:block;color:#7b8fa2;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.quote-meta strong{display:block;font-size:.82rem;margin-top:2px;font-weight:650}
.quote-meta .pre{white-space:pre-line}
.revision-list{display:flex;flex-direction:column;gap:8px}
.revision-item{border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:#fff}
.revision-item>summary{display:flex;align-items:flex-start;gap:10px;cursor:pointer;list-style:none;font-size:.82rem}
.revision-item>summary::-webkit-details-marker{display:none}
.rev-n{display:grid;place-items:center;min-width:34px;height:26px;border-radius:8px;background:#eef4ff;color:#0d4fc4;font-weight:850;font-size:.74rem}
.line-subtotal{font-weight:800;color:#16344f}
@media(max-width:720px){.quote-meta{grid-template-columns:1fr 1fr}}
.price-note{font-size:.76rem;border-radius:10px;padding:7px 9px;margin-top:8px;line-height:1.35}
.price-note.warn{background:#fff3dc;color:#8a4b06}.price-note.danger{background:#fdecec;color:#991b1b}.price-note.info{background:#eef4ff;color:#1e40af}
.price-source option:disabled{color:#9aa8b6}
