@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#15171b;--muted:#727782;--line:#e7e9ee;--bg:#f5f6f8;--blue:#2563eb;--green:#159455;--orange:#e57b22;--red:#dc3545;--purple:#7c3aed}*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}.hidden{display:none!important}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:white}.login>section{padding:9vw;background:radial-gradient(circle at 15% 15%,#edf7ff,transparent 36%),linear-gradient(145deg,#f7fbff,#eef3f9);display:flex;flex-direction:column;justify-content:center}.login img{width:180px;margin-bottom:70px}.login small{font-weight:700;letter-spacing:.15em;color:#2e5fae}.login h1{font-size:64px;line-height:1.02;margin:15px 0}.login p{max-width:540px;color:var(--muted);font-size:18px}.login form{align-self:center;width:min(390px,80%);margin:auto}.login form h2{font-size:30px;margin-bottom:5px}.login form>p{color:var(--muted);margin-top:0;margin-bottom:35px}.login label{display:grid;gap:8px;margin:18px 0;font-weight:600;font-size:14px}.login input{border:1px solid var(--line);border-radius:12px;padding:14px 15px;outline:none}.login input:focus{border-color:#85a9e8;box-shadow:0 0 0 3px #e8f0ff}.login form button,.primary{border:0;background:#111;color:white;padding:14px 18px;border-radius:12px;font-weight:700;width:100%;cursor:pointer}.login em{display:block;color:var(--red);font-style:normal;margin-top:12px;font-size:13px}.shell{display:grid;grid-template-columns:268px 1fr;min-height:100vh}.shell>aside{background:white;border-right:1px solid var(--line);padding:26px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 14px 24px}.brand img{width:54px}.brand span{display:grid}.brand b{font-size:18px}.brand small{color:var(--muted)}nav{overflow:auto}.nav-label{display:block;color:#a0a5b0;font-size:10px;font-weight:700;letter-spacing:.12em;margin:20px 13px 8px}.nav-item{width:100%;border:0;background:none;padding:11px 13px;border-radius:11px;display:flex;align-items:center;gap:12px;cursor:pointer;color:#454a53;text-align:left}.nav-item:hover{background:#f5f7fa}.nav-item.active{background:#edf3ff;color:#1553bd;font-weight:700;box-shadow:inset 0 0 0 1px #dce8ff}.nav-item i{width:22px;text-align:center;font-style:normal}.sidebar-foot{margin-top:auto;padding:14px;background:#f6faf7;border-radius:12px;display:grid;gap:4px}.sidebar-foot span{font-size:12px;font-weight:700;color:var(--green)}.sidebar-foot small{color:var(--muted)}main{min-width:0;background:#fafafa}main>header{height:88px;padding:19px 28px;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9;backdrop-filter:blur(14px)}main header h1{font-size:22px;margin:0}main header p{font-size:12px;color:var(--muted);margin:3px 0 0}#menuBtn{display:none}.header-actions{display:flex;gap:10px;align-items:center}.search{background:#f5f5f6;border-radius:20px;padding:9px 15px;color:#969ba5}.search input{border:0;background:transparent;outline:0;width:220px}.bell,.user{width:42px;height:42px;border:0;border-radius:50%;background:#f1f2f4;position:relative;cursor:pointer}.bell i{position:absolute;width:8px;height:8px;background:red;border-radius:50%;right:7px;top:5px}.user{background:#e6edf8;font-weight:700;color:#315c9f}.content{padding:26px;max-width:1680px;margin:auto}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.toolbar h2{margin:0;font-size:17px}.toolbar p{margin:4px 0;color:var(--muted);font-size:13px}.filters{display:flex;gap:9px}.filters select,.filters button,.btn{border:1px solid var(--line);background:white;border-radius:10px;padding:9px 13px;cursor:pointer}.filters .dark,.btn.dark{background:#111;color:#fff;border-color:#111}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card,.panel{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 2px #00000008}.metric{padding:20px;min-height:152px}.metric header{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.metric header i{background:#f2f3f5;border-radius:10px;padding:8px;font-style:normal}.metric b{display:block;font-size:29px;margin:22px 0 5px}.metric small{color:var(--green)}.grid-2{display:grid;grid-template-columns:1.7fr 1fr;gap:16px;margin-top:16px}.panel{padding:20px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-head h3{font-size:15px;margin:0}.panel-head small{color:var(--muted)}.chart{height:250px;display:flex;gap:12px;align-items:flex-end;border-bottom:1px solid var(--line);padding-top:25px}.bar-group{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.bar{width:min(34px,70%);background:linear-gradient(#3b82f6,#2764dd);border-radius:7px 7px 2px 2px;min-height:3px}.bar-group small{color:#8b9099;font-size:10px}.progress-list{display:grid;gap:16px}.progress-list article{display:grid;grid-template-columns:95px 1fr 65px;gap:10px;align-items:center;font-size:12px}.track{height:8px;background:#ebecef;border-radius:9px;overflow:hidden}.track i{display:block;height:100%;background:var(--blue);border-radius:9px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{text-align:left;color:#8a8f99;font-weight:600;border-bottom:1px solid var(--line);padding:11px 10px;white-space:nowrap}.table td{border-bottom:1px solid #f0f1f3;padding:12px 10px;white-space:nowrap}.table tr:hover td{background:#fafbfc}.badge{display:inline-flex;padding:4px 8px;border-radius:20px;font-weight:700;font-size:10px}.badge.green{background:#e7f8ef;color:#16834d}.badge.orange{background:#fff2e5;color:#bd681a}.badge.red{background:#ffe9eb;color:#bd2e3d}.badge.blue{background:#eaf1ff;color:#285fbd}.rank{display:grid;grid-template-columns:28px 1fr auto;gap:10px;padding:11px 0;border-bottom:1px solid #f0f1f3;align-items:center}.rank>i{width:25px;height:25px;background:#f1f3f6;border-radius:8px;display:grid;place-items:center;font-style:normal;font-size:11px}.rank b,.rank small{display:block}.rank small{color:var(--muted);font-size:11px}.rank>strong{font-size:12px}.section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module-card{padding:20px;cursor:pointer;transition:.2s}.module-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #1720330c}.module-card i{display:grid;place-items:center;width:42px;height:42px;background:#edf3ff;color:#2563eb;border-radius:13px;font-style:normal;font-size:20px}.module-card h3{margin:18px 0 6px}.module-card p{color:var(--muted);font-size:13px;line-height:1.5}.module-card span{font-size:12px;font-weight:700;color:#2563eb}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ai-box{min-height:420px;display:flex;flex-direction:column}.chat{flex:1;display:grid;align-content:start;gap:12px}.bubble{max-width:75%;padding:12px 14px;border-radius:15px;background:#f1f4f8;font-size:13px;line-height:1.5}.bubble.user{margin-left:auto;background:#1d2532;color:white}.prompt{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:15px}.prompt input{flex:1;border:1px solid var(--line);border-radius:10px;padding:11px}.prompt button{width:auto;padding:10px 18px}.empty{padding:55px 20px;text-align:center;color:var(--muted)}.loader{padding:80px;text-align:center;color:var(--muted)}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2,.split{grid-template-columns:1fr}.shell{grid-template-columns:80px 1fr}.brand span,.nav-label,.nav-item span,.sidebar-foot{display:none}.brand{padding:0}.brand img{width:45px}.nav-item{justify-content:center}.section-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.shell{display:block}.shell>aside{display:none}.shell>aside.open{display:flex;position:fixed;width:270px;z-index:30}.cards,.section-grid{grid-template-columns:1fr}.content{padding:14px}main>header{padding:14px;height:75px}.search{display:none}#menuBtn{display:inline;border:0;background:none;font-size:20px}.header-actions .bell{display:none}.grid-2{display:block}.grid-2>*{margin-bottom:14px}.login{grid-template-columns:1fr}.login>section{display:none}.login form{padding:35px 0}.toolbar{align-items:flex-start;gap:12px}.filters{flex-wrap:wrap;justify-content:flex-end}}
