:root{--cy:#00A3E8;--cyd:#0087C2;--cyl:#E0F5FE;--mg:#E4007F;--mgl:#FDE8F3;--ink:#0F172A;--mut:#64748B;--bg:#F1F5F9;--card:#fff;--line:#E2E8F0;--ok:#059669;--am:#D97706}
*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh;background:var(--bg);color:var(--ink);font:14px -apple-system,"Segoe UI",Roboto,sans-serif}a{color:var(--cyd)}
aside{width:220px;background:var(--ink);padding:16px 12px;position:sticky;top:0;height:100vh;flex:none}.logo{width:150px;background:#fff;border-radius:10px;padding:6px;margin:0 0 18px}
nav a{display:block;color:#CBD5E1;text-decoration:none;padding:10px 12px;border-radius:10px;margin-bottom:4px}nav a.on,nav a:hover{background:var(--cy);color:#fff}
.main{flex:1;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--card);border-bottom:1px solid var(--line);padding:14px 22px}header h1{margin:0;font-size:20px}.who{color:var(--mut);font-size:13px}
main{padding:20px 22px 60px;max-width:1200px}h2{font-size:16px;margin:0 0 10px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:16px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.kpis div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}.kpis b{display:block;font-size:26px}.kpis span{color:var(--mut);font-size:12px}
.btn,button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 14px;border-radius:10px;cursor:pointer;text-decoration:none;display:inline-block}.btn.p,button.p{background:var(--cy);border-color:var(--cy);color:#fff;font-weight:600}.btn.m,button.m{background:var(--mg);border-color:var(--mg);color:#fff}.btn.r{color:#E11D48}
input,select,textarea{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);width:100%}label{display:block;font-size:12px;color:var(--mut);margin-bottom:10px}.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal .h{text-align:center;font-size:11px;color:var(--mut);padding:4px}.cal a.d{min-height:84px;border:1px solid var(--line);border-radius:10px;padding:5px;text-decoration:none;color:var(--ink);background:var(--card);overflow:hidden}.cal a.d.o{opacity:.45}.cal a.d.sel{outline:2px solid var(--cy)}.cal a.d.today{background:var(--cyl);border-color:var(--cy)}.cal a.d.today .n{background:var(--mg);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-grid;place-items:center}.n{font-weight:600;font-size:12px}
.pill{display:block;font-size:10px;border-radius:5px;padding:1px 5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.b{font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;border:1px solid;white-space:nowrap}.b-scheduled,.pill.s-scheduled{color:var(--cyd);border-color:var(--cyd);background:var(--cyl)}.b-in_transit,.pill.s-in_transit{color:var(--am);border-color:var(--am);background:#FEF3C7}.b-completed,.pill.s-completed{color:var(--ok);border-color:var(--ok);background:#D1FAE5}.b-rescheduled,.pill.s-rescheduled{color:var(--mg);border-color:var(--mg);background:var(--mgl)}
.bk{border:1px solid var(--line);border-left:4px solid var(--cy);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:var(--card)}.bk.s-in_transit{border-left-color:var(--am)}.bk.s-completed{border-left-color:var(--ok)}.bk.s-rescheduled{border-left-color:var(--mg)}.bk h4{margin:0 0 4px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.meta{color:var(--mut);font-size:12px;display:flex;flex-wrap:wrap;gap:4px 14px}.late{color:#E11D48;font-weight:600}.acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.acts form{display:inline}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--cyl);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.sc{overflow-x:auto}
.login{margin:8vh auto;max-width:360px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;width:92%}.err{color:#E11D48;margin-bottom:10px}
@media(max-width:800px){body{display:block}aside{position:static;width:auto;height:auto;padding:8px}.logo{display:none}nav{display:flex;overflow-x:auto;gap:4px}nav a{white-space:nowrap;margin:0}nav a span{display:inline}.g2,.g3{grid-template-columns:1fr}.cal a.d{min-height:56px}.pill{display:none}header,main{padding-left:12px;padding-right:12px}}
@media print{aside,header .who,.acts,form{display:none}body{display:block}}
