:root{--primary:#2957ff;--primary-dark:#1739ba;--ink:#121a2a;--muted:#657087;--line:#e6eaf1;--soft:#f6f8fc;--success:#0e9f6e;--danger:#dc3545;--warning:#f59e0b;--white:#fff;--shadow:0 18px 55px rgba(30,55,110,.10);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial;color:var(--ink);background:#fff;line-height:1.65}a{text-decoration:none;color:inherit}img{max-width:100%}.container{width:min(1160px,calc(100% - 36px));margin:auto}.topbar{background:#10172a;color:#fff;font-size:13px}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.3px;font-size:20px}.brand-mark{width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,var(--primary),#6f8cff);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 10px 28px rgba(41,87,255,.28)}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:1.8px;font-weight:700}.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a{padding:10px 13px;border-radius:10px;font-weight:700;font-size:14px;color:#364055}
.nav-links a:hover,.nav-links a.active{background:var(--soft);color:var(--primary)}
.menu-btn{display:none;border:1px solid var(--line);background:white;border-radius:10px;padding:8px 11px;font-size:20px}
.btn{border:0;border-radius:12px;padding:12px 19px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.2s;font-family:inherit}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 10px 25px rgba(41,87,255,.24)}
.btn-outline{border:1.5px solid var(--primary);color:var(--primary);background:#fff}.btn-soft{background:var(--soft);color:var(--ink)}.btn-danger{background:#fff0f1;color:var(--danger)}.btn-sm{padding:8px 12px;font-size:13px}.hero{padding:82px 0 70px;background:radial-gradient(circle at 86% 12%,#e7edff 0,rgba(231,237,255,0) 34%),linear-gradient(180deg,#fff,#fafbff);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:60px}.eyebrow{display:inline-flex;padding:7px 12px;background:#edf1ff;color:var(--primary);border-radius:999px;font-weight:900;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.03;margin:20px 0 20px;letter-spacing:-2.8px}.hero h1 span{color:var(--primary)}.lead{font-size:18px;color:var(--muted);max-width:680px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.trust-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:30px;color:#455067;font-size:14px;font-weight:700}.trust-row span:before{content:'✓';color:var(--success);font-weight:900;margin-right:7px}.hero-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:25px;box-shadow:var(--shadow);position:relative}.hero-card:before{content:'';position:absolute;width:130px;height:130px;border-radius:50%;background:#edf1ff;right:-45px;top:-45px}.dash-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.status.active,.status.completed{background:#e9fbf4;color:#087653}.status.pending{background:#fff7df;color:#a66400}.status.blocked{background:#fff0f1;color:#b42332}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.mini-card{padding:16px;background:var(--soft);border-radius:15px}.mini-card strong{display:block;font-size:22px}.mini-card span{font-size:12px;color:var(--muted)}.progress{height:9px;background:#e9edf5;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:var(--primary);border-radius:999px}.section{padding:82px 0}.section-soft{background:var(--soft)}.section-head{text-align:center;max-width:760px;margin:0 auto 42px}.section-head h2{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:12px 0}.section-head p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:0 8px 25px rgba(30,55,110,.05)}.card h3{margin:12px 0 8px}.card p{color:var(--muted);margin:0}.icon{width:48px;height:48px;border-radius:15px;background:#edf1ff;color:var(--primary);display:grid;place-items:center;font-size:22px}.domain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.domain{padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;font-weight:800;display:flex;gap:10px;align-items:center}.domain:before{content:'●';font-size:10px;color:var(--primary)}.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;position:relative}.price-card.featured{border:2px solid var(--primary);box-shadow:var(--shadow)}.popular{position:absolute;right:18px;top:16px;font-size:10px;text-transform:uppercase;font-weight:900;background:#edf1ff;color:var(--primary);padding:5px 8px;border-radius:999px}.price{font-size:42px;font-weight:900;line-height:1;margin:16px 0 8px}.price small{font-size:14px;color:var(--muted)}.price-list{padding:0;list-style:none;color:var(--muted)}.price-list li{padding:7px 0}.price-list li:before{content:'✓';color:var(--success);font-weight:900;margin-right:8px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:22px}.step-num{width:38px;height:38px;border-radius:50%;background:var(--primary);color:white;display:grid;place-items:center;font-weight:900}.cta{background:linear-gradient(135deg,#12214c,var(--primary));color:#fff;border-radius:28px;padding:52px;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:38px;margin:0 0 8px}.cta p{margin:0;color:#dce4ff}.page-hero{padding:65px 0;background:linear-gradient(180deg,#f8faff,#fff);border-bottom:1px solid var(--line)}.page-hero h1{font-size:50px;line-height:1.1;margin:10px 0}.page-hero p{color:var(--muted);max-width:700px}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.form-group{margin-bottom:17px}.form-group label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.input,.select{width:100%;border:1px solid #dce1eb;border-radius:12px;padding:13px 14px;font:inherit;outline:none;background:#fff}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(41,87,255,.1)}.notice{padding:14px;border-radius:12px;background:#edf1ff;color:#2441a4;font-size:14px}.notice.success{background:#e9fbf4;color:#087653}.notice.error{background:#fff0f1;color:#b42332}.hidden{display:none!important}.footer{background:#10172a;color:#ced5e5;padding:55px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:35px}.footer h4{color:#fff}.footer a{display:block;margin:8px 0;color:#ced5e5}.copyright{border-top:1px solid #293149;margin-top:35px;padding-top:20px;font-size:13px;display:flex;justify-content:space-between}.dashboard{min-height:100vh;background:var(--soft);display:grid;grid-template-columns:250px 1fr}.sidebar{background:#10172a;color:white;padding:25px 18px;position:sticky;top:0;height:100vh}.side-brand{margin-bottom:35px}.side-nav a{display:flex;align-items:center;gap:10px;padding:12px 14px;color:#cbd3e6;border-radius:11px;margin:5px 0;font-weight:700}.side-nav a:hover,.side-nav a.active{background:#243052;color:#fff}.dash-main{padding:28px}.dash-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat{background:white;border:1px solid var(--line);padding:20px;border-radius:17px}.stat strong{font-size:28px;display:block}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:14px}.table th{font-size:12px;color:var(--muted);text-transform:uppercase}.modal{position:fixed;inset:0;background:rgba(10,18,35,.55);display:grid;place-items:center;z-index:100;padding:20px}.modal-box{background:white;border-radius:20px;width:min(650px,100%);max-height:90vh;overflow:auto;padding:27px}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{font-size:24px;border:0;background:transparent;cursor:pointer}.project-item{border:1px solid var(--line);border-radius:15px;padding:18px;margin-top:13px}.project-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.login-shell{min-height:calc(100vh - 77px);display:grid;grid-template-columns:1fr 1fr}.login-art{background:linear-gradient(145deg,#10172a,#2957ff);color:white;padding:70px;display:flex;align-items:center}.login-art h1{font-size:52px;line-height:1.05}.login-form{display:grid;place-items:center;padding:35px}.login-form .panel{width:min(480px,100%)}@media(max-width:960px){.nav-links{display:none;position:absolute;left:18px;right:18px;top:70px;background:white;box-shadow:var(--shadow);border:1px solid var(--line);padding:10px;border-radius:15px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.menu-btn{display:block}.hero-grid,.content-grid,.login-shell{grid-template-columns:1fr}.cards,.pricing{grid-template-columns:repeat(2,1fr)}
.domain-grid{grid-template-columns:repeat(2,1fr)}
.steps{grid-template-columns:repeat(2,1fr)}
.hero-card{max-width:650px}.login-art{display:none}
.dashboard{grid-template-columns:1fr}
.sidebar{height:auto;position:relative}
.side-nav{display:flex;overflow:auto}
.side-nav a{white-space:nowrap}
.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){
.topbar{display:none}.hero{padding:55px 0}.hero h1{letter-spacing:-1.5px}
.cards,.pricing,.domain-grid,.steps,.stats,.footer-grid{grid-template-columns:1fr}
.cta{padding:30px;display:block}.cta .actions{margin-top:22px}
.page-hero h1{font-size:38px}.dash-main{padding:18px}
.copyright{display:block}.mini-grid{grid-template-columns:1fr}
.login-form{padding:20px}.sidebar{padding:18px 12px}}
.hero-centered{max-width:900px;text-align:center}
.hero-centered .lead{margin-left:auto;margin-right:auto}
.hero-centered .actions,.hero-centered .trust-row{justify-content:center}
.document-upload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.upload-box{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--soft);display:flex;flex-direction:column;gap:12px}.upload-box h3,.upload-box p{margin:0}.upload-box p{color:var(--muted);font-size:14px}
.document-icon{width:48px;height:48px;border-radius:15px;background:#edf1ff;color:var(--primary);display:grid;place-items:center;font-size:23px;font-weight:900}.document-current{font-weight:800;color:var(--primary);font-size:14px}.document-badges{display:flex;gap:6px;flex-wrap:wrap}.doc-badge{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px}.doc-badge.ready{background:#e9fbf4;color:#087653}.doc-badge.missing{background:#f0f2f6;color:#657087}.action-cell{display:flex;gap:6px;flex-wrap:wrap;min-width:310px}.student-document-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:20px}.student-document-card{border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:start}.student-document-card .btn{grid-column:1/-1}.student-document-card h3,.student-document-card p{margin:0}
.student-document-card p{color:var(--muted);margin-top:5px}
.disabled-link{pointer-events:none;opacity:.55;border-color:#cbd1dc;color:#7c8699}
.document-modal{width:min(760px,100%)}@media(max-width:700px){
    .document-upload-grid,.student-document-grid{grid-template-columns:1fr}
    .action-cell{min-width:230px}}
