@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+Sinhala:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Noto Sans Sinhala,sans-serif;color:#173b3a;background:#f2f6f4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #173b3a;--muted: #718683;--teal: #0f766e;--teal-dark: #105d57;--teal-soft: #e9f5f1;--line: #e2ebe7;--surface: #ffffff;--warning: #fff7e7;--warning-ink: #8c621c;--danger: #a33e3e;--shadow: 0 22px 70px rgba(26, 67, 60, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding:0 36px 24px}.topbar{height:78px;max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(210,226,219,.8)}.brand{display:inline-flex;align-items:center;gap:11px;font-size:17px;letter-spacing:-.45px;font-weight:500;color:var(--ink)}.brand b{font-weight:700}.brand-mark{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--teal);color:#fff;font-size:19px;font-weight:700;box-shadow:0 7px 18px #0f766e2e}.top-actions{display:flex;align-items:center;gap:16px}.signed-email{font-size:12px;color:var(--muted);max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.language-button{border:1px solid #d5e4dd;border-radius:9px;background:#fff;color:var(--teal-dark);font-weight:700;padding:8px 12px;min-width:42px}.text-button,.link-button{color:var(--teal);border:0;padding:0;background:transparent;font-weight:700;font-size:13px}.text-button:hover,.link-button:hover{color:var(--teal-dark);text-decoration:underline}.page-grid{max-width:1240px;margin:46px auto 38px;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.28fr);gap:66px;align-items:start}.intro-panel{position:sticky;top:30px;padding:50px 4px 20px 8px;min-height:560px;display:flex;flex-direction:column}.eyebrow{font-size:10px;letter-spacing:1.65px;text-transform:uppercase;color:var(--teal);font-weight:700}.intro-panel h1{margin:18px 0 15px;font-size:clamp(34px,4vw,51px);line-height:1.16;letter-spacing:-1.9px;font-weight:700;max-width:490px}.intro-copy{max-width:420px;color:#6a827e;font-size:15px;line-height:1.9;margin:0}.benefit-list{display:grid;gap:18px;margin-top:43px}.benefit{display:flex;align-items:center;gap:13px;color:#45615d;font-size:13px;font-weight:600}.benefit-icon{width:27px;height:27px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:#e0f0e9;color:var(--teal);font-size:13px;font-weight:700}.intro-footer{margin-top:auto;padding-top:28px;display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:1.3px;color:#91a39e;font-weight:700}.footer-dot{width:7px;height:7px;border-radius:50%;background:#4ab79a;box-shadow:0 0 0 4px #e3f2ed}.content-panel{min-width:0}.auth-card,.registration-form,.completion-card,.config-card{background:var(--surface);border:1px solid rgba(222,234,228,.9);border-radius:22px;box-shadow:var(--shadow)}.auth-card{padding:38px 42px;max-width:590px;margin:0 auto}.card-heading h2,.registration-heading h2,.completion-card h2,.config-card h1{margin:9px 0 8px;color:var(--ink);font-size:28px;letter-spacing:-.75px}.card-heading p,.registration-heading p,.completion-card p,.config-card p{color:var(--muted);font-size:13px;line-height:1.75;margin:0}.form-stack{display:grid;gap:18px;margin-top:29px}.field{display:flex;flex-direction:column;gap:8px;min-width:0;color:#385a55;font-weight:600;font-size:12px}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;border:1px solid #dbe7e1;border-radius:10px;background:#fcfefd;color:var(--ink);padding:12px 13px;outline:none;font-size:13px;font-weight:500;transition:border-color .15s,box-shadow .15s}.field input,.field select{min-height:45px}.field textarea{resize:vertical;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:#60a99b;box-shadow:0 0 0 3px #0f766e17}.field input::placeholder{color:#a1b2ad}.field small{color:#92a39e;font-size:10px;font-weight:400;line-height:1.4}.primary-button,.secondary-button{border-radius:10px;border:1px solid transparent;padding:13px 19px;font-size:13px;font-weight:700;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:transform .15s,background .15s,box-shadow .15s}.primary-button{background:var(--teal);color:#fff;box-shadow:0 8px 18px #0f766e24}.primary-button:hover:not(:disabled){background:var(--teal-dark);transform:translateY(-1px)}.secondary-button{background:#fff;border-color:#cddfd6;color:var(--teal-dark)}.secondary-button:hover:not(:disabled){background:#f2f8f5}.full-button{width:100%}.auth-switch{text-align:center;border-top:1px solid var(--line);margin-top:25px;padding-top:20px;color:var(--muted);font-size:12px}.auth-switch button{color:var(--teal);border:0;background:transparent;padding:0 0 0 4px;font-weight:700}.resend-button{display:block;margin:14px auto 0}.registration-form{padding:32px 34px 28px}.registration-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:23px}.registration-heading h2{font-size:25px;margin-top:9px}.step-pill{padding:7px 11px;flex:0 0 auto;background:var(--teal-soft);color:var(--teal);border-radius:999px;font-weight:700;font-size:10px;letter-spacing:.5px}.form-section{border-top:1px solid var(--line);padding:26px 0 27px}.section-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:21px}.section-number{font-size:11px;font-weight:700;color:var(--teal);background:#e8f4ef;border-radius:8px;padding:7px 8px}.section-heading h3{margin:0 0 4px;font-size:16px;letter-spacing:-.2px}.section-heading p{color:#829590;margin:0;font-size:11px;line-height:1.6}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.field-wide{grid-column:1 / -1}.checkbox-field{flex-direction:row;align-items:center;gap:9px;font-size:11px;color:#66807a;font-weight:500}.checkbox-field input,.course-option input,.choice-card input{accent-color:var(--teal);width:16px;height:16px;margin:0;flex:0 0 auto}.inline-checkbox{justify-content:flex-end;padding-top:22px}.choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px}.choice-card{min-height:48px;display:flex;gap:9px;align-items:center;padding:11px 13px;border:1px solid #dce8e2;border-radius:10px;color:#5d7771;font-size:12px;cursor:pointer}.choice-active{border-color:#6eac9e;background:#f0f8f4;color:var(--teal-dark)}.photo-card{margin-top:22px;border:1px dashed #cbded5;border-radius:13px;padding:15px;background:#fbfdfc;display:flex;align-items:center;gap:18px}.photo-preview{width:82px;height:94px;flex:0 0 auto;border-radius:10px;background:#edf4f0;display:grid;place-items:center;color:#96aaa3;font-size:10px;letter-spacing:1px;overflow:hidden}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-details{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.photo-details strong{color:#385a55;font-size:12px}.photo-details p{color:var(--muted);margin:0;font-size:10px}.upload-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:33px;padding:8px 12px;color:var(--teal-dark);background:#eaf5f0;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer}.upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;height:100%;cursor:pointer}.photo-details small{color:#94a59f;font-size:9px;line-height:1.5}.inline-status,.validated{display:inline-flex;align-items:center;gap:7px;color:var(--teal);font-size:10px;font-weight:700}.validated b{background:#e3f4ec;width:16px;height:16px;border-radius:50%;display:grid;place-items:center}.tiny{font-size:10px}.guardian-block{border:1px solid #e6eee9;border-radius:12px;padding:16px;margin-bottom:14px;background:#fcfefd}.guardian-block h4{margin:0 0 14px;color:#315650;font-size:12px}.secondary-toggle{margin:16px 0 14px;cursor:pointer}.micro-note,.form-footnote{color:#93a39e;font-size:10px;line-height:1.6;margin:12px 0 0}.course-list{display:grid;gap:10px}.course-option{display:flex;align-items:center;gap:12px;border:1px solid #e1ebe5;border-radius:11px;padding:13px;cursor:pointer;transition:border-color .15s,background .15s}.course-option:hover{border-color:#aacfc1}.course-selected{border-color:#6eac9e;background:#f2f9f5}.course-check{width:19px;height:19px;border-radius:6px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #cbded5;color:#fff;font-size:11px}.course-selected .course-check{background:var(--teal);border-color:var(--teal)}.course-info{min-width:0;display:grid;gap:4px;flex:1}.course-info strong{font-size:12px;color:#315650}.course-info small{font-size:10px;color:#8a9d97;line-height:1.5}.free-label{color:var(--teal);background:#e5f4ed;padding:5px 7px;font-size:9px;font-weight:700;border-radius:6px}.selection-summary{margin-top:12px;color:var(--muted);font-size:10px;text-align:right}.form-actions{border-top:1px solid var(--line);padding-top:21px;display:flex;gap:12px;justify-content:space-between}.form-actions .primary-button{flex:1.2}.form-actions .secondary-button{flex:.8}.form-footnote{text-align:center}.alert{border-radius:10px;padding:12px 14px;font-size:11px;line-height:1.65}.alert-error{background:#fff0ef;border:1px solid #f3d1ce;color:var(--danger)}.alert-success{background:#edf8f2;border:1px solid #d3ebdd;color:#286e52}.alert-warning{background:var(--warning);border:1px solid #f2e5c8;color:var(--warning-ink)}.loading-state{min-height:260px;display:flex;justify-content:center;align-items:center;gap:12px;color:var(--muted);font-size:13px}.spinner{width:15px;height:15px;border:2px solid #d8e8e1;border-top-color:var(--teal);border-radius:50%;display:inline-block;animation:spin .75s linear infinite}.spinner-light{border-color:#ffffff59;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}.verify-card,.completion-card{text-align:center;max-width:590px;margin:0 auto;padding:44px 42px}.verify-card p{color:var(--muted);line-height:1.8;font-size:13px}.success-icon{width:58px;height:58px;border-radius:18px;margin:0 auto 20px;display:grid;place-items:center;background:#e6f5ed;color:var(--teal);font-size:25px;font-weight:700}.student-code{margin:25px 0 18px;padding:21px;border:1px solid #d8e9e0;border-radius:14px;background:#f4faf6;display:grid;gap:7px}.student-code span{color:var(--muted);font-size:11px}.student-code strong{color:var(--teal-dark);font-size:34px;letter-spacing:2px;font-variant-numeric:tabular-nums}.completion-card .primary-button{margin-top:20px}.muted{color:#91a29c!important}.page-footer{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;color:#9baaa5;font-size:10px;padding-top:8px}.config-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px}.brand-center{margin-bottom:22px}.config-card{max-width:560px;padding:34px}.config-card h1{font-size:25px}.config-card .muted{margin-top:17px}.auth-card .alert{margin-top:3px}@media (max-width: 980px){.app-shell{padding:0 22px 22px}.page-grid{gap:34px;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);margin-top:30px}.intro-panel{padding-top:38px}.intro-panel h1{font-size:38px}.registration-form{padding:27px 25px}}@media (max-width: 760px){.app-shell{padding:0 14px 18px}.topbar{height:66px}.page-grid{display:block;margin:20px auto 26px;max-width:600px}.intro-panel{position:static;min-height:0;padding:17px 5px 22px}.intro-panel h1{font-size:31px;max-width:560px;margin:11px 0 8px;letter-spacing:-1.1px}.intro-copy{font-size:12px;line-height:1.7}.benefit-list{display:flex;flex-wrap:wrap;gap:10px 17px;margin-top:18px}.benefit{gap:7px;font-size:10px}.benefit-icon{width:21px;height:21px;border-radius:7px;font-size:10px}.intro-footer{display:none}.auth-card,.verify-card,.completion-card{padding:28px 23px;border-radius:17px}.registration-form{padding:23px 18px;border-radius:17px}.field-grid{gap:14px 11px}.section-heading{margin-bottom:17px}.photo-card{align-items:flex-start}.signed-email{display:none}}@media (max-width: 480px){.brand{font-size:15px;gap:8px}.brand-mark{width:32px;height:32px;border-radius:10px}.top-actions{gap:10px}.text-button{font-size:11px}.intro-panel h1{font-size:28px}.benefit-list{display:grid;grid-template-columns:1fr 1fr}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.inline-checkbox{justify-content:flex-start;padding-top:0}.choice-row{grid-template-columns:1fr}.photo-card{padding:12px;gap:12px}.photo-preview{width:68px;height:82px}.form-actions{flex-direction:column-reverse}.form-actions .primary-button,.form-actions .secondary-button{width:100%;flex:auto}.page-footer{font-size:9px;gap:8px}.student-code strong{font-size:29px}}
