/* ════════════════════════════════════════════════════════
   RESET & BASE
════════════════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%;overflow:hidden}
body{font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.5}

/* ════════════════════════════════════════════════════════
   TOKENS — DARK (MaClean Navy)
════════════════════════════════════════════════════════ */
:root,[data-theme="dark"]{
  --mac-deep:   #0A1628;
  --mac-navy:   #1B3D8E;
  --mac-accent: #2A50A8;
  --mac-khaki:  #C3B091;
  --mac-khaki-lt:#D4C4A8;

  --bg:         #0A1628;
  --surface:    #0D1D3A;
  --surface-2:  #111F3A;
  --surface-hi: rgba(43,80,168,0.10);
  --glass:      rgba(10,22,40,0.85);

  --border:     rgba(43,80,168,0.22);
  --border-hi:  rgba(43,80,168,0.38);

  --text-1:     #E8EAEF;
  --text-2:     rgba(232,234,239,0.55);
  --text-3:     rgba(232,234,239,0.42);
  --text-4:     rgba(232,234,239,0.18);

  --crit:       #E53935;
  --crit-soft:  rgba(229,57,53,0.12);
  --crit-mid:   rgba(229,57,53,0.20);
  --crit-glow:  rgba(229,57,53,0.50);
  --warn:       #F59E0B;
  --warn-soft:  rgba(245,158,11,0.10);
  --warn-mid:   rgba(245,158,11,0.18);
  --warn-glow:  rgba(245,158,11,0.45);
  --ok:         #22C55E;
  --ok-soft:    rgba(34,197,94,0.10);
  --ok-glow:    rgba(34,197,94,0.40);

  --topbar-h:   52px;
  --feed-w:     320px;
  --radius:     10px;
  --mono:       'JetBrains Mono',monospace;
}

/* ════════════════════════════════════════════════════════
   TOKENS — LIGHT (cinza claro MaClean)
════════════════════════════════════════════════════════ */
[data-theme="light"]{
  --bg:         #E8EAED;
  --surface:    #FFFFFF;
  --surface-2:  #F2F3F5;
  --surface-hi: rgba(27,61,142,0.06);
  --glass:      rgba(232,234,237,0.94);

  --border:     rgba(27,61,142,0.13);
  --border-hi:  rgba(27,61,142,0.24);

  --text-1:     #1A2236;
  --text-2:     rgba(26,34,54,0.58);
  --text-3:     rgba(26,34,54,0.38);
  --text-4:     rgba(26,34,54,0.12);

  --crit:       #C62828;
  --crit-soft:  rgba(198,40,40,0.08);
  --crit-mid:   rgba(198,40,40,0.15);
  --crit-glow:  rgba(198,40,40,0.35);
  --warn:       #B45309;
  --warn-soft:  rgba(180,83,9,0.08);
  --warn-mid:   rgba(180,83,9,0.15);
  --warn-glow:  rgba(180,83,9,0.35);
  --ok:         #15803D;
  --ok-soft:    rgba(21,128,61,0.08);
  --ok-glow:    rgba(21,128,61,0.30);
}

/* ════════════════════════════════════════════════════════
   LAYOUT SHELL
════════════════════════════════════════════════════════ */
.shell{display:grid;grid-template-rows:var(--topbar-h) 1fr;height:100vh;background:var(--bg);transition:background .3s;position:relative;}
.body-row{display:grid;grid-template-columns:1fr var(--feed-w);overflow:hidden;position:relative;}

