:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#192b40;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.layout{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:#13263d;color:#fff;padding:30px 22px;display:flex;flex-direction:column}.brand{font-weight:800;font-size:30px;letter-spacing:-1px}.brand span{color:#40c3af}.side-label,.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:800;color:#7a90a8}.sidebar nav{display:grid;gap:8px;margin-top:28px}.sidebar a{color:#c1cddd;text-decoration:none;padding:12px;border-radius:9px;font-size:14px}.sidebar a.active,.sidebar a:hover{background:#23405a;color:#fff}.sidebar small{display:block;opacity:.62;font-size:10px;margin-top:3px}.sidebar-footer{margin-top:auto;color:#9baec4;font-size:12px;line-height:1.7}.main{padding:42px;max-width:1300px;width:100%;margin:auto}header,.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}h1{font-size:32px;margin:8px 0}h2{font-size:19px;margin:0}.muted{color:#718198;margin:8px 0}.tag{border:1px solid #dce5f1;background:#fff;color:#48637b;padding:8px 12px;border-radius:25px;font-size:12px;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px 0}.stats article,.panel,.notice{background:#fff;border:1px solid #e6ebf2;border-radius:14px;padding:24px;box-shadow:0 6px 24px #162c4510}.stats article{display:grid;gap:10px}.stats span{color:#738399;font-size:13px}.stats strong{font-size:33px}.stats small{color:#8a97a8}.panel-head{margin-bottom:24px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:13px 10px;border-bottom:1px solid #e8edf3;font-size:14px}th{color:#6d7c8d;font-size:12px;font-weight:700}td:first-child{font-weight:600}.notice{margin-top:20px;color:#53677c;line-height:1.7;background:#eef5f7}@media(max-width:780px){.layout{grid-template-columns:1fr}.sidebar{padding:20px}.sidebar nav{display:flex;overflow:auto;margin-top:10px}.sidebar a{white-space:nowrap}.sidebar-footer{display:none}.main{padding:24px}header{flex-direction:column}.stats{grid-template-columns:1fr}.panel{padding:15px}}
button,input,select{font:inherit}.button{border:1px solid #d4e1ea;color:#29425d;background:#fff;padding:10px 14px;border-radius:9px;cursor:pointer;white-space:nowrap}.button:hover{background:#edf4f7}.button.primary{color:white;background:#167e8c;border-color:#167e8c}.button.primary:hover{background:#116575}.button:disabled{opacity:.5;cursor:wait}.button.small{padding:7px 10px;font-size:12px}.filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.filters input[type=search],.filters select,dialog input,dialog select{border:1px solid #dce5f1;border-radius:9px;padding:11px;background:white;color:#192b40}.filters input[type=search]{min-width:245px;flex:1}.inline-check{display:flex;gap:7px;align-items:center;font-size:13px;color:#4d647a}.actions{display:flex;gap:7px}.feedback{min-height:18px;color:#13796b;font-size:13px}.error{color:#b22e40!important}dialog{width:min(440px,calc(100vw - 24px));border:0;border-radius:16px;padding:28px;box-shadow:0 18px 70px #12263842}dialog::backdrop{background:#13263d85}dialog form{display:grid;gap:14px}dialog label{display:grid;gap:6px;color:#53677c;font-size:13px}dialog input,dialog select{width:100%}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}@media(max-width:780px){.panel-head{flex-direction:column}.actions{flex-direction:column}}

/* GT01 v0.3: calendario semanal */
.calendar-panel{margin-top:22px}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}.calendar-toolbar strong{font-size:15px;min-width:170px;text-align:center}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:9px;overflow-x:auto}.day-column{border:1px solid #e0e8f1;border-radius:10px;padding:10px;min-height:180px;background:#f9fbfd}.day-heading{font-weight:700;text-transform:capitalize;font-size:12px;padding-bottom:10px;border-bottom:1px solid #e5edf4}.no-shifts{color:#9ca8b7;font-size:12px}.shift-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:10px 23px 10px 9px;background:#e2f2f2;border-left:3px solid #16828a;border-radius:7px;margin-top:10px;overflow-wrap:anywhere}.shift-card strong{font-size:12px}.shift-card span{font-size:12px;font-weight:600}.shift-card small{font-size:11px;color:#54717b}.remove-shift{position:absolute;right:5px;top:5px;border:0;background:transparent;color:#6a7b88;font-size:18px;cursor:pointer}.add-day{border:1px dashed #b5c9d6;background:transparent;border-radius:7px;width:100%;margin-top:12px;padding:7px;color:#1b6c78;cursor:pointer}.time-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.time-fields label{min-width:0}tr:has(td):hover{background:#f7fafc}@media(max-width:1080px){.week-grid{grid-template-columns:repeat(7,160px)}}

/* GT01 v0.4 */
.absence-open{background:#fff3ee}.shift-card.shift-absent{background:#fff0e9;border-left-color:#d86e43}.shift-card.shift-covered{background:#ebf5ea;border-left-color:#4a9861}#absence-rows td:nth-child(4){font-weight:700}#absence-rows td{vertical-align:middle}

/* v0.5 */
[hidden]{display:none!important}.auth-body{min-height:100vh;display:grid;place-items:center;background:#f3f6fa;padding:20px}.auth-card{background:white;border-radius:18px;padding:35px;width:min(450px,100%);box-shadow:0 15px 55px #14304c22}.auth-card form{display:grid;gap:15px;margin-top:25px}.auth-card label{display:grid;gap:6px;font-size:14px}.auth-card input{padding:12px;border:1px solid #cbd8e2;border-radius:8px;width:100%}.auth-card button{margin-top:5px}.sidebar>button{margin-top:20px}#credentials-password{overflow-wrap:anywhere;font-size:16px}
/* GT01 v0.6: navegación fija en escritorio y portal de disponibilidad */
@media(min-width:781px){.layout{height:100vh;overflow:hidden}.sidebar{height:100vh;min-height:0;overflow-y:auto;overscroll-behavior:contain}.main{height:100vh;min-height:0;overflow-y:auto;max-width:none;margin:0;overscroll-behavior:contain}.main>header,.main>.stats,.main>.panel,.main>.notice{max-width:1370px;margin-left:auto;margin-right:auto}}
.portal-body{display:block;padding:32px 18px}.portal-card{max-width:980px;width:100%;margin:0 auto}.portal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.portal-note{padding:14px;background:#eaf4f5;border-radius:10px;line-height:1.5}.portal-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.portal-section{border:1px solid #e3eaf0;border-radius:12px;padding:22px;min-width:0}.portal-section h2{margin-bottom:16px}.portal-section h3{font-size:15px}.portal-list{padding-left:20px}.portal-list li{padding:10px 0;border-bottom:1px solid #e9edf2;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.extra-form{display:grid;gap:12px}.extra-form label{display:grid;gap:5px;font-size:13px}.extra-form input{border:1px solid #cbd8e2;border-radius:8px;padding:10px;width:100%;min-width:0}.extra-form button{justify-self:start}@media(max-width:780px){.portal-columns{grid-template-columns:1fr}.portal-top{flex-direction:column}.portal-card{padding:22px}}

/* v0.7 centro de control */
.coverage-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;margin:20px 0}
.coverage-item{border:1px solid #d9e3ec;border-radius:12px;padding:20px;background:#f8fbfe}
.coverage-item h3{margin:0 0 8px;font-size:1rem}.coverage-item p{color:#536c83}
.coverage-list{list-style:none;padding:0;margin:16px 0}.coverage-list li{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #e2ebef;flex-wrap:wrap}
.coverage-tag{font-size:.76rem;border-radius:20px;padding:5px 10px;background:#e8edf3;color:#596d7c}.coverage-tag.yes{background:#d9f3e6;color:#156b49}

\n/* GT01 v0.8.3 · Corporate Precision. Solo presentación. */
:root{--gt-navy:#12263e;--gt-teal:#177e89;--gt-mint:#35c4b5;--gt-bg:#f2f5f9;--gt-stroke:#dfe6ee;--gt-red:#c94d55;--gt-amber:#f0a34a;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--gt-navy);background:var(--gt-bg)}
body,.auth-body{background:var(--gt-bg)}
.sidebar{background:var(--gt-navy);border-right:1px solid #294158;padding:27px 18px}
.brand{font-size:32px;letter-spacing:-1.5px}.brand span{color:var(--gt-mint)}
.sidebar nav{gap:5px;margin-top:30px}.sidebar a{display:flex;align-items:center;gap:11px;border-radius:10px;padding:11px 12px;transition:background .18s}.sidebar a.active,.sidebar a:hover{background:#26445d;color:#fff}
.gt-icon{width:19px;height:19px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sidebar .gt-icon{color:#99c5d0}.sidebar a.active .gt-icon{color:var(--gt-mint)}
.main{padding:36px 38px 70px}.main>header{padding-bottom:8px}.main>header h1{font-size:30px;letter-spacing:-.7px}
.stats{gap:15px;margin:22px auto}.stats article,.panel,.notice{border:1px solid var(--gt-stroke);border-radius:12px;box-shadow:0 5px 24px #152e4210}
.stats article{position:relative;border-top:3px solid var(--gt-teal);padding:23px}.stats article strong{font-size:36px;letter-spacing:-1px;color:var(--gt-navy)}
.stats article:first-child{border-top-color:var(--gt-mint)}.stats article:last-child{border-top-color:var(--gt-amber)}
.button{border-color:#d2dee9;border-radius:9px;transition:background .15s,transform .15s}.button.primary{background:var(--gt-teal);border-color:var(--gt-teal)}.button:active{transform:translateY(1px)}
.panel{padding:0;overflow:visible;margin-top:16px}.panel .gt-module-header{border:0;display:flex;width:100%;align-items:center;gap:14px;padding:17px 20px;background:#fff;color:var(--gt-navy);border-radius:12px;text-align:left;cursor:pointer;font:inherit}.panel .gt-module-header:focus-visible{outline:3px solid var(--gt-mint);outline-offset:2px}
.gt-module-badge{width:42px;height:42px;background:#e8f5f3;color:var(--gt-teal);display:flex;align-items:center;justify-content:center;border-radius:11px;flex-shrink:0}.gt-module-copy{flex:1;min-width:0}.gt-module-title{display:block;font-size:16px;font-weight:750;margin-bottom:5px}.gt-module-summary{display:block;color:#647a8b;font-size:12px;line-height:1.45}.gt-chevron{color:#7c94a5;transition:transform .16s}.panel.gt-expanded .gt-chevron{transform:rotate(180deg)}.gt-module-body{padding:0 22px 24px;border-top:1px solid #edf1f5}.gt-module-body>.panel-head{padding-top:20px}
.gt-collapse-controls{display:flex;gap:9px;align-items:center;justify-content:flex-end;margin:12px auto 3px;max-width:1370px}.gt-collapse-controls .button{font-size:12px}
.gt-overview{max-width:1370px;margin:5px auto 22px;border-radius:10px;background:#e5f3f1;color:#1b6670;padding:13px 16px;font-size:13px;display:flex;align-items:center;gap:10px}
#ausencias .gt-module-badge{background:#fff0e9;color:#ba6342}#cobertura .gt-module-badge{background:#edf3fa;color:#376993}#ofertas .gt-module-badge{background:#e7f2fc;color:#276f9c}
.week-grid{padding-top:8px}.day-column{background:#f8fafc}.shift-card.shift-absent{border-left-color:var(--gt-red)}.coverage-item{background:#f8fafc}
.portal-card{box-shadow:0 8px 34px #162c4512}.portal-section{background:#fff}.auth-card{border:1px solid var(--gt-stroke)}
@media(min-width:781px){.sidebar{position:sticky;top:0}.main{scroll-behavior:smooth}}
@media(max-width:780px){.main{padding:18px 14px 40px}.panel .gt-module-header{padding:14px}.gt-module-body{padding:0 13px 18px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats article{padding:15px}.stats article strong{font-size:28px}.gt-collapse-controls{justify-content:flex-start}.sidebar nav{gap:8px}.sidebar a{min-width:max-content}}
@media(prefers-reduced-motion:reduce){.sidebar a,.button,.gt-chevron{transition:none!important}.main{scroll-behavior:auto!important}}

/* GT01 - Corporate Precision
   Corrección del menú lateral */

.sidebar {
    background: #12263E !important;
    color: #FFFFFF !important;
    border-right: 1px solid #203A54;
}

.sidebar a,
.sidebar button,
.sidebar .nav-link {
    color: #C2D0DC;
}

.sidebar a:hover,
.sidebar .nav-link:hover {
    background: #203F55;
    color: #FFFFFF;
}

.sidebar a.active,
.sidebar .nav-link.active {
    background: #177E89 !important;
    color: #FFFFFF !important;
}

.sidebar h1,
.sidebar h2,
.sidebar strong {
    color: #FFFFFF;
}
