:root{--nav:#173b57;--blue:#3177b8;--bg:#eaf2f8;--card:#fff;--line:#ccdce8;--text:#10283d;--muted:#5e7588;--green:#11a777;--red:#cb5148;--amber:#d99824}*{box-sizing:border-box}body{margin:0;font:15px/1.4 system-ui,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}button,a,input,select{font:inherit}button,a{cursor:pointer}.hidden{display:none!important}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#102c43,#235d88)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 24px #173b5710}.loginCard{width:min(430px,92vw);display:grid;gap:14px}.brand{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:12px;background:#4091d0;color:#fff;font-size:18px}.login label,dialog label{display:grid;gap:5px;font-weight:600}input,select{min-height:42px;border:1px solid #bfcfdd;border-radius:9px;padding:8px 11px;background:#fff;color:var(--text)}button,.toolbar a{border:0;border-radius:9px;background:var(--blue);color:#fff;padding:10px 14px;text-decoration:none;font-weight:650}main{min-height:100vh;display:grid;grid-template-columns:220px 1fr}aside{position:sticky;top:0;height:100vh;background:var(--nav);color:#fff;padding:22px 14px;display:flex;flex-direction:column;gap:20px}aside h2{font-size:17px;margin:8px 0 0}aside small{color:#a9c6da}nav{display:grid;gap:7px}nav button{background:transparent;text-align:left;color:#d5e5f0}nav button.active,nav button:hover{background:#3976a4;color:#fff}.identity{margin-top:auto;border-top:1px solid #ffffff30;padding-top:14px;display:grid;gap:4px}.identity button{background:transparent;text-align:left;padding:6px 0}.workspace{padding:26px 30px;min-width:0}.workspace>header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.workspace h1{margin:4px 0;font-size:30px}.workspace header>div>small,.view>small{letter-spacing:2px;color:#1766a8;font-weight:700}.sync{display:grid;text-align:right}.sync small{color:var(--muted)}.sync .ok{color:var(--green)}.sync .warn{color:var(--amber)}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:16px}.kpis article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.kpis b{display:block;font-size:30px;margin-top:8px}.notice{background:#edf5fa;border-left:4px solid var(--blue);padding:13px;margin-top:14px}.toolbar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:14px}.toolbar input{flex:1;min-width:180px}.toolbar a,.toolbar button{white-space:nowrap}.table{overflow:auto;padding:0}.table table{width:100%;border-collapse:collapse;min-width:850px}.table th{background:#edf4f8;color:#4a6a82;font-size:12px;letter-spacing:1px;text-align:left}.table th,.table td{padding:12px;border-bottom:1px solid #d9e5ed;vertical-align:top}.table td small{display:block;color:var(--muted)}.badge,.state{display:inline-block;border-radius:20px;padding:4px 9px;background:#e8f1f7;font-size:12px;font-weight:700}.state.confirmada{color:#087a56;background:#dff5ed}.state.rechazada{color:#a73731;background:#fde9e7}.state.pendiente,.state.enviada{color:#8a5a00;background:#fff1d1}.actions{display:flex;gap:5px;flex-wrap:wrap}.actions button{font-size:12px;padding:6px 8px}.actions .danger{background:var(--red)}.grid2{display:grid;grid-template-columns:2fr 1fr;gap:16px}.backup{border-bottom:1px solid var(--line);padding:10px 0}.backup small{display:block;color:var(--muted)}dialog{border:0;border-radius:16px;box-shadow:0 20px 70px #0005;width:min(520px,92vw);padding:24px}dialog::backdrop{background:#10283d99}dialog form{display:grid;gap:13px}dialog menu{display:flex;justify-content:flex-end;gap:8px;padding:0}.danger{background:var(--red)}#toast{position:fixed;right:20px;bottom:20px;background:#173b57;color:#fff;padding:13px 18px;border-radius:10px;opacity:0;transform:translateY(20px);transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:none}#toast.bad{background:var(--red)}
@media(max-width:900px){main{grid-template-columns:1fr}aside{position:relative;height:auto;padding:12px}aside>div:first-child{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap}.identity{display:none}.workspace{padding:16px}.workspace>header{align-items:flex-start}.workspace h1{font-size:24px}.kpis{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.toolbar{align-items:stretch}.toolbar>*{flex:1}.sync{font-size:12px}}
@media print{aside,.workspace>header,.toolbar,.actions,#toast{display:none!important}main{display:block}.workspace{padding:0}.view.hidden{display:none!important}.card{box-shadow:none;border:0;padding:0}.table{overflow:visible}.table table{min-width:0;font-size:10px}}
.readyHero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;margin-bottom:12px;border-radius:17px;color:#fff;background:linear-gradient(120deg,#153d59,#3177b8 67%,#1e9e7b);box-shadow:0 10px 25px #173b5725}.readyHero h2{font-size:25px;margin:3px 0 5px}.readyHero p{margin:0;color:#e8f5fb}.readyHero>div>small{color:#bfe8ff;letter-spacing:1.8px;font-weight:800}.readyTotal{min-width:170px;text-align:center;border-left:1px solid #ffffff55;padding-left:24px}.readyTotal b{display:block;font-size:48px;line-height:1}.readyTotal span{display:block;margin-top:6px}.rentalReady{display:grid;grid-template-columns:repeat(4,minmax(155px,1fr));gap:11px;margin-bottom:17px}.readyFamily{display:grid;gap:3px;text-align:left;background:var(--card);color:var(--text);border:1px solid var(--line);border-left:5px solid var(--green);box-shadow:0 4px 13px #173b570b}.readyFamily:hover{background:#f4f9fc}.readyFamily b{font-size:30px;line-height:1.1}.readyFamily small{color:var(--muted)}.readyFamily.low{border-left-color:var(--amber)}.readyFamily.none{border-left-color:var(--red)}.readySkeleton{grid-column:1/-1;background:#fff;border:1px dashed var(--line);border-radius:12px;padding:18px;color:var(--muted)}
@media(max-width:900px){.rentalReady{grid-template-columns:repeat(2,1fr)}.readyHero{padding:18px}.readyTotal{min-width:120px}.readyTotal b{font-size:38px}}@media(max-width:520px){.readyHero{align-items:flex-start}.readyTotal{padding-left:12px}.rentalReady{grid-template-columns:1fr 1fr}.readyFamily{padding:10px}.readyFamily b{font-size:25px}}
.availabilityIntro{margin-bottom:14px}.availabilityIntro>small{color:var(--blue);font-weight:800;letter-spacing:1.6px}.availabilityIntro h2{margin:4px 0}.availabilityIntro p{margin-bottom:0;color:var(--muted)}.cloudWeeks{display:grid;grid-template-columns:repeat(5,minmax(175px,1fr));gap:10px;margin-bottom:15px}.cloudWeek{display:grid;gap:5px;text-align:left;padding:13px;background:var(--card);color:var(--text);border:1px solid var(--line);border-left:5px solid var(--green)}.cloudWeek.selected{outline:2px solid var(--blue);background:#f0f7fc}.cloudWeek.danger{border-left-color:var(--red)}.cloudWeek>small{font-size:10px;letter-spacing:1.2px;color:var(--muted)}.cloudWeek>span,.cloudWeek>em{font-size:11px;color:var(--muted);font-style:normal}.cloudWeek>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}.cloudWeek i{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;border-radius:6px;background:#edf5fa;font-style:normal}.cloudWeek i small{font-size:9px}.cloudWeek i strong{font-size:14px;color:var(--blue)}.cloudWeekDetail{margin-bottom:18px}.cloudResult{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center;gap:12px;margin-bottom:14px}.cloudResult h2{margin:2px 0}.cloudResult>div{display:grid}.cloudResult b{font-size:28px}.cloudResult span{color:var(--muted)}.cloudResult .good b{color:var(--green)}.cloudResult .bad b{color:var(--red)}.cloudFamilies{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:9px}.cloudFamilies article{display:grid;gap:3px;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:10px;padding:13px}.cloudFamilies article.low{border-left-color:var(--amber)}.cloudFamilies article.danger{border-left-color:var(--red)}.cloudFamilies article b{font-size:28px}.cloudFamilies article span{font-size:11px;color:var(--muted)}
@media(max-width:1100px){.cloudWeeks{grid-template-columns:repeat(2,1fr)}.cloudFamilies{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cloudResult{grid-template-columns:1fr 1fr}.cloudResult>div:first-child{grid-column:1/-1}.cloudWeeks{grid-template-columns:1fr}.cloudFamilies{grid-template-columns:1fr 1fr}}
.scanGrid{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);gap:16px}.scanCard{display:grid;gap:13px;align-content:start}.scanCard h2,.scanHead h2{margin:0}.scanCard label{display:grid;gap:5px;font-weight:600}.scanHead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.scanHead small{letter-spacing:1px;color:#1766a8;font-weight:700}.scanTable{min-width:650px!important}button.secondary{background:#e8f1f7;color:var(--text)}
.weekOrders{margin-top:18px}.weekOrdersHead h3{margin:3px 0 10px}.weekOrdersHead small{color:var(--blue);font-weight:800;letter-spacing:1.2px}.weekOrders .table{border:1px solid var(--line);border-radius:10px}.weekOrders .table table{min-width:760px}.weekOrders td small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:900px){.scanGrid{grid-template-columns:1fr}.scanCard{padding:18px}.scanHead{align-items:flex-start}.scanHead button{white-space:nowrap}}
.cloudPromise{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(210px,1fr) 150px auto;gap:12px;align-items:end;margin-bottom:15px}.cloudPromise>div:first-child{align-self:center}.cloudPromise h2{margin:3px 0}.cloudPromise p{margin:0;color:var(--muted)}.cloudPromise>div>small{color:var(--blue);font-weight:800;letter-spacing:1.2px}.cloudPromise label{display:grid;gap:5px;font-weight:650}.cloudPromise .notice{grid-column:1/-1;margin:0}.cloudPromise .promiseOk{border-left-color:var(--green)}.cloudPromise .promiseNo{border-left-color:var(--red);background:#fff1ef}@media(max-width:900px){.cloudPromise{grid-template-columns:1fr 1fr}.cloudPromise>div:first-child,.cloudPromise .notice{grid-column:1/-1}}@media(max-width:520px){.cloudPromise{grid-template-columns:1fr}.cloudPromise>div:first-child,.cloudPromise .notice{grid-column:auto}}
