:root{font-family:system-ui,sans-serif;color:#213547;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh;display:grid;place-items:center;text-align:center;padding:24px;box-sizing:border-box}.login-card{width:min(100%,880px);padding:40px;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 16px 40px #0f172a1a}.login-card h1{margin:0}.subtitle{margin:8px 0 32px;color:#64748b}button{min-height:48px;padding:0 24px;border:0;border-radius:10px;font:inherit;font-weight:700;cursor:pointer}button:disabled{cursor:wait;opacity:.65}.line-login-button{width:100%;color:#fff;background:#06c755}.line-login-button:hover:not(:disabled){background:#05b34c}.session-panel{display:grid;justify-items:center;gap:16px}.session-panel h2,.session-panel p{margin:0}.avatar{width:80px;height:80px;border-radius:50%;object-fit:cover}.display-name{font-size:1.125rem;font-weight:700}dl{width:100%;margin:0;text-align:left}dl div{padding:12px 0;border-bottom:1px solid #e5e7eb}dt{color:#64748b;font-size:.875rem}dd{margin:4px 0 0;overflow-wrap:anywhere}.secondary-button{color:#fff;background:#334155}.error-message{margin:20px 0 0;color:#b91c1c}.onboarding-admin,.student-admin,.lesson-card-admin{width:100%;margin-top:16px;padding-top:24px;border-top:1px solid #cbd5e1;text-align:left}.admin-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.admin-heading h2,.admin-heading p,.request-card h3,.request-card p,.student-card h3,.student-card p{margin:0}.admin-heading p,.request-card p,.field-note{color:#64748b}.compact-button{min-height:40px;padding:0 16px;white-space:nowrap}.success-message,.empty-message{margin:16px 0 0;padding:12px;border-radius:8px}.success-message{color:#166534;background:#dcfce7}.empty-message{color:#334155;background:#f1f5f9}.request-list{display:grid;gap:16px;margin-top:16px}.request-card{display:grid;gap:12px;padding:16px;border:1px solid #e2e8f0;border-radius:12px}.request-summary{display:flex;align-items:center;gap:12px}.request-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover}.request-card label{display:grid;gap:6px;color:#334155;font-weight:700}.request-card select,.request-card input{min-height:42px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit}.approve-button{color:#fff;background:#166534}.reject-button{color:#fff;background:#b91c1c}.student-search{display:grid;gap:6px;margin-top:16px;color:#334155;font-weight:700}.student-search input{min-height:42px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit}.student-list{display:grid;gap:12px;margin-top:16px}.student-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #e2e8f0;border-radius:12px}.student-card p{margin-top:4px;color:#64748b}.student-status{flex:0 0 auto;padding:4px 10px;border-radius:999px;font-size:.875rem;font-weight:700}.status-active{color:#166534;background:#dcfce7}.status-inactive{color:#475569;background:#e2e8f0}.status-pending{color:#92400e;background:#fef3c7}.lesson-card-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.lesson-card-form label{display:grid;gap:6px;color:#334155;font-weight:700}.lesson-card-form input,.lesson-card-form select,.lesson-card-form textarea{min-height:42px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit;box-sizing:border-box}.lesson-card-form textarea{resize:vertical}.full-width-field{grid-column:1 / -1}.lesson-card-list-title{margin:24px 0 0}.lesson-card-list{display:grid;gap:12px;margin-top:16px}.lesson-card{padding:16px;border:1px solid #e2e8f0;border-radius:12px}.lesson-card-summary{display:flex;align-items:center;justify-content:space-between;gap:16px}.lesson-card-summary h3{margin:0}.lesson-card-details{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:12px}.lesson-card-details div{padding:8px 0 0}.status-expired,.status-used_up,.status-cancelled{color:#475569;background:#e2e8f0}@media(max-width:640px){.login-card{padding:24px}.admin-heading{align-items:stretch;flex-direction:column}.lesson-card-form,.lesson-card-details{grid-template-columns:1fr}}
