@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-outline-style:solid}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.visible{visibility:visible}.fixed{position:fixed}.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}}.hidden{display:none}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}:root{--ink:#203c34;--muted:#73827b;--green:#16765f;--green-dark:#125b49;--line:#e5eae6;--paper:#fff;--bg:#f6f8f5;--radius:16px;--font-sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #67b99f}button{color:inherit;background:0 0;border:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.3}h1{margin-bottom:9px;font-size:32px;font-weight:650}h2{margin-bottom:17px;font-size:18px;font-weight:650}h3{margin-bottom:8px;font-size:15px;font-weight:650}small{font-size:11px}p{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:12px}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.eyebrow{letter-spacing:.17em;color:var(--green);align-items:center;gap:7px;margin-bottom:10px;font-size:10px;font-weight:700;display:flex}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:11px 18px;font-size:12px;font-weight:650;line-height:1.3;transition:background .18s;display:inline-flex}.button-primary{background:var(--green);color:#fff;box-shadow:0 3px 5px #125b4910}.button-primary:hover{background:var(--green-dark)}.button-outline{border-color:var(--line);background:#fff}.button-outline:hover,.button-ghost:hover{background:#ecf4ed}.button-sm{min-height:32px;padding:7px 12px}.skip-link{z-index:100;background:#fff;padding:10px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);z-index:30;background:#fff;flex-direction:column;width:248px;padding:34px 20px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.7px;align-items:center;gap:9px;margin-bottom:47px;padding-left:12px;font-size:29px;font-weight:750;line-height:1;display:flex}.brand-icon{background:var(--green);color:#fff;border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.brand-dot{color:#e8b873;align-self:flex-end;margin-bottom:5px;margin-left:-5px;font-size:13px}.workspace-label{color:#9aaba1;letter-spacing:.14em;margin:0 10px 17px;font-size:9px;font-weight:700}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav a{color:#74867b;border-radius:9px;align-items:center;gap:12px;padding:12px 14px;font-size:12px;font-weight:550;display:flex}.sidebar nav a:hover{background:#f5f8f4}.sidebar nav a.active{color:var(--green);background:#eaf4ee;font-weight:700}.nav-dot{background:var(--green);border-radius:100%;width:6px;height:6px;margin-left:auto}.sidebar-tip{color:#7f8767;background:#f8f8ee;border:1px solid #edf0df;border-radius:12px;margin-top:auto;margin-bottom:24px;padding:17px 15px;position:relative}.sidebar-tip>span{color:#627048;font-size:12px;font-weight:650}.sidebar-tip p{margin:6px 22px 0 0;font-size:11px;line-height:1.7}.sidebar-tip>svg{opacity:.35;position:absolute;bottom:16px;right:12px;transform:rotate(-16deg)}.profile{border-top:1px solid var(--line);align-items:center;gap:10px;margin:0 -20px;padding:19px 16px;display:flex}.avatar{color:#38765e;background:#d5e7dc;border:2px solid #fff;border-radius:100%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:grid}.avatar.soft{color:#9b7652;background:#f0e8dc}.avatar.large{width:48px;height:48px;font-size:20px}.profile>div:nth-child(2){flex:1;min-width:0}.profile strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.profile small{color:var(--muted);font-size:9px;line-height:1.5;display:block}.profile button{color:#91a096;padding:6px}.app-content{margin-left:248px}.topbar{border-bottom:1px solid var(--line);color:#86958c;background:#fff9;justify-content:space-between;align-items:center;height:72px;padding:0 42px;font-size:11px;display:flex}.topbar-date{align-items:center;gap:8px;display:flex}.online-dot{background:#6d9e7c;border-radius:50%;width:6px;height:6px}.app-content main{max-width:1560px;min-height:calc(100vh - 130px);margin:auto;padding:34px 42px 24px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-heading .muted{margin:0;font-size:12px}.page-heading .eyebrow{margin-bottom:9px;font-size:9px}.app-footer{border-top:1px solid var(--line);color:#9aa79d;justify-content:space-between;gap:15px;margin:0 42px;padding:19px 0;font-size:10px;display:flex}.mobile-top,.sidebar-overlay{display:none}.welcome-banner{border-radius:var(--radius);background:#eaf2e5;border:1px solid #dce9da;justify-content:space-between;align-items:center;min-height:246px;margin-bottom:30px;padding:29px 34px;display:flex;position:relative;overflow:hidden}.banner-tag{letter-spacing:.13em;color:#66846a;align-items:center;gap:7px;margin-bottom:14px;font-size:8px;font-weight:700;display:inline-flex}.welcome-banner h2{letter-spacing:-1.6px;margin-bottom:12px;font-family:Georgia,serif;font-size:36px;font-weight:500;line-height:1.19}.welcome-banner h2 em{color:#4a8065;font-style:normal;font-weight:500}.welcome-banner p{color:#748a74;margin-bottom:15px;font-size:11px}.text-link{color:var(--green);align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.text-link:hover{color:#0b4b3c;text-decoration:underline}.welcome-banner .text-link{font-size:10px}.banner-art{width:310px;height:200px;margin-right:20px;position:relative}.art-circle{border:1px solid #c9ddbb;border-radius:100%;width:212px;height:212px;position:absolute;top:0;left:28px;box-shadow:0 0 0 25px #e3eddd,0 0 0 26px #d8e5d0}.art-book{background:#79a17c;border-left:10px solid #54795b;border-radius:9px 15px 15px 8px;width:157px;height:149px;position:absolute;top:32px;left:55px;transform:rotate(-12deg);box-shadow:7px 8px #c0d2b4,10px 11px #e8e7cd}.art-book span{color:#e5ecd7;margin:10px 0 6px 25px;font-family:Georgia,serif;font-size:46px;font-style:italic;display:block}.art-book div{background:#b3cca4;border-radius:3px;width:74px;height:4px;margin:8px 25px}.art-book div:last-child{width:48px}.art-badge{background:#fffcf4;border:1px solid #e6e9d9;border-radius:12px;align-items:center;gap:10px;padding:13px 16px;display:flex;position:absolute;bottom:0;right:0;transform:rotate(4deg);box-shadow:0 6px 20px #355a2910}.art-badge svg{color:#65a17b;box-sizing:content-box;background:#e7f2e7;border-radius:50%;padding:8px}.art-badge span{color:#8c9a7b;font-size:10px;line-height:1.5}.art-badge strong{color:#526947;font-size:13px}.art-star{color:#c6a85c;font-size:38px;position:absolute;top:6px;right:34px}.art-dot{background:#c2d2b4;border-radius:100%;width:16px;height:16px;position:absolute;bottom:28px;left:10px}.section-label{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.section-label h2{margin:0;font-size:15px}.section-label>span{color:var(--muted);font-size:10px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:26px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin-bottom:22px;padding:23px}.stats-grid .card,.student-grid .card,.admin-grid .card{margin-bottom:0}.stat{padding:21px;position:relative}.stat-icon{border-radius:10px;place-items:center;width:37px;height:37px;margin-bottom:15px;display:grid}.green{color:#4d8963;background:#eaf3e9}.blue{color:#7393b7;background:#eaf1f8}.orange{color:#caa16b;background:#fcf0e4}.purple{color:#a497bf;background:#f1edf7}.stat p{color:#7b897f;margin:0 0 4px;font-size:10px}.stat>strong{letter-spacing:-1px;font-size:28px;font-weight:650;line-height:1.4;display:block}.stat>small{color:#97a196;margin-top:7px;font-size:9px;display:block}.stat .text-link{margin-top:6px;font-size:9px}.dashboard-grid{grid-template-columns:1.1fr 1fr;align-items:stretch;gap:22px;display:grid}.dashboard-grid .card{flex-direction:column;display:flex}.card-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.card-heading h2{margin:0;font-size:15px}.card-heading p{margin:4px 0 0;font-size:10px}.card-heading small{font-size:10px}.badge{color:#84917b;white-space:nowrap;background:#f4f6f1;border-radius:5px;align-items:center;padding:4px 8px;font-size:9px;font-weight:550;line-height:1.4;display:inline-flex}.badge-green{color:#5d9067;background:#edf5ee}.badge-orange{color:#bd905b;background:#fcf1e4}.activity-list{margin:0 -3px 17px}.activity-list>a{border-bottom:1px solid #f0f2ee;align-items:center;gap:12px;padding:14px 0;display:flex}.activity-list>a:last-child{border:0}.list-icon{color:#9aaa82;background:#f4f6ee;border-radius:9px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.activity-list strong{font-size:11px;font-weight:600;display:block}.activity-list small{color:#98a291;margin-top:3px;font-size:9px;display:block}.list-end{color:#9eafa1;align-items:center;gap:15px;margin-left:auto;display:flex}.card>.text-link{border-top:1px solid #f0f3ec;margin-top:auto;padding-top:12px}.chart{width:100%;min-width:0;height:235px;margin-top:8px}.chart-empty{text-align:center;color:#8b9f91;background:linear-gradient(#0000,#f7faf6);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;font-size:12px;display:flex}.chart-empty small{font-size:10px;line-height:2.5}.student-row{border-bottom:1px solid #f0f3ed;align-items:center;gap:11px;padding:14px 0;display:flex}.student-row:last-child{border:0}.student-row strong{font-size:11px;font-weight:600}.student-row small{color:#91a08f;margin-top:2px;font-size:9px;display:block}.student-row>svg{color:#94a28e;margin-left:9px}.mini-progress{flex-shrink:0;width:110px;margin-left:auto}.mini-progress>span{text-align:right;color:#8d9b88;margin-bottom:6px;font-size:9px;display:block}.mini-progress>div,.progress-track{background:#edf2e9;border-radius:20px;height:5px;overflow:hidden}.mini-progress i,.progress-track i{background:#83aa77;border-radius:20px;height:100%;display:block}.notice-preview{border-bottom:1px solid #f0f3ec;padding:14px 0 17px}.notice-preview .eyebrow{letter-spacing:.08em;color:#9ca58a;margin-bottom:8px;font-size:8px}.notice-preview h3{margin-bottom:6px;font-size:12px}.notice-preview p{color:#84917e;margin-bottom:5px;font-size:10px;line-height:1.7}.notice-preview>small{color:#a1ab99;font-size:9px}.weekly-note{color:#82916e;background:#f6f7f0;border-radius:10px;align-items:center;gap:12px;margin-top:17px;padding:14px;display:flex}.weekly-note p{margin:0;font-size:10px}.weekly-note strong{color:#607c55;font-size:11px}.metrics-note{color:#8e9e8e;margin-top:5px;font-size:10px}.padded{padding:15px 0}.form-stack{flex-direction:column;gap:17px;display:flex}.form-stack>.button{align-self:flex-start}.field{flex-direction:column;gap:7px;min-width:0;font-size:12px;display:flex}.field>span{color:#667a6c;font-size:11px;font-weight:600}input:not([type=checkbox]):not([type=file]):not([type=hidden]),select,textarea{width:100%;min-height:43px;color:var(--ink);background:#fff;border:1px solid #dce4dc;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.6}input::placeholder,textarea::placeholder{color:#b0b9ad}textarea{resize:vertical}select{max-width:100%;padding-right:28px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-card{max-width:830px}.checkbox{color:#6d806d;align-items:center;gap:9px;font-size:11px;line-height:1.6;display:flex}.checkbox input{accent-color:var(--green);flex-shrink:0;width:15px;height:15px}fieldset{border:1px solid var(--line);border-radius:10px;padding:12px 16px}legend{color:#6d806d;padding:0 5px;font-size:11px}fieldset .checkbox{margin:7px 0}.info-box{color:#688668;background:#eef5ee;border:1px solid #dfeadc;border-radius:10px;margin-bottom:17px;padding:14px;font-size:11px}.form-stack .info-box{margin-bottom:0}.notice-error,.notice-success,.auth-message{overflow-wrap:anywhere;border-radius:8px;margin:0;padding:11px 13px;font-size:12px}.notice-error{color:#b36948;background:#fff0e9}.notice-error button{font-size:11px;text-decoration:underline}.notice-success{color:#397c4c;background:#eaf5eb}.auth-message{color:#59805c;background:#f0f5ec}.filters{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:15px;margin-bottom:22px;padding:17px 20px;display:flex}.filters .field{flex:1;min-width:135px}.upload-box{background:#fafcf8;border:1px dashed #ccdacc;border-radius:10px;padding:13px}.upload-box>label{color:#789375;cursor:pointer;align-items:center;gap:12px;min-height:48px;font-size:12px;display:flex;position:relative;overflow:hidden}.upload-box label small{color:#98a591;font-size:10px;display:block}.upload-box input[type=file]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.file-chip{color:#668363;background:#fff;border-radius:5px;align-items:center;gap:10px;margin-top:9px;padding:5px 10px;font-size:11px;display:flex}.file-chip>span{overflow-wrap:anywhere}.file-chip button{place-items:center;margin-left:auto;display:grid}.upload-box>.notice-error{margin-top:10px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;min-width:550px;font-size:12px}th{color:#84917c;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);white-space:nowrap;padding:13px 12px;font-size:9px;font-weight:600}td{vertical-align:middle;color:#6a7d69;border-bottom:1px solid #eef1e9;padding:17px 12px}tr:last-child td{border-bottom:0}td small{color:#94a18b;font-size:10px;line-height:1.9;display:block}.table-title{color:var(--ink);font-size:12px;font-weight:650}.table-title:hover{text-decoration:underline}.pagination{color:#84917c;justify-content:center;align-items:center;gap:20px;margin:25px 0;font-size:11px;display:flex}.pagination a{color:var(--green);font-weight:600}.empty{text-align:center;color:#9aa891;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 20px;display:flex}.empty>svg{opacity:.7;margin-bottom:16px}.empty h3{color:#6f886d;font-size:14px}.empty p{max-width:330px;margin:0;font-size:11px}.detail-grid{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:22px;display:grid}.detail-grid aside .card{padding:21px}.detail-grid aside p{font-size:12px}.detail-grid aside .form-grid{grid-template-columns:1fr}.section-title{margin:30px 0 18px;font-size:17px}.attachments{flex-direction:column;gap:8px;margin-top:18px;display:flex}.attachments:empty{display:none}.attachment{border:1px solid var(--line);color:#6b8d6b;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;font-size:11px;display:flex}.attachment>span{overflow-wrap:anywhere}.attachment small{white-space:nowrap;color:#9cab91;margin-left:auto;font-size:9px}.attachment:hover{background:#f4f8f0}.review{background:#f5f8f1;border-left:3px solid #98ba8d;border-radius:0 10px 10px 0;margin-top:23px;padding:18px}.review>strong{font-size:12px}.review>p{margin:10px 0;font-size:12px}.review>small{color:#8b9b80;margin-top:10px;font-size:10px;display:block}.student-grid,.lesson-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:22px;display:grid}.student-grid .card>h2{margin:6px 0 8px}.progress-label{color:#8e9b82;justify-content:space-between;gap:10px;margin:23px 0 9px;font-size:10px;display:flex}.progress-label strong{color:#618959}.student-stats{color:#8d9a80;gap:25px;margin:18px 0 22px;font-size:10px;display:flex}.student-stats strong{color:#5b7e54;margin-right:4px;font-size:14px}.observation{border-bottom:1px solid var(--line);padding:15px 0}.observation p{margin-bottom:8px;font-size:12px}.observation small{color:#95a18d;font-size:10px}.observation:last-of-type{margin-bottom:22px}.lesson-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:box-shadow .2s;overflow:hidden}.lesson-card:hover{box-shadow:0 8px 30px #385d3c12}.lesson-art{background:#e7eee0;height:165px;padding:25px;position:relative;overflow:hidden}.lesson-art>span:first-child{z-index:1;color:#62865b;background:#ffffffa6;border-radius:50%;place-items:center;width:53px;height:53px;display:grid;position:absolute;bottom:23px;left:24px}.lesson-art i{color:#c8d9bb;font-family:Georgia,serif;font-size:150px;line-height:1;position:absolute;bottom:-22px;right:20px;transform:rotate(-12deg)}.lesson-grade{color:#7a9472;background:#fff9;border-radius:5px;padding:3px 8px;font-size:9px;position:absolute;top:18px;left:20px}.lesson-body{padding:23px}.lesson-body .eyebrow{font-size:8px}.lesson-body h2{margin-bottom:10px;font-size:17px}.lesson-body p{font-size:11px}.video{margin-bottom:25px;padding-bottom:56.25%;position:relative}.video iframe{border:0;border-radius:10px;width:100%;height:100%;position:absolute;inset:0}.thread-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:20px 0;display:flex}.thread-row h3{margin-bottom:5px;font-size:14px}.thread-row p,.thread-row small{color:#92a086;margin:0;font-size:10px}.thread-row:hover h3{color:var(--green)}.messages{flex-direction:column;gap:15px;margin-bottom:30px;display:flex}.message{background:#f4f6f0;border-radius:12px;align-self:flex-start;min-width:160px;max-width:90%;padding:15px 18px}.message.mine{background:#e9f3e6;align-self:flex-end}.message>strong{color:#719164;font-size:10px}.message>p{margin:7px 0 9px;font-size:12px}.message>small{color:#92a484;font-size:9px}.admin-grid{grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px;display:grid}.role-checkboxes{flex-wrap:wrap;gap:10px;display:flex}.role-checkboxes .checkbox{font-size:10px}td .form-stack{gap:12px;min-width:250px}td .form-stack .button{min-height:30px;padding:6px 10px;font-size:10px}details{color:#7c9273;margin-top:20px;font-size:11px}summary{cursor:pointer;font-weight:600}details p{margin-top:10px}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;padding:80px 30px;display:flex}.error-page h1{font-size:26px}.error-page p{color:var(--muted);font-size:13px}.skeleton{background:linear-gradient(90deg,#ecf0e8,#f9fbf6,#ecf0e8) 0 0/200% 100%;height:140px;animation:1.7s infinite pulse}.loading-line{background:#e6ece1;border-radius:8px;width:260px;height:35px;margin-bottom:30px}.loading>p{color:#91a087;font-size:12px}@keyframes pulse{50%{opacity:.5}}.auth-layout{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-story{background:#e7efdf;flex-direction:column;justify-content:space-between;gap:70px;padding:50px 60px;display:flex;position:relative;overflow:hidden}.auth-story .brand{gap:10px;margin:0;padding:0}.auth-story .brand svg{color:#fff;box-sizing:content-box;background:#17765e;border-radius:11px;width:23px;height:23px;padding:8px}.auth-story .brand>span{color:#cbae70;margin-left:-6px;font-size:14px}.auth-story h1{letter-spacing:-2px;z-index:1;margin-bottom:25px;font-family:Georgia,serif;font-size:clamp(35px,3.6vw,60px);font-weight:500;line-height:1.15;position:relative}.auth-story>div:nth-child(2)>p:not(.eyebrow){color:#768d6b;z-index:1;max-width:350px;font-size:13px;line-height:1.9;position:relative}.auth-points{flex-direction:column;gap:14px;margin-top:32px;display:flex}.auth-points>span{color:#6c8661;align-items:center;gap:9px;font-size:11px;display:flex}.auth-points svg{color:#71a364;width:15px}.auth-story>small{color:#849c79;z-index:1;font-size:10px}.auth-orbit{pointer-events:none;border:1px solid #d1dfc6;border-radius:50%;place-items:center;width:400px;height:400px;display:grid;position:absolute;bottom:-120px;right:-150px;transform:rotate(-15deg);box-shadow:0 0 0 40px #e2ecda,0 0 0 41px #d5e1c9}.auth-orbit>svg{color:#d1dfc3;width:140px;height:140px}.auth-panel{flex-direction:column;justify-content:center;align-items:center;padding:60px 40px;display:flex;position:relative}.auth-panel>div{width:100%;max-width:355px}.auth-panel h1{margin-bottom:12px;font-size:29px}.auth-panel .muted{margin-bottom:32px;font-size:12px;line-height:1.9}.auth-panel .form-stack>.button{width:100%;margin-top:4px}.auth-panel .form-stack>a{color:#749064;text-align:center;padding:6px;font-size:11px}.auth-panel .field>span{font-size:11px}.auth-panel input:not([type=hidden]){background:#fcfdfb;min-height:46px;padding:12px 14px}.auth-footnote{color:#9aa88f;text-align:center;border-top:1px solid #edf1e8;margin-top:28px;padding-top:24px;font-size:10px;line-height:1.8}.auth-panel footer{color:#aab59f;text-align:center;padding:0 20px;font-size:9px;position:absolute;bottom:30px}@media (min-width:1600px){.app-content main{padding-top:40px}.welcome-banner{min-height:270px}.welcome-banner h2{font-size:43px}.card{padding:27px}.stat{padding:24px}.sidebar{width:265px}.app-content{margin-left:265px}}@media (max-width:1200px){.sidebar{width:220px;padding-left:14px;padding-right:14px}.profile{margin-left:-14px;margin-right:-14px}.app-content{margin-left:220px}.app-content main{padding:28px}.topbar{padding:0 28px}.app-footer{margin:0 28px}.stats-grid{gap:12px}.stat{padding:17px}.card{padding:20px}.banner-art{transform-origin:100%;width:240px;margin-right:0;transform:scale(.85)}.welcome-banner{padding:25px}.welcome-banner h2{font-size:33px}.detail-grid{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.student-grid,.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list-end .badge{font-size:8px}.list-end{gap:5px}.dashboard-grid{gap:16px}.activity-list strong{font-size:10px}.mini-progress{width:85px}}@media (max-width:1000px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .chart{height:250px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-icon{float:right;margin:0}.stat>strong{font-size:27px}.detail-grid{grid-template-columns:1fr}.detail-grid>aside{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}.detail-grid>aside .card{margin-bottom:0}.detail-grid>aside{margin-bottom:22px}.auth-story{padding:45px 35px}.auth-panel{padding:45px 30px}.auth-story h1{font-size:42px}.banner-art{width:200px;transform:scale(.7)}.welcome-banner p{max-width:220px}.admin-grid{grid-template-columns:1fr}}@media (max-width:760px){.mobile-top{border-bottom:1px solid var(--line);z-index:35;background:#fff;justify-content:space-between;align-items:center;height:65px;padding:0 20px;display:flex;position:sticky;top:0}.mobile-top .brand{gap:7px;margin:0;padding:0;font-size:24px}.mobile-top .brand svg{color:var(--green);width:25px}.mobile-top .brand>span{color:#c8a45e;font-size:10px}.mobile-top button{place-items:center;padding:9px;display:grid}.sidebar{width:250px;padding-top:25px;transition:transform .2s;top:65px;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar>.brand{display:none}.sidebar-overlay{z-index:25;cursor:default;background:#17342866;display:block;position:fixed;inset:65px 0 0}.sidebar-tip{margin-bottom:15px}.app-content{margin-left:0}.topbar{height:43px;padding:0 20px;font-size:9px}.app-content main{padding:25px 20px 15px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:22px}.page-heading h1{font-size:27px}.page-heading .muted{font-size:11px}.page-heading>.button{flex-shrink:0;min-height:36px;padding:10px 12px;font-size:10px}.page-heading .eyebrow{font-size:8px}.welcome-banner{min-height:225px;margin-bottom:25px}.welcome-banner h2{font-size:31px}.banner-art{width:185px;margin-right:-18px;transform:scale(.7)}.banner-tag{font-size:7px}.section-label>span{font-size:8px}.section-label h2{font-size:14px}.stats-grid{gap:12px;margin-bottom:20px}.stat{padding:18px}.stat-icon{width:31px;height:31px}.stat-icon>svg{width:17px}.stat>p{padding-right:35px;font-size:10px}.stat>small{font-size:9px}.dashboard-grid{gap:0}.card{border-radius:13px;padding:20px}.app-footer{align-items:center;margin:0 20px;font-size:8px}.app-footer>span:last-child{display:none}.detail-grid{gap:0}.detail-grid>aside{display:block}.student-grid,.lesson-grid{gap:15px}.student-grid .card{padding:17px}.student-grid h2{font-size:15px}.student-stats{gap:12px}.student-grid .card .muted{font-size:9px}.filters{gap:12px;padding:15px}.filters .field{min-width:120px}.auth-layout{grid-template-columns:1fr}.auth-story{gap:25px;min-height:185px;padding:30px}.auth-story .brand{font-size:26px}.auth-story>div:nth-child(2){display:none}.auth-story>small{font-size:11px}.auth-orbit{width:220px;height:220px;bottom:-80px;right:0}.auth-orbit svg{width:85px;height:85px}.auth-panel{min-height:calc(100vh - 185px);padding:40px 25px 80px}.auth-panel>div{max-width:400px}.auth-panel h1{font-size:29px}.auth-panel footer{bottom:22px}.message{max-width:95%}.metrics-note{font-size:9px}}@media (max-width:440px){.welcome-banner{min-height:215px;padding:22px}.welcome-banner h2{font-size:29px}.welcome-banner p{max-width:200px;font-size:10px}.banner-art{opacity:.55;pointer-events:none;position:absolute;right:-100px;transform:scale(.5)}.welcome-banner>div:first-child{z-index:1;position:relative}.section-label{align-items:flex-start}.section-label>span{text-align:right;max-width:130px}.stat-icon{width:26px;height:26px}.stat-icon>svg{width:15px}.stat>p{font-size:9px}.stat>strong{font-size:25px}.stat>small{font-size:8px}.stat{padding:16px 14px}.page-heading>.button{padding:9px;font-size:9px}.student-grid,.lesson-grid,.form-grid{grid-template-columns:1fr}.mini-progress{width:80px}.student-row{gap:9px}.list-end{max-width:83px}.activity-list>a{gap:9px}.activity-list strong{max-width:170px}.list-end .badge{white-space:normal;text-align:center}.list-end svg{display:none}.filters .field{min-width:100px}.card-heading h2{font-size:14px}.card-heading>.text-link{font-size:9px}.table-wrap{margin-right:-5px}.topbar>span:first-child{font-size:8px}.detail-grid .card{padding:18px}}.sidebar{overflow-y:auto}.profile{flex-shrink:0}.password-toggle{color:var(--green);align-self:flex-end;margin-top:-12px;padding:3px 0;font-size:11px}.password-toggle:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
