@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";.calendar-app{--ink:#183b56;--primary:#087db5;--line:#dceaf5;--muted:#526d84;color:var(--ink);background:#f4f9fe;min-height:100vh;font:14px/1.5 DM Sans,system-ui,sans-serif}.calendar-app *,.cal-dialog *{box-sizing:border-box}.calendar-app h1,.calendar-app h2,.calendar-app h3,.cal-dialog h2,.cal-dialog h3{margin:0;font-family:Manrope,system-ui,sans-serif;font-weight:800;line-height:1.3}.calendar-app button,.calendar-app input,.calendar-app select,.calendar-app textarea,.cal-dialog button,.cal-dialog input,.cal-dialog select,.cal-dialog textarea{font:inherit}.calendar-app button,.cal-dialog button{cursor:pointer}.calendar-app button:disabled,.cal-dialog button:disabled{opacity:.45;cursor:not-allowed}.calendar-app button:focus-visible,.cal-dialog button:focus-visible,.calendar-app input:focus-visible,.cal-dialog input:focus-visible,.calendar-app select:focus-visible,.cal-dialog select:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}.calendar-app a,.cal-dialog a{color:#087db5}.calendar-app p,.cal-dialog p{margin:.5rem 0 1rem}.app-header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:18px 24px;display:flex}.brand-icon{color:#fff;background:#087db5;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.eyebrow,.section-label{letter-spacing:1.7px;color:#52748e;font-size:10px;font-weight:800;display:block}.app-header h1{margin-top:3px;font-size:19px}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.user-name{font-size:12px}.app-title{overflow-wrap:anywhere;flex:1;min-width:0}.header-title-line{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.tutorial-trigger{color:#087db5;white-space:nowrap;background:#eaf6ff;border:1px solid #cce5f6;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 10px;display:inline-flex;font-size:12px!important;font-weight:700!important}.tutorial-trigger:hover{background:#dcefff}.tutorial-intro{color:#526d84;font-size:13px}.tutorial-progress{color:#45657f;align-items:center;gap:16px;margin:20px 0;font-size:12px;display:flex}.tutorial-progress span{white-space:nowrap}.tutorial-progress progress{accent-color:#087db5;background:#e8f1fb;border:0;border-radius:10px;flex:1;min-width:0;height:8px;overflow:hidden}.tutorial-progress progress::-webkit-progress-bar{background:#e8f1fb}.tutorial-progress progress::-webkit-progress-value{background:#087db5}.tutorial-progress progress::-moz-progress-bar{background:#087db5}.tutorial-step h3{font-size:21px}.tutorial-step>p{line-height:1.7}.tutorial-action{background:#f0f7ff;border:1px solid #cce5f6;border-radius:12px;margin:18px 0;padding:15px}.tutorial-action strong{color:#087db5;font-size:12px}.tutorial-action p{margin-bottom:0;font-size:13px}.tutorial-navigation{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.tutorial-exit{text-align:center;min-height:44px;margin:12px auto 0;display:block}.app-layout{grid-template-columns:245px minmax(0,1fr);gap:34px;max-width:1500px;margin:auto;padding:32px 28px;display:grid}.desktop-filters{border:1px solid var(--line);background:#fff;border-radius:18px;align-self:start;padding:22px;position:sticky;top:24px}.filter-content{flex-direction:column;gap:14px;display:flex}.calendar-app label,.cal-dialog label{flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.calendar-app input:not([type=checkbox]),.calendar-app select,.calendar-app textarea,.cal-dialog input:not([type=checkbox]),.cal-dialog select,.cal-dialog textarea{color:#183b56;background:#fff;border:1px solid #ccdfef;border-radius:9px;width:100%;min-width:0;min-height:44px;padding:10px 11px}.calendar-app select,.cal-dialog select{cursor:pointer}.calendar-app textarea,.cal-dialog textarea{resize:vertical;min-height:100px}.calendar-app input[type=color],.cal-dialog input[type=color]{padding:5px}.check-row{min-height:32px;flex-direction:row!important;align-items:center!important;gap:9px!important}.calendar-app input[type=checkbox],.cal-dialog input[type=checkbox]{accent-color:#087db5;flex-shrink:0;width:17px;height:17px}.tag-label{align-items:center;gap:7px;font-size:12px;font-weight:500;display:inline-flex}.tag-label i{border-radius:50%;flex-shrink:0;width:9px;height:9px}.filter-divider{border-top:1px solid #dceaf5;margin:4px 0}.help{color:#55738a;font-size:12px;line-height:1.6}.help svg{vertical-align:middle;margin-right:4px;display:inline}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin:5px 0 24px;display:flex}.page-heading h2{letter-spacing:-1.2px;margin:8px 0;font-size:28px}.page-heading p{color:#58748c;margin:0;font-size:13px}.main-calendar{min-width:0}.search-field{border:1px solid var(--line);color:#5b7890;background:#fff;border-radius:12px;align-items:center;gap:10px;max-width:100%;margin-bottom:18px;padding:0 15px;display:flex}.search-field input{background:0 0!important;border:0!important;min-height:48px!important;padding-left:0!important}.search-field button{color:inherit;background:0 0;border:0}.calendar-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.view-switch{background:#e8f1fb;border-radius:10px;padding:4px;display:flex}.view-switch button{color:#526e88;background:0 0;border:0;border-radius:7px;min-height:35px;padding:7px 16px;font-size:12px;font-weight:600}.view-switch button.active{color:#087db5;background:#fff;box-shadow:0 2px 4px #164c7a10}.primary,.secondary,.icon-button{border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 15px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.primary{color:#fff;background:#087db5;border:1px solid #087db5}.primary:hover{background:#075d91}.secondary{color:#24577c;background:#fff;border:1px solid #cfe1f0}.secondary:hover{background:#edf7ff}.icon-button{color:#365e7d;background:#fff;border:1px solid #d8e8f5;min-width:40px;padding:8px}.text-button{color:#087db5;text-align:left;background:0 0;border:0;padding:8px 0;font-weight:600}.danger{color:#b83b42!important}.full{width:100%;margin-top:20px}.results-count{color:#5c7990;margin-left:auto;font-size:11px}.calendar-surface{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px;box-shadow:0 3px 10px #1e5c8c10}.month-heading{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.month-heading h3{letter-spacing:-.5px;font-size:20px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekday{text-align:center;text-transform:uppercase;letter-spacing:1px;color:#617d94;padding:8px 0 12px;font-size:10px;font-weight:700;display:block}.day-cell{color:#183b56;text-align:left;background:#f7fbff;border:1px solid #e3eef8;border-top-width:3px;border-radius:9px;flex-direction:column;align-items:flex-start;gap:7px;min-height:106px;padding:9px;transition:box-shadow .15s,opacity .15s;display:flex;overflow:hidden}.day-cell:hover{box-shadow:0 0 0 2px #29a9df}.day-cell.today{box-shadow:inset 0 0 0 2px #087db5}.day-number{font-size:15px;font-weight:700}.day-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;line-height:1.2;overflow:hidden}.dots{align-items:center;gap:4px;max-width:100%;margin-top:auto;display:flex}.dots i{border-radius:50%;flex-shrink:0;width:6px;height:6px}.event-count{color:#466d8b;font-size:9px}.dim{opacity:.28}.compact{gap:3px;min-height:48px;padding:5px}.compact .day-name{display:none}.compact .day-number{font-size:11px}.compact .dots{gap:2px}.compact .dots i{width:4px;height:4px}.year-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.year-grid .month-grid{gap:3px}.month-link{color:#087db5;background:0 0;border:0;margin:0 0 8px;padding:4px;font-weight:700}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.week-grid .day-cell{width:100%;min-height:170px}.agenda-list h4{background:#edf4fc;border-radius:8px;margin:12px 0 4px;padding:12px;font-size:13px}.agenda-list button{text-align:left;color:#183b56;background:#fff;border:0;border-bottom:1px solid #e5eff8;align-items:center;gap:18px;width:100%;padding:15px 8px;display:flex}.agenda-list time{color:#526f87;font-size:12px}.agenda-list button>span{flex-direction:column;flex:1;gap:5px;display:flex}.agenda-list button>small{color:#58758d}.empty-state{text-align:center;color:#58758d;padding:40px 15px}.calendar-footer{color:#617c93;justify-content:space-between;gap:12px;margin:20px 0;font-size:10px;display:flex}.calendar-footer i{background:#0ba4dd;border-radius:50%;width:5px;height:5px;margin-right:4px;display:inline-block}.mobile-filter{display:none}.cal-dialog{color:#183b56;background:#fff;border:1px solid #cde1f2;border-radius:20px;width:min(600px,100% - 24px);max-height:90dvh;margin:auto;padding:24px;font:14px/1.5 DM Sans,system-ui,sans-serif;overflow:auto;box-shadow:0 24px 90px #123f7240}.cal-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d284b80}.dialog-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.dialog-head h2{font-size:19px}.day-details>.tag-label{margin:0 10px 14px 0}.day-details section h3{color:#476c89;margin:18px 0 10px;font-size:13px}.activity-card{border:1px solid #dceaf6;border-left:4px solid #087db5;border-radius:10px;margin:12px 0;padding:16px}.activity-time{color:#516f88;font-size:12px;margin:4px 0!important}.preserve-lines{white-space:pre-wrap;color:#45657f;font-size:13px}.admin-tools{flex-wrap:wrap;gap:8px;margin-bottom:15px;display:flex}.notice,.error-banner,.success-banner{border-radius:10px;margin:10px 0 16px;padding:12px 15px;font-size:12px;line-height:1.6}.notice{color:#275d84;background:#eaf6ff;border:1px solid #cce5f6}.error-banner{color:#9f3d33;background:#fff0ef;border:1px solid #edc8c3}.error-banner button{color:inherit;background:0 0;border:0;margin-left:12px;text-decoration:underline}.success-banner{color:#286b42;background:#edf8f0}.editor-form{margin:16px 0}.editor-form fieldset{border:0;flex-direction:column;gap:15px;min-width:0;margin:0;padding:0;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.tag-admin-list{flex-direction:column;gap:6px;max-height:260px;margin:14px 0;display:flex;overflow:auto}.tag-admin-list button{justify-content:flex-start}.tag-admin-list small{color:#58758e;margin-left:auto}.weekday-picker{flex-wrap:wrap;gap:12px;display:flex}.weekday-picker label{align-items:center}.edit-entry-row{border-bottom:1px solid #deebf6;align-items:center;gap:12px;display:flex}.edit-entry-row span{flex:1;font-size:12px}.day-editor{border-top:1px solid #c9e0f2;margin-top:20px;padding-top:12px}.login-page{background:radial-gradient(at 20% 10%,#d8f1ff,#0000 55%),#f5f8ff;place-items:center;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #d4e5f5;border-radius:22px;width:100%;max-width:420px;padding:36px;box-shadow:0 20px 80px #215c9810}.login-card>.brand-icon{margin-bottom:28px}.login-card h1{letter-spacing:-1px;margin:12px 0;font-size:30px}.login-card>p{color:#55738c;font-size:13px}.login-card>a{font-size:12px}.login-card .primary{width:100%}@media (width>=1400px){.day-cell{min-height:125px}}@media (width<=1100px){.app-layout{grid-template-columns:220px minmax(0,1fr);gap:20px;padding:24px 18px}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.day-name{display:none}.day-cell{min-height:88px}.day-cell.compact{min-height:45px}.page-heading h2{font-size:24px}}@media (width<=800px){.desktop-filters{display:none}.mobile-filter{flex-shrink:0;display:flex}.app-layout{padding:20px 14px;display:block}.app-header{padding:14px 16px}.app-header h1{font-size:17px}.eyebrow{font-size:8px}.user-name{display:none}.page-heading{align-items:flex-start}.page-heading h2{letter-spacing:-.7px;font-size:23px}.page-heading p{font-size:12px}.page-heading .section-label{font-size:8px}.calendar-surface{border-radius:14px;padding:14px 10px}.month-heading{margin-bottom:12px}.month-heading h3{font-size:18px}.month-grid{gap:4px}.day-cell{border-radius:7px;min-height:76px;padding:6px}.day-number{font-size:13px}.event-count{display:none}.dots{gap:3px}.results-count{font-size:10px}.calendar-footer{flex-direction:column;gap:4px}.admin-tools .primary,.admin-tools .secondary{padding:8px 10px;font-size:11px}.week-grid{grid-template-columns:1fr}.week-grid section{grid-template-columns:40px 1fr;align-items:center;display:grid}.week-grid .day-cell{flex-direction:row;align-items:center;min-height:64px}.week-grid .day-name{display:block}.week-grid .dots{margin:0 0 0 auto}.cal-dialog{padding:20px}.day-details .tag-label{font-size:11px}}@media (width<=440px){.page-heading h2{font-size:20px}.page-heading{gap:8px}.mobile-filter{padding:8px 10px;font-size:11px}.view-switch button{padding:7px 12px}.day-cell{min-height:65px;padding:5px}.dots i{width:5px;height:5px}.year-grid{grid-template-columns:1fr}.calendar-toolbar{gap:8px}.results-count{width:100%;margin:0}.form-row{gap:8px}.login-card{padding:25px}.agenda-list button{gap:10px}.app-header .brand-icon{width:38px;height:38px}.header-actions .secondary{padding:8px;font-size:11px}.cal-dialog{max-height:94dvh}.weekday{letter-spacing:0;font-size:9px}}.calendar-sharing{margin-top:18px}.calendar-source-card{color:#fff;cursor:grab;background:linear-gradient(120deg,#075d91,#087db5);border-radius:14px;align-items:center;gap:12px;margin:16px 0;padding:18px;display:flex}.calendar-source-card:active{cursor:grabbing}.calendar-source-card small{margin-top:5px;display:block}.class-drop-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;display:grid}.class-drop-card{color:#183b56;text-align:left;background:#f5faff;border:2px dashed #9dc8e4;border-radius:12px;min-height:120px;padding:16px}.class-drop-card strong,.class-drop-card small,.class-drop-card span{display:block}.class-drop-card small{color:#45657f;margin:8px 0}.class-drop-card span{color:#075d91;font-size:12px}.class-drop-card.selected{background:#dcf2ff;border:2px solid #087db5}.class-drop-card:not(:disabled):hover{background:#eaf7ff;border-color:#087db5}.calendar-extra-tools{border:1px solid #cde1f2;border-radius:10px;padding:10px 14px}.calendar-extra-tools summary{cursor:pointer;color:#075d91;font-weight:600}.calendar-extra-tools[open]{background:#f4f9fe;flex-basis:100%}.wizard-steps{gap:8px;margin:12px 0 24px;padding:0;list-style:none;display:flex}.wizard-steps li{color:#526d84;background:#edf4fc;border-radius:10px;flex:1;padding:10px;font-size:12px}.wizard-steps li[aria-current=step]{color:#fff;background:#087db5;font-weight:700}.wizard-steps span{font-size:18px;font-weight:800;display:block}.wizard-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 8px;display:flex}.wizard-actions .help{flex-basis:100%}.wizard-choices{border:0;min-width:0;margin:20px 0;padding:0}.wizard-choices legend{margin-bottom:12px;font-weight:700}.wizard-choices label{cursor:pointer;border:1px solid #cde1f2;border-radius:12px;flex-direction:row;align-items:flex-start;gap:12px;margin-bottom:10px;padding:14px;display:flex}.wizard-choices label:has(input:checked){background:#eaf7ff;border-color:#087db5}.wizard-choices label:has(input:disabled){opacity:.55;cursor:not-allowed}.wizard-choices input[type=radio]{accent-color:#087db5;flex-shrink:0;width:auto;margin-top:4px}.wizard-choices small{color:#526d84;margin-top:4px;display:block}.other-calendar-actions{border-top:1px solid #cde1f2;margin-top:24px;padding-top:16px}.other-calendar-actions summary{cursor:pointer;color:#075d91;padding:8px 0;font-weight:700}.create-stage-card{background:linear-gradient(120deg,#eaf7ff,#f3f6ff);border:1px solid #a9d8f2;border-left:4px solid #0ba4dd;border-radius:14px;margin:20px 0;padding:20px}.create-stage-heading{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.create-stage-heading>div{flex:230px}.create-stage-heading h3{color:#075d91}.create-stage-heading p{color:#45657f;margin:8px 0 0}.create-stage-heading>button{flex:180px;justify-content:center;min-height:46px}.calendar-app h1,.calendar-app .month-title{color:#087db5}.brand-icon{background:linear-gradient(135deg,#09a4df,#087db5)}.app-header{border-top:3px solid #0ba4dd}.calendar-app input[type=checkbox],.cal-dialog input[type=checkbox]{accent-color:#087db5}.secondary[aria-pressed=true]{color:#075d91;background:#dcefff;border-color:#087db5}.calendar-app textarea:focus-visible,.cal-dialog textarea:focus-visible{outline-offset:3px;outline:3px solid #38bdf8}
