:root{--navy:#303e78;--navy-dark:#202b59;--green:#2fac58;--bg:#f4f7fb;--line:#e1e6ef;--muted:#6d7692;--text:#17203c;--white:#fff;--danger:#c94242;--shadow:0 12px 35px rgba(39,54,102,.09)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--bg)}a{color:var(--navy);text-decoration:none}button,input,select,textarea{font:inherit}.app-body{display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:#fff;border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;z-index:5}.brand,.auth-brand{display:flex;align-items:center;gap:12px}.brand img,.auth-brand img{width:46px;height:46px;object-fit:contain}.brand span,.auth-brand div{display:flex;flex-direction:column}.brand b,.auth-brand b{font-size:15px}.brand small,.auth-brand span{font-size:11px;color:var(--muted);margin-top:3px}.sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:34px}.sidebar nav a{padding:12px;border-radius:10px;color:#5b6481}.sidebar nav a:hover{background:#eef1f8;color:var(--navy)}.nav-title{font-size:10px;font-weight:800;letter-spacing:.14em;color:#9aa2b8;margin:22px 10px 4px}.sidebar-user{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center}.sidebar-user span:not(.avatar){display:flex;flex-direction:column;font-size:12px;min-width:0}.sidebar-user small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.avatar{width:35px;height:35px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}.main{margin-left:260px;min-height:100vh;width:calc(100% - 260px)}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;font-size:12px;color:#515b78}.content{padding:32px;max-width:1440px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.page-head span:first-child,.auth-copy>span{font-size:10px;color:var(--green);font-weight:800;letter-spacing:.15em}.page-head h1{margin:6px 0;font-size:29px;color:var(--navy-dark)}.page-head p,.card p{margin:0;color:var(--muted)}.primary,.outline{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:12px 18px;font-weight:700;cursor:pointer}.primary{background:var(--green);color:#fff}.primary:hover{background:#269b4c}.outline{background:#fff;color:var(--navy);border:1px solid #bfc7d9}.link-btn{border:0;background:none;color:var(--navy);cursor:pointer;padding:8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stats article,.card,.progress-card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.stats article{padding:20px;display:flex;flex-direction:column;gap:8px}.stats small{color:var(--muted)}.stats b{font-size:26px;color:var(--navy)}.card{padding:24px;margin-bottom:18px}.card h2{margin:0 0 18px;color:var(--navy-dark);font-size:19px}.card-head{display:flex;justify-content:space-between}.empty{text-align:center;padding:45px 20px}.empty p{margin:8px 0 20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:11px;color:#8b94aa;text-transform:uppercase;letter-spacing:.08em}td{font-size:14px}td small{display:block;color:var(--muted);margin-top:4px}.status{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef1f6;color:#59627c;font-size:11px;font-weight:800}.status.approved,.status.enrolled,.status.paid,.status.verified{background:#e5f7ec;color:#218848}.status.rejected{background:#fdeaea;color:#b53535}.status.contract,.status.payment,.status.issued,.status.pending{background:#fff3db;color:#9a6710}.status.review,.status.submitted{background:#e8edff;color:#4055a5}.section-title{display:flex;gap:14px;margin-bottom:22px}.section-title>b{width:35px;height:35px;border-radius:9px;background:#e8f7ee;color:var(--green);display:grid;place-items:center}.section-title h2{margin:0 0 4px}.form-stack{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#414b69}input,select,textarea{width:100%;border:1px solid #cfd6e3;border-radius:8px;padding:12px;color:var(--text);background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid rgba(47,172,88,.2);border-color:var(--green)}.documents{display:grid;grid-template-columns:1fr 1fr;gap:12px}.documents label,label[data-file]{border:1px dashed #bfc8d9;border-radius:10px;padding:14px;display:flex;flex-direction:row;align-items:center;gap:12px;cursor:pointer}.documents label:hover,label[data-file]:hover{border-color:var(--green);background:#f7fcf9}.documents input,label[data-file] input{display:none}.documents span:nth-child(2),label[data-file]>span{display:flex;flex-direction:column;flex:1}.documents small,label[data-file] small{color:var(--muted);font-weight:400;margin-top:4px}.documents em,label[data-file] em{font-style:normal;font-size:11px;color:var(--navy);max-width:130px;overflow:hidden;text-overflow:ellipsis}.upload-icon{font-size:22px;color:var(--green)}.submit-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0 30px}.check{flex-direction:row;align-items:center;font-weight:400}.check input{width:auto}.progress-card{padding:20px;display:flex;align-items:center;margin-bottom:20px}.progress-card .step{display:flex;align-items:center;gap:8px;color:#9aa2b5;font-size:12px}.progress-card .step b{border-radius:50%;border:2px solid #cbd1dd;width:29px;height:29px;display:grid;place-items:center}.progress-card .done,.progress-card .active{color:var(--green)}.progress-card .done b,.progress-card .active b{border-color:var(--green);background:#e8f7ee}.progress-card i{height:2px;flex:1;background:#dfe4ec;margin:0 10px}.details{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}.details div{padding:13px 0;border-bottom:1px solid var(--line)}dt{font-size:11px;color:var(--muted)}dd{margin:5px 0 0;font-weight:700}.note,.success-box{border-left:3px solid var(--green);background:#f2faf5;padding:14px;margin-top:18px}.note p,.success-box p{margin-top:5px}.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}.compact{gap:13px}.document-list{display:flex;flex-direction:column}.document-list a{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.document-list a>span:nth-child(2){display:flex;flex-direction:column;flex:1}.document-list small{color:var(--muted);margin-top:3px}.document-list em{font-style:normal;font-size:12px}.payment-item{border-top:1px solid var(--line);padding:14px 0;display:flex;align-items:center;gap:10px}.payment-item>div{display:flex;flex-direction:column;flex:1}.payment-item small{color:var(--muted);margin:4px 0}.payment-item form{display:flex;gap:5px}.mini{border:0;padding:7px 9px;border-radius:6px;color:#fff;cursor:pointer}.mini.success{background:var(--green)}.mini.danger{background:var(--danger)}.flash{padding:13px 16px;border-radius:9px;margin-bottom:16px;background:#e8edff;color:#344b9d}.flash.success{background:#e7f7ed;color:#237d45}.flash.error{background:#fdeaea;color:#a82f2f}.auth-body{background:#fff}.auth-shell{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}.auth-panel{padding:38px clamp(30px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.auth-brand{position:absolute;top:32px}.auth-copy{margin-bottom:28px}.auth-copy h1{font-size:38px;color:var(--navy-dark);margin:8px 0}.auth-copy p{color:var(--muted)}.auth-form{display:flex;flex-direction:column;gap:15px;max-width:450px}.auth-methods{display:grid;gap:14px;max-width:470px}.method-card{display:grid;grid-template-columns:44px 1fr;gap:9px 12px;padding:19px;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.method-card>div{display:flex;flex-direction:column}.method-card small{color:var(--muted);margin-top:3px}.method-card input,.method-card button,.method-card>a,.method-card p{grid-column:1/-1}.method-card p{font-size:12px;color:var(--muted)}.method-icon{font-size:25px;color:var(--green)}.auth-aside{background:linear-gradient(145deg,rgba(32,43,89,.95),rgba(48,62,120,.88)),url('/assets/center-logo.png') center/55% no-repeat;color:#fff;display:flex;align-items:center;padding:70px}.auth-aside>div{max-width:510px}.auth-aside span{font-size:11px;letter-spacing:.18em;color:#7ae29d;font-weight:800}.auth-aside h2{font-size:36px;line-height:1.2}.auth-aside li{margin:14px 0;color:#dce2fa}
@media(max-width:950px){.sidebar{width:80px;padding:20px 12px}.brand span,.sidebar nav a span,.nav-title,.sidebar-user span:not(.avatar){display:none}.brand{justify-content:center}.sidebar nav a{text-align:center}.main{margin-left:80px;width:calc(100% - 80px)}.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.two-col{grid-template-columns:1fr}.documents{grid-template-columns:1fr}}
@media(max-width:650px){.content{padding:20px 14px}.topbar{padding:0 16px}.topbar div{max-width:70%;overflow:hidden;height:32px}.page-head,.submit-row{align-items:flex-start;flex-direction:column}.form-grid,.stats,.details{grid-template-columns:1fr}.progress-card{overflow:auto}.progress-card .step span{display:none}.auth-panel{padding:100px 24px 35px}.auth-copy h1{font-size:31px}.card{padding:18px}.sidebar{display:none}.main{margin:0;width:100%}}
.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}.course-grid .card{display:flex;flex-direction:column;gap:12px}.course-grid .card h2{margin:0}.course-grid .card .primary{align-self:flex-start;margin-top:auto}.course-grid small{color:var(--muted)}.course-progress{height:9px;background:#e9edf5;border-radius:99px;overflow:hidden;margin-top:12px}.course-progress div{height:100%;background:var(--green)}.lesson-list{margin:12px 0;display:flex;flex-direction:column}.lesson-list>a,.lesson-list>div{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.lesson-list small{color:var(--green)}.lesson-body{font-size:16px;line-height:1.8;white-space:normal;overflow-wrap:anywhere}.lesson-material{margin-top:28px!important}.quiz-question{border:1px solid var(--line);border-radius:10px;padding:18px;display:grid;gap:12px}.quiz-question legend{font-weight:700;color:var(--navy-dark);padding:0 8px}.quiz-question .check{gap:9px}.quiz-question input{flex:0 0 auto}
