html,body{background:#fff;margin:0}.calendar-app{--blue:#2454c6;--ink:#172b4d;--line:#dce5f2;--muted:#60718a;color:var(--ink);box-sizing:border-box;background:#fff;min-height:100vh;padding:24px;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}.calendar-app *{box-sizing:border-box}.calendar-app h1{letter-spacing:-.03em;margin:0;font-size:28px}.calendar-app h2{margin:0;font-size:20px}.calendar-app button,.calendar-app input,.calendar-app select,.calendar-app textarea{font:inherit;color:inherit}.calendar-app button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;min-height:40px;padding:10px 14px}.calendar-app button:hover{background:#f1f5fb}.calendar-app button:disabled{opacity:.5;cursor:not-allowed}.calendar-app :focus-visible{outline-offset:2px;outline:3px solid #80a4f1}.calendar-app input,.calendar-app select,.calendar-app textarea{background:#fff;border:1px solid #c6d3e8;border-radius:8px;width:100%;min-width:0;min-height:42px;padding:10px 12px}.calendar-app label{flex-direction:column;gap:6px;font-size:13px;font-weight:550;display:flex}.calendar-app a{color:var(--blue)}.cal-header,.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.cal-header{border-bottom:1px solid var(--line);padding-bottom:22px}.cal-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 6px;font-size:10px;font-weight:700}.cal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-app .cal-primary{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:600}.cal-toolbar{padding:24px 0 16px}.cal-toolbar label{flex-direction:row;align-items:center}.cal-toolbar input{width:145px}.cal-toolbar h2{margin-left:12px}.cal-switch{background:#f1f5fb;border-radius:10px;gap:2px;padding:3px;display:flex}.cal-switch button{background:0 0;border:0}.cal-switch button[aria-pressed=true]{color:var(--blue);background:#fff;box-shadow:0 1px 4px #172b4d15}.cal-filters{grid-template-columns:minmax(160px,2fr) repeat(3,minmax(120px,1fr)) auto;align-items:end;gap:12px;display:grid}.cal-status{color:var(--muted);padding:14px 0;font-size:12px}.cal-board{border:1px solid var(--line);border-radius:12px;overflow:hidden}.cal-weekdays,.cal-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-weekdays{color:var(--muted);text-align:center;border-bottom:1px solid var(--line);background:#f7f9fd;font-size:12px}.cal-weekdays span{padding:12px 2px}.cal-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:128px;padding:8px}.cal-day:nth-child(7n){border-right:0}.cal-day.outside{background:#fafbfd}.cal-day.today .cal-day-heading>span{background:var(--blue);color:#fff;border-radius:6px;padding:2px 8px}.cal-day-heading{justify-content:space-between;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.cal-day-heading button{min-height:24px;color:var(--muted);border:0;padding:0 7px}.calendar-app .cal-event{text-align:left;overflow-wrap:anywhere;background:#edf3ff;border:0;border-left:3px solid #2454c6;border-radius:5px;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:42px;margin-top:6px;padding:7px 8px;display:flex}.cal-event>span{color:#52627a;font-size:10px}.cal-event strong{font-size:12px;font-weight:600}.calendar-app .color-GREEN{background:#edf8ef;border-color:#30804b}.calendar-app .color-AMBER{background:#fff7e7;border-color:#ad751a}.calendar-app .color-RED{background:#fff0ef;border-color:#b2413c}.calendar-app .color-PURPLE{background:#f4efff;border-color:#7850ac}.calendar-app .color-SLATE{background:#f0f2f5;border-color:#6b778a}.week .cal-day{min-height:460px}.agenda .cal-days{display:block}.agenda .cal-day{border-right:0;min-height:0;padding:16px 20px}.agenda .cal-event{grid-template-columns:90px 1fr 1fr;align-items:center;gap:16px;display:grid}.cal-empty{text-align:center;color:var(--muted);padding:48px}.cal-banner,.cal-error{border-radius:8px;margin:12px 0;padding:12px 16px;font-size:13px}.cal-banner{background:#edf3ff;border:1px solid #d6e3fc}.cal-banner>button{float:right;background:0 0;border:0;min-height:22px;padding:0 6px}.cal-error{color:#922a20;white-space:pre-wrap;background:#fff1ef;border:1px solid #f1cec8}.calendar-app .cal-dialog{border:1px solid var(--line);width:min(720px,100vw - 32px);max-height:calc(100vh - 40px);color:var(--ink);border-radius:14px;padding:0;overflow:auto;box-shadow:0 24px 80px #172b4d30}.cal-dialog::backdrop{background:#14244455}.cal-dialog form{padding:24px}.cal-dialog header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.cal-dialog fieldset{border:0;gap:16px;min-width:0;padding:0;display:grid}.cal-dialog fieldset:disabled{opacity:.8}.cal-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.calendar-app .cal-check{flex-direction:row;align-items:center;gap:8px;font-weight:400}.cal-check input{flex-shrink:0;width:18px;min-height:18px}.cal-help{color:var(--muted);margin:0;font-size:12px;font-weight:400}.cal-people{border:1px solid var(--line);border-radius:8px;gap:8px;max-height:180px;padding:14px;display:grid;overflow:auto}.cal-dialog footer{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;padding-bottom:8px;display:flex;position:sticky;bottom:-24px}.calendar-app .cal-danger{color:#a33d35;margin-right:auto}@media (max-width:900px){.cal-filters{grid-template-columns:1fr 1fr}.cal-filters>button{grid-column:1/-1}.cal-toolbar h2{font-size:18px}}@media (max-width:600px){.calendar-app{padding:12px}.cal-header{gap:12px}.cal-header h1{font-size:24px}.cal-header .cal-actions{width:100%}.cal-header .cal-actions button{flex:1;padding:8px;font-size:12px}.cal-toolbar{gap:12px}.cal-weekdays span{font-size:0}.cal-weekdays span:first-letter{font-size:12px}.cal-day{min-height:96px;padding:3px}.cal-day-heading{font-size:11px}.cal-event strong{font-size:10px}.calendar-app .cal-event{border-left-width:2px;padding:4px 3px}.cal-event>span{font-size:9px}.cal-form-grid{grid-template-columns:1fr}.cal-dialog form{padding:16px}.agenda .cal-event{grid-template-columns:65px 1fr}.agenda .cal-event small{grid-column:2}.cal-toolbar h2{margin-left:4px}.cal-day-heading button{padding:0 3px}.cal-dialog footer{bottom:-16px}}
