@charset "UTF-8";:root{--color-primary-950: #0d2a22;--color-primary-900: #123a2f;--color-primary-800: #18483a;--color-primary-700: #215b49;--color-primary-600: #2d705a;--color-primary-100: #e7f1ed;--color-primary-50: #f3f8f6;--color-accent-700: #b85f08;--color-accent-600: #d4770b;--color-accent-100: #fff0d8;--color-primary: var(--color-primary-900);--color-accent: var(--color-accent-600);--color-secondary: #64736d;--color-danger: #bf2f2a;--color-danger-dark: #9d241f;--color-danger-soft: #fff0ef;--color-success: #287a53;--color-bg: #f4f7f5;--color-panel: #ffffff;--color-panel-muted: #f8faf9;--color-panel-strong: #edf3f0;--color-overlay: rgba(13, 42, 34, .44);--color-text: #18231f;--color-text-muted: #64716c;--color-text-subtle: #84908b;--color-text-inverse: #ffffff;--color-border-muted: #d8e1dd;--color-border-strong: #bdcac4;--color-border-shell: #dce5e1;--font-family-base: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: clamp(1.5rem, 3vw, 2rem);--font-size-3xl: clamp(1.875rem, 4vw, 2.625rem);--line-height-tight: 1.2;--line-height-base: 1.55;--radius-xs: .375rem;--radius-sm: .5rem;--radius: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-pill: 999rem;--shadow-xs: 0 .0625rem .125rem rgba(13, 42, 34, .05);--shadow-sm: 0 .25rem .75rem rgba(13, 42, 34, .08);--shadow: 0 .75rem 2rem rgba(13, 42, 34, .1);--shadow-lg: 0 1.25rem 3rem rgba(13, 42, 34, .16);--focus-ring: 0 0 0 .25rem rgba(45, 112, 90, .2);--layout-max-content: 76rem;--layout-max-form: 34rem;--layout-gutter: clamp(1rem, 3vw, 2rem);--header-height: 4.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--transition-fast: .14s ease;--transition-base: .22s ease}html{font-size:100%;color-scheme:light;scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box}body{min-width:20rem;min-height:100vh;margin:0;background:var(--color-bg);color:var(--color-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;width:100%}main{display:block}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0}img,picture,svg,canvas,video{display:block;max-width:100%}img,picture,video{height:auto}button,input,select,textarea{margin:0;color:inherit;font:inherit}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button,[role=button]{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed}textarea{resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{padding:0}a{color:inherit}:focus-visible{outline:.1875rem solid var(--color-accent);outline-offset:.1875rem}::selection{background:color-mix(in srgb,var(--color-primary) 22%,white);color:var(--color-text)}[hidden]{display:none!important}.center{text-align:center}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-base)}h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-primary-950);font-weight:700;line-height:var(--line-height-tight);text-wrap:balance}h1{font-size:var(--font-size-3xl);letter-spacing:-.035em}h2{font-size:var(--font-size-2xl);letter-spacing:-.025em}h3{font-size:var(--font-size-xl);letter-spacing:-.015em}h4{font-size:var(--font-size-lg)}h5,h6{font-size:var(--font-size-base)}p{margin:0;color:var(--color-text-muted)}p+p{margin-top:var(--space-4)}strong,b{font-weight:700}small{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.45}a{color:var(--color-primary-700);font-weight:650;text-decoration-color:color-mix(in srgb,var(--color-primary-700) 45%,transparent);text-decoration-thickness:.1em;text-underline-offset:.2em;transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}a:hover{color:var(--color-primary-900);text-decoration-color:currentColor}label,legend{color:var(--color-text);font-size:var(--font-size-sm);font-weight:700;line-height:1.35}button,input,select,textarea{letter-spacing:inherit}:is(.login,.new-user,.create-lesson,.admin,.instructor,.lesson-board)>h1,:is(.login,.new-user,.create-lesson,.admin,.instructor,.lesson-board)>h2{margin-bottom:var(--space-3);text-align:center}:is(.login,.new-user,.create-lesson,.admin,.instructor,.lesson-board)>:is(h1,h2)+p{max-width:42rem;margin-inline:auto;margin-bottom:var(--space-6);color:var(--color-text-muted);font-size:var(--font-size-base);text-align:center}.calendar__title{color:var(--color-primary-950);font-size:var(--font-size-2xl);font-weight:750;letter-spacing:-.025em}.calendar__month-year{color:var(--color-primary-900);font-size:var(--font-size-xl);font-weight:750;letter-spacing:-.02em}.form-help,.form-message,.error,.success{font-size:var(--font-size-sm);line-height:1.45}.error{color:var(--color-danger)}.success{color:var(--color-success)}button,.btn,input[type=submit],input[type=button]{appearance:none;border:none;outline:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.8rem 1.4rem;border-radius:.75rem;font-family:inherit;font-size:.95rem;font-weight:600;line-height:1;transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .12s ease;-webkit-user-select:none;user-select:none}button:hover,.btn:hover,input[type=submit]:hover,input[type=button]:hover{transform:translateY(-1px)}button:active,.btn:active,input[type=submit]:active,input[type=button]:active{transform:translateY(0)}button:focus-visible,.btn:focus-visible,input[type=submit]:focus-visible,input[type=button]:focus-visible{outline:3px solid rgba(18,58,47,.25);outline-offset:3px}button:disabled,.btn:disabled,input[type=submit]:disabled,input[type=button]:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-primary,.button-primary,button.primary,button[type=submit]{background:#123a2f;color:#fff}.btn-primary:hover,.button-primary:hover,button.primary:hover,button[type=submit]:hover{background:#0b231c;box-shadow:0 .25rem .75rem #0d2a2214}.btn-secondary,.button-secondary{background:#fff;color:#123a2f;border:1px solid #d8e1dd}.btn-secondary:hover,.button-secondary:hover{background:#fff}.btn-danger,.button-danger{background:#d64545;color:#fff}.btn-danger:hover,.button-danger:hover{background:#bf3131}.btn-ghost{background:transparent;color:#123a2f}.btn-ghost:hover{background:#123a2f14}.btn-sm{min-height:36px;padding:.55rem 1rem;font-size:.85rem}.btn-lg{min-height:52px;padding:1rem 1.8rem;font-size:1rem}.btn-block{width:100%}.calendar-nav button{width:42px;height:42px;padding:0;border-radius:50%;background:#fff;border:1px solid #d8e1dd;color:#123a2f}.calendar-nav button:hover{background:#123a2f;color:#fff}.admin-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.5rem}@media(max-width:48rem){button,.btn,input[type=submit]{width:100%;justify-content:center}.admin-actions{flex-direction:column}}:is(.login__form,.new-user__form,.create-lesson__form){display:flex;flex-direction:column;gap:var(--space-5);width:100%}.field,.create-lesson__field{width:100%}.field{display:grid;gap:var(--space-2)}.create-lesson__field>label{display:grid;gap:var(--space-2)}.field__label,.create-lesson__field>label{color:var(--color-text);font-size:.925rem;font-weight:650;line-height:1.35}.field__label{text-transform:capitalize}.field__input,.create-lesson__field input,.create-lesson__field select,:is(.login__form,.new-user__form,.create-lesson__form) textarea{width:100%;min-height:3rem;padding:.75rem .875rem;color:var(--color-text);background-color:var(--color-panel);border:.0625rem solid var(--color-border-muted);border-radius:var(--radius);font:inherit;font-size:1rem;line-height:1.4;box-shadow:0 0 #0000;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.field__input::placeholder,.create-lesson__field input::placeholder,.create-lesson__field select::placeholder,:is(.login__form,.new-user__form,.create-lesson__form) textarea::placeholder{color:var(--color-secondary);opacity:.72}.field__input:hover:not(:disabled),.create-lesson__field input:hover:not(:disabled),.create-lesson__field select:hover:not(:disabled),:is(.login__form,.new-user__form,.create-lesson__form) textarea:hover:not(:disabled){border-color:var(--color-secondary)}.field__input:focus,.field__input:focus-visible,.create-lesson__field input:focus,.create-lesson__field input:focus-visible,.create-lesson__field select:focus,.create-lesson__field select:focus-visible,:is(.login__form,.new-user__form,.create-lesson__form) textarea:focus,:is(.login__form,.new-user__form,.create-lesson__form) textarea:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 .2rem #1f3d2b29}.field__input:disabled,.create-lesson__field input:disabled,.create-lesson__field select:disabled,:is(.login__form,.new-user__form,.create-lesson__form) textarea:disabled{cursor:not-allowed;color:var(--color-secondary);background:#edf1ef;opacity:.75}.field__input:invalid:not(:placeholder-shown):not(:focus),.create-lesson__field input:invalid:not(:placeholder-shown):not(:focus),.create-lesson__field select:invalid:not(:placeholder-shown):not(:focus),:is(.login__form,.new-user__form,.create-lesson__form) textarea:invalid:not(:placeholder-shown):not(:focus){border-color:var(--color-danger)}.create-lesson__field select{appearance:none;cursor:pointer;padding-right:2.75rem;background-image:linear-gradient(45deg,transparent 50%,var(--color-secondary) 50%),linear-gradient(135deg,var(--color-secondary) 50%,transparent 50%);background-position:calc(100% - 1.125rem) 50%,calc(100% - .8125rem) 50%;background-size:.375rem .375rem,.375rem .375rem;background-repeat:no-repeat}.create-lesson__field input[type=number]{max-width:9rem}.create-lesson__field input[type=date]{min-width:0}.field:has(.field__input[type=checkbox]){display:flex;align-items:center;gap:var(--space-3);min-height:2.75rem;padding:var(--space-3) var(--space-4);border:.0625rem solid var(--color-border-muted);border-radius:var(--radius);background:#f8faf9}.field:has(.field__input[type=checkbox]) .field__label{order:2;margin:0;cursor:pointer}.field__input[type=checkbox]{order:1;flex:0 0 auto;width:1.125rem;min-height:0;height:1.125rem;margin:0;padding:0;accent-color:var(--color-primary);cursor:pointer;box-shadow:none}#instructor-status{min-height:1.5rem;color:var(--color-secondary);font-size:.925rem;font-weight:600}.form-error,.field__error{margin:0;color:var(--color-danger);font-size:.85rem;font-weight:600}.form-success{margin:0;color:var(--color-primary);font-size:.9rem;font-weight:600}:is(.login__form,.new-user__form,.create-lesson__form) button[type=submit],#create-btn{width:100%;margin-top:var(--space-1)}@media(min-width:37.5rem){.create-lesson__form{gap:var(--space-6)}.create-lesson__field input[type=number]{max-width:12rem}:is(.login__form,.new-user__form,.create-lesson__form) button[type=submit],#create-btn{width:auto;min-width:10rem;align-self:flex-start}}@media(max-width:24rem){.field__input,.create-lesson__field input,.create-lesson__field select{min-height:2.875rem;padding-inline:.75rem}}.app,.app-shell{width:min(var(--layout-max-content),100% - 2rem);margin-inline:auto;padding:2rem 0 4rem}.page-container{width:100%;max-width:var(--layout-max-content);margin-inline:auto}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem}.page-header h1{margin:0;font-size:clamp(2rem,3vw,2.6rem);font-weight:700}.page-header p{margin-top:.4rem;color:#64716c}.navbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 2rem}.nav-links{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.nav-links a{text-decoration:none;color:#18231f;font-weight:500;padding:.65rem 1rem;border-radius:.75rem;transition:.2s}.nav-links a:hover{background:#123a2f14;color:#123a2f}.nav-links a.active{background:#123a2f;color:#fff}.card{background:#fff;border-radius:1rem;border:1px solid #d8e1dd;box-shadow:0 .25rem .75rem #0d2a2214;padding:1.5rem}.card-lg{padding:2rem}.content-grid{display:grid;gap:2rem}.two-column{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:start}.three-column{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}section{margin-bottom:2rem}footer{margin-top:4rem;padding:2rem 0;color:#64716c;text-align:center;font-size:.9rem}@media(max-width:62rem){.two-column{grid-template-columns:1fr}.three-column{grid-template-columns:repeat(2,1fr)}}@media(max-width:48rem){.app,.app-shell{width:calc(100% - 1.25rem);padding-top:1rem}.page-header,.navbar{flex-direction:column;align-items:flex-start}.nav-links{width:100%}.nav-links a{flex:1;text-align:center}.three-column{grid-template-columns:1fr}.card{padding:1.25rem}}main{width:100%;min-height:100vh;padding:clamp(var(--space-4),4vw,var(--space-10))}.container{width:min(100%,var(--layout-max-content));margin-inline:auto}.login,.new-user{width:min(100%,30rem);min-height:auto;margin:clamp(2rem,10vh,6rem) auto;padding:clamp(1.5rem,5vw,2.5rem);background:var(--color-panel);border:1px solid var(--color-border-shell);border-radius:calc(var(--radius) * 2);box-shadow:var(--shadow)}.login{display:grid;gap:var(--space-6)}.login__title{text-align:center;font-size:clamp(2rem,7vw,3rem);letter-spacing:-.04em}.login__title:after{content:"Lesson scheduling for mountain professionals";display:block;max-width:24rem;margin:var(--space-2) auto 0;color:var(--color-secondary);font-size:.95rem;font-weight:500;letter-spacing:0}.login__form,.new-user__form{padding:clamp(1.25rem,4vw,2rem);background:#f8faf9;border:1px solid var(--color-border-shell);border-radius:calc(var(--radius) * 1.5)}.login__form-title,.new-user__form-title{margin-bottom:var(--space-2);text-align:center;font-size:clamp(1.4rem,5vw,1.85rem)}.login__form-title:after{content:"Enter your account details to continue.";display:block;margin-top:var(--space-2);color:var(--color-secondary);font-size:.9rem;font-weight:400}.new-user__form-title:after{content:"Create an instructor or administrator account.";display:block;margin-top:var(--space-2);color:var(--color-secondary);font-size:.9rem;font-weight:400}.login__link,.new-user__link{display:block;width:fit-content;margin-inline:auto;padding:var(--space-2) var(--space-3);color:var(--color-primary);font-weight:700;text-decoration:none;border-radius:var(--radius)}.login__link:before{content:"New to Snow Pro? ";color:var(--color-secondary);font-weight:500}.login__link:hover,.new-user__link:hover{background:#1f3d2b14}.instructor,.lesson-board{width:min(100%,76rem);min-height:100vh;margin-inline:auto;padding-bottom:7rem}.instructor__controls,.lesson-board__controls{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3);width:min(100%,56rem);margin:var(--space-8) auto 0;padding:var(--space-4);background:var(--color-panel);border:1px solid var(--color-border-shell);border-radius:calc(var(--radius) * 1.5);box-shadow:0 .25rem 1rem #1f3d2b14}.instructor__title{flex-basis:100%;margin:0;color:var(--color-secondary);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}.instructor__link,.lesson-board__link{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.75rem 1.1rem;color:var(--color-primary);font-weight:700;text-decoration:none;background:#1f3d2b14;border:1px solid transparent;border-radius:var(--radius);transition:background-color .2s ease,border-color .2s ease,transform .15s ease}.instructor__link:hover,.lesson-board__link:hover{background:#1f3d2b24;border-color:#1f3d2b33;transform:translateY(-1px)}.admin{width:min(100%,42rem);min-height:auto;margin:clamp(2rem,10vh,6rem) auto;padding:clamp(1.5rem,5vw,2.5rem);background:var(--color-panel);border:1px solid var(--color-border-shell);border-radius:calc(var(--radius) * 2);box-shadow:var(--shadow)}.admin:before{content:"Administration";display:block;margin-bottom:var(--space-2);color:var(--color-accent);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}.admin__header{margin-bottom:var(--space-6);text-align:center;font-size:clamp(1.8rem,6vw,2.5rem);letter-spacing:-.03em}.admin__link{display:flex;align-items:center;justify-content:space-between;min-height:4rem;padding:var(--space-4) var(--space-5);color:var(--color-primary);font-size:1rem;font-weight:750;text-decoration:none;background:#f8faf9;border:1px solid var(--color-border-shell);border-radius:calc(var(--radius) * 1.25);transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.admin__link:after{content:"→";color:var(--color-accent);font-size:1.3rem}.admin__link:hover{border-color:var(--color-accent);box-shadow:0 .5rem 1.25rem #1f3d2b17;transform:translateY(-2px)}.admin__actions{display:grid;gap:var(--space-4)}.create-lesson{width:min(100%,42rem);min-height:auto;margin:clamp(2rem,8vh,5rem) auto;padding:clamp(1.5rem,5vw,2.5rem);background:var(--color-panel);border:1px solid var(--color-border-shell);border-radius:calc(var(--radius) * 2);box-shadow:var(--shadow)}.create-lesson:before{content:"Lesson management";display:block;margin-bottom:var(--space-2);color:var(--color-accent);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-align:center;text-transform:uppercase}.create-lesson__header{margin-bottom:var(--space-2);text-align:center;font-size:clamp(1.8rem,6vw,2.5rem);letter-spacing:-.03em}.create-lesson__header:after{content:"Add a lesson and optionally assign an instructor.";display:block;max-width:28rem;margin:var(--space-2) auto var(--space-6);color:var(--color-secondary);font-size:.95rem;font-weight:400;letter-spacing:0}#instructor-status{min-height:1.5rem;color:var(--color-secondary);font-size:.9rem;font-weight:600;text-align:center}.create-lesson__link{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;margin-top:var(--space-5);padding:.75rem 1rem;color:var(--color-primary);font-weight:700;text-decoration:none;background:#1f3d2b14;border-radius:var(--radius)}.create-lesson__link:before{content:"←";margin-right:var(--space-2)}.create-lesson__link:hover{background:#1f3d2b24}.delete-lessons{width:min(100%,68rem);min-height:auto;margin:clamp(2rem,8vh,5rem) auto;padding:0}.delete-lessons__panel{width:100%;padding:clamp(1.5rem,5vw,2.75rem);background:var(--color-panel);border:1px solid var(--color-border-shell);border-radius:calc(var(--radius) * 2);box-shadow:var(--shadow)}.delete-lessons__header{max-width:42rem;margin:0 auto var(--space-7);text-align:center}.delete-lessons__eyebrow{display:block;margin-bottom:var(--space-2);color:var(--color-accent);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.delete-lessons__title{margin:0;color:var(--color-primary);font-size:clamp(1.9rem,6vw,2.75rem);letter-spacing:-.035em;line-height:1.1;text-transform:uppercase}.delete-lessons__description{max-width:36rem;margin:var(--space-3) auto 0;color:var(--color-secondary);font-size:.95rem;line-height:1.6}.delete-lessons__toolbar{margin-bottom:var(--space-5);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-3)}.delete-lessons__search-label{grid-column:1/-1;color:var(--color-text);font-size:.86rem;font-weight:750}.delete-lessons__search{width:100%;min-height:3rem;padding:.75rem 1rem;color:var(--color-text);background:#fff;border:1px solid var(--color-border-muted);border-radius:var(--radius);font:inherit;transition:border-color .2s ease,box-shadow .2s ease}.delete-lessons__search::placeholder{color:var(--color-secondary)}.delete-lessons__search:hover{border-color:#1f3d2b59}.delete-lessons__search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 .2rem #1f3d2b1f}.delete-lessons__count{min-height:3rem;padding:.75rem 1rem;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);background:#1f3d2b14;border:1px solid rgba(31,61,43,.15);border-radius:var(--radius);font-size:.85rem;font-weight:750;white-space:nowrap}.delete-lessons__status{margin:0 0 var(--space-4);padding:.8rem 1rem;color:var(--color-primary);background:#edf5f0;border:1px solid #d5e4da;border-radius:var(--radius);font-size:.9rem;font-weight:650}.delete-lessons__status--error{color:#8e2525;background:#fff3f3;border-color:#ecc1c1}.delete-lessons__list{display:grid;gap:var(--space-3)}.delete-lessons__item{padding:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:#f8faf9;border:1px solid var(--color-border-shell);border-left:.3rem solid var(--color-primary);border-radius:calc(var(--radius) * 1.25);transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}.delete-lessons__item:hover{border-color:#1f3d2b47;box-shadow:0 .45rem 1rem #1f3d2b17;transform:translateY(-1px)}.delete-lessons__details{min-width:0;display:grid;gap:var(--space-2)}.delete-lessons__type{color:var(--color-primary);font-size:1rem;font-weight:800;text-transform:capitalize}.delete-lessons__metadata{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;color:var(--color-secondary);font-size:.86rem;line-height:1.5}.delete-lessons__metadata strong{color:var(--color-text);font-weight:700}.delete-lessons__delete{min-width:5.25rem;min-height:2.75rem;padding:.65rem 1rem;flex-shrink:0;color:#9a2323;background:#fff;border:1px solid #ddb5b5;border-radius:var(--radius);font:inherit;font-size:.86rem;font-weight:750;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}.delete-lessons__delete:hover{color:#fff;background:#a12626;border-color:#a12626;box-shadow:0 .4rem .9rem #a1262638;transform:translateY(-1px)}.delete-lessons__delete:active{transform:translateY(0)}.delete-lessons__delete:focus-visible{outline:.2rem solid rgba(161,38,38,.25);outline-offset:.15rem}.delete-lessons__empty{padding:clamp(2rem,6vw,4rem) 1rem;text-align:center;background:#f8faf9;border:1px dashed var(--color-border-muted);border-radius:calc(var(--radius) * 1.25)}.delete-lessons__empty h2{margin:0;color:var(--color-primary);font-size:1.25rem}.delete-lessons__empty p{margin:var(--space-2) 0 0;color:var(--color-secondary)}.delete-lessons__footer{margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border-shell)}.delete-lessons__back-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.75rem 1rem;color:var(--color-primary);font-weight:700;text-decoration:none;background:#1f3d2b14;border-radius:var(--radius);transition:background-color .2s ease,transform .15s ease}.delete-lessons__back-link:hover{background:#1f3d2b24;transform:translateY(-1px)}.delete-lessons__back-link:focus-visible{outline:.2rem solid rgba(217,164,65,.45);outline-offset:.2rem}@media(max-width:37.5rem){main{padding:var(--space-3)}.login,.new-user,.admin,.create-lesson{margin-block:var(--space-4);padding:var(--space-5);border-radius:calc(var(--radius) * 1.5)}.delete-lessons{margin-block:var(--space-4)}.delete-lessons__panel{padding:var(--space-5);border-radius:calc(var(--radius) * 1.5)}.delete-lessons__toolbar{grid-template-columns:1fr}.delete-lessons__search-label{grid-column:auto}.delete-lessons__count{justify-self:start;min-height:auto}.delete-lessons__item{align-items:stretch;flex-direction:column}.delete-lessons__metadata{flex-direction:column;gap:.25rem}.delete-lessons__delete,.delete-lessons__back-link{width:100%}.instructor,.lesson-board{padding:var(--space-3) var(--space-2) 8rem}.instructor__controls,.lesson-board__controls{align-items:stretch;margin-top:var(--space-5);padding:var(--space-3)}.instructor__controls>*,.lesson-board__controls>*{width:100%}.instructor__link,.lesson-board__link{width:100%}}@media(min-width:56.25rem){.login,.new-user{padding:var(--space-8)}.create-lesson,.admin,.delete-lessons__panel{padding:var(--space-10)}}@media(prefers-reduced-motion:reduce){.instructor__link,.lesson-board__link,.admin__link,.create-lesson__link,.delete-lessons__item,.delete-lessons__delete,.delete-lessons__back-link{transition:none}}.module{min-width:0;max-width:100%;box-sizing:border-box;padding:1.5rem;margin-bottom:2rem;background:#fff;border:1px solid #d8e1dd;border-radius:1rem;box-shadow:0 .25rem .75rem #0d2a2214;transition:box-shadow .25s ease,transform .2s ease}.module:hover{box-shadow:0 .25rem .75rem #0d2a2214}.module-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.module-header h2,.module-header h3{margin:0;font-weight:700}.module-header p{margin-top:.35rem;color:#64716c}.module-body{display:grid;gap:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.stat-card{padding:1.5rem;background:#fff;border:1px solid #d8e1dd;border-radius:1rem;box-shadow:0 .25rem .75rem #0d2a2214;transition:transform .25s ease,box-shadow .25s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:0 .25rem .75rem #0d2a2214}.stat-card h3{margin:0;color:#64716c;font-size:.95rem}.stat-card .stat-number{margin-top:.75rem;color:#123a2f;font-size:2rem;font-weight:700}.lesson-card{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;background:#fff;border:1px solid #d8e1dd;border-radius:1rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.lesson-card:hover{border-color:#123a2f;box-shadow:0 .25rem .75rem #0d2a2214;transform:translateY(-2px)}.lesson-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.lesson-time{color:#123a2f;font-size:1.1rem;font-weight:700}.lesson-level{font-weight:600;text-transform:capitalize}.lesson-meta{display:flex;flex-wrap:wrap;gap:.75rem;color:#64716c;font-size:.92rem}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600}.badge-success{color:#15803d;background:#22c55e26}.badge-warning{color:#b45309;background:#f59e0b26}.badge-info{color:#123a2f;background:#123a2f1f}.info-panel{display:grid;gap:.75rem;padding:1.25rem;background:#fff;border:1px solid #d8e1dd;border-radius:1rem}.info-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(216,225,221,.6)}.info-row:last-child{padding-bottom:0;border-bottom:none}.info-row strong{color:#18231f}.info-row span{color:#64716c}.empty-state{padding:3rem 1rem;text-align:center;background:#fff;border:2px dashed #d8e1dd;border-radius:1rem}.empty-state h3{margin-bottom:.5rem}.empty-state p{color:#64716c}.alert{padding:1rem 1.25rem;border-radius:.75rem;font-weight:500}.alert-success{color:#166534;background:#22c55e1f}.alert-error{color:#991b1b;background:#ef44441f}.alert-warning{color:#92400e;background:#f59e0b1f}@media(max-width:48rem){.module{max-width:100%;padding:1.25rem}.module-header{flex-direction:column;align-items:flex-start}.lesson-card-header{flex-direction:column}.info-row{flex-direction:column;align-items:flex-start}}@media(max-width:30rem){.module,.lesson-card{padding:1rem}.stats-grid{grid-template-columns:1fr;gap:1rem}}@media(prefers-reduced-motion:reduce){.module,.stat-card,.lesson-card{transition:none}}.calendar__date.active>.module{max-width:calc(100vw - 2rem);margin:0}@media(max-width:24rem){.calendar__date.active>.module{max-width:calc(100vw - 1rem)}}.calendar-section{width:100%;display:flex;justify-content:center;margin-top:var(--space-5);padding-inline:var(--space-3)}@media(min-width:37.5rem){.calendar-section{margin-top:var(--space-8);padding-inline:var(--space-5)}}.calendar{width:min(100%,68rem);min-width:0;padding:clamp(1rem,2vw,2rem);background:var(--color-panel);border:1px solid var(--color-border-shell);border-radius:1rem;box-shadow:0 .75rem 2rem #1f3d2b14}.calendar__title{margin:0 0 var(--space-6);text-align:center;color:var(--color-primary);font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.15}.calendar__title:after{content:"Select a highlighted date to view lesson details.";display:block;max-width:34rem;margin:.65rem auto 0;color:var(--color-secondary);font-size:clamp(.78rem,1.7vw,.95rem);font-weight:500;line-height:1.5}.calendar__header{display:grid;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.calendar__month-year{min-width:0;text-align:center;color:var(--color-primary);font-size:clamp(1.05rem,3vw,1.5rem);font-weight:700;line-height:1.2}.calendar__nav{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--color-panel);color:var(--color-primary);border:1px solid var(--color-border-muted);border-radius:50%;font-size:1.25rem;font-weight:700;line-height:1;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.calendar__nav:hover{color:#fff;background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 .35rem .9rem #1f3d2b2e;transform:translateY(-1px)}.calendar__nav:active{transform:translateY(0)}.calendar__nav:focus-visible{outline:.2rem solid rgba(217,164,65,.45);outline-offset:.2rem}.calendar__days,.calendar__dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}@media(min-width:37.5rem){.calendar__days,.calendar__dates{gap:.55rem}}.calendar__days{margin-bottom:.4rem}.calendar__dates{align-items:stretch}.calendar__day{min-width:0;padding-block:.35rem;overflow:hidden;color:var(--color-secondary);font-size:clamp(.62rem,1.7vw,.78rem);font-weight:700;letter-spacing:.04em;text-align:center;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap}.calendar__date{position:relative;min-width:0;min-height:clamp(4.25rem,12vw,7.25rem);padding:clamp(.35rem,1vw,.7rem);display:flex;flex-direction:column;align-items:flex-start;background:var(--color-panel);border:1px solid var(--color-border-muted);border-radius:.65rem;text-align:left;cursor:default;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.calendar__date[role=button]{cursor:pointer;background:#edf6f0;border-color:#1f623b7a;box-shadow:inset 0 0 0 1px #1f623b0f}.calendar__date[role=button]:after{content:"View";position:absolute;top:.5rem;right:.5rem;padding:.2rem .42rem;color:#fff;background:var(--color-primary);border-radius:999px;font-size:clamp(.48rem,1.15vw,.64rem);font-weight:800;letter-spacing:.035em;line-height:1;text-transform:uppercase}.calendar__date[role=button]>span:first-child{color:var(--color-primary)}.calendar__date[role=button]>p{display:inline-flex;align-items:center;gap:.3rem;color:var(--color-primary);font-weight:750}.calendar__date[role=button]>p:after{content:"→";font-size:1.05em;transition:transform .16s ease}.calendar__date[role=button]:hover{background:#e3f1e8;border-color:var(--color-primary);box-shadow:0 .55rem 1.2rem #1f3d2b2b;transform:translateY(-2px);z-index:2}.calendar__date[role=button]:hover>p:after{transform:translate(.18rem)}.calendar__date:focus-visible{outline:.2rem solid rgba(217,164,65,.48);outline-offset:.15rem;border-color:var(--color-accent);z-index:4}.calendar__date.active{background:#e5f2e9;border-color:var(--color-accent);box-shadow:0 0 0 .12rem #d9a4413d,0 .55rem 1.2rem #1f3d2b26;z-index:20}.calendar__date.active:after{content:"Selected";background:var(--color-accent);color:#17261d}.calendar__date>span:first-child{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;min-height:1.6rem;color:var(--color-text);font-size:clamp(.76rem,2vw,.92rem);font-weight:750;line-height:1}.calendar__date>p{margin:auto 0 0;color:var(--color-secondary);font-size:clamp(.58rem,1.5vw,.76rem);font-weight:600;line-height:1.25}.calendar__date[role=button]>p{color:var(--color-primary)}.calendar__dates:before{content:"Green dates have lessons";grid-column:1/-1;justify-self:end;margin-bottom:.15rem;padding-left:1rem;color:var(--color-secondary);background:radial-gradient(circle at .3rem 50%,var(--color-primary) 0 .24rem,transparent .26rem);font-size:clamp(.65rem,1.5vw,.78rem);font-weight:650;line-height:1.4}.calendar__date--empty{visibility:hidden;pointer-events:none}.calendar__date--today{background:#f8f4e8;border-color:var(--color-accent)}.calendar__date--today>span:first-child{color:#fff;background:var(--color-primary);border-radius:50%}.calendar__date-number{color:var(--color-text);font-size:.85rem;font-weight:700}.calendar__date.active>.module{position:fixed;top:50dvh;right:auto;bottom:auto;left:50vw;z-index:40;width:min(24rem,100vw - 2rem);min-width:0;max-width:calc(100vw - 2rem);height:auto;max-height:calc(100dvh - 2rem);margin:0;padding:1rem;display:grid;gap:.8rem;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;background:var(--color-panel);border:1px solid var(--color-border-shell);border-radius:.85rem;box-shadow:0 1rem 2.5rem #1f293333;transform:translate(-50%,-50%);cursor:default}.calendar__date.active>.module:before{display:none;content:none}.calendar__date.active>.module>.btn{position:absolute;top:.65rem;right:.65rem;width:2rem;min-width:2rem;height:2rem;min-height:2rem;padding:0;color:var(--color-secondary);background:#eef3f0;border:0;border-radius:50%;font-size:.8rem;font-weight:800}.calendar__date.active>.module>.btn:hover{color:#fff;background:var(--color-primary);transform:none}.calendar__date.active,.calendar__date.active:hover,.calendar__date.active[role=button]:hover{transform:none}.lesson-date{display:block;padding-right:2.4rem;color:var(--color-primary);font-size:.88rem;font-weight:750;line-height:1.35}.lesson{width:100%;margin:0;padding:1rem;display:grid;gap:.35rem;align-items:start;color:var(--color-text);background:#f4f8f5;border:1px solid #d9e5de;border-left:.3rem solid var(--color-primary);border-radius:.65rem;text-align:left}.lesson__timeLength{margin:0;color:var(--color-primary);font-size:1rem;font-style:normal;font-weight:800;line-height:1.2}.lesson__type,.lesson__guests{margin:0;color:var(--color-secondary);font-size:.86rem;line-height:1.35}.lesson__type{font-style:normal;font-weight:650;text-transform:capitalize}.lesson__guests{margin-bottom:.25rem}.lesson__lesson-btn,.calendar__lesson-btn{width:100%;min-height:2.5rem;margin-top:.45rem;padding:.65rem .85rem;color:#fff;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:.5rem;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease}.lesson__lesson-btn:hover,.calendar__lesson-btn:hover{background:#162f21;border-color:#162f21;box-shadow:0 .35rem .85rem #1f3d2b33;transform:translateY(-1px)}.lesson__lesson-btn:active,.calendar__lesson-btn:active{transform:translateY(0)}.lesson__lesson-btn:focus-visible,.calendar__lesson-btn:focus-visible{outline:.2rem solid rgba(217,164,65,.45);outline-offset:.15rem}@media(max-width:37.5rem){.calendar-section{padding-inline:var(--space-2)}.calendar{padding:1rem .65rem 1.25rem;border-radius:.8rem}.calendar__title{margin-bottom:var(--space-5)}.calendar__header{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem;gap:var(--space-2)}.calendar__nav{width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem}.calendar__date{min-height:4.2rem;padding:.3rem;border-radius:.45rem}.calendar__date[role=button]:after{top:.28rem;right:.28rem;padding:.16rem .28rem;font-size:.48rem}.calendar__date>p{overflow-wrap:anywhere}.calendar__dates:before{justify-self:center;margin-bottom:.25rem}}@media(max-width:24rem){.calendar__days,.calendar__dates{gap:.18rem}.calendar__day{font-size:.55rem;letter-spacing:0}.calendar__date{min-height:3.75rem;padding:.22rem}.calendar__date>span:first-child{min-width:1.35rem;min-height:1.35rem;font-size:.7rem}.calendar__date>p{font-size:.52rem}.calendar__date.active>.module{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);padding:.85rem}}@media(prefers-reduced-motion:reduce){.calendar__nav,.calendar__date,.calendar__lesson-btn,.lesson__lesson-btn{transition:none}}
