:root{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;color:#203044;background:#f4f7fa;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:#1c598a;text-decoration:none}a:hover{text-decoration:underline}.top{background:#112e45;color:white}.top-inner{max-width:1440px;margin:auto;display:flex;align-items:center;gap:22px;padding:14px 26px}.brand{color:white;font-weight:750;font-size:19px;white-space:nowrap}.top nav{display:flex;flex-wrap:wrap;gap:15px;flex:1}.top nav a{color:#e0ebf5}.exit{margin:0}.container{max-width:1440px;margin:auto;padding:26px}h1{font-size:25px;margin:0 0 12px}h2{font-size:18px;margin:0 0 16px}p{line-height:1.5}input,select,textarea{font:inherit;width:100%;padding:11px;border:1px solid #cbd6e2;border-radius:8px;background:white;color:#253144;min-width:0}label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;margin-bottom:15px}button,.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid #165b93;border-radius:8px;background:#1768a4;color:white;font:inherit;font-weight:650;padding:11px 15px;cursor:pointer;white-space:nowrap}button:hover,.button:hover{filter:brightness(.93);text-decoration:none}.secondary{background:white;color:#255376;border-color:#cbd6e2}.small{padding:8px 12px}.card{background:#fff;border:1px solid #dde5ed;border-radius:12px;padding:20px;margin-bottom:18px;box-shadow:0 2px 4px #15253609}.two{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.2fr);gap:18px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.inline-check{flex-direction:row;align-items:center}.inline-check input{width:auto}.muted{color:#607085}.stats{display:flex;gap:16px;margin:22px 0;flex-wrap:wrap}.stat{background:white;border:1px solid #dae4ed;border-radius:10px;padding:20px;min-width:160px;display:flex;flex-direction:column}.stat b{font-size:30px}.stat span{color:#66798e}.toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:16px}.toolbar label{margin:0;min-width:180px}.item{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #e8edf2;padding:14px 0}.item:first-of-type{padding-top:0}.item:last-of-type{border-bottom:0}.item p{margin:4px 0}.alert{padding:13px 16px;border-radius:9px;margin-bottom:15px}.success{background:#e7f5ee;color:#176044;border:1px solid #b8dccb}.error{background:#fdf0ef;color:#9b322d;border:1px solid #e9c1bc}.warning{border-color:#f0d79a;background:#fffdf6}.warning li{margin:5px 0}.actions{display:flex;gap:10px;align-items:center;margin:16px 0;flex-wrap:wrap}.actions form{margin:0}.scroll-table{overflow:auto;background:white;border:1px solid #dce5ed;border-radius:10px;max-width:100%}.roster{border-collapse:separate;border-spacing:0;white-space:nowrap;width:max-content;min-width:100%}.roster th,.roster td{border-bottom:1px solid #e8edf4;border-right:1px solid #edf1f5;padding:9px 6px;text-align:center;min-width:34px}.roster thead th{background:#edf4f9;position:sticky;top:0;z-index:1}.roster .worker{background:white;text-align:left;position:sticky;left:0;z-index:2;min-width:175px;max-width:220px}.roster .worker small{display:block;color:#66798e;margin-top:3px}.roster thead th:first-child{position:sticky;left:0;z-index:3}.roster thead small{display:block;font-size:10px;color:#697889}.roster .sunday{border-left:2px solid #d4bcc0}.roster .work{background:#e8f2fd}.roster .off{background:#e2f2e8}.roster .special{background:#fff0d9}.roster .empty{background:#fafbfc}.roster td a{display:block;color:#243c51;font-weight:700}.legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:14px 0 24px}.dot{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:4px;border:1px solid #d8e2ed}.dot.work{background:#e8f2fd}.dot.off{background:#e2f2e8}.dot.special{background:#fff0d9}.edit-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;gap:10px;align-items:end}.edit-grid label{margin:0}.edit-grid button{margin-bottom:0}footer{color:#748395;margin-top:35px;text-align:center;font-size:12px}.auth-card{margin:10vh auto;max-width:410px;background:white;border:1px solid #dce5ed;border-radius:14px;padding:30px;box-shadow:0 10px 40px #233d5715}.auth-card h1{color:#195d92}.auth-card button{width:100%}.auth-card p{color:#647486}.subtle{background:#fafdff}@media(max-width:780px){.top-inner{display:block;padding:15px}.top nav{margin:14px 0;gap:10px}.container{padding:16px}.two,.edit-grid{grid-template-columns:1fr}.two-fields{grid-template-columns:1fr}.roster .worker{min-width:140px;font-size:11px}.stats{gap:8px}.stat{min-width:120px;padding:12px}}@media print{.top,.toolbar,.actions,.edit-grid,.legend,footer,.alert,.warning,#editar-dia{display:none!important}.container{padding:0}.scroll-table{overflow:visible}.roster{font-size:9px}.roster th,.roster td{padding:3px;min-width:auto}}

.three-fields{display:grid;grid-template-columns:repeat(3,minmax(80px,1fr));gap:10px}.days-open{display:flex;flex-wrap:wrap;gap:9px 16px;margin:12px 0 15px}.days-open label{margin:0;padding:9px 10px;background:#f3f7fb;border:1px solid #dae4ed;border-radius:7px;font-size:12px}.card h3{margin:19px 0 12px;font-size:15px;color:#234664}@media(max-width:780px){.three-fields{grid-template-columns:1fr 1fr}.days-open{gap:7px}}
/* Página de simulação sem login */
.top nav span{color:#dce8f4}.admin-link{color:#eff8ff;font-size:12px;border:1px solid #7b9fb8;padding:9px 12px;border-radius:8px;white-space:nowrap}
.sim-container{max-width:1400px}.sim-hero{padding:20px 0 18px;max-width:840px}.sim-hero h1{font-size:34px;letter-spacing:-.8px;margin:7px 0}.sim-hero p{font-size:16px;color:#546577;line-height:1.65}
.sim-kicker{color:#2071a3;font-size:11px;font-weight:800;letter-spacing:2px}.sim-layout{display:grid;grid-template-columns:minmax(450px,1.65fr) minmax(280px,0.85fr);gap:22px;align-items:start}.sim-settings,.sim-aside{padding:26px}.sim-settings h3{font-size:15px;color:#244965;margin:22px 0 12px}.sim-settings label{font-weight:600}.sim-small{font-size:12px;margin-top:-4px}.sim-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}.sim-step{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #e9eff5}.sim-step>b{border-radius:10px;background:#e6f2fb;color:#1f5b8b;padding:9px 10px}.sim-step strong{display:block;margin-bottom:5px}.sim-step p{margin:0;color:#617589;font-size:13px}.sim-info{margin-top:24px;background:#f0f5fb;border:1px solid #d9e6f2;color:#36536c}.sim-info p{margin:7px 0 0}.sim-result{margin-top:30px;scroll-margin-top:20px}.sim-result-head{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:15px}.sim-result-head h2{font-size:25px;margin:5px 0}.sim-stats{margin:18px 0}.sim-stats .stat{flex:1;min-width:135px}.sim-scroll{margin-top:12px}.sim-result .roster tfoot th,.sim-result .roster tfoot td{background:#e9f0f7;font-weight:800}.sim-result .roster tfoot .worker{z-index:2}.sim-result .roster .worker{min-width:160px}.sim-print{margin-bottom:12px}
@media(max-width:850px){.sim-layout{grid-template-columns:1fr}.sim-hero h1{font-size:28px}.sim-settings,.sim-aside{padding:18px}.top .admin-link{display:inline-block;margin-top:8px}}
@media print{body{background:white}.sim-hero,.sim-layout,.sim-result-head button,.sim-stats,.sim-result .warning,.sim-result .subtle{display:none!important}.sim-result{margin:0}.sim-result-head{display:block}.sim-result-head h2{font-size:19px}.sim-scroll{overflow:visible}.sim-result .roster{font-size:8px}.sim-result .roster .worker{min-width:125px}.sim-result .roster td,.sim-result .roster th{padding:2px}.legend{display:flex!important;font-size:9px}}
