:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#19303b;background:#f4f7f7}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:#102936;color:#eef9f7;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:16px;font-weight:800;letter-spacing:.1em}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.02em;opacity:.7;margin-top:3px}.brand-mark{width:37px;height:37px;display:grid;place-items:center;background:#16b68d;border-radius:10px;color:#07332b;font-size:22px}.sidebar nav{display:grid;gap:5px;margin-top:48px}.sidebar a{color:#d6e5e6;text-decoration:none;padding:12px 14px;border-radius:9px;font-size:14px}.sidebar a.active,.sidebar a:hover{background:#224653;color:#fff}.sidebar-note{margin-top:auto;font-size:12px;line-height:1.5;color:#abc5c9}.main{min-width:0;padding:28px clamp(20px,3vw,48px)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:#14826d}h1{font-size:30px;margin:6px 0 0;letter-spacing:-.04em}.account{display:flex;gap:12px;align-items:center;font-size:13px}.account button{border:1px solid #d0dddd;background:white;border-radius:7px;padding:8px 12px}.toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:28px 0}.toolbar label,.login-card label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#46606a}.toolbar input,.login-card input{border:1px solid #cbdbdf;background:#fff;border-radius:8px;padding:10px 11px;color:#19303b}.primary{border:0;background:#0d8b72;color:white;border-radius:8px;padding:11px 16px;font-weight:700}.primary:hover{background:#076e59}.muted{color:#70838a;font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card,.panel{background:white;border:1px solid #e0e9e9;border-radius:14px;box-shadow:0 3px 14px rgba(22,55,65,.035)}.card{padding:20px}.card .label{color:#637c82;font-size:12px;font-weight:700}.card strong{display:block;font-size:27px;letter-spacing:-.04em;margin-top:12px}.card small{color:#6b8289;font-size:11px}.panel{padding:20px;margin-top:18px;overflow:auto}.panel h2{font-size:17px;margin:0 0 14px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.list{list-style:none;margin:0;padding:0}.list li{padding:11px 0;border-top:1px solid #edf2f2;font-size:13px}.list li:first-child{border-top:0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#e4f6ef;color:#10755e;white-space:nowrap}.badge.warn{background:#fff0dd;color:#a85d00}.badge.neutral{background:#edf2f3;color:#526971}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:11px 10px;border-bottom:1px solid #e9eeee;vertical-align:top}th{font-size:11px;color:#668088;white-space:nowrap}td small{display:block;color:#69818a;margin-top:3px}.error{background:#ffeded;border:1px solid #f2b9b9;color:#922c2c;padding:13px;border-radius:9px;margin:16px 0}.loading{padding:30px;color:#71878a}.empty{color:#71878a;font-size:13px}footer{font-size:11px;color:#819397;margin:25px 0;line-height:1.5}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 10%,#d4eee7,transparent 38%),#f4f7f7}.login-card{width:min(410px,calc(100vw - 32px));padding:32px;background:white;border:1px solid #e1eaea;border-radius:20px;box-shadow:0 20px 70px rgba(18,53,61,.12)}.login-card h1{margin:28px 0 4px;font-size:25px}.login-card p{color:#617982;font-size:13px}.login-card form{display:grid;gap:15px;margin-top:25px}.login-card button{margin-top:8px}.login-card .brand{color:#183743}@media(max-width:950px){.cards{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}}@media(max-width:700px){.shell{display:block}.sidebar{padding:14px 18px}.sidebar nav{display:flex;overflow:auto;gap:3px;margin-top:16px}.sidebar a{white-space:nowrap}.sidebar-note{display:none}.main{padding:20px}.topbar{align-items:start}.cards{grid-template-columns:repeat(2,1fr)}h1{font-size:25px}.account{flex-direction:column;align-items:end}}@media(max-width:420px){.cards{grid-template-columns:1fr 1fr}.card{padding:14px}.card strong{font-size:22px}.toolbar{gap:8px}}
.cal-filters{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.cal-filters label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#607982}.cal-filters select{min-width:150px;border:1px solid #cbdbdf;border-radius:8px;background:#fff;padding:8px;color:#19303b}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cal-weekday{text-align:center;color:#637d83;font-size:11px;font-weight:800;padding:8px}.cal-blank{min-height:90px}.cal-day{min-height:100px;text-align:left;display:flex;flex-direction:column;gap:4px;border:1px solid #e1eaea;background:#fbfdfd;border-radius:8px;padding:7px;min-width:0}.cal-day:hover,.cal-day.selected{border-color:#0c9375;background:#f0faf6}.cal-number{font-weight:800;font-size:12px}.cal-item,.cal-holiday,.cal-extra{font-size:10px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.cal-item{border-radius:4px;padding:3px 4px}.cal-item.work{background:#dcf3eb;color:#086951}.cal-item.absence{background:#e9e7f9;color:#5e55a1}.cal-item.missing{background:#ffedd9;color:#9b5800}.cal-holiday{color:#9b5800;font-weight:700}.cal-extra{color:#55727a}.list small{display:block;color:#68818a;margin-top:5px}@media(max-width:650px){.cal-day{min-height:65px;padding:4px}.cal-item,.cal-holiday{display:none}.cal-number{font-size:11px}.cal-extra{font-size:9px}.calendar{gap:2px}}
.login-card .login-help{display:block;margin-top:-7px;color:#617982;font-size:12px;font-weight:400;line-height:1.45}

/* Inicio y bandeja de partes */
.dashboard-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 22px}
.dashboard-intro h2{font-size:25px;letter-spacing:-.035em;margin:6px 0}
.dashboard-intro p{margin:0;color:#667f86;font-size:13px}
.live-pill{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid #bfe5d5;background:#e9f8f1;color:#09684f;padding:8px 11px;border-radius:999px;font-size:11px;font-weight:800}
.live-pill:before{content:'';width:7px;height:7px;background:#15a678;border-radius:50%}
.dashboard-metrics .card{border-top:3px solid #18a482}
.dashboard-grid .panel{margin-top:18px}
.task-row,.activity-row,.part-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #e9eeee}
.task-row:first-of-type,.activity-row:first-of-type,.part-row:first-of-type{border-top:0}
.task-row strong,.activity-row strong,.part-row strong{display:block;font-size:13px}
.task-row small,.activity-row small,.part-row small{display:block;color:#71878a;font-size:11px;line-height:1.5;margin-top:4px}
.task-action{display:flex;align-items:center;gap:12px;flex-shrink:0}
.task-count{display:inline-grid;place-items:center;min-width:29px;height:29px;border-radius:8px;background:#edf5f3;color:#0e6b58;font-weight:800;font-size:13px}
.text-button{border:1px solid #c9ddda;background:#fff;color:#086f59;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:800}
.text-button:hover,.text-button:focus-visible{background:#eaf7f2;border-color:#0d8b72}
.panel-footnote{font-size:11px;color:#71878a;line-height:1.5;margin:14px 0 0}
.approved-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.approved-totals div{border-left:3px solid #d1e8df;padding-left:12px}
.approved-totals strong,.approved-totals small{display:block}
.approved-totals strong{font-size:20px}.approved-totals small{font-size:11px;color:#71878a;margin-top:2px}
.part-detail{border-top:1px solid #e9eeee}
.part-detail summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;cursor:pointer;list-style:none}
.part-detail summary::-webkit-details-marker{display:none}
.part-detail summary:before{content:'›';font-size:21px;color:#0c896d;margin-right:5px}
.part-detail[open] summary:before{transform:rotate(90deg)}
.part-summary{flex:1}.part-summary strong,.part-summary small{display:block}.part-summary strong{font-size:13px}.part-summary small{color:#71878a;font-size:11px;margin-top:3px}
.part-detail-body{background:#f8fbfa;border:1px solid #e4eeee;border-radius:9px;padding:15px;margin:0 0 16px}
.report-detail+.report-detail{border-top:1px solid #e2ebeb;margin-top:14px;padding-top:14px}
.report-title{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}
.report-meta{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:10px;font-size:11px;color:#56717a}
.report-detail p{font-size:12px;margin:10px 0 0;line-height:1.5}
@media(max-width:900px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.dashboard-intro{align-items:start;flex-direction:column}.approved-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.task-row,.part-row{align-items:start}.task-action{gap:6px}}

/* Identidad dentro del área autenticada */
.panel-logo{width:100%;background:#000;border:1px solid #30474c;border-radius:12px;overflow:hidden}
.panel-logo img{display:block;width:100%;height:auto}
.sidebar .panel-logo+nav{margin-top:28px}
.login-card h1{margin-top:0}
@media(max-width:700px){.sidebar .panel-logo{max-width:190px}.sidebar .panel-logo+nav{margin-top:12px}}

/* Recuento de dietas por unidades comerciales */
.approved-totals{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1100px){.approved-totals{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.approved-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
