@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--color-red-50:#fef2f2;--color-red-600:#e40014;--color-green-100:#dcfce7;--color-green-400:#05df72;--color-green-600:#00a544;--color-green-900:#0d542b;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18508 1.52328);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-green-900:lab(30.797% -29.6927 17.382);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.top-10{top:calc(var(--spacing)*10)}.right-2{right:calc(var(--spacing)*2)}.right-6{right:calc(var(--spacing)*6)}.bottom-6{bottom:calc(var(--spacing)*6)}.isolate{isolation:isolate}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-32{height:calc(var(--spacing)*32)}.min-h-screen{min-height:100vh}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#171716\]{border-color:#171716}.bg-\[\#1733C9\]{background-color:#1733c9}.bg-\[\#C45D3E\]{background-color:#c45d3e}.bg-background{background-color:var(--background)}.bg-green-100{background-color:var(--color-green-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-transparent{background-color:#0000}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-2{padding-top:calc(var(--spacing)*2)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#C45D3E\]{color:#c45d3e}.text-\[\#C8432D\]{color:#c8432d}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-green-600{color:var(--color-green-600)}.text-red-600{color:var(--color-red-600)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-\[6px_6px_0_\#171716\]{--tw-shadow:6px 6px 0 var(--tw-shadow-color,#171716);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow\/border{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media (hover:hover){.hover\:bg-\[\#A34D32\]:hover{background-color:#a34d32}.hover\:bg-\[\#F25D42\]:hover{background-color:#f25d42}.hover\:text-\[\#A34D32\]:hover{color:#a34d32}.hover\:text-\[\#A23222\]:hover{color:#a23222}}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:max-w-md{max-width:var(--container-md)}}@media (prefers-color-scheme:dark){.dark\:bg-green-900\/30{background-color:#0d542b4d}@supports (color:color-mix(in lab, red, red)){.dark\:bg-green-900\/30{background-color:color-mix(in oklab,var(--color-green-900)30%,transparent)}}.dark\:text-green-400{color:var(--color-green-400)}}}:root{--background:#fff;--foreground:#171717;--color-cream:#f8f5f0;--color-cream-dark:#ede8e0;--color-charcoal:#1a1a1a;--color-charcoal-light:#3d3d3d;--color-terracotta:#c45d3e;--color-terracotta-light:#d97b5e;--color-sage:#5d7b6f;--color-sage-light:#7a9a8c;--color-ink:#2c2c2c;--color-paper:#fffcf7;--font-display:var(--font-cormorant),Georgia,serif;--font-body:var(--font-dm-sans),-apple-system,sans-serif;--ease-out-expo:cubic-bezier(.16,1,.3,1);--ease-out-back:cubic-bezier(.34,1.56,.64,1)}body{background:var(--background);color:var(--foreground);font-family:var(--font-body)}:focus-visible{outline-offset:3px;outline:3px solid #c45d3e59}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.landing-page{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-charcoal);line-height:1.6;position:relative;overflow-x:hidden}.landing-page:before{content:"";opacity:.03;pointer-events:none;z-index:1000;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:fixed;inset:0}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page h4{font-family:var(--font-display);font-weight:500;line-height:1.1}.landing-page .eyebrow{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--color-terracotta);font-size:.75rem;font-weight:600}.landing-page .container{max-width:1200px;margin:0 auto;padding:0 2rem}.landing-nav{z-index:100;transition:all .4s var(--ease-out-expo);padding:1.5rem 0;position:fixed;top:0;left:0;right:0}.landing-nav.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f5f0f2;box-shadow:0 1px #0000000d}.landing-nav .container{justify-content:space-between;align-items:center;display:flex}.landing-page .logo{font-family:var(--font-display);color:var(--color-charcoal);letter-spacing:-.02em;font-size:1.75rem;font-weight:600;text-decoration:none}.landing-page .nav-links{gap:2.5rem;list-style:none;display:flex}.landing-page .nav-links a{color:var(--color-charcoal-light);font-size:.9rem;text-decoration:none;transition:color .3s;position:relative}.landing-page .nav-links a:after{content:"";background:var(--color-terracotta);width:0;height:1px;transition:width .3s var(--ease-out-expo);position:absolute;bottom:-4px;left:0}.landing-page .nav-links a:hover{color:var(--color-charcoal)}.landing-page .nav-links a:hover:after{width:100%}.landing-page .btn{font-family:var(--font-body);transition:all .3s var(--ease-out-expo);cursor:pointer;border:none;border-radius:2px;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.landing-page .btn-primary{background:var(--color-charcoal);color:var(--color-cream)}.landing-page .btn-primary:hover{background:var(--color-terracotta);transform:translateY(-2px);box-shadow:0 8px 24px #c45d3e40}.landing-page .btn-secondary{color:var(--color-charcoal);border:1px solid var(--color-charcoal);background:0 0}.landing-page .hero{min-height:100vh;padding:8rem 0 4rem;position:relative}.landing-page .hero .container{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.landing-page .hero-content{z-index:2;position:relative}.landing-page .hero h1{letter-spacing:-.03em;opacity:0;animation:fadeUp 1s var(--ease-out-expo).2s forwards;margin-bottom:1.5rem;font-size:clamp(3rem,6vw,5rem);transform:translateY(40px)}.landing-page .hero h1 em{color:var(--color-terracotta);font-style:italic}.landing-page .hero-subtitle{color:var(--color-charcoal-light);opacity:0;max-width:480px;animation:fadeUp 1s var(--ease-out-expo).4s forwards;margin-bottom:2.5rem;font-size:1.25rem;transform:translateY(30px)}.landing-page .hero-cta{opacity:0;animation:fadeUp 1s var(--ease-out-expo).6s forwards;gap:1rem;display:flex;transform:translateY(20px)}.landing-page .hero-visual{opacity:0;height:600px;animation:fadeIn 1.2s var(--ease-out-expo).5s forwards;position:relative}.landing-page .hero-card{background:var(--color-paper);border-radius:4px;position:absolute;overflow:hidden;box-shadow:0 25px 80px #00000014,0 8px 24px #0000000a}.landing-page .hero-card-main{width:380px;animation:6s ease-in-out infinite floatCard;top:10%;right:0;transform:rotate(2deg)}.landing-page .hero-card-secondary{width:280px;animation:6s ease-in-out 1s infinite floatCard;bottom:15%;left:0;transform:rotate(-3deg)}.landing-page .card-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.landing-page .card-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600}.landing-page .card-badge{color:var(--color-sage);background:#5d7b6f1a;border-radius:1rem;padding:.25rem .625rem;font-size:.7rem;font-weight:600}.landing-page .card-content{padding:1.25rem 1.5rem}.landing-page .student-row{border-bottom:1px solid #0000000a;align-items:center;gap:.875rem;padding:.75rem 0;display:flex}.landing-page .student-row:last-child{border-bottom:none}.landing-page .student-avatar{background:linear-gradient(135deg,var(--color-terracotta-light),var(--color-terracotta));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.8rem;font-weight:600;display:flex}.landing-page .student-info{flex:1}.landing-page .student-name{font-size:.9rem;font-weight:500}.landing-page .student-meta{color:var(--color-charcoal-light);font-size:.75rem}.landing-page .session-item{border-bottom:1px solid #0000000a;align-items:flex-start;gap:1rem;padding:.875rem 0;display:flex}.landing-page .session-time{font-family:var(--font-display);min-width:50px;font-size:.9rem;font-weight:600}.landing-page .session-details h4{font-family:var(--font-body);margin-bottom:.25rem;font-size:.875rem;font-weight:500}.landing-page .session-student-name{margin-bottom:.25rem;font-size:.875rem;font-weight:600;display:block}.landing-page .session-details p{color:var(--color-charcoal-light);font-size:.75rem}.landing-page .hero-decoration{border:1px solid #c45d3e26;border-radius:50%;width:300px;height:300px;animation:60s linear infinite spin;position:absolute;top:20%;left:-5%}.landing-page .hero-decoration:before{content:"";border:1px solid #c45d3e1a;border-radius:50%;position:absolute;inset:30px}.landing-page .features{padding:8rem 0;position:relative}.landing-page .features:before{content:"";background:linear-gradient(to bottom,transparent,var(--color-charcoal-light));width:1px;height:80px;position:absolute;top:0;left:50%;transform:translate(-50%)}.landing-page .section-header{text-align:center;max-width:600px;margin:0 auto 5rem}.landing-page .section-header .eyebrow{margin-bottom:1rem}.landing-page .section-header h2{letter-spacing:-.02em;margin-bottom:1.25rem;font-size:clamp(2rem,4vw,3rem)}.landing-page .section-header p{color:var(--color-charcoal-light);font-size:1.1rem}.landing-page .features-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.landing-page .feature-card{background:var(--color-paper);transition:all .4s var(--ease-out-expo);border:1px solid #0000;border-radius:4px;padding:2.5rem;position:relative;overflow:hidden}.landing-page .feature-card:hover{border-color:#c45d3e33;transform:translateY(-8px);box-shadow:0 30px 60px #00000014}.landing-page .feature-icon{background:linear-gradient(135deg,var(--color-cream-dark),var(--color-cream));width:48px;height:48px;color:var(--color-terracotta);border-radius:4px;justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.landing-page .feature-card h3{letter-spacing:-.01em;margin-bottom:.875rem;font-size:1.35rem}.landing-page .feature-card p{color:var(--color-charcoal-light);font-size:.95rem;line-height:1.7}.landing-page .feature-number{font-family:var(--font-display);color:#0000000a;font-size:3rem;font-weight:600;line-height:1;position:absolute;top:1.5rem;right:1.5rem}.landing-page .how-it-works{background:var(--color-charcoal);color:var(--color-cream);padding:8rem 0;position:relative;overflow:hidden}.landing-page .how-it-works:before{content:"\"";font-family:var(--font-display);color:#ffffff05;font-size:40rem;line-height:1;position:absolute;top:-100px;right:5%}.landing-page .how-it-works .section-header h2{color:var(--color-cream)}.landing-page .how-it-works .section-header p{color:#f8f5f0b3}.landing-page .steps{grid-template-columns:repeat(3,1fr);gap:4rem;display:grid;position:relative}.landing-page .steps:before{content:"";background:linear-gradient(90deg,var(--color-terracotta),var(--color-sage));opacity:.5;height:1px;position:absolute;top:2rem;left:calc(16.67% + 1rem);right:calc(16.67% + 1rem)}.landing-page .step{text-align:center;position:relative}.landing-page .step-number{background:var(--color-terracotta);width:4rem;height:4rem;font-family:var(--font-display);z-index:1;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 2rem;font-size:1.5rem;font-weight:600;display:flex;position:relative}.landing-page .step h3{color:var(--color-cream);margin-bottom:1rem;font-size:1.5rem}.landing-page .step p{color:#f8f5f0b3;max-width:280px;margin:0 auto;font-size:1rem}.landing-page .portals{padding:8rem 0}.landing-page .portals-grid{grid-template-columns:1fr 1fr;gap:3rem;margin-top:4rem;display:grid}.landing-page .portal-card{background:var(--color-paper);transition:all .4s var(--ease-out-expo);border-radius:4px;overflow:hidden}.landing-page .portal-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px #0000001a}.landing-page .portal-image{height:240px;position:relative;overflow:hidden}.landing-page .portal-image.student{background:linear-gradient(135deg,var(--color-sage),var(--color-sage-light))}.landing-page .portal-image.parent{background:linear-gradient(135deg,var(--color-terracotta),var(--color-terracotta-light))}.landing-page .portal-mockup{background:var(--color-paper);border-radius:8px 8px 0 0;width:85%;padding:1rem;position:absolute;top:2rem;left:50%;transform:translate(-50%);box-shadow:0 -10px 40px #00000026}.landing-page .mockup-header{gap:.5rem;margin-bottom:1rem;display:flex}.landing-page .mockup-dot{background:var(--color-cream-dark);border-radius:50%;width:8px;height:8px}.landing-page .mockup-content{flex-direction:column;gap:.5rem;display:flex}.landing-page .mockup-line{background:var(--color-cream-dark);border-radius:2px;height:8px}.landing-page .mockup-line:first-child{width:60%}.landing-page .mockup-line:nth-child(2){width:80%}.landing-page .mockup-line:nth-child(3){width:45%}.landing-page .portal-content{padding:2rem}.landing-page .portal-content h3{margin-bottom:.75rem;font-size:1.5rem}.landing-page .portal-content p{color:var(--color-charcoal-light);margin-bottom:1.5rem}.landing-page .portal-features{list-style:none}.landing-page .portal-features li{align-items:center;gap:.75rem;padding:.5rem 0;font-size:.9rem;display:flex}.landing-page .portal-features li svg{color:var(--color-sage);flex-shrink:0}.landing-page .pricing{background:var(--color-cream-dark);padding:8rem 0}.landing-page .pricing-card{background:var(--color-paper);text-align:center;border-radius:4px;max-width:500px;margin:0 auto;padding:3rem;position:relative;box-shadow:0 30px 80px #00000014}.landing-page .pricing-card:before{content:"";background:linear-gradient(90deg,var(--color-terracotta),var(--color-sage));height:4px;position:absolute;top:0;left:0;right:0}.landing-page .pricing-card .eyebrow{margin-bottom:.5rem}.landing-page .pricing-card h3{margin-bottom:1.5rem;font-size:2rem}.landing-page .price{font-family:var(--font-display);margin-bottom:.5rem;font-size:4rem;font-weight:600}.landing-page .price span{color:var(--color-charcoal-light);font-size:1.25rem}.landing-page .price-note{color:var(--color-charcoal-light);margin-bottom:2rem;font-size:.9rem}.landing-page .pricing-features{text-align:left;border-top:1px solid #0000000f;border-bottom:1px solid #0000000f;margin-bottom:2.5rem;padding:2rem 0;list-style:none}.landing-page .pricing-features li{align-items:center;gap:.875rem;padding:.625rem 0;display:flex}.landing-page .pricing-features li svg{color:var(--color-sage);flex-shrink:0}.landing-page .cta{text-align:center;padding:10rem 0;position:relative;overflow:hidden}.landing-page .cta:before,.landing-page .cta:after{content:"";border:1px solid #c45d3e1a;border-radius:50%;width:400px;height:400px;position:absolute}.landing-page .cta:before{top:-200px;left:-100px}.landing-page .cta:after{bottom:-200px;right:-100px}.landing-page .cta h2{letter-spacing:-.03em;margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4rem)}.landing-page .cta h2 em{color:var(--color-terracotta);font-style:italic}.landing-page .cta p{color:var(--color-charcoal-light);max-width:500px;margin:0 auto 2.5rem;font-size:1.2rem}.landing-page footer{border-top:1px solid #0000000f;padding:4rem 0}.landing-page .footer-content{justify-content:space-between;align-items:center;display:flex}.landing-page .footer-logo{font-family:var(--font-display);color:var(--color-charcoal);font-size:1.25rem;font-weight:600}.landing-page .footer-logo span{color:var(--color-terracotta)}.landing-page .footer-text{color:var(--color-charcoal-light);font-size:.875rem}.landing-page .answer-band,.landing-page .trust-section,.landing-page .seo-section,.landing-page .seo-hero{position:relative}.landing-page .seo-hero{padding:7rem 0 5rem}.landing-page .seo-hero .container{max-width:880px}.landing-page .seo-hero h1{letter-spacing:-.02em;margin:1rem 0 1.5rem;font-size:clamp(2.8rem,6vw,5rem)}.landing-page .seo-hero p,.landing-page .answer-band p,.landing-page .trust-section p,.landing-page .seo-section p{color:var(--color-charcoal-light);font-size:1.05rem;line-height:1.8}.landing-page .answer-band{background:var(--color-paper);border-top:1px solid #0000000f;border-bottom:1px solid #0000000f;padding:4rem 0}.landing-page .answer-band .container{max-width:900px}.landing-page .answer-band h2,.landing-page .trust-section h2,.landing-page .seo-section h2{margin:.75rem 0 1rem;font-size:clamp(2rem,4vw,3rem)}.landing-page .trust-section,.landing-page .seo-section{padding:6rem 0}.landing-page .muted-section{background:var(--color-cream-dark)}.landing-page .two-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:3rem;display:grid}.landing-page .paper-panel,.landing-page .seo-card{background:var(--color-paper);border:1px solid #0000000f;border-radius:4px;padding:2rem;box-shadow:0 18px 50px #0000000d}.landing-page .paper-panel h3,.landing-page .seo-card h2,.landing-page .seo-card h3{margin-bottom:.875rem}.landing-page .paper-panel h3+.check-list{margin-bottom:2rem}.landing-page .check-list,.landing-page .number-list{color:var(--color-charcoal-light);padding-left:1.25rem;line-height:1.8}.landing-page .check-list li,.landing-page .number-list li{margin:.5rem 0}.landing-page .check-list li::marker{color:var(--color-sage)}.landing-page .check-list.muted li::marker{color:var(--color-terracotta)}.landing-page .seo-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.landing-page .seo-card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-page a.seo-card{color:inherit;transition:transform .25s var(--ease-out-expo),box-shadow .25s var(--ease-out-expo);text-decoration:none;display:block}.landing-page a.seo-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px #00000014}.landing-page .link-row,.landing-page .source-list{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.landing-page .text-link,.landing-page .source-list a{color:var(--color-charcoal);border-bottom:1px solid var(--color-terracotta);font-weight:600;text-decoration:none}.landing-page .matrix-table{background:var(--color-paper);border:1px solid #00000014;margin-top:2rem;display:grid}.landing-page .matrix-row{color:var(--color-charcoal-light);border-bottom:1px solid #0000000f;grid-template-columns:.8fr 1.2fr 1.4fr;gap:1rem;padding:1rem;display:grid}.landing-page .matrix-row:last-child{border-bottom:0}.landing-page .matrix-row.header{background:var(--color-charcoal);color:var(--color-cream);font-weight:600}.landing-page .matrix-row a{color:var(--color-charcoal);font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes floatCard{0%,to{transform:translateY(0)rotate(2deg)}50%{transform:translateY(-15px)rotate(2deg)}}@keyframes spin{to{transform:rotate(360deg)}}.landing-page .reveal{opacity:0;transition:all .8s var(--ease-out-expo);transform:translateY(30px)}.landing-page .reveal.visible{opacity:1;transform:translateY(0)}.landing-page .reveal,.landing-page .hero h1,.landing-page .hero-subtitle,.landing-page .hero-cta,.landing-page .hero-visual{opacity:1;animation:none;transform:none}.dashboard-container{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-charcoal);min-height:100vh}.dashboard-container>.flex-1,.dashboard-container>div{min-width:0}.dashboard-sidebar{background:var(--color-charcoal);width:280px;color:var(--color-cream);min-height:100vh;position:relative;overflow:hidden}.dashboard-sidebar:before{content:"";pointer-events:none;background:radial-gradient(circle,#c45d3e14 0%,#0000 50%);width:200%;height:200%;position:absolute;top:-50%;right:-50%}.sidebar-logo a{font-family:var(--font-display);color:var(--color-cream);letter-spacing:-.02em;font-size:1.75rem;font-weight:600;text-decoration:none}.sidebar-nav ul{flex-direction:column;gap:.5rem;list-style:none;display:flex}.sidebar-nav-item{color:#f8f5f0b3;transition:all .3s var(--ease-out-expo);border-radius:4px;align-items:center;gap:1rem;padding:.875rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;display:flex;position:relative}.sidebar-nav-item:hover{color:var(--color-cream);background:#f8f5f00d}.sidebar-nav-item.active{color:var(--color-cream);background:var(--color-terracotta)}.sidebar-nav-item.active:before{content:"";background:var(--color-cream);border-radius:0 2px 2px 0;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-nav-icon{opacity:.9;width:20px;height:20px}.dashboard-header{background:var(--color-paper);border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.dashboard-header-user{align-items:center;gap:1rem;display:flex}.dashboard-header-avatar{background:linear-gradient(135deg,var(--color-terracotta-light),var(--color-terracotta));color:#fff;width:44px;height:44px;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex}.dashboard-header-info h2{font-family:var(--font-display);color:var(--color-charcoal);margin:0;font-size:1.1rem;font-weight:600}.dashboard-header-info p{color:var(--color-charcoal-light);margin:0;font-size:.8rem}.dashboard-header-actions{align-items:center;gap:1rem;display:flex}.dashboard-mobile-nav{background:var(--color-paper);border-bottom:1px solid #0000000f;gap:.5rem;padding:.75rem 1rem;display:none;overflow-x:auto}.dashboard-mobile-nav a{min-height:44px;color:var(--color-charcoal-light);white-space:nowrap;border-radius:4px;align-items:center;padding:.55rem .85rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.dashboard-mobile-nav a[aria-current=page]{background:var(--color-charcoal);color:var(--color-cream)}.dashboard-header .sidebar-logo{font-family:var(--font-display);color:var(--color-charcoal);letter-spacing:-.02em;font-size:1.5rem;font-weight:600;text-decoration:none}.dashboard-header .sidebar-logo span{color:var(--color-terracotta)}.dashboard-logout-btn{font-family:var(--font-body);color:var(--color-charcoal-light);cursor:pointer;transition:all .3s var(--ease-out-expo);background:0 0;border:1px solid #0000001a;border-radius:4px;padding:.625rem 1.25rem;font-size:.85rem;font-weight:500}.dashboard-logout-btn:hover{color:var(--color-charcoal);border-color:var(--color-charcoal)}.dashboard-main{background:var(--color-cream);flex:1;padding:2rem}.dashboard-main:before{content:"";opacity:.02;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:fixed;inset:0}.dashboard-main>*{z-index:1;position:relative}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h1{font-family:var(--font-display);color:var(--color-charcoal);letter-spacing:-.02em;margin:0;font-size:2.25rem;font-weight:500}.dashboard-welcome p{color:var(--color-charcoal-light);margin-top:.5rem;font-size:1rem}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}.dashboard-stat-card{background:var(--color-paper);transition:all .4s var(--ease-out-expo);border:1px solid #0000;border-radius:4px;padding:1.75rem;position:relative;overflow:hidden}.dashboard-stat-card:hover{border-color:#c45d3e26;transform:translateY(-4px);box-shadow:0 20px 40px #0000000f}.dashboard-stat-card:before{content:"";background:linear-gradient(90deg,var(--color-terracotta),var(--color-sage));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.dashboard-stat-card:hover:before{opacity:1}.dashboard-stat-number{display:none}.dashboard-stat-icon{background:linear-gradient(135deg,var(--color-cream-dark),var(--color-cream));width:40px;height:40px;color:var(--color-terracotta);border-radius:4px;justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.dashboard-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-charcoal-light);margin-bottom:.5rem;font-size:.8rem;font-weight:600}.dashboard-stat-value{font-family:var(--font-display);color:var(--color-charcoal);font-size:2.5rem;font-weight:600;line-height:1}.dashboard-card{background:var(--color-paper);border:1px solid #0000000a;border-radius:4px;margin-bottom:1.5rem;overflow:hidden}.dashboard-card-header{border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;display:flex}.dashboard-card-header h2{font-family:var(--font-display);color:var(--color-charcoal);margin:0;font-size:1.25rem;font-weight:600}.dashboard-card-badge{color:var(--color-sage);background:#5d7b6f1a;border-radius:1rem;padding:.25rem .75rem;font-size:.7rem;font-weight:600}.dashboard-session-item{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;transition:background .2s;display:flex}.dashboard-session-item:last-child{border-bottom:none}.dashboard-session-left{align-items:center;gap:1.25rem;display:flex}.dashboard-session-time{font-family:var(--font-display);color:var(--color-charcoal);min-width:70px;font-size:1rem;font-weight:600}.dashboard-session-details h4{font-family:var(--font-body);color:var(--color-charcoal);margin:0 0 .25rem;font-size:.95rem;font-weight:500}.dashboard-session-details p{color:var(--color-charcoal-light);margin:0;font-size:.8rem}.dashboard-status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:2px;padding:.35rem .875rem;font-size:.7rem;font-weight:600}.dashboard-status-badge.scheduled{color:var(--color-sage);background:#5d7b6f1a}.dashboard-status-badge.completed{color:var(--color-sage);background:#5d7b6f26}.dashboard-status-badge.cancelled{color:var(--color-terracotta);background:#c45d3e1a}.dashboard-status-badge.no-show{color:var(--color-terracotta);background:#c45d3e26}.dashboard-actions{gap:1rem;margin-top:2rem;display:flex}.dashboard-action-btn{font-family:var(--font-body);transition:all .3s var(--ease-out-expo);cursor:pointer;border:none;border-radius:4px;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.dashboard-action-btn.primary{background:var(--color-charcoal);color:var(--color-cream)}.dashboard-action-btn.primary:hover{background:var(--color-terracotta);transform:translateY(-2px);box-shadow:0 8px 24px #c45d3e40}.dashboard-action-btn.secondary{color:var(--color-charcoal);background:0 0;border:1px solid #00000026}.dashboard-action-btn.secondary:hover{border-color:var(--color-charcoal);background:#00000005}.dashboard-empty{text-align:center;padding:3rem 1.75rem}.dashboard-empty p{color:var(--color-charcoal-light);font-size:.95rem}.dashboard-package{padding:1.75rem}.dashboard-package-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dashboard-package-header span{color:var(--color-charcoal-light);font-size:.85rem}.dashboard-package-header strong{font-family:var(--font-display);color:var(--color-charcoal);font-size:1rem;font-weight:600}.dashboard-progress-bar{background:var(--color-cream-dark);border-radius:4px;width:100%;height:8px;overflow:hidden}.dashboard-progress-fill{background:linear-gradient(90deg,var(--color-sage),var(--color-sage-light));height:100%;transition:width .6s var(--ease-out-expo);border-radius:4px}.dashboard-package-footer{justify-content:space-between;align-items:center;margin-top:.75rem;display:flex}.dashboard-package-footer p{color:var(--color-charcoal-light);margin:0;font-size:.85rem}.dashboard-parent-hero{background:linear-gradient(135deg,var(--color-charcoal),var(--color-charcoal-light));border-radius:4px;margin-bottom:2rem;padding:2rem;position:relative;overflow:hidden}.dashboard-parent-hero:before{content:"";border:1px solid #c45d3e33;border-radius:50%;width:300px;height:300px;position:absolute;top:-50%;right:-20%}.dashboard-parent-hero p{color:#f8f5f0b3;margin:0 0 .5rem;font-size:.85rem}.dashboard-parent-hero h1{font-family:var(--font-display);color:var(--color-cream);margin:0;font-size:2rem;font-weight:500}.dashboard-session-notes{background:var(--color-cream);border:1px solid #5d7b6f2e;border-radius:4px;margin-top:.75rem;padding:1rem}.dashboard-session-notes p{color:var(--color-charcoal);margin:0;font-size:.9rem;line-height:1.6}.dashboard-empty-state{text-align:center;background:var(--color-paper);border:1px solid #0000000a;border-radius:4px;padding:4rem 2rem}.dashboard-empty-icon{color:var(--color-charcoal-light);opacity:.4;margin-bottom:1.5rem}.dashboard-empty-icon svg{margin:0 auto}.dashboard-empty-state h3{font-family:var(--font-display);color:var(--color-charcoal);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.dashboard-empty-state p{color:var(--color-charcoal-light);margin:0 0 1.5rem;font-size:.95rem}.dashboard-table-wrapper{background:var(--color-paper);-webkit-overflow-scrolling:touch;border:1px solid #0000000a;border-radius:4px;overflow-x:auto}.dashboard-table{border-collapse:collapse;width:100%}.dashboard-table thead{background:var(--color-cream)}.dashboard-table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--color-charcoal-light);border-bottom:1px solid #0000000f;padding:1rem 1.5rem;font-size:.7rem;font-weight:600}.dashboard-table tbody tr{transition:background .2s}.dashboard-table tbody tr[tabindex]{cursor:pointer}.dashboard-table tbody tr[tabindex]:focus-visible{outline-offset:-3px;background:#c45d3e0f;outline:3px solid #c45d3e59}.dashboard-table td{color:var(--color-charcoal-light);border-bottom:1px solid #0000000a;padding:1rem 1.5rem;font-size:.9rem}.dashboard-table tbody tr:last-child td{border-bottom:none}.dashboard-table-name{color:var(--color-charcoal);font-weight:500}.dashboard-table-actions{text-align:right;white-space:nowrap;width:1%}.dashboard-table-action{background:var(--color-paper);min-height:2.25rem;color:var(--color-charcoal);cursor:pointer;border:1px solid #1a1a1a1f;border-radius:4px;padding:.45rem .75rem;font-size:.78rem;font-weight:700;transition:background .18s,border-color .18s,color .18s,transform .18s}.dashboard-table-action:hover{color:var(--color-terracotta-dark);background:#c45d3e14;border-color:#c45d3e5c}.dashboard-table-action:active{transform:translateY(1px)}.dashboard-table-action:focus-visible{outline-offset:2px;outline:3px solid #c45d3e59}.billing-list{margin-top:0}.billing-controls{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.billing-filter-wrapper{margin-bottom:0}.tab-headers{border-bottom:2px solid #0000000f;gap:0;display:flex}.tab-header{font-family:var(--font-body);color:var(--color-charcoal-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.5rem;margin-bottom:-2px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.tab-header:hover{color:var(--color-charcoal)}.tab-header.active{color:var(--color-terracotta);border-bottom-color:var(--color-terracotta);font-weight:600}.tab-count{color:var(--color-charcoal-light);background:#0000000f;border-radius:10px;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.tab-header.active .tab-count{color:var(--color-terracotta);background:#c45d3e1f}.packages-by-student{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.student-package-group{background:var(--color-paper);border:1px solid #0000001f;min-width:0;padding:1.2rem}.student-group-name{font-family:var(--font-display);color:var(--color-charcoal);border-bottom:1px solid #0000000f;margin:0 0 1rem;padding-bottom:.75rem;font-size:1.35rem;font-weight:600}.billing-cards-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (max-width:1024px){.packages-by-student{grid-template-columns:1fr}.billing-cards-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.billing-cards-grid{grid-template-columns:1fr}}:root{--after-ink:#171716;--after-cream:#f8f1df;--after-paper:#fffdf7;--after-coral:#f25d42;--after-coral-dark:#c8432d;--after-blue:#1733c9;--after-blue-light:#e8ebff;--after-butter:#ffdc62;--after-mint:#9bd8ad;--after-muted:#6f706a;--after-line:#d4d0c5;--after-display:var(--font-archivo-black),"Arial Black",sans-serif;--after-headline:var(--font-dm-sans),sans-serif;--after-body:var(--font-dm-sans),sans-serif;--color-cream:var(--after-cream);--color-paper:var(--after-paper);--color-charcoal:var(--after-ink);--color-charcoal-light:#42423f;--color-terracotta:var(--after-coral);--color-terracotta-light:#ff8069;--color-sage:#4a9b65}body{background:var(--after-cream)}:focus-visible{outline:3px solid var(--after-butter);outline-offset:3px}.landing-page{background:var(--after-cream);color:var(--after-ink);font-family:var(--after-body)}.landing-page:before{display:none}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page h4{font-family:var(--after-headline);font-weight:900}.landing-nav{background:var(--after-cream);border-bottom:3px solid var(--after-ink);height:82px;padding:0;transition:background .2s,box-shadow .2s;position:relative}.landing-nav.scrolled{background:#f8f1dff5;position:sticky;box-shadow:0 5px #1717161f}.landing-nav .container{max-width:none;height:100%;padding-inline:4vw}.landing-page .logo{font-family:var(--after-display);letter-spacing:-.08em;font-size:1.7rem;font-weight:400}.landing-page .logo span{color:var(--after-coral)}.landing-page .nav-links{gap:2rem}.landing-page .nav-links a{color:var(--after-ink);font-weight:700}.landing-page .nav-links a:after{background:var(--after-blue);height:2px}.marketing-menu-toggle{background:var(--after-paper);color:var(--after-ink);border:2px solid var(--after-ink);text-transform:uppercase;padding:.65rem .8rem;font-size:.65rem;font-weight:850;display:none}.landing-page .btn{border:2px solid var(--after-ink);min-height:46px;font-family:var(--after-body);letter-spacing:.06em;text-transform:uppercase;border-radius:0;padding:.85rem 1.05rem;font-size:.7rem;font-weight:800;transition:transform .18s,box-shadow .18s,background .18s}.landing-page .btn-primary{background:var(--after-blue);color:#fff;box-shadow:4px 4px 0 var(--after-ink)}.landing-page .btn-primary:hover{background:var(--after-coral);box-shadow:7px 7px 0 var(--after-ink);transform:translate(-2px,-2px)}.landing-page .btn-secondary{background:var(--after-paper);color:var(--after-ink)}.landing-page .btn-secondary:hover{background:var(--after-butter);color:var(--after-ink)}.after-class-page{overflow:clip}.after-hero{border-bottom:3px solid var(--after-ink);grid-template-columns:1fr 1fr;min-height:740px;display:grid}.after-hero-copy{padding:clamp(5rem,8vw,8rem) 4vw 6rem 7vw}.after-pill{border:2px solid var(--after-ink);letter-spacing:.08em;text-transform:uppercase;border-radius:99px;margin:0;padding:.5rem .8rem;font-size:.64rem;font-weight:800;display:inline-block;transform:rotate(-2deg)}.after-hero h1{letter-spacing:-.065em;text-transform:uppercase;margin:2.7rem 0 2rem;font-size:clamp(4rem,6.2vw,7rem);font-weight:900;line-height:.82}.after-hero h1 span{color:var(--after-coral);-webkit-text-stroke:0;text-shadow:none}.after-dek{max-width:580px;font-size:1.12rem;font-weight:650;line-height:1.55}.after-hero-actions{gap:1rem;margin-top:2.2rem;display:flex}.after-hero-copy>small{color:var(--after-muted);margin-top:1.1rem;font-size:.7rem;display:block}.after-hero-stage{background:var(--after-blue);border-left:3px solid var(--after-ink);place-items:center;display:grid;position:relative;overflow:hidden}.after-hero-stage:before{content:"";aspect-ratio:1;background:var(--after-butter);border-radius:50%;width:min(34vw,440px);position:absolute;top:-7rem;right:-5rem}.after-victory-card{z-index:2;border:3px solid var(--after-ink);width:min(76%,540px);box-shadow:14px 14px 0 var(--after-ink);background:#fff;position:relative;transform:rotate(2deg)}.after-window-bar{border-bottom:3px solid var(--after-ink);background:#f1e9d8;align-items:center;gap:7px;height:46px;padding:0 14px;display:flex}.after-window-bar i{border:1px solid var(--after-ink);background:var(--after-coral);border-radius:50%;width:9px;height:9px}.after-window-bar i:nth-child(2){background:var(--after-butter)}.after-window-bar i:nth-child(3){background:var(--after-mint)}.after-window-bar b{margin-left:auto;font-size:.62rem}.after-victory-content{padding:2.1rem}.after-victory-person{grid-template-columns:64px 1fr 40px;align-items:center;gap:1rem;display:grid}.after-victory-person>div:nth-child(2){flex-direction:column;display:flex}.after-victory-person span,.after-victory-person small{letter-spacing:.05em;text-transform:uppercase;font-size:.62rem;font-weight:750}.after-victory-person strong{font-family:var(--after-display);letter-spacing:-.05em;font-size:1.65rem}.after-victory-person small{color:var(--after-blue);margin-top:.2rem}.after-avatar,.after-success{border:2px solid var(--after-ink);border-radius:50%;place-items:center;font-weight:900;display:grid}.after-avatar{background:var(--after-butter);width:62px;height:62px;font-size:1.2rem}.after-success{background:var(--after-mint);width:38px;height:38px}.after-lesson-note{border:2px solid var(--after-ink);background:#fff2b2;margin-top:1.5rem;padding:1.1rem;transform:rotate(-1deg)}.after-lesson-note span{text-transform:uppercase;font-size:.57rem;font-weight:850}.after-lesson-note p{margin:.45rem 0 0;font-size:.92rem;font-weight:700;line-height:1.45}.after-share-preview{border:2px solid var(--after-ink);background:var(--after-coral);box-shadow:4px 4px 0 var(--after-ink);text-transform:uppercase;margin-top:1.1rem;padding:.95rem;font-size:.68rem;font-weight:900}.after-share-preview span{float:right}.after-sorted{z-index:3;border:3px solid var(--after-ink);background:var(--after-coral);color:#fff;text-align:center;width:112px;height:112px;font-family:var(--after-display);border-radius:50%;place-items:center;font-size:.85rem;line-height:1;display:grid;position:absolute;bottom:9%;right:4%;transform:rotate(11deg)}.after-marquee{border-bottom:3px solid var(--after-ink);background:var(--after-butter);white-space:nowrap;font-family:var(--after-display);padding:1rem 0;font-size:1.15rem;overflow:hidden}.after-marquee div{width:max-content;animation:24s linear infinite afterClassMarquee}@keyframes afterClassMarquee{to{transform:translate(-50%)}}.after-label{letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.65rem;font-weight:850}.after-real-talk{border-bottom:3px solid var(--after-ink);grid-template-columns:1.25fr .75fr;gap:8vw;padding:7rem 7vw;display:grid}.after-real-talk h2,.after-flow h2,.after-features h2,.after-fit h2,.after-final h2{letter-spacing:-.055em;text-transform:uppercase;font-weight:900}.after-real-talk h2{margin:1.5rem 0 0;font-size:clamp(3.5rem,6vw,6.7rem);line-height:.9}.after-real-copy{align-self:end;font-size:1.05rem;font-weight:650;line-height:1.6}.after-real-copy strong{color:var(--after-coral);font-family:var(--after-display);text-transform:uppercase;margin-top:1.8rem;font-size:1.55rem;line-height:1.1;display:block}.after-flow,.after-features{border-bottom:3px solid var(--after-ink);padding:7rem 7vw 8rem}.after-flow>header,.after-features>header{justify-content:space-between;align-items:start;margin-bottom:3.5rem;display:flex}.after-flow h2,.after-features h2{text-align:right;margin:0;font-size:clamp(3.3rem,5.5vw,6rem);line-height:.9}.after-flow-grid{grid-template-columns:repeat(3,1fr);gap:1.1rem;display:grid}.after-flow-card{border:3px solid var(--after-ink);min-height:350px;box-shadow:7px 7px 0 var(--after-ink);padding:1.7rem;position:relative}.after-flow-card.coral{background:var(--after-coral);color:var(--after-ink)}.after-flow-card.butter{background:var(--after-butter)}.after-flow-card.blue{background:var(--after-blue);color:#fff}.after-flow-card>span{border:2px solid;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.after-flow-card h3{letter-spacing:-.055em;text-transform:uppercase;margin:4rem 0 .7rem;font-size:clamp(2.35rem,3.6vw,3.25rem);font-weight:900;line-height:.95}.after-flow-card p{max-width:310px;font-weight:650;line-height:1.5}.after-features{background:var(--after-paper)}.after-feature-grid{border-top:2px solid var(--after-ink);border-left:2px solid var(--after-ink);grid-template-columns:repeat(3,1fr);display:grid}.after-feature-card{border-right:2px solid var(--after-ink);border-bottom:2px solid var(--after-ink);min-height:280px;color:inherit;padding:1.6rem;transition:background .18s,color .18s;position:relative}.after-feature-card:hover,.after-feature-card:focus-visible{background:var(--after-blue);color:#fff}.after-feature-card>span{color:var(--after-coral-dark);font-size:.65rem;font-weight:900}.after-feature-card:hover>span,.after-feature-card:focus-visible>span{color:var(--after-butter)}.after-feature-card h3{letter-spacing:-.035em;text-transform:uppercase;margin:3rem 0 .7rem;font-size:1.45rem;font-weight:900}.after-feature-card p{max-width:330px;font-size:.84rem;line-height:1.55}.after-feature-card b{font-size:1.2rem;position:absolute;bottom:1.2rem;right:1.4rem}.after-fit{background:var(--after-blue);border-bottom:3px solid var(--after-ink);grid-template-columns:1.05fr .95fr;display:grid}.after-quote{background:var(--after-paper);border:3px solid var(--after-ink);box-shadow:12px 12px 0 var(--after-ink);margin:6rem;padding:3.2rem;transform:rotate(-2deg)}.after-quote>span{color:var(--after-coral);font-family:var(--after-display);font-size:6rem;line-height:.4}.after-quote blockquote{font-family:var(--after-display);letter-spacing:-.05em;text-transform:uppercase;margin:2rem 0 1.5rem;font-size:clamp(2rem,3vw,3.3rem);line-height:1}.after-quote p{text-transform:uppercase;font-size:.65rem;font-weight:800}.after-fit-copy{color:#fff;padding:7rem 7vw 7rem 3vw}.after-fit h2{margin:1.7rem 0 2.2rem;font-size:clamp(3.4rem,5vw,5.8rem);line-height:.9}.after-fit ul{padding:0;list-style:none}.after-fit li{border-top:1px solid #6575dd;padding:1rem 0;font-weight:650}.after-fit li:before{content:"✓";color:var(--after-butter);margin-right:.8rem;font-weight:900}.after-fit-note{color:#bdc5ff;margin-top:2rem;font-size:.75rem;line-height:1.5}.after-final{text-align:center;padding:8rem 5vw}.after-final h2{margin:2rem 0 3rem;font-size:clamp(4rem,8vw,8.5rem);line-height:.84}.after-final .btn{justify-content:center;min-width:320px}.after-final>p:last-child{margin-top:1.5rem;font-size:.68rem;font-weight:750}.after-footer{background:var(--after-ink);color:#fff;justify-content:space-between;align-items:center;gap:2rem;padding:2.8rem 5vw 5rem;font-size:.7rem;display:flex}.after-footer strong{font-family:var(--after-display);font-size:2rem}.marketing-footer nav{gap:1.2rem;display:flex}.marketing-footer nav a{color:#bbb;font-weight:700}.marketing-footer nav a:hover{color:var(--after-butter)}.landing-page .seo-main{padding-top:0}.landing-page .seo-hero{border-bottom:3px solid var(--after-ink);padding:6.5rem 0 5rem}.landing-page .seo-hero h1{font-family:var(--after-headline);letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(3.3rem,6vw,6.2rem);font-weight:900;line-height:.9}.landing-page .seo-hero p{font-weight:600}.landing-page .answer-band{background:var(--after-butter);border-block:2px solid var(--after-ink)}.landing-page .answer-band h2,.landing-page .trust-section h2,.landing-page .seo-section h2{font-family:var(--after-headline);letter-spacing:-.04em;text-transform:uppercase;font-weight:900}.landing-page .paper-panel,.landing-page .seo-card{border:2px solid var(--after-ink);box-shadow:5px 5px 0 var(--after-ink);border-radius:0}.landing-page a.seo-card:hover{background:var(--after-blue);color:#fff;box-shadow:8px 8px 0 var(--after-ink);transform:translate(-2px,-2px)}.landing-page .matrix-row{border-color:var(--after-ink)}@media (max-width:1024px){.after-hero,.after-real-talk,.after-fit{grid-template-columns:1fr}.after-hero-stage{border-left:0;border-top:3px solid var(--after-ink);min-height:650px}.after-real-talk{gap:4rem}.after-flow-grid,.after-feature-grid{grid-template-columns:1fr}.after-quote{margin:5rem}.after-fit-copy{padding:1rem 8vw 6rem}}@media (max-width:760px){.landing-nav{height:auto;min-height:72px}.landing-nav .container{flex-wrap:wrap;gap:.8rem;padding:.8rem 1rem}.marketing-menu-toggle{margin-left:auto;display:block}.landing-nav .btn{display:none}.landing-page .nav-links{border-top:1px solid var(--after-ink);order:3;gap:0;width:100%;padding:.55rem 0 0;display:none;overflow:visible}.landing-page .nav-links.open{display:grid}.landing-page .nav-links li{border-bottom:1px solid var(--after-line)}.landing-page .nav-links a{white-space:nowrap;padding:.85rem 0;font-size:.72rem;display:block}.after-hero-copy{padding:5rem 1.4rem}.after-hero h1{letter-spacing:-.055em;font-size:clamp(3.2rem,13vw,4.8rem);line-height:.86}.after-hero-actions{flex-direction:column;align-items:stretch}.after-hero-actions .btn{justify-content:center}.after-hero-stage{min-height:560px}.after-victory-card{width:86%}.after-sorted{display:none}.after-real-talk,.after-flow,.after-features{padding:5rem 1.4rem}.after-flow>header,.after-features>header{display:block}.after-flow h2,.after-features h2{text-align:left;margin-top:1.6rem}.after-flow-card{min-height:290px}.after-quote{margin:4rem 1.4rem;padding:2rem}.after-fit-copy{padding:1rem 1.4rem 5rem}.after-final{padding-inline:1.4rem}.after-final .btn{width:100%;min-width:0}.after-footer{flex-direction:column;align-items:flex-start}.marketing-footer nav{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.after-marquee div{animation:none}}.billing-filters{gap:.5rem;display:flex}.billing-filter-btn{font-family:var(--font-body);color:var(--color-charcoal-light);background:var(--color-paper);cursor:pointer;transition:all .3s var(--ease-out-expo);border:1px solid #0000001a;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.billing-filter-btn:hover{color:var(--color-charcoal);border-color:var(--color-charcoal-light)}.billing-filter-btn.active{background:var(--color-charcoal);color:var(--color-cream);border-color:var(--color-charcoal)}.package-card{background:var(--color-paper);transition:all .3s var(--ease-out-expo);border:1px solid #0000000f;border-radius:4px;padding:1.5rem}.package-card:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00000014}.package-card:focus-visible{outline-offset:3px;outline:3px solid #c45d3e59}.package-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.package-card-name{font-family:var(--font-display);color:var(--color-charcoal);margin:0 0 .25rem;font-size:1.1rem;font-weight:600}.package-card-meta{color:var(--color-charcoal-light);margin:0;font-size:.8rem}.package-progress{margin-bottom:1rem}.package-card-footer{justify-content:space-between;align-items:center;display:flex}.package-card-price{font-family:var(--font-display);color:var(--color-charcoal);font-size:1.35rem;font-weight:600}.package-card-actions{flex-wrap:wrap;gap:.5rem;display:flex}.package-action-btn{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border:none;border-radius:2px;padding:.4rem .75rem;font-size:.7rem;font-weight:600;transition:all .2s}.package-action-btn:disabled{opacity:.5;cursor:not-allowed}.package-action-btn.details{background:var(--color-paper);color:var(--color-charcoal);border:1px solid #00000024}.package-action-btn.details:hover:not(:disabled){border-color:var(--color-charcoal-light);background:var(--color-cream)}.package-action-btn.paid{background:var(--color-sage);color:#fff}.package-action-btn.paid:hover:not(:disabled){background:var(--color-sage-light)}.package-action-btn.overdue{background:var(--color-terracotta);color:#fff}.package-action-btn.overdue:hover:not(:disabled){background:var(--color-terracotta-light)}.package-action-btn.reopen{background:var(--color-charcoal-light);color:#fff}.package-action-btn.reopen:hover:not(:disabled){background:var(--color-charcoal)}.package-card.type-group{background:linear-gradient(to bottom,#5d7b6f09,var(--color-paper)38%);border-color:#5d7b6f3d}.package-card.type-individual{background:linear-gradient(to bottom,#c45d3e09,var(--color-paper)38%);border-color:#c45d3e3d}.package-card-type{font-family:var(--font-display);color:var(--color-charcoal);margin-bottom:.25rem;font-size:1.1rem;font-weight:600;display:block}.package-card.type-group .package-card-type{color:var(--color-sage)}.package-card.type-individual .package-card-type{color:var(--color-terracotta)}.dashboard-page-header{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.dashboard-page-header .dashboard-welcome{margin-bottom:0}.week-view{margin-top:1.5rem}.week-view-nav{background:var(--color-paper);border:1px solid #0000000a;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.week-nav-btn{font-family:var(--font-body);color:var(--color-charcoal-light);cursor:pointer;transition:all .3s var(--ease-out-expo);background:0 0;border:1px solid #0000001a;border-radius:4px;align-items:center;gap:.5rem;min-height:44px;padding:.625rem 1rem;font-size:.85rem;font-weight:500;display:inline-flex}.week-nav-btn:hover{color:var(--color-charcoal);border-color:var(--color-charcoal);background:#00000005}.week-view-title{font-family:var(--font-display);color:var(--color-charcoal);margin:0;font-size:1.25rem;font-weight:600}.week-grid{grid-template-columns:repeat(7,1fr);gap:.75rem;display:grid}.week-day{background:var(--color-paper);min-height:220px;transition:all .3s var(--ease-out-expo);border:1px solid #0000000f;border-radius:4px;padding:1rem}.week-day:hover{box-shadow:0 8px 24px #0000000f}.week-day.today{border-color:var(--color-terracotta);background:linear-gradient(to bottom,#c45d3e08,var(--color-paper))}.week-day-header{text-align:center;border-bottom:1px solid #0000000a;margin-bottom:1rem;padding-bottom:.75rem}.week-day-name{letter-spacing:.1em;text-transform:uppercase;color:var(--color-charcoal-light);margin-bottom:.25rem;font-size:.7rem;font-weight:600;display:block}.week-day-number{font-family:var(--font-display);color:var(--color-charcoal);font-size:1.5rem;font-weight:600}.week-day-number.today{color:var(--color-terracotta)}.week-day-sessions{flex-direction:column;gap:.5rem;display:flex}.week-session-card{text-align:left;cursor:pointer;border:1px solid #0000;border-radius:4px;width:100%;padding:.75rem;transition:all .2s}.week-session-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.week-session-card.scheduled{background:#5d7b6f14;border-color:#5d7b6f26}.week-session-card.completed{background:#5d7b6f1f;border-color:#5d7b6f33}.week-session-card.cancelled{background:#c45d3e14;border-color:#c45d3e26}.week-session-card.no-show{background:#c45d3e1f;border-color:#c45d3e33}.week-session-name{color:var(--color-charcoal);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.8rem;font-weight:600;overflow:hidden}.week-session-time{color:var(--color-charcoal-light);margin-bottom:.25rem;font-size:.7rem}.week-session-status{text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:600}.week-session-card.scheduled .week-session-status,.week-session-card.completed .week-session-status{color:var(--color-sage)}.week-session-card.cancelled .week-session-status,.week-session-card.no-show .week-session-status{color:var(--color-terracotta)}.week-session-card.group-session{border-color:#5d7b6f47;box-shadow:inset 0 0 0 1px #5d7b6f0a}.week-session-card.group-session.scheduled{background:#5d7b6f26;border-color:#5d7b6f40}.week-session-card.group-session.completed{background:#5d7b6f33;border-color:#5d7b6f59}.week-session-card.group-session.cancelled,.week-session-card.group-session.no-show{background:#c45d3e1f;border-color:#c45d3e33}.dashboard-form-shell{max-width:44rem}.dashboard-form-card{background:var(--color-paper);border:1px solid #0000000f;border-radius:4px;padding:2rem}.dashboard-form{flex-direction:column;gap:2rem;display:flex}.dashboard-form-section{flex-direction:column;gap:1rem;display:flex}.dashboard-form-section h2{font-family:var(--font-display);color:var(--color-charcoal);margin:0;font-size:1.2rem;font-weight:600}.dashboard-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.dashboard-form-field{flex-direction:column;gap:.45rem;display:flex}.dashboard-form-field.full{grid-column:1/-1}.dashboard-form-label{color:var(--color-charcoal);font-size:.85rem;font-weight:600;display:block}.dashboard-required{color:var(--color-terracotta)}.dashboard-input,.dashboard-select,.dashboard-textarea{background:var(--color-paper);width:100%;min-height:44px;color:var(--color-charcoal);font-family:var(--font-body);border:1px solid #00000024;border-radius:4px;padding:.7rem .85rem;font-size:.95rem;box-shadow:0 1px #00000008}.dashboard-textarea{resize:vertical;min-height:120px}.dashboard-input:focus,.dashboard-select:focus,.dashboard-textarea:focus{border-color:var(--color-terracotta);outline:none;box-shadow:0 0 0 3px #c45d3e1f}.dashboard-input:disabled,.dashboard-select:disabled,.dashboard-textarea:disabled{background:var(--color-cream-dark);color:#1a1a1a8c;cursor:not-allowed}.dashboard-input-affix{position:relative}.dashboard-input-affix .prefix,.dashboard-input-affix .suffix{color:var(--color-charcoal-light);pointer-events:none;align-items:center;font-size:.9rem;display:flex;position:absolute;top:0;bottom:0}.dashboard-input-affix .prefix{left:.85rem}.dashboard-input-affix .suffix{right:.85rem}.dashboard-input-affix .dashboard-input{padding-left:1.75rem;padding-right:2.75rem}.dashboard-help-text{color:var(--color-charcoal-light);margin:0;font-size:.8rem}.dashboard-field-error{color:var(--color-terracotta);margin:0;font-size:.8rem;font-weight:600}.dashboard-form-actions{border-top:1px solid #0000000f;justify-content:flex-end;gap:.75rem;padding-top:1.25rem;display:flex}.dashboard-form-actions.split{justify-content:space-between;align-items:flex-start}.dashboard-form-actions .action-group{justify-content:flex-end;gap:.75rem;display:flex}.dashboard-alert{color:var(--color-terracotta);background:#c45d3e14;border:1px solid #c45d3e29;border-radius:4px;padding:.875rem 1rem;font-size:.9rem}.dashboard-alert.success{color:var(--color-sage);background:#5d7b6f14;border-color:#5d7b6f33}.dashboard-danger-text{color:var(--color-terracotta);margin:.75rem 0 0;font-size:.85rem}.dashboard-modal-loading,.dashboard-modal-empty{min-height:9rem;color:var(--color-charcoal-light);text-align:center;justify-content:center;align-items:center;font-size:.9rem;display:flex}.dashboard-modal-empty{flex-direction:column;gap:1rem}.dashboard-modal-loading.compact,.dashboard-modal-empty.compact{text-align:left;background:#ede8e073;border:1px solid #0000000f;border-radius:4px;align-items:flex-start;min-height:4.5rem;padding:.9rem 1rem}.dashboard-modal-empty.compact strong,.dashboard-modal-empty.compact span{display:block}.dashboard-fieldset{border:0;margin:0;padding:0}.dashboard-fieldset+.dashboard-fieldset{padding-top:1.5rem}.dashboard-fieldset-legend{color:var(--color-charcoal);margin-bottom:.8rem;font-size:.9rem;font-weight:700}.dashboard-readonly-field{background:var(--color-cream);color:var(--color-charcoal);border:1px solid #00000014;border-radius:4px;margin:.15rem 0 0;padding:.7rem .85rem;font-size:.95rem}.dashboard-status-panel{background:var(--color-cream);border:1px solid #00000012;border-radius:4px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.dashboard-status-summary{color:var(--color-charcoal-light);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.dashboard-status-pill{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.dashboard-status-pill.active{color:var(--color-sage);background:#5d7b6f1f}.dashboard-status-pill.inactive{color:var(--color-charcoal-light);background:#1a1a1a14}.dashboard-checkbox-row{color:var(--color-charcoal);align-items:flex-start;gap:.65rem;font-size:.9rem;display:flex}.dashboard-checkbox{width:1rem;height:1rem;accent-color:var(--color-terracotta);margin-top:.15rem}.dashboard-action-btn:disabled,.dashboard-action-btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.dashboard-action-btn.destructive{background:var(--color-paper);color:var(--color-terracotta);border:1px solid #c45d3e47}.dashboard-action-btn.destructive:hover{color:var(--color-terracotta-dark);background:#c45d3e14}.dashboard-action-btn.destructive.confirm{background:var(--color-terracotta);border-color:var(--color-terracotta);color:var(--color-paper)}.dashboard-action-btn.destructive.confirm:hover{background:var(--color-terracotta-dark);color:var(--color-paper)}.dashboard-modal-backdrop{cursor:default;background:#1a1a1a8a;border:0;padding:0;position:fixed;inset:0}.dashboard-modal-panel{background:var(--color-paper);border-radius:4px;width:100%;max-height:calc(100vh - 2rem);padding:1.75rem;position:relative;overflow-y:auto;box-shadow:0 24px 70px #0000002e}.dashboard-modal-panel:focus{outline:none}.dashboard-modal-panel-md{max-width:28rem}.dashboard-modal-panel-lg{max-width:36rem}.dashboard-modal-panel-lg.session-detail-modal-panel{max-width:42rem}.dashboard-modal-title{font-family:var(--font-display);color:var(--color-charcoal);margin:0;font-size:1.55rem;font-weight:600}.dashboard-icon-btn{min-width:44px;min-height:44px;color:var(--color-charcoal-light);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.dashboard-icon-btn:hover{color:var(--color-charcoal);background:#0000000a}.dashboard-link-action{color:var(--color-terracotta);font-size:.9rem;font-weight:600;text-decoration:none}.dashboard-link-action:hover{color:var(--color-charcoal)}.dashboard-status-options{flex-wrap:wrap;gap:.5rem;display:flex}.dashboard-status-choice{background:var(--color-paper);min-height:38px;color:var(--color-charcoal-light);cursor:pointer;font-family:var(--font-body);text-transform:capitalize;border:1px solid #0000001a;border-radius:999px;padding:.45rem .95rem;font-size:.85rem;font-weight:600}.dashboard-status-choice:hover{color:var(--color-charcoal);border-color:#00000038}.dashboard-status-choice.active.scheduled,.dashboard-status-choice.active.completed{color:var(--color-sage);background:#5d7b6f1a;border-color:#5d7b6f59}.dashboard-status-choice.active.cancelled,.dashboard-status-choice.active.no-show{color:var(--color-terracotta);background:#c45d3e1a;border-color:#c45d3e59}.dashboard-type-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.dashboard-type-option{background:var(--color-paper);min-height:72px;color:var(--color-charcoal);cursor:pointer;text-align:left;border:1px solid #0000001f;border-radius:4px;padding:.85rem 1rem}.dashboard-type-option strong{margin-bottom:.2rem;font-size:.95rem;display:block}.dashboard-type-option span{color:var(--color-charcoal-light);font-size:.78rem}.dashboard-type-option.active.individual{background:#c45d3e0f;border-color:#c45d3e73}.dashboard-type-option.active.group{background:#5d7b6f14;border-color:#5d7b6f73}.week-session-attendance{color:var(--color-sage);margin-top:.125rem;font-size:.65rem;font-weight:500}.week-session-card.group-session .week-session-name{color:var(--color-sage)}.month-view{margin-top:1rem}.month-view-nav{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.month-nav-btn{background:var(--color-paper);color:var(--color-charcoal);font-family:var(--font-body);cursor:pointer;border:1px solid #0000001a;border-radius:6px;align-items:center;gap:.5rem;min-height:44px;padding:.5rem 1rem;font-size:.85rem;transition:all .2s;display:flex}.month-nav-btn:hover{background:var(--color-cream);border-color:#00000026}.month-view-title{font-family:var(--font-display);color:var(--color-charcoal);font-size:1.3rem;font-weight:500}.month-day-header{text-align:center;font-family:var(--font-body);color:var(--color-charcoal);text-transform:uppercase;letter-spacing:.05em;padding:.5rem 0;font-size:.75rem;font-weight:600}.month-grid{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.month-cell{background:var(--color-paper);border:1px solid #0000000f;border-radius:4px;min-height:110px;padding:.5rem;transition:border-color .2s}.month-cell:hover{border-color:#0000001f}.month-cell.today{border-color:var(--color-terracotta);background:linear-gradient(to bottom,#c45d3e08,var(--color-paper))}.month-cell.out-of-month{opacity:.4;background:var(--color-cream)}.month-cell-date{font-family:var(--font-body);color:var(--color-charcoal);margin-bottom:.35rem;font-size:.8rem;font-weight:600}.month-cell.today .month-cell-date{color:var(--color-terracotta)}.month-cell-sessions{flex-direction:column;gap:.2rem;display:flex}.month-session-card{cursor:pointer;text-align:left;width:100%;font-family:var(--font-body);background:#5d7b6f14;border:none;border-radius:3px;align-items:center;gap:.35rem;min-height:32px;padding:.2rem .35rem;transition:background .15s;display:flex}.month-cell-overflow summary{cursor:pointer;align-items:center;min-height:32px;list-style:none;display:flex}.month-cell-overflow summary::-webkit-details-marker{display:none}.month-cell-overflow-list{flex-direction:column;gap:.2rem;margin-top:.2rem;display:flex}.calendar-load-error{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.month-session-card:hover{background:#5d7b6f26}.month-session-card.group-session{background:#c45d3e14}.month-session-card.group-session:hover{background:#c45d3e26}.month-session-card.cancelled,.month-session-card.no-show{opacity:.5}.month-session-time{color:var(--color-charcoal);opacity:.7;white-space:nowrap;font-size:.65rem}.month-session-name{color:var(--color-charcoal);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.month-cell-overflow{color:var(--color-terracotta);cursor:default;padding:.15rem .35rem;font-size:.65rem;font-weight:600}.session-detail-form{gap:1.35rem}.session-detail-summary{background:#ede8e059;border:1px solid #0000000f;border-radius:4px;flex-direction:column;gap:1rem;padding:1rem;display:flex}.session-detail-heading{min-width:0}.session-detail-eyebrow{color:var(--color-charcoal-light);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .25rem;font-size:.78rem;font-weight:600}.session-detail-name{color:var(--color-charcoal);font-family:var(--font-body);overflow-wrap:anywhere;margin:0;font-size:1.15rem;font-weight:700;line-height:1.25}.session-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.session-summary-item{min-width:0}.session-summary-item dt{color:var(--color-charcoal-light);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700}.session-summary-item dd{color:var(--color-charcoal);overflow-wrap:anywhere;margin:.2rem 0 0;font-size:.93rem;line-height:1.35}.attendance-section-wrapper{padding-top:.25rem}.session-legacy-note p{white-space:pre-wrap;margin:.35rem 0}.session-legacy-note span{font-size:.78rem}.session-closeout{border-top:1px solid #00000014;flex-direction:column;gap:1rem;padding:1.25rem 1rem 0;display:flex}.session-closeout-heading,.session-closeout-student-header,.session-closeout-actions{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.session-closeout-heading h3{margin:0}.session-closeout-count{color:var(--color-sage);background:#5d7b6f1f;border-radius:999px;flex:none;padding:.35rem .65rem;font-size:.72rem;font-weight:700}.session-private-note{background:#1a1a1a06;border:1px solid #00000012;border-radius:4px;padding:1rem}.session-closeout-students{flex-direction:column;gap:.8rem;display:flex}.session-closeout-student{background:var(--color-paper);border:1px solid #00000014;border-radius:4px;overflow:hidden}.session-closeout-student.selected{border-color:#5d7b6f59}.session-closeout-student-header{background:#ede8e052;align-items:center;padding:.85rem 1rem}.session-closeout-recipient{cursor:pointer;align-items:flex-start;gap:.7rem;display:flex}.session-closeout-recipient input{width:1.05rem;height:1.05rem;accent-color:var(--color-sage);margin-top:.12rem}.session-closeout-recipient span{flex-direction:column;gap:.12rem;display:flex}.session-closeout-recipient strong{color:var(--color-charcoal);font-size:.92rem}.session-closeout-recipient small{color:var(--color-charcoal-light);font-size:.74rem}.session-closeout-fields{flex-direction:column;gap:1rem;padding:1rem;display:flex}.session-closeout-homework{border:1px dashed #0000001f;border-radius:4px;flex-direction:column;gap:.9rem;margin:0;padding:1rem;display:flex}.session-closeout-homework legend{color:var(--color-charcoal);padding:0 .35rem;font-size:.82rem;font-weight:700}.session-closeout-homework legend span{color:var(--color-charcoal-light);font-size:.7rem;font-weight:500}.session-closeout-actions{align-items:center;padding-top:.25rem}.session-closeout-actions>div{flex:none;gap:.65rem;display:flex}.attendance-roster{flex-direction:column;gap:.9rem;margin-top:.5rem;display:flex}.makeup-selection-summary{background:#ede8e047;border:1px solid #00000014;border-radius:4px;gap:0;margin:0;display:grid}.makeup-absence-field{gap:.75rem}.makeup-selection-summary>div{border-bottom:1px solid #0000000f;grid-template-columns:minmax(7rem,.34fr) 1fr;gap:.8rem;padding:.7rem .85rem;display:grid}.makeup-selection-summary>div:last-child{border-bottom:0}.makeup-selection-summary dt{color:var(--color-charcoal-light);font-size:.75rem;font-weight:700}.makeup-selection-summary dd{min-width:0;color:var(--color-charcoal);overflow-wrap:anywhere;margin:0;font-size:.85rem}.attendance-roster-toolbar,.attendance-makeup-action{background:#ede8e059;border:1px solid #0000000f;border-radius:4px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 1rem;display:flex}.attendance-roster-summary{color:var(--color-charcoal);margin:0 0 .2rem;font-size:.9rem;font-weight:700}.attendance-section{background:var(--color-paper);border:1px solid #0000000f;border-radius:4px;overflow:hidden}.attendance-section-heading{background:#ede8e059;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.attendance-section h4{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--color-charcoal-light);margin:0;font-size:.7rem;font-weight:600}.attendance-section-heading span{background:var(--color-paper);min-width:1.75rem;color:var(--color-charcoal-light);text-align:center;border-radius:999px;font-size:.72rem;font-weight:700;line-height:1.75rem}.attendance-row{border-bottom:1px solid #0000000a;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .85rem;display:flex}.attendance-row:last-child{border-bottom:none}.attendance-student{flex-direction:column;gap:.18rem;min-width:0;display:flex}.attendance-row .student-name{color:var(--color-charcoal);overflow-wrap:anywhere;font-size:.875rem;font-weight:700}.attendance-status-copy{color:var(--color-charcoal-light);font-size:.78rem;line-height:1.35}.attendance-actions{flex-shrink:0;gap:.5rem;display:flex}.attendance-row.makeup{background:#c45d3e0a}.status-toggle{min-width:5.4rem;min-height:44px;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border:1px solid #0000;border-radius:4px;padding:.35rem .7rem;font-size:.68rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.status-toggle.present{color:var(--color-sage);background:#5d7b6f1f;border-color:#5d7b6f47}.status-toggle.absent{color:var(--color-terracotta);background:#c45d3e1f;border-color:#c45d3e47}.status-toggle:hover{background:var(--color-charcoal);border-color:var(--color-charcoal);color:var(--color-paper)}.status-toggle:disabled:hover{background:inherit;border-color:inherit;color:inherit}.status-toggle:focus-visible,.mark-all-present-btn:focus-visible,.add-makeup-btn:focus-visible{outline-offset:2px;outline:3px solid #c45d3e3d}.makeup-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--color-terracotta);background:#c45d3e26;border-radius:2px;padding:.2rem .4rem;font-size:.6rem;font-weight:600}.mark-all-present-btn{min-height:44px;font-family:var(--font-body);color:var(--color-cream);background:var(--color-sage);cursor:pointer;border:none;border-radius:4px;flex:none;padding:.5rem .85rem;font-size:.8rem;font-weight:500;transition:background .2s}.mark-all-present-btn:hover{background:var(--color-sage-light)}.mark-all-present-btn:disabled{opacity:.6;cursor:not-allowed}.add-makeup-btn{min-height:44px;font-family:var(--font-body);color:var(--color-terracotta);border:1px dashed var(--color-terracotta);cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:.5rem .85rem;font-size:.8rem;font-weight:500;transition:background .2s,border-color .2s}.add-makeup-btn:hover{background:#c45d3e0d}.add-makeup-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width:640px){.session-summary-grid{grid-template-columns:1fr}.attendance-roster-toolbar,.attendance-makeup-action,.attendance-row,.session-closeout-heading,.session-closeout-actions{flex-direction:column;align-items:stretch}.attendance-actions,.mark-all-present-btn,.add-makeup-btn,.status-toggle{width:100%}.makeup-selection-summary>div{grid-template-columns:1fr;gap:.2rem}.session-closeout-actions>div{width:100%;display:grid}}@media (max-width:1024px){.week-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:768px){.week-grid{grid-template-columns:repeat(2,1fr)}.week-day{min-height:180px}.week-view-nav,.month-view-nav{grid-template-columns:44px minmax(0,1fr) 44px;gap:.5rem;padding:.75rem;display:grid}.week-nav-btn,.month-nav-btn{justify-content:center;width:44px;min-width:44px;padding:0}.calendar-nav-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.week-view-title,.month-view-title{min-width:0;font-family:var(--font-body);text-align:center;overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.month-grid-headings{display:none}.month-grid-cells{grid-template-columns:1fr;gap:.65rem}.month-cell{grid-template-columns:2.5rem minmax(0,1fr);gap:.75rem;min-height:0;padding:.75rem;display:grid}.month-cell.out-of-month{display:none}.month-cell-date{text-align:center;align-self:start;margin:0;font-size:1rem}.month-session-card,.month-cell-overflow summary{min-height:44px}.calendar-load-error{flex-direction:column;align-items:stretch}.calendar-load-error .dashboard-action-btn,.status-toggle,.mark-all-present-btn,.add-makeup-btn,.dashboard-status-choice{min-height:44px}}@media (max-width:640px){.week-grid{grid-template-columns:1fr}.dashboard-page-header{flex-direction:column;gap:1rem}}@media (max-width:1200px){.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.dashboard-sidebar{display:none}.dashboard-mobile-nav{display:flex}.dashboard-stats{grid-template-columns:1fr}.dashboard-main{padding:1.5rem}.dashboard-welcome h1{overflow-wrap:anywhere;font-size:2rem}.dashboard-header{padding:1rem 1.5rem}.dashboard-form-card{padding:1.25rem}.dashboard-form-grid,.dashboard-type-options{grid-template-columns:1fr}.dashboard-form-actions{flex-direction:column-reverse}.dashboard-form-actions.split{align-items:stretch}.dashboard-form-actions .action-group{flex-direction:column-reverse;width:100%}.dashboard-form-actions .dashboard-action-btn{justify-content:center;width:100%}.bug-report-trigger{justify-content:center;width:44px;height:44px;padding:0!important}.bug-report-label{display:none}}@media (max-width:1024px){.landing-page .hero .container{text-align:center;grid-template-columns:1fr}.landing-page .hero{min-height:auto;padding-top:10rem}.landing-page .hero-subtitle{margin:0 auto 2.5rem}.landing-page .hero-cta{justify-content:center}.landing-page .hero-visual{display:none}.landing-page .features-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.landing-page .steps{grid-template-columns:1fr;gap:3rem}.landing-page .steps:before{display:none}.landing-page .portals-grid{grid-template-columns:1fr}}@media (max-width:640px){.landing-page .nav-links{display:none}.landing-page .hero h1{font-size:2.5rem}.landing-page .hero-cta{flex-direction:column}.landing-page .section-header h2{font-size:2rem}.landing-page .footer-content{text-align:center;flex-direction:column;gap:1rem}}.login-wrapper{background:#f8f5f0;min-height:100vh}.login-page{color:#1a1a1a;background:#f8f5f0;justify-content:center;align-items:center;min-height:100vh;padding:2rem;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;position:relative;overflow:hidden}.login-decoration{opacity:.08;pointer-events:none;background:linear-gradient(135deg,#d97b5e 0%,#0000 70%);border-radius:50%;width:50%;height:70%;position:absolute;top:-20%;right:-10%}.login-decoration:after{content:"";opacity:.5;background:linear-gradient(135deg,#7a9a8c 0%,#0000 70%);border-radius:50%;width:60%;height:60%;position:absolute;bottom:-40%;left:-30%}.login-container{z-index:1;width:100%;max-width:420px;position:relative}.login-header{text-align:center;margin-bottom:2rem}.login-logo{color:#1a1a1a;letter-spacing:-.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:3rem;font-weight:700;text-decoration:none;display:inline-block}.login-logo span{color:#c45d3e;font-style:italic}.login-logo:hover{opacity:.8}.login-subtitle{color:#3d3d3d;margin-top:.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-style:italic}.login-card{background:#fff;border:1px solid #0000000a;border-radius:16px;padding:2.5rem;box-shadow:0 4px 6px #00000005,0 12px 24px #0000000a}.login-error{color:#c45d3e;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #c45d3e1a;border-radius:8px;margin-bottom:1.5rem;padding:.875rem 1rem;font-size:.875rem}.login-field{margin-bottom:1.25rem}.login-field label{color:#1a1a1a;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.login-field input{color:#1a1a1a;box-sizing:border-box;background:#f8f5f0;border:1px solid #0000001a;border-radius:8px;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.login-field input::placeholder{color:#3d3d3d;opacity:.5}.login-field input:focus{background:#fff;border-color:#c45d3e;outline:none;box-shadow:0 0 0 3px #c45d3e1a}.login-btn{cursor:pointer;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.login-btn.primary{color:#f8f5f0;background:#1a1a1a;border:none;margin-top:.5rem}.login-btn.primary:hover:not(:disabled){background:#c45d3e;transform:translateY(-1px)}.login-btn.primary:disabled{opacity:.6;cursor:not-allowed}.login-btn.secondary{color:#1a1a1a;background:0 0;border:1px solid #00000026;flex:1}.login-btn.secondary:hover:not(:disabled){background:#f8f5f0;border-color:#1a1a1a}.login-btn.secondary:disabled{opacity:.5;cursor:not-allowed}.login-dev-section{border-top:1px solid #0000000f;margin-top:2rem;padding-top:1.5rem}.login-dev-label{text-transform:uppercase;letter-spacing:.1em;color:#3d3d3d;text-align:center;margin-bottom:1rem;font-size:.75rem}.login-dev-buttons{gap:.75rem;display:flex}.login-footer{text-align:center;color:#3d3d3d;margin-top:1.5rem;font-size:.875rem}.login-footer a{color:#c45d3e;font-weight:500;text-decoration:none}.login-footer a:hover{text-decoration:underline}.line-items-table{border-collapse:collapse;width:100%;font-family:var(--font-body);font-size:.875rem}.line-items-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-charcoal-light);border-bottom:2px solid var(--color-cream-dark);padding:.75rem 1rem;font-size:.7rem}.line-items-table td{color:var(--color-charcoal);border-bottom:1px solid var(--color-cream-dark);padding:.75rem 1rem}.line-items-table tbody tr:hover{background-color:var(--color-cream)}.line-items-table .credit-line{background-color:#5d7b6f14}.line-items-table .credit-line:hover{background-color:#5d7b6f24}.line-items-table tfoot td{border-bottom:none;border-top:2px solid var(--color-cream-dark);padding:1rem;font-size:.95rem}.dashboard-back-link{color:var(--color-charcoal-light);align-items:center;gap:.5rem;font-size:.875rem;text-decoration:none;transition:color .2s;display:inline-flex}.dashboard-back-link:hover{color:var(--color-terracotta)}@media (max-width:480px){.login-page{padding:1rem}.login-card{padding:1.5rem}.login-logo{font-size:2.5rem}.login-dev-buttons{flex-direction:column}}.type-section{margin-top:1rem}.type-section:first-child{margin-top:0}.type-section-heading{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;color:var(--color-charcoal-light);margin-top:1rem;margin-bottom:.5rem;font-size:.8rem}.type-section:first-child .type-section-heading{margin-top:0}.view-toggle{background:var(--color-paper);border:1px solid #0000001a;border-radius:6px;display:inline-flex;overflow:hidden}.view-toggle-btn{font-family:var(--font-body);color:var(--color-charcoal);cursor:pointer;background:0 0;border:none;min-height:44px;padding:.4rem 1rem;font-size:.8rem;transition:all .2s}.view-toggle-btn:hover{background:var(--color-cream)}.view-toggle-btn.active{background:var(--color-charcoal);color:var(--color-cream)}@media (max-width:768px){.view-toggle{width:100%;display:flex}.view-toggle-btn{flex:1}}.portal-shell{background:var(--color-cream);min-height:100dvh}.portal-main{width:min(1180px,100% - 2rem);margin:0 auto;padding:2rem 0 4rem}.portal-hero{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.8fr);align-items:end;gap:1.5rem;margin-bottom:1.5rem;display:grid}.portal-hero h1{font-family:var(--font-display);color:var(--color-charcoal);text-wrap:balance;margin:.2rem 0 .65rem;font-size:clamp(2.6rem,6vw,5.25rem);line-height:.95}.portal-hero p{max-width:44rem;color:var(--color-charcoal-light);line-height:1.7}.portal-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--color-terracotta);margin:0;font-size:.74rem;font-weight:700}.portal-summary-strip{background:#ffffff9e;border:1px solid #1a1a1a17;border-radius:8px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden;box-shadow:0 16px 48px #8b73551c}.portal-summary-strip div{border-right:1px solid #1a1a1a14;min-width:0;padding:1rem}.portal-summary-strip div:last-child{border-right:0}.portal-summary-strip span{color:var(--color-charcoal);text-overflow:ellipsis;white-space:nowrap;font-size:1.35rem;font-weight:700;display:block;overflow:hidden}.portal-summary-strip p{color:var(--color-charcoal-light);margin:.15rem 0 0;font-size:.78rem}.portal-grid{grid-template-columns:minmax(0,1.45fr) minmax(17rem,.75fr);align-items:start;gap:1rem;display:grid}.portal-panel{background:var(--color-paper);border:1px solid #1a1a1a17;border-radius:8px;min-width:0;padding:1.25rem;box-shadow:0 18px 48px #8b735517}.portal-setup-panel{max-width:44rem;margin:12vh auto 0}.portal-setup-panel h1{font-family:var(--font-display);color:var(--color-charcoal);margin:.25rem 0 .75rem;font-size:clamp(2.4rem,6vw,4.5rem);line-height:.95}.portal-setup-panel p:last-child{color:var(--color-charcoal-light);margin:0;line-height:1.7}.portal-panel-wide{grid-row:span 2}.portal-panel-header{border-bottom:1px solid #1a1a1a14;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1rem;display:flex}.portal-panel-header h2{font-family:var(--font-display);color:var(--color-charcoal);margin:.2rem 0 0;font-size:1.75rem;line-height:1}.portal-timeline,.portal-attendance-list{gap:.75rem;padding-top:1rem;display:grid}.portal-timeline-item,.portal-attendance-item{background:#f8f5f0ad;border:1px solid #1a1a1a12;border-radius:7px;grid-template-columns:minmax(8rem,.7fr) minmax(0,1.4fr) auto;align-items:center;gap:1rem;padding:.95rem;display:grid}.portal-attendance-item{grid-template-columns:minmax(0,1fr) auto}.portal-date-block span,.portal-attendance-item span:first-child{color:var(--color-charcoal);font-weight:700;display:block}.portal-date-block p,.portal-timeline-item p,.portal-attendance-item p,.portal-package p,.portal-contact-card p,.portal-empty p{color:var(--color-charcoal-light);margin:.2rem 0 0;line-height:1.5}.portal-timeline-item h3,.portal-attendance-item h3,.portal-contact-card h3,.portal-empty h3{color:var(--color-charcoal);margin:0;font-size:1rem;font-weight:700}.portal-status{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:1.8rem;padding:.32rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.portal-status-scheduled,.portal-status-active,.portal-status-makeup{color:var(--color-sage);background:#5d7b6f24}.portal-status-completed,.portal-status-present,.portal-status-paid{color:#3f6658;background:#5d7b6f2e}.portal-status-cancelled,.portal-status-no-show,.portal-status-absent,.portal-status-overdue{color:var(--color-terracotta);background:#c45d3e21}.portal-package,.portal-contact-card,.portal-empty{gap:.75rem;padding-top:1rem;display:grid}.portal-package strong{color:var(--color-charcoal);font-size:2rem;line-height:1;display:block}.portal-contact-card a{width:fit-content;color:var(--color-terracotta);font-weight:700}.portal-contact-card a:hover{color:var(--color-terracotta-dark)}.portal-session-record .portal-lesson-update{border-top:1px solid #1a1a1a1f;grid-column:1/-1;gap:.9rem;padding-top:1rem;display:grid}.portal-update-label,.portal-update-homework h4,.portal-update-details dt{letter-spacing:.06em;text-transform:uppercase;color:var(--color-sage);margin:0;font-size:.72rem;font-weight:700}.portal-session-record .portal-update-message{color:var(--color-charcoal);margin-top:.35rem}.portal-update-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.portal-update-details div,.portal-update-homework li{background:#5d7b6f14;padding:.75rem}.portal-update-details dd{color:var(--color-charcoal);margin:.3rem 0 0;line-height:1.5}.portal-update-homework h4{margin-bottom:.5rem}.portal-update-homework ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.portal-update-homework li{gap:.2rem;display:grid}.portal-update-homework li span{color:var(--color-charcoal-light);line-height:1.45}@media (max-width:900px){.portal-hero,.portal-grid{grid-template-columns:1fr}.portal-panel-wide{grid-row:auto}}@media (max-width:640px){.portal-main{width:min(100% - 1rem,1180px);padding-top:1rem}.portal-summary-strip{grid-template-columns:1fr}.portal-summary-strip div{border-bottom:1px solid #1a1a1a14;border-right:0}.portal-summary-strip div:last-child{border-bottom:0}.portal-timeline-item,.portal-attendance-item{grid-template-columns:1fr;align-items:start}.portal-update-details{grid-template-columns:1fr}.portal-status{width:fit-content}}@media (max-width:900px){.landing-page .two-column,.landing-page .seo-card-grid,.landing-page .seo-card-grid.three,.landing-page .matrix-row{grid-template-columns:1fr}}@media (max-width:640px){.landing-page .seo-main{padding-top:5rem}.landing-page .seo-hero,.landing-page .seo-section,.landing-page .trust-section{padding:4rem 0}.landing-page .answer-band{padding:3rem 0}.landing-page .paper-panel,.landing-page .seo-card{padding:1.5rem}}.dashboard-container{min-height:100vh;font-family:var(--after-body);background:#e9e5da}.dashboard-sidebar{background:var(--after-ink);border-right:2px solid var(--after-ink);width:240px;box-shadow:none}.sidebar-logo{border-bottom:1px solid #3d3d39;padding:1.9rem 1.8rem 2.2rem}.sidebar-logo a{font-family:var(--after-display);letter-spacing:-.08em;font-size:1.7rem}.sidebar-logo a span{color:var(--after-coral)}.sidebar-nav{padding:1.25rem .9rem}.sidebar-nav ul{gap:.35rem}.sidebar-nav-item{color:#b9b9b1;border:1px solid #0000;border-radius:0;min-height:46px;font-size:.82rem;font-weight:650}.sidebar-nav-item:hover{color:#fff;background:0 0;border-color:#4a4a45}.sidebar-nav-item.active{background:var(--after-blue);color:#fff;box-shadow:4px 4px 0 var(--after-coral);border-color:#7183ff}.sidebar-nav-item.active:before{display:none}.sidebar-nav-icon{color:inherit}.dashboard-header{background:var(--after-paper);border-bottom:2px solid var(--after-ink);min-height:76px;box-shadow:none;padding:.85rem 2rem}.dashboard-header-avatar{background:var(--after-butter);color:var(--after-ink);border:2px solid var(--after-ink);box-shadow:3px 3px 0 var(--after-ink)}.dashboard-header-info h2{font-family:var(--after-body);font-size:.85rem;font-weight:800}.dashboard-header-info p{color:var(--after-muted);font-size:.68rem}.dashboard-main{width:100%;min-width:0;max-width:1500px;padding:2.4rem}.dashboard-welcome h1,.dashboard-page-header .dashboard-welcome h1{font-family:var(--after-headline);letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(2.4rem,4vw,4.5rem);font-weight:900;line-height:.92}.dashboard-welcome h1 em{color:var(--after-coral);font-style:normal}.dashboard-welcome p{color:var(--after-muted);font-size:.82rem}.dashboard-page-header{align-items:end;margin-bottom:1.8rem}.dashboard-page-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.dashboard-stats{gap:.9rem;margin:1.8rem 0 1.2rem}.dashboard-stat-card{background:var(--after-paper);border:2px solid var(--after-ink);min-height:150px;box-shadow:none;border-radius:0;padding:1.2rem}.dashboard-stat-card:first-child{background:var(--after-butter);box-shadow:5px 5px 0 var(--after-ink)}.dashboard-stat-card:hover{box-shadow:4px 4px 0 var(--after-ink);transform:translate(-1px,-1px)}.dashboard-stat-number{color:var(--after-muted);font-family:var(--after-body);font-size:.58rem;font-weight:850}.dashboard-stat-icon{width:34px;height:34px;color:var(--after-blue);border:1px solid var(--after-ink);background:0 0;border-radius:50%}.dashboard-stat-label{color:var(--after-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.62rem;font-weight:850}.dashboard-stat-value{font-family:var(--after-headline);letter-spacing:-.04em;font-size:2.7rem;font-weight:900}.dashboard-stat-value.warning{color:var(--after-coral)}.dashboard-card,.dashboard-empty-state,.dashboard-form,.dashboard-form-card,.dashboard-table-container,.billing-list,.package-card,.dashboard-modal,.sessions-calendar,.attendance-roster{background:var(--after-paper);border:2px solid var(--after-ink);box-shadow:none;border-radius:0}.dashboard-card-header,.dashboard-table-header,.dashboard-modal-header{border-bottom:2px solid var(--after-ink);min-height:62px}.dashboard-card-header h2,.dashboard-table-header h2,.dashboard-modal-header h2{font-family:var(--after-body);font-size:.95rem;font-weight:850}.dashboard-card-header>a{color:var(--after-blue);text-transform:uppercase;font-size:.65rem;font-weight:850}.dashboard-card-badge{background:var(--after-butter);color:var(--after-ink);border:1px solid var(--after-ink);border-radius:0}.dashboard-card-content{padding:0}.dashboard-session-item{border-bottom:1px solid var(--after-line);min-height:76px;padding:1rem 1.25rem}.dashboard-session-item:hover{background:var(--after-blue-light)}.dashboard-session-time{color:var(--after-ink);font-weight:850}.dashboard-session-details h4{font-family:var(--after-body);font-size:.84rem;font-weight:800}.dashboard-session-details p{color:var(--after-muted);font-size:.68rem}.dashboard-status-badge,.portal-status{border:1px solid var(--after-ink);letter-spacing:.05em;text-transform:uppercase;border-radius:0;font-size:.57rem;font-weight:850}.dashboard-status-badge.completed,.dashboard-status-badge.paid,.dashboard-status-badge.active,.portal-status-completed,.portal-status-present,.portal-status-paid,.portal-status-active{background:var(--after-mint);color:var(--after-ink)}.dashboard-status-badge.scheduled,.portal-status-scheduled{background:var(--after-butter);color:var(--after-ink)}.dashboard-status-badge.cancelled,.dashboard-status-badge.no-show,.dashboard-status-badge.overdue,.portal-status-cancelled,.portal-status-no-show,.portal-status-absent,.portal-status-overdue{color:#8d2918;background:#ffd8cf}.dashboard-action-btn,.dashboard-form-submit,.dashboard-form-button,.dashboard-modal-action{border:2px solid var(--after-ink);min-height:44px;font-family:var(--after-body);letter-spacing:.05em;text-transform:uppercase;border-radius:0;font-size:.68rem;font-weight:850}.dashboard-action-btn.primary,.dashboard-form-submit,.dashboard-form-button.primary{background:var(--after-blue);color:#fff;box-shadow:4px 4px 0 var(--after-ink)}.dashboard-action-btn.primary:hover,.dashboard-form-submit:hover,.dashboard-form-button.primary:hover{background:var(--after-coral);box-shadow:6px 6px 0 var(--after-ink);transform:translate(-1px,-1px)}.dashboard-action-btn.secondary,.dashboard-form-button.secondary{background:var(--after-paper);color:var(--after-ink)}.dashboard-action-btn.secondary:hover{background:var(--after-butter)}.dashboard-overview-grid{grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);align-items:start;gap:1.2rem;display:grid}.dashboard-main-stack,.dashboard-side-stack{gap:1.2rem;display:grid}.dashboard-activation-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem;margin-bottom:1.2rem;display:grid}.dashboard-activation-grid .dashboard-card{height:100%;margin-bottom:0}.dashboard-activation-grid .dashboard-kicker{color:var(--after-muted)}.dashboard-setup-header>div,.dashboard-action-center .dashboard-card-header>div{min-width:0}.dashboard-setup-header h2,.dashboard-action-center .dashboard-card-header h2{margin-top:.2rem}.dashboard-setup-header>strong{font-family:var(--after-headline);letter-spacing:-.04em;font-size:1.8rem;font-weight:900}.dashboard-setup-progress{border-bottom:1px solid var(--after-ink);background:#ded9cc;height:8px;overflow:hidden}.dashboard-setup-progress-fill{background:var(--after-blue);height:100%;transition:width .3s}.dashboard-setup-list,.dashboard-action-list{margin:0;padding:0;list-style:none}.dashboard-setup-list li{border-bottom:1px solid var(--after-line);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:74px;padding:.9rem 1.2rem;display:grid}.dashboard-setup-list li:last-child,.dashboard-action-list li:last-child{border-bottom:0}.dashboard-setup-list li.complete{background:#f0f8f2}.dashboard-setup-check{border:1px solid var(--after-ink);background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.75rem;font-weight:900;display:grid}.dashboard-setup-list li.complete .dashboard-setup-check{background:var(--after-mint)}.dashboard-setup-list div,.dashboard-action-list div{gap:.22rem;min-width:0;display:grid}.dashboard-setup-list strong,.dashboard-action-list strong{font-size:.78rem;font-weight:850}.dashboard-setup-list small,.dashboard-action-list small{color:var(--after-muted);font-size:.67rem;line-height:1.4}.dashboard-setup-list a,.dashboard-action-list a{min-height:44px;color:var(--after-blue);border:1px solid var(--after-ink);text-transform:uppercase;align-items:center;padding:0 .85rem;font-size:.62rem;font-weight:850;display:inline-flex}.dashboard-setup-list a:hover,.dashboard-action-list a:hover{background:var(--after-butter)}.dashboard-setup-list a:focus-visible,.dashboard-action-list a:focus-visible{outline:3px solid var(--after-coral);outline-offset:2px}.dashboard-action-list li{border-bottom:1px solid var(--after-line);grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:98px;padding:1rem 1.2rem;display:grid}.dashboard-action-list li.needs-action{background:#fff8e6}.dashboard-action-list li.clear{background:#f0f8f2}.dashboard-action-priority{border:1px solid var(--after-ink);text-align:center;text-transform:uppercase;background:#fff;padding:.3rem .4rem;font-size:.56rem;font-weight:900}.dashboard-tiny-win{background:var(--after-blue);color:#fff;border:2px solid var(--after-ink);box-shadow:6px 6px 0 var(--after-ink);padding:1.4rem}.dashboard-kicker{color:#bdc5ff;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.6rem;font-weight:850}.dashboard-tiny-win h2{font-family:var(--after-headline);letter-spacing:-.04em;text-transform:uppercase;margin:1.4rem 0 .65rem;font-size:1.7rem;font-weight:900;line-height:1}.dashboard-tiny-win>p:not(.dashboard-kicker){color:#e2e4ff;font-size:.75rem;line-height:1.55}.dashboard-tiny-win>span{text-align:right;border-top:1px solid #6575dd;margin-top:1.3rem;padding-top:.9rem;font-size:.62rem;font-weight:850;display:block}.dashboard-pulse-item,.dashboard-recent-student{border-bottom:1px solid var(--after-line);color:inherit;align-items:center;gap:.85rem;padding:1rem 1.2rem;display:flex}.dashboard-pulse-item:last-child,.dashboard-recent-student:last-child{border-bottom:0}.dashboard-pulse-item:hover,.dashboard-recent-student:hover{background:var(--after-blue-light)}.dashboard-pulse-item>div,.dashboard-recent-student>div{flex-direction:column;flex:1;min-width:0;display:flex}.dashboard-pulse-item strong,.dashboard-recent-student strong{font-size:.78rem}.dashboard-pulse-item small,.dashboard-recent-student small{color:var(--after-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.dashboard-recent-card{margin-top:0}.dashboard-student-initials{background:var(--after-butter);border:1px solid var(--after-ink);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:.62rem;font-weight:900;display:grid}.roster-import-shell{max-width:1040px}.roster-import-steps{grid-template-columns:1fr 1fr;padding:0;display:grid}.roster-import-steps .dashboard-form-section{min-width:0;padding:1.5rem}.roster-import-steps .dashboard-form-section+.dashboard-form-section{border-left:2px solid var(--after-ink)}.roster-import-steps h2{margin:.4rem 0 .55rem}.roster-import-steps p:not(.dashboard-kicker){color:var(--after-muted);margin-bottom:1rem;font-size:.78rem;line-height:1.55}.roster-import-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.roster-import-file-input:focus-visible+.dashboard-action-btn{outline:3px solid var(--after-coral);outline-offset:3px}.roster-import-file-name{text-overflow:ellipsis;white-space:nowrap;margin-top:.75rem;font-size:.72rem;font-weight:800;display:block;overflow:hidden}.roster-import-preview{margin-top:1.25rem}.roster-import-preview .dashboard-card-header>div{min-width:0}.roster-import-preview .dashboard-card-header h2{margin-top:.25rem}.roster-import-errors{border-bottom:2px solid var(--after-coral);background:#fff0ec;padding:1.2rem 1.4rem}.roster-import-errors h3{margin-bottom:.55rem;font-size:.82rem;font-weight:900}.roster-import-errors ul{color:#8d2918;gap:.3rem;padding-left:1.2rem;font-size:.75rem;display:grid}.roster-import-table{min-width:760px}.roster-import-overflow{color:var(--after-muted);border-top:1px solid var(--after-line);padding:.85rem 1.1rem;font-size:.7rem}.roster-import-preview .dashboard-form-actions{border-top:2px solid var(--after-ink);padding:1.2rem}.dashboard-table{border-collapse:collapse}.dashboard-table th{color:var(--after-muted);border-bottom:1px solid var(--after-ink);letter-spacing:.08em;text-transform:uppercase;background:#ede9de;font-size:.6rem}.dashboard-table td{border-bottom-color:var(--after-line)}.dashboard-table tbody tr:hover{background:var(--after-blue-light)}.dashboard-input,.dashboard-select,.dashboard-textarea,.login-field-input{box-shadow:none;background:#fff;border:2px solid var(--after-ink)!important;border-radius:0!important}.dashboard-input:focus,.dashboard-select:focus,.dashboard-textarea:focus,.login-field-input:focus{border-color:var(--after-blue)!important;box-shadow:3px 3px 0 var(--after-butter)!important}.dashboard-form-label,.dashboard-fieldset legend{font-weight:800}.dashboard-fieldset{border:1px solid var(--after-line);border-radius:0}.dashboard-alert.error{border:2px solid var(--after-coral);background:#fff0ec}.dashboard-alert.success{background:#e8f8ed;border:2px solid #4a9b65}.dashboard-modal-overlay{background:#171716b8}.dashboard-modal{box-shadow:12px 12px 0 var(--after-ink)}.dashboard-icon-btn{border:1px solid var(--after-ink);border-radius:0}.dashboard-modal-backdrop{background:#171716b8}.dashboard-modal-panel{background:var(--after-paper);border:2px solid var(--after-ink);box-shadow:12px 12px 0 var(--after-ink);border-radius:0}.dashboard-modal-title{font-family:var(--after-headline);letter-spacing:-.035em;text-transform:uppercase;font-weight:900}.dashboard-table-wrapper{background:var(--after-paper);border:2px solid var(--after-ink);border-radius:0;width:100%;max-width:100%;overflow-x:auto}.dashboard-table-action{border:1px solid var(--after-ink);border-radius:0}.dashboard-table-action:hover{background:var(--after-butter);border-color:var(--after-ink);color:var(--after-ink)}.sessions-calendar-view-toggle,.billing-tabs{border:2px solid var(--after-ink);background:var(--after-paper);border-radius:0}.sessions-calendar-view-toggle button.active,.billing-tab.active{background:var(--after-blue);color:#fff}.week-day,.month-cell{background:var(--after-paper);border:1px solid var(--after-line);border-radius:0}.week-day.today,.month-cell.today{border-color:var(--after-ink);background:#fff8d5}.week-session-card,.month-session-card{border:1px solid var(--after-ink);box-shadow:none;border-radius:0}.week-session-card.scheduled,.month-session-card{background:#fff8d5}.week-session-card.completed{background:#e8f8ed}.week-session-card.cancelled,.week-session-card.no-show{background:#fff0ec}.package-card{border:2px solid var(--after-ink);box-shadow:none}.package-card:hover{box-shadow:5px 5px 0 var(--after-ink);transform:translate(-1px,-1px)}.package-progress,.dashboard-progress-bar{border:1px solid var(--after-ink);background:#e3dfd4;border-radius:0}.package-progress .dashboard-progress-bar,.dashboard-progress-fill{background:var(--after-blue);border-radius:0}.package-action-btn{border:1px solid var(--after-ink);border-radius:0;min-height:36px;font-weight:800}.package-action-btn.details:hover:not(:disabled){background:var(--after-butter);border-color:var(--after-ink)}.portal-shell{background:var(--after-cream);min-height:100vh;color:var(--after-ink);font-family:var(--after-body)}.portal-shell .dashboard-header{background:var(--after-ink);color:#fff}.portal-shell .dashboard-header-info p{color:#aaa}.portal-shell .dashboard-header-avatar{background:var(--after-butter)!important;color:var(--after-ink)!important}.portal-header{background:var(--after-ink);color:#fff;grid-template-columns:1fr auto auto;gap:1.2rem;display:grid}.portal-logo{font-family:var(--after-display);letter-spacing:-.08em;font-size:1.55rem}.portal-logo span{color:var(--after-coral)}.portal-user-meta{align-items:center;gap:.5rem;display:flex}.portal-role-badge{background:var(--after-butter);color:var(--after-ink);border:1px solid var(--after-ink);text-transform:uppercase;padding:.2rem .5rem;font-size:.58rem;font-weight:850}.portal-main{width:min(100% - 3rem,1180px);padding:2.5rem 0 5rem}.portal-student-tabs{border-bottom:2px solid var(--after-ink);flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;display:flex}.portal-student-tab{min-height:42px;color:var(--after-ink);letter-spacing:0;text-transform:uppercase;align-items:center;padding:.55rem .85rem;font-size:.78rem;font-weight:800;text-decoration:none;display:inline-flex}.portal-student-tab:hover{background:var(--after-butter)}.portal-student-tab[aria-current=page]{background:var(--after-ink);color:#fff}.portal-hero{background:var(--after-blue);color:#fff;border:2px solid var(--after-ink);box-shadow:6px 6px 0 var(--after-ink);border-radius:0}.portal-hero h1{color:#fff;font-family:var(--after-headline);letter-spacing:-.055em;text-transform:uppercase;font-size:clamp(2.8rem,6vw,5.5rem);font-weight:900;line-height:.92}.portal-hero p{color:#eef0ff}.portal-hero .portal-summary-strip p{color:var(--after-muted)}.portal-kicker{color:var(--after-butter);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:850}.portal-summary-strip{background:var(--after-paper);color:var(--after-ink);border:2px solid var(--after-ink);border-radius:0}.portal-summary-strip div{border-color:var(--after-line)}.portal-summary-strip span{font-family:var(--after-headline);font-weight:900}.portal-panel{background:var(--after-paper);border:2px solid var(--after-ink);box-shadow:none;border-radius:0}.portal-panel-header{border-bottom:2px solid var(--after-ink)}.portal-panel-header h2{font-family:var(--after-body);font-weight:850}.portal-timeline-item,.portal-attendance-item{border-color:var(--after-line)}.portal-timeline-item:hover,.portal-attendance-item:hover{background:var(--after-blue-light)}.portal-package,.portal-contact-card,.portal-empty{border:1px solid var(--after-line);border-radius:0}.portal-setup-panel{box-shadow:6px 6px 0 var(--after-ink);margin-top:4rem}.login-wrapper,.login-page{background:var(--after-blue);min-height:100vh}.login-page{place-items:center;padding:3rem 1rem;display:grid}.login-decoration{background:var(--after-butter);opacity:1;border-radius:50%;width:420px;height:420px;position:fixed;top:-120px;right:-100px}.login-container{z-index:2;background:var(--after-paper);border:3px solid var(--after-ink);width:min(100%,480px);box-shadow:12px 12px 0 var(--after-ink);border-radius:0;padding:2.6rem;position:relative}.login-logo{font-family:var(--after-display);letter-spacing:-.08em;font-size:2.2rem}.login-logo span{color:var(--after-coral)}.login-subtitle{color:var(--after-muted);font-weight:700}.login-btn{text-transform:uppercase;min-height:46px;border:2px solid var(--after-ink)!important;border-radius:0!important;font-weight:850!important}.login-btn.primary{box-shadow:4px 4px 0 var(--after-ink);background:var(--after-blue)!important}.login-btn.secondary{color:var(--after-ink)!important;background:#fff!important}.login-footer a{color:var(--after-coral-dark);font-weight:850}.e2e-auth-preview{gap:.85rem;margin-top:1.3rem;display:grid}.e2e-auth-preview label{color:var(--after-ink);font-size:.78rem;font-weight:850}.e2e-auth-preview .login-field-input{border:2px solid var(--after-ink);width:100%;min-height:48px;color:var(--after-ink);background:#fff;border-radius:0;padding:.7rem .8rem}.e2e-auth-preview .login-btn{justify-content:center;align-items:center;width:100%;display:inline-flex}.e2e-auth-divider{color:var(--after-muted);text-transform:uppercase;align-items:center;gap:.7rem;font-size:.68rem;font-weight:750;display:flex}.e2e-auth-divider:before,.e2e-auth-divider:after{content:"";background:var(--after-line);flex:1;height:1px}.e2e-auth-input-group{border:2px solid var(--after-ink);background:#eee9dc;grid-template-columns:auto 1fr;align-items:center;display:grid}.e2e-auth-input-group span{color:var(--after-muted);padding:0 .7rem;font-size:.78rem;font-weight:750}.e2e-auth-input-group .login-field-input{border:0;border-left:1px solid var(--after-line)}.e2e-auth-note,.e2e-auth-help{color:var(--after-muted);text-align:center;font-size:.75rem;line-height:1.5}.e2e-auth-help{font-weight:800;text-decoration:underline}.e2e-user-menu{background:var(--after-coral);color:#fff;border:2px solid;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:900;display:grid}@media (max-width:1200px){.dashboard-overview-grid,.dashboard-activation-grid{grid-template-columns:1fr}}@media (max-width:768px){.dashboard-container,.dashboard-container>.flex-1{width:100%;max-width:100vw;overflow-x:hidden}.dashboard-main{padding:1.3rem 1rem 2.5rem}.dashboard-header{padding-inline:1rem}.dashboard-mobile-nav{background:var(--after-ink);border-bottom:2px solid var(--after-ink);width:100%;max-width:100vw;display:flex}.dashboard-mobile-nav a{color:#bbb;border-bottom:3px solid #0000;font-size:.72rem;font-weight:750}.dashboard-mobile-nav a[aria-current=page]{color:var(--after-ink);background:var(--after-butter);border-bottom-color:var(--after-coral)}.dashboard-page-header{flex-direction:column;align-items:stretch}.dashboard-page-actions{width:100%}.dashboard-page-actions .dashboard-action-btn{flex:180px}.dashboard-page-header .dashboard-action-btn{justify-content:center;width:100%}.roster-import-steps{grid-template-columns:1fr}.roster-import-steps .dashboard-form-section+.dashboard-form-section{border-top:2px solid var(--after-ink);border-left:0}}@media (max-width:640px){.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-stat-card{min-height:135px}.dashboard-card-header{flex-direction:column;align-items:flex-start;gap:.7rem;padding-block:1rem}.dashboard-setup-header>strong{font-size:1.45rem}.dashboard-setup-list li,.dashboard-action-list li{grid-template-columns:36px minmax(0,1fr)}.dashboard-action-priority{grid-row:1/span 2}.dashboard-setup-list a,.dashboard-action-list a{grid-column:2;justify-content:center;width:100%}.dashboard-session-item{flex-direction:column;align-items:flex-start;gap:.7rem}.portal-main{width:min(100% - 1rem,1180px)}.portal-hero,.login-container{padding:1.6rem}.portal-header{grid-template-columns:1fr auto}.portal-header .dashboard-header-user{grid-area:2/1/auto/-1}.portal-user-meta{flex-direction:column;align-items:flex-start}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
