*{box-sizing:border-box}body{color:#111827;background:#f3f4f6;margin:0;font-family:Arial,sans-serif}#root{width:100%}.page{width:100%;max-width:1600px;margin:0 auto;padding:24px}.loginPage{background:#e5e7eb;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.loginCard{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:28px;box-shadow:0 10px 30px #0000001f}.titleBlock{text-align:center}.betaBadge{color:#b45309;background:#fef3c7;border-radius:999px;margin-top:4px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.loginField{margin-bottom:16px}.muted{color:#6b7280;font-size:14px}.smallMuted{color:#6b7280;font-size:12px}.errorBox{color:#991b1b;background:#fee2e2;border-radius:10px;margin-bottom:14px;padding:12px}.infoBox{color:#155e75;background:#ecfeff;border-radius:10px;margin-top:16px;padding:12px;font-size:14px}.switchRow{align-items:center;gap:12px;margin:10px 0;display:flex}.switchLabel input{display:none}.switchLabel{width:46px;height:24px;position:relative}.slider{cursor:pointer;background-color:#ccc;border-radius:999px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;top:3px;left:3px}.switchLabel input:checked+.slider{background-color:#2563eb}.switchLabel input:checked+.slider:before{transform:translate(22px)}.switchText{font-weight:500}.topBar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.topBarRight{align-items:center;gap:12px;display:flex}.roleBadge{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:8px 12px;font-weight:700}h1{margin:0}h2{margin-top:0;margin-bottom:18px;font-size:22px}h3{margin:0;font-size:18px}.card{background:#fff;border-radius:14px;margin-bottom:20px;padding:20px;box-shadow:0 4px 16px #00000014}.grid2{grid-template-columns:repeat(2,minmax(180px,1fr));gap:16px;display:grid}.grid4{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;display:grid}label{margin-bottom:6px;font-size:14px;font-weight:700;display:block}input,select{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:10px 12px;font-size:14px}.checkRow{align-items:end;display:flex}.checkRow label{align-items:center;gap:8px;margin-top:26px;display:flex}.primaryBtn,.secondaryBtn,.dangerBtn,.disabledBtn,.miniBtn{cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-weight:700}.primaryBtn{color:#fff;background:#2563eb}.secondaryBtn{color:#111827;background:#e5e7eb}.dangerBtn{color:#fff;background:#dc2626}.disabledBtn{color:#6b7280;cursor:not-allowed;background:#d1d5db}.miniBtn{color:#fff;background:#0f766e;width:100%;margin-top:8px}.fullBtn{width:100%}.nurseBox{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:16px}.nurseHeader{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.actionRow{flex-wrap:wrap;gap:12px;display:flex}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;border:1px solid #d1d5db;padding:10px}th{background:#eff6ff}.calendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.calendarHead{text-align:center;background:#dbeafe;border-radius:10px;padding:10px;font-weight:700}.calendarCell{background:#fff;border:1px solid #d1d5db;border-radius:12px;min-height:170px;padding:10px}.emptyCell{background:0 0;border:none}.weekendCell{background:#fff7ed}.holidayCell{background:#fee2e2}.calendarDayTop{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendarLine{flex-direction:column;gap:4px;margin-top:6px;display:flex}.calendarLabel{color:#0b57d0;white-space:normal;font-size:12px;font-weight:700;line-height:1.15}.assignmentSelect{width:100%}.savedList{flex-direction:column;gap:12px;display:flex}.savedItem{border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.savedActions{flex-wrap:wrap;gap:10px;display:flex}.printOnly{display:none}@media (width<=1300px){.calendarGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendarHead{display:none}}@media (width<=1100px){.grid4{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=700px){.grid2,.grid4,.calendarGrid{grid-template-columns:1fr}.nurseHeader,.topBar,.savedItem{flex-direction:column;align-items:flex-start}}@media print{body{background:#fff}.noPrint{display:none!important}.printTitle{margin-bottom:18px;font-size:22px;font-weight:700}.page{max-width:100%;padding:0}.printSection{box-shadow:none;break-inside:avoid;page-break-inside:avoid;border:1px solid #d1d5db}.calendarGrid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendarHead{background:#f3f4f6;border:1px solid #d1d5db;display:block!important}.calendarCell{break-inside:avoid;page-break-inside:avoid;min-height:120px;font-size:11px}.calendarLine{gap:4px;font-size:11px}th,td{padding:6px;font-size:11px}@page{size:A4 landscape;margin:6mm}body{background:#fff!important;font-size:8px!important}.noPrint,.noPrintSelect,button,select{display:none!important}.printOnly{display:inline!important}.page{margin:0!important;padding:0!important}.card{box-shadow:none!important;border:none!important;margin:0!important;padding:0!important}.calendarGrid{grid-template-columns:repeat(7,1fr)!important;gap:2px!important;display:grid!important}.calendarHead{padding:3px!important;font-size:9px!important}.calendarCell{page-break-inside:avoid!important;border:1px solid #999!important;min-height:72px!important;padding:3px!important}.calendarDayTop{margin-bottom:2px!important;font-size:8px!important}.smallMuted{font-size:7px!important}.calendarLine{margin:1px 0!important;line-height:1.05!important;display:block!important}.calendarLabel{color:#000!important;font-size:6.5px!important;font-weight:700!important;display:inline!important}.calendarLabel:after{content:": "}.calendarLine .printOnly{font-size:7px!important;font-weight:400!important}h2{margin:3px 0!important;font-size:12px!important}.printTitle{text-align:center;margin-bottom:4px;font-weight:700;font-size:14px!important;display:block!important}.printSection{page-break-inside:avoid}.tableWrap,table{font-size:8px!important}}
