/* Өөрийн серверт байрлах фонтууд (OFL/Apache). Монгол үсэг (Ө, Ү) cyrillic-ext дэд багцад байдаг тул заавал хамт ачаална. */
/* ₮ тэмдэгт latin-ext-ийн бүтэн файлыг татуулахгүйн тулд жижиг тусгай файлыг сүүлд зарлана (сүүлд зарласан нь давуу). */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/inter-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/inter-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/inter-tugrik.woff2') format('woff2');unicode-range:U+20AE}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/manrope-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/manrope-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/manrope-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/manrope-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('../fonts/manrope-tugrik.woff2') format('woff2');unicode-range:U+20AE}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url('../fonts/jetbrains-mono-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url('../fonts/jetbrains-mono-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url('../fonts/jetbrains-mono-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url('../fonts/jetbrains-mono-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500 700;font-display:swap;src:url('../fonts/jetbrains-mono-tugrik.woff2') format('woff2');unicode-range:U+20AE}
@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:400;font-display:block;src:url('../fonts/material-symbols-outlined.woff2') format('woff2')}
:root{--navy:#0f172a;--navy-2:#131b2e;--navy-3:#1e293b;--amber:#f59e0b;--amber-2:#fea619;--paper:#f8f9ff;--surface:#fff;--surface-low:#eff4ff;--surface-mid:#e5eeff;--line:#e2e8f0;--muted:#5b6779;--font-head:'Manrope','Inter','Segoe UI',system-ui,-apple-system,'Noto Sans',Arial,sans-serif;--font-body:'Inter','Segoe UI',system-ui,-apple-system,'Noto Sans',Arial,sans-serif;--font-mono:'JetBrains Mono','Cascadia Mono',Consolas,'Liberation Mono',monospace;--input-border:#7c8799;--focus-ring:#b45309;--focus-ring-dark:#fbbf24;--ink:#0b1c30}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased}
.topbar{height:80px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 clamp(22px,4vw,64px);background:var(--navy-2);border-bottom:2px solid var(--amber-2);box-shadow:0 4px 12px #0002}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none}
.brand img{width:225px;max-height:58px;object-fit:contain;object-position:left center}
.brand-caption{display:none}
.topbar nav{display:flex;align-items:center;gap:clamp(10px,1.5vw,24px)}
.topbar nav a,.nav-link{white-space:nowrap;color:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:.18s}
.topbar nav a:hover,.nav-link:hover{color:#ffddb8}
.topbar nav a.current{padding:9px 11px;border-radius:3px;background:#1e293b;color:#ffddb8}
.topbar nav .nav-cta{padding:10px 15px;border-radius:3px;background:var(--amber-2);color:#131b2e;font-weight:700}
.nav-form{display:inline;margin:0}
.nav-link{padding:0;border:0;background:none;cursor:pointer}
.academy-site{padding-top:0}
.academy-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero-inner{max-width:1440px;min-height:545px;margin:auto;padding:58px clamp(24px,7vw,105px) 52px;display:grid;grid-template-columns:1fr .83fr;gap:55px;align-items:center}
.hero-copy{position:relative;z-index:2}
.academy-kicker{display:flex;align-items:center;gap:11px;color:#d2dbea;font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:.18em}
.kicker-line{width:28px;height:2px;background:var(--amber)}
.academy-kicker.dark{color:#616e7f}
.hero-copy h1{margin:24px 0 18px;font:800 clamp(39px,4.3vw,59px)/1.14 var(--font-head);letter-spacing:-.055em}
.hero-copy h1 span{color:#ffb847}
.hero-copy>p{max-width:520px;margin:0;color:#c5cfde;font-size:15px;line-height:1.8}
.hero-buttons{display:flex;gap:12px;margin-top:30px}
.academy-button{min-height:45px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:3px;text-decoration:none;font-size:14px;font-weight:700;transition:.2s}
.academy-button .material-symbols-outlined{font-size:18px}
.academy-button .arrow{margin-left:7px}
.academy-button.amber{background:var(--amber-2);color:var(--navy);box-shadow:0 4px 12px #0002}
.academy-button.amber:hover{background:#ffbd4b;transform:translateY(-1px)}
.academy-button.outline-light{border:1px solid #738096;color:white;background:#ffffff08}
.academy-button.outline-light:hover{background:#ffffff16}
.hero-proof{display:flex;align-items:center;gap:12px;margin-top:41px}
.proof-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff2e;border-radius:3px;color:#ffbe50}
.proof-icon .material-symbols-outlined{font-size:21px}
.hero-proof strong,.hero-proof small{display:block}
.hero-proof strong{font-size:13px;color:#f5f7fb}
.hero-proof small{margin-top:4px;font-size:12px;color:#99a7bb}
.hero-visual{height:430px;position:relative;overflow:hidden;background:#d9e0e7;border:1px solid #ffffff35;border-radius:3px}
.engineer-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center 35%}
.hero-visual-shade{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0a1423c9)}
.hero-stamp{position:absolute;right:17px;bottom:20px;display:flex;align-items:center;gap:9px;padding:12px 15px;background:var(--amber-2);color:var(--navy);font:800 12px/1.45 var(--font-head);letter-spacing:.08em}
.hero-stamp .material-symbols-outlined{font-size:24px}
.visual-code{position:absolute;top:14px;left:14px;padding:8px 10px;background:#0f172acc;color:white;font:600 12px var(--font-mono);letter-spacing:.1em}
.visual-code span{color:var(--amber)}
.hero-bottom{height:42px;padding:0 clamp(24px,7vw,105px);display:flex;align-items:center;justify-content:space-between;background:#131b2e;border-top:1px solid #ffffff18;color:#9eabc0;font:600 12px var(--font-mono);letter-spacing:.12em}
.hero-bottom i,.course-status i{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#16a66a}
.academy-stats{min-height:106px;padding:18px clamp(24px,8vw,125px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;border-bottom:1px solid var(--line)}
.academy-stats>div:not(.stat-seal){display:flex;flex-direction:column;gap:3px}
.academy-stats strong{font:700 26px var(--font-head);letter-spacing:-.04em;color:var(--navy)}
.academy-stats strong span{color:#956106}
.academy-stats small{font:700 11px var(--font-head);letter-spacing:.12em;color:#626e81}
.stat-seal{display:flex;align-items:center;gap:9px;padding-left:20px;border-left:1px solid var(--line);font:700 12px/1.5 var(--font-head);letter-spacing:.1em;color:#8b5700}
.stat-seal .material-symbols-outlined{color:#c47d08;font-size:25px}
.catalog-section{max-width:1440px;margin:auto;padding:87px clamp(24px,7vw,105px) 94px}
.catalog-top{display:flex;align-items:end;justify-content:space-between;gap:25px}
.catalog-top h2{margin:17px 0 9px;font:700 clamp(29px,3vw,39px)/1.22 var(--font-head);letter-spacing:-.05em;color:var(--navy)}
.catalog-top h2 span{color:#8e5b06}
.catalog-top p{margin:0;color:#626f84;font-size:15px}
.catalog-more{display:flex;align-items:center;gap:7px;padding-bottom:4px;color:var(--navy);font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.catalog-more .material-symbols-outlined{font-size:17px;color:#956007}
.catalog-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:36px;padding:0 0 12px;border-bottom:1px solid #d9e0e9}
.filter-tabs{display:flex;align-items:center;gap:6px}
.filter-tabs a{padding:10px 12px;color:#59677a;text-decoration:none;font-size:13px;font-weight:600;border-radius:3px}
.filter-tabs a.active{background:var(--navy);color:white}
.filter-tabs a span{margin-left:6px;color:#ffd071}
.catalog-search{width:220px;height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid #d3dce8;background:white;border-radius:3px;color:#606e85}
.catalog-search .material-symbols-outlined{font-size:17px}
.catalog-search input{width:100%;border:0;outline:0;color:var(--ink);font:15px var(--font-body)}
.academy-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.academy-course-card{overflow:hidden;border:1px solid #dfe5ee;background:white;border-radius:3px;transition:transform .2s,box-shadow .2s}
.academy-course-card:hover{transform:translateY(-3px);box-shadow:0 8px 23px #0f172a12}
.course-photo{height:185px;position:relative;background-size:cover;background-position:center}
.course-tag,.course-code{position:absolute;top:13px;padding:7px 8px;border-radius:2px;background:#111c2de8;color:#fff;font:700 11px var(--font-head);letter-spacing:.08em}
.course-tag{left:13px}
.course-code{right:13px;background:#fea619;color:#171e2c;font:600 12px var(--font-mono)}
.course-body{padding:16px 17px 13px}
.course-meta{display:flex;gap:13px;color:#616f81}
.course-meta span{display:flex;align-items:center;gap:4px;font-size:12px}
.course-meta .material-symbols-outlined{font-size:14px;color:#96650e}
.course-body h3{min-height:46px;margin:14px 0 8px;color:#101d33;font:700 16px/1.42 var(--font-head);letter-spacing:-.02em}
.course-body p{min-height:37px;margin:0;color:#636f7f;font-size:14px;line-height:1.65}
.course-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:11px;border-top:1px solid #edf0f5}
.course-status{font:700 11px var(--font-head);letter-spacing:.07em;color:#475568}
.course-status i{width:6px;height:6px;margin-right:5px}
.course-foot>a{width:29px;height:29px;display:grid;place-items:center;border:1px solid #d8e0ea;border-radius:2px;color:var(--navy);text-decoration:none}
.course-foot>a:hover{background:var(--amber-2);border-color:var(--amber-2)}
.course-foot>a .material-symbols-outlined{font-size:17px}
.company-section{background:var(--navy);color:white}
.company-grid{max-width:1440px;margin:auto;padding:76px clamp(24px,8vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.company-copy h2{margin:20px 0 15px;font:700 clamp(36px,4vw,51px)/1.16 var(--font-head);letter-spacing:-.05em}
.company-copy h2 span{color:#ffbd4b}
.company-copy>p{max-width:440px;margin:0;color:#b8c3d2;font-size:15px;line-height:1.85}
.company-copy .academy-button{margin-top:25px}
.company-points{border-top:1px solid #ffffff2c}
.company-points article{min-height:92px;display:grid;grid-template-columns:40px 1fr 24px;align-items:center;gap:14px;border-bottom:1px solid #ffffff2c}
.company-points article>.material-symbols-outlined:first-child{width:37px;height:37px;display:grid;place-items:center;border:1px solid #ffffff35;color:#ffbd4b;font-size:20px}
.company-points h3{margin:0 0 5px;font:600 14px var(--font-head)}
.company-points p{margin:0;color:#abb8ca;font-size:14px;line-height:1.6}
.company-points .point-arrow{color:#d3dce8;font-size:17px}
.academy-quote{padding:60px 22px 65px;text-align:center;background:#eff4fb}
.quote-mark{display:block;height:38px;color:#dfa018;font:700 65px Georgia,'Times New Roman',serif;line-height:1}
.academy-quote blockquote{margin:10px auto 20px;color:var(--navy);font:600 clamp(19px,2.4vw,28px)/1.5 var(--font-head);letter-spacing:-.025em}
.academy-quote blockquote em{font-style:normal;color:#8e5b06}
.quote-rule{width:38px;height:2px;margin:0 auto 15px;background:var(--amber)}
.quote-credit{font:700 11px var(--font-head);letter-spacing:.18em;color:#68768a}
footer{background:var(--navy-2);color:white}
.footer-main{max-width:1440px;margin:auto;padding:48px clamp(24px,5vw,72px);display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:42px}
.footer-main>div{display:flex;flex-direction:column;gap:10px}
.footer-brand img{width:220px;height:57px;object-fit:contain;object-position:left}
.footer-brand p,.footer-main>div>p{max-width:290px;margin:0;color:#aab5c6;font-size:14px;line-height:1.8}
.footer-accredit{display:flex;align-items:center;gap:6px;margin-top:5px;color:#ffca69;font:700 11px var(--font-head);letter-spacing:.08em}
.footer-accredit .material-symbols-outlined{font-size:15px}
.footer-main h3{margin:6px 0 7px;color:#ffcf79;font:700 12px var(--font-head);letter-spacing:.12em}
.footer-main a{color:#b7c1d0;text-decoration:none;font-size:13px}
.footer-main a:hover{color:white}
.footer-main>div>p{display:flex;gap:7px}
.footer-main>div>p .material-symbols-outlined{flex-shrink:0;color:#ffbf4b;font-size:15px}
.footer-bottom{min-height:39px;padding:10px clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:15px;background:#111c2d;color:#8a98ac;font:600 11px var(--font-mono);letter-spacing:.04em}
.auth-page{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 119px);background:white}
.auth-aside{position:relative;overflow:hidden;padding:100px 12%;background:var(--navy);color:white}
.auth-aside:after{content:'';position:absolute;width:480px;height:480px;border:1px solid #ffffff17;border-radius:50%;right:-160px;bottom:-190px;box-shadow:0 0 0 55px #ffffff08,0 0 0 110px #ffffff05}
.auth-aside .eyebrow{color:#d7dfeb}
.auth-aside h1{font:800 clamp(40px,4.5vw,60px)/1.15 var(--font-head);letter-spacing:-.05em;margin:31px 0 18px}
.auth-aside h1 em{font-style:normal;color:#ffb847}
.auth-aside>p{max-width:360px;color:#c2cedd;font-size:14px;line-height:1.8}
.auth-seal{position:absolute;bottom:50px;display:flex;align-items:center;gap:13px;color:#ffb847;font:800 25px var(--font-head)}
.auth-seal span{font:700 11px var(--font-body);letter-spacing:.16em;color:#c3cedb}
.auth-panel{width:min(440px,calc(100% - 56px));align-self:center;justify-self:center;padding:60px 0}
.auth-panel h2{margin:16px 0 6px;color:var(--navy);font:700 28px var(--font-head);letter-spacing:-.04em}
.auth-subtitle{margin:0 0 27px;color:#626e82;font-size:14px}
.auth-form{display:grid;gap:15px}
.auth-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#35435a}
.auth-form label small{display:inline;color:#626f83;font-weight:400}
.auth-form input{width:100%;height:42px;padding:0 12px;border:1px solid var(--input-border);border-radius:3px;outline:none;font:15px var(--font-body);color:#182c22}
.auth-form input:focus{border-color:#415776;box-shadow:0 0 0 3px #0f172a12}
.auth-submit{width:100%;margin-top:8px;height:46px}
.auth-submit span{color:#ffbf4b;font-size:17px}
.form-error{padding:12px 14px;margin:0 0 17px;border-left:3px solid #c84535;background:#fff1ee;color:#923326;font-size:14px;line-height:1.5}
.auth-switch{margin-top:22px;color:#656f80;font-size:14px}
.auth-switch a{color:var(--navy);font-weight:700}
.dashboard-page{max-width:1120px;margin:0 auto;padding:65px 28px 100px;min-height:76vh}
.dashboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}
.dashboard-head h1{margin:12px 0 6px;color:var(--navy);font:700 34px var(--font-head);letter-spacing:-.045em}
.dashboard-head h1 em{font-style:normal;color:#976409}
.dashboard-head p{margin:0;color:#626e82;font-size:15px}
.profile-chip{width:48px;height:48px;display:grid;place-items:center;background:#ffcb74;border:1px solid #e5a12e;border-radius:3px;font-weight:800;color:var(--navy)}
.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.dash-card{position:relative;min-height:205px;padding:25px;background:white;border:1px solid #dce4ee;border-radius:3px}
.dash-card small{font-size:12px;letter-spacing:.14em;font-weight:700;color:#636f84}
.dash-card h3{margin:19px 0 8px;font:700 17px var(--font-head);color:#17243a}
.dash-card p{color:#636e7f;font-size:15px;line-height:1.7}
.dash-icon{position:absolute;right:23px;top:19px;font-size:22px;color:#95630a}
.welcome-card{grid-row:span 2;min-height:300px;background:var(--navy);color:white}
.welcome-card .eyebrow{color:#c2ceda}
.welcome-card h2{margin:24px 0 9px;font:700 29px/1.3 var(--font-head);letter-spacing:-.04em}
.welcome-card p{max-width:300px;color:#c2ceda}
.welcome-card .button{margin-top:15px}
.health-page{max-width:1040px;margin:0 auto;padding:100px 28px 140px;min-height:70vh}
.health-page h1{font:800 52px var(--font-head);letter-spacing:-.05em;color:var(--navy)}
.health-page h1 em{font-style:normal;color:#9b6508}
.lead{color:var(--muted);margin-bottom:40px}
.status-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px;background:white;border:1px solid var(--line);border-radius:3px;box-shadow:0 4px 10px #0f172a08}
.status-card>div{display:grid;grid-template-columns:14px auto;gap:5px 8px;align-items:center}
.status-card small{grid-column:2;color:var(--muted);font-size:12px}
.status-dot{width:8px;height:8px;background:#10b981;border-radius:50%}
.status-card .button,.button.primary{background:var(--navy);color:white}
.notice{padding:14px;background:#fffbeb;border-left:3px solid var(--amber);font-size:14px}
.health-page>.text-link{display:inline-block;margin-top:30px;color:var(--navy);font-size:14px;font-weight:700;text-decoration:none}
.health-page>.eyebrow{font:700 12px var(--font-head);letter-spacing:.16em;color:#626e82}
.error-page{min-height:65vh;padding:100px 24px;text-align:center}
.error-page h1{color:var(--navy);font:700 34px var(--font-head)}
@media(max-width:1160px){
.topbar{padding:0 24px}
.brand img{width:190px}
.topbar nav{gap:10px}
.topbar nav a{font-size:13px}
.hero-inner{gap:32px}
.academy-stats{padding-left:5%;padding-right:5%}
.footer-main{gap:24px}
}
@media(max-width:900px){
.topbar{height:70px}
.brand img{width:177px}
.hero-inner{min-height:480px;padding:48px 5%;grid-template-columns:1fr .8fr}
.hero-copy h1{font-size:43px}
.hero-visual{height:360px}
.academy-stats{flex-wrap:wrap;justify-content:flex-start;gap:22px 42px}
.stat-seal{margin-left:auto}
.academy-course-grid{gap:12px}
.course-photo{height:145px}
.course-body{padding:13px}
.course-body h3{font-size:14px}
.company-grid{gap:6%;padding:64px 6%}
.footer-main{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
.topbar{height:66px;padding:0 15px}
.brand img{width:156px}
.hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:49px 22px 28px}
.hero-copy h1{font-size:39px;margin:20px 0 14px}
.hero-copy>p{font-size:15px}
.hero-buttons{flex-wrap:wrap;margin-top:22px}
.academy-button{font-size:13px}
.hero-proof{margin-top:25px}
.hero-visual{height:295px}
.hero-bottom{padding:0 18px;font-size:11px}
.academy-stats{padding:19px 21px;gap:20px 0;display:grid;grid-template-columns:1fr 1fr}
.academy-stats strong{font-size:22px}
.academy-stats small{font-size:11px}
.stat-seal{grid-column:1/-1;margin:0;padding:10px 0 0;border-left:0;border-top:1px solid var(--line)}
.catalog-section{padding:56px 19px 62px}
.catalog-top{align-items:start}
.catalog-top h2{font-size:28px}
.catalog-top p{font-size:14px;line-height:1.6}
.catalog-more{margin-top:31px;font-size:12px}
.catalog-controls{align-items:stretch;flex-direction:column;margin-top:23px}
.filter-tabs{overflow:auto;white-space:nowrap}
.filter-tabs a{font-size:12px;padding:9px}
.catalog-search{width:100%}
.academy-course-grid{grid-template-columns:1fr;gap:14px}
.course-photo{height:190px}
.course-body{padding:15px}
.course-body h3{font-size:16px}
.company-grid{grid-template-columns:1fr;gap:35px;padding:54px 22px}
.company-copy h2{font-size:37px}
.company-points article{min-height:84px}
.academy-quote{padding:45px 18px}
.academy-quote blockquote{font-size:19px}
.quote-credit{font-size:11px}
.footer-main{grid-template-columns:1fr;gap:28px;padding:36px 22px}
.footer-bottom{align-items:flex-start;flex-direction:column;font-size:11px}
.auth-page{grid-template-columns:1fr}
.auth-aside{padding:45px 8% 38px;min-height:248px}
.auth-aside h1{font-size:39px;margin:18px 0 10px}
.auth-aside>p{font-size:15px}
.auth-seal{display:none}
.auth-panel{padding:43px 0 53px}
.dashboard-page{padding:42px 6% 70px}
.dashboard-head h1{font-size:25px}
.dashboard-grid{grid-template-columns:1fr}
.welcome-card{grid-row:auto;min-height:260px}
.dash-card{min-height:175px}
.health-page{padding:65px 21px 90px}
.health-page h1{font-size:39px}
.status-card{align-items:flex-start;flex-direction:column}
}
.public-catalog{min-height:70vh;padding-top:64px}
.empty-catalog{grid-column:1/-1;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:white;border:1px dashed #ccd5e2;color:#616f84}
.empty-catalog>.material-symbols-outlined{font-size:30px;color:#96650e}
.empty-catalog strong{font:700 15px var(--font-head);color:#17243a}
.empty-catalog p{margin:0;font-size:14px}
.training-detail{max-width:1320px;margin:auto;padding:0 40px 90px;min-height:70vh}
.detail-breadcrumb{display:flex;gap:9px;align-items:center;padding:21px 0;color:#626e7e;font-size:13px}
.detail-breadcrumb a{color:#56657a;text-decoration:none}
.detail-breadcrumb b{font-weight:600;color:#1a2940}
.detail-head{display:flex;justify-content:space-between;gap:40px;padding:37px 0 35px;border-top:3px solid var(--amber);border-bottom:1px solid var(--line)}
.detail-head>div:first-child{max-width:850px}
.detail-tags{display:flex;flex-wrap:wrap;gap:7px}
.detail-tags span{padding:6px 8px;background:#e8eef6;color:#34445d;border-radius:2px;font:700 11px var(--font-head);letter-spacing:.06em}
.detail-tags .amber-tag{background:#ffddb8;color:#684000}
.detail-code{margin-top:18px;font:600 12px var(--font-mono);color:#7c5b1b}
.detail-head h1{margin:11px 0 9px;font:700 clamp(29px,3vw,40px)/1.22 var(--font-head);letter-spacing:-.045em;color:var(--navy)}
.detail-head p{margin:0;color:#616f84;font-size:15px;line-height:1.8}
.detail-enroll{min-width:215px;align-self:center;padding:17px;background:#f1f5fa;border:1px solid #dfe6ef}
.detail-enroll strong,.detail-enroll>span{display:block}
.detail-enroll strong{font:700 17px var(--font-head);color:#13213a}
.detail-enroll>span{margin:5px 0 14px;color:#54755f;font-size:13px}
.detail-enroll .academy-button{width:100%;min-height:39px}
.detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 0;border-bottom:1px solid var(--line)}
.detail-metrics>div{display:grid;grid-template-columns:32px auto;align-items:center;gap:4px 9px;padding:5px 18px;border-right:1px solid var(--line)}
.detail-metrics>div:first-child{padding-left:0}
.detail-metrics>div:last-child{border:0}
.detail-metrics .material-symbols-outlined{grid-row:span 2;color:#95640e;font-size:21px}
.detail-metrics small{font:700 11px var(--font-head);letter-spacing:.08em;color:#616e7f}
.detail-metrics strong{font-size:13px;color:#1b2a40}
.detail-description{display:grid;grid-template-columns:1.5fr .8fr;gap:50px;padding-top:36px}
.detail-description h2{margin:12px 0;font:700 23px var(--font-head);color:var(--navy)}
.detail-description>div>p{max-width:780px;color:#59687e;font-size:15px;line-height:1.9}
.detail-description aside{padding:20px;background:#f1f5fa;border:1px solid #dfe6ef}
.detail-description aside>strong{display:block;margin-bottom:15px;font:700 15px var(--font-head)}
.detail-description aside>p{color:#626e83;font-size:14px}
.batch-row{padding:12px 0;border-top:1px solid #dce3ed}
.batch-row span,.batch-row small{display:block}
.batch-row span{font:600 13px var(--font-mono);color:#17243a}
.batch-row small{margin-top:5px;color:#617083;font-size:12px}
.admin-page{max-width:1250px;min-height:72vh;margin:auto;padding:62px 28px 100px}
.admin-page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}
.admin-page-head h1{margin:12px 0 5px;color:var(--navy);font:700 30px var(--font-head);letter-spacing:-.04em}
.admin-page-head p{margin:0;color:#616e83;font-size:15px}
.admin-page-head .academy-button{white-space:nowrap}
.admin-table-wrap{position:relative;overflow:auto;background:#fff;border:1px solid #dfe5ed;border-radius:3px}
.admin-table{width:100%;border-collapse:collapse;text-align:left}
.admin-table th{padding:13px 15px;background:#f1f5fa;color:#627082;font:700 11px var(--font-head);letter-spacing:.1em;white-space:nowrap}
.admin-table td{padding:14px 15px;border-top:1px solid #edf0f4;color:#445269;font-size:14px;vertical-align:middle}
.admin-table td:first-child{min-width:265px}
.admin-table td strong,.admin-table td small{display:block}
.admin-table td strong{color:#14223a;font:600 14px var(--font-head)}
.admin-table td small{margin-top:5px;color:#626f82;font:600 12px var(--font-mono)}
.admin-status{padding:5px 7px;border:1px solid #d9e1eb;border-radius:2px;font:700 11px var(--font-head);color:#637087;white-space:nowrap}
.admin-status.published{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.admin-status.archived{background:#f1f5f9;color:#475569}
.table-link{display:inline-block;margin-right:10px;padding:0;border:0;background:none;color:#31476a;font:700 13px var(--font-body);text-decoration:none;cursor:pointer;white-space:nowrap}
.table-link:hover{color:#996205}
.inline-form{display:inline}
.admin-notice{margin-bottom:15px;padding:12px 14px;border-left:3px solid #10b981;background:#ecfdf5;color:#065f46;font-size:13px}
.admin-form{max-width:850px;padding:24px;background:white;border:1px solid #dfe5ed;display:grid;gap:17px}
.admin-form>label,.admin-form-row>label{display:grid;gap:7px;color:#3d4b60;font-size:13px;font-weight:700}
.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:11px;border:1px solid var(--input-border);border-radius:2px;background:#fff;color:#16243a;font:15px var(--font-body);outline:none}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:#3c506d;box-shadow:0 0 0 3px #0f172a10}
.admin-form textarea{resize:vertical;line-height:1.6}
.admin-form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.admin-form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:9px;border-top:1px solid #e7ebf1}
.cancel-button{color:#31415a!important;border-color:#cbd5e1!important;background:white!important}
.error-page .academy-button{margin:20px auto}
.status-card .primary,.auth-submit,.welcome-card .button{font-family:var(--font-body)}
@media(max-width:700px){
.training-detail{padding:0 18px 65px}
.detail-head{display:block;padding:26px 0}
.detail-enroll{margin-top:20px}
.detail-metrics{grid-template-columns:repeat(2,1fr);row-gap:10px}
.detail-metrics>div:nth-child(2){border:0}
.detail-metrics>div:nth-child(3){padding-left:0}
.detail-description{grid-template-columns:1fr;gap:20px}
.admin-page{padding:44px 16px 75px}
.admin-page-head{align-items:flex-start;flex-direction:column}
.admin-page-head h1{font-size:25px}
.admin-table{min-width:750px}
.admin-form{padding:17px}
.admin-form-row{grid-template-columns:1fr}
.public-catalog{padding-top:48px}
}
.detail-enroll form{display:grid;gap:8px}
.batch-select-label{font:700 12px var(--font-head);color:#606f85}
.batch-select{width:100%;min-height:38px;padding:8px;border:1px solid var(--input-border);background:white;border-radius:2px;font:15px var(--font-body);color:#26364d}
.detail-enroll form .academy-button{width:100%;margin-top:5px}
.batch-no-dates{display:block;margin-top:12px;color:#626e7e;font-size:13px;line-height:1.6}
.enrollment-list{margin-top:34px;border:1px solid #dfe5ed;background:#fff}
.enrollment-list-head{display:flex;justify-content:space-between;align-items:center;padding:16px 19px;border-bottom:1px solid #e5eaf1}
.enrollment-list-head h2{margin:0;color:#15223a;font:700 16px var(--font-head)}
.enrollment-list-head a{color:#435773;text-decoration:none;font-size:13px;font-weight:700}
.enrollment-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 19px;border-bottom:1px solid #edf0f4}
.enrollment-row:last-child{border-bottom:0}
.enrollment-row h3{margin:4px 0;color:#14223a;font:600 14px var(--font-head)}
.enrollment-row p{margin:0;color:#636f84;font-size:14px}
.enrollment-badge{display:inline-block;padding:6px 8px;background:#fff8e8;border:1px solid #f7dfa7;border-radius:2px;color:#8b5a02;font:700 11px var(--font-head);white-space:nowrap}
.enrollment-badge.confirmed{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.enrollment-badge.cancelled{background:#fef2f2;border-color:#fecaca;color:#991b1b}
.enrollment-empty{padding:28px;text-align:center;color:#626e82;font-size:13px}
.admin-head-actions{display:flex;gap:9px}
.admin-outline{color:#243650!important;border-color:#cbd5e1!important;background:white!important}
@media(max-width:700px){
.enrollment-row{align-items:flex-start;flex-direction:column}
.enrollment-list-head{padding:13px}
.admin-head-actions{width:100%;flex-wrap:wrap}
.detail-enroll{min-width:0}
}
.admin-body{background:#f4f6fc;color:#0b1c30;font-family:var(--font-body)}
.admin-app{min-height:100vh}
.admin-sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:258px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e8ebf1;box-shadow:1px 0 8px #0f172a08}
.admin-sidebar-brand{height:67px;display:flex;align-items:center;gap:9px;padding:0 18px;text-decoration:none;border-bottom:1px solid #f0f2f6}
.admin-sidebar-brand img{width:105px;height:45px;object-fit:contain;object-position:left}
.admin-brand-copy{display:flex;flex-direction:column;gap:4px}
.admin-brand-copy strong{color:#14223a;font:800 13px var(--font-head);letter-spacing:.02em}
.admin-brand-copy small{color:#986107;font:700 11px var(--font-head);letter-spacing:.08em}
.sidebar-environment{height:33px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;background:#eff4ff;color:#58677f;font:600 12px var(--font-mono)}
.sidebar-environment span{display:flex;align-items:center;gap:7px}
.sidebar-environment i,.admin-top-status>span.is-live i{width:7px;height:7px;display:inline-block;border-radius:50%;background:#10b981}
.sidebar-environment b{padding:3px 6px;background:#dce9fe;border-radius:2px;color:#34435b;font-size:11px}
.admin-sidebar-nav{flex:1;overflow:auto;padding:10px 11px 13px}
/* Цэсний бүлэг: гарчиг дээр дарж хураана (app.js, cookie ab_nav_closed) */
.admin-nav-group-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:14px 8px 6px;border:0;background:none;color:#646f83;font:700 11px var(--font-head);letter-spacing:.12em;text-align:left;cursor:pointer}
.admin-nav-group-toggle:hover{color:#14223a}
.admin-nav-group-toggle i{font-size:18px;transition:transform .2s ease}
.admin-nav-group.is-collapsed .admin-nav-group-toggle i{transform:rotate(-90deg)}
.no-js .admin-nav-group-toggle i{display:none}
.admin-nav-group-items{display:grid;grid-template-rows:1fr;transition:grid-template-rows .2s ease}
.admin-nav-group-items>div{min-height:0;overflow:hidden}
.admin-nav-group.is-collapsed .admin-nav-group-items{grid-template-rows:0fr}
.admin-nav-group.is-collapsed .admin-nav-group-items>div{visibility:hidden}
.admin-sidebar-nav a{min-height:37px;margin:2px 0;padding:0 9px;display:flex;align-items:center;gap:10px;border-radius:4px;color:#59677d;font-size:13px;font-weight:600;text-decoration:none;transition:.15s}
.admin-sidebar-nav a .material-symbols-outlined{font-size:17px}
.admin-sidebar-nav a:hover{background:#f1f4f9;color:#14223a}
.admin-sidebar-nav a.active{background:#131b2e;color:#fff;box-shadow:0 1px 4px #0f172a20}
.admin-sidebar-nav a.active .material-symbols-outlined{color:#ffbd4b}
.admin-sidebar-nav a.disabled{opacity:.55;cursor:default}
.admin-sidebar-nav a em{margin-left:auto;color:#626f83;font:700 11px var(--font-head);font-style:normal}
.admin-sidebar-footer{padding:12px 13px 14px;border-top:1px solid #edf0f5}
.admin-sidebar-footer>span{display:flex;justify-content:space-between;color:#636f84;font:700 11px var(--font-mono);letter-spacing:.08em}
.admin-sidebar-footer>span b{color:#926009}
.admin-sidebar-footer form{margin-top:10px}
.admin-sidebar-footer button{width:100%;height:34px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:3px;background:#eff4ff;color:#34435b;font:600 13px var(--font-body);cursor:pointer}
.admin-sidebar-footer button:hover{background:#ffebeb;color:#a61b1b}
.admin-sidebar-footer button i{font-size:16px}
.admin-main-column{min-height:100vh;margin-left:258px;display:flex;flex-direction:column}
/* Цэсийг дүрс болгон хураах (icon rail, ≥1001px; app.js, cookie ab_sidebar). Нэр нь дэлгэц уншигчид үлдэнэ. */
.admin-sidebar{transition:width .2s ease}
.admin-main-column{transition:margin-left .2s ease}
.admin-sidebar-footer .admin-rail-toggle{justify-content:flex-start;padding:0 9px;background:transparent;color:#59677d}
.admin-sidebar-footer .admin-rail-toggle:hover{background:#f1f4f9;color:#14223a}
.admin-sidebar-footer .admin-rail-toggle i{font-size:18px}
.admin-rail-tip{position:fixed;z-index:80;transform:translateY(-50%);padding:5px 9px;border-radius:5px;background:#131b2e;color:#fff;font:600 12px var(--font-body);white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #0f172a33}
.admin-rail-tip[hidden]{display:none}
@media(min-width:1001px){
body.admin-rail .admin-sidebar{width:72px}
body.admin-rail .admin-main-column{margin-left:72px}
body.admin-rail .admin-sidebar-brand{justify-content:center;padding:0}
body.admin-rail .admin-sidebar-brand img{width:34px;height:36px}
body.admin-rail .admin-brand-copy,body.admin-rail .admin-nav-label{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.admin-rail .admin-nav-group-toggle{display:none}
body.admin-rail .admin-nav-group+.admin-nav-group{margin-top:8px;padding-top:8px;border-top:1px solid #edf0f5}
body.admin-rail .admin-nav-group-items{grid-template-rows:1fr}
body.admin-rail .admin-nav-group-items>div{visibility:visible}
body.admin-rail .admin-sidebar-nav{padding:10px 12px;overflow-x:hidden}
body.admin-rail .admin-sidebar-nav a{justify-content:center;gap:0;padding:0}
body.admin-rail .admin-sidebar-nav a .material-symbols-outlined{font-size:20px}
body.admin-rail .admin-sidebar-footer{padding:12px}
body.admin-rail .admin-sidebar-footer button,body.admin-rail .admin-sidebar-footer .admin-rail-toggle{justify-content:center;gap:0;padding:0}
}
@media(max-width:1000px){.admin-rail-toggle{display:none!important}}
.admin-topbar{height:62px;position:sticky;top:0;z-index:30;padding:0 25px;display:flex;align-items:center;gap:18px;background:#fff;border-bottom:1px solid #e8ebf1;box-shadow:0 1px 8px #0f172a08}
.admin-topbar-title{padding:7px 10px;border-radius:3px;background:#fea619;color:#46310f;font:700 11px var(--font-head);letter-spacing:.05em}
.admin-top-status{display:flex;align-items:center;gap:8px}
.admin-top-status>span{min-height:26px;padding:0 8px;display:flex;align-items:center;gap:6px;border-radius:3px;background:#f1f5fa;color:#58677b;font:600 11px var(--font-mono)}
.admin-top-status>span .material-symbols-outlined{font-size:13px}
.admin-profile{margin-left:auto;display:flex;align-items:center;gap:9px}
.admin-profile-avatar{width:30px;height:30px;display:grid;place-items:center;border:1px solid #edbd65;border-radius:50%;background:#ffedc9;color:#29344a;font:700 14px var(--font-head)}
.admin-profile>span:last-child{display:flex;flex-direction:column;gap:3px}
.admin-profile strong{color:#25344b;font:600 13px var(--font-head)}
.admin-profile small{color:#936210;font:700 11px var(--font-head);letter-spacing:.08em}
.admin-content{flex:1;min-width:0;background:#f4f6fc}
.admin-content>.admin-page{max-width:1440px}
.admin-dashboard{max-width:1500px;margin:auto;padding:23px 25px 38px}
.admin-welcome-card{min-height:158px;padding:22px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e9edf4;border-radius:7px;box-shadow:0 1px 5px #0f172a06}
.admin-eyebrow{color:#626d81;font:700 11px var(--font-head);letter-spacing:.14em}
.admin-welcome-card h1{margin:12px 0 6px;color:#18263e;font:700 23px var(--font-head);letter-spacing:-.04em}
.admin-welcome-card p{margin:0;color:#788499;font-size:14px}
.welcome-health{display:flex;gap:14px;margin-top:17px}
.welcome-health span{display:flex;align-items:center;gap:5px;color:#647188;font:600 12px var(--font-mono)}
.welcome-health i{width:6px;height:6px;border-radius:50%;background:#10b981}
.welcome-actions{display:flex;gap:8px}
.welcome-actions a{min-height:35px;padding:0 11px;display:flex;align-items:center;gap:6px;background:#fea619;border-radius:3px;color:#17233a;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.welcome-actions a+ a{background:#131b2e;color:white}
.welcome-actions .material-symbols-outlined{font-size:16px}
.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.admin-kpi-grid article{min-height:112px;padding:13px 15px;background:#fff;border:1px solid #e8ecf3;border-radius:6px}
.admin-kpi-grid article.pending-kpi{border-left:3px solid #fea619}
.kpi-heading{display:flex;justify-content:space-between;align-items:center;color:#606e82;font-size:12px;font-weight:600}
.kpi-heading i{color:#5f6d84;font-size:16px}
.pending-kpi .kpi-heading i{color:#976100}
.admin-kpi-grid article>strong{display:block;margin-top:8px;color:#15233b;font:700 25px var(--font-head);letter-spacing:-.04em}
.admin-kpi-grid article>small{display:block;margin-top:3px;color:#626e82;font-size:11px}
.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(245px,.85fr);gap:13px;margin-top:14px;align-items:start}
.admin-panel{overflow:hidden;background:#fff;border:1px solid #e7ebf2;border-radius:6px}
.admin-panel-heading{min-height:60px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #edf0f5}
.admin-panel-heading h2{margin:0;color:#17253c;font:700 14px var(--font-head)}
.admin-panel-heading p{margin:4px 0 0;color:#626f82;font-size:13px}
.admin-panel-heading>a{color:#94600a;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.admin-batch-list article{min-height:63px;padding:9px 12px;display:grid;grid-template-columns:36px minmax(100px,1fr) 82px 48px;align-items:center;gap:9px;border-bottom:1px solid #f0f2f6}
.admin-batch-list article:last-child{border-bottom:0}
.batch-date-box{width:34px;height:39px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eff4ff;border-radius:3px}
.batch-date-box strong{color:#1b2940;font:700 15px var(--font-head)}
.batch-date-box small{color:#96640d;font:700 11px var(--font-mono)}
.batch-admin-info{min-width:0}
.batch-admin-info strong,.batch-admin-info small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.batch-admin-info strong{color:#25334a;font-size:12px}
.batch-admin-info small{margin-top:4px;color:#626d80;font:600 11px var(--font-mono)}
.batch-progress>span{display:block;margin-bottom:5px;color:#526178;font:600 12px var(--font-mono)}
.batch-progress>div{height:4px;overflow:hidden;background:#e9eef5;border-radius:4px}
.batch-progress>div i{height:100%;display:block;background:#e9a323}
.mini-action{display:flex;align-items:center;gap:2px;color:#4d607c;font-size:12px;font-weight:700;text-decoration:none}
.mini-action .material-symbols-outlined{font-size:14px}
.review-panel{grid-column:2;grid-row:1}
.review-item{min-height:49px;padding:8px 11px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f1f3f7}
.review-avatar{width:27px;height:27px;flex:none;display:grid;place-items:center;border-radius:50%;background:#ffedc9;color:#77500e;font:700 12px var(--font-head)}
.review-item>div{min-width:0;flex:1}
.review-item strong,.review-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-item strong{color:#27354a;font-size:12px}
.review-item small{margin-top:4px;color:#616d80;font-size:11px}
.review-new{padding:4px 5px;background:#fff2d7;border-radius:2px;color:#945e00;font:700 11px var(--font-head)}
.shortcut-panel{grid-column:2}
.shortcut-panel>a{min-height:38px;padding:0 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #f0f2f6;color:#4d5c73;font-size:12px;font-weight:600;text-decoration:none}
.shortcut-panel>a:hover{background:#f8faff;color:#1b2b45}
.shortcut-panel>a>i{font-size:16px;color:#946209}
.shortcut-panel>a>span{margin-left:auto;color:#616e80}
.admin-empty{padding:24px 15px;text-align:center;color:#626e80;font-size:12px}
.admin-page{padding-top:35px!important}
.admin-page-head{padding:0 0 17px;border-bottom:1px solid #e3e8f0}
.admin-page-head h1{font-size:25px!important}
.admin-table-wrap{box-shadow:0 1px 5px #0f172a06}
.attendance-filter{margin:18px 0;padding:15px;display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #e5eaf1;border-radius:5px}
.attendance-filter label{display:grid;gap:6px;color:#526179;font-size:12px;font-weight:700}
.attendance-filter select,.attendance-filter input,.attendance-table select{min-height:36px;padding:7px 9px;border:1px solid var(--input-border);border-radius:3px;background:#fff;color:#293850;font:15px var(--font-body)}
.attendance-context{display:flex;justify-content:space-between;padding:12px 14px;background:#eaf1fd;color:#23334e;font-size:13px}
.attendance-context span{color:#5f6d84}
.attendance-save{margin-top:15px}
.attendance-table select{min-width:135px}
.admin-content .error-page{min-height:50vh}
.admin-content .form-error{margin:15px 0}
@media(max-width:1000px){
.admin-dashboard-grid{grid-template-columns:1fr}
.review-panel,.shortcut-panel{grid-column:1;grid-row:auto}
.admin-kpi-grid{grid-template-columns:repeat(2,1fr)}
.admin-welcome-card{align-items:flex-start;flex-direction:column}
.welcome-actions{flex-wrap:wrap}
}
@media(max-width:680px){
.admin-topbar{height:55px;padding:0 10px;gap:7px}
.admin-topbar-title{font-size:11px;padding:6px}
.admin-top-status{display:none}
.admin-profile strong{font-size:12px}
.admin-profile small{font-size:11px}
.admin-profile-avatar{width:26px;height:26px}
.admin-dashboard{padding:12px 10px 24px}
.admin-welcome-card{padding:15px}
.admin-welcome-card h1{font-size:18px}
.welcome-health{flex-direction:column;gap:6px}
.welcome-actions a{font-size:12px}
.admin-kpi-grid{gap:7px}
.admin-kpi-grid article{min-height:99px;padding:10px}
.kpi-heading{font-size:12px}
.admin-kpi-grid article>strong{font-size:21px}
.admin-dashboard-grid{gap:8px}
.admin-batch-list article{grid-template-columns:33px minmax(65px,1fr) 54px}
.batch-progress{display:none}
.attendance-filter{align-items:stretch;flex-direction:column}
.attendance-context{gap:6px;flex-direction:column}
}
.service-form-page{min-height:calc(100vh - 65px);display:grid;grid-template-columns:.85fr 1.15fr;background:#131b2e}
.service-form-intro{padding:90px clamp(28px,7vw,100px);color:#fff}
.service-form-intro h1{margin:24px 0 15px;font:800 clamp(37px,4vw,53px)/1.17 var(--font-head);letter-spacing:-.05em}
.service-form-intro h1 em{font-style:normal;color:#ffb847}
.service-form-intro>p{max-width:430px;color:#bdc8d8;font-size:15px;line-height:1.8}
.service-contact-note{display:flex;align-items:center;gap:10px;margin-top:34px;padding:13px;border:1px solid #ffffff2c;color:#d2dae6;font-size:13px}
.service-contact-note .material-symbols-outlined{color:#ffb847}
.service-form-panel{align-self:center;justify-self:center;width:min(630px,calc(100% - 50px));margin:35px 0;padding:28px;background:white;border:1px solid #e4e9f0;border-radius:5px;box-shadow:0 12px 45px #0002}
.service-form-panel>h2{margin:0;color:#15233b;font:700 20px var(--font-head)}
.service-form-panel>p{margin:6px 0 20px;color:#626f83;font-size:14px}
.service-request-form{display:grid;gap:12px}
.service-request-form label{display:grid;gap:5px;color:#526077;font-size:12px;font-weight:700}
.service-request-form label small{display:inline;color:#616f81;font-weight:400}
.service-request-form input,.service-request-form select,.service-request-form textarea{width:100%;min-height:37px;padding:8px 10px;border:1px solid var(--input-border);border-radius:3px;background:#fff;color:#22314a;font:15px var(--font-body);outline:none}
.service-request-form textarea{resize:vertical;line-height:1.6}
.service-request-form input:focus,.service-request-form select:focus,.service-request-form textarea:focus{border-color:#344965;box-shadow:0 0 0 3px #0f172a10}
.service-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.service-success{min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.service-success>.material-symbols-outlined{font-size:48px;color:#0e7e58}
.service-success h2{margin:17px 0 8px;color:#15233b;font:700 21px var(--font-head)}
.service-success p{margin:0;color:#616d82;font-size:14px}
.service-success strong{margin:8px 0 23px;color:#8a5a06;font:700 16px var(--font-mono)}
.service-status-form{display:grid;min-width:135px;gap:5px}
.service-status-form select,.service-status-form input{max-width:170px;min-height:27px;padding:5px;border:1px solid var(--input-border);border-radius:2px;background:white;color:#44536a;font:15px var(--font-body)}
.service-admin-table td{vertical-align:top}
.service-admin-table td p{max-width:240px;margin:6px 0 0;color:#646f84;font-size:13px;line-height:1.5}
.admin-status.new{background:#fff2d7;border-color:#f8d78a;color:#875600}
.admin-status.reviewing{background:#eff4ff;border-color:#d6e3fc;color:#36547c}
.admin-status.completed{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
@media(max-width:760px){
.service-form-page{grid-template-columns:1fr}
.service-form-intro{padding:47px 24px 30px}
.service-form-intro h1{font-size:38px}
.service-form-panel{margin:0 auto 35px;width:calc(100% - 28px);padding:19px}
.service-form-row{grid-template-columns:1fr}
}
.correct-answer-label{max-width:190px;display:grid;gap:6px;color:#53627a;font-size:12px;font-weight:700}
.correct-answer-label select{padding:8px;border:1px solid #d5deea;background:white;border-radius:3px;font:13px var(--font-body)}
.certificate-page{min-height:74vh;padding:22px;background:#f4f6fc}
.certificate-tools{max-width:980px;margin:0 auto 12px;display:flex;justify-content:space-between}
.certificate-tools a{color:#4c5d76;font-size:13px;font-weight:700;text-decoration:none}
.certificate-tools button{padding:8px 12px;border:0;border-radius:3px;background:#131b2e;color:white;font:600 13px var(--font-body)}
.certificate-sheet{max-width:980px;min-height:620px;margin:auto;padding:17px;background:#fff;border:1px solid #d9dfeb;box-shadow:0 7px 24px #17243a10}
.certificate-border{min-height:586px;padding:32px 55px;display:flex;flex-direction:column;align-items:center;text-align:center;border:3px double #bd8b32;outline:1px solid #e9d4a6;outline-offset:-8px}
.certificate-border>img{width:220px;height:56px;object-fit:contain}
.certificate-overline{margin-top:8px;color:#866727;font:700 11px var(--font-head);letter-spacing:.2em}
.certificate-border h1{margin:27px 0 16px;color:#10203a;font:800 37px var(--font-head);letter-spacing:.16em}
.certificate-confirmation{margin:5px 0;color:#616e84;font:13px var(--font-head)}
.certificate-border h2{margin:10px 0;padding:0 25px 7px;border-bottom:1px solid #b88728;color:#10203a;font:700 27px var(--font-head)}
.certificate-border h3{max-width:600px;margin:12px 0;color:#8a600d;font:700 16px var(--font-head)}
.certificate-dates{width:75%;display:flex;justify-content:space-between;margin:22px 0;color:#626d80;font:700 11px var(--font-head);letter-spacing:.1em}
.certificate-dates span{display:grid;gap:7px}
.certificate-dates strong{color:#1c2b43;font:600 13px var(--font-mono);letter-spacing:0}
.certificate-footer{width:100%;margin-top:auto;display:grid;grid-template-columns:1fr 100px 1fr;align-items:end;gap:20px;text-align:left}
.certificate-footer>div:first-child{display:grid;gap:5px}
.certificate-footer small{color:#636e7f;font:700 11px var(--font-head);letter-spacing:.08em}
.certificate-footer>div:first-child strong{color:#182740;font:700 13px var(--font-mono)}
.certificate-footer .certificate-qr{display:flex;flex-direction:column;align-items:center;gap:4px;color:#182740}
.certificate-qr .material-symbols-outlined{font-size:55px}
.certificate-qr a{color:#75540d;font-size:12px;text-decoration:none}
.certificate-sign{text-align:center}
.certificate-sign i{height:1px;display:block;margin-bottom:7px;background:#66738a}
.verify-page{min-height:75vh;padding:54px 20px;background:#f4f6fc}
.verify-card{max-width:560px;margin:auto;padding:28px;background:#fff;border:1px solid #e1e7ef;border-radius:6px;box-shadow:0 6px 26px #10203a0a}
.verify-card>img{display:block;width:210px;height:55px;margin:0 auto 25px;object-fit:contain}
.verify-card>.academy-kicker{justify-content:center}
.verify-card h1{margin:12px 0 20px;text-align:center;color:#15233a;font:700 22px var(--font-head)}
.verify-form{display:flex;gap:8px}
.verify-form input{flex:1;min-width:0;height:39px;padding:0 10px;border:1px solid var(--input-border);border-radius:3px;font:15px var(--font-body)}
.verify-form button{padding:0 14px;border:0;border-radius:3px;background:#131b2e;color:white;font:600 13px var(--font-body)}
.verification-result{margin-top:20px;padding:17px;border:1px solid #b4e5cc;border-left:4px solid #10a16e;background:#effcf5}
.verification-result.invalid{border-color:#fecaca;border-left-color:#cf3636;background:#fff4f3}
.verification-result>span{float:right;color:#0e7b56}
.verification-result.invalid>span{color:#bd3030}
.verification-result>strong{display:block;color:#087149;font:700 13px var(--font-head)}
.verification-result.invalid>strong{color:#a42727}
.verification-result dl{display:grid;grid-template-columns:130px 1fr;gap:9px;margin:15px 0 0;font-size:12px}
.verification-result dt{color:#626f83}
.verification-result dd{margin:0;color:#1b2a41;font-weight:600}
.enrollment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.enrollment-actions .table-link{margin:0}
@media(max-width:620px){
.certificate-page{padding:12px}
.certificate-sheet{padding:8px}
.certificate-border{min-height:580px;padding:26px 20px}
.certificate-border h1{font-size:29px}
.certificate-border h2{font-size:21px}
.certificate-border h3{font-size:14px}
.certificate-dates{width:100%;gap:10px}
.certificate-footer{grid-template-columns:1fr 65px;gap:10px}
.certificate-sign{grid-column:1/-1}
.certificate-qr .material-symbols-outlined{font-size:44px}
.verify-card{padding:19px}
}
@media print{
.topbar,footer,.certificate-tools{display:none!important}
.certificate-page{padding:0;background:white}
.certificate-sheet{max-width:none;min-height:100vh;border:0;box-shadow:none}
.certificate-border{min-height:95vh}
.admin-sidebar,.admin-topbar{display:none!important}
.admin-main-column{margin:0!important}
}
.certificate-tools>a[href*='certificate-pdf']{padding:8px 12px;background:#b88b3b;color:#fff;border-radius:3px;text-decoration:none;font:600 13px var(--font-body)}
.certificate-qr img{display:block;image-rendering:pixelated}
.certificate-invalid-label{display:block;margin-top:12px;color:#a42727;font:700 13px var(--font-head)}
@media print{
.certificate-invalid-label{color:#a42727}
}
.admin-profile{position:relative;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}
.admin-profile>.material-symbols-outlined{color:#986107;font-size:17px}
.admin-profile-scrim{position:fixed;inset:0;z-index:89;background:#16233c22}
.admin-profile-panel{position:fixed;z-index:90;top:70px;right:18px;width:min(388px,calc(100vw - 28px));max-height:calc(100vh - 84px);overflow:auto;border:1px solid #d2deef;border-radius:23px;background:#fff;box-shadow:0 18px 50px #0c214044;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.18s ease}
.admin-profile-panel.open{transform:none;opacity:1;visibility:visible}
.profile-panel-head{position:relative;min-height:103px;padding:23px 18px;background:linear-gradient(120deg,var(--navy),var(--navy-2) 55%,#1f2c47);border-bottom:3px solid var(--amber-2);color:#fff}
.profile-panel-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border:0;border-radius:50%;background:#ffffff25;color:white;font-size:22px;cursor:pointer}
.profile-panel-user{display:flex;align-items:center;gap:13px}
.profile-panel-avatar{width:51px;height:51px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#fff3d6;color:#986107;font-size:22px;font-weight:800}
.profile-panel-user>div{display:grid;gap:4px}
.profile-panel-user strong{font-size:14px}
.profile-panel-user small{color:#cbd5e1;font-size:12px}
.profile-badges{display:flex;gap:5px}
.profile-badges span{padding:4px 7px;border-radius:12px;background:#ffffff2b;font-size:11px;font-weight:700}
.profile-badges span+span{background:#00a676}
.profile-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 15px;border-bottom:1px solid #e8edf5}
.profile-panel-actions>span,.profile-panel-actions form button{height:38px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #d4deeb;border-radius:12px;background:#fff;color:var(--navy-2);font-size:13px;font-weight:700}
.profile-panel-actions>span i,.profile-panel-actions form i{font-size:16px}
.profile-panel-actions form{margin:0}
.profile-panel-actions form button{width:100%;border-color:#ffc8c8;background:#fff5f5;color:#d82020;cursor:pointer}
.profile-panel-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #e4e9f2}
.profile-panel-tabs button{height:42px;border:0;border-bottom:2px solid transparent;background:#fff;color:#626e84;font-size:13px;font-weight:700;cursor:pointer}
.profile-panel-tabs button.active{border-color:var(--amber-2);color:var(--navy-2)}
.profile-panel-tabs button i{margin-right:5px;vertical-align:middle;font-size:14px}
.profile-panel-form{display:grid;gap:12px;padding:17px}
.profile-panel-form[hidden]{display:none}
.profile-panel-form label{display:grid;gap:6px;color:#17243a;font-size:13px;font-weight:700}
.profile-panel-form input{width:100%;height:44px;padding:0 12px;border:1px solid var(--input-border);border-radius:12px;background:#fff;color:#26374f;font:15px var(--font-body)}
.profile-panel-form input:focus{outline:2px solid var(--amber-2);outline-offset:1px}
.profile-submit,.profile-security{min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:11px;background:var(--amber-2);color:var(--navy);text-decoration:none;font-size:13px;font-weight:800;cursor:pointer}
.profile-submit:hover{background:#ffbd4b}
.profile-submit i,.profile-security i{font-size:16px}
.profile-security{border:1px solid #f1d9a6;background:#fff8e8;color:#8a5a00}
.profile-security[href*="security"]{background:#fff8e8}
@media(max-width:600px){
.admin-profile-panel{top:60px;right:8px;width:calc(100vw - 16px);max-height:calc(100vh - 70px)}
}
/* ---------- Системийн тохиргоо (views/admin/system-settings.php) ---------- */
.system-settings-page{max-width:1100px}
.system-settings-form{display:grid;gap:16px}
.system-login-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:20px;padding:16px 15px 18px}
.system-login-grid .admin-form{align-content:start;max-width:none;padding:0;border:0}
.system-login-preview{display:grid;align-content:center;gap:10px;min-height:220px;padding:28px;border-radius:8px;background:linear-gradient(150deg,var(--navy),var(--navy-2) 60%,#1d2943);color:#fff}
.system-login-preview>span{color:var(--amber-2);font:700 11px var(--font-head);letter-spacing:.14em}
.system-login-preview strong{display:block;font:800 26px/1.15 var(--font-head);letter-spacing:-.02em;overflow-wrap:anywhere}
.system-login-preview em{display:block;color:var(--amber-2);font-style:italic}
.system-login-preview em:empty{display:none}
.system-login-preview p{margin:0;color:#cbd5e1;font-size:14px;line-height:1.6}
.system-settings-options{display:grid;gap:16px;padding:16px 15px 18px}
.system-settings-options .checkbox-label{align-items:flex-start;gap:10px}
.system-settings-options .checkbox-label input{margin-top:3px;accent-color:var(--navy-2)}
.system-settings-options strong{display:block;color:#14223a;font-size:14px}
.system-settings-options small{display:block;margin-top:3px;color:#5b6779;font-size:13px;font-weight:500;line-height:1.5}
.system-settings-savebar{position:sticky;z-index:5;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid #e3e8f0;border-radius:8px;background:#ffffffed;box-shadow:0 9px 28px #0f172a14}
.system-settings-savebar>span{display:flex;align-items:center;gap:7px;color:#5b6779;font-size:13px}
.system-settings-savebar>span .material-symbols-outlined{color:#986107;font-size:18px}
@media(max-width:760px){
.system-login-grid{grid-template-columns:1fr}
.system-settings-savebar{flex-direction:column;align-items:stretch}
}
#bulk-certificates-form{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px 14px;border:1px solid #e3e9f2;border-radius:7px;background:#fff}
.certificate-bulk-download{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:0;border-radius:5px;background:var(--navy-2);color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.certificate-bulk-download i{font-size:16px}
.certificate-selection-count{color:#616e84;font-size:12px}
.admin-table td:first-child,.admin-table th:first-child{width:35px;text-align:center}
.certificate-select,#certificate-select-all{width:15px;height:15px;accent-color:var(--navy-2);cursor:pointer}
@media(max-width:720px){
#bulk-certificates-form{align-items:stretch;flex-direction:column}
}
.attendance-qr-card{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px 0;padding:15px 18px;border:1px solid #dce6f4;border-radius:8px;background:#fff}
.attendance-qr-card>div{max-width:560px}
.attendance-qr-card strong{color:#18304e;font-size:13px}
.attendance-qr-card p{margin:5px 0 0;color:#626f85;font-size:13px;line-height:1.5}
.attendance-qr-card img{width:145px;height:145px;object-fit:contain;border:1px solid #e6ebf2;border-radius:5px;background:#fff}
.attendance-qr-card>span{color:#616f85;font-size:12px}
.attendance-scan-page{min-height:calc(100vh - 130px);display:grid;place-items:center;padding:24px}
.attendance-scan-card{width:min(480px,100%);padding:28px;border:1px solid #dce5f0;border-radius:15px;background:#fff;box-shadow:0 12px 45px #18345d12;text-align:center}
.attendance-scan-icon{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 15px;border-radius:15px;background:#fff3d6;color:#986107;font-size:29px}
.attendance-scan-card h1{margin:8px 0;color:#16263e;font-size:22px}
.attendance-scan-card>p{color:#616e84;font-size:14px;line-height:1.7}
.attendance-scan-user{margin:16px 0;padding:11px;border-radius:8px;background:#f5f7fb;color:#263954;font-weight:700}
.attendance-scan-notice{margin:14px 0;padding:11px;border-radius:8px;background:#eaf8f0;color:#13734d;font-size:13px}
.attendance-scan-back{display:inline-block;margin-top:18px;color:var(--navy-2);font-size:13px;text-decoration:underline;text-underline-offset:2px}
@media(max-width:680px){
.attendance-qr-card{align-items:flex-start;flex-direction:column}
.attendance-qr-card img{align-self:center}
}
.org-training-matrix{margin-top:15px;overflow:hidden}
.org-matrix-count{color:#616f85;font-size:12px}
.org-requirement-form{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;align-items:end;gap:10px;padding:15px;border-bottom:1px solid #edf0f5}
.org-requirement-form label{display:grid;gap:5px;color:#53627a;font-size:12px;font-weight:700}
.org-requirement-form label small{display:inline;color:#626f83;font-size:11px;font-weight:500}
.org-requirement-form input,.org-requirement-form select{min-width:0;height:35px;padding:0 9px;border:1px solid var(--input-border);border-radius:4px;background:#fff;color:#31415a;font:15px var(--font-body)}
.org-requirement-form .academy-button{height:35px;white-space:nowrap}
.org-requirement-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px;padding:13px 15px}
.org-requirement-list>strong{grid-column:1/-1;color:#516078;font-size:12px}
.org-requirement-list form{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #e4eaf2;border-radius:5px;background:#fafbfe}
.org-requirement-list form span{min-width:0;overflow:hidden;color:#31415a;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.org-requirement-list form b{color:#986107}
.org-requirement-list form small{display:block;margin-top:3px;color:#616d80;font-size:11px}
.org-requirement-list form button{border:0;background:transparent;color:#aa4141;font-size:12px;cursor:pointer}
.org-matrix-table-wrap{max-width:100%;overflow:auto}
.org-matrix-table{min-width:760px}
.org-matrix-table th small,.org-matrix-table td small{display:block;max-width:170px;margin-top:3px;color:#606f83;font-size:11px;font-weight:500;line-height:1.4}
.org-matrix-status{display:inline-block;padding:4px 7px;border-radius:12px;background:#eef1f5;color:#636f84;font-size:11px;font-weight:700;white-space:nowrap}
.org-matrix-status.status-compliant{background:#e7f7ef;color:#168057}
.org-matrix-status.status-expired,.org-matrix-status.status-no_certificate,.org-matrix-status.status-not_enrolled{background:#fff0ee;color:#ad4638}
.org-matrix-status.status-in_progress{background:#fff5df;color:#8b671b}
.org-matrix-status.status-no_account{background:#edf2fa;color:#536987}
.org-matrix-status.status-out_of_scope{background:#f7f8fa;color:#626f81}
@media(max-width:850px){
.org-requirement-form{grid-template-columns:1fr 1fr}
.org-requirement-form label:first-of-type{grid-column:1/-1}
.org-requirement-form button{grid-column:1/-1}
}

/* ===================================================================
   UX давхарга: хүртээмж (WCAG 2.1 AA), гар утасны цэс, шинэ бүрэлдэхүүн.
   Дээрх дүрмүүдийг дарж бичдэг тул энэ хэсэг файлын төгсгөлд байна.
   =================================================================== */
button,input,select,textarea{font-family:inherit}
img,svg,video{max-width:100%}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:300;left:12px;top:-80px;padding:12px 18px;border-radius:4px;background:#fea619;color:#0f172a;font-weight:700;text-decoration:none;box-shadow:0 6px 20px #0f172a40;transition:top .15s}
.skip-link:focus{top:12px}
main:focus{outline:none}
/* Фокусын хүрээ: цайвар дэвсгэр дээр хүрэн-шар, бараан дэвсгэр дээр тод шар (3:1-ээс дээш) */
:is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
:is(.topbar,.academy-hero,.company-section,.site-footer,.auth-aside,.service-form-intro,.portal-sidebar,.welcome-card,.admin-sidebar-nav a.active) :is(a,button,input,select,textarea,[tabindex]):focus-visible,.admin-sidebar-nav a.active:focus-visible{outline-color:var(--focus-ring-dark)}
:is(input,select,textarea):focus-visible{outline-offset:1px;border-color:var(--navy)}
main p a:not([class]),.cms-public-page-content a{text-decoration:underline;text-underline-offset:2px}
.eyebrow{font:700 12px var(--font-head);letter-spacing:.16em;color:#5b6779}
.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border:1px solid transparent;border-radius:4px;font:700 15px var(--font-body);text-decoration:none;cursor:pointer}
.button.secondary{background:#fff;border-color:var(--input-border);color:var(--navy)}
.button.secondary:hover{background:#f1f5f9}
.academy-button{min-height:46px;cursor:pointer;border:0}
.academy-button.outline-dark{border:1px solid var(--input-border);background:#fff;color:var(--navy)}
.academy-button.outline-dark:hover{background:#f1f5f9}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- Нийтийн сайтын толгой: ≤900px-д гамбургер drawer ---------- */
.topbar{height:72px;gap:18px}
.brand{gap:12px;min-width:0;color:#fff}
.topbar .brand img,.brand img{width:40px;height:43px;max-height:none;flex:none}
.site-brand-copy strong{font-size:15px}
.site-nav{display:flex;align-items:center;gap:clamp(6px,1.2vw,20px)}
.site-nav>a{min-height:40px;display:inline-flex;align-items:center;padding:0 6px;border-radius:3px}
.topbar nav a.current{padding:0 12px}
.site-nav-actions{display:flex;align-items:center;gap:10px;margin-left:clamp(4px,1vw,12px)}
.site-nav-actions a{min-height:40px;display:inline-flex;align-items:center;gap:6px}
.topbar nav .nav-login{padding:0 14px;border:1px solid #ffffff4d;border-radius:3px}
.topbar nav .nav-cta{padding:0 16px}
.nav-cta .material-symbols-outlined{font-size:20px}
.nav-toggle,.nav-menu-toggle,.nav-drawer-close,.nav-scrim{display:none}
@media(max-width:1240px){.site-nav>a{padding:0 4px}.topbar nav a{font-size:14px}}
@media(min-width:1081px) and (max-width:1240px){.site-brand-copy small{display:none}}
@media(max-width:1080px){
.topbar{height:64px;padding:0 16px}
.nav-toggle{margin-left:auto;min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #ffffff4d;border-radius:4px;background:transparent;color:#fff;font-weight:700;font-size:15px;cursor:pointer;position:relative;z-index:62}
.nav-toggle .material-symbols-outlined{font-size:24px}
.site-nav-open .nav-toggle .material-symbols-outlined{font-size:0}
.site-nav-open .nav-toggle .material-symbols-outlined::after{content:'close';font-size:24px}
.js .site-nav{position:fixed;z-index:61;top:0;right:0;bottom:0;width:min(330px,88vw);flex-direction:column;align-items:stretch;gap:2px;padding:80px 16px 28px;background:#131b2e;box-shadow:-14px 0 40px #00000059;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}
.site-nav-open .site-nav{transform:none;visibility:visible;transition:transform .22s ease}
.js .site-nav>a{min-height:50px;padding:0 14px;font-size:17px}
.js .site-nav-actions{flex-direction:column;align-items:stretch;gap:10px;margin:18px 0 0;padding-top:18px;border-top:1px solid #ffffff26}
.js .site-nav-actions a{min-height:50px;justify-content:center;font-size:16px}
/* Хуудасны агуулгыг бүдгэрүүлнэ; толгой (z-index 20) дээрээ үлдэнэ */
.site-nav-open .site-nav-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:15;background:#0f172a99}
.no-js .topbar{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 16px}
.no-js .site-nav{flex-wrap:wrap}
}
@media(max-width:420px){.site-brand-copy strong{font-size:14px}.nav-toggle-label{display:none}.nav-toggle{padding:0 10px}}

/* ---------- Нүүр: hero, сертификат шалгах, үзүүлэлт ---------- */
.hero-copy h1 span{color:#ffb847}
.hero-verify{max-width:500px;margin-top:34px;padding:16px;border:1px solid #ffffff26;border-radius:6px;background:#ffffff0a}
.hero-verify label{display:flex;align-items:center;gap:8px;color:#e2e8f0;font:700 15px var(--font-head)}
.hero-verify label .material-symbols-outlined{color:#fbbf24;font-size:22px}
.hero-verify-row{display:flex;gap:8px;margin-top:10px}
.hero-verify input{flex:1;min-width:0;height:48px;padding:0 14px;border:1px solid #94a3b8;border-radius:4px;background:#0b1222;color:#fff;font:600 16px var(--font-mono);letter-spacing:.03em}
.hero-verify input::placeholder{color:#a3b1c4;font-family:var(--font-body);font-weight:400;letter-spacing:0}
.hero-verify button{min-height:48px;padding:0 20px;border:0;border-radius:4px;background:#fff;color:#0f172a;font:700 15px var(--font-body);cursor:pointer}
.hero-verify button:hover{background:#fde68a}
.hero-visual picture{display:block;width:100%;height:100%}
.academy-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));justify-content:stretch;gap:18px 32px;min-height:0;padding:26px clamp(16px,7vw,105px)}
.academy-stats>div{display:flex;flex-direction:column;gap:4px;padding-left:16px;border-left:3px solid var(--amber)}
.academy-stats strong{font-size:30px}
.academy-stats small{color:#4b5768;font-size:12px}

/* ---------- Каталог: шүүлтүүр, хайлт, карт ---------- */
.catalog-top h1{margin:17px 0 9px;font:800 clamp(30px,3.4vw,44px)/1.18 var(--font-head);letter-spacing:-.04em;color:var(--navy)}
.catalog-top h1 span{color:#8e5b06}
.catalog-top h2,.catalog-top h1{overflow-wrap:break-word}
.catalog-controls{flex-wrap:wrap}
.filter-tabs{flex-wrap:wrap}
.filter-tabs a{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;font-size:14px;color:#3f4b5c}
.filter-tabs a:hover{background:#eef2f7;color:var(--navy)}
.filter-tabs a.active{background:var(--navy);color:#fff}
.filter-tabs a span{margin-left:6px;color:#8a5a00;font-weight:700}
.filter-tabs a.active span{color:#ffd071}
.catalog-search{width:300px;height:46px;padding:0 4px 0 14px;border-color:var(--input-border);color:#4b5768}
.catalog-search input{height:100%;background:transparent;font-size:15px}
.catalog-search input:focus-visible{outline:none}
.catalog-search:focus-within{outline:3px solid var(--focus-ring);outline-offset:2px}
.catalog-search button{width:38px;height:38px;flex:none;display:grid;place-items:center;border:0;border-radius:3px;background:var(--navy);color:#fff;cursor:pointer}
.catalog-search button .material-symbols-outlined{font-size:20px}
.catalog-result-count{margin:14px 0 0;color:#475569;font-size:14px}
.catalog-result-count a{margin-left:8px;color:var(--navy);font-weight:700}
.catalog-more{min-height:40px;font-size:14px}
.academy-course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.academy-course-card{position:relative;display:flex;flex-direction:column}
.academy-course-card:has(.course-link:focus-visible){outline:3px solid var(--focus-ring);outline-offset:3px}
.course-body{flex:1;display:flex;flex-direction:column;padding:18px 18px 16px}
.course-meta{flex-wrap:wrap;gap:6px 14px}
.course-meta span{font-size:13px}
.course-meta .material-symbols-outlined{font-size:17px}
.course-body h3,.course-body .course-title{min-height:0;margin:14px 0 8px;color:#101d33;font:700 18px/1.38 var(--font-head);letter-spacing:-.01em}
.course-link{color:inherit;text-decoration:none}
.course-link::after{content:'';position:absolute;inset:0;z-index:1}
.course-link:hover{text-decoration:underline;text-underline-offset:3px}
.course-body p{min-height:0;flex:1;font-size:14px;line-height:1.6}
.course-price{margin-top:14px;color:var(--navy);font:800 19px var(--font-head);letter-spacing:-.01em}
.course-foot{gap:10px;margin-top:12px}
.course-status{font-size:12px;line-height:1.4}
.course-status.is-planned i{background:#94a3b8}
.course-arrow{width:38px;height:38px;flex:none;display:grid;place-items:center;border:1px solid #cbd5e1;border-radius:3px;color:var(--navy);transition:.2s}
.academy-course-card:hover .course-arrow{background:var(--amber-2);border-color:var(--amber-2)}
.course-tag,.course-code{top:14px;padding:6px 9px;font-size:11px;z-index:2}
.course-code{font-size:12px}
/* Сургалтын ангиллын дүрслэл: гэрэл зургийн оронд градиент + зураасан тор + icon */
.course-photo{height:168px;position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%)}
.course-photo::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff14 1px,transparent 1px),linear-gradient(90deg,#ffffff14 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(115deg,#000 15%,transparent 80%);mask-image:linear-gradient(115deg,#000 15%,transparent 80%)}
.course-photo::after{content:'';position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(-45deg,var(--amber) 0 10px,#0f172a 10px 20px)}
.course-photo .course-photo-icon{position:absolute;right:22px;bottom:26px;width:86px;height:86px;display:grid;place-items:center;border-radius:50%;background:#ffffff17;box-shadow:0 0 0 12px #ffffff0b,0 0 0 26px #ffffff06;color:#fde68a;font-size:50px}
.photo-height{background:radial-gradient(circle at 82% 68%,#60a5fa38,transparent 55%),linear-gradient(135deg,#1e3a5f 0%,#0f172a 100%)}
.photo-hse{background:radial-gradient(circle at 82% 68%,#34d39933,transparent 55%),linear-gradient(135deg,#115e59 0%,#0b2530 100%)}
.photo-hse .course-photo-icon{color:#a7f3d0}
.photo-fire{background:radial-gradient(circle at 82% 68%,#fb923c40,transparent 55%),linear-gradient(135deg,#9a3412 0%,#2a0f12 100%)}
.photo-fire .course-photo-icon{color:#fed7aa}
.photo-skill{background:radial-gradient(circle at 82% 68%,#fbbf2433,transparent 55%),linear-gradient(135deg,#3f3f46 0%,#18181b 100%)}
.empty-catalog{padding:28px 20px;text-align:center}
.empty-catalog p{font-size:14px}
.empty-catalog .academy-button{margin-top:8px}

/* ---------- Нүүр: удахгүй эхлэх ангиуд ---------- */
.upcoming-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.upcoming-inner{max-width:1440px;margin:auto;padding:64px clamp(16px,7vw,105px) 70px}
.upcoming-inner h2{margin:17px 0 0;font:700 clamp(26px,3vw,36px)/1.22 var(--font-head);letter-spacing:-.04em;color:var(--navy)}
.upcoming-inner h2 span{color:#8e5b06}
.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.upcoming-table{width:100%;margin-top:24px;border-collapse:collapse;border:1px solid var(--line)}
.upcoming-table th{padding:11px 16px;background:#f1f5f9;color:#475569;font:700 12px var(--font-head);letter-spacing:.06em;text-align:left;text-transform:uppercase}
.upcoming-table td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:middle}
.upcoming-table td:first-child{width:92px}
.upcoming-date{width:60px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:4px;background:#eff4ff}
.upcoming-date strong{color:var(--navy);font:800 23px/1 var(--font-head)}
.upcoming-date small{margin-top:4px;color:#8a5a00;font:700 11px var(--font-head)}
.upcoming-title{position:relative;color:var(--navy);font:700 16px/1.4 var(--font-head);text-decoration:none}
.upcoming-title:hover{text-decoration:underline}
.upcoming-table td small{display:block;margin-top:4px;color:#475569;font-size:13px}
.upcoming-seats,.upcoming-seats-head{text-align:right!important;white-space:nowrap}
.seat-badge{display:inline-block;padding:5px 10px;border:1px solid #a7f3d0;border-radius:3px;background:#ecfdf5;color:#065f46;font:700 12px var(--font-head)}
.seat-badge.is-full{border-color:#fecaca;background:#fef2f2;color:#991b1b}

/* ---------- Нүүр: байгууллагын хэсэг ---------- */
.company-points{margin:0;padding:0;list-style:none}
.company-points li{border-bottom:1px solid #ffffff2c}
.company-points a{min-height:92px;display:grid;grid-template-columns:42px 1fr 24px;align-items:center;gap:16px;padding:14px 6px;color:#fff;text-decoration:none;transition:background .15s}
.company-points a:hover{background:#ffffff0a}
.company-points a>.material-symbols-outlined:first-child{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff35;color:#ffbd4b;font-size:21px}
.company-points strong{display:block;margin-bottom:4px;font:600 16px var(--font-head)}
.company-points small{display:block;color:#b8c3d2;font-size:14px;line-height:1.6}
.company-points .point-arrow{color:#d3dce8;font-size:19px}

/* ---------- Footer ---------- */
.site-footer .footer-heading{margin:6px 0 4px;color:#ffcf79;font:700 12px var(--font-head);letter-spacing:.12em}
.footer-links{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.footer-links a,.footer-main>div>p a{min-height:34px;display:inline-flex;align-items:center;color:#cbd5e1;font-size:14px;text-decoration:none}
.footer-links a:hover,.footer-main>div>p a:hover{color:#fff;text-decoration:underline}
.footer-main>div>p{align-items:center;font-size:14px;color:#cbd5e1}
.footer-brand img{width:220px;height:55px}
.footer-brand p{font-size:14px;color:#b6c1d1}
.footer-bottom{font-size:11px;color:#a3b0c2}

/* ---------- Сургалтын дэлгэрэнгүй ---------- */
.detail-breadcrumb{flex-wrap:wrap;gap:4px 9px;font-size:14px}
.detail-breadcrumb a{min-height:32px;display:inline-flex;align-items:center;color:#3f4b5c}
.detail-breadcrumb a:hover{color:var(--navy);text-decoration:underline}
.detail-enroll{width:330px;min-width:0;flex:none;align-self:flex-start;padding:22px;border-radius:4px;background:#f8fafc;border-color:#cbd5e1}
.detail-price-label{display:block;color:#475569;font:700 12px var(--font-head);letter-spacing:.08em;text-transform:uppercase}
.detail-enroll strong.detail-price{margin-top:4px;color:var(--navy);font:800 28px/1.2 var(--font-head);letter-spacing:-.02em}
.detail-enroll>span{margin:8px 0 16px;color:#3f4b5c;font-size:14px;line-height:1.55}
.detail-enroll>.academy-button{width:100%}
.detail-enroll-alt{margin:12px 0 0;color:#475569;font-size:14px}
.detail-enroll-alt a,.batch-no-dates a{color:var(--navy);font-weight:700}
.batch-select{min-height:46px;font-size:15px}
.batch-select-label{font-size:13px;color:#3f4b5c}
.batch-no-dates{font-size:14px;color:#475569}
.detail-metrics small{color:#4b5768}
.detail-metrics strong{font-size:15px}
.detail-aside-title{margin:0 0 15px;color:var(--navy);font:700 17px var(--font-head)}
.batch-row span{font-size:14px}
.batch-row small{font-size:13px;color:#475569}
.journey{padding:38px 0 6px;border-bottom:1px solid var(--line)}
.journey h2{margin:12px 0 22px;color:var(--navy);font:700 23px var(--font-head)}
.journey-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:0 0 30px;padding:0;list-style:none}
.journey-steps li{position:relative;display:flex;flex-direction:column;gap:12px;padding-right:14px}
.journey-steps li:not(:last-child)::after{content:'';position:absolute;top:22px;left:54px;right:10px;height:2px;background:repeating-linear-gradient(90deg,#94a3b8 0 6px,transparent 6px 11px)}
.journey-icon{position:relative;z-index:1;width:46px;height:46px;flex:none;display:grid;place-items:center;border:2px solid var(--amber);border-radius:50%;background:#fff7e6;color:#8a5a00}
.journey-icon .material-symbols-outlined{font-size:22px}
.journey-copy strong{display:block;color:var(--navy);font:700 16px var(--font-head)}
.journey-number{color:#8a5a00}
.journey-copy small{display:block;margin-top:4px;color:#475569;font-size:13px;line-height:1.5}
@media(max-width:1000px){.journey-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}.journey-steps li:nth-child(3)::after{display:none}}
@media(max-width:900px){.detail-head{flex-direction:column}.detail-enroll{width:100%;max-width:520px}}
@media(max-width:560px){.journey-steps{grid-template-columns:1fr;row-gap:0}.journey-steps li{flex-direction:row;align-items:flex-start;gap:14px;padding:0 0 20px}.journey-steps li:nth-child(3)::after{display:block}.journey-steps li:not(:last-child)::after{top:48px;bottom:2px;left:22px;right:auto;width:2px;height:auto;background:repeating-linear-gradient(180deg,#94a3b8 0 6px,transparent 6px 11px)}}

/* ---------- Нэвтрэх / бүртгэл / зөвшөөрөл ---------- */
.auth-form label{font-size:14px;color:#2c3a50}
.auth-form input{height:46px}
.auth-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.auth-forgot{margin:0;text-align:right}
.auth-switch a{min-height:32px;display:inline-flex;align-items:center}
.consent-check{display:flex!important;align-items:flex-start;gap:10px!important;color:#334155!important;font-size:14px!important;font-weight:500!important;line-height:1.55}
.auth-form .consent-check input,.service-request-form .consent-check input,.consent-check input[type=checkbox]{width:22px;height:22px;min-height:0;flex:none;margin:0;padding:0;accent-color:var(--navy);cursor:pointer}
.consent-check a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.required-mark{color:#b91c1c}
.dev-login{margin-top:24px;padding:20px;border:1px dashed #94a3b8;border-radius:6px;background:#f8fafc}
.dev-login p{margin:8px 0 0;color:#475569;font-size:14px}
.dev-login-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:12px}
.dev-login-grid form{margin:0}
.dev-login-grid .button{width:100%;justify-content:space-between;font-size:14px}
.dev-login-accounts{margin-top:16px;padding-top:12px;border-top:1px dashed #cbd5e1}
.dev-login-group{margin-top:10px}
.dev-login-group summary{cursor:pointer;min-height:32px;display:flex;align-items:center;gap:6px;color:#1e293b;font-weight:700;font-size:14px}
.dev-login-group summary span{color:#64748b;font-weight:500}
.dev-login-users .button{min-height:48px;text-align:left}
.dev-login-users .button.dev-login-company{border-color:#d97706;background:#fffbeb}
.dev-login-users .button b{display:inline-block;margin-right:4px;padding:1px 6px;border-radius:4px;background:#d97706;color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em}
.dev-login-users .button small{display:block;margin-top:2px;color:#64748b;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.service-request-form label{font-size:14px;color:#2c3a50}
.service-request-form input,.service-request-form select,.service-request-form textarea{min-height:44px}
.service-form-panel>p{font-size:14px}
.service-contact-note{font-size:14px}

/* ---------- Сертификат шалгах ---------- */
.verify-form{display:block}
.verify-label{display:block;margin-bottom:6px;color:#2c3a50;font:700 14px var(--font-head)}
.verify-row{display:flex;gap:8px}
.verify-form input{height:48px;padding:0 12px;font:600 16px var(--font-mono);letter-spacing:.02em}
.verify-form input::placeholder{font-family:var(--font-body);font-weight:400;color:#64748b}
.verify-form button{min-height:48px;padding:0 20px;font:700 15px var(--font-body);cursor:pointer}
.verify-hint{margin:8px 0 0;color:#475569;font-size:13px}
.verification-result>strong{font-size:14px}
.verification-result dl{grid-template-columns:minmax(110px,auto) 1fr;font-size:14px}
.verification-result p{margin:8px 0 0;color:#7f1d1d;font-size:14px}
.verification-result p a{color:inherit;font-weight:700}

/* ---------- Алдааны хуудас ---------- */
.error-page{max-width:720px;min-height:60vh;margin:0 auto;padding:80px 20px 96px;text-align:center}
.error-code{color:#b45309;font:800 clamp(72px,14vw,128px)/1 var(--font-head);letter-spacing:-.05em}
.error-page .academy-kicker{justify-content:center;margin-top:18px}
.error-page h1{margin:14px 0 10px;color:var(--navy);font:700 clamp(24px,4vw,34px)/1.25 var(--font-head)}
.error-page p{max-width:520px;margin:0 auto 26px;color:#475569;font-size:16px}
.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.error-page .academy-button{margin:0}
.site-maintenance-links a{color:var(--navy);font-weight:700}

/* ---------- Мэдэгдлийн хонх (админ + хувийн орчин) ---------- */
.notification-bell{position:relative;width:44px;height:44px;flex:none;display:inline-grid;place-items:center;border:1px solid #d5dde8;border-radius:50%;background:#fff;color:#334155;text-decoration:none}
.notification-bell:hover{background:#f1f5f9;color:var(--navy)}
.notification-bell .material-symbols-outlined{font-size:23px}
.notification-count{position:absolute;top:-4px;right:-5px;min-width:21px;height:21px;padding:0 5px;display:grid;place-items:center;border:2px solid #fff;border-radius:11px;background:#b91c1c;color:#fff;font:700 11px/1 var(--font-body)}

/* ---------- Админ: tablet/гар утсанд хажуугийн самбар drawer болно ---------- */
.admin-sidebar-brand img{width:34px;height:36px}
.admin-brand-copy strong{font-size:14px}
.admin-sidebar-nav a{min-height:40px}
.admin-sidebar-footer button{height:42px}
.admin-topbar{gap:14px}
.admin-topbar .notification-bell{margin-left:auto}
.admin-topbar .notification-bell+.admin-profile{margin-left:0}
.admin-profile{min-height:44px;padding:0 6px;border-radius:6px}
.admin-profile:hover{background:#f1f5f9}
.nav-menu-toggle{width:44px;height:44px;flex:none;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--navy);cursor:pointer}
.nav-menu-toggle .material-symbols-outlined{font-size:24px}
.nav-drawer-close{width:40px;height:40px;flex:none;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--navy);cursor:pointer}
@media(max-width:1000px){
.admin-sidebar{width:min(300px,86vw);z-index:60;transform:translateX(-100%);visibility:hidden;box-shadow:10px 0 34px #0f172a33;transition:transform .22s ease,visibility 0s linear .22s}
.admin-nav-open .admin-sidebar{transform:none;visibility:visible;transition:transform .22s ease}
.admin-main-column{margin-left:0}
.admin-topbar .nav-menu-toggle{display:inline-flex}
.admin-sidebar .nav-drawer-close{display:inline-flex;position:absolute;top:13px;right:12px}
.admin-nav-open .nav-scrim:not([hidden]){display:block;position:fixed;inset:0;z-index:50;background:#0f172a80}
}
@media(max-width:620px){.admin-topbar{height:60px;padding:0 12px;gap:8px}.admin-topbar-title{display:none}.admin-profile>span:last-child{max-width:120px}.admin-profile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* Хүснэгт: хуудас бүхэлдээ биш, зөвхөн хүрээ дотроо хэвтээ гүйлгэнэ */
.admin-content,.portal-content,.admin-page,.dashboard-page{min-width:0}
.admin-table-wrap,.org-matrix-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-table-wrap.is-scrollable{background:linear-gradient(90deg,#fff 30%,#fff0) left/40px 100% no-repeat local,linear-gradient(270deg,#fff 30%,#fff0) right/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,#0f172a24,#0000) left/12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,#0f172a24,#0000) right/12px 100% no-repeat scroll,#fff}
.admin-table td:first-child,.admin-table th:first-child{width:auto;text-align:left}
.admin-table:has(#certificate-select-all) td:first-child,.admin-table:has(#certificate-select-all) th:first-child{width:44px;min-width:44px;text-align:center}
.certificate-select,#certificate-select-all{width:20px;height:20px}
/* Хүрэх талбай ≥32px */
.table-link{min-height:32px;display:inline-flex;align-items:center;padding:0 4px}
.mini-action{min-height:32px;padding:0 4px;font-size:13px}
.admin-panel-heading>a,.enrollment-list-head a,.attendance-scan-back,.certificate-tools a{min-height:32px;display:inline-flex;align-items:center}
.service-status-form select,.service-status-form input{min-height:36px}
.attendance-filter select,.attendance-filter input,.attendance-table select{min-height:40px}
.profile-panel-close{width:38px;height:38px}
.org-requirement-form input,.org-requirement-form select,.org-requirement-form .academy-button{height:40px}
.org-requirement-list form button{min-height:32px;padding:0 8px}
/* Гар утсанд iOS автоматаар томруулахгүйн тулд оролтын талбар ≥16px */
@media(max-width:620px){input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{font-size:16px!important}}
/* Нарийн дэлгэцийн нарийвчлал */
.upcoming-seats-inline{display:none}
.detail-description aside .detail-aside-title{margin:0 0 15px;color:var(--navy);font:700 17px var(--font-head)}
.admin-profile>span:nth-of-type(2){display:flex;flex-direction:column;gap:2px;min-width:0}
@media(max-width:620px){
.hero-bottom{letter-spacing:.08em}
.hero-bottom span:last-child{display:none}
.hero-buttons .academy-button{flex:1 1 auto}
.catalog-top{flex-direction:column;align-items:flex-start;gap:12px}
.catalog-more{margin-top:0}
.upcoming-inner{padding:48px 16px 54px}
.upcoming-table th:last-child,.upcoming-table td:last-child{display:none}
.upcoming-table td{padding:12px 10px}
.upcoming-table td:first-child{width:72px}
.upcoming-date{width:54px;height:54px}
.upcoming-seats-inline{display:inline}
.academy-stats strong{font-size:26px}
}
@media(max-width:480px){.admin-profile>span:nth-of-type(2){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.academy-course-card:has(.course-link:focus-visible) .course-link{outline:none}
.admin-top-status>span{min-height:32px;font-size:12px}
.admin-top-status>span .material-symbols-outlined{font-size:16px}
.field-label small{display:inline;font-size:13px;font-weight:400;color:#475569}

/* Байгууллагын жагсаалт: ангийн жагсаалтын 4 баганат grid-ийг (дүрс, огноо) өвлөхгүй — нэр тасрахаас сэргийлнэ */
.admin-org-list article{grid-template-columns:minmax(0,1fr) auto}
.admin-org-list article>span{color:#59677d;font-size:12px;font-weight:600;white-space:nowrap}

/* ---------- Сургалтын каталог (admin-trainings, сургалтын маягт) ---------- */
.admin-status.draft{background:#fff8e8;border-color:#f1d9a6;color:#8a5a00}
.catalog-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.catalog-kpis article{display:grid;gap:3px;padding:14px 16px;border:1px solid #e7ebf2;border-radius:6px;background:#fff}
.catalog-kpis small{color:#5b6779;font:700 11px var(--font-head);letter-spacing:.08em;text-transform:uppercase}
.catalog-kpis strong{color:var(--navy);font:800 26px/1.1 var(--font-head)}
.catalog-kpis span{color:#6b7689;font-size:12px}
.catalog-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.catalog-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:3px;border:1px solid #e3e8f0;border-radius:7px;background:#fff}
.catalog-tabs a{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-radius:5px;color:#59677d;font-size:13px;font-weight:700;text-decoration:none}
.catalog-tabs a span{min-width:20px;padding:1px 6px;border-radius:9px;background:#eef1f6;color:#4b5a70;font-size:11px;text-align:center}
.catalog-tabs a:hover{background:#f1f4f9;color:var(--navy)}
.catalog-tabs a.active{background:var(--navy-2);color:#fff}
.catalog-tabs a.active span:not(.material-symbols-outlined){background:var(--amber-2);color:var(--navy)}
.catalog-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.catalog-filter input,.catalog-filter select{height:40px;padding:0 11px;border:1px solid var(--input-border);border-radius:4px;background:#fff;color:#16243a;font:14px var(--font-body)}
.catalog-filter input{width:240px}
.catalog-filter .academy-button{min-height:40px}
.catalog-table td{vertical-align:top}
.catalog-table td small{display:block;margin-top:3px;color:#667287;font:12px var(--font-body)}
.catalog-price{white-space:nowrap}
.catalog-title{color:var(--navy);font-weight:700;text-decoration:none}
.catalog-title:hover{text-decoration:underline;text-underline-offset:2px}
.catalog-flag{display:inline-block;padding:2px 7px;border-radius:4px;background:#eef1f6;color:#5b6779;font-size:12px;font-weight:600}
.catalog-flag.is-warning{background:#fff3d6;color:#8a5a00}
.catalog-content{white-space:nowrap}
.catalog-content a{display:inline-flex;align-items:center;gap:3px;margin-right:10px;color:#3d4b60;font-weight:700;text-decoration:none}
.catalog-content a:hover{color:var(--navy)}
.catalog-content .material-symbols-outlined{color:#986107;font-size:17px}
.catalog-public{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:4px;border-radius:4px;color:#59677d;vertical-align:middle;text-decoration:none}
.catalog-public:hover{background:#f1f4f9;color:var(--navy)}
.catalog-public .material-symbols-outlined{font-size:16px}
.catalog-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;min-width:150px}
/* Нүдийг flex болговол мөрийн хүрээ, толгойн дэвсгэр тасардаг: td нь table-cell хэвээр, үйлдлүүд мөрөөр урсана. */
td.catalog-actions{display:table-cell}
td.catalog-actions>:is(a,form,button){margin:2px 10px 2px 0}
.catalog-actions .inline-form{display:inline}
@media(max-width:900px){.catalog-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filter input{width:100%}.catalog-filter{width:100%}}

.training-editor{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px}
.training-form{display:grid;gap:14px;min-width:0}
.training-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:16px 15px 18px}
.training-fields.training-fields-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.training-fields label,.training-attendance{display:grid;align-content:start;gap:6px;color:#3d4b60;font-size:13px;font-weight:700}
.training-fields .span-2{grid-column:1/-1}
.training-fields small,.training-attendance small{color:#667287;font-size:12px;font-weight:500;line-height:1.45}
.training-form input:not([type=checkbox]),.training-form select,.training-form textarea{width:100%;padding:10px 11px;border:1px solid var(--input-border);border-radius:4px;background:#fff;color:#16243a;font:15px var(--font-body);outline:none}
.training-form input:focus,.training-form select:focus,.training-form textarea:focus{border-color:#3c506d;box-shadow:0 0 0 3px #fea61933}
.training-form textarea{resize:vertical;line-height:1.6}
.training-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;padding:16px 15px 18px}
.training-rules .checkbox-label{align-items:flex-start;gap:10px}
.training-rules .checkbox-label input{margin-top:2px;accent-color:var(--navy-2)}
.training-rules strong{display:block;color:#14223a;font-size:14px}
.training-rules .checkbox-label small{display:block;margin-top:2px;color:#667287;font-size:12px;line-height:1.45}
.training-attendance>span{display:flex;align-items:center;gap:6px;color:#3d4b60;font-weight:600}
.training-attendance input{max-width:110px}
.training-savebar{position:sticky;z-index:5;bottom:10px;display:flex;justify-content:flex-end;gap:10px;padding:10px 14px;border:1px solid #e3e8f0;border-radius:8px;background:#ffffffed;box-shadow:0 9px 28px #0f172a14}
.training-aside{position:sticky;top:84px;display:grid;gap:12px}
.training-aside-title{margin:0;color:#5b6779;font:700 11px var(--font-head);letter-spacing:.1em;text-transform:uppercase}
.training-preview{pointer-events:none}
.training-preview .course-title{margin:8px 0 6px;font-size:17px}
.training-preview p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:1.5em}
.training-preview .course-meta b{font-weight:inherit}
.training-preview-status{margin:0;color:#5b6779;font-size:12px}
.training-links{display:grid;border:1px solid #e7ebf2;border-radius:6px;background:#fff}
.training-links a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #eef1f5;color:var(--navy);font-size:13px;font-weight:700;text-decoration:none}
.training-links a:last-child{border-bottom:0}
.training-links a:hover{background:#f7f9fc}
.training-links a>.material-symbols-outlined{color:#986107;font-size:19px}
.training-links small{display:block;color:#667287;font-size:12px;font-weight:500}
.training-duplicate .academy-button{width:100%}
@media(max-width:1100px){.training-editor{grid-template-columns:1fr}.training-aside{position:static}}
@media(max-width:720px){.training-fields,.training-fields.training-fields-4,.training-rules{grid-template-columns:1fr}}

/* Нийтийн сургалтын хуудас: сургалтын үр дүн, хэнд зориулсан */
.detail-subtitle{margin:26px 0 10px;color:var(--navy);font:700 17px var(--font-head)}
.detail-outcomes{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.detail-outcomes li{display:flex;align-items:flex-start;gap:9px;color:#3f4b5c;font-size:15px;line-height:1.6}
.detail-outcomes .material-symbols-outlined{flex:none;margin-top:2px;color:#c47f00;font-size:19px}
.detail-description aside{align-self:start}

/* ---------- Сургалтын анги, хуваарь (admin-batches, ангийн маягт) ---------- */
.admin-status.scheduled{background:#fff8e8;border-color:#f1d9a6;color:#8a5a00}
.admin-status.cancelled{background:#fdecec;border-color:#f5c2c2;color:#9b1c1c}
.batch-toolbar-left{display:flex;flex-wrap:wrap;gap:8px}
.catalog-tabs a .material-symbols-outlined{font-size:17px}
.batch-table tr.is-cancelled td{color:#7b8596}
.batch-table tr.is-cancelled .catalog-title{color:#5b6779;text-decoration:line-through}
.batch-seats{width:110px;height:6px;margin:2px 0 5px;overflow:hidden;border-radius:4px;background:#e8edf3}
.batch-seats span{display:block;height:100%;border-radius:4px;background:var(--amber-2)}
.batch-seats span.is-full{background:#1f9d6b}
.batch-trainers{min-width:150px}
.batch-inline{margin-top:4px}
.batch-inline>summary{display:inline;cursor:pointer;color:var(--navy-2);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.batch-inline[open]>summary{color:#986107}
.batch-inline form{display:grid;gap:7px;margin-top:8px;padding:10px;border:1px solid #e3e8f0;border-radius:6px;background:#fbfcfe}
.batch-inline form .academy-button{min-height:34px;font-size:12px}
.batch-inline form label:not(.checkbox-label){display:grid;gap:5px;color:#3d4b60;font-size:12px;font-weight:700}
.batch-inline form input:not([type=checkbox]){height:34px;padding:0 8px;border:1px solid var(--input-border);border-radius:4px;font:13px var(--font-body)}
.batch-inline .checkbox-label{font-size:13px}
.batch-cancel>summary{color:#9b1c1c}
.batch-calendar{padding:14px 15px 16px}
.batch-calendar-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.batch-calendar-head h2{min-width:170px;margin:0;color:var(--navy);font:800 18px var(--font-head);text-align:center}
.batch-calendar-head .academy-button{min-height:36px;padding:0 8px}
.batch-calendar-grid{display:grid;border:1px solid #e3e8f0;border-radius:6px;overflow:hidden}
.batch-calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.batch-calendar-weekdays span{padding:7px 8px;border-bottom:1px solid #e3e8f0;background:#f6f8fb;color:#5b6779;font:700 11px var(--font-head);letter-spacing:.06em;text-transform:uppercase}
.batch-calendar-day{min-height:96px;padding:5px 0 6px;border-right:1px solid #eef1f5;border-bottom:1px solid #eef1f5;background:#fff}
.batch-calendar-row>.batch-calendar-day:last-child{border-right:0}
.batch-calendar-day.is-outside{background:#f8fafc}
.batch-calendar-day.is-outside .batch-calendar-date{color:#a3adbb}
.batch-calendar-date{display:inline-grid;place-items:center;min-width:24px;height:24px;margin:0 6px 4px;border-radius:12px;color:#3d4b60;font-size:12px;font-weight:700}
.batch-calendar-day.is-today .batch-calendar-date{background:var(--navy-2);color:#fff}
.batch-chip{display:block;min-height:22px;margin:2px 0;padding:2px 7px;overflow:hidden;background:#fdf1d3;color:#5a3d00;font-size:11px;font-weight:700;line-height:18px;white-space:nowrap;text-overflow:ellipsis;text-decoration:none}
.batch-chip.is-start{margin-left:4px;border-left:3px solid var(--amber-2);border-radius:3px 0 0 3px}
.batch-chip small{color:#8a5a00;font-weight:600}
.batch-chip:hover{background:#fbe2a6}
.batch-calendar-note{margin:10px 0 0;color:#667287;font-size:12px}
.training-fields.training-fields-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.batch-training-fixed{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #e7ebf2;border-radius:6px;background:#f8fafc}
.batch-training-fixed>.material-symbols-outlined{color:#986107}
.batch-training-fixed strong{display:block;color:var(--navy);font-size:14px}
.batch-training-fixed small{color:#667287;font-size:12px}
.batch-trainer-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px;padding:16px 15px 18px}
.batch-trainer-list .checkbox-label input{accent-color:var(--navy-2)}
.batch-aside-card{display:grid;gap:6px;padding:14px;border:1px solid #e7ebf2;border-radius:6px;background:#fff}
.batch-aside-card .admin-status{justify-self:start}
.batch-aside-card strong{color:var(--navy);font:800 20px var(--font-head)}
.batch-aside-card .batch-seats{width:100%}
.batch-aside-card small{color:#667287;font-size:12px}
@media(max-width:900px){.training-fields.training-fields-3{grid-template-columns:1fr}.batch-calendar-day{min-height:70px}.batch-chip{font-size:10px;padding:1px 4px}}
.batch-training-link{color:#3d4b60;text-decoration:underline;text-decoration-color:#c8d1dd;text-underline-offset:2px}
.batch-training-link:hover{color:var(--navy)}
.batch-table td:first-child{min-width:220px;max-width:320px}
.batch-table .catalog-actions{min-width:170px}

/* ---------- Байгууллагын лого (app/branding.php): өөрийн лого өргөн байж болох тул өндрөөр нь багтаана */
/* site-public.css-ийн «.topbar .brand img» (40×43 дүрс тэмдэг) дүрмээс хойш ачаалагддаг тул .topbar-оор илүү тодорхой болгоно. */
.brand img.is-custom-logo,.topbar .brand img.is-custom-logo{width:auto;max-width:190px;height:44px;max-height:none;object-fit:contain;object-position:left center}
.admin-sidebar-brand img.is-custom-logo,.portal-brand img.is-custom-logo{width:auto;max-width:150px;height:40px;object-fit:contain;object-position:left center}
body.admin-rail .admin-sidebar-brand img.is-custom-logo{width:34px;max-width:34px;height:36px;object-position:center}
.footer-brand img.is-custom-logo{object-position:left center}
/* «Логоны хажууд нэр харуулах» унтраалттай үед (hidden) — бусад дүрмийн display-ийг давна. */
.site-brand-copy[hidden],.admin-brand-copy[hidden],.portal-brand-copy[hidden]{display:none!important}
@media(max-width:420px){.brand img.is-custom-logo,.topbar .brand img.is-custom-logo{max-width:140px;height:38px}}
.system-branding{margin-bottom:16px}
.system-branding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px 15px}
.system-logo-slot{display:grid;align-content:start;gap:10px;min-width:0;padding:14px;border:1px solid #e7ebf2;border-radius:8px;background:#fbfcfe}
.system-logo-slot h3{margin:0;color:#14223a;font:700 14px var(--font-head)}
.system-logo-slot>p{margin:0;color:#5b6779;font-size:13px;line-height:1.5}
.system-logo-preview{display:grid;place-items:center;height:100px;padding:10px;border:1px solid #e3e8f0;border-radius:6px;background:#fff}
.system-logo-preview.is-dark{border-color:var(--navy-2);background:var(--navy-2)}
.system-logo-preview.is-icon{background:repeating-conic-gradient(#eef1f6 0 25%,#fff 0 50%) 0 0/16px 16px}
.system-logo-preview img{max-width:100%;max-height:72px;object-fit:contain}
.system-logo-state{display:flex;align-items:center;gap:5px;color:#5b6779;font-size:12px;font-weight:700}
.system-logo-state .material-symbols-outlined{font-size:17px}
.system-logo-state.is-custom{color:#065f46}
.system-logo-form{display:grid;gap:8px}
.system-logo-form label{color:#3d4b60;font-size:13px;font-weight:700}
.system-logo-form input[type=file]{max-width:100%;min-height:40px;padding:6px;border:1px dashed #c8d1dd;border-radius:4px;background:#fff;font:13px var(--font-body)}
.system-logo-form .academy-button{justify-self:start;min-height:40px}
.system-logo-remove .table-link{min-height:36px;padding:0;border:0;background:none;color:#9b1c1c;font:700 13px var(--font-body);cursor:pointer}
.system-branding-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 15px 16px;padding:12px 14px;border-top:1px solid #edf0f5}
.system-branding-options .checkbox-label{flex:1 1 360px;align-items:flex-start;gap:10px}
.system-branding-options .checkbox-label input{margin-top:3px;accent-color:var(--navy-2)}
.system-branding-options strong{display:block;color:#14223a;font-size:14px}
.system-branding-options small{display:block;margin-top:3px;color:#5b6779;font-size:13px;font-weight:500;line-height:1.5}
.system-branding-options .academy-button{min-height:40px}
@media(max-width:1000px){.system-branding-grid{grid-template-columns:1fr}}
