.calendar-bar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.calendar-bar h1{font-size:1.8rem;margin-right:auto}.calendar-bar h2{font-size:1.3rem;margin-right:auto}.calendar-bar h1,.calendar-bar h2{overflow-wrap:anywhere;min-width:0}
#calendar-content label{display:grid;gap:.3rem;font-weight:700;min-width:0}#calendar-content input,#calendar-content select{min-height:42px;min-width:0;width:100%;font:inherit;padding:.5rem;background:#fff;color:#152d39;border:1px solid #647983;border-radius:4px}#calendar-content button,#calendar-refresh{min-height:44px;padding:.5rem .8rem;border:1px solid #647983;border-radius:4px;font:inherit;background:#fff;color:#152d39;cursor:pointer}#calendar-content button:disabled{opacity:.5;cursor:default}#calendar-content :focus-visible,#calendar-refresh:focus-visible{outline:3px solid #a23b1c;outline-offset:2px}
.calendar-filters{align-items:end;margin:1rem 0}.calendar-filters label{flex:1 1 200px}.calendar-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.calendar-wide{grid-column:1/-1}#calendar-editor{border-block:2px solid #46765c;padding:1rem 0;margin:1rem 0}#calendar-editor h2{font-size:1.3rem}.calendar-break{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:.7rem;align-items:end;border:0;border-top:1px solid #a3afb4;padding:1rem 0;margin:0;min-width:0}.calendar-break legend{font-weight:700;padding:0 .4rem 0 0}
.calendar-basis{border-left:3px solid #99652b;padding-left:.7rem;color:#4f412e;font-size:.9rem}.calendar-month-controls{margin:1rem 0;align-items:end}.calendar-month-controls label{flex:1 1 150px}.calendar-legend{font-size:.85rem;color:#374f5b}#calendar-month-view{max-width:860px}.calendar-month h3{font-size:1.1rem;overflow-wrap:anywhere}.calendar-month table{width:100%;table-layout:fixed;border-collapse:collapse}.calendar-month th{padding:.45rem 0;font-size:.85rem}.calendar-month td{height:80px;vertical-align:top;border:1px solid #899b9e;padding:3px}.calendar-month td[data-required=true]{background:#e0f0e5}.calendar-month td[data-required=false]{background:#f4ede3}.calendar-month td[data-empty=true]{background:#f3f5f6}.calendar-month td[data-break=true]{border-bottom:3px solid #a3652a}#calendar-content .calendar-date{width:100%;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;border:0;background:transparent;padding:3px;border-radius:2px}.calendar-date[aria-pressed=true]{outline:2px solid #235f77;outline-offset:-2px}.calendar-date strong{font-size:1rem}.calendar-date span{font-size:.8rem}.calendar-date[data-recorded=true] span{font-weight:700;color:#692661}#calendar-day-detail{border-block:1px solid #9aaab0;margin:1rem 0;padding:.7rem 0;overflow-wrap:anywhere}#calendar-day-detail h3{font-size:1.1rem}#calendar-status[data-error=true]{color:#a02121}#calendar-history,#calendar-totals,#calendar-range,#calendar-effective{overflow-wrap:anywhere}#calendar-printout{display:none}
@media(max-width:600px){.calendar-break{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-break label:first-of-type{grid-column:1/-1}.calendar-break button{grid-column:1/-1}.calendar-fields{grid-template-columns:1fr}.calendar-filters label{flex-basis:100%}.calendar-month td{height:62px;padding:1px}#calendar-content .calendar-date{min-height:60px}.calendar-date span{font-size:.72rem}.calendar-month th{font-size:.75rem}}
@media print{@page{margin:13mm}body{background:#fff!important;color:#000!important}body .app-header,main.app-shell>*:not(#calendar-printout){display:none!important}main.app-shell{max-width:none!important;padding:0!important;margin:0!important}#calendar-printout{display:block!important;font-size:9pt;line-height:1.3;color:#000}#calendar-printout h1{font-size:17pt}#calendar-printout h2{font-size:12pt;overflow-wrap:anywhere}#calendar-printout .calendar-month{break-inside:avoid;margin:12pt 0 0}#calendar-printout .calendar-month h3{font-size:11pt;margin:6pt 0;break-after:avoid}#calendar-printout .calendar-month td{height:24pt;padding:3pt;text-align:center;background:#fff;border:1px solid #555}#calendar-printout .calendar-month th{font-size:9pt;padding:3pt}#calendar-printout .calendar-month span{margin-left:8pt}#calendar-printout .calendar-basis,#calendar-printout .calendar-legend{color:#000;font-size:9pt}#calendar-printout .calendar-month strong{font-size:10pt}}
