*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#203038;font:15px system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#fff;border:1px solid #d8dfe1;border-radius:7px;padding:9px 14px;color:#263d44}button:hover{background:#e8f2ef}.primary{background:#126b5c;color:white;border-color:#126b5c}.primary:hover{background:#0d5348}aside{position:fixed;width:225px;inset:0 auto 0 0;background:#102f32;color:#fff;padding:30px 20px}aside h1{font-size:29px;letter-spacing:-1px;margin:0}aside p{color:#a8c3c3;font-size:12px;margin-bottom:40px}nav button{display:block;width:100%;text-align:left;background:transparent;border:0;color:#c2d5d5;margin:8px 0;padding:13px}nav button.active{background:#275052;color:#fff}aside footer{position:absolute;bottom:25px;font-size:12px;color:#aac4c4}main{margin-left:225px;padding:38px;max-width:1800px}h2{font-size:30px;letter-spacing:-.8px;margin:0 0 8px}h3{margin-top:0}p{line-height:1.6}.muted{color:#738188}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.card,.panel{background:white;border:1px solid #e0e6e8;border-radius:12px;padding:22px}.card strong{display:block;font-size:29px;margin-top:10px}.card span{font-size:12px;color:#6b7c80}.panel{margin-bottom:20px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid #edf0f1;vertical-align:top}th{color:#63767c;background:#fafbfc;font-weight:500}td:first-child{white-space:nowrap}.pill{display:inline-block;border-radius:5px;padding:5px 8px;background:#e6f1ed;color:#1b6252;font-size:12px;margin:2px}.open{background:#fff0dc;color:#956223}.night{background:#eaeafa;color:#59528e}.small{font-size:12px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}form{display:grid;gap:13px}label{display:grid;gap:6px;font-size:13px;color:#52666b}input,select,textarea{padding:10px;border:1px solid #d4dfe1;border-radius:6px;background:#fff;min-width:0}textarea{min-height:65px}input[type=checkbox]{width:17px}.check{display:flex;align-items:center;gap:10px}.login{max-width:420px;margin:12vh auto;padding:35px;background:white;border:1px solid #dce5e5;border-radius:15px}.login h1{color:#126b5c}#toast{position:fixed;bottom:25px;right:25px;max-width:600px;background:#163d3d;color:#fff;border-radius:10px;padding:16px;display:none;z-index:10;white-space:pre-line}a{color:#126b5c}.warning{padding:14px;background:#fff5e6;color:#785726;border-radius:8px;margin-bottom:18px}.listitem{padding:15px 0;border-bottom:1px solid #edf0f1}.listitem button{margin:8px 4px 0 0}.blank{padding:45px;text-align:center;color:#71868a}@media(max-width:900px){aside{position:static;width:auto;padding:18px}aside p,aside footer{display:none}nav{display:flex;overflow:auto}nav button{width:auto;white-space:nowrap}main{margin:0;padding:20px}.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}}
.calendar-toolbar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-bottom:1px solid #e0e6e8;padding-bottom:20px;margin-bottom:24px}.month-scroll{overflow:auto}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));min-width:945px;border-left:1px solid #e0e6e8;border-top:1px solid #e0e6e8}.weekday{text-align:center;background:#f5f8f7;color:#63767c;font-size:12px;font-weight:600;padding:12px}.calendar-day{min-height:140px;border-right:1px solid #e0e6e8;border-bottom:1px solid #e0e6e8;padding:7px}.outside{background:#f6f7f8;color:#8a999d}.is-today{background:#f0f8f5}.day-number{border:0;background:transparent;font-weight:600;padding:6px;margin-bottom:6px}.is-today .day-number{background:#126b5c;color:white;border-radius:50%}.calendar-event{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;border:0;border-left:3px solid #31856f;border-radius:5px;background:#e8f3ee;color:#245c4d;padding:9px;margin:5px 0;white-space:normal;font-size:12px}.calendar-event small{font-size:10px;opacity:.85}.calendar-event.night{background:#eeedf9;border-color:#8981c0;color:#59528e}.calendar-event.unfilled{background:#fff1df;border-color:#c89544;color:#956223}.no-shift{display:block;color:#96a4a8;font-size:11px;padding:6px}.workplace-calendar td{min-width:145px}.workplace-calendar th{min-width:110px}.workplace-calendar .calendar-event{min-width:120px}
/* ZHS palette: white surfaces, pale rose navigation, burgundy accents. */
body{background:#fbf8f8;color:#343033}aside{background:#f8dadd;color:#60333b;border-top:5px solid #b33e49;border-right:1px solid #e8c5ca}aside p,aside footer{color:#775c64}nav button{color:#69444d}nav button.active{background:#b33e49;color:#fff}button{color:#60333b;border-color:#e1cfd3}button:hover{background:#fbe9ec}.primary{background:#a93443;border-color:#a93443;color:#fff}.primary:hover{background:#8e2936}.panel,.card,.login{border-color:#eadde0}.muted{color:#7e6c73}a,.login h1{color:#a93443}input,select,textarea{border-color:#ddcdd2}input:focus,select:focus,textarea:focus{outline:2px solid #b33e49;outline-offset:2px}#toast{background:#72323e}.weekday,th{background:#fbf1f3;color:#785660}.month-grid,.calendar-day{border-color:#eadde0}.is-today{background:#fff0f2}.is-today .day-number{background:#a93443}.calendar-event{background:#fae6e9;color:#76313e;border-left-color:#b33e49}.calendar-event:hover{background:#f5d7dd}.calendar-event.night{background:#eee8f2;border-color:#8c6b9c;color:#624b72}.calendar-event.unfilled{background:#fff1df;border-color:#c89544;color:#855821}.outside{background:#f7f3f4}.no-shift{color:#998b90}.calendar-toolbar{border-color:#eadde0}
