:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-primary:#f8faf7;--surface-secondary:#fff;--surface-elevated:#fff;--text-primary:#172019;--text-secondary:#536056;--text-tertiary:#728074;--border-default:#dce5dc;--border-subtle:#edf2ec;--accent-primary:#16794c;--accent-hover:#0f5f3b;--status-success:#15803d;--status-warning:#b45309;--status-error:#b91c1c;--status-info:#2563eb;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-control:999px;--radius-panel:8px;--font-primary:Pretendard, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-primary:#111412;--surface-secondary:#171b18;--surface-elevated:#202520;--text-primary:#f4f7f2;--text-secondary:#b8c2b8;--text-tertiary:#7d887e;--border-default:#2d342f;--border-subtle:#222823;--accent-primary:#47d18c;--accent-hover:#6ee2a5;--status-success:#4ade80;--status-warning:#fbbf24;--status-error:#fb7185;--status-info:#60a5fa}}*{box-sizing:border-box}html{background:var(--surface-primary);min-width:320px;min-height:100%}body{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-primary) 14%, transparent), transparent 34rem), var(--surface-primary);min-width:320px;min-height:100dvh;color:var(--text-primary);font-family:var(--font-primary);letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6}button,a{font:inherit}a{color:inherit;text-decoration:none}button{border:0}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}#root{min-height:100dvh}.app-shell{width:min(100%,1120px);min-height:100dvh;padding:var(--space-4);margin:0 auto}.app-header{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--surface-elevated) 92%, transparent);grid-template-columns:1fr;align-items:center;display:grid}.app-header__actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.brand-mark{align-items:center;gap:var(--space-3);min-width:0;font-weight:650;display:inline-flex}.brand-mark__symbol{border:1px solid color-mix(in srgb, var(--accent-primary) 42%, var(--border-default));border-radius:var(--radius-control);width:40px;height:40px;color:var(--accent-primary);font-family:var(--font-mono);flex:none;place-items:center;font-size:12px;display:inline-grid}.brand-mark__text{overflow-wrap:anywhere}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-nav{gap:var(--space-2);flex-wrap:wrap;display:flex}.app-nav__link,.language-toggle__button,.button{border:1px solid var(--border-subtle);border-radius:var(--radius-control);min-height:36px;color:var(--text-secondary);background:0 0;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}.app-nav__link{padding:var(--space-2) var(--space-4);align-items:center;display:inline-flex}.app-nav__link:hover,.language-toggle__button:hover,.button:hover{border-color:var(--border-default);color:var(--text-primary)}.app-nav__link.is-active,.language-toggle__button.is-active{border-color:color-mix(in srgb, var(--accent-primary) 44%, var(--border-default));background:color-mix(in srgb, var(--accent-primary) 12%, transparent);color:var(--text-primary)}.button{padding:var(--space-2) var(--space-4);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.button--block{width:100%}.button:disabled{cursor:not-allowed;opacity:.62}.button--primary{border-color:color-mix(in srgb, var(--accent-primary) 62%, var(--border-default));background:var(--accent-primary);color:var(--surface-secondary);font-weight:600}.button--primary:hover{border-color:var(--accent-hover);background:var(--accent-hover);color:var(--surface-secondary)}.button--secondary{color:var(--text-secondary);background:0 0}.language-toggle{gap:var(--space-1);width:fit-content;padding:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-secondary);margin:0;display:inline-flex}.language-toggle__button{min-width:88px;padding:var(--space-2) var(--space-3);cursor:pointer}.user-menu{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:inline-flex}.user-menu__name{color:var(--text-secondary);font-size:14px}.app-main{gap:var(--space-6);min-height:calc(100dvh - 156px);padding:var(--space-10) 0;align-content:start;place-items:center;display:grid}.app-notice{gap:var(--space-3);flex-wrap:wrap;align-items:center;width:min(100%,720px);display:flex}.placeholder-panel,.flow-card,.access-denied{width:min(100%,720px);padding:var(--space-8);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--surface-secondary) 94%, transparent)}.flow-card,.access-denied{gap:var(--space-4);display:grid}.placeholder-panel__label,.flow-card__label{margin:0 0 var(--space-3);color:var(--accent-primary);font-family:var(--font-mono);font-size:12px;font-weight:600;line-height:1.4}.flow-card__label{margin:0}.placeholder-panel__title,.flow-card__title{color:var(--text-primary);letter-spacing:0;margin:0;font-size:clamp(28px,5vw,40px);font-weight:650;line-height:1.15}.placeholder-panel__description,.flow-card__description{max-width:56ch;margin:var(--space-4) 0 0;color:var(--text-secondary);font-size:16px}.flow-card__description{margin:0}.flow-card__actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.flow-form{gap:var(--space-4);display:grid}.field{gap:var(--space-2);display:grid}.field__label{color:var(--text-secondary);font-size:14px;font-weight:600}.field__control{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-panel);background:var(--surface-elevated);color:var(--text-primary);font:inherit;transition:background-color .15s ease-out,border-color .15s ease-out}textarea.field__control{resize:vertical;min-height:96px}.field__control:hover{border-color:color-mix(in srgb, var(--accent-primary) 38%, var(--border-default))}.field__control:disabled{color:var(--text-tertiary);cursor:not-allowed}.check-field{gap:var(--space-3);color:var(--text-secondary);grid-template-columns:20px 1fr;align-items:start;font-size:14px;display:grid}.check-field input{width:18px;height:18px;accent-color:var(--accent-primary);margin:3px 0 0}.status-message{width:min(100%,720px);padding:var(--space-3) var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-panel);background:var(--surface-elevated);color:var(--text-secondary);margin:0;font-size:14px}.status-message--success{border-color:color-mix(in srgb, var(--status-success) 52%, var(--border-default));color:var(--status-success)}.status-message--warning{border-color:color-mix(in srgb, var(--status-warning) 52%, var(--border-default));color:var(--status-warning)}.status-message--error{border-color:color-mix(in srgb, var(--status-error) 52%, var(--border-default));color:var(--status-error)}.status-message--info{border-color:color-mix(in srgb, var(--status-info) 52%, var(--border-default));color:var(--status-info)}.text-link{color:var(--accent-primary);text-underline-offset:4px;font-size:14px;font-weight:600;text-decoration:underline}.text-link:hover{color:var(--accent-hover)}.admin-dashboard,.admin-students{gap:var(--space-6);width:min(100%,960px);display:grid}.admin-dashboard__actions,.admin-students__grid,.copy-field,.student-list{gap:var(--space-4);display:grid}.admin-students__grid{grid-template-columns:1fr;align-items:start}.copy-field{padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-panel);background:var(--surface-elevated)}.copy-field__value{width:100%;min-height:88px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-secondary);color:var(--text-secondary);font-family:var(--font-mono);resize:vertical;font-size:12px}.data-table{border-collapse:collapse;overflow-wrap:anywhere;width:100%;font-size:14px}.data-table th,.data-table td{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top}.data-table th{color:var(--text-tertiary);font-size:12px;font-weight:600}.empty-state{color:var(--text-secondary);font-size:14px}.student-dashboard{gap:var(--space-6);width:min(100%,960px);display:grid}.student-dashboard__header{gap:var(--space-4);align-items:start;display:grid}.student-dashboard__label,.student-panel__eyebrow{color:var(--accent-primary);font-family:var(--font-mono);margin:0;font-size:12px;font-weight:600;line-height:1.4}.student-dashboard__title{margin:var(--space-2) 0 0;color:var(--text-primary);letter-spacing:0;font-size:clamp(28px,6vw,40px);font-weight:650;line-height:1.15}.student-dashboard__description,.student-dashboard__timing,.student-panel__text{color:var(--text-secondary);margin:0}.student-dashboard__timing{width:fit-content;padding:var(--space-2) var(--space-4);border:1px solid color-mix(in srgb, var(--accent-primary) 40%, var(--border-default));border-radius:var(--radius-control);background:color-mix(in srgb, var(--accent-primary) 10%, transparent);color:var(--text-primary);font-weight:600}.student-panel{gap:var(--space-4);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:color-mix(in srgb, var(--surface-secondary) 94%, transparent);display:grid}.student-panel--summary{border-color:color-mix(in srgb, var(--accent-primary) 34%, var(--border-default))}.student-panel__title{color:var(--text-primary);margin:0;font-size:20px;font-weight:600;line-height:1.35}.metric-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric{gap:var(--space-1);min-width:0;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.metric__value{color:var(--text-primary);font-size:24px;font-weight:650;line-height:1.2}.metric__label{color:var(--text-tertiary);font-size:12px;font-weight:600}.progress-meter{gap:var(--space-2);display:grid}.progress-meter__label{justify-content:space-between;gap:var(--space-4);color:var(--text-secondary);font-size:14px;font-weight:600;display:flex}.progress-meter__track{border-radius:var(--radius-control);background:var(--border-subtle);width:100%;height:10px;overflow:hidden}.progress-meter__fill{border-radius:inherit;background:var(--accent-primary);height:100%}.calendar-strip{gap:var(--space-2);padding-bottom:var(--space-1);grid-auto-columns:minmax(92px,1fr);grid-auto-flow:column;margin:0;padding-left:0;list-style:none;display:grid;overflow-x:auto}.calendar-day{align-content:space-between;gap:var(--space-2);min-height:112px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);color:var(--text-secondary);display:grid}.calendar-day--success{border-color:color-mix(in srgb, var(--status-success) 46%, var(--border-default));color:var(--status-success)}.calendar-day--today{border-color:var(--accent-primary);color:var(--text-primary)}.calendar-day--upcoming{color:var(--text-tertiary)}.calendar-day__number,.calendar-day__date{font-size:12px;font-weight:600}.calendar-day__marker{color:currentColor;font-size:24px;font-weight:650;line-height:1}@media (width>=768px){.app-shell{padding:var(--space-6)}.app-header{grid-template-columns:minmax(180px,1fr) auto auto}.app-main{min-height:calc(100dvh - 144px)}.admin-students__grid{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.student-dashboard__header{grid-template-columns:minmax(0,1fr) auto}}
