/* Primitive controls and layout from the original React shell. Course styles follow unchanged. */
*,::before,::after{box-sizing:border-box;border:0 solid}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,select,textarea{font:inherit;color:inherit}button{background:transparent;cursor:pointer}button:disabled{cursor:default;opacity:.5}svg{display:block;width:24px;height:24px;flex-shrink:0}img{display:block;max-width:100%}ul,ol{margin:0;padding:0;list-style:none}[hidden]{display:none!important}input,select,textarea{width:100%;min-width:0;border:1px solid var(--input);border-radius:8px;background:transparent;padding:4px 10px;font-size:14px;outline:none;box-shadow:0 1px 2px #0000000d}input,select{height:40px}textarea{padding:12px 16px;resize:vertical}input[type=checkbox]{width:16px;height:16px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in oklab,var(--ring) 50%,transparent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:6px;height:32px;padding:0 10px;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:500;white-space:nowrap;cursor:pointer}.btn svg{width:16px;height:16px}.btn.primary{background:var(--primary);color:var(--primary-foreground)}.btn.outline{border-color:var(--border);background:var(--background);color:var(--foreground)}.btn:hover{filter:brightness(.96)}.btn.lg{height:36px}.course-layout{display:flex;min-height:100dvh}.course-sidebar{width:336px;flex-shrink:0;color:var(--sidebar-foreground)}.course-sidebar>[data-slot=sidebar-inner]{position:fixed;inset:0 auto 0 0;width:336px;display:flex;flex-direction:column}.sidebar-brand{padding:28px 24px 16px}.sidebar-separator{height:1px;background:#ffffff1a;margin:0 8px}.sidebar-content{flex:1;min-height:0;overflow:auto}.sidebar-group{padding:20px 16px 8px}.sidebar-label{display:flex;align-items:center;height:32px;padding:0 8px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff73}.day-links{display:flex;flex-direction:column;gap:6px;padding:8px 0}.day-links a{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;color:#ffffffbf}.day-links a:hover{background:#ffffff14;color:white}.day-links a[aria-current=page]{background:#ffffff1f;color:white}.day-description{min-width:0}.day-description b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.day-description small{display:block;margin-top:2px;color:#ffffff66;font-size:11px}.sidebar-footer{padding:20px}.sidebar-footer p{margin-top:8px;font-size:11px;line-height:16px;color:#ffffff59}.course-inset{min-width:0;flex:1;background:#f3efe8}.menu-trigger{display:none}.lesson-tabs-list button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:500}.lesson-tabs-list button svg{width:16px;height:16px}.lesson-tabs-list button[aria-selected=true]{color:#382332}.lesson-tabs-list button[aria-selected=true]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#9e5f4d}.lesson-button{height:44px;border-radius:999px;padding:0 20px}.lesson-footer .lesson-button:last-child{justify-self:end}.lesson-footer .lesson-button:first-child{justify-self:start}.lesson-footer .lesson-button:nth-child(2){padding-inline:24px}.reflection-field textarea{min-height:112px;line-height:24px;font-size:15px;border-color:#ffffff1a;background:#ffffff0d;color:white}.reflection-field textarea::placeholder{color:#ffffff59}.reflection-field textarea:focus{outline-color:#e7b78240;border-color:#e7b782}.save-controls{display:flex;gap:12px;align-items:center;margin-top:12px;font-size:12px;color:#786873}.save-controls [data-error=true]{color:#a54444}.notices{background:#ead8c4;padding:8px 24px;font-size:13px}.errorlist{color:#a54444;font-size:13px}.form-error{margin:0}.standalone-modal{display:flex;justify-content:center;align-items:flex-start;min-height:100dvh;padding:40px 16px;background:#f3efe8}.standalone-modal>[data-modal-content]{position:relative;box-shadow:0 28px 90px #1f111c30}.admin-dialog [data-slot=dialog-header],.profile-dialog [data-slot=dialog-header],.upgrade-dialog [data-slot=dialog-header]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;text-align:left}[data-slot=dialog-description]{font-size:14px;color:var(--muted-foreground);line-height:1.5}dialog{margin:auto;border:1px solid var(--border);padding:24px;color:var(--foreground);max-height:92dvh;max-width:calc(100% - 32px);box-shadow:0 28px 90px #1f111c47}dialog::backdrop{background:#00000080}dialog.workbook-dialog[open]{display:flex}dialog:not([open]){display:none!important}.dialog-close{position:absolute;right:16px;top:16px;display:grid;place-items:center;width:20px;height:20px;opacity:.7;z-index:2}.dialog-close svg{width:16px;height:16px}.modal-status{padding:24px}.row-actions a{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ddd2c8;border-radius:7px;color:#745c68}.row-actions a:hover{background:#f0e3d8}.admin-extra{display:flex;gap:20px;margin-top:22px;font-size:12px;color:#887780}.audit-table{margin-top:28px}.progress-details{margin-top:24px;border-top:1px solid #ddd2c8;padding-top:16px;font-size:13px;color:#796972}.progress-details summary{cursor:pointer;color:#4f3443}.progress-details li{padding-top:6px}.admin-dialog textarea{margin:8px 0 18px}.admin-dialog .user-form>p{display:grid;gap:8px;font-size:13px}.helptext{font-size:12px;color:#897780}.sidebar-shade{position:fixed;inset:0;background:#0008;z-index:19}.btn:disabled{pointer-events:none}
@media(max-width:767px){.course-sidebar{display:none;width:0}.course-sidebar>[data-slot=sidebar-inner]{width:288px;z-index:20}.menu-open .course-sidebar{display:block}.menu-trigger{display:grid;place-items:center;width:32px;height:32px}.menu-trigger svg{width:16px;height:16px}.lesson-footer .lesson-button:nth-child(2){grid-column:1/-1;grid-row:1}.save-controls{align-items:flex-start;flex-direction:column}}
@media print{dialog::backdrop{background:white}.dialog-close{display:none!important}.standalone-modal{display:block;padding:0}.save-controls,.notices{display:none!important}}
input,select{height:32px}input,select,textarea,.btn{border-radius:var(--radius)}dialog::backdrop{background:#0000001a;backdrop-filter:blur(4px)}[data-slot=dialog-title]{line-height:1}body:has(dialog[open]){overflow:hidden}
.admin-account .btn.outline{border-color:#ffffff38;background:transparent;color:white}.account-options{font-size:12px;color:#897780}.account-options label{display:flex;align-items:center;margin-top:8px}.btn,input{line-height:20px}input{box-shadow:none}.admin-dialog .form-grid input{border-radius:7px}.user-form input[type=checkbox]{height:16px}.lesson-tabs-list{gap:4px}
.sidebar-content{scrollbar-width:none;font-size:14px;line-height:1.4285714286}.sidebar-content::-webkit-scrollbar{display:none}.day-links a{line-height:1.4285714286}.day-links a{border-radius:calc(var(--radius)*1.4)}.lesson-tabs [role=tabpanel]{font-size:14px;line-height:1.4285714286}.lesson-tabs-list button{border:1px solid var(--border);white-space:nowrap}.course-sidebar>[data-slot=sidebar-inner]{border-right-width:1px}.sidebar-footer{font-size:14px;line-height:1.4285714286}.module-navigation .day-links{margin:5px 0 2px;padding:7px 6px 7px 13px;border-left:1px solid #e7b78259}