/* ════════════════════════════════════════════════════════
   TOPBAR
════════════════════════════════════════════════════════ */
.topbar{
  display:flex;align-items:center;padding:0 20px;gap:0;
  position:relative;z-index:500;
  background:#0D1D3A;
  border-bottom:1px solid rgba(43,80,168,0.20);
  transition:border-color .3s;
}
.topbar::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg, var(--mac-navy) 0%, rgba(27,61,142,0) 40%, rgba(195,176,145,0) 60%, var(--mac-khaki) 100%);
  opacity:0.45;
}
.tb-logo{height:46px;width:auto;object-fit:contain;flex-shrink:0;filter:brightness(1.1) drop-shadow(0 0 6px rgba(195,176,145,0.25));}
.tb-logo-fallback{font-size:20px;font-weight:900;letter-spacing:-1px;color:#FFFFFF;flex-shrink:0;}
.tb-sep{width:1px;height:20px;background:rgba(255,255,255,0.12);margin:0 16px;flex-shrink:0;}
.tb-title{font-size:13px;font-weight:600;color:#E8EAEF;letter-spacing:-0.2px;}
.tb-sub{font-size:9px;font-weight:500;color:rgba(232,234,239,0.38);letter-spacing:1.5px;text-transform:uppercase;margin-top:1px;}

.tb-kpis{display:flex;gap:0;margin-left:22px;}
.tb-kpi{display:flex;align-items:center;gap:6px;padding:0 14px;position:relative;}
.tb-kpi+.tb-kpi::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:rgba(255,255,255,0.12);}
.tb-kpi-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.tb-kpi-num{font-family:var(--mono);font-size:19px;font-weight:700;line-height:1;}
.tb-kpi-lbl{font-size:10px;font-weight:500;color:rgba(255,255,255,0.72);letter-spacing:0.3px;}
.tb-right{margin-left:auto;display:flex;align-items:center;gap:14px;}

.mode-toggle{position:relative;width:44px;height:24px;border-radius:12px;background:rgba(43,80,168,0.30);cursor:pointer;transition:background .3s;flex-shrink:0;border:none;outline:none;padding:0;}
.mode-toggle::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text-1);transition:transform .28s cubic-bezier(.4,0,.2,1),background .3s;box-shadow:0 1px 4px rgba(0,0,0,0.3);}
[data-theme="light"] .mode-toggle{background:var(--mac-navy);}
[data-theme="light"] .mode-toggle::after{transform:translateX(20px);background:#fff;}
.mode-toggle-icon{position:absolute;top:3px;font-size:11px;line-height:18px;width:18px;text-align:center;pointer-events:none;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s;}
.mode-icon-dark{left:3px;opacity:1;}
.mode-icon-light{right:3px;opacity:0.4;}
[data-theme="light"] .mode-icon-dark{opacity:0.35;}
[data-theme="light"] .mode-icon-light{opacity:1;}

.tb-clock{font-family:var(--mono);font-size:19px;font-weight:500;color:#E8EAEF;letter-spacing:1.5px;line-height:1;}
.tb-date{font-size:8px;font-weight:500;color:rgba(232,234,239,0.38);letter-spacing:0.5px;text-transform:uppercase;margin-top:2px;}

/* ════════════════════════════════════════════════════════
   MAPA
════════════════════════════════════════════════════════ */
.map-wrap{position:relative;background:var(--bg);overflow:hidden;}
#ia-map{width:100%;height:100%;}

.leaflet-tooltip{font-family:'DM Sans',sans-serif !important;font-size:11px !important;font-weight:500 !important;background:var(--glass) !important;border:1px solid var(--border) !important;color:var(--text-1) !important;backdrop-filter:blur(12px) !important;box-shadow:none !important;border-radius:5px !important;padding:4px 8px !important;}
.leaflet-tooltip::before{display:none !important;}

.map-refresh{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:5px 11px;background:var(--glass);border:1px solid var(--border);border-radius:20px;font-size:9px;color:var(--text-3);z-index:400;backdrop-filter:blur(10px);}
[data-theme="light"] .map-refresh{background:#FFFFFF;backdrop-filter:none;box-shadow:0 2px 8px rgba(0,0,0,0.10);}
.ref-dot{width:5px;height:5px;border-radius:50%;background:var(--ok);flex-shrink:0;}
.ref-dot.loading{background:var(--warn);animation:pulse 1s ease-in-out infinite;}

.map-context{position:absolute;top:12px;left:12px;display:none;align-items:center;gap:8px;padding:7px 12px;background:var(--glass);border:1px solid var(--border);border-radius:12px;backdrop-filter:blur(10px);z-index:400;box-shadow:0 8px 20px rgba(0,0,0,0.12);}
[data-theme="light"] .map-context{background:#FFFFFF;backdrop-filter:none;box-shadow:0 4px 16px rgba(0,0,0,0.12);}
.map-context.visible{display:flex;}
.mc-dot{width:7px;height:7px;border-radius:50%;background:var(--crit);box-shadow:0 0 0 3px var(--crit-soft);flex-shrink:0;}
.mc-title{font-size:10px;font-weight:700;color:var(--text-1);line-height:1.1;}
.mc-sub{font-size:9px;color:var(--text-3);margin-top:2px;text-transform:uppercase;letter-spacing:.08em;}

.map-ov{position:absolute;bottom:16px;left:14px;display:flex;gap:6px;z-index:400;}
.ov-chip{display:flex;align-items:center;gap:7px;padding:7px 13px;background:var(--glass);border:1px solid var(--border);border-radius:8px;backdrop-filter:blur(12px);}
[data-theme="light"] .ov-chip{background:#FFFFFF;backdrop-filter:none;box-shadow:0 2px 8px rgba(0,0,0,0.10);}
.ov-num{font-family:var(--mono);font-size:20px;font-weight:700;line-height:1;}
.ov-lbl{font-size:8px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:0.5px;}

.map-hint{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:5px 12px;background:var(--glass);border:1px solid var(--border);border-radius:20px;font-size:9px;color:var(--text-3);z-index:400;backdrop-filter:blur(8px);transition:opacity .5s;white-space:nowrap;}
[data-theme="light"] .map-hint{background:#FFFFFF;backdrop-filter:none;box-shadow:0 2px 8px rgba(0,0,0,0.10);}

/* Popup posto */
#popup-layer{position:absolute;inset:0;pointer-events:none;z-index:450;}
.store-popup{position:absolute;width:280px;background:var(--glass);border:1px solid var(--border-hi);border-radius:12px;backdrop-filter:blur(20px);overflow:hidden;pointer-events:all;box-shadow:0 8px 32px rgba(0,0,0,0.18);animation:popIn .18s ease;}
[data-theme="light"] .store-popup{background:#FFFFFF;backdrop-filter:none;box-shadow:0 8px 32px rgba(0,0,0,0.16),0 2px 8px rgba(0,0,0,0.08);}
@keyframes popIn{from{opacity:0;transform:scale(0.94) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}

.popup-head{padding:14px 16px 12px;background:var(--mac-navy);border-bottom:1px solid rgba(43,80,168,0.30);position:relative;}
.popup-close{position:absolute;top:10px;right:12px;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.7);display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;border:none;outline:none;transition:background .15s;}
.popup-close:hover{background:rgba(255,255,255,0.22);color:#fff;}
.popup-meta{display:flex;align-items:center;gap:6px;margin-bottom:6px;}
.popup-type-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.popup-type-lbl{font-size:9px;font-weight:600;color:rgba(255,255,255,0.50);text-transform:uppercase;letter-spacing:0.5px;}
.popup-code{font-family:var(--mono);font-size:9px;font-weight:700;color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);padding:1px 5px;border-radius:3px;letter-spacing:1px;}
.popup-store-name{font-size:15px;font-weight:700;color:#FFFFFF;letter-spacing:-0.3px;line-height:1.2;}
.popup-city{font-size:11px;color:rgba(255,255,255,0.5);margin-top:3px;}

.popup-section{padding:10px 14px;border-bottom:1px solid var(--border);}
.popup-section:last-child{border-bottom:none;}
.popup-section-lbl{font-size:8px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;display:flex;align-items:center;gap:5px;}
.popup-section-lbl::before{content:'';width:12px;height:1px;background:var(--border-hi);flex-shrink:0;}

/* Equipamentos */
.popup-equip{font-size:11px;color:var(--text-2);line-height:1.5;}

/* Funcionários */
.popup-func-list{display:flex;flex-direction:column;gap:4px;}
.popup-func-btn{
  display:flex;align-items:center;justify-content:space-between;
  padding:7px 10px;border-radius:7px;cursor:pointer;
  background:var(--surface-hi);border:1px solid var(--border);
  transition:all .15s;text-align:left;width:100%;
  font-family:'DM Sans',sans-serif;
}
.popup-func-btn:hover{background:rgba(195,176,145,0.12);border-color:rgba(195,176,145,0.3);}
.popup-func-name{font-size:11.5px;font-weight:600;color:var(--text-1);}
.popup-func-role{font-size:9.5px;color:var(--text-3);margin-top:1px;}
.popup-func-epi-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}

/* ════════════════════════════════════════════════════════
   FEED LATERAL
════════════════════════════════════════════════════════ */
.feed{display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(13,29,58,0.96) 0%,rgba(8,16,32,0.98) 100%);border-left:1px solid rgba(43,80,168,0.18);overflow:hidden;position:relative;transition:opacity .5s,visibility .5s;}
.feed.macro-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.feed::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,0.02) 0%,rgba(255,255,255,0.00) 36%);pointer-events:none;}
[data-theme="light"] .feed{background:#E8EAED;border-left:1px solid rgba(27,61,142,0.15);}
[data-theme="light"] .feed::before{display:none;}

.feed-hd{padding:9px 16px 8px;border-bottom:1px solid rgba(43,80,168,0.15);flex-shrink:0;background:rgba(0,0,0,0.22);display:flex;align-items:center;justify-content:space-between;position:relative;}
[data-theme="light"] .feed-hd{background:var(--mac-navy);border-bottom:1px solid rgba(27,61,142,0.30);}
.feed-hd::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,rgba(195,176,145,0.5) 0%,rgba(195,176,145,0) 80%);}
.feed-hd-left{display:flex;flex-direction:column;gap:2px;}
.feed-hd-label{font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(232,234,239,0.30);}
.feed-hd-count{font-family:var(--mono);font-size:24px;font-weight:700;line-height:1;color:#E53935;letter-spacing:-1px;text-shadow:0 0 20px rgba(229,57,53,0.35);}
.feed-hd-count.zero{color:#22C55E;text-shadow:0 0 20px rgba(34,197,94,0.35);}
.feed-hd-count.warn-only{color:#F59E0B;text-shadow:0 0 20px rgba(245,158,11,0.35);}

.feed-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px;}
#inc-list{display:flex;flex-direction:column;gap:8px;}
#inc-list>*{flex-shrink:0;}
.feed-scroll::-webkit-scrollbar{width:3px;}
.feed-scroll::-webkit-scrollbar-thumb{background:rgba(195,176,145,0.20);border-radius:2px;}
[data-theme="light"] .feed-scroll::-webkit-scrollbar-thumb{background:rgba(27,61,142,0.18);}

.feed-ok{padding:48px 20px;text-align:center;}
.feed-ok-icon{font-size:28px;margin-bottom:10px;}
.feed-ok-title{font-size:13px;font-weight:700;color:var(--ok);margin-bottom:4px;}
.feed-ok-sub{font-size:11px;color:var(--text-3);line-height:1.6;}

/* ════════════════════════════════════════════════════════
   CARD DO FEED
════════════════════════════════════════════════════════ */
.inc-card{border-radius:10px;overflow:hidden;cursor:pointer;animation:fadeUp .22s ease both;transition:transform .12s,box-shadow .12s;background:#0D1D3A;border:1px solid rgba(43,80,168,0.22);box-shadow:0 2px 8px rgba(0,0,0,0.4);}
.inc-card:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,0.5);border-color:rgba(195,176,145,0.25);}
[data-theme="light"] .inc-card{background:#FFFFFF;border:1px solid rgba(27,61,142,0.14);box-shadow:0 1px 4px rgba(0,0,0,0.08),0 2px 10px rgba(0,0,0,0.06);}
[data-theme="light"] .inc-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(0,0,0,0.12);border-color:rgba(27,61,142,0.24);}

.ic-timeline-wrap{display:grid;grid-template-columns:28px 1fr;overflow:hidden;}
.ic-timeline-col{display:flex;flex-direction:column;align-items:center;padding-top:10px;position:relative;}
.ic-timeline-col::before{content:'';position:absolute;top:20px;bottom:0;left:50%;transform:translateX(-50%);width:1px;background:linear-gradient(180deg,rgba(229,57,53,0.4) 0%,rgba(229,57,53,0.08) 60%,rgba(229,57,53,0) 100%);}
.inc-card.st-warn .ic-timeline-col::before{background:linear-gradient(180deg,rgba(245,158,11,0.4) 0%,rgba(245,158,11,0.08) 60%,rgba(245,158,11,0) 100%);}
.ic-tl-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;position:relative;z-index:1;margin-bottom:6px;}
.inc-card.st-crit .ic-tl-dot{background:#E53935;box-shadow:0 0 8px rgba(229,57,53,0.7),0 0 0 2px rgba(229,57,53,0.18);}
.inc-card.st-warn .ic-tl-dot{background:#F59E0B;box-shadow:0 0 8px rgba(245,158,11,0.6),0 0 0 2px rgba(245,158,11,0.18);}
.ic-content-col{min-width:0;}

.ic-head-inline{padding:9px 12px 8px 0;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,0.06);position:relative;}
[data-theme="light"] .ic-head-inline{border-bottom:1px solid rgba(27,61,142,0.09);}
.ic-sigla-inline{font-family:var(--mono);font-size:13px;font-weight:800;letter-spacing:1px;line-height:1;flex-shrink:0;}
.inc-card.st-crit .ic-sigla-inline{color:#E53935;}
.inc-card.st-warn .ic-sigla-inline{color:#F59E0B;}
.ic-vsep{width:1px;height:18px;background:rgba(255,255,255,0.12);flex-shrink:0;}
[data-theme="light"] .ic-vsep{background:rgba(0,0,0,0.10);}
.ic-head-txt{flex:1;min-width:0;}
.ic-store-inline{font-size:11.5px;font-weight:600;color:#E8EAEF;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;}
[data-theme="light"] .ic-store-inline{color:#0E1829;}
.ic-status-inline{font-size:8.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;margin-top:2px;opacity:0.75;}
.inc-card.st-crit .ic-status-inline{color:#E53935;}
.inc-card.st-warn .ic-status-inline{color:#F59E0B;}

.ic-body{padding:7px 12px 10px 0;}
.ic-body-row{font-size:11px;color:var(--text-2);margin-bottom:3px;display:flex;gap:5px;align-items:flex-start;}
.ic-body-row:last-child{margin-bottom:0;}
.ic-body-lbl{font-size:8px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;color:var(--text-3);white-space:nowrap;padding-top:1px;}
[data-theme="light"] .ic-body-row{color:rgba(14,24,41,0.65);}

/* Badges de EPI nos cards */
.epi-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
.epi-badge{font-size:9px;font-weight:600;padding:2px 7px;border-radius:4px;letter-spacing:0.2px;}
.epi-badge.down{background:var(--crit-soft);color:#FF8A85;border:1px solid rgba(229,57,53,0.25);}
.epi-badge.warn{background:var(--warn-soft);color:#FCD270;border:1px solid rgba(245,158,11,0.25);}
[data-theme="light"] .epi-badge.down{background:rgba(198,40,40,0.08);color:#C62828;border-color:rgba(198,40,40,0.2);}
[data-theme="light"] .epi-badge.warn{background:rgba(180,83,9,0.08);color:#B45309;border-color:rgba(180,83,9,0.2);}

/* ════════════════════════════════════════════════════════
   MODAIS — base (reutilizados: ficha + detalhes)
════════════════════════════════════════════════════════ */
.wx-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:2000;display:none;align-items:flex-end;justify-content:center;backdrop-filter:blur(4px);}
.wx-modal-overlay.open{display:flex;}
.wx-modal-panel{width:100%;max-width:480px;max-height:88vh;background:var(--surface);border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 40px rgba(0,0,0,0.5);animation:slideUpModal .28s cubic-bezier(0.4,0,0.2,1);}
@keyframes slideUpModal{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.wx-modal-panel::before{content:'';display:block;width:36px;height:4px;background:rgba(255,255,255,0.18);border-radius:2px;margin:10px auto 0;flex-shrink:0;}
[data-theme="light"] .wx-modal-panel::before{background:rgba(0,0,0,0.12);}
.wx-modal-head{padding:10px 16px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--mac-navy);}
.wx-modal-store{font-size:15px;font-weight:700;color:#FFFFFF;letter-spacing:-0.2px;}
.wx-modal-city{font-size:10px;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:0.5px;margin-top:2px;}
.wx-modal-close{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.10);color:rgba(255,255,255,0.7);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.wx-modal-close:hover{background:rgba(255,255,255,0.2);color:#fff;}
.wx-modal-body{overflow-y:auto;flex:1;}
.wx-modal-body::-webkit-scrollbar{width:3px;}
.wx-modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}

@media(min-width:769px){
  .wx-modal-overlay{align-items:center;}
  .wx-modal-panel{border-radius:14px;max-height:80vh;}
  .wx-modal-panel::before{display:none;}
}

/* Ficha do Colaborador */
.ficha-section{padding:12px 16px;border-bottom:1px solid var(--border);}
.ficha-section:last-child{border-bottom:none;}
.ficha-section-title{font-size:8px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);margin-bottom:8px;}
.ficha-row{display:grid;grid-template-columns:100px 1fr;gap:8px;padding:4px 0;border-bottom:1px solid var(--text-4);}
.ficha-row:last-child{border-bottom:none;}
.ficha-lbl{font-size:10px;font-weight:600;color:var(--text-3);}
.ficha-val{font-size:10px;color:var(--text-1);font-weight:500;}

/* Tabela de EPIs na ficha */
.epi-table{width:100%;border-collapse:collapse;margin-top:4px;}
.epi-table th{font-size:8px;font-weight:700;letter-spacing:0.8px;text-transform:uppercase;color:var(--text-3);padding:4px 6px;text-align:left;border-bottom:1px solid var(--border);}
.epi-table td{font-size:11px;color:var(--text-1);padding:6px 6px;border-bottom:1px solid var(--text-4);}
.epi-table tr:last-child td{border-bottom:none;}
.epi-status-pill{display:inline-block;font-size:8.5px;font-weight:700;padding:2px 7px;border-radius:10px;letter-spacing:0.3px;}
.epi-status-pill.down{background:var(--crit-soft);color:var(--crit);border:1px solid var(--crit-mid);}
.epi-status-pill.warn{background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-mid);}
.epi-status-pill.ok{background:var(--ok-soft);color:var(--ok);border:1px solid rgba(34,197,94,0.20);}
.epi-days-note{font-size:9px;color:var(--text-3);margin-top:2px;}

/* ════════════════════════════════════════════════════════
   TOUR — controle flutuante + barra de progresso
════════════════════════════════════════════════════════ */
.tour-ctrl{
  position:absolute;bottom:16px;right:14px;
  display:flex;flex-direction:column;align-items:flex-end;gap:6px;
  z-index:400;
}
.tour-btn{
  display:flex;align-items:center;gap:6px;
  padding:7px 14px;border-radius:20px;
  background:#FFFFFF;border:1px solid rgba(27,61,142,0.18);
  color:#1A2236;font-family:'DM Sans',sans-serif;
  font-size:11px;font-weight:600;cursor:pointer;
  box-shadow:0 2px 8px rgba(0,0,0,0.10);
  transition:all .2s;white-space:nowrap;
}
[data-theme="dark"] .tour-btn{background:var(--glass);border-color:var(--border-hi);color:var(--text-1);backdrop-filter:blur(10px);box-shadow:none;}
.tour-btn:hover{background:rgba(195,176,145,0.15);border-color:rgba(195,176,145,0.40);}
.tour-btn.active{background:var(--mac-navy);border-color:var(--mac-navy);color:#FFFFFF;box-shadow:0 2px 12px rgba(27,61,142,0.30);}
.tour-btn svg{flex-shrink:0;}

/* Painel de progresso do tour */
.tour-info{
  display:none;align-items:center;gap:8px;
  padding:6px 12px;border-radius:10px;
  background:#FFFFFF;border:1px solid rgba(27,61,142,0.15);
  box-shadow:0 2px 8px rgba(0,0,0,0.10);
  font-size:10px;color:var(--text-2);
}
[data-theme="dark"] .tour-info{background:var(--glass);backdrop-filter:blur(10px);box-shadow:none;border-color:var(--border);}
.tour-info.visible{display:flex;}
.tour-idx{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--mac-navy);white-space:nowrap;}
[data-theme="dark"] .tour-idx{color:var(--mac-khaki);}
.tour-sep{color:var(--text-4);}
.tour-bar-wrap{width:80px;height:3px;background:rgba(27,61,142,0.12);border-radius:2px;overflow:hidden;}
[data-theme="dark"] .tour-bar-wrap{background:rgba(195,176,145,0.15);}
.tour-bar{height:100%;background:var(--mac-navy);border-radius:2px;transform:scaleX(0);transform-origin:left;}
[data-theme="dark"] .tour-bar{background:var(--mac-khaki);}
.tour-label{font-size:9px;color:var(--text-3);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Configuração de tempo */
.tour-cfg{
  display:none;flex-direction:column;gap:6px;
  padding:10px 12px;border-radius:10px;
  background:#FFFFFF;border:1px solid rgba(27,61,142,0.15);
  box-shadow:0 4px 16px rgba(0,0,0,0.12);font-size:11px;
  min-width:180px;
}
[data-theme="dark"] .tour-cfg{background:var(--glass);backdrop-filter:blur(10px);border-color:var(--border);box-shadow:none;}
.tour-cfg.visible{display:flex;}
.tour-cfg-title{font-size:8px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3);margin-bottom:2px;}
.tour-cfg-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.tour-cfg-lbl{font-size:10px;color:var(--text-2);}
.tour-cfg-val{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--mac-navy);}
[data-theme="dark"] .tour-cfg-val{color:var(--mac-khaki);}
.tour-range{width:100%;accent-color:var(--mac-navy);cursor:pointer;}
.tour-cfg-apply{
  margin-top:4px;padding:5px 0;border-radius:6px;
  background:var(--mac-navy);border:none;
  color:#FFFFFF;font-family:'DM Sans',sans-serif;
  font-size:10px;font-weight:700;cursor:pointer;letter-spacing:0.5px;
}
.tour-cfg-apply:hover{opacity:0.85;}

@media(max-width:768px){
  .tour-ctrl{bottom:268px;right:10px;}
  .tour-bar-wrap{width:55px;}
  .tour-label{display:none;}
}

/* ════════════════════════════════════════════════════════
   KEYFRAMES
════════════════════════════════════════════════════════ */
@keyframes ripple{0%{transform:scale(1);opacity:0.5}100%{transform:scale(2.2);opacity:0}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ════════════════════════════════════════════════════════
   MOBILE — ≤ 768px
════════════════════════════════════════════════════════ */
@media(max-width:768px){
  :root{--topbar-h:48px;--feed-w:100%;}
  .body-row{grid-template-columns:1fr;grid-template-rows:1fr;position:relative;}
  .topbar{padding:0 12px;}
  .tb-logo{height:28px;}
  .tb-sep{margin:0 10px;}
  .tb-title{font-size:11px;}
  .tb-sub{display:none;}
  .tb-kpis{margin-left:10px;gap:0;}
  .tb-kpi{padding:0 8px;}
  .tb-kpi-lbl{display:none;}
  .tb-kpi-num{font-size:15px;}
  .tb-kpi-dot{width:5px;height:5px;}
  .tb-kpi+.tb-kpi::before{height:10px;}
  .tb-clock{font-size:14px;letter-spacing:0.5px;}
  .tb-date{display:none;}
  .tb-right{gap:8px;}
  .map-wrap{position:relative;height:calc(100vh - var(--topbar-h));width:100%;}
  .map-ov{bottom:260px;left:10px;gap:5px;}
  .ov-chip{padding:5px 10px;}
  .ov-num{font-size:16px;}
  .ov-lbl{font-size:7px;}
  .map-hint{bottom:260px;font-size:9px;}
  .feed{position:fixed !important;bottom:0;left:0;right:0;top:auto !important;height:auto;max-height:75vh;border-left:none;border-top:1px solid rgba(43,80,168,0.2);border-radius:16px 16px 0 0;z-index:600;transform:translateY(calc(100% - 56px));transition:transform 0.32s cubic-bezier(0.4,0,0.2,1);box-shadow:0 -8px 32px rgba(0,0,0,0.5);}
  .feed.sheet-open{transform:translateY(0);}
  .feed-handle{display:flex;justify-content:center;padding:8px 0 4px;cursor:pointer;flex-shrink:0;}
  .feed-handle::before{content:'';width:36px;height:4px;background:rgba(255,255,255,0.22);border-radius:2px;}
  .feed-hd{padding:8px 14px 10px;cursor:pointer;}
  .feed-hd-count{font-size:22px;}
  .feed-scroll{max-height:calc(75vh - 100px);overflow-y:auto;}
  .store-popup{width:calc(100vw - 24px) !important;left:12px !important;right:12px !important;top:auto !important;bottom:70px !important;position:fixed !important;}
  .map-refresh{top:8px;right:8px;font-size:8px;}
  .feed-scroll::-webkit-scrollbar{width:0;}
}
@media(max-width:400px){
  .tb-kpis{margin-left:6px;}
  .tb-kpi{padding:0 5px;}
  .tb-kpi-num{font-size:13px;}
  .tb-sep{margin:0 7px;}
}

/* ════════════════════════════════════════════════════════
   ALERTA NÃO RECONHECIDO — borda pulsante até o operador clicar
════════════════════════════════════════════════════════ */
@keyframes unacked-border-crit{
  0%,100%{border-color:rgba(43,80,168,0.22);box-shadow:0 2px 8px rgba(0,0,0,0.4)}
  50%{border-color:rgba(229,57,53,0.65);box-shadow:0 0 0 3px rgba(229,57,53,0.18),0 2px 8px rgba(0,0,0,0.4)}
}
@keyframes unacked-border-warn{
  0%,100%{border-color:rgba(43,80,168,0.22);box-shadow:0 2px 8px rgba(0,0,0,0.4)}
  50%{border-color:rgba(245,158,11,0.60);box-shadow:0 0 0 3px rgba(245,158,11,0.15),0 2px 8px rgba(0,0,0,0.4)}
}
.inc-card.unacked.st-crit{animation:fadeUp .22s ease both,unacked-border-crit 1.8s ease-in-out 0.6s infinite;}
.inc-card.unacked.st-warn{animation:fadeUp .22s ease both,unacked-border-warn 2.6s ease-in-out 0.6s infinite;}
[data-theme="light"] .inc-card.unacked.st-crit{animation:fadeUp .22s ease both,unacked-border-crit 1.8s ease-in-out 0.6s infinite;}
[data-theme="light"] .inc-card.unacked.st-warn{animation:fadeUp .22s ease both,unacked-border-warn 2.6s ease-in-out 0.6s infinite;}

/* ════════════════════════════════════════════════════════
   KPI TREND — setas de tendência
════════════════════════════════════════════════════════ */
.tb-kpi-trend{font-family:var(--mono);font-size:10px;font-weight:700;margin-left:3px;line-height:1;vertical-align:middle;}
.tb-kpi-trend.trend-up{color:var(--crit);}
.tb-kpi-trend.trend-down{color:var(--ok);}
.tb-kpi-trend.trend-zero{display:none;}

/* ════════════════════════════════════════════════════════
   TELA DE LOGIN
════════════════════════════════════════════════════════ */
#login-screen{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  background:#0A1628;
  background-image:radial-gradient(ellipse 60% 55% at 50% 45%, rgba(27,61,142,0.18) 0%, transparent 70%);
}
#login-card{
  display:flex;flex-direction:column;align-items:center;
  padding:48px 44px 40px;
  background:#0D1D3A;
  border:1px solid rgba(43,80,168,0.28);
  border-top:2px solid rgba(195,176,145,0.35);
  border-radius:16px;
  box-shadow:0 24px 64px rgba(0,0,0,0.55);
  width:100%;max-width:360px;
  position:relative;
}
#login-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;border-radius:0 0 16px 16px;
  background:linear-gradient(90deg,var(--mac-navy) 0%,rgba(27,61,142,0) 40%,rgba(195,176,145,0) 60%,var(--mac-khaki) 100%);
  opacity:0.5;
}
#login-logo{height:64px;width:auto;object-fit:contain;margin-bottom:20px;filter:brightness(1.05) drop-shadow(0 0 8px rgba(195,176,145,0.20));}
.login-logo-fallback{font-size:28px;font-weight:900;letter-spacing:-1px;color:#E8EAEF;margin-bottom:20px;}
#login-title{font-size:13px;font-weight:700;color:#E8EAEF;letter-spacing:-0.2px;text-align:center;margin-bottom:4px;}
#login-sub{font-size:9px;font-weight:500;color:rgba(232,234,239,0.38);letter-spacing:1.5px;text-transform:uppercase;text-align:center;margin-bottom:28px;}
#login-form{display:flex;flex-direction:column;gap:10px;width:100%;}
#login-input{
  width:100%;padding:10px 14px;
  background:rgba(10,22,40,0.70);
  border:1px solid rgba(43,80,168,0.35);
  border-radius:8px;
  color:#E8EAEF;font-family:'DM Sans',sans-serif;font-size:14px;
  outline:none;transition:border-color .2s;
  text-align:center;letter-spacing:3px;
}
#login-input::placeholder{letter-spacing:0;color:rgba(232,234,239,0.28);font-size:13px;}
#login-input:focus{border-color:rgba(195,176,145,0.55);}
#login-btn{
  padding:11px;border-radius:8px;border:none;cursor:pointer;
  background:linear-gradient(135deg,#1B3D8E 0%,#2A50A8 100%);
  color:#FFFFFF;font-family:'DM Sans',sans-serif;
  font-size:13px;font-weight:700;letter-spacing:0.5px;
  transition:opacity .2s,transform .1s;
}
#login-btn:hover{opacity:0.88;}
#login-btn:active{transform:scale(0.98);}
#login-error{
  margin-top:14px;font-size:11px;font-weight:600;
  color:#E53935;text-align:center;
  display:none;
}
#login-brand{
  margin-top:28px;font-size:8.5px;font-weight:500;
  color:rgba(232,234,239,0.22);letter-spacing:1px;text-transform:uppercase;
  text-align:center;
}
#login-screen.fade-out{animation:loginFadeOut .45s ease forwards;}
@keyframes loginFadeOut{from{opacity:1}to{opacity:0;pointer-events:none}}

/* Botão de logout na topbar */
#logout-btn{
  width:28px;height:28px;border-radius:7px;border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.45);
  font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s,color .2s,border-color .2s;flex-shrink:0;margin-left:8px;
}
#logout-btn:hover{background:rgba(229,57,53,0.15);border-color:rgba(229,57,53,0.4);color:#E53935;}

/* ════════════════════════════════════════════════════════
   BOTÕES DE AÇÃO NA TOPBAR
════════════════════════════════════════════════════════ */
.tb-action-btn{
  display:flex;align-items:center;gap:5px;
  padding:5px 10px;border-radius:7px;
  border:1px solid rgba(195,176,145,0.30);
  background:rgba(195,176,145,0.10);
  color:rgba(255,255,255,0.70);
  font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;
  cursor:pointer;white-space:nowrap;flex-shrink:0;
  transition:background .2s,border-color .2s,color .2s;
}
.tb-action-btn:hover{background:rgba(195,176,145,0.22);border-color:rgba(195,176,145,0.55);color:#fff;}
.tb-action-btn svg{flex-shrink:0;opacity:0.8;}
.tb-action-btn--outline{
  border-color:rgba(43,80,168,0.35);
  background:rgba(43,80,168,0.08);
}
.tb-action-btn--outline:hover{background:rgba(43,80,168,0.20);border-color:rgba(43,80,168,0.6);}

/* ════════════════════════════════════════════════════════
   POPUP — NOVOS CAMPOS
════════════════════════════════════════════════════════ */
.popup-trajeto-btn{
  float:right;margin-top:-1px;
  padding:1px 7px;border-radius:5px;border:1px solid var(--border);
  background:var(--surface-2);color:var(--text-2);
  font-size:10px;cursor:pointer;
  transition:background .15s,color .15s;
}
.popup-trajeto-btn:hover{background:var(--surface-hi);color:var(--text-1);}
.popup-trajeto-content{
  display:none;margin-top:6px;
  font-size:11px;line-height:1.6;color:var(--text-2);
  background:var(--surface-2);border-radius:6px;
  padding:8px 10px;border-left:2px solid var(--mac-khaki);
}
.popup-trajeto-content.open{display:block;}

/* ════════════════════════════════════════════════════════
   MODAL — NOVO CONTRATO (formulário)
════════════════════════════════════════════════════════ */
.form-modal-overlay{
  position:fixed;inset:0;z-index:3000;
  background:rgba(0,0,0,0.65);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .22s ease;
}
.form-modal-overlay.open{opacity:1;pointer-events:all;}

.form-modal-panel{
  background:var(--surface);border:1px solid var(--border-hi);border-radius:14px;
  width:min(680px,96vw);max-height:90vh;
  display:flex;flex-direction:column;
  box-shadow:0 24px 64px rgba(0,0,0,0.55);
  animation:slideUp .22s ease;
}
.form-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  padding:18px 20px 14px;border-bottom:1px solid var(--border);flex-shrink:0;
}
.form-modal-title{font-size:15px;font-weight:600;color:var(--text-1);}
.form-modal-sub{font-size:11px;color:var(--text-2);margin-top:2px;}
.form-modal-body{overflow-y:auto;padding:18px 20px;flex:1;}

.form-section{margin-bottom:20px;}
.form-section-title{
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:var(--mac-khaki);margin-bottom:10px;
  display:flex;align-items:center;justify-content:space-between;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;}
.form-field{display:flex;flex-direction:column;gap:4px;}
.form-field--wide{grid-column:1/-1;}
.form-field label{font-size:10px;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;}
.form-input,.form-select,.form-textarea{
  background:var(--surface-2);border:1px solid var(--border);border-radius:7px;
  color:var(--text-1);font-family:'DM Sans',sans-serif;font-size:12px;
  padding:7px 10px;outline:none;width:100%;
  transition:border-color .15s,background .15s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{
  border-color:var(--mac-navy);background:var(--surface);
}
.form-select{cursor:pointer;appearance:auto;}
.form-textarea{resize:vertical;min-height:56px;line-height:1.5;}

.form-add-func-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:4px 10px;border-radius:6px;
  border:1px solid var(--border);background:var(--surface-2);
  color:var(--text-2);font-size:11px;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s;
}
.form-add-func-btn:hover{background:var(--surface-hi);color:var(--text-1);border-color:var(--border-hi);}

.func-entry{
  background:var(--surface-2);border:1px solid var(--border);border-radius:9px;
  padding:12px 14px;margin-bottom:10px;
}
.func-entry-hd{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:10px;
}
.func-entry-num{font-size:11px;font-weight:600;color:var(--mac-khaki);text-transform:uppercase;letter-spacing:.05em;}
.func-entry-rem{
  padding:2px 8px;border-radius:5px;border:1px solid rgba(229,57,53,0.25);
  background:rgba(229,57,53,0.07);color:rgba(229,57,53,0.7);
  font-size:10px;cursor:pointer;transition:background .15s,color .15s;
}
.func-entry-rem:hover{background:rgba(229,57,53,0.18);color:#E53935;}

.form-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  padding-top:14px;border-top:1px solid var(--border);margin-top:4px;
}
.form-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:8px 18px;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;
  cursor:pointer;border:1px solid transparent;transition:background .18s,border-color .18s,color .18s;
}
.form-btn--cancel{
  border-color:var(--border);background:var(--surface-2);color:var(--text-2);
}
.form-btn--cancel:hover{background:var(--surface-hi);color:var(--text-1);}
.form-btn--save{
  background:var(--mac-navy);border-color:var(--mac-accent);color:#fff;
}
.form-btn--save:hover{background:var(--mac-accent);}

/* ════════════════════════════════════════════════════════
   TOAST NOTIFICAÇÃO
════════════════════════════════════════════════════════ */
.toast-notify{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--mac-navy);border:1px solid var(--mac-accent);
  color:#fff;border-radius:10px;
  padding:10px 20px;font-size:13px;font-weight:500;
  z-index:9999;opacity:0;pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
  white-space:nowrap;
}
.toast-notify.visible{opacity:1;transform:translateX(-50%) translateY(0);}

/* Animação slideUp para modal */
@keyframes slideUp{from{transform:translateY(24px);opacity:0;}to{transform:translateY(0);opacity:1;}}

/* ════════════════════════════════════════════════════════
   ADMIN — botão, modal de login, edição
════════════════════════════════════════════════════════ */
.tb-action-btn--admin{
  background:rgba(245,158,11,0.10);
  border-color:rgba(245,158,11,0.28);
  color:var(--warn);
}
.tb-action-btn--admin:hover{background:rgba(245,158,11,0.20);border-color:rgba(245,158,11,0.5);}
.tb-action-btn--admin.admin-active{
  background:rgba(245,158,11,0.22);border-color:#F59E0B;color:#fff;
  box-shadow:0 0 10px rgba(245,158,11,0.35);
}

/* Admin login overlay */
.admin-modal-overlay{
  position:fixed;inset:0;z-index:2100;
  background:rgba(5,12,28,0.72);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .22s ease;
}
.admin-modal-overlay.open{opacity:1;pointer-events:all;}
.admin-modal-panel{
  background:var(--surface);border:1px solid var(--border-hi);border-radius:14px;
  padding:28px 28px 24px;width:320px;
  box-shadow:0 24px 60px rgba(0,0,0,0.4);
  animation:slideUp .22s ease;
}
.admin-modal-head{
  display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;
}
.admin-modal-title{
  font-size:15px;font-weight:600;color:var(--text-1);
}
.admin-modal-sub{font-size:11px;color:var(--text-2);margin-top:2px;}
.admin-modal-body{display:flex;flex-direction:column;gap:12px;}
.admin-field-group{display:flex;flex-direction:column;gap:4px;}
.admin-field-group label{font-size:10px;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;}
.admin-input{
  background:var(--surface-2);border:1px solid var(--border);border-radius:7px;
  color:var(--text-1);font-family:'DM Sans',sans-serif;font-size:13px;
  padding:8px 11px;outline:none;width:100%;
  transition:border-color .15s;
}
.admin-input:focus{border-color:var(--warn);}
.admin-login-error{
  font-size:11px;color:var(--crit);display:none;
  background:var(--crit-soft);border:1px solid var(--crit-mid);
  border-radius:6px;padding:6px 10px;
}
.admin-login-btn{
  background:rgba(245,158,11,0.18);border:1px solid rgba(245,158,11,0.4);
  color:var(--warn);border-radius:8px;padding:9px 16px;
  font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;
  cursor:pointer;transition:background .15s,border-color .15s;
  width:100%;
}
.admin-login-btn:hover{background:rgba(245,158,11,0.28);border-color:#F59E0B;}

/* Admin edit inputs inside collab modal */
.admin-edit-input{
  background:var(--surface-2);border:1px solid var(--border);border-radius:6px;
  color:var(--text-1);font-family:'DM Sans',sans-serif;font-size:12px;
  padding:6px 9px;outline:none;width:100%;
  transition:border-color .15s;
}
.admin-edit-input:focus{border-color:var(--warn);}
select.admin-edit-input{cursor:pointer;appearance:auto;}

/* Admin mode badge */
.admin-mode-badge{
  display:inline-block;background:rgba(245,158,11,0.18);border:1px solid rgba(245,158,11,0.35);
  color:var(--warn);font-size:9px;font-weight:700;letter-spacing:.06em;
  border-radius:4px;padding:1px 5px;vertical-align:middle;margin-left:6px;
}

/* Renovar EPI button */
.admin-renovar-btn{
  display:inline-block;margin-top:4px;
  padding:2px 8px;border-radius:5px;
  border:1px solid rgba(245,158,11,0.3);background:rgba(245,158,11,0.08);
  color:var(--warn);font-size:10px;font-weight:600;cursor:pointer;
  transition:background .15s;
}
.admin-renovar-btn:hover{background:rgba(245,158,11,0.2);}
.admin-epi-date-input{
  margin-top:4px;width:100%;border:1px solid var(--border-hi);
  border-radius:5px;background:var(--surface-2);color:var(--text-1);
  padding:3px 6px;font-size:11px;outline:none;
}
.admin-epi-confirm-btn{
  display:inline-block;margin-top:3px;padding:2px 8px;border-radius:5px;
  background:rgba(34,197,94,0.15);border:1px solid rgba(34,197,94,0.35);
  color:var(--ok);font-size:10px;font-weight:600;cursor:pointer;
}

/* Admin modal footer (save/remove) */
.admin-modal-footer{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0 0;margin-top:4px;border-top:1px solid var(--border);
}
.admin-save-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 16px;border-radius:7px;
  background:rgba(245,158,11,0.18);border:1px solid rgba(245,158,11,0.4);
  color:var(--warn);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;
  cursor:pointer;transition:background .15s;
}
.admin-save-btn:hover{background:rgba(245,158,11,0.28);}
.admin-remove-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 14px;border-radius:7px;
  background:var(--crit-soft);border:1px solid var(--crit-mid);
  color:var(--crit);font-family:'DM Sans',sans-serif;font-size:12px;font-weight:500;
  cursor:pointer;transition:background .15s;
}
.admin-remove-btn:hover{background:var(--crit-mid);}

/* Popup add-func button (admin mode) */
.admin-add-func-btn{
  border-style:dashed !important;
  opacity:0.7;
}
.admin-add-func-btn:hover{opacity:1;background:var(--surface-hi) !important;}

