:root{--bg:#f6f7f8;--panel:#fff;--muted:#7b8794;--text:#202124;--line:#e8eaed;--teal:#58b6c6;--teal2:#e8f7fa;--blue:#3b82f6;--green:#3aa76d;--red:#dc4c64;--orange:#f59e0b;--purple:#8b5cf6;--soft:#f1f3f4;--shadow:0 8px 22px rgba(24,39,75,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;font-size:14px}.app{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 14px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:10px;margin:0 8px 26px}.brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#14b8a6,#8b5cf6,#ec4899);box-shadow:0 8px 18px rgba(88,182,198,.25)}.brand h1{font-size:20px;line-height:1;margin:0;font-weight:900}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.nav-section-title{color:#9aa3ad;text-transform:uppercase;font-weight:800;font-size:11px;margin:18px 10px 8px;letter-spacing:.4px}.nav-btn,.office-toggle,.group-btn{width:100%;border:0;background:transparent;text-align:left;border-radius:10px;padding:11px 12px;color:#111827;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px}.nav-btn:hover,.office-toggle:hover,.group-btn:hover{background:#f3f6f7}.nav-btn.active,.office-toggle.active,.group-btn.active{background:var(--teal2);color:#2b95a7}.ico{width:20px;text-align:center;color:var(--teal)}.office-toggle{justify-content:space-between}.office-name{display:flex;gap:10px;align-items:center}.chev{transition:.2s}.office-toggle.active .chev{transform:rotate(90deg)}.office-groups{display:none;margin:4px 0 10px 18px;padding-left:10px;border-left:2px solid #e6f2f5}.office-groups.open{display:block}.group-btn{font-size:12.5px;padding:8px 10px;color:#4b5563}.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:20}.page-title{font-size:24px;font-weight:900}.top-actions{display:flex;align-items:center;gap:12px}.search{border:0;background:#f1f3f4;border-radius:8px;padding:10px 14px;min-width:280px}.circle{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f4f6f7;color:#64748b}.content{padding:24px 28px}.panel{display:none}.panel.active{display:block}.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.select,.input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;min-height:38px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.card-title{font-size:18px;font-weight:900}.sub{color:var(--muted);font-size:12px}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.kpi .label{font-size:12px;color:var(--muted);font-weight:800;text-transform:uppercase}.kpi .value{font-size:23px;font-weight:900;margin-top:8px}.green{color:var(--green)}.red{color:var(--red)}.blue{color:var(--blue)}.orange{color:var(--orange)}.purple{color:var(--purple)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:1050px;background:#fff}th{background:#fafafa;color:#6b7280;text-align:left;font-size:12px;font-weight:900;padding:13px;border-bottom:1px solid var(--line)}td{padding:14px 13px;border-bottom:1px solid #f0f1f2;vertical-align:middle}tr:hover td{background:#fbfdfe}.creator{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:900;background:linear-gradient(135deg,#58b6c6,#8b5cf6)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.badge.green{background:#eaf7ef;color:#2e8b57}.badge.yellow{background:#fff7dd;color:#a16207}.badge.red{background:#fdecef;color:#be123c}.badge.blue{background:#e9f2ff;color:#1d4ed8}.badge.gray{background:#eef2f7;color:#475569}.office-pill{background:#eef9fb;color:#288a9b;border:1px solid #cceef4}.progress{height:14px;background:#eef1f3;border-radius:999px;overflow:hidden}.progress>div{height:100%;border-radius:999px;background:linear-gradient(90deg,#58b6c6,#38bdf8)}.progress.good>div{background:linear-gradient(90deg,#22c55e,#86efac)}.progress.bad>div{background:linear-gradient(90deg,#ef4444,#fb7185)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.note{border-left:4px solid var(--teal);background:#f5fbfd;border-radius:12px;padding:12px 14px;margin:10px 0;color:#334155}.note.redline{border-left-color:var(--red);background:#fff6f7}.note.greenline{border-left-color:var(--green);background:#f5fbf7}.mini-row{display:grid;grid-template-columns:180px 1fr 90px;gap:10px;align-items:center;margin:12px 0}.group-layout{display:grid;grid-template-columns:1fr 360px;gap:18px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day,.weekday{border:1px solid var(--line);border-radius:10px;min-height:86px;padding:8px;text-align:center;background:#fff}.weekday{min-height:auto;color:#64748b;font-weight:900;background:#fafafa}.day.good{background:#f0fbf4;border-color:#bde8ca}.day.warn{background:#fff9e8;border-color:#fde68a}.day.bad{background:#fff1f2;border-color:#fecdd3}.day input{width:100%;border:1px solid var(--line);border-radius:7px;padding:5px;text-align:center;margin-top:6px}.workdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px;text-align:center;font-weight:800;cursor:pointer}.chip.active{background:var(--teal2);color:#2b95a7;border-color:#b7e6ee}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;color:#64748b;font-weight:900;font-size:12px;margin-bottom:6px}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px}.primary,.danger,.ghost{border:0;border-radius:9px;padding:10px 14px;font-weight:900;cursor:pointer}.primary{background:var(--teal);color:white}.danger{background:var(--red);color:white}.ghost{background:#eef2f7;color:#334155}.admin-only{border:1px dashed #b7e6ee;background:#fbfeff}.locked{opacity:.55;pointer-events:none}.small-actions{display:flex;gap:8px;flex-wrap:wrap}.heat{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.heat div{padding:14px 8px;border-radius:12px;text-align:center;font-weight:900;background:#eef9fb;color:#288a9b}.heat .hot{background:#fff1f2;color:#be123c}.heat .cold{background:#eff6ff;color:#1d4ed8}@media(max-width:1100px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.kpi-grid,.grid-3{grid-template-columns:repeat(2,1fr)}.group-layout,.grid-2{grid-template-columns:1fr}.topbar{position:relative}.search{min-width:160px}}.theme-toggle{display:flex;align-items:center;gap:6px;cursor:pointer}.theme-toggle input{display:none}.theme-toggle-label{font-size:18px;line-height:1}@media(max-width:640px){.content{padding:16px}.kpi-grid,.grid-3,.form-grid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(2,1fr)}}

/* Custom V2 changes */
.yellow{color:#d97706}
#groupPanel .kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1100px){#groupPanel .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){#groupPanel .kpi-grid{grid-template-columns:1fr}}

.analytics-calendar-wrap{overflow-x:auto;padding:2px 2px 8px}
.calendar.analytics-calendar{grid-template-columns:repeat(7,minmax(84px,1fr)) minmax(120px,1.2fr) minmax(110px,1.05fr);min-width:900px}
.analytics-summary-header{background:#eef9fb;color:#288a9b}
.analytics-week-summary{display:flex;flex-direction:column;justify-content:center;gap:7px;background:#f8fbfc}
.analytics-week-summary .label{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}
.analytics-week-value{font-size:15px;font-weight:900}
.analytics-week-behavior{font-size:11px;font-weight:900}
.analytics-week-total{background:#f5fbf7}
.analytics-weekday-title{font-size:14px;font-weight:900;margin:18px 0 10px}
.analytics-weekday-averages{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:8px}
.analytics-weekday-average{border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center;background:#fff}
.analytics-weekday-average .label{color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase}
.analytics-weekday-average .sub{margin-top:5px}
.analytics-weekday-average .value{font-size:15px;font-weight:900;margin-top:5px;color:var(--purple)}
@media(max-width:1100px){.analytics-weekday-averages{grid-template-columns:repeat(4,minmax(120px,1fr))}}
@media(max-width:640px){.calendar.analytics-calendar{grid-template-columns:repeat(7,minmax(84px,1fr)) minmax(120px,1.2fr) minmax(110px,1.05fr)}.analytics-weekday-averages{grid-template-columns:repeat(2,minmax(120px,1fr))}}

.group-quick-config{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) minmax(320px,1.5fr);gap:18px;align-items:end;margin-top:14px}
.group-quick-label{color:#64748b;font-size:12px;font-weight:900;margin-bottom:6px}
@media(max-width:900px){.group-quick-config{grid-template-columns:1fr}}

/* Modal de Metas de Hoy */
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);display:none;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px);transition:opacity 0.3s ease}
.modal-content{background:var(--panel);border:1px solid var(--line);border-radius:20px;width:90%;max-width:460px;box-shadow:var(--shadow);padding:24px;position:relative;animation:modalSlideIn 0.3s ease}
@keyframes modalSlideIn{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-header{display:flex;justify-content:flex-end;margin-bottom:8px}
.modal-close{font-size:28px;font-weight:bold;color:var(--muted);cursor:pointer;line-height:1}
.modal-close:hover{color:var(--text)}
.modal-body{color:var(--text)}

/* Esferas de estatus 3D */
.status-circle{width:22px;height:22px;border-radius:50%;display:inline-block;box-shadow:inset -2px -2px 6px rgba(0,0,0,0.45), 2px 2px 5px rgba(0,0,0,0.25);vertical-align:middle}
.status-circle.red{background:radial-gradient(circle at 35% 35%,#ff8888,#ff0000 60%,#990000)}
.status-circle.yellow{background:radial-gradient(circle at 35% 35%,#ffeb3b,#ff9800 60%,#c66900)}
.status-circle.green{background:radial-gradient(circle at 35% 35%,#a5d6a7,#4caf50 60%,#1b5e20)}
.status-circle.blue{background:radial-gradient(circle at 35% 35%,#90caf9,#2196f3 60%,#0d47a1)}
.status-circle.gray{background:radial-gradient(circle at 35% 35%,#e0e0e0,#9e9e9e 60%,#424242)}

/* Asegurar legibilidad del texto de necesario en tema claro */
body.light-theme .forecast .num{color:#374151}
