.calendar-front{--cal-bg:#0d1523;--cal-panel:#131e30;--cal-raised:#1b2940;--cal-line:#34445c;--cal-text:#f3f5fb;--cal-muted:#b0bdd2;--cal-violet:#a590ff;--cal-cyan:#7ae4e9;color:var(--cal-text);font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 78% 1%,#263457 0,transparent 31%),var(--cal-bg);min-height:100%;min-width:0}
.calendar-front *{box-sizing:border-box}.calendar-front :is(button,input){font:inherit}.calendar-front :is(button,a){cursor:pointer}.calendar-front :is(button,input,a):focus-visible{outline:2px solid var(--cal-cyan);outline-offset:3px}.calendar-front :is(h1,h2,p){margin:0}.calendar-front button:disabled{opacity:.5;cursor:not-allowed}
.cal-main{max-width:1340px;margin:auto;padding:clamp(18px,2.6vw,36px)}.cal-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--cal-line);padding:8px 0 23px}.cal-kicker{color:var(--cal-violet);font-size:11px;font-weight:750;letter-spacing:.16em}.cal-hero h1{font:400 clamp(34px,4.5vw,58px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:9px 0}.cal-subtitle,.cal-empty,.cal-hint{color:var(--cal-muted)}.cal-subtitle{font-size:15px}.cal-hero-actions,.cal-view,.cal-movement,.cal-actions,.cal-event-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-quiet,.cal-primary,.cal-danger{border:1px solid var(--cal-line);border-radius:8px;min-height:40px;padding:8px 12px;background:var(--cal-raised);color:var(--cal-text);text-decoration:none;white-space:nowrap}.cal-quiet:hover,.cal-primary:hover{border-color:var(--cal-cyan)}.cal-primary{background:#6856d6;border-color:#8979ec;color:#fff}.cal-danger{color:#ffb9b9}.cal-danger:hover{border-color:#ffb9b9}.cal-view [aria-pressed=true]{border-color:var(--cal-cyan);color:var(--cal-cyan)}.cal-status{min-height:28px;margin:12px 0!important;color:var(--cal-cyan)}.cal-status[data-kind=error],.cal-error,.cal-form-error{color:#ffb9b9}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}.cal-movement input{min-height:40px;padding:6px 9px;border-radius:8px;border:1px solid var(--cal-line);background:#101c2f;color:var(--cal-text);color-scheme:dark}.cal-panel{padding:20px;background:linear-gradient(145deg,rgba(46,53,96,.18),transparent 43%),var(--cal-panel);border:1px solid var(--cal-line);border-radius:14px;margin-bottom:16px;min-width:0}.cal-panel h2{font:400 24px/1.15 Georgia,serif}.cal-editor h2{margin-bottom:16px}.cal-form{display:grid;gap:12px}.cal-field{display:grid;gap:5px;color:var(--cal-muted);font-size:12px}.cal-field input{width:100%;min-height:42px;border:1px solid var(--cal-line);border-radius:8px;background:#101c2f;color:var(--cal-text);padding:8px 10px;color-scheme:dark}.cal-check{display:flex;align-items:center;gap:10px;min-height:44px}.cal-check input{width:18px;height:18px;accent-color:var(--cal-violet)}.cal-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cal-form-error{min-height:20px}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.cal-day{min-width:0;border:1px solid var(--cal-line);border-radius:10px;background:#101c2f;padding:10px}.cal-day h2{font:600 13px/1.35 system-ui,sans-serif;text-transform:capitalize;color:var(--cal-violet);margin-bottom:10px}.cal-day-heading{margin:12px 0!important;text-transform:capitalize;color:var(--cal-violet)}.cal-empty{padding:12px 0}.cal-event{display:grid;gap:5px;border-top:1px solid var(--cal-line);padding:12px 0;min-width:0}.cal-event-time{color:var(--cal-cyan);font-size:12px}.cal-event-copy{min-width:0;overflow-wrap:anywhere}.cal-event-copy strong{display:block}.cal-event-copy small,.cal-event-copy p{display:block;color:var(--cal-muted);font-size:12px;white-space:pre-wrap}.cal-event-actions{gap:5px}.cal-event-actions button{white-space:normal;font-size:11px;min-height:36px}.cal-confirm{border:1px solid #b87e85;border-radius:8px;background:#332332;padding:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-confirm p{flex-basis:100%}
@media(max-width:1100px){.cal-week{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.cal-main{padding:17px 13px 28px}.cal-hero{display:grid;gap:14px}.cal-hero h1{font-size:34px}.cal-week,.cal-times{grid-template-columns:1fr}.cal-panel{padding:15px}.cal-movement{width:100%}.cal-movement input{flex:1;min-width:130px}.cal-hero-actions{gap:6px}.cal-hero-actions :is(button,a){flex:1;text-align:center}.cal-event-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){.calendar-front *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.calendar-front :is(.cal-quiet,.cal-primary,.cal-danger,.cal-movement input,.cal-field input){min-height:44px}
.calendar-front .cal-event-actions button{min-height:44px;font-size:12px}
@media(max-width:620px){.calendar-front :is(.cal-field input,.cal-movement input){font-size:16px}}
/* The shell can reserve side rails while the viewport stays wide. Query the slot, not the viewport. */
.calendar-front{container-type:inline-size}
.calendar-front .cal-main,.calendar-front .cal-panel,.calendar-front .cal-week,.calendar-front .cal-day,.calendar-front .cal-event,.calendar-front .cal-event-actions,.calendar-front .cal-confirm{min-width:0}
.calendar-front .cal-main,.calendar-front .cal-week{width:100%}
.calendar-front .cal-day,.calendar-front .cal-event,.calendar-front .cal-confirm{overflow-wrap:anywhere}
.calendar-front .cal-week .cal-event-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
.calendar-front .cal-week .cal-event-actions button,.calendar-front .cal-week .cal-confirm button{width:100%;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}
@container (max-width:1150px){.cal-week{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container (max-width:800px){.cal-week{grid-template-columns:minmax(0,1fr)}}
