/* ════ «Сурагч Судлаач» неон-шилэн дизайн систем ════ */
:root{
  --bg:#0a1228;--bg2:#0d1730;--panel:rgba(18,30,60,.62);--panel2:rgba(24,38,72,.7);
  --line:rgba(95,179,228,.22);--line2:rgba(95,179,228,.40);
  --cyan:#3dd6ff;--cyan2:#00e5ff;--blue:#2b6dff;--green:#34c98a;--teal:#1fd0c5;
  --violet:#b388ff;--amber:#ffd84d;--pink:#ff6fae;--ink:#eaf3ff;--soft:#aebede;--faint:#7787ad;
  --good:#5bd99a;--warn:#ffce5c;--bad:#ff7a8a;
  --grad:linear-gradient(96deg,#00e5ff 0%,#2b6dff 60%,#7a3cff 100%);
  --grad2:linear-gradient(96deg,#34c98a,#1fd0c5);
  --glow:0 0 22px rgba(61,214,255,.32);--r:16px;--r2:12px;--r3:8px;
  --display:'Baloo 2','Nunito',system-ui,sans-serif;--sans:'Nunito',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100dvh;
background:
 radial-gradient(1.5px 1.5px at 12% 18%,rgba(255,255,255,.85),transparent 50%),
 radial-gradient(1.3px 1.3px at 32% 62%,rgba(180,225,255,.6),transparent 50%),
 radial-gradient(1.6px 1.6px at 68% 22%,rgba(255,255,255,.7),transparent 50%),
 radial-gradient(1.2px 1.2px at 84% 56%,rgba(190,230,255,.55),transparent 50%),
 radial-gradient(1.4px 1.4px at 54% 82%,rgba(255,255,255,.5),transparent 50%),
 radial-gradient(120% 80% at 80% -10%,#15265e 0%,transparent 55%),
 radial-gradient(100% 70% at 5% 110%,#102052 0%,transparent 55%),
 linear-gradient(180deg,#0a1330 0%,#0a1228 50%,#0c1740 100%);
 background-attachment:fixed}
.serif{font-family:var(--display)}
.wrap{max-width:1200px;margin:0 auto;padding:0 22px}
a{color:inherit;text-decoration:none}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0a1228}
::-webkit-scrollbar-thumb{background:rgba(95,140,230,.3);border-radius:8px;border:2px solid #0a1228}
/* Glass surfaces */
.glass{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:var(--r)}
.card{background:var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:var(--r);padding:22px;
  box-shadow:0 0 0 1px rgba(95,179,228,.04),0 18px 40px -24px rgba(0,8,30,.9);transition:.22s}
.card.glow{animation:brth 4.5s ease-in-out infinite alternate}
@keyframes brth{0%{box-shadow:0 0 12px rgba(61,214,255,.10),0 18px 40px -24px rgba(0,8,30,.9)}100%{box-shadow:0 0 22px rgba(61,214,255,.28),0 18px 40px -24px rgba(0,8,30,.9)}}
.card:hover{border-color:var(--line2)}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.18}
.kick{display:inline-flex;align-items:center;gap:10px;color:var(--cyan);font-size:11px;font-weight:700;letter-spacing:.18em;text-indent:.18em;text-transform:uppercase}
.kick::before,.kick::after{content:'';width:26px;height:1px;background:var(--cyan)}
.muted{color:var(--soft)}.faint{color:var(--faint)}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 22px;border-radius:999px;font-family:var(--sans);font-weight:800;font-size:13.5px;cursor:pointer;border:none;transition:.18s;position:relative;overflow:hidden}
.btn.pri{background:var(--grad);color:#fff;box-shadow:0 4px 20px -4px rgba(0,160,255,.6)}
.btn.pri:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.pri::after{content:'';position:absolute;top:0;bottom:0;width:36%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-180%) skewX(-18deg);animation:sweep 3.6s ease-in-out infinite}
@keyframes sweep{0%{transform:translateX(-180%) skewX(-18deg)}60%,100%{transform:translateX(320%) skewX(-18deg)}}
.btn.sec{background:rgba(95,179,228,.10);color:var(--cyan);border:1.5px solid var(--line2)}
.btn.sec:hover{border-color:var(--cyan);box-shadow:var(--glow)}
.btn.ter{background:transparent;color:var(--soft);border:1px solid var(--line)}
.btn.ter:hover{color:var(--cyan);border-color:var(--line2)}
.btn.grn{background:var(--grad2);color:#04231a;text-shadow:none}
.btn.danger{background:linear-gradient(96deg,#ff6f7d,#e0394a);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.sm{padding:8px 15px;font-size:12px}.btn.xs{padding:6px 12px;font-size:11.5px}
.btn.block{width:100%}
/* Inputs */
input,select,textarea{width:100%;background:rgba(8,16,42,.6);border:1.5px solid var(--line);border-radius:var(--r2);color:var(--ink);padding:12px 14px;font-size:14px;font-family:var(--sans);transition:.18s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(61,214,255,.16)}
input::placeholder,textarea::placeholder{color:var(--faint)}
textarea{resize:vertical;min-height:90px}
select option{background:#0d1842}
label.fl{display:block;font-size:11px;font-weight:800;color:var(--soft);letter-spacing:.07em;text-indent:.07em;text-transform:uppercase;margin:14px 0 6px}
/* Chips, badges, tabs */
.chip{display:inline-flex;align-items:center;gap:6px;background:rgba(95,179,228,.09);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:700;color:var(--soft);cursor:pointer;transition:.18s;white-space:nowrap}
.chip:hover{border-color:var(--line2);color:var(--cyan)}
.chip.on{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 0 14px rgba(61,214,255,.4)}
.bdg{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 11px;font-size:11px;font-weight:800;letter-spacing:.03em}
.bdg.new{background:rgba(52,201,138,.16);color:var(--good);border:1px solid rgba(52,201,138,.36)}
.bdg.hot{background:rgba(255,111,174,.16);color:var(--pink);border:1px solid rgba(255,111,174,.36)}
.bdg.lvl{background:rgba(255,216,77,.14);color:var(--amber);border:1px solid rgba(255,216,77,.34)}
.bdg.pend{background:rgba(255,206,92,.13);color:var(--warn);border:1px solid rgba(255,206,92,.32)}
.bdg.done{background:rgba(91,217,154,.14);color:var(--good);border:1px solid rgba(91,217,154,.34)}
.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px;flex-wrap:wrap}
.tab{padding:10px 16px;font-size:13px;font-weight:800;color:var(--soft);cursor:pointer;border-bottom:2px solid transparent;transition:.18s}
.tab:hover{color:var(--cyan)}.tab.on{color:var(--cyan);border-bottom-color:var(--cyan)}
/* Progress / XP bar */
.bar{height:8px;border-radius:999px;background:rgba(95,179,228,.14);overflow:hidden}
.bar>i{display:block;height:100%;background:var(--grad);border-radius:999px;box-shadow:0 0 10px rgba(61,214,255,.6)}
.bar.grn>i{background:var(--grad2)}
.ring{--p:0;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(closest-side,var(--bg2) 70%,transparent 71%),conic-gradient(var(--cyan) calc(var(--p)*1%),rgba(95,179,228,.14) 0)}
.ring b{font-family:var(--display);font-weight:800;font-size:22px}
/* Nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(9,15,42,.82);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav .in{display:flex;align-items:center;gap:14px;height:64px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:800;font-size:18px}
.brand .lg{width:38px;height:38px;border-radius:11px;background:var(--grad);display:grid;place-items:center;font-size:19px;box-shadow:0 0 16px rgba(61,214,255,.5)}
.brand small{display:block;font-size:8.5px;letter-spacing:.22em;color:var(--faint);font-weight:700}
.nav .sp{flex:1}
.nlink{padding:8px 13px;border-radius:10px;font-size:13.5px;font-weight:700;color:var(--soft);cursor:pointer;transition:.18s}
.nlink:hover,.nlink.on{color:var(--cyan);background:rgba(61,214,255,.10)}
.nav .who{display:flex;align-items:center;gap:9px}
.av{width:38px;height:38px;border-radius:50%;background:rgba(61,214,255,.14);display:grid;place-items:center;font-size:18px;border:2px solid var(--line2);overflow:hidden;flex:none}
.av img{width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.nav .nlink.hideM{display:none}}
/* Icon grid (component) */
.icong{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:10px}
.ico{aspect-ratio:1;border:1.5px solid var(--line);border-radius:14px;display:grid;place-items:center;font-size:22px;color:var(--cyan);transition:.18s;cursor:default}
.ico:hover{border-color:var(--cyan);box-shadow:var(--glow);transform:translateY(-2px)}
/* Alerts */
.alert{display:flex;align-items:center;gap:11px;padding:11px 15px;border-radius:var(--r2);font-size:13px;font-weight:600;margin-bottom:10px;border:1px solid}
.alert .x{margin-left:auto;cursor:pointer;color:var(--faint)}
.alert.ok{background:rgba(91,217,154,.10);border-color:rgba(91,217,154,.3);color:var(--good)}
.alert.info{background:rgba(61,214,255,.10);border-color:rgba(61,214,255,.3);color:var(--cyan)}
.alert.warn{background:rgba(255,206,92,.10);border-color:rgba(255,206,92,.3);color:var(--warn)}
.alert.err{background:rgba(255,122,138,.10);border-color:rgba(255,122,138,.3);color:var(--bad)}
/* Grids */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.sech{text-align:center;margin-bottom:26px}
.sech h2{font-size:clamp(24px,3vw,34px);margin-top:12px}
.sech p{color:var(--soft);max-width:620px;margin:8px auto 0;font-size:14px}
.sec-h{display:flex;align-items:center;gap:14px;margin:8px 0 16px}
.sec-h h3{font-size:18px;white-space:nowrap}.sec-h .ln{flex:1;height:1px;background:var(--line)}
/* Project card */
.pcard{cursor:pointer;overflow:hidden;padding:0}
.pcard .cv{height:120px;background:linear-gradient(135deg,#15265e,#0d1730);display:grid;place-items:center;font-size:40px;position:relative;border-bottom:1px solid var(--line)}
.pcard .cv .b{position:absolute;top:10px;left:10px}
.pcard .bd{padding:16px 17px}
.pcard h3{font-size:15.5px;margin-bottom:6px}
.pcard .mt{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:var(--faint)}
.pcard:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:var(--glow),0 18px 40px -24px rgba(0,8,30,.9)}
/* Modal */
.mbg{position:fixed;inset:0;background:rgba(6,10,22,.78);backdrop-filter:blur(7px);display:none;place-items:center;z-index:60;padding:18px}
.mbg.show{display:grid}
.modal{background:linear-gradient(165deg,rgba(22,36,80,.95),rgba(10,18,46,.96));border:1px solid var(--line2);border-radius:18px;padding:26px;width:min(440px,94vw);max-height:92vh;overflow:auto;position:relative;box-shadow:0 30px 80px -20px rgba(0,5,30,.95),0 0 30px rgba(61,214,255,.2)}
.modal h2{font-size:22px;color:var(--cyan);margin-bottom:6px}
.modal .x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:9px;background:rgba(95,179,228,.1);border:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:15px}
/* Sidebar layout (dashboards) */
.dash{display:grid;grid-template-columns:240px 1fr;gap:20px;align-items:start;margin-top:18px}
@media(max-width:900px){.dash{grid-template-columns:1fr}}
.side{position:sticky;top:80px}
.side .it{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:12px;font-size:13.5px;font-weight:700;color:var(--soft);cursor:pointer;transition:.16s}
.side .it:hover{background:rgba(61,214,255,.08);color:var(--cyan)}
.side .it.on{background:var(--grad);color:#fff;box-shadow:0 4px 16px -4px rgba(0,160,255,.5)}
/* Stat tiles */
.tile{text-align:center;padding:18px}
.tile b{font-family:var(--display);font-size:30px;display:block;color:var(--cyan)}
.tile span{font-size:11.5px;color:var(--faint);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
/* loading */
.load{display:grid;place-items:center;padding:80px}
.spin{width:42px;height:42px;border:3px solid rgba(61,214,255,.22);border-top-color:var(--cyan);border-radius:50%;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.empty{text-align:center;padding:48px 20px;color:var(--faint)}
.empty .e{font-size:44px;margin-bottom:10px}
.toastwrap{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{background:rgba(13,22,58,.95);border:1px solid var(--line2);border-radius:12px;padding:11px 18px;font-size:13px;font-weight:700;box-shadow:0 10px 30px -10px rgba(0,5,30,.9);animation:up .3s}
@keyframes up{from{transform:translateY(12px);opacity:0}}
.foot{border-top:1px solid var(--line);margin-top:46px;padding:24px 0;text-align:center;color:var(--faint);font-size:12.5px}
