:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#fff;--ink:#172033;--muted:#69758a;--line:#e4e9f0;--soft:#f6f8fb;--primary:#111827;--accent:#bd9138;--ok:#19704a;--warn:#8b5b15}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#fff;color:var(--ink)}button,input,select,textarea{font:inherit}.portal{min-height:100vh;background:#fff}.top{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#fff;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:9px;font-weight:850;border:0;background:transparent;color:var(--ink);padding:0;cursor:pointer}.brand img{width:36px;height:36px}.link-btn{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 11px;font-weight:750;cursor:pointer;color:var(--ink)}.phone-wrap{width:min(100%,580px);margin:0 auto;padding:28px 18px 110px}.screen,.home{min-height:calc(100vh - 206px)}.screen-head{margin:26px 0 24px}.screen-head h1,.home-greeting h1{font-size:clamp(30px,8vw,42px);line-height:1.05;letter-spacing:-.045em;margin:0 0 12px}.screen-head p,.home-greeting p,.lead{color:var(--muted);font-size:16px;line-height:1.6;margin:0}.profile-progress{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#69758a;font-size:13px;font-weight:750}.dots{display:flex;gap:7px}.dots i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#edf0f4;color:#fff;font-style:normal;font-size:10px}.dots i.current{background:var(--accent)}.dots i.done{background:var(--ink)}.form{display:grid;gap:18px}.field{display:grid;gap:7px}.field label{font-weight:780;font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid #d7dee8;border-radius:14px;background:#fff;color:var(--ink);padding:14px 14px;outline:none;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8e9aaa;box-shadow:0 0 0 3px rgba(17,24,39,.06)}.hint,.optional{font-size:12px;color:var(--muted);font-weight:500}.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.chip{border:1px solid var(--line);border-radius:999px;background:#fff;padding:11px 8px;font-size:14px;font-weight:750;color:#344054;cursor:pointer}.chip.selected{background:var(--ink);border-color:var(--ink);color:#fff}.money-input{display:flex;align-items:center;border:1px solid #d7dee8;border-radius:14px;padding-left:14px}.money-input:focus-within{border-color:#8e9aaa;box-shadow:0 0 0 3px rgba(17,24,39,.06)}.money-input span{font-weight:800}.money-input input{border:0;box-shadow:none!important}.btn{border:0;border-radius:14px;padding:14px 18px;font-weight:850;cursor:pointer;text-align:center;text-decoration:none}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{background:#eef2f6;color:#243146}.btn.block{width:100%;display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.screen-actions{margin-top:28px}.sticky-action{margin-top:4px}.optional-upload,.notice-panel{border:1px dashed #cbd3df;border-radius:16px;padding:16px;background:#fbfcfd}.optional-upload>label{display:block;font-weight:800;margin-bottom:10px}.optional-upload>label span{font-weight:500;color:var(--muted)}.optional-upload p,.notice-panel p{font-size:12px;color:var(--muted);line-height:1.5;margin:10px 0 0}.consent-row{display:flex!important;align-items:flex-start;gap:9px;margin-top:12px;font-size:13px;font-weight:600!important;color:#49566a}.consent-row input{width:auto!important;margin-top:2px}.hidden{display:none!important}.upload-saved{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:14px;background:#edf8f2;border:1px solid #cbe8da}.upload-saved strong{color:var(--ok)}.upload-saved span{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-card{border:1px solid var(--line);border-radius:20px;padding:20px;background:#fff;box-shadow:0 12px 36px rgba(20,31,51,.06)}.value-card h2{font-size:21px;margin:0 0 7px}.value-card>p{color:var(--muted);line-height:1.55;margin:0}.price{display:grid;gap:3px;margin:21px 0;padding:16px;border-radius:15px;background:#f7f3e8}.price strong{font-size:30px;letter-spacing:-.035em}.price span{font-size:13px;color:#675722}.trust-list,.included-list{list-style:none;padding:0;margin:0;display:grid;gap:11px}.trust-list li,.included-list li{position:relative;padding-left:22px;line-height:1.45;color:#3d4a5d}.trust-list li:before,.included-list li:before{content:'✓';position:absolute;left:0;color:var(--ok);font-weight:900}.finding{padding:32px 0;text-align:center}.finding-line{height:8px;background:#edf0f4;border-radius:99px;overflow:hidden}.finding-line span{display:block;height:100%;width:42%;background:var(--accent);border-radius:99px;animation:find 1.7s ease-in-out infinite alternate}.finding p{color:var(--muted);font-size:14px}@keyframes find{from{transform:translateX(-60%)}to{transform:translateX(190%)}}.match-list{display:grid;gap:12px}.match-card{position:relative;display:flex;gap:12px;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.match-select input{position:absolute;opacity:0}.match-select span{display:block;width:22px;height:22px;border:1.5px solid #c9d1dc;border-radius:7px;margin-top:2px}.match-select input:checked+span{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 5px #fff}.match-main{min-width:0;flex:1}.match-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.match-top h3{font-size:17px;margin:0}.match-top p{font-size:13px;color:var(--muted);margin:4px 0 0;line-height:1.4}.fit-chip,.soft-chip{display:inline-block;border-radius:999px;padding:5px 8px;background:#edf8f2;color:#17623f;font-size:11px;font-weight:800;white-space:nowrap}.soft-chip{background:#f2f4f7;color:#475467}.soft-chip.warn{background:#fff5df;color:var(--warn)}.match-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.match-card dl div{background:var(--soft);padding:10px;border-radius:11px}.match-card dt{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.match-card dd{margin:4px 0 0;font-size:13px;font-weight:750}.gap-row{display:flex;gap:6px;flex-wrap:wrap}.details-link{display:inline-block;margin-top:13px;color:#315f8a;font-size:13px;font-weight:800}.chosen-school{display:grid;gap:3px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--soft);margin-bottom:18px}.chosen-school strong{font-size:18px}.chosen-school span{color:var(--muted)}.included-list{margin:20px 0}.boundary{font-size:13px;line-height:1.55;color:#6f581e;background:#faf5e9;border:1px solid #ead9ae;border-radius:14px;padding:13px}.notice-panel{border-style:solid;margin:18px 0}.notice-panel strong{display:block}.notice-panel .btn{margin-top:12px}.success-panel{padding:18px;border-radius:16px;background:#edf8f2;border:1px solid #cbe8da;margin-bottom:16px}.success-panel h2{margin:0 0 6px;color:var(--ok)}.success-panel p{margin:0;line-height:1.55;color:#365d4b}.empty-state{text-align:center;padding:34px 18px;border:1px solid var(--line);border-radius:18px}.empty-state h2{margin:0 0 7px}.empty-state p{margin:0;color:var(--muted)}.home-greeting{padding-top:16px}.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px!important;font-weight:850;color:#8a6d2b!important}.progress-bar{height:9px;background:#edf0f4;border-radius:99px;overflow:hidden;margin:20px 0 28px}.progress-bar span{display:block;height:100%;background:var(--accent);border-radius:99px}.next-card{border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 12px 36px rgba(20,31,51,.06)}.next-card small{color:#8a6d2b;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.next-card h2{font-size:23px;letter-spacing:-.025em;margin:8px 0}.next-card p{color:var(--muted);line-height:1.55;margin:0 0 20px}.home-link{width:100%;display:flex;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid var(--line);background:#fff;padding:16px 2px;font-weight:800;text-align:left;color:var(--ink);cursor:pointer}.home-link span{font-weight:600;color:var(--muted);max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.auth-card{width:min(100%,430px);padding:22px 4px}.auth-brand{display:flex;align-items:center;gap:9px;font-weight:850;margin-bottom:34px}.auth-brand img{width:42px;height:42px}.auth-card h1{font-size:clamp(34px,9vw,48px);line-height:1.02;letter-spacing:-.05em;margin:0 0 12px}.auth-card .form{margin-top:28px}.responsibility{font-size:12px;color:var(--muted);line-height:1.5;margin:15px 0;text-align:center}.text-btn{display:block;margin:8px auto;border:0;background:transparent;color:#315f8a;font-weight:750;cursor:pointer}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%,100px);width:min(calc(100% - 28px),440px);background:#172033;color:#fff;padding:13px 15px;border-radius:13px;opacity:0;transition:.2s;z-index:100}.toast.show{transform:translate(-50%,0);opacity:1}.toast.error{background:#8c2e2e}.loading{text-align:center;padding:70px 20px;color:var(--muted)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite;vertical-align:-3px;margin-right:7px}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:760px){.top{padding:0 max(24px,calc((100vw - 920px)/2))}.phone-wrap{padding-top:44px}.auth-card{border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 22px 70px rgba(20,31,51,.08)}}@media(max-width:420px){.phone-wrap{padding-left:14px;padding-right:14px}.chips{grid-template-columns:1fr}.match-top{display:block}.fit-chip{margin-top:9px}.match-card dl{grid-template-columns:1fr}.screen-actions{position:sticky;bottom:10px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding-top:9px;z-index:8}}