@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#11203b;--ink2:#1b2b4a;--blue:#3d5bf6;--teal:#17b8ad;--coral:#ff715b;--mist:#f3f6fb;--lav:#eeeaff;--white:#fff;--muted:#657087;--line:#dce2ec;--green:#168b68;--red:#c64242;--shadow:0 18px 50px rgba(17,32,59,.1);--head:'Manrope',system-ui,sans-serif;--body:'DM Sans',system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--body);color:var(--ink);background:var(--mist);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.brand{display:flex;align-items:center;gap:10px;font:800 18px var(--head)}.brand b{color:#7187ff}.logo-mark{width:33px;height:33px;position:relative;display:block;transform:rotate(-8deg)}.logo-mark i{position:absolute;border-radius:100% 0 100% 100%;transform-origin:bottom right}.logo-mark i:nth-child(1){width:23px;height:13px;left:0;top:3px;background:var(--teal);transform:rotate(20deg)}.logo-mark i:nth-child(2){width:24px;height:13px;right:0;top:11px;background:var(--blue);transform:rotate(50deg)}.logo-mark i:nth-child(3){width:17px;height:10px;left:4px;bottom:1px;background:var(--coral);transform:rotate(-20deg)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:255px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;padding:25px 18px;background:var(--ink);color:#fff;display:flex;flex-direction:column;z-index:50}.sidebar .brand{padding:0 10px;margin-bottom:35px}.sidebar nav{display:grid;gap:6px}.sidebar nav a{display:flex;gap:13px;align-items:center;padding:11px 13px;border-radius:12px;color:#b8c4d9;font-weight:600}.sidebar nav a span{width:25px;font-size:20px}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.side-bottom{margin-top:auto;display:grid;gap:16px}.kio-side{border:1px solid rgba(255,255,255,.14);background:linear-gradient(140deg,rgba(23,184,173,.18),rgba(61,91,246,.16));border-radius:16px;padding:10px;color:#fff;display:flex;align-items:center;gap:9px;text-align:left}.kio-side img{width:48px;height:48px;object-fit:contain}.kio-side span{display:grid}.kio-side small{color:#b7c4d7;font-size:10px}.back-site{padding:0 10px;color:#9dabc1;font-size:13px}.app-main{grid-column:2}.topbar{height:78px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);display:flex;align-items:center;padding:0 34px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:35}.top-spacer{flex:1}.sidebar-toggle{display:none;border:0;background:none;font-size:22px}.lang-form select{border:1px solid var(--line);background:#fff;padding:8px;border-radius:10px}.user-chip{display:flex;align-items:center;gap:10px;margin-left:14px}.user-chip>span:first-child{width:38px;height:38px;border-radius:12px;background:var(--lav);display:grid;place-items:center;color:var(--blue);font-weight:800}.user-chip>span:last-child{display:grid;font-size:13px}.user-chip small{color:var(--muted)}.content{width:min(1160px,calc(100% - 54px));margin:0 auto;padding:40px 0 80px}.page-title{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.page-title h1{font:800 clamp(30px,4vw,45px)/1.1 var(--head);letter-spacing:-.04em;margin:0}.page-title p{color:var(--muted);margin:8px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 17px;font-weight:700;gap:8px}.button.primary{background:var(--blue);color:#fff}.button.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.button.danger{background:#fff0f0;color:var(--red)}.button.full{width:100%}.button:disabled{opacity:.55;cursor:not-allowed}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}.alert{border-radius:12px;padding:13px 16px;margin-bottom:20px;background:#e9f0ff;color:#274bb0}.alert.error{background:#fff0f0;color:#9a3333}.alert.success{background:#e8f8f2;color:#12684e}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:0 6px 26px rgba(17,32,59,.04)}
.welcome-card{background:linear-gradient(135deg,var(--ink),#243a66);color:#fff;border-radius:24px;padding:34px;display:grid;grid-template-columns:1.4fr .6fr;position:relative;overflow:hidden}.welcome-card:after{content:'';position:absolute;width:290px;height:290px;border:50px solid rgba(23,184,173,.16);border-radius:50%;right:-100px;top:-130px}.welcome-card h2{font:700 32px var(--head);margin:8px 0}.welcome-card p{color:#c5cee0;max-width:630px}.welcome-card .button{align-self:end;justify-self:end;position:relative;z-index:2;background:#fff;color:var(--ink)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{font:800 30px var(--head);display:block;margin-top:5px}.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.continue-card{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center}.course-art{aspect-ratio:1;border-radius:18px;background:linear-gradient(145deg,var(--blue),#8a70ef);display:grid;place-items:center;color:#fff;font:800 48px var(--head)}.continue-card h3{font:700 23px var(--head);margin:5px 0}.continue-card p{color:var(--muted)}.progress{height:9px;background:var(--mist);border-radius:9px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue))}.section-title{display:flex;justify-content:space-between;align-items:center;margin:34px 0 14px}.section-title h2{font:700 23px var(--head);margin:0}.skill-bars{display:grid;gap:17px}.skill-row{display:grid;grid-template-columns:110px 1fr 40px;align-items:center;gap:10px;font-size:13px}.skill-row .progress{height:7px}.next-list{display:grid;gap:10px}.next-item{display:flex;gap:12px;align-items:center;padding:11px;border-radius:13px;background:var(--mist)}.next-item b{width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center;color:var(--blue)}.next-item span{display:grid;font-size:13px}.next-item small{color:var(--muted)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.catalog-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}.catalog-cover{height:150px;background:linear-gradient(145deg,#dfe5ff,#eff2ff);padding:24px;position:relative}.catalog-card:nth-child(3n+2) .catalog-cover{background:linear-gradient(145deg,#d7f7ef,#eefbf8)}.catalog-card:nth-child(3n+3) .catalog-cover{background:linear-gradient(145deg,#ffe1d9,#fff5ef)}.catalog-cover b{font:800 58px var(--head);color:rgba(17,32,59,.16);position:absolute;right:20px;bottom:0}.catalog-cover span{font-size:12px;font-weight:800;letter-spacing:.1em}.catalog-body{padding:23px;display:flex;flex-direction:column;flex:1}.catalog-body h2{font:700 24px/1.2 var(--head);margin:8px 0}.catalog-body p{color:var(--muted);font-size:14px}.catalog-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:auto;padding:14px 0}.locked{opacity:.82}.lock-note{background:var(--mist);padding:9px 11px;border-radius:10px;font-size:12px;color:var(--muted)}
.course-header{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.course-header h1{font:800 43px/1.1 var(--head);letter-spacing:-.04em;margin:8px 0}.course-header p{color:var(--muted);max-width:700px}.unit{margin-top:30px}.unit h2{font:700 22px var(--head)}.lesson-list{display:grid;gap:9px}.lesson-row{display:grid;grid-template-columns:45px 1fr auto;gap:15px;align-items:center;background:#fff;border:1px solid var(--line);padding:13px;border-radius:15px}.lesson-number{width:42px;height:42px;background:var(--mist);border-radius:11px;display:grid;place-items:center;font-weight:800;color:var(--blue)}.lesson-row.complete .lesson-number{background:#e3f7f0;color:var(--green)}.lesson-row h3{font:600 15px var(--head);margin:0}.lesson-row p{font-size:12px;color:var(--muted);margin:3px 0 0}.lesson-row>a{font-size:13px;font-weight:700;color:var(--blue);padding:8px}
.lesson-shell{display:grid;grid-template-columns:260px 1fr;gap:24px}.lesson-nav{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;position:sticky;top:98px;align-self:start;max-height:calc(100vh - 120px);overflow:auto}.lesson-nav>a{display:block;color:var(--blue);font-weight:700;font-size:13px;margin-bottom:17px}.lesson-nav h2{font:700 15px var(--head)}.lesson-steps{display:grid;gap:5px}.lesson-steps a{padding:9px;border-radius:9px;font-size:12px;color:var(--muted)}.lesson-steps a.current{background:var(--lav);color:var(--blue);font-weight:700}.lesson-content{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.lesson-hero{padding:36px;background:linear-gradient(145deg,var(--ink),#2b3f6d);color:#fff}.lesson-hero h1{font:800 40px/1.1 var(--head);letter-spacing:-.04em;margin:12px 0}.lesson-hero p{color:#c9d2e2}.lesson-meta{display:flex;gap:15px;font-size:12px;color:#b8c3d6}.lesson-body{padding:38px}.lesson-section{padding:25px 0;border-bottom:1px solid var(--line)}.lesson-section:first-child{padding-top:0}.lesson-section:last-child{border:0}.step-label{color:var(--blue);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.lesson-section h2{font:700 27px var(--head);margin:8px 0}.lesson-section>p{color:var(--muted)}.model-box{background:var(--lav);border-radius:16px;padding:22px;margin:20px 0;font-size:20px}.dialogue{background:var(--mist);border-radius:16px;padding:20px;display:grid;gap:10px}.dialogue p{margin:0}.dialogue b{color:var(--blue)}.practice-box{border:1px dashed #aeb9ca;border-radius:16px;padding:20px}.native-tip{display:flex;gap:12px;background:#e8faf6;border-radius:15px;padding:16px;margin-top:18px}.native-tip img{width:46px;height:46px;object-fit:contain}.native-tip p{margin:0;color:#32685e}.complete-row{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:26px}.complete-row .button.complete{background:var(--green)}
.auth-header{height:75px;padding:0 max(24px,calc((100% - 1160px)/2));display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line)}.auth-header>a:last-child{color:var(--muted);font-size:14px}.auth-main{min-height:calc(100vh - 75px);display:grid;place-items:center;padding:45px 20px;background:linear-gradient(145deg,var(--mist),var(--lav))}.auth-card{width:min(470px,100%);background:#fff;padding:35px;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card.wide{width:min(750px,100%)}.auth-card h1{font:800 34px var(--head);letter-spacing:-.04em;margin:4px 0 8px}.auth-card>p{color:var(--muted)}.form{display:grid;gap:15px;margin-top:24px}.form label{display:grid;gap:6px;font-weight:600;font-size:14px}.form input,.form select,.form textarea{border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:#fff;min-width:0}.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid rgba(61,91,246,.18);border-color:var(--blue)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-note{font-size:12px;color:var(--muted)}.auth-links{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-top:17px;color:var(--blue)}.terms-note{font-size:11px;color:var(--muted);text-align:center}.checkout-grid,.account-grid{display:grid;grid-template-columns:1fr .7fr;gap:20px}.summary-card{background:var(--ink);color:#fff;border-radius:20px;padding:27px;align-self:start}.summary-card h2{font:700 28px var(--head)}.summary-card p{color:#b9c4d7}.summary-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.13)}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px}.tabs button.active{background:var(--ink);color:#fff}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:13px}.table th{color:var(--muted);font-weight:600}.badge{display:inline-block;font-size:11px;padding:4px 8px;border-radius:20px;background:var(--mist)}.badge.approved{background:#e3f7f0;color:var(--green)}.badge.pending{background:#fff4d6;color:#8a6410}.badge.rejected{background:#fff0f0;color:var(--red)}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.empty{text-align:center;padding:45px;color:var(--muted)}
.kio-drawer{position:fixed;z-index:80;right:0;top:0;bottom:0;width:min(410px,100%);background:#fff;box-shadow:-20px 0 55px rgba(17,32,59,.18);transform:translateX(105%);transition:.25s;display:grid;grid-template-rows:auto 1fr auto auto auto}.kio-drawer.open{transform:none}.kio-header{display:flex;align-items:center;gap:10px;padding:16px;background:var(--ink);color:#fff}.kio-header img{width:48px;height:48px;object-fit:contain}.kio-header div{display:grid}.kio-header small{color:#b9c4d7}.kio-header button{margin-left:auto;background:none;border:0;color:#fff;font-size:26px}.kio-chat{background:var(--mist);padding:18px;overflow:auto}.kio-chat p{padding:11px 13px;border-radius:14px;max-width:85%;font-size:14px}.kio-chat .bot{background:#fff}.kio-chat .user{background:var(--blue);color:#fff;margin-left:auto}.kio-prompts{display:flex;gap:7px;padding:10px;overflow:auto}.kio-prompts button{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:7px 10px;border-radius:20px;font-size:11px}.kio-input{display:flex;padding:10px;border-top:1px solid var(--line)}.kio-input input{flex:1;border:0;padding:9px}.kio-input button{width:40px;border:0;border-radius:11px;background:var(--blue);color:#fff}.kio-disclaimer{font-size:10px;color:var(--muted);padding:0 12px 10px;margin:0}
@media(max-width:980px){.app-shell{grid-template-columns:1fr}.app-main{grid-column:1}.sidebar{transform:translateX(-105%);transition:.25s}.sidebar.open{transform:none}.sidebar-toggle{display:block}.content{width:min(100% - 30px,1160px)}.dashboard-grid,.checkout-grid,.account-grid{grid-template-columns:1fr}.catalog-grid{grid-template-columns:repeat(2,1fr)}.lesson-shell{grid-template-columns:1fr}.lesson-nav{position:static;max-height:none}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.topbar{padding:0 15px}.user-chip>span:last-child{display:none}.page-title,.welcome-card,.course-header{grid-template-columns:1fr;align-items:start}.welcome-card .button{justify-self:start}.stats-grid,.catalog-grid,.admin-stats{grid-template-columns:1fr}.continue-card{grid-template-columns:80px 1fr}.course-art{font-size:35px}.lesson-row{grid-template-columns:42px 1fr}.lesson-row>a{grid-column:2}.lesson-hero,.lesson-body{padding:24px}.lesson-hero h1{font-size:34px}.form-row{grid-template-columns:1fr}.auth-card{padding:25px}.complete-row{align-items:stretch;flex-direction:column}.complete-row .button{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
