:root{
  --cp:#2e7d32;--cpl:#4caf50;--cpp:#e8f5e9;--cpm:#c8e6c9;
  --cd:#202124;--cg:#5f6368;--cl:#e0e0e0;--cbg:#f8f9fa;
  --cw:#ffffff;--ca:#f57f17;--cr:#c62828;--cb:#1565c0;
  --cpurple:#6a1b9a;--cteal:#00695c;
  --r:8px;--sh:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.05);
  --fn:'Inter','Barlow',sans-serif;--fc:'Inter','Barlow Condensed',sans-serif;
  --s-prog:#f9a825;--s-proc:#7b1fa2;--s-comp:#1565c0;
  --s-fact:#2e7d32;--s-susp:#e65100;--s-repr:#00695c;--s-canc:#c62828;
}
/* ── TEMAS ─────────────────────────────────────── */
/* 1. Verde Campo (default = :root) */
/* 2. Azul Océano */
body[data-theme="azul"]{
  --cp:#1565c0;--cpl:#42a5f5;--cpp:#e3f2fd;--cpm:#bbdefb;--ca:#ff6d00;
  --s-comp:#1565c0;
}
/* 3. Tierra Cálida */
body[data-theme="tierra"]{
  --cp:#4e342e;--cpl:#a1887f;--cpp:#efebe9;--cpm:#d7ccc8;--ca:#ff8f00;
  --s-comp:#4e342e;
}
/* 4. Zafiro Caribe */
body[data-theme="zafiro"]{
  --cp:#00695c;--cpl:#26a69a;--cpp:#e0f2f1;--cpm:#b2dfdb;--ca:#ffd600;
  --s-comp:#00695c;
}
/* 5. Élite Oscuro (fuerza dark mode) */
body[data-theme="oscuro"]{
  --cp:#bb86fc;--cpl:#bb86fc;--cpp:#2a2040;--cpm:#3a2d60;--ca:#03dac6;
  --cbg:#121212;--cw:#1e1e1e;--cd:#e1e1e1;--cl:#2d2d2d;--cg:#9e9e9e;
  --s-comp:#bb86fc;
}
/* ── MODO OSCURO MANUAL ── */
body.dark{
  --cbg:#111213;--cw:#1e1e1e;--cd:#eceff1;--cl:#2d2d2d;
  --cpp:#1a2e1a;--cpm:#2a3e2a;--cg:#90a4ae;
}
/* Topbar y doc-header en dark mode */
body.dark .topbar,
body.dark .doc-header{background:#1a1f2e;box-shadow:0 1px 0 #2d3748}
body.dark .tab-btn{color:#90a4ae}
body.dark .tab-btn:hover{color:#eceff1;background:rgba(255,255,255,.06)}
body.dark .tab-btn.active{color:var(--cpl);background:rgba(76,175,80,.12)}
body.dark .tb-btn{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#eceff1}
body.dark .tb-btn:hover{background:rgba(255,255,255,.13)}
body.dark .tb-btn.green{background:var(--cp);border-color:var(--cp);color:#fff}
body.dark .doc-btn{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#eceff1}
body.dark .doc-btn:hover{background:rgba(255,255,255,.13)}

/* Card headers en dark mode */
body.dark .card-hdr{background:#1e2a1e;color:var(--cpl);border-bottom-color:#2a3e2a}
body.dark .card-hdr.dark-hdr,
body.dark .card-hdr.int{background:#1e1e2a;color:#90a4ae;border-bottom-color:#2a2a3a}
body.dark .card-hdr.blue-hdr{background:#0d1f3a;color:#64b5f6;border-bottom-color:#1a3050}
body.dark .card-hdr.orange-hdr{background:#2a1800;color:#ffb74d;border-bottom-color:#3a2500}

/* Modal headers en dark mode */
body.dark .modal-hdr{background:#1a1f2e;color:#eceff1;border-bottom-color:#2d3748}

/* Toast: mismo problema que modal-hdr */
body.dark .toast{background:#263238;color:#eceff1}

/* Calendario: encabezados de días y días de otro mes */
body.dark .cal-dow{background:#1e2a1e;color:#78909c}
body.dark .cal-day.other-month{background:#181818;opacity:.5}

/* Badges con fondo claro hardcodeado */
body.dark .int-badge{background:rgba(245,127,23,.15);border-color:rgba(245,127,23,.3)}
body.dark .cli-badge{background:rgba(46,125,50,.15);border-color:rgba(46,125,50,.3)}

/* Botón minus con fondo rojo claro */
body.dark .cbtn.minus{background:rgba(211,47,47,.15);color:#ef9a9a}

/* Alerta de declaración */
body.dark #decl-alert{background:rgba(245,127,23,.12);border-color:rgba(245,127,23,.4);color:#ffb74d}

/* Action bar: fondo oscuro para que los botones ghost blancos sean visibles */

body.dark input,body.dark select,body.dark textarea{
  background:var(--cw);color:var(--cd);border-color:var(--cl)
}
body.dark label{color:var(--cd)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body{font-family:var(--fn);background:var(--cbg);color:var(--cd);min-height:100vh;
  padding-bottom:env(safe-area-inset-bottom,0px)}

/* ── LOADING ── */
#app-loading{
  position:fixed;inset:0;background:linear-gradient(135deg,#1a2a3a,#2e4a2e);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  z-index:9999;gap:16px;
}
#app-loading .ld-icon{width:52px;height:52px;animation:spin 1.5s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}
#app-loading .ld-brand{font-family:var(--fc);font-size:1.6rem;font-weight:800;color:#fff;letter-spacing:1px}
#app-loading .ld-brand span{color:#4caf50}
#app-loading .ld-msg{font-size:.8rem;color:#90a4ae}

/* ── SUBSCRIPTION BANNER ── */
#sub-banner{
  background:#e65100;color:#fff;text-align:center;padding:6px 16px;
  font-size:.78rem;font-weight:600;display:none;
}

/* ── TOPBAR ── */
.topbar{
  background:#fff;display:flex;align-items:center;
  justify-content:space-between;padding:0 12px;height:50px;
  position:sticky;top:0;z-index:300;
  box-shadow:0 1px 0 var(--cl);gap:6px;
}
.tb-logo{display:flex;align-items:center;gap:7px;flex-shrink:0}
.tb-logo svg{width:22px;height:22px;flex-shrink:0}
.co-name{font-family:var(--fc);font-size:.92rem;font-weight:700;color:var(--cp);white-space:nowrap}
.tb-tabs{display:flex;gap:1px;flex:1;justify-content:center;overflow-x:auto;scrollbar-width:none}
.tb-tabs::-webkit-scrollbar{display:none}
.tab-btn{
  background:transparent;border:none;color:#2e7d32;
  font-family:var(--fn);font-size:.7rem;font-weight:500;
  padding:6px 8px;border-radius:4px;cursor:pointer;
  transition:all .2s;white-space:nowrap;
  display:inline-flex;align-items:center;gap:4px;
}
.tab-btn:hover{color:var(--cd);background:var(--cbg)}
.tab-btn.active{color:#fff;background:#2e7d32;font-weight:600}
.tab-icon{display:inline-flex;align-items:center;vertical-align:middle}
.tb-right{display:flex;align-items:center;gap:5px;flex-shrink:0}
.tb-btn{
  background:var(--cw);border:1px solid #b0b0b0;
  color:var(--cd);font-family:var(--fn);font-size:.68rem;font-weight:600;
  padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;
  display:inline-flex;align-items:center;gap:3px;
}
.tb-btn:hover{background:var(--cbg);border-color:var(--cg)}
.tb-btn.green{background:var(--cp);border-color:var(--cp);color:#fff}
.tb-btn.green:hover{background:#1b5e20;border-color:#1b5e20}
.role-badge{
  font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  padding:2px 6px;border-radius:8px;color:#fff;white-space:nowrap;
}
.role-badge.dueno,.role-badge.owner{background:#6a1b9a}
.role-badge.super_admin{background:#4a148c}
.role-badge.supervisor{background:#1565c0}
.role-badge.planificacion,.role-badge.planner{background:#00695c}
.role-badge.piloto,.role-badge.pilot{background:#2e7d32}
.tb-user{font-size:.68rem;color:var(--cg);white-space:nowrap;max-width:90px;overflow:hidden;text-overflow:ellipsis}
.tb-avatar{
  width:30px;height:30px;border-radius:50%;background:var(--cp);color:#fff;
  font-size:.72rem;font-weight:700;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:opacity .2s;
  flex-shrink:0;
}
.tb-avatar:hover{opacity:.82}
.tb-notif{
  position:relative;background:none;border:none;cursor:pointer;
  font-size:1.1rem;padding:4px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;color:var(--cd);
}
.tb-notif:hover{background:var(--cbg)}
.notif-badge{
  position:absolute;top:-2px;right:-2px;
  min-width:16px;height:16px;background:var(--cr);color:#fff;
  font-size:.55rem;font-weight:700;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  padding:0 3px;line-height:1;border:1px solid var(--cw);
}
.notif-item{
  display:flex;align-items:flex-start;gap:8px;
  padding:10px 14px;border-bottom:1px solid var(--cl);
  font-size:.78rem;
}
.notif-item:last-child{border-bottom:none}
.notif-item .ni-icon{font-size:1rem;flex-shrink:0;margin-top:1px}
.notif-item .ni-body{flex:1}
.notif-item .ni-title{font-weight:600;color:var(--cd);margin-bottom:2px}
.notif-item .ni-sub{color:var(--cg);font-size:.72rem}
.notif-empty{padding:20px 14px;text-align:center;color:var(--cg);font-size:.82rem}
.ms-row{display:flex;align-items:center;gap:6px}
.ms-row input{flex:1;min-width:0}
.ms-row .ms-num{width:70px;flex-shrink:0}
.ms-row select{width:70px;flex-shrink:0}
.tpl-row{display:flex;align-items:center;gap:6px}
.tpl-row input{flex:1;min-width:0}
.tpl-row .tpl-num{width:70px;flex-shrink:0}
.tpl-row select{width:72px;flex-shrink:0}


/* ── PAGES ── */
.page{display:none}
.page.active{display:block}
.page-wrap{max-width:1100px;margin:16px auto;padding:0 12px 24px}
.mob-page-title{display:none;flex:1;text-align:center;font-family:var(--fc);font-size:.95rem;font-weight:700;color:var(--cd);letter-spacing:.3px}

/* ── CARDS ── */
.card{background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);margin-bottom:12px;overflow:hidden}
.card-hdr{
  background:var(--cpp);color:var(--cp);font-family:var(--fc);
  font-size:.75rem;font-weight:700;letter-spacing:.8px;
  text-transform:uppercase;padding:7px 14px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  border-bottom:1px solid var(--cpm);
}
.card-hdr.dark-hdr{background:var(--cbg);color:var(--cd);border-bottom-color:var(--cl)}
.card-hdr.blue-hdr{background:#e3f2fd;color:var(--cb);border-bottom-color:#bbdefb}
.card-hdr.orange-hdr{background:#fff3e0;color:var(--ca);border-bottom-color:#ffe0b2}
.card-hdr.int{background:var(--cbg);color:var(--cd);border-bottom-color:var(--cl)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.cl-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.cl-item{display:flex;align-items:center;gap:6px;font-size:.8rem;padding:4px 0}
.cl-item input{width:15px;height:15px;accent-color:var(--cp);flex-shrink:0}
.mez-list{display:grid;grid-template-columns:1fr 1fr;gap:3px 16px}
.mez-item{font-size:.75rem;padding:2px 0;color:var(--cg);display:flex;align-items:flex-start;gap:4px}
.mez-num{font-weight:700;color:var(--cp);min-width:13px}
.tog{position:relative;display:inline-block;width:28px;height:16px;flex-shrink:0}
.tog input{opacity:0;width:0;height:0}
.tog-slider{position:absolute;cursor:pointer;inset:0;background:#ccc;border-radius:16px;transition:.2s}
.tog-slider:before{content:'';position:absolute;width:11px;height:11px;left:2px;bottom:2.5px;background:#fff;border-radius:50%;transition:.2s}
.tog input:checked+.tog-slider{background:var(--cp)}
.tog input:checked+.tog-slider:before{transform:translateX(12px)}
.adm-tab{background:none;border:1.5px solid #4a148c;color:#4a148c;border-radius:6px;padding:5px 14px;font-size:.78rem;font-weight:700;cursor:pointer;transition:.15s}
.adm-tab.active,.adm-tab:hover{background:#4a148c;color:#fff}
.adm-page{display:none}.adm-page.active{display:block}
/* Equipamiento sub-tabs */
.eq-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.eq-tab{background:none;border:1.5px solid var(--cp);color:var(--cp);border-radius:6px;padding:6px 16px;font-size:.8rem;font-weight:700;cursor:pointer;transition:.15s}
.eq-tab.active,.eq-tab:hover{background:var(--cp);color:#fff}
.eq-page{display:none}.eq-page.active{display:block}
.card-body{padding:13px}
/* ── SECTION COLLAPSE ── */

.sec-preview{padding:10px 13px;border-top:1px solid var(--cl)}
.sec-prev-chips{display:flex;flex-wrap:wrap;gap:5px;line-height:1.4}
.sec-prev-chip{background:var(--cbg);border:1px solid var(--cl);border-radius:4px;padding:2px 9px;font-size:.77rem;color:var(--cd)}
.sec-prev-chip.empty{color:var(--cg);font-style:italic}
.sec-prev-note{font-size:.75rem;color:var(--cg);margin-top:5px;line-height:1.4}

/* ── KPI ── */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.kpi-card{background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);padding:14px;text-align:center;border-bottom:3px solid var(--cp)}
.kpi-val{font-family:var(--fc);font-size:1.9rem;font-weight:800;color:var(--cp);line-height:1.1}
.kpi-lbl{font-size:.68rem;color:var(--cg);text-transform:uppercase;letter-spacing:.8px;margin-top:3px}
.kpi-card.orange{border-color:var(--ca)}.kpi-card.orange .kpi-val{color:var(--ca)}
.kpi-card.blue{border-color:var(--cb)}.kpi-card.blue .kpi-val{color:var(--cb)}
.kpi-card.red{border-color:var(--cr)}.kpi-card.red .kpi-val{color:var(--cr)}
.kpi-card.comp{border-color:var(--s-comp)}.kpi-card.comp .kpi-val{color:var(--s-comp)}
.kpi-card.fact{border-color:var(--s-fact)}.kpi-card.fact .kpi-val{color:var(--s-fact)}

/* ── CHARTS ── */
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.chart-card{background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);padding:14px}
.chart-title{font-family:var(--fc);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--cd);margin-bottom:10px}

/* ── BAR ROWS ── */
.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.bar-lbl{font-size:.8rem;min-width:110px;max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar-track{flex:1;background:var(--cl);border-radius:3px;height:7px}
.bar-fill{height:7px;border-radius:3px;background:var(--cp);transition:width .5s}
.bar-val{font-size:.75rem;color:var(--cg);min-width:28px;text-align:right}

/* ── BADGES ── */
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#fff}
.badge.prog{background:var(--s-prog)}.badge.proc{background:var(--s-proc)}
.badge.comp{background:var(--s-comp)}.badge.fact{background:var(--s-fact)}
.badge.susp{background:var(--s-susp)}.badge.repr{background:var(--s-repr)}.badge.canc{background:var(--s-canc)}
.badge.pend{background:#795548}.badge.auth-ok{background:var(--cp)}.badge.auth-no{background:var(--cr)}

/* ── SEARCH BAR ── */
.search-bar{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.search-bar input,.search-bar select{
  border:1.5px solid #b0b0b0;border-radius:5px;padding:6px 10px;
  font-family:var(--fn);font-size:.83rem;color:var(--cd);background:var(--cw);transition:border-color .2s;
}
.search-bar input[type=search]{flex:1;min-width:180px}
.search-bar input:focus,.search-bar select:focus{outline:none;border-color:var(--cp)}
/* Botones a la altura del buscador: área de toque mayor, menos toques errados */
.search-bar .btn,.hist-toolbar-r1 .btn,.hist-toolbar-r2 .btn{padding-top:8px;padding-bottom:8px}

/* ── HIST TOOLBAR (Orders tab) ── */
.hist-toolbar{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.hist-toolbar-r1,.hist-toolbar-r2{display:flex;gap:6px;align-items:center}
.hist-toolbar-r1 input[type=search]{flex:1;min-width:0;border:1.5px solid #b0b0b0;border-radius:5px;padding:6px 10px;font-family:var(--fn);font-size:.83rem;color:var(--cd);background:var(--cw);transition:border-color .2s}
.hist-toolbar-r1 input[type=search]:focus{outline:none;border-color:var(--cp)}
.hist-toolbar-r2 select{flex:1;min-width:0;border:1.5px solid #b0b0b0;border-radius:5px;padding:6px 10px;font-family:var(--fn);font-size:.83rem;color:var(--cd);background:var(--cw)}
@media(min-width:769px){
  .hist-toolbar{flex-direction:row;align-items:center}
  .hist-toolbar-r1{flex:1}
}

/* ── BUTTONS ── */
.btn{border:none;border-radius:5px;padding:6px 12px;cursor:pointer;font-family:var(--fn);font-size:.77rem;font-weight:600;transition:all .2s;display:inline-flex;align-items:center;gap:4px;text-decoration:none}
.btn-primary{background:var(--cp);color:#fff}.btn-primary:hover{background:#1b5e20}
.btn-accent{background:var(--ca);color:#fff}.btn-accent:hover{background:#e65100}
.btn-blue{background:var(--cb);color:#fff}.btn-blue:hover{background:#0d47a1}
.btn-ghost{background:var(--cw);border:1.5px solid #b0b0b0;color:var(--cd)}
.btn-ghost:hover{border-color:var(--cp);color:var(--cp)}
.btn-danger{background:var(--cr);color:#fff}.btn-danger:hover{background:#b71c1c}
.btn-purple{background:var(--cpurple);color:#fff}
.btn-sm{padding:3px 8px;font-size:.71rem}
.btn-o{background:var(--ca);color:#fff}
.btn-d{background:var(--cr);color:#fff}
.btn-p{background:var(--cp);color:#fff}

/* ── ORDER ROWS ── */
.order-row{border:1.5px solid var(--cl);border-radius:var(--r);margin-bottom:7px;background:var(--cw);overflow:hidden}
.order-row-hdr{display:flex;align-items:center;gap:7px;padding:9px 12px;cursor:pointer;transition:background .15s;flex-wrap:wrap}
.order-row-hdr:hover{background:var(--cpp)}
.ord-id{font-family:var(--fc);font-size:.88rem;font-weight:700;color:var(--cp);background:var(--cpp);padding:1px 8px;border-radius:8px;flex-shrink:0}
.ord-client{font-weight:600;flex:1;min-width:100px;font-size:.88rem}
.ord-date{font-size:.75rem;color:var(--cg);flex-shrink:0}
.ord-crop{font-size:.75rem;color:var(--cg);flex-shrink:0}
.ord-total{font-family:var(--fc);font-size:.88rem;font-weight:700;flex-shrink:0}
.order-row-body{display:none;border-top:1px solid var(--cl);padding:12px}
.order-row-body.open{display:block}
.order-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px;padding-top:8px;border-top:1px solid var(--cl)}
#ctx-menu{position:fixed;background:var(--cw);border:1px solid var(--cl);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:9999;min-width:175px;overflow:hidden;padding:4px 0}
.ctx-item{padding:10px 16px;cursor:pointer;font-size:.85rem;color:var(--ct);display:flex;align-items:center;gap:8px}
.ctx-item:hover{background:var(--cl)}
.ctx-danger{color:#c62828}
.ctx-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--cg);padding:2px 6px;border-radius:5px;line-height:1;flex-shrink:0}
.ctx-btn:hover{background:var(--cl)}
.order-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:5px 12px;margin-bottom:10px}
.detail-item{font-size:.82rem}
.detail-item label{font-size:.63rem;text-transform:uppercase;letter-spacing:.5px;color:var(--cg);display:block;margin-bottom:1px}
.audit-log{font-size:.74rem;color:var(--cg);border-top:1px solid var(--cl);padding-top:7px;margin-top:7px}
.audit-entry{padding:2px 0;display:flex;gap:8px;flex-wrap:wrap}
.audit-entry time{color:var(--cg);white-space:nowrap;flex-shrink:0}
.audit-entry span{color:var(--cd)}

/* ── PERIOD TABS ── */
.period-tabs{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap}
.period-btn{background:var(--cw);border:1.5px solid #b0b0b0;color:var(--cd);border-radius:5px;padding:5px 12px;cursor:pointer;font-family:var(--fn);font-size:.75rem;font-weight:600;transition:all .2s}
.period-btn.active{background:var(--cp);border-color:var(--cp);color:#fff}

/* ── CALENDAR ── */
.cal-controls{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.cal-nav-row{display:flex;align-items:center;gap:8px}
.cal-nav-row .cal-title{flex:1}
.cal-view-row{display:flex;align-items:center;gap:6px}
.cal-title{font-family:var(--fc);font-size:1.05rem;font-weight:700}
.cal-view-btn{background:var(--cw);border:1.5px solid #b0b0b0;color:var(--cd);border-radius:4px;padding:4px 10px;cursor:pointer;font-size:.73rem;font-weight:600;transition:all .2s}
.cal-view-btn.active{background:var(--cp);border-color:var(--cp);color:#fff}
#cal-container{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cal-month{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:1px;background:var(--cl);border:1px solid var(--cl);border-radius:var(--r);overflow:hidden;min-width:308px}
.cal-dow{background:var(--cd);color:#90a4ae;text-align:center;padding:7px 2px;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.cal-day{background:var(--cw);min-height:88px;padding:4px;font-size:.75rem;cursor:pointer;transition:background .15s}
.cal-day:hover{background:var(--cpp)}
.cal-day.other-month{background:#f8f9f8;opacity:.6}
.cal-day.today .cal-dn{background:var(--cp);color:#fff;border-radius:50%}
.cal-day.selected-day{background:var(--cpp);outline:2px solid var(--cp);outline-offset:-2px}
.cal-dn{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;margin-bottom:2px}
.cal-evt{font-size:.61rem;padding:1px 5px;border-radius:3px;margin-top:2px;color:#fff;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s}
.cal-evt:hover{opacity:.85}
.cal-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:.7rem}
.cal-legend span{display:flex;align-items:center;gap:3px}
.cal-legend i{width:10px;height:10px;border-radius:2px;display:inline-block;flex-shrink:0}

/* ── CLIENTS ── */
.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;margin-bottom:16px}
.client-card{background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);padding:14px;border-left:4px solid var(--cp);cursor:pointer;transition:box-shadow .2s}
.client-card:hover{box-shadow:0 4px 18px rgba(0,0,0,.12)}
.client-name{font-family:var(--fc);font-size:1rem;font-weight:700;margin-bottom:3px}
.client-meta{font-size:.74rem;color:var(--cg);margin-bottom:6px}
.client-stats{display:flex;gap:10px;flex-wrap:wrap}
.client-stat{font-size:.77rem;color:var(--cg)}
.client-stat strong{color:var(--cd);font-weight:700}
#map-clients{height:340px;border-radius:var(--r);overflow:hidden}

/* ── DRONES ── */
.drone-card{background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);padding:14px;border-left:4px solid var(--cd);margin-bottom:10px}
.drone-id{font-family:var(--fc);font-size:1.1rem;font-weight:800;color:var(--cd)}
.drone-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:10px 0}
.drone-stat{background:var(--cbg);border-radius:5px;padding:8px;text-align:center}
.drone-stat-val{font-family:var(--fc);font-size:1.15rem;font-weight:700;color:var(--cp)}
.drone-stat-lbl{font-size:.64rem;color:var(--cg);text-transform:uppercase;letter-spacing:.4px}
.bat-chip{font-size:.73rem;background:var(--cpp);border-radius:4px;padding:2px 7px;display:inline-block;margin:2px}

/* ── USUARIOS ── */
.user-card{background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);padding:14px;display:flex;align-items:center;gap:12px;margin-bottom:8px}
.user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fc);font-size:1.1rem;font-weight:800;color:#fff;flex-shrink:0}
.user-info{flex:1;min-width:0}
.user-name{font-weight:600;font-size:.9rem}
.user-email{font-size:.74rem;color:var(--cg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-actions{display:flex;gap:5px;flex-shrink:0;flex-wrap:wrap}

/* ── CONFIG Gmail-style ── */
.cfg-layout{display:flex;background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);min-height:calc(100vh - 110px);overflow:hidden}
.cfg-sidebar{width:200px;flex-shrink:0;border-right:1px solid var(--cl);padding:10px 0;background:var(--cbg)}
.cfg-nav-btn{display:flex;align-items:center;gap:10px;padding:11px 16px 11px 18px;border:none;background:none;text-align:left;font-size:.87rem;color:var(--cd);cursor:pointer;border-radius:0 24px 24px 0;margin:1px 8px 1px 0;transition:background .15s;font-family:var(--fn);width:calc(100% - 8px)}
.cfg-nav-btn:hover{background:var(--cl)}
.cfg-nav-btn.active{background:var(--cpp);color:var(--cp);font-weight:600}
body.dark .cfg-nav-btn.active{color:#fff}
.cfg-nav-icon{font-size:1rem;flex-shrink:0}
.cfg-panels{flex:1;padding:24px 28px;overflow-y:auto}
.cfg-panel{display:none}
.cfg-panel.active{display:block}
.cfg-save-wrap{position:sticky;bottom:0;padding:18px 0 2px;margin-top:16px;background:linear-gradient(to bottom,transparent,var(--cw) 32%);z-index:2}
.cfg-section-hdr{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--cg);padding-bottom:8px;border-bottom:1px solid var(--cl);margin-bottom:12px}
.field{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.field-lbl{font-size:.8rem;font-weight:600;color:var(--cg)}
.field-hint{font-size:.72rem;color:var(--cg)}
.field input,.field select{border:1.5px solid #b0b0b0;border-radius:5px;padding:6px 10px;font-family:var(--fn);font-size:.84rem;color:var(--cd);background:var(--cw)}
.field input:focus,.field select:focus{outline:none;border-color:var(--cp)}
.cfg-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--cbg);border-radius:8px;font-size:.82rem;color:var(--cd);gap:8px}
.cfg-sub-hdr{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--cp);margin:14px 0 6px;grid-column:1/-1;display:flex;align-items:center;gap:5px}
.cfg-sub-hdr::after{content:'';flex:1;height:1px;background:var(--cl)}
.cfg-panel-title{font-family:var(--fc);font-size:1rem;font-weight:700;color:var(--cd);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--cl)}
@media(max-width:768px){
  .cfg-layout{flex-direction:column;min-height:auto;border-radius:0;box-shadow:none}
  .cfg-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--cl);display:flex;padding:6px 8px;overflow-x:auto;gap:4px;background:var(--cw)}
  .cfg-nav-btn{white-space:nowrap;border-radius:20px;padding:7px 14px;font-size:.8rem;margin:0;width:auto;flex-shrink:0}
  .cfg-panels{padding:16px 12px}
}
.cfg-section{background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);padding:16px;margin-bottom:12px}
.cfg-title,.cfg-panel-title{font-family:var(--fc);font-size:.88rem;font-weight:700;color:var(--cd);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--cl)}
.cfg-row{display:flex;align-items:center;gap:10px;margin-bottom:11px;flex-wrap:wrap}
.cfg-row label:not(.toggle):not(.tog){font-size:.8rem;font-weight:600;color:var(--cg);min-width:160px}
.toggle{flex-shrink:0}
.cfg-row input[type=text],.cfg-row input[type=number],.cfg-row select,.cfg-row textarea{border:1.5px solid #b0b0b0;border-radius:5px;padding:6px 10px;font-family:var(--fn);font-size:.84rem;color:var(--cd);background:var(--cw);flex:1;min-width:180px}
.cfg-row input[type=color]{width:40px;height:32px;border:1.5px solid #b0b0b0;border-radius:5px;cursor:pointer;padding:2px}
.cfg-row textarea{min-height:75px;resize:vertical;width:100%}
.cfg-row input:focus,.cfg-row select:focus,.cfg-row textarea:focus{outline:none;border-color:var(--cp)}
.cfg-row.col{flex-direction:column;align-items:flex-start}
.cfg-row.col label{min-width:0}
/* product photo thumb in table */
.prod-thumb-img{width:36px;height:36px;object-fit:cover;border-radius:4px;
  border:1px solid var(--cl);cursor:pointer;display:block;margin:0 auto}
/* theme swatches */
.theme-grid{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.theme-swatch{width:52px;height:52px;border-radius:10px;cursor:pointer;border:3px solid transparent;
  transition:all .2s;display:flex;align-items:center;justify-content:center;position:relative}
.theme-swatch.active,.theme-swatch:hover{border-color:var(--cd);transform:scale(1.08)}
.theme-swatch .sw-check{display:none;font-size:.9rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.theme-swatch.active .sw-check{display:block}
.theme-swatch .sw-name{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);
  font-size:.6rem;color:var(--cg);white-space:nowrap;font-weight:600}
/* lang selector */
.lang-grid{display:flex;gap:8px;flex-wrap:wrap}
.lang-btn{padding:7px 14px;border-radius:8px;border:2px solid #b0b0b0;background:var(--cw);
  cursor:pointer;font-family:var(--fn);font-size:.82rem;font-weight:600;color:var(--cd);
  transition:all .2s;display:flex;align-items:center;gap:5px}
.lang-btn.active,.lang-btn:hover{border-color:var(--cp);color:var(--cp);background:var(--cpp)}
.toggle{position:relative;display:inline-block;width:28px;height:16px}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:var(--cl);transition:.3s;border-radius:16px}
.toggle-slider:before{position:absolute;content:"";height:11px;width:11px;left:2px;bottom:2.5px;background:white;transition:.3s;border-radius:50%}
.toggle input:checked + .toggle-slider{background:var(--cp)}
.toggle input:checked + .toggle-slider:before{transform:translateX(12px)}

/* ── MODALS ── */
.modal-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;align-items:center;justify-content:center;padding:12px}
.modal-ov.open{display:flex}
.modal-box{background:var(--cw);border-radius:var(--r);box-shadow:0 4px 24px rgba(0,0,0,.2);width:100%;max-width:680px;max-height:92vh;overflow-y:auto;display:flex;flex-direction:column}
.modal-box.sm{max-width:420px}
.modal-box.md{max-width:540px}
.modal-hdr{background:var(--cpp);color:var(--cp);padding:11px 16px;display:flex;align-items:center;justify-content:space-between;font-family:var(--fc);font-size:.85rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;position:sticky;top:0;z-index:1;flex-shrink:0;border-bottom:1px solid var(--cpm)}
.modal-close{background:transparent;border:none;color:var(--cg);font-size:1.2rem;cursor:pointer;padding:0;line-height:1}
.modal-close:hover{color:var(--cd)}
.modal-body{padding:16px;flex:1}
/* ── PAYWALL OVERLAY ── */
#paywall-overlay{position:fixed;inset:0;background:rgba(10,20,10,.92);z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px)}
.pw-card{background:var(--cw);border-radius:16px;box-shadow:0 8px 48px rgba(0,0,0,.5);max-width:560px;width:100%;padding:32px 28px;text-align:center;max-height:96vh;overflow-y:auto}
.pw-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:18px}
.pw-logo svg{width:32px;height:32px}
.pw-logo span{font-family:var(--fc);font-size:1.3rem;font-weight:700;color:var(--cd)}
.pw-icon{font-size:2.8rem;margin-bottom:8px}
.pw-title{font-family:var(--fc);font-size:1.35rem;font-weight:800;color:var(--cd);margin:0 0 8px}
.pw-sub{font-size:.87rem;color:var(--cg);margin:0 0 24px;line-height:1.5}
.pw-plans{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.pw-plan{border:2px solid var(--cl);border-radius:12px;padding:18px 14px;position:relative}
.pw-plan-best{border-color:var(--cp);background:var(--cpp)}
.pw-best-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--cp);color:#fff;font-size:.65rem;font-weight:800;padding:3px 10px;border-radius:20px;letter-spacing:1px;white-space:nowrap}
.pw-plan-name{font-family:var(--fc);font-size:1rem;font-weight:700;color:var(--cd);margin-bottom:4px}
.pw-plan-price{font-family:var(--fc);font-size:2rem;font-weight:900;color:var(--cp);line-height:1}
.pw-plan-price span{font-size:.85rem;color:var(--cg);font-weight:500}
.pw-plan-feat{list-style:none;padding:10px 0 0;margin:0;text-align:left;font-size:.78rem;color:var(--cg);display:flex;flex-direction:column;gap:4px}
.pw-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.pw-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:10px;font-size:.9rem;font-weight:700;text-decoration:none;border:none;cursor:pointer;font-family:var(--fn);transition:opacity .2s}
.pw-btn-wa{background:#25d366;color:#fff}
.pw-btn-email{background:var(--cp);color:#fff}
.pw-btn:hover{opacity:.88}
.pw-logout{background:transparent;border:none;color:var(--cg);font-size:.8rem;cursor:pointer;text-decoration:underline;padding:4px 8px;font-family:var(--fn)}
@media(max-width:480px){.pw-plans{grid-template-columns:1fr}}

/* legacy compat */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:500;align-items:center;justify-content:center;padding:16px}
.modal-overlay.open{display:flex}

/* ── TOAST ── */
.toast{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);background:var(--cd);color:#fff;padding:8px 18px;border-radius:20px;font-size:.8rem;font-weight:600;z-index:9000;opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap}
.toast.show{opacity:1}
.toast.err{background:var(--cr)}
.toast.warn{background:#e65100}

/* ── TABLES ── */
table{width:100%;border-collapse:collapse}
th{background:var(--cpp);padding:8px 10px;text-align:left;font-size:.69rem;text-transform:uppercase;letter-spacing:.6px;color:var(--cg);font-weight:700}
td{padding:9px 10px;border-top:1px solid var(--cl);font-size:.85rem}
tr:hover td{background:rgba(46,125,50,.03)}

/* ── DOC HEADER (orden) ── */
.doc-header{
  background:#fff;padding:10px 14px;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  position:sticky;top:50px;z-index:200;
  box-shadow:0 1px 0 var(--cl);
}
.draft-dot{width:8px;height:8px;border-radius:50%;background:var(--ca);display:none;flex-shrink:0}
.draft-dot.show{display:block}
.badge-id{
  font-family:var(--fc);font-size:1rem;font-weight:800;
  background:var(--cpp);color:var(--cp);padding:2px 10px;border-radius:6px;cursor:pointer;
}
#id-input{
  font-family:var(--fc);font-size:1rem;font-weight:800;
  background:var(--cpm);color:var(--cp);border:2px solid var(--cpl);
  border-radius:6px;padding:2px 8px;display:none;width:130px;
}
.status-pills{display:flex;gap:4px;flex-wrap:wrap}
.status-wrap{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}
.s-btn{padding:4px 10px;border-radius:12px;border:2px solid;font-family:var(--fn);font-size:.73rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;background:var(--cw)}
.s-btn.scheduled{color:var(--s-prog);border-color:var(--s-prog)}.s-btn.scheduled.on,.s-btn.scheduled:hover{background:var(--s-prog);color:#fff}
.s-btn.in-progress{color:var(--s-proc);border-color:var(--s-proc)}.s-btn.in-progress.on,.s-btn.in-progress:hover{background:var(--s-proc);color:#fff}
.s-btn.completed{color:var(--s-comp);border-color:var(--s-comp)}.s-btn.completed.on,.s-btn.completed:hover{background:var(--s-comp);color:#fff}
.s-btn.invoiced{color:var(--s-fact);border-color:var(--s-fact)}.s-btn.invoiced.on,.s-btn.invoiced:hover{background:var(--s-fact);color:#fff}
.s-btn.suspended{color:var(--s-susp);border-color:var(--s-susp)}.s-btn.suspended.on,.s-btn.suspended:hover{background:var(--s-susp);color:#fff}
.s-btn.rescheduled{color:var(--s-repr);border-color:var(--s-repr)}.s-btn.rescheduled.on,.s-btn.rescheduled:hover{background:var(--s-repr);color:#fff}
.s-btn.cancelled{color:var(--s-canc);border-color:var(--s-canc)}.s-btn.cancelled.on,.s-btn.cancelled:hover{background:var(--s-canc);color:#fff}
.radio-row{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:3px}
.radio-item{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:.83rem}
.radio-item input{width:15px;height:15px;accent-color:var(--cp)}
.auth-pills{display:flex;gap:4px}
.auth-pill{border:1.5px solid var(--cl);border-radius:10px;padding:2px 9px;font-size:.64rem;font-weight:700;cursor:pointer;transition:all .2s}
#auth-pend{border-color:#795548;color:#795548}
#auth-pend.on{background:#795548;color:#fff}
#auth-ok{border-color:var(--cp);color:var(--cp)}
#auth-ok.on{background:var(--cp);color:#fff}
#auth-no{border-color:var(--cr);color:var(--cr)}
#auth-no.on{background:var(--cr);color:#fff}
#auth-ts{font-size:.62rem;color:#90a4ae}
.followup-btn{display:none;background:var(--cp);border:none;color:#fff;font-family:var(--fn);font-size:.68rem;font-weight:600;padding:3px 9px;border-radius:4px;cursor:pointer}
.followup-btn.show{display:inline-flex}
.doc-actions{display:flex;gap:5px;margin-left:auto;flex-wrap:wrap}
.doc-btn{background:var(--cw);border:1px solid #b0b0b0;color:var(--cd);font-family:var(--fn);font-size:.68rem;font-weight:600;padding:4px 9px;border-radius:6px;cursor:pointer;transition:all .2s;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}
.doc-btn:hover{background:var(--cbg);border-color:var(--cg)}
.doc-btn.save{background:var(--cp);border-color:var(--cp);color:#fff}
.doc-btn.save:hover{background:#1b5e20;border-color:#1b5e20}
.admin-only{display:none}

/* ── CAMPO FORMS ── */
.field{display:flex;flex-wrap:wrap;align-items:center;gap:3px;min-width:0}
.field label{font-size:.63rem;text-transform:uppercase;letter-spacing:.6px;color:var(--cg);font-weight:700}
.field>input,.field>select,.field>textarea{flex:0 0 100%;width:100%;min-width:0;box-sizing:border-box}
.field input,.field select,.field textarea{
  border:1.5px solid var(--cl);border-radius:5px;padding:7px 9px;
  font-family:var(--fn);font-size:.87rem;color:var(--cd);
  background:var(--cw);transition:border-color .2s;box-sizing:border-box;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cp)}
.fg{display:grid;gap:8px}
.fg>*{min-width:0}
.fg-2{grid-template-columns:1fr 1fr}
.fg-3{grid-template-columns:1fr 1fr 1fr}
.fg-4{grid-template-columns:1fr 1fr 1fr 1fr}
.fg-5{grid-template-columns:1fr 1fr 1fr 1fr 1fr}

/* ── PARCEL ROWS ── */
.parcel-row{display:grid;grid-template-columns:24px 64px 1fr 1fr 1fr 1fr 90px;gap:5px;align-items:start;padding:8px;background:var(--cbg);border-radius:6px;margin-bottom:6px}
.p-num{font-family:var(--fc);font-size:.85rem;font-weight:700;color:var(--cg)}
.p-photos{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding-top:4px;border-top:1px dashed var(--cl);margin-top:4px}
.photo-slot{display:flex;flex-direction:column;gap:3px;align-items:center}
.photo-lbl{font-size:.62rem;color:var(--cg);text-transform:uppercase;letter-spacing:.4px}
.photo-ph{border:1.5px dashed var(--cl);border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:var(--cbg);gap:2px;font-size:.65rem;color:var(--cg)}
.photo-ph:hover{border-color:var(--cp);color:var(--cp)}
.photo-inp{display:none}
.btn-rm-ph{display:none;border:none;background:none;color:#ef9a9a;font-size:.65rem;cursor:pointer;padding:1px 4px}
.btn-rm-ph:hover{color:var(--cr)}
.btn-map-p{background:var(--cb);border:none;color:#fff;font-size:.7rem;font-weight:600;padding:4px 7px;border-radius:4px;cursor:pointer;width:100%}
.btn-del-p{background:none;border:1px solid #ef9a9a;color:#ef9a9a;font-size:.8rem;border-radius:4px;cursor:pointer;width:100%;padding:4px}

/* ── PRODUCTS TABLE ── */
.prod-table-wrap{overflow-x:auto}
#prod-table{min-width:820px;font-size:.78rem}
#prod-table th{font-size:.62rem}
.s-field{margin-bottom:3px}
.s-lbl{font-size:.58rem;color:var(--cg);text-transform:uppercase;letter-spacing:.4px;margin-bottom:1px}
.s-field input,.s-field select{width:100%;border:1px solid var(--cl);border-radius:3px;padding:3px 5px;font-family:var(--fn);font-size:.77rem;color:var(--cd);background:var(--cw)}
.cmpd-grp{display:flex;flex-direction:column;gap:2px}
.cmpd-row{display:flex;gap:6px;align-items:center;margin-bottom:4px}
.cmpd-row input{flex:1;min-height:36px;border:1px solid var(--cl);border-radius:5px;padding:6px 9px;font-family:var(--fn);font-size:.82rem;color:var(--cd);background:var(--cw)}
.cbtn{min-width:36px;min-height:36px;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.cbtn.minus{background:#ffebee;color:var(--cr)}
body.dark .cbtn.minus{background:rgba(211,47,47,.15);color:#ef9a9a}
.cbtn-add{width:100%;margin-top:2px;padding:8px 10px;background:var(--cpp);color:var(--cp);border:1px dashed var(--cp);border-radius:5px;cursor:pointer;font-size:.8rem;font-weight:600;text-align:center;letter-spacing:.1px}
.row-num-td{font-family:var(--fc);font-size:.8rem;font-weight:700;color:var(--cg);text-align:center;vertical-align:top;padding-top:9px}
.btn-del-row{background:none;border:1px solid #ef9a9a;color:#ef9a9a;border-radius:4px;cursor:pointer;padding:3px 7px;font-size:.75rem}
.int-badge{display:inline-flex;align-items:center;gap:4px;background:#fff3e0;color:var(--ca);font-size:.66rem;font-weight:700;letter-spacing:1px;padding:2px 8px;border-radius:11px;text-transform:uppercase;border:1px solid #ffe0b2;margin-bottom:8px}
.cli-badge{display:inline-flex;align-items:center;gap:4px;background:#e8f5e9;color:var(--cp);font-size:.66rem;font-weight:700;letter-spacing:1px;padding:2px 8px;border-radius:11px;text-transform:uppercase;border:1px solid #c8e6c9;margin-bottom:8px}
.auth-wrap{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0 8px}
.auth-btn{border:2px solid;border-radius:20px;padding:4px 14px;font-size:.75rem;font-weight:700;cursor:pointer;background:transparent;transition:all .2s;font-family:var(--fn)}
.auth-btn.pend{border-color:#795548;color:#795548}
.auth-btn.pend.on{background:#795548;color:#fff}
.auth-btn.ok{border-color:var(--cp);color:var(--cp)}
.auth-btn.ok.on{background:var(--cp);color:#fff}
.auth-btn.no{border-color:var(--cr);color:var(--cr)}
.auth-btn.no.on{background:var(--cr);color:#fff}
.auth-ts-lbl{font-size:.62rem;color:#90a4ae}
.followup-btn-card{background:var(--cp);border:none;color:#fff;font-family:var(--fn);font-size:.78rem;font-weight:600;padding:6px 14px;border-radius:6px;cursor:pointer;display:inline-flex!important;align-items:center;gap:5px;margin-top:8px;width:100%;justify-content:center}
.decl-checks{display:flex;flex-direction:column;gap:7px;margin:10px 0}
.decl-check{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;color:var(--cd);cursor:pointer;line-height:1.5}
.decl-check input[type=checkbox]{margin-top:3px;accent-color:var(--cp);flex-shrink:0}
.decl-inp{border:1px solid var(--cl);border-radius:4px;padding:3px 7px;font-size:.78rem;font-family:var(--fn);color:var(--cd);background:var(--cw);margin-left:6px}
.sig-wrap{border:2px dashed var(--cl);border-radius:8px;padding:8px;background:var(--cbg)}
.sig-wrap canvas{border-radius:4px;background:#fff;display:block;width:100%;touch-action:none}
.prod-card{background:var(--cbg);border-radius:6px;padding:10px;margin-bottom:8px;border:1px solid var(--cl)}
.prod-card-n{font-family:var(--fc);font-size:.82rem;font-weight:700;color:var(--cg);margin-bottom:6px}
#prod-cards-wrap{display:none}
/* Parcel + prod-card accordion headers — hidden on desktop */
.parcel-hdr{display:none}
.prod-card-hdr{display:none}
.mob-add-btn{display:flex;align-items:center;justify-content:center;width:100%;margin-top:8px;padding:8px;background:var(--cpp);color:var(--cp);border:1.5px dashed var(--cp);border-radius:6px;font-family:var(--fc);font-size:.9rem;font-weight:700;cursor:pointer;letter-spacing:.3px}

/* ── AUTOCOMPLETE ── */
.ac-wrap{position:relative}
.ac-list{position:absolute;top:100%;left:0;right:0;background:var(--cw);border:1.5px solid var(--cpl);border-radius:5px;max-height:180px;overflow-y:auto;z-index:400;display:none;box-shadow:0 4px 16px rgba(0,0,0,.12)}
.ac-list.open{display:block}
.ac-item{padding:7px 10px;cursor:pointer;font-size:.84rem}
.ac-item:hover{background:var(--cpp);color:var(--cp)}

/* ── WEATHER ── */
#weather-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:6px 0}
.w-item{display:flex;align-items:center;gap:4px;font-size:.77rem}

/* ── RESUMEN / SUMMARY ── */
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:10px}
.res-item{background:var(--cbg);border-radius:5px;padding:8px;text-align:center}
.res-val{font-family:var(--fc);font-size:1.15rem;font-weight:800;color:var(--cp)}
.res-lbl{font-size:.62rem;color:var(--cg);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}

/* ── COMPATIBILITY BAR ── */
.compat-bar-wrap{display:flex;align-items:center;gap:8px}
.compat-bar-track{flex:1;height:10px;background:var(--cl);border-radius:5px;overflow:hidden}
#compat-bar-fill{height:10px;width:100%;background:var(--cp);border-radius:5px;transition:width .4s,background .4s}

/* ── CHECKLIST ── */
.check-list{display:flex;flex-direction:column;gap:4px}
.check-list label{display:flex;align-items:center;gap:7px;font-size:.82rem;cursor:pointer;padding:3px 0}
.check-list input[type=checkbox]{width:15px;height:15px;accent-color:var(--cp);flex-shrink:0}

/* ── SIGNATURE ── */
#sig-canvas{border:1.5px solid var(--cl);border-radius:5px;cursor:crosshair;touch-action:none;max-width:100%;background:#fafafa}


/* ── DECL ALERT ── */
#decl-alert{background:#fff3e0;border:1.5px solid var(--ca);border-radius:5px;padding:8px 12px;font-size:.78rem;color:#e65100;margin-bottom:8px;display:none}

/* ── FAVS ── */
.fav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--cl)}
.fav-name{font-weight:600;font-size:.84rem}
.fav-meta{font-size:.72rem;color:var(--cg)}

/* ── MAP MODAL ── */
#map-container{height:300px;border-radius:5px;overflow:hidden}
.map-info{display:flex;gap:12px;align-items:center;padding:8px 0;font-size:.82rem;flex-wrap:wrap}

/* ── PRINT AREA ── */
#print-content{display:none}
@media print{
  .topbar,.doc-header,.search-bar,.period-tabs,
  .order-actions,.btn,.cal-controls,.modal-ov,.modal-overlay{display:none!important}
  body{padding-bottom:0}
  .page{display:none!important}
  #print-content{display:block!important}
  .print-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
  .print-logo-img{max-height:50px;max-width:120px}
  .print-hdr{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid #2e7d32}
  .print-title{font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:800;color:#2e7d32}
  .print-meta{font-size:.8rem;text-align:right;color:#546e7a}
  .print-sec{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e0e0e0}
  .print-sec-t{font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#1a2a3a;margin-bottom:6px}
  .print-g2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .print-g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
  .print-lbl{font-size:.65rem;text-transform:uppercase;color:#546e7a;letter-spacing:.4px}
  .print-val{font-size:.85rem;font-weight:600;color:#1a2a3a}
  .print-prod-tbl th{background:#e8f5e9;padding:5px 7px;font-size:.65rem}
  .print-prod-tbl td{padding:5px 7px;border-top:1px solid #e0e0e0;font-size:.77rem}
  .print-decl{background:#e8f5e9;padding:8px 12px;border-radius:4px;font-size:.73rem;margin-top:8px}
  .print-sig-row{display:flex;gap:40px;margin-top:20px;padding-top:12px;border-top:1px solid #e0e0e0}
  .print-sig-line{border-top:1.5px solid #546e7a;padding-top:4px;font-size:.68rem;color:#546e7a;margin-top:40px}
  .print-footer{margin-top:16px;font-size:.63rem;color:#90a4ae;text-align:center;border-top:1px solid #e0e0e0;padding-top:8px}
  .print-compat-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}
  .print-compat-fill{height:8px;border-radius:4px}
}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .topbar .tb-tabs{display:none}
  .mob-page-title{display:block}
  .chart-grid{grid-template-columns:1fr}
  .cal-day{min-height:56px}
  .cal-evt{font-size:.57rem}
  .cal-month{min-width:308px}
  .ord-date,.ord-total{display:none}
  .parcel-row{display:flex;flex-wrap:wrap;gap:5px;align-items:flex-start}
  .parcel-hdr{display:flex;align-items:center;gap:7px;flex:0 0 100%;padding:7px 8px;background:rgba(0,0,0,.06);border-radius:5px;cursor:pointer;user-select:none}
  .parcel-hdr .p-hnum{background:var(--cp);color:#fff;border-radius:50%;width:22px;height:22px;min-width:22px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}
  .parcel-hdr .p-hname{flex:1;font-size:.82rem;color:var(--cd);opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .parcel-row.collapsed > *:not(.parcel-hdr){display:none!important}
  .p-num-wrap{display:none!important}
  .p-act-wrap{display:none!important}
  .parcel-row .field{flex:1 1 80px;min-width:70px}
  .parcel-row .p-photos{flex:0 0 100%}
  /* prod-card accordion */
  .prod-card-hdr{display:flex;align-items:center;gap:7px;padding:4px 0;margin-bottom:6px;border-bottom:1px solid var(--cl);cursor:pointer;user-select:none}
  .prod-card-hdr .prod-card-hnum{font-family:var(--fc);font-size:.82rem;font-weight:700;color:var(--cg);flex-shrink:0}
  .prod-card-hdr .prod-card-hname{flex:1;font-size:.82rem;color:var(--cd);opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .prod-card.collapsed .prod-card-body{display:none}
  .prod-card-n{display:none}
  /* Hide delete on first parcel (can't be removed) */
  #parcels-list .parcel-row:first-child .parcel-hdr .btn-d{display:none}
  /* Summary chips inside collapsed headers */
  .p-hsum,.prod-card-hsum{font-size:.72rem;color:var(--cg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
  .fg-5{grid-template-columns:1fr 1fr 1fr}
  .fg-4{grid-template-columns:1fr 1fr}
  .fg-3{grid-template-columns:1fr 1fr}
.card-hdr .doc-btn{display:none}
}
@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr 1fr}
  .kpi-val{font-size:1.5rem}
  .client-grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .drone-id{font-size:.95rem}
}

/* ── HAMBURGER MENU TOGGLE ── */
.menu-tog{display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;
  width:34px;height:34px;background:none;border:none;cursor:pointer;padding:4px;
  border-radius:6px;margin-right:6px;flex-shrink:0}
.menu-tog:hover{background:rgba(0,0,0,.07)}
.menu-tog-bar{display:block;width:20px;height:2px;background:var(--cd);border-radius:2px;
  transition:transform .22s,opacity .22s}
body.dark .menu-tog:hover{background:rgba(255,255,255,.12)}
body.dark .menu-tog-bar{background:#fff}
.menu-tog.open .menu-tog-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-tog.open .menu-tog-bar:nth-child(2){opacity:0}
.menu-tog.open .menu-tog-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ── MOBILE MENU OVERLAY ── */
.mobile-menu{display:none;position:fixed;inset:0;z-index:1200;
  background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.mobile-menu.open{display:flex}
.mm-inner{position:absolute;top:0;left:0;bottom:0;width:min(280px,85vw);
  background:var(--ctb);display:flex;flex-direction:column;
  animation:slideInLeft .22s ease-out}
@keyframes slideInLeft{from{transform:translateX(-100%)}to{transform:translateX(0)}}
.mm-header{display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.12);min-height:52px}
.mm-user{color:#fff;font-size:.8rem;font-weight:600;max-width:140px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-close{background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;
  padding:4px 8px;border-radius:4px;opacity:.7}
.mm-close:hover{opacity:1;background:rgba(255,255,255,.12)}
.mm-tabs{flex:1;overflow-y:auto;padding:8px 0}
.mm-btn{display:flex;align-items:center;gap:12px;width:100%;padding:11px 18px;
  background:none;border:none;color:rgba(255,255,255,.85);cursor:pointer;
  font-size:.9rem;font-family:var(--fc);font-weight:600;text-align:left;
  transition:background .15s}
.mm-btn:hover,.mm-btn.active{background:rgba(255,255,255,.12);color:#fff}
.mm-btn.active{border-left:3px solid var(--cp);padding-left:15px}
.mm-btn span:first-child{font-size:1.1rem;width:24px;text-align:center}
.mm-logout{margin:10px 14px 18px;padding:10px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);border-radius:8px;color:rgba(255,255,255,.8);
  cursor:pointer;font-size:.85rem;font-family:var(--fc);font-weight:600;transition:background .15s}
.mm-logout:hover{background:rgba(255,255,255,.16);color:#fff}

@media(max-width:768px){
  .menu-tog{display:flex}
  .page{padding-bottom:16px}
  /* Touch targets */
  .s-btn{padding:10px 13px;font-size:.78rem}
  .status-wrap{gap:8px}
  .ctx-btn{min-width:40px;min-height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}
  .eq-tab{padding:10px 16px}
  .eq-tabs{gap:10px}
  /* Order row — 2-row mobile layout */
  .ord-break{display:block;width:100%;height:0;order:10;flex-shrink:0}
  .ord-crop{order:20;flex:1;margin-top:4px}
  .order-row-hdr .badge{order:21;margin-top:4px;flex-shrink:0}
}

/* ══════════════════════════════════════════════════════════
   BOTTOM NAV
══════════════════════════════════════════════════════════ */
#bottom-nav{
  display:none;position:fixed;bottom:0;left:0;right:0;height:56px;
  background:#fff;border-top:1px solid var(--cl);z-index:900;
  padding-bottom:env(safe-area-inset-bottom,0px);
  box-shadow:0 -1px 6px rgba(0,0,0,.08);
}
body.dark #bottom-nav{background:#1a1f2e;border-top-color:#2d3748}
@media(max-width:768px){
  #bottom-nav.bn-ready{display:flex}
  .page{padding-bottom:72px}
}
#bn-btns{display:flex;flex:3}
.bn-btn{
  flex:1;display:flex;align-items:center;justify-content:center;
  background:none;border:none;font-size:1.45rem;cursor:pointer;
  color:var(--cg);transition:color .15s;position:relative;padding:0;
}
.bn-btn.active{color:var(--cp)}
.bn-btn.active::after{
  content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:30px;height:2px;background:var(--cp);border-radius:0 0 2px 2px;
}
.bn-btn:hover{color:var(--cd)}

/* Bottom Sheet */
#bottom-sheet-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;
}
#bottom-sheet-overlay.open{display:block}
#bottom-sheet{
  position:fixed;bottom:-100%;left:0;right:0;
  background:#fff;border-radius:16px 16px 0 0;
  z-index:1101;max-height:72vh;overflow-y:auto;
  transition:bottom .28s cubic-bezier(.32,.72,0,1);
}
body.dark #bottom-sheet{background:#1a1f2e}
#bottom-sheet.open{bottom:0}
.bs-handle{
  width:36px;height:4px;background:rgba(0,0,0,.15);
  border-radius:2px;margin:10px auto 8px;
}
body.dark .bs-handle{background:rgba(255,255,255,.2)}
.bs-item{
  display:flex;align-items:center;gap:14px;padding:13px 20px;
  background:none;border:none;width:100%;font-size:.9rem;
  color:var(--cd);cursor:pointer;text-align:left;font-family:var(--fn);
}
.bs-item:hover,.bs-item.active{background:var(--cpp);color:var(--cp)}
body.dark .bs-item:hover,body.dark .bs-item.active{background:rgba(255,255,255,.07);color:var(--cpl)}
.bs-item span:first-child{font-size:1.1rem;width:24px;text-align:center}
.bs-logout{
  display:flex;align-items:center;gap:10px;width:calc(100% - 28px);
  margin:8px 14px 18px;padding:11px 16px;
  background:rgba(0,0,0,.04);border:1px solid var(--cl);border-radius:8px;
  font-family:var(--fn);font-size:.85rem;color:var(--cg);cursor:pointer;
}
.bs-logout:hover{background:rgba(0,0,0,.08);color:var(--cd)}
body.dark .bs-logout{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:#90a4ae}

/* Config: picker de barra inferior */
.bn-cfg-item{
  display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-radius:8px;cursor:pointer;font-size:.88rem;color:var(--cd);
  border:1px solid transparent;transition:background .12s;
  user-select:none;
}
.bn-cfg-item:hover{background:var(--cbg)}
.bn-cfg-item input{accent-color:var(--cp);width:16px;height:16px;flex-shrink:0}
.bn-cfg-item.bn-checked{background:var(--cpp);border-color:var(--cpm)}
body.dark .bn-cfg-item.bn-checked{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}

/* ══════════════════════════════════════════════════════════
   COMUNIDAD / BLOG
══════════════════════════════════════════════════════════ */
.blog-hdr{margin-bottom:14px}
.blog-hdr-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.blog-hdr-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--cd)}
.blog-cats{display:flex;gap:6px;flex-wrap:wrap}
.blog-cat-btn{border:1px solid var(--cl);background:var(--cw);color:var(--cg);border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:.15s;font-family:var(--fn)}
.blog-cat-btn:hover,.blog-cat-btn.active{background:var(--cp);color:#fff;border-color:var(--cp)}
.blog-card{background:var(--cw);border-radius:var(--r);box-shadow:var(--sh);margin-bottom:12px;overflow:hidden;cursor:pointer;transition:box-shadow .15s}
.blog-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12)}
.blog-pin-bar{background:#f3e5f5;color:#6a1b9a;font-size:.72rem;font-weight:700;padding:5px 14px;letter-spacing:.3px}
.blog-card-top{display:flex;align-items:flex-start;gap:10px;padding:12px 14px 6px}
.blog-avatar{width:36px;height:36px;border-radius:50%;background:var(--cp);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.blog-avatar.blog-avatar-lg{width:44px;height:44px;font-size:.95rem}
.blog-avatar.blog-avatar-sm{width:28px;height:28px;font-size:.7rem;flex-shrink:0}
.blog-author-info{flex:1;min-width:0}
.blog-author-name{font-size:.82rem;font-weight:700;color:var(--cd);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.blog-support-badge{background:#2e7d32;color:#fff;font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:10px;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}
.blog-meta{font-size:.72rem;color:var(--cg);margin-top:1px}
.blog-cat-tag{font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:10px;white-space:nowrap;flex-shrink:0;align-self:flex-start}
.blog-card-title{font-size:.9rem;font-weight:700;color:var(--cd);padding:2px 14px 5px;line-height:1.3}
.blog-card-preview{font-size:.78rem;color:var(--cg);padding:0 14px 8px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-img{width:100%;max-height:260px;object-fit:cover;display:block}
.blog-video-pill{padding:6px 14px;font-size:.78rem;color:var(--cb)}
.blog-video-pill a{color:var(--cb);text-decoration:underline}
.blog-card-footer{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--cl)}
.blog-like-btn{background:none;border:1px solid var(--cl);border-radius:16px;padding:3px 10px;font-size:.75rem;cursor:pointer;color:var(--cg);transition:.15s;font-family:var(--fn);font-weight:600}
.blog-like-btn:hover,.blog-like-btn.liked{border-color:#e53935;color:#e53935;background:#ffebee}
.blog-like-sm{padding:2px 7px;font-size:.7rem}
.blog-comment-count{font-size:.75rem;color:var(--cg);font-weight:600}
.blog-mod-btn{background:none;border:none;cursor:pointer;font-size:.85rem;padding:2px 5px;opacity:.6;transition:.15s}
.blog-mod-btn:hover{opacity:1}
/* Detail modal */
.blog-modal-box{background:var(--cw);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);overflow:hidden;margin-top:16px}
.blog-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--cl)}
.blog-modal-close{background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--cg);padding:2px 6px}
.blog-modal-body{padding:16px;max-height:80vh;overflow-y:auto}
.blog-detail-author{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.blog-detail-title{font-size:1.05rem;font-weight:700;color:var(--cd);margin:0 0 10px;line-height:1.3}
.blog-detail-body{font-size:.85rem;color:var(--cd);line-height:1.6;white-space:pre-wrap;word-break:break-word}
.blog-detail-img{max-width:100%;border-radius:8px;margin-top:12px;display:block}
.blog-detail-actions{display:flex;gap:8px;align-items:center;padding:12px 0;border-top:1px solid var(--cl);margin-top:12px}
.blog-comments-wrap{margin-top:4px}
.blog-comments-title{font-size:.82rem;font-weight:700;color:var(--cd);padding:10px 0 8px;border-top:1px solid var(--cl)}
.blog-comment{display:flex;gap:8px;margin-bottom:12px;align-items:flex-start}
.blog-comment-body{flex:1;background:var(--cbg);border-radius:8px;padding:8px 10px}
.blog-comment-author{font-size:.78rem;font-weight:700;color:var(--cd);display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:4px}
.blog-comment-text{font-size:.8rem;color:var(--cd);line-height:1.5;word-break:break-word}
.blog-add-comment{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid var(--cl)}
.blog-add-comment textarea{width:100%;border:1px solid var(--cl);border-radius:6px;padding:8px;font-family:var(--fn);font-size:.82rem;color:var(--cd);background:var(--cw);resize:vertical;box-sizing:border-box}
.blog-add-comment textarea:focus{outline:none;border-color:var(--cp)}
.blog-add-comment .btn{align-self:flex-end}
body.dark .blog-card{background:var(--cw)}
body.dark .blog-comment-body{background:#1e2a1e}
body.dark .blog-cat-btn{background:var(--cbg)}

/* ── TEMPLATE ACCORDION ── */
.tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;margin-bottom:4px}
.tmpl-btn{background:rgba(255,255,255,.04);border:1px solid var(--cl);border-radius:9px;padding:10px 12px;color:var(--cd);font-family:var(--fn);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s;text-align:left;line-height:1.3}
.tmpl-btn:hover{border-color:var(--cp);background:rgba(76,175,80,.07)}
.tmpl-btn.active{border-color:var(--cp);background:rgba(76,175,80,.1);color:var(--cp)}
.tmpl-panel{display:none;border:1px solid var(--cl);border-radius:10px;padding:14px 16px;margin-top:10px;margin-bottom:4px;background:rgba(255,255,255,.02)}
.tmpl-panel.open{display:block}
.tmpl-vars{font-size:.68rem;color:var(--cg);margin:0 0 8px;line-height:1.9}
.tmpl-vars code{background:rgba(255,255,255,.07);border-radius:3px;padding:1px 4px;font-size:.67rem}
.tmpl-panel textarea{width:100%;border:1px solid var(--cl);border-radius:7px;padding:9px 11px;font-family:var(--fn);font-size:.8rem;color:var(--cd);background:var(--cbg);resize:vertical;box-sizing:border-box}
.tmpl-panel textarea:focus{outline:none;border-color:var(--cp)}
.tmpl-panel .field label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--cg);display:block;margin-bottom:4px}
.tmpl-panel .field{margin-bottom:10px}
.tmpl-hint{font-size:.65rem;color:var(--cg);margin-top:3px}
.tmpl-save{display:flex;justify-content:flex-end;margin-top:10px}

/* ── TOOLTIPS (ⓘ) — global floating div, never clipped by overflow:hidden ── */
.tip{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:.6rem;font-weight:700;color:var(--cp);cursor:default;vertical-align:middle;margin-left:3px;flex-shrink:0;user-select:none;line-height:1}
#g-tip{position:fixed;background:#1a2a3a;color:#fff;font-size:.72rem;font-weight:400;line-height:1.45;padding:6px 10px;border-radius:7px;white-space:normal;max-width:260px;pointer-events:none;z-index:99999;box-shadow:0 3px 12px rgba(0,0,0,.25);opacity:0;transition:opacity .15s;text-transform:none;letter-spacing:0;font-family:Barlow,sans-serif}

/* Phosphor Icons — font-size controls icon size; vertical-align for baseline alignment */
.ph,.ph-fill,.ph-bold,.ph-light,.ph-thin,.ph-duotone{line-height:1;vertical-align:middle}

/* Toolbar de Aeronaves: una fila en escritorio; apilado búsqueda/registrar/importar en móvil */
.eq-toolbar{display:flex;gap:8px;align-items:center}
/* Botones a la altura de la casilla de búsqueda — evita toques errados */
.eq-toolbar input,.eq-toolbar .btn{min-height:34px;box-sizing:border-box}
.eq-toolbar .btn{padding:6px 12px;font-size:.78rem;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
.eq-toolbar input{flex:1;min-width:0}
@media(max-width:600px){
  .eq-toolbar{flex-direction:column;align-items:stretch}
  .eq-toolbar .btn{width:100%;text-align:center}
}
