@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap";:root{color-scheme:light;--bg: #f4f5f7;--bg-accent: #e7ebf3;--surface: #ffffff;--surface-muted: #f6f7fa;--surface-strong: #eef1f6;--surface-active: #e3e7ef;--surface-active-border: rgba(16, 18, 23, .12);--text: #101217;--muted: #5a606d;--accent: #0a84ff;--accent-strong: #0066d6;--accent-soft: #d7e8ff;--accent-border: rgba(10, 132, 255, .25);--warning: #d97706;--border: rgba(16, 18, 23, .08);--shadow: 0 18px 45px rgba(16, 18, 23, .08);--shadow-soft: 0 10px 25px rgba(16, 18, 23, .06);--glow-1: rgba(10, 132, 255, .12);--glow-2: rgba(16, 18, 23, .06);--glow-1-strong: rgba(10, 132, 255, .18);--glow-2-strong: rgba(245, 158, 11, .12);font-synthesis:none;text-rendering:optimizeLegibility}[data-theme=dark]{color-scheme:dark;--bg: #0b0f18;--bg-accent: #121b2a;--surface: #151823;--surface-muted: #1b202c;--surface-strong: #202635;--surface-active: #232b3b;--surface-active-border: rgba(255, 255, 255, .12);--text: #f6f7fb;--muted: #a3a9b5;--accent: #0a84ff;--accent-strong: #4aa3ff;--accent-soft: rgba(10, 132, 255, .22);--accent-border: rgba(10, 132, 255, .4);--warning: #f59e0b;--border: rgba(255, 255, 255, .08);--shadow: 0 20px 50px rgba(0, 0, 0, .35);--shadow-soft: 0 14px 30px rgba(0, 0, 0, .3);--glow-1: rgba(58, 142, 255, .16);--glow-2: rgba(45, 212, 191, .08);--glow-1-strong: rgba(58, 142, 255, .22);--glow-2-strong: rgba(45, 212, 191, .14)}*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg);min-height:100%}body{font-family:Manrope,SF Pro Text,Helvetica Neue,sans-serif;background:transparent;background-color:var(--bg);color:var(--text);min-height:100vh;min-height:100svh;min-height:100dvh;position:relative;z-index:0;overflow-x:hidden}body:before,body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}body:before{z-index:-2;background:radial-gradient(1200px circle at 10% 10%,var(--glow-1),transparent 55%),radial-gradient(900px circle at 90% 90%,var(--glow-2),transparent 60%),linear-gradient(160deg,var(--bg),var(--bg-accent));background-repeat:no-repeat}body:after{z-index:-1;top:-180px;right:-180px;bottom:-180px;left:-180px;background:radial-gradient(420px circle at 15% 5%,var(--glow-1-strong),transparent 70%),radial-gradient(520px circle at 85% 95%,var(--glow-2-strong),transparent 70%);filter:blur(16px);opacity:.35}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:transform .2s ease,box-shadow .2s ease,color .2s ease}input,textarea,select{font-family:inherit}input,textarea,select{transition:border-color .2s ease,box-shadow .2s ease}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--muted)}.muted{color:var(--muted)}.primary{background:var(--accent);color:#fefefe;border-radius:14px;padding:.65rem 1.4rem;font-weight:600;box-shadow:0 10px 20px #0a84ff33;transition:transform .2s ease,box-shadow .2s ease}.primary:hover{transform:translateY(-1px);box-shadow:0 14px 24px #0a84ff40}.primary.small{padding:.45rem 1rem;font-size:.85rem;border-radius:12px}.ghost{border:1px solid var(--border);padding:.55rem 1.1rem;border-radius:999px;background:var(--surface);color:var(--text)}.ghost.small{padding:.35rem .85rem;font-size:.8rem}.text-link{align-self:flex-start;color:var(--accent);font-weight:600;padding:0}.text-link:hover{text-decoration:underline}.pill{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;background:var(--surface-strong);color:var(--muted);font-size:.75rem;text-transform:capitalize}.error{color:#b13d2d;font-size:.85rem}.notice{background:var(--accent-soft);border:1px solid var(--accent-border);padding:.75rem 1rem;border-radius:14px;margin-bottom:1.5rem}.page-shell{min-height:100vh;display:flex;flex-direction:column;gap:1.75rem;padding:1.5rem clamp(1.25rem,3vw,2.5rem) 2rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.page-brand{display:inline-flex;align-items:center;gap:.75rem}.page-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.theme-toggle{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.45rem .95rem;font-size:.85rem;color:var(--muted)}.theme-toggle:hover{color:var(--text);box-shadow:var(--shadow-soft)}.app-footer{margin-top:auto;padding:1rem 0 0;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center}.app-footer--shell{padding:2rem 0 0}.login{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;align-items:center;flex:1}.login-panel{background:var(--surface);padding:2.5rem;border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--border);display:flex;flex-direction:column;gap:1.75rem;animation:fadeUp .6s ease}.login-panel h1{font-size:clamp(2rem,3vw,2.8rem);line-height:1.1}.login-form{display:grid;gap:1rem}.login-form label{display:grid;gap:.5rem;font-size:.9rem}.login-form input{padding:.75rem 1rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted)}.login-divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.85rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.demo-buttons{display:grid;gap:.6rem}.auth-switch{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.demo-buttons button{padding:.6rem 1rem;border-radius:12px;background:var(--surface-strong);font-weight:600}.login-showcase{display:flex;justify-content:center;align-items:center}.onboarding{flex:1;display:flex;align-items:center;justify-content:center;padding:0}.wizard-card{width:min(1080px,100%);background:var(--surface);border-radius:26px;box-shadow:var(--shadow);border:1px solid var(--border);display:grid;grid-template-columns:minmax(220px,320px) 1fr;overflow:hidden}.wizard-aside{background:var(--surface-strong);padding:2.5rem;display:grid;gap:1.5rem}.wizard-aside h1{font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1.1}.wizard-progress{width:100%;height:6px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.wizard-progress span{display:block;height:100%;background:var(--accent);transition:width .3s ease}.wizard-steps{display:grid;gap:.9rem}.wizard-step{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center;padding:.75rem .85rem;border-radius:16px;background:var(--surface);border:1px solid transparent}.wizard-step.active{border-color:var(--accent-soft);background:var(--surface)}.wizard-step.done{border-color:transparent;opacity:.75}.wizard-index{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-weight:600;display:grid;place-items:center;box-shadow:0 8px 16px #0a84ff33}.wizard-step.done .wizard-index{background:var(--muted);box-shadow:none}.wizard-step strong{display:block;font-size:.95rem}.wizard-step span{font-size:.8rem}.wizard-content{padding:2.5rem;display:grid;gap:1.5rem}.wizard-content h2{font-size:1.6rem}.wizard-actions{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.upload-card{background:var(--surface-muted);border-radius:18px;padding:1rem;display:grid;gap:.65rem;border:1px solid var(--border)}.upload-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.import-card .ghost{padding:.35rem .8rem;font-size:.8rem}.mapping-panel{margin-top:.5rem;display:grid;gap:.75rem}.mapping-grid{display:grid;gap:.75rem}.mapping-grid .field span{font-size:.85rem}.preview-table{display:grid;gap:.4rem;overflow-x:auto}.preview-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;padding:.4rem .5rem;border-radius:10px;background:#fff;font-size:.75rem}.preview-header{background:var(--surface-strong);font-weight:600}.import-actions{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap}.upload-card input[type=file]{font-size:.85rem}.upload-status{font-size:.8rem;color:var(--muted)}.upload-status.uploaded{color:var(--accent-strong)}.upload-status.error{color:#b13d2d}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.review-card{background:var(--surface-muted);border-radius:18px;padding:1rem;display:grid;gap:.5rem}.review-card ul{display:grid;gap:.4rem;list-style:none;padding:0;margin:0;font-size:.85rem}.review-card li{display:flex;justify-content:space-between;gap:.75rem}.onboarding-pending{flex:1;display:grid;place-items:center;padding:2rem}.glass-card{background:#ffffffb8;border-radius:24px;padding:2rem;width:min(420px,100%);box-shadow:var(--shadow-soft);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:floatIn .8s ease}[data-theme=dark] .glass-card{background:#151823bf}.mini-schedule{margin-top:1.5rem;display:grid;gap:1rem}.mini-schedule div{display:grid;gap:.4rem;padding:.75rem 1rem;border-radius:16px;background:var(--surface)}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;min-height:100svh;min-height:100dvh}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem;box-shadow:var(--shadow-soft)}.brand{display:flex;align-items:center;gap:1rem}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--text);color:var(--surface);font-weight:700}.brand-name{font-weight:700}.brand-sub{color:var(--muted);font-size:.85rem}.sidebar-footer{margin-top:auto;display:grid;gap:1rem}.owner-card{display:grid;gap:.75rem}.owner-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.owner-header strong{display:block}.owner-form{display:grid;gap:.6rem}.owner-actions{display:flex;justify-content:flex-end;gap:.5rem}.owner-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem}.branding-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.85rem}.file-pill{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);padding:.35rem .75rem;font-size:.8rem;cursor:pointer}.file-pill input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.sidebar nav{display:grid;gap:.5rem}.sidebar nav button{text-align:left;padding:.7rem 1rem;border-radius:14px;font-weight:600;color:var(--text);background:transparent;transition:background .2s ease,box-shadow .2s ease}.sidebar nav button.active{background:var(--surface-active);box-shadow:inset 0 0 0 1px var(--surface-active-border)}.role-card{background:var(--surface);padding:1rem;border-radius:18px;border:1px solid var(--border);display:grid;gap:.5rem;box-shadow:var(--shadow-soft)}main{padding:2.5rem 3rem;display:flex;flex-direction:column;gap:2rem}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}.topbar-left{display:grid;gap:.35rem}.topbar-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.topbar h1{font-size:clamp(1.8rem,2.8vw,2.5rem);line-height:1.1}.top-actions{display:flex;gap:.75rem}.mobile-only{display:none}.brand-avatar{width:44px;height:44px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.08em;box-shadow:var(--shadow-soft);overflow:hidden}.brand-avatar img{width:100%;height:100%;object-fit:cover}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.summary-grid--widget{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-tile{background:var(--surface-muted);border-radius:16px;padding:1.1rem;border:1px solid var(--border);display:flex;flex-direction:column;gap:.65rem}.student-add-card{gap:.75rem}.student-add-form{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.student-add-note{margin:0 0 .5rem}.student-add-section{grid-column:1 / -1;display:grid;gap:.85rem;padding:.85rem 1rem;border-radius:16px;border:1px solid var(--border);background:var(--surface-muted)}.student-add-section-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.student-add-section-header h4{margin:0}.student-add-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.student-add-success{display:grid;gap:.75rem;padding:.85rem 1rem;border-radius:16px;border:1px dashed var(--border);background:var(--surface-muted)}.student-add-success strong{display:block}.student-add-credentials{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.student-add-credentials code{font-family:IBM Plex Mono,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.85rem;padding:.1rem .4rem;border-radius:6px;background:var(--surface)}.student-add-actions{display:flex;flex-wrap:wrap;gap:.5rem}.student-details-panel{grid-column:1 / -1;border-radius:16px;border:1px solid var(--border);padding:.75rem 1rem;background:var(--surface-muted)}.student-details-panel summary{cursor:pointer;font-weight:600}.student-details-panel[open] summary{margin-bottom:.75rem}.student-details-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.overview-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.overview-toolbar-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.overview-board{display:grid;grid-template-columns:repeat(var(--overview-columns, 12),minmax(0,1fr));gap:1.25rem;grid-auto-flow:row dense;margin-bottom:1.5rem}.overview-widget{min-width:0;transition:transform .2s ease,opacity .2s ease}.overview-widget.editing .widget-card{border-style:dashed}.overview-widget.is-dragging{opacity:.7}.overview-widget.is-drop-target .widget-card{box-shadow:0 0 0 2px var(--accent-strong)}.widget-card{height:100%;transition:border-color .2s ease,box-shadow .2s ease}.card-header.widget-header{align-items:flex-start}.widget-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.widget-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.widget-size{display:grid;gap:.25rem;font-size:.75rem}.widget-size select{min-width:130px}.widget-handle{cursor:grab;display:inline-flex;align-items:center;justify-content:center}.widget-handle:active{cursor:grabbing}.widget-handle svg{width:16px;height:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.overview-library .card{gap:1rem}.widget-library-grid{display:flex;flex-wrap:wrap;gap:.5rem}.overview-mobile-note{margin:0 0 1rem}.notice--inline{margin:.75rem 0 1rem}.empty-state{display:grid;gap:.75rem}.empty-actions{display:flex;flex-wrap:wrap;gap:.5rem}.card{background:var(--surface);padding:1.5rem;border-radius:22px;box-shadow:var(--shadow-soft);border:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;animation:fadeUp .5s ease}.card.status-card--mobile{display:none}.metric{font-size:2.2rem;font-weight:700}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.timezone-label,.helper-text{font-size:.8rem}.schedule-list,.student-list,.thread-list,.team-list{display:grid;gap:.75rem}.schedule-item,.student-item,.thread-item,.team-item{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:16px;background:var(--surface-muted)}.schedule-item.schedule-group{flex-direction:column;gap:.75rem}.schedule-item.faded{opacity:.55}.schedule-item span,.student-item span{display:block;font-size:.85rem}.schedule-time{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.schedule-group-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.schedule-group-toggle{display:grid;gap:.25rem;text-align:left;border:none;background:transparent;padding:0;width:100%;color:inherit}.schedule-group-title{display:flex;align-items:center;gap:.5rem}.schedule-group-title .pill{display:inline-flex}.schedule-group-toggle:hover strong{color:var(--accent-strong)}.schedule-summary{display:grid;gap:.5rem;padding-top:.75rem;border-top:1px dashed var(--border)}.schedule-summary-item{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.5rem .6rem;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.schedule-summary-main{display:grid;gap:.2rem}.schedule-tags{display:flex;flex-wrap:wrap;gap:.35rem}.schedule-tags .pill{font-size:.72rem}.schedule-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.calendar-card{display:grid;gap:1.25rem}.weather-card{position:relative;overflow:hidden}.weather-card:before{content:"";position:absolute;top:-40%;right:-10%;bottom:-20%;left:-10%;background:radial-gradient(circle at 20% 20%,rgba(47,74,109,.18),transparent 55%),radial-gradient(circle at 80% 10%,rgba(31,111,92,.18),transparent 55%),radial-gradient(circle at 60% 85%,rgba(100,116,62,.16),transparent 60%);opacity:.4;animation:weatherGlow 14s ease-in-out infinite;pointer-events:none;background-repeat:no-repeat}.weather-card>*{position:relative;z-index:1}.weather-header{align-items:center;flex-wrap:wrap}.weather-controls{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:.75rem;align-items:end}.weather-input{display:grid;gap:.35rem}.weather-label{font-size:.78rem;font-weight:600;color:var(--muted)}.weather-controls .search-input{min-width:220px}.weather-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.weather-suggestions-hint{font-size:.82rem}.weather-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.weather-suggestion{border-radius:999px;display:inline-flex;align-items:center;gap:.4rem}.weather-suggestion--match{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.weather-suggestion .pill{font-size:.65rem;text-transform:uppercase;letter-spacing:.02em}.weather-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:.75rem;overflow-x:auto;padding-bottom:.2rem}.weather-day{background:var(--surface-muted);border-radius:16px;border:1px solid var(--border);padding:.75rem;display:grid;gap:.45rem;min-width:140px;transition:transform .2s ease,box-shadow .2s ease;animation:fadeUp .45s ease;animation-delay:var(--delay, 0s);animation-fill-mode:both}.weather-day:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.weather-day-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.weather-day-label{font-weight:600;display:block}.weather-icon-wrap{display:grid;justify-items:end;gap:.2rem}.weather-icon{width:34px;height:34px;color:var(--accent-strong);animation:weatherIconFloat 7s ease-in-out infinite}.weather-condition{font-size:.68rem;text-transform:capitalize}.weather-temp{display:flex;align-items:baseline;gap:.4rem}.weather-high{font-size:1.1rem;font-weight:700}.weather-low{font-size:.8rem}.weather-meta{display:grid;gap:.2rem;font-size:.78rem}.calendar-header{align-items:center}.calendar-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.calendar-switch{display:inline-flex;gap:.25rem;padding:.2rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted)}.calendar-hours{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted)}.calendar-hours-selects{display:inline-flex;align-items:center;gap:.4rem}.calendar-hours select{min-width:88px}.calendar-switch button{padding:.35rem .9rem;border-radius:999px;font-weight:600;color:var(--muted)}.calendar-switch button.active{background:var(--accent);color:#fff;box-shadow:0 8px 16px #0a84ff33}.segmented-control{display:inline-flex;gap:.25rem;padding:.2rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted)}.segmented-control button{padding:.35rem .9rem;border-radius:999px;font-weight:600;color:var(--muted)}.segmented-control button.active{background:var(--accent);color:#fff;box-shadow:0 8px 16px #0a84ff33}.calendar-nav{display:flex;gap:.5rem;flex-wrap:wrap}.calendar-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;align-items:end}.calendar-filters label{display:grid;gap:.35rem;font-size:.85rem}.calendar-filters input,.calendar-filters select{padding:.6rem .8rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted)}.filter-actions{display:flex;justify-content:flex-end}.calendar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.calendar-day{background:var(--surface-muted);border-radius:18px;padding:.75rem;display:grid;gap:.6rem;min-height:160px}.calendar-day-header{display:flex;justify-content:space-between;gap:.5rem;font-weight:600}.calendar-events{display:grid;gap:.5rem}.calendar-event,.legend-item{--coach-accent: #1f6f5c;--coach-tint: #d6eee6;--coach-tint-dark: #1d3c34}.calendar-event{background:var(--coach-tint);border:1px solid var(--coach-accent);border-left:4px solid var(--coach-accent);border-radius:14px;padding:.55rem .7rem;display:grid;gap:.2rem;box-shadow:0 10px 20px #19161414}.calendar-event-time{font-size:.78rem;font-weight:600}.calendar-event-title{font-weight:600}.calendar-event-meta{font-size:.75rem}.calendar-empty{color:var(--muted);font-size:.85rem}.empty-state-block{display:grid;gap:.4rem}.required{color:var(--warning);font-weight:600}.calendar-month{display:grid;gap:.75rem;overflow-x:auto}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);min-width:560px}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;min-width:560px}.calendar-month-day{background:var(--surface-muted);border-radius:14px;padding:.6rem;min-height:120px;display:grid;grid-template-rows:auto 1fr;gap:.4rem}.calendar-month-day.is-outside{opacity:.5}.calendar-month-header{display:flex;justify-content:space-between;font-weight:600;font-size:.85rem}.calendar-month-events{display:grid;gap:.35rem}.calendar-month-event{--coach-accent: #1f6f5c;--coach-tint: #d6eee6;--coach-tint-dark: #1d3c34;display:flex;align-items:center;gap:.35rem;padding:.3rem .45rem;border-radius:10px;background:var(--coach-tint);border-left:3px solid var(--coach-accent);font-size:.75rem;line-height:1.2}[data-theme=dark] .calendar-event,[data-theme=dark] .calendar-month-event{background:var(--coach-tint-dark)}[data-theme=dark] .legend-swatch{border-color:var(--coach-tint-dark)}.calendar-more{font-size:.75rem;color:var(--muted)}.calendar-legend{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.schedule-grid-card{display:grid;gap:1.25rem}.time-grid{display:grid;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.time-grid-header,.time-grid-body{display:grid;grid-template-columns:72px repeat(var(--day-columns, 7),minmax(140px,1fr));gap:.4rem;min-width:calc(72px + 140px * var(--day-columns, 7))}.time-gutter{display:grid;grid-auto-rows:var(--hour-height);align-items:start;color:var(--muted);font-size:.75rem}.time-grid-header .time-gutter{height:42px}.time-day-label{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.15rem;padding:.5rem .75rem;border-radius:14px;background:var(--surface-muted);border:1px solid transparent;font-weight:600}.time-day-label.active{background:var(--surface-active);border-color:var(--surface-active-border)}.time-day{font-size:.75rem;color:var(--muted)}.time-date{font-size:1rem}.time-column{position:relative;display:grid;grid-auto-rows:var(--hour-height);border-radius:12px;background:var(--surface-muted);overflow:hidden;border:1px solid var(--border)}.time-slot{border-top:1px dashed var(--border)}.time-label{display:flex;align-items:flex-start;justify-content:flex-end;padding-right:.4rem;padding-top:.2rem}.time-block{--coach-accent: var(--accent);--coach-tint: var(--surface-strong);--coach-tint-dark: var(--surface-strong);--overlap-columns: 1;--overlap-index: 0;--overlap-gap: 6px;--column-gutter: 6px;position:absolute;left:calc(var(--column-gutter) + var(--overlap-index) * ((100% - (2 * var(--column-gutter)) - (var(--overlap-columns) - 1) * var(--overlap-gap)) / var(--overlap-columns) + var(--overlap-gap)));width:calc((100% - (2 * var(--column-gutter)) - (var(--overlap-columns) - 1) * var(--overlap-gap)) / var(--overlap-columns));padding:.35rem .5rem;border-radius:12px;background:var(--coach-tint);border-left:4px solid var(--coach-accent);color:var(--text);display:grid;gap:.1rem;font-size:.72rem;line-height:1.15;box-shadow:0 8px 18px #19161414;overflow:hidden}[data-theme=dark] .time-block{background:var(--coach-tint-dark)}.time-block strong,.time-block span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-block span{font-size:.68rem}.time-block.canceled{background:var(--surface-strong);color:var(--muted);text-decoration:line-through}.time-block.compact{padding:.3rem .45rem;gap:.1rem}.time-block.compact strong{font-size:.7rem}.time-block.compact span{font-size:.64rem}.time-block.tiny{padding:.2rem .4rem;gap:.05rem;line-height:1.05}.time-block.tiny strong{font-size:.68rem}.time-block.tiny span{font-size:.6rem}.time-block.draggable{cursor:grab}.time-block.dragging{opacity:.5}.time-block.preview{background:var(--accent);color:#fff;border:1px dashed rgba(255,255,255,.55);z-index:2;pointer-events:none}.time-block.preview.conflict{background:var(--warning)}.time-column.drop-target{box-shadow:inset 0 0 0 2px var(--accent-soft)}.schedule-hint{margin-top:.75rem}.legend-item{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem}.legend-swatch{width:12px;height:12px;border-radius:50%;background:var(--coach-accent);border:2px solid var(--coach-tint);box-shadow:inset 0 0 0 1px #1916140d}.thread-item{flex-direction:column;gap:.5rem;text-align:left;width:100%;border:1px solid transparent}.thread-item.active{border:1px solid var(--accent-soft)}.thread-meta{display:flex;gap:.5rem;align-items:center}.preview{color:var(--muted);font-size:.9rem}.list-tools{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.search-input{flex:1;min-width:220px;padding:.6rem .75rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted)}.composer{margin-top:1rem;display:grid;gap:.75rem}.composer textarea{min-height:90px;padding:.8rem 1rem;border-radius:16px;border:1px solid var(--border);background:var(--surface-muted);resize:vertical}.composer-actions{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap}.composer-actions select{padding:.55rem .8rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted)}.form-grid{display:grid;gap:1rem}.schedule-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.schedule-form-grid .form-actions{grid-column:1 / -1}.field{display:grid;gap:.5rem;font-size:.9rem}.field input,.field select,.field textarea{padding:.75rem 1rem;border-radius:12px;border:1px solid var(--border);background:var(--surface-muted)}.field textarea{min-height:120px;resize:vertical}.field.full{grid-column:1 / -1}.field-row{display:flex;gap:.5rem;align-items:center}.field-row input{flex:1}.form-actions{display:flex;justify-content:flex-end}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:16px;border:1px solid var(--border);background:var(--surface-muted);flex-wrap:wrap}.settings-label{font-weight:600}.checkbox-grid{display:grid;gap:.5rem}.checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.weekday-grid{display:flex;flex-wrap:wrap;gap:.5rem}.weekday-option{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;border-radius:999px;background:var(--surface-strong);font-size:.8rem}.message-list{display:grid;gap:.75rem;margin-bottom:1rem}.message-item{background:var(--surface-muted);padding:.75rem 1rem;border-radius:14px;display:grid;gap:.35rem}.message-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center}.team-meta{display:flex;gap:.75rem;align-items:center}.team-details,.student-details{display:grid;gap:.25rem}.student-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;text-align:right}.student-item.editing{flex-direction:column;align-items:stretch}.student-edit{margin-top:.5rem}.student-edit-actions{display:flex;justify-content:flex-end;gap:.5rem}.team-item.editing{flex-direction:column;align-items:stretch}.team-edit{margin-top:.5rem;display:grid;gap:.75rem}.team-edit-actions{display:flex;justify-content:flex-end;gap:.5rem}.audit-list{display:grid;gap:.75rem}.audit-item{padding:.75rem 1rem;border-radius:14px;border:1px solid var(--border);display:flex;justify-content:space-between;gap:1rem;background:var(--surface-muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes floatIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes weatherGlow{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-4%,-2%,0) scale(1.05)}to{transform:translateZ(0) scale(1)}}@keyframes weatherIconFloat{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}@media (max-width: 960px){.role-card--sidebar{display:none}.card.status-card--mobile{display:flex}.app-shell,.wizard-card{grid-template-columns:1fr}.wizard-aside{border-bottom:1px solid var(--border)}.sidebar{flex-direction:column;align-items:stretch;gap:1.5rem}.sidebar nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;-webkit-overflow-scrolling:touch}.sidebar nav button{white-space:nowrap}main{padding:2rem 1.5rem 3rem}.overview-toolbar{align-items:flex-start}}@media (max-width: 640px){body:before{background:radial-gradient(640px circle at 15% 5%,var(--glow-1),transparent 60%),radial-gradient(520px circle at 85% 95%,var(--glow-2),transparent 65%),linear-gradient(165deg,var(--bg),var(--bg-accent))}body:after{top:-140px;right:-140px;bottom:-140px;left:-140px;background:radial-gradient(320px circle at 18% 6%,var(--glow-1-strong),transparent 70%),radial-gradient(420px circle at 82% 92%,var(--glow-2-strong),transparent 70%);opacity:.26;filter:blur(18px)}[data-theme=dark]{--glow-1: rgba(58, 142, 255, .12);--glow-2: rgba(45, 212, 191, .06);--glow-1-strong: rgba(58, 142, 255, .18);--glow-2-strong: rgba(45, 212, 191, .1)}[data-theme=dark] body:after{opacity:.2;filter:blur(18px)}.weather-controls{grid-template-columns:1fr}.weather-actions,.widget-header-actions{justify-content:flex-start}.widget-controls{width:100%}.widget-size select{min-width:100%}.field-row{flex-wrap:wrap;align-items:stretch}.field-row button{flex:1 1 100%}.student-add-section-header{flex-direction:column;align-items:flex-start}.weather-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sidebar{padding:1.5rem 1.25rem;gap:1.25rem}.brand{gap:.75rem}.brand-avatar{width:38px;height:38px;border-radius:12px}.brand-name{font-size:.95rem}.brand-sub{font-size:.75rem}.sidebar nav button{padding:.55rem .85rem;font-size:.85rem}main{padding:1.5rem 1.25rem 2.5rem}.card{padding:1.25rem}.card-header{flex-direction:column;align-items:flex-start}.topbar{align-items:flex-start}.top-actions{width:100%;justify-content:flex-start;flex-direction:column;align-items:stretch}.top-actions button{width:100%}.mobile-only{display:inline-flex}.topbar-right{width:100%;justify-content:flex-start}.page-header{flex-direction:column;align-items:flex-start}.page-actions{width:100%;justify-content:flex-start}.summary-grid,.content-grid,.upload-grid,.review-grid{grid-template-columns:1fr}.calendar-actions{flex-direction:column;align-items:stretch}.calendar-switch,.calendar-nav,.calendar-hours{width:100%}.calendar-switch button{flex:1;text-align:center}.calendar-hours{justify-content:space-between}.segmented-control{width:100%}.segmented-control button{flex:1;text-align:center}.calendar-filters{grid-template-columns:1fr}.filter-actions{justify-content:flex-start}.calendar-weekdays,.calendar-month-grid{min-width:480px}.schedule-item,.student-item,.team-item,.audit-item{flex-direction:column;align-items:flex-start}.schedule-time,.student-meta{text-align:left;align-items:flex-start}.schedule-actions{justify-content:flex-start}.schedule-group-row,.schedule-summary-item{flex-direction:column;align-items:flex-start}.thread-meta,.message-meta,.owner-meta{flex-wrap:wrap}.composer-actions,.owner-actions,.student-edit-actions,.team-edit-actions,.wizard-actions,.import-actions,.form-actions{flex-direction:column;align-items:stretch}.composer-actions button,.owner-actions button,.student-edit-actions button,.team-edit-actions button,.wizard-actions button,.import-actions button,.form-actions button{width:100%}.settings-row{flex-direction:column;align-items:flex-start}.login-panel{padding:2rem}}
