:root{--bg:#f4f6fa;--bg2:#fff;--bg3:#eef1f7;--bgi:#fff;--border:#dde2ec;--border2:#c8d0e0;--text:#1a2035;--text2:#4a5568;--text3:#8a96a8;--hbg:#1e2d4a;--hborder:#253656;--accent:#c9973a;--btn:#1e2d4a;--btnc:#c9973a;--btnb:#2d4070;--taba:#c9973a;--tabac:#1e2d4a;--tabc:#7a9ec8;--tabb:#2d4070;--card:#fff;--cardb:#dde2ec;--cardh:rgba(30,45,74,.12);--kpi:#fff;--pcol:#f0f3fa;--pcolb:#dde2ec;--pcard:#fff;--pcardb:#dde2ec;--pcnt:#e8ecf5;--pcntc:#6b7a9a;--fbar:#f0f3fa;--fbarb:#dde2ec;--flbl:#8a96a8;--modal:#fff;--modalb:#dde2ec;--empty:#b0bac8;--barwrap:#e8ecf5;--dhandle:#b0bac8;--ritembg:#fff;--ritemb:#dde2ec;--rdtbg:#f4f6fa;--rnbg:#1e2d4a;--rnc:#c9973a;--rnb:#2d4070;--depthc:#6b7a9a;--depthb:#dde2ec;--deptdb:#f0f3fa;--deptrhov:#f7f9fd;--sctrack:#f0f3fa;--scthumb:#c8d0e0;--muted:#8a96a8;--mapsbg:#f0f3fa;--mapsb:#dde2ec;--avbg:#1e2d4a;--avc:#c9973a;--avb:#2d4070;--stagebox:#f0f3fa;--stageboxb:#dde2ec;--tag:#f0f3fa;--tagb:#dde2ec;--tagc:#6b7a9a;--tagon:#1e2d4a;--tagonc:#c9973a;--tagonb:#2d4070;--ftag:#f0f3fa;--ftagb:#dde2ec;--ftagc:#6b7a9a;--ftagon:rgba(30,45,74,.08);--ftagonc:#1e2d4a;--ftagonb:rgba(30,45,74,.3);--sectitle:#1e2d4a;--link:#2a70b8;--shadow:0 1px 4px rgba(30,45,74,.08);}
html.dark{--bg:#0e0e0e;--bg2:#171717;--bg3:#131313;--bgi:#1a1a1a;--border:#2a2a2a;--border2:#333;--text:#ddd;--text2:#999;--text3:#555;--hbg:#090f0b;--hborder:#1a2e1f;--btn:#0f1f14;--btnc:#c9973a;--btnb:#2d5240;--taba:#c9973a;--tabac:#0f1f14;--tabc:#6b9e6e;--tabb:#2d5240;--card:#171717;--cardb:#252525;--cardh:rgba(201,151,58,.12);--kpi:#171717;--pcol:#131313;--pcolb:#1e1e1e;--pcard:#1a1a1a;--pcardb:#242424;--pcnt:#1e1e1e;--pcntc:#555;--fbar:#141414;--fbarb:#222;--flbl:#444;--modal:#1a1a1a;--modalb:#2a2a2a;--empty:#333;--barwrap:#1a1a1a;--dhandle:#333;--ritembg:#1a1a1a;--ritemb:#252525;--rdtbg:#131313;--rnbg:#0f1f14;--rnc:#c9973a;--rnb:#2d5240;--depthc:#666;--depthb:#222;--deptdb:#1a1a1a;--deptrhov:#1a1a1a;--sctrack:#0e0e0e;--scthumb:#252525;--muted:#444;--mapsbg:#141414;--mapsb:#2a2a2a;--avbg:#0f1f14;--avc:#c9973a;--avb:#2d5240;--stagebox:#1e1e1e;--stageboxb:#2e2e2e;--tag:#1a1a1a;--tagb:#2a2a2a;--tagc:#666;--tagon:#0f1f14;--tagonc:#c9973a;--tagonb:#2d5240;--ftag:#1a1a1a;--ftagb:#2a2a2a;--ftagc:#777;--ftagon:rgba(201,151,58,.1);--ftagonc:#c9973a;--ftagonb:rgba(201,151,58,.4);--sectitle:#c9973a;--link:#6baa80;--shadow:none;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);min-height:100vh;transition:background .25s,color .25s;font-optical-sizing:none;}
a{color:var(--link);text-decoration:none;}a:hover{text-decoration:underline;}
input,select,textarea,button{font-family:inherit;}
input,textarea{background:var(--bgi);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 12px;font-size:13px;width:100%;transition:border-color .15s;}
input:focus,textarea:focus{outline:none;border-color:var(--accent);}
input::placeholder,textarea::placeholder{color:var(--text3);}
select{background:var(--bgi);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 10px;font-size:12px;cursor:pointer;width:100%;}
select:focus{outline:none;border-color:var(--accent);}
.btn{background:var(--btn);color:var(--btnc);border:1px solid var(--btnb);border-radius:8px;padding:8px 16px;font-size:12px;cursor:pointer;transition:opacity .15s;box-shadow:var(--shadow);font-weight:500;}
.btn:hover{opacity:.82;}.btn:disabled{opacity:.4;cursor:default;}
.btn-sm{padding:5px 12px;font-size:11px;border-radius:8px;}
.btn-outline{background:transparent;color:var(--text2);border:1px solid var(--border);border-radius:8px;padding:5px 12px;font-size:11px;cursor:pointer;font-weight:500;transition:border-color .15s,color .15s;}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-tab{border-radius:6px;padding:6px 14px;font-size:11px;font-weight:500;white-space:nowrap;}
.btn-tab.active{background:var(--taba);color:var(--tabac);border-color:var(--taba);}
.btn-tab:not(.active){background:transparent;color:var(--tabc);border-color:var(--tabb);}
/* Modal footer buttons */
.mfooter{display:flex;gap:8px;margin-top:16px;}
.mfooter>.btn,.mfooter>button{flex:1;padding:9px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;font-weight:500;}
.mfooter>.btn-cancel{background:transparent;color:var(--text2);border:1px solid var(--border);}
.mfooter>.btn-cancel:hover{background:var(--bg3);}
.mfooter>.btn-ok{background:var(--btn);color:var(--btnc);border:1px solid var(--btnb);}
.mfooter-btn{padding:9px 14px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;font-weight:500;}
.mfooter>.btn-ok:hover{opacity:.85;}
.mfooter>.btn-danger{background:transparent;color:#e05555;border:1px solid rgba(220,80,80,.4);}
.mfooter>.btn-danger:hover{background:rgba(220,80,80,.07);}
.mfooter>.btn-confirm{background:rgba(40,160,80,.1);color:#1a7a40;border:1px solid rgba(40,160,80,.3);}
.mfooter>.btn-confirm:hover{background:rgba(40,160,80,.18);}
html.dark .mfooter>.btn-confirm{background:#0f2a14;color:#5a9e6e;border-color:#1d5230;}
.btn-subtab{border:none;border-bottom:2px solid transparent;border-radius:0;padding:7px 18px;font-size:12px;font-weight:500;cursor:pointer;background:transparent;color:var(--text3);margin-bottom:-1px;transition:color .15s,border-color .15s;}
.btn-subtab.active{color:var(--accent);border-bottom-color:var(--accent);}
.btn-subtab:not(.active):hover{color:var(--text1);}
.btn-red{background:transparent;color:#e05555;border:1px solid rgba(220,80,80,.4);border-radius:8px;padding:5px 12px;font-size:11px;cursor:pointer;font-weight:500;}
.btn-red:hover{background:rgba(220,80,80,.07);}
.btn-amber{background:transparent;color:#b07a20;border:1px solid rgba(180,130,40,.4);border-radius:8px;padding:5px 12px;font-size:11px;cursor:pointer;font-weight:500;}
.btn-amber:hover{background:rgba(180,130,40,.07);}
.btn-green{background:rgba(80,180,100,.1);color:#2a8a50;border:1px solid rgba(80,180,100,.3);border-radius:8px;padding:5px 12px;font-size:11px;cursor:pointer;font-weight:500;}
html.dark .btn-green{background:#0f2a14;color:#5a9e6e;border-color:#1d5230;}
.card{background:var(--card);border:1px solid var(--cardb);border-radius:12px;padding:14px;box-shadow:var(--shadow);position:relative;}
.card:hover{border-color:var(--cardh);}
.btn-trash-card{position:absolute;bottom:10px;right:10px;background:transparent;border:none;color:var(--text3);font-size:14px;cursor:pointer;padding:3px;opacity:.45;transition:opacity .15s,color .15s;line-height:1;}
.btn-trash-card:hover{opacity:1;color:#e05555;}
.kpi-card{background:var(--kpi);border:1px solid var(--cardb);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow);}
.lbl{font-size:11px;color:var(--text2);margin-bottom:5px;}
.sec-title{font-size:10px;letter-spacing:2.5px;color:var(--sectitle);margin-bottom:14px;font-weight:600;}
.muted{color:var(--muted);}
.tag{background:var(--tag);border:1px solid var(--tagb);color:var(--tagc);border-radius:20px;padding:4px 12px;font-size:11px;cursor:pointer;transition:all .15s;}
.tag:hover{border-color:var(--accent);color:var(--accent);}.tag.on{background:var(--tagon);color:var(--tagonc);border-color:var(--tagonb);}
.ftag{background:var(--ftag);border:1px solid var(--ftagb);color:var(--ftagc);border-radius:20px;padding:3px 10px;font-size:11px;cursor:pointer;transition:all .15s;}
.ftag:hover{border-color:var(--accent);color:var(--accent);}.ftag.on{background:var(--ftagon);color:var(--ftagonc);border-color:var(--ftagonb);}
.badge{font-size:10px;padding:2px 8px;border-radius:10px;}
.b-alto{background:rgba(201,151,58,.15);color:#b07020;border:1px solid rgba(201,151,58,.35);}
html.dark .b-alto{color:#c9973a;}
.b-medio{background:rgba(40,140,90,.12);color:#20845a;border:1px solid rgba(40,140,90,.3);}
html.dark .b-medio{color:#6b9e6e;}
.b-bajo{background:rgba(100,110,130,.1);color:#5a6070;border:1px solid rgba(100,110,130,.25);}
html.dark .b-bajo{color:#7a8598;}
.b-disc{background:rgba(200,60,60,.1);color:#a03030;border:1px solid rgba(200,60,60,.25);}
html.dark .b-disc{color:#a05050;}
.b-client{background:rgba(40,160,80,.12);color:#1a7a40;border:1px solid rgba(40,160,80,.3);}
html.dark .b-client{color:#50b464;}
.stars{color:var(--accent);font-size:11px;}
.sbar-g{background:rgba(40,160,80,.12);color:#1a7a40;border:1px solid rgba(40,160,80,.3);}
html.dark .sbar-g{background:rgba(80,180,100,.2);color:#50b464;border-color:rgba(80,180,100,.3);}
.sbar-y{background:rgba(201,151,58,.12);color:#b07020;border:1px solid rgba(201,151,58,.3);}
html.dark .sbar-y{background:rgba(201,151,58,.2);color:#c9973a;border-color:rgba(201,151,58,.3);}
.sbar-o{background:rgba(220,120,40,.12);color:#b06020;border:1px solid rgba(220,120,40,.3);}
html.dark .sbar-o{background:rgba(224,120,48,.2);color:#e07830;border-color:rgba(224,120,48,.3);}
.sbar-r{background:rgba(220,60,60,.12);color:#a03030;border:1px solid rgba(220,60,60,.3);}
html.dark .sbar-r{background:rgba(224,85,85,.2);color:#e05555;border-color:rgba(224,85,85,.3);}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;}
.g-kpi{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;}
.header{background:var(--hbg);border-bottom:1px solid var(--hborder);padding:9px 20px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;}
.logo-c{width:30px;height:30px;border-radius:50%;background:#c9973a;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#1e2d4a;flex-shrink:0;}
.theme-toggle{width:34px;height:20px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);cursor:pointer;position:relative;transition:background .25s;flex-shrink:0;padding:0;}
.theme-toggle::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;top:2px;left:2px;transition:transform .25s;}
html.dark .theme-toggle{background:rgba(201,151,58,.3);border-color:rgba(201,151,58,.4);}
html.dark .theme-toggle::after{transform:translateX(14px);background:#c9973a;}
.modal-ov,.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;}
html.dark .modal-ov{background:rgba(0,0,0,.75);}
.modal-box{background:var(--modal);border:1px solid var(--modalb);border-radius:14px;padding:22px;max-width:440px;width:100%;box-shadow:0 8px 32px rgba(0,0,0,.18);max-height:90vh;overflow-y:auto;}
.comex-map-tip{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;}
.leaflet-container:focus,.leaflet-container *:focus{outline:none!important;}
.fbar{background:var(--fbar);border:1px solid var(--fbarb);border-radius:10px;padding:11px 14px;margin-bottom:14px;}
.frow{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:6px;}
.frow:last-child{margin-bottom:0;}
.flbl{font-size:10px;color:var(--flbl);letter-spacing:1px;margin-right:4px;flex-shrink:0;min-width:46px;}
.pipe-col{background:var(--pcol);border:1px solid var(--pcolb);border-radius:10px;padding:10px;}
.pipe-hdr{display:flex;align-items:center;gap:5px;margin-bottom:10px;padding-bottom:7px;border-bottom:1px solid var(--border);}
.pipe-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.pipe-cnt{font-size:10px;background:var(--pcnt);border-radius:10px;padding:1px 6px;color:var(--pcntc);}
.pipe-card{background:var(--pcard);border:1px solid var(--pcardb);border-radius:8px;padding:10px;margin-bottom:6px;box-shadow:var(--shadow);}
.empty{text-align:center;padding:70px 20px;color:var(--empty);}
.bar-wrap{background:var(--barwrap);border-radius:4px;height:6px;overflow:hidden;margin-top:4px;}
.bar-fill{height:100%;border-radius:4px;background:#c9973a;transition:width .4s;}
/* COMEX */
.expo-prod-row input{width:100%;}

.setup-ov{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.route-item{background:var(--ritembg);border:1px solid var(--ritemb);border-radius:9px;padding:10px;margin-bottom:8px;display:flex;gap:10px;align-items:flex-start;cursor:grab;transition:opacity .15s,border-color .15s;box-shadow:var(--shadow);}
.route-item:active{cursor:grabbing;}
.route-item.dragging{opacity:.4;border-color:var(--accent);}
.route-item.drag-over{border-color:var(--accent);border-style:dashed;}
.route-num{width:24px;height:24px;border-radius:50%;background:var(--rnbg);border:1px solid var(--rnb);color:var(--rnc);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.drag-handle{display:flex;flex-direction:column;gap:2px;padding:4px 3px;cursor:grab;flex-shrink:0;margin-top:2px;}
.drag-handle span{display:block;width:14px;height:2px;background:var(--dhandle);border-radius:1px;}
.route-dt{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;}
.route-dt input{padding:5px 8px;font-size:11px;background:var(--rdtbg);border:1px solid var(--border);border-radius:6px;color:var(--text);}
.route-dt input:focus{border-color:var(--accent);}
.dep-table{width:100%;border-collapse:collapse;font-size:12px;}
.dep-table th{text-align:left;padding:8px 10px;color:var(--depthc);font-weight:500;border-bottom:1px solid var(--depthb);font-size:11px;}
.dep-table td{padding:8px 10px;border-bottom:1px solid var(--deptdb);color:var(--text);}
.dep-table tr:hover td{background:var(--deptrhov);}
.contact-card{background:var(--card);border:1px solid var(--cardb);border-radius:10px;padding:12px 14px;box-shadow:var(--shadow);}
.contact-card:hover{border-color:var(--cardh);}
.contact-avatar{width:36px;height:36px;border-radius:50%;background:var(--avbg);border:1px solid var(--avb);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--avc);flex-shrink:0;}
.maps-preview-wrap{border-radius:10px;border:1px solid var(--mapsb);overflow:hidden;margin-top:14px;background:var(--mapsbg);}
@keyframes spin{to{transform:rotate(360deg);}}
.app-layout{display:flex;min-height:calc(100vh - 48px);}
.sidebar{width:220px;flex-shrink:0;background:var(--hbg);border-right:1px solid var(--hborder);padding:12px 0;overflow-y:auto;position:sticky;top:48px;height:calc(100vh - 48px);transition:width .2s ease,padding .2s ease;}
.sidebar.nav-collapsed{width:0;padding:0;overflow:hidden;border:none;}
.nav-expand-btn{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:50;display:none;background:var(--hbg);border:1px solid var(--hborder);border-left:none;border-radius:0 8px 8px 0;padding:8px 6px;cursor:pointer;color:rgba(255,255,255,.5);font-size:14px;transition:all .15s;}
.nav-expand-btn:hover{color:rgba(255,255,255,.9);}
.nav-expand-btn.visible{display:block;}
.sidebar-section{margin-bottom:2px;}
.sidebar-section-hdr{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;cursor:pointer;font-size:10px;letter-spacing:1.5px;font-weight:600;color:rgba(255,255,255,.4);user-select:none;}
.sidebar-section-hdr:hover{color:rgba(255,255,255,.6);}
.sidebar-nav{cursor:pointer;transition:color .15s;}
.sidebar-nav.active{color:var(--accent)!important;}
.sidebar-nav:hover{color:rgba(255,255,255,.7)!important;}
.sidebar-section-hdr .arrow{font-size:8px;transition:transform .2s;}
.sidebar-section-hdr.open .arrow{transform:rotate(90deg);}
.sidebar-items{display:none;padding-bottom:4px;}
.sidebar-items.open{display:block;}
.sidebar-item{display:flex;align-items:center;gap:8px;padding:7px 16px 7px 24px;cursor:pointer;font-size:12px;color:rgba(255,255,255,.55);transition:all .15s;border-left:2px solid transparent;}
.sidebar-item:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.05);}
.sidebar-item.active{color:var(--accent);border-left-color:var(--accent);background:rgba(201,151,58,.08);}
.sidebar-item .icon{font-size:14px;width:18px;text-align:center;flex-shrink:0;}
.sidebar-solo{display:flex;align-items:center;gap:8px;padding:7px 16px;cursor:pointer;font-size:12px;color:rgba(255,255,255,.55);transition:all .15s;border-left:2px solid transparent;}
.sidebar-solo:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.05);}
.sidebar-solo.active{color:var(--accent);border-left-color:var(--accent);background:rgba(201,151,58,.08);}
.sidebar-solo .icon{font-size:14px;width:18px;text-align:center;flex-shrink:0;}
.main-content{flex:1;padding:20px;overflow-x:hidden;min-width:0;}
/* Hamburger */
.menu-btn{display:none;flex-direction:column;justify-content:center;gap:4px;width:36px;height:36px;padding:6px;background:transparent;border:none;cursor:pointer;flex-shrink:0;border-radius:8px;}
.menu-btn span{display:block;width:18px;height:2px;background:rgba(255,255,255,.75);border-radius:1px;transition:transform .2s,opacity .2s;}
.menu-btn.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.menu-btn.open span:nth-child(2){opacity:0;}
.menu-btn.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
/* Sidebar overlay */
.sidebar-overlay{display:none;position:fixed;inset:0;top:48px;background:rgba(0,0,0,.5);z-index:99;}
.sidebar-overlay.active{display:block;}
/* Pipeline: scroll horizontal */
#pipeline-wrap{overflow-x:auto;padding-bottom:8px;margin:0 -2px;padding-left:2px;}
#pipeline-cols{display:flex!important;gap:10px;min-width:max-content;}
.pipe-col{width:220px;flex-shrink:0;}
@media(max-width:768px){
  .menu-btn{display:flex;}
  .sidebar{display:none;width:240px;}
  .sidebar.open{display:block;position:fixed;z-index:100;top:48px;left:0;height:calc(100vh - 48px);}
  .main-content{padding:10px;}
  .g2{grid-template-columns:1fr!important;}
  .g4{grid-template-columns:1fr 1fr!important;}
  .g5{grid-template-columns:1fr 1fr!important;}
  .gcards{grid-template-columns:1fr!important;}
  .modal-box{padding:16px;margin:8px;}
  .pipe-col{width:200px;}
  .fbar .frow{gap:4px;}
  .btn-subtab{padding:6px 10px;font-size:11px;}
  .sec-title{letter-spacing:1.5px;}
  .kpi-card{padding:8px 10px;}
}.spin{display:inline-block;animation:spin .8s linear infinite;}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}.fade{animation:fadeUp .2s ease;}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:var(--sctrack);}::-webkit-scrollbar-thumb{background:var(--scthumb);border-radius:2px;}
.btn-analyze{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:7px;background:transparent;color:var(--accent);border:1px solid rgba(201,151,58,.45);font-size:11px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s;white-space:nowrap;}
.btn-analyze:hover{background:rgba(201,151,58,.08);border-color:var(--accent);}
.btn-analyze:disabled{opacity:.45;cursor:wait;}
.aff-alta{background:rgba(40,160,80,.12);color:#1a7a40;border:1px solid rgba(40,160,80,.3);}
.aff-media{background:rgba(201,151,58,.12);color:#b07020;border:1px solid rgba(201,151,58,.3);}
.aff-baja{background:rgba(200,60,60,.1);color:#a03030;border:1px solid rgba(200,60,60,.25);}
html.dark .aff-alta{background:rgba(80,180,100,.2);color:#50b464;border-color:rgba(80,180,100,.3);}
html.dark .aff-media{background:rgba(201,151,58,.2);color:#c9973a;border-color:rgba(201,151,58,.3);}
html.dark .aff-baja{background:rgba(220,80,80,.2);color:#e05555;border-color:rgba(220,80,80,.3);}
.an-panel{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-top:12px;}
.an-spinner{display:inline-block;animation:spin .75s linear infinite;font-size:14px;}
.an-loading{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text2);padding:4px 0;}
.an-hdr{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap;}
.an-title{font-size:10px;font-weight:600;letter-spacing:1px;color:var(--text3);text-transform:uppercase;margin-right:auto;}
.an-photos{font-size:10px;color:var(--text3);background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:1px 7px;}
.an-reason{font-size:12px;color:var(--text);margin-bottom:10px;line-height:1.55;}
.an-sec{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);margin-bottom:5px;margin-top:10px;}
.an-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:2px;}
.an-tag{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:2px 9px;font-size:11px;color:var(--text);}
.an-tag-comp{background:rgba(200,60,60,.08);border-color:rgba(200,60,60,.25);color:#a03030;}
html.dark .an-tag-comp{background:rgba(220,80,80,.15);border-color:rgba(220,80,80,.3);color:#e05555;}
.an-rec{border-left:3px solid #2a8a50;background:rgba(40,160,80,.06);border-radius:0 7px 7px 0;padding:8px 12px;font-size:12px;color:var(--text);line-height:1.55;margin-top:6px;}
html.dark .an-rec{background:rgba(80,180,100,.08);}
.an-pitch{font-size:11px;color:var(--text3);font-style:italic;margin-top:6px;line-height:1.5;}
.an-error{color:#e05555;font-size:12px;padding:4px 0;}
.an-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);font-size:10px;color:var(--text3);}
.comp-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;margin-bottom:7px;}
.comp-row-name{flex:1;font-size:13px;font-weight:500;}
.comp-row-cat{font-size:10px;color:var(--text3);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1px 8px;}
/* ── Agenda calendar ── */
.ag-grid{display:grid;grid-template-columns:46px repeat(7,1fr);border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--card);}
.ag-corner{background:var(--bg3);border-right:1px solid var(--border);border-bottom:1px solid var(--border);}
.ag-day-hdr{padding:8px 4px 6px;text-align:center;background:var(--bg3);border-right:1px solid var(--border);border-bottom:1px solid var(--border2);cursor:pointer;transition:background .15s;}
.ag-day-hdr:hover{background:var(--cardh);}
.ag-today-hdr{background:rgba(201,151,58,.09);}
.ag-time-slot{height:60px;padding:3px 6px 0;font-size:10px;color:var(--text3);text-align:right;background:var(--bg3);border-right:1px solid var(--border);border-bottom:1px solid var(--border);}
.ag-cell{height:60px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;cursor:pointer;transition:background .1s;}
.ag-cell:hover{background:rgba(201,151,58,.04);}
.ag-event{position:absolute;left:2px;right:2px;border-radius:0 4px 4px 0;padding:2px 4px;overflow:hidden;cursor:pointer;z-index:2;min-height:16px;}
.ag-event:hover{filter:brightness(1.1);}
.ag-ev-title{font-size:10px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;}
.ag-ev-time{font-size:9px;color:var(--text3);line-height:1.2;}
@keyframes agToastIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}

/* ── TAREAS ─────────────────────────────────────────────────────────── */
.task-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--card);border:1px solid var(--cardb);border-radius:10px;margin-bottom:6px;transition:opacity .2s;}
.task-row.task-done{opacity:.5;}
.task-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border2);background:transparent;cursor:pointer;flex-shrink:0;position:relative;transition:border-color .15s,background .15s;}
.task-check:hover{border-color:var(--accent);}
.task-check.checked{background:var(--accent);border-color:var(--accent);}
.task-check.checked::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#1e2d4a;font-weight:700;}
.tar-dd-item{padding:9px 12px;font-size:12px;cursor:pointer;border-bottom:1px solid var(--border);}
.tar-dd-item:hover{background:var(--bg3);}
.tar-dd-item:last-child{border-bottom:none;}

/* ── Feature toggles ─────────────────────── */
.feature-toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;cursor:pointer;background:var(--border2);transition:background .2s;flex-shrink:0;padding:0;}
.feature-toggle.on{background:var(--accent);}
.feature-toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s;display:block;}
.feature-toggle.on .feature-toggle-knob{transform:translateX(20px);}

/* ── P&L Simulador print ─────────────── */
@media print {
  /* Hide everything except the simulador content */
  body > *:not(#app),
  .sidebar, .topbar, header, nav,
  .btn-tab, .smk-tabs, #smk-nav,
  [id^="smk-view-"]:not(#smk-view-simulador),
  #pl-save-form, #pl-btn-del,
  .btn-outline, .btn-primary { display:none!important; }

  #smk-view-simulador { display:block!important; }
  #pl-print-hdr { display:block!important; }

  /* Hide interactive controls, show their values as static text */
  [id^="pl-cond-sel"], [id^="pl-btn-"],
  [id^="pl-save-"], [id^="pl-chk-dist"],
  [id^="pl-dist-extra"] input[type=checkbox],
  .btn-outline { display:none!important; }

  body { background:#fff!important; color:#111!important; font-size:11px; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }

  /* KPI cards */
  #pl-kpis { grid-template-columns:repeat(4,1fr)!important; }
  .kpi-card { background:#f9f9f9!important; border:1px solid #ccc!important; border-radius:4px!important; }

  /* Table */
  #pl-tbl { min-width:0!important; }
  tbody tr[style*="opacity:.28"] { display:none!important; }

  /* Verdict */
  #pl-verdict { border:1px solid #ccc!important; background:#f9f9f9!important; }
}
