:root{--ink:#111827;--muted:#6b7280;--line:#e8eaf0;--bg:#f6f7fb;--purple:#6c5ce7;--shadow:0 14px 40px rgba(17,24,39,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}.hidden{display:none!important}.login-view{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#fff}.login-visual{position:relative;overflow:hidden;padding:9vw;background:radial-gradient(circle at 80% 20%,#7246df 0,transparent 25%),radial-gradient(circle at 20% 90%,#006dd8 0,transparent 28%),linear-gradient(135deg,#111827,#2a174f 58%,#bf155f);display:flex;align-items:center;color:#fff}.login-visual:after{content:"";position:absolute;width:390px;height:390px;border:40px solid rgba(255,255,255,.08);border-radius:50%;right:-110px;bottom:-90px}.visual-content{position:relative;z-index:1}.eyebrow{letter-spacing:.18em;font-size:12px;font-weight:800}.login-visual h1{font-size:clamp(42px,5.2vw,76px);line-height:1.02;margin:20px 0}.login-visual p{font-size:18px;color:#e5e7eb}.color-line{width:160px;height:5px;border-radius:3px;background:linear-gradient(90deg,#ff6433,#ffe600,#22e68b,#00bfff,#a734ff,#ff2b81);margin-top:40px}.login-panel{display:grid;place-items:center;padding:45px}.login-card{width:min(420px,100%)}.logo{width:180px;height:72px;object-fit:cover;object-position:center}.login-card h2{font-size:30px;margin:38px 0 5px}.muted{color:var(--muted)}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;margin-top:20px}input,select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 14px;outline:none}input:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(108,92,231,.1)}button{border:0;cursor:pointer}.primary{background:linear-gradient(135deg,#5f4ae4,#8f4fdb);color:#fff;border-radius:12px;padding:13px 18px;font-weight:750;box-shadow:0 8px 18px rgba(108,92,231,.2)}.full{width:100%;margin-top:25px;display:flex;justify-content:space-between}.secondary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 18px;font-weight:700}.text-btn{width:100%;background:none;color:var(--purple);margin-top:18px;font-weight:700}.hint{text-align:center;color:#9ca3af;font-size:12px;margin-top:25px}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column}.brand{padding:0 8px 24px;border-bottom:1px solid var(--line)}.brand img{width:130px;height:54px;object-fit:cover}.sidebar nav{padding-top:22px;flex:1}.nav{width:100%;display:flex;align-items:center;gap:14px;padding:12px 14px;margin:4px 0;border-radius:11px;background:none;color:#687081;text-align:left;font-weight:650}.nav:hover,.nav.active{background:#f0edff;color:#634bdc}.nav-label{font-size:10px;letter-spacing:.12em;color:#a2a8b2;margin:28px 14px 10px;font-weight:800}.sidebar-bottom{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:18px 6px 0}.sidebar-bottom div:nth-child(2){min-width:0;flex:1}.sidebar-bottom small{display:block;color:var(--muted)}.sidebar-bottom>button{background:none;color:#8b91a0;font-size:18px}.avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#5945e0,#ec4899);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.avatar.small{width:36px;height:36px}.workspace{min-width:0}.workspace header{height:96px;background:#fff;border-bottom:1px solid var(--line);padding:20px 34px;display:flex;align-items:center;justify-content:space-between}.workspace header h1{font-size:23px;margin:0}.workspace header p{font-size:12px;margin:6px 0 0;color:var(--muted)}.header-actions,.header-user{display:flex;align-items:center;gap:14px}.icon-btn{width:38px;height:38px;border-radius:11px;background:#f5f6fa;position:relative}.icon-btn i{position:absolute;width:7px;height:7px;background:#f43f5e;border:2px solid #fff;border-radius:50%;right:6px;top:6px}.menu-btn{display:none;background:none;font-size:22px}#content{padding:30px 34px}.hero{padding:27px 30px;border-radius:20px;color:#fff;background:linear-gradient(110deg,#111827,#422183 65%,#c2266e);position:relative;overflow:hidden;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:220px;height:220px;border:25px solid rgba(255,255,255,.08);border-radius:50%;right:-30px;top:-100px}.hero h2{font-size:28px;margin:5px 0}.hero p{color:#e5e7eb;margin:8px 0}.section-head{display:flex;justify-content:space-between;align-items:center;margin:30px 0 15px}.section-head h2{font-size:18px;margin:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.quick-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;min-height:155px;box-shadow:0 4px 16px rgba(17,24,39,.035);transition:.2s;text-decoration:none;color:inherit}.quick-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.quick-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;font-size:21px;color:#fff;margin-bottom:16px}.quick-card h3{margin:0 0 7px;font-size:15px}.quick-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.grid-2{display:grid;grid-template-columns:1.45fr .55fr;gap:18px;margin-top:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.announcement{display:flex;gap:14px}.announcement .date{background:#f0edff;color:#634bdc;border-radius:12px;width:52px;height:52px;display:grid;place-items:center;font-weight:800}.announcement h3{font-size:14px;margin:2px 0 6px}.announcement p{font-size:12px;color:var(--muted);margin:0}.stat{font-size:32px;font-weight:800;margin-top:8px}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:13px}th{font-size:11px;color:#8b91a0;letter-spacing:.05em;background:#fafafe}.badge{display:inline-flex;padding:5px 9px;border-radius:20px;background:#e9fbf2;color:#098556;font-size:11px;font-weight:800}.actions button{background:none;margin-right:8px;color:#5e6573}.empty{text-align:center;padding:55px 20px;color:var(--muted)}dialog{width:min(620px,calc(100% - 30px));border:0;border-radius:20px;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(15,23,42,.55);backdrop-filter:blur(4px)}dialog form{padding:25px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{margin:0 0 5px}.close{font-size:26px;background:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.span2{grid-column:span 2}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.toast{position:fixed;z-index:99;right:20px;top:20px;transform:translateY(-90px);transition:.25s;background:#111827;color:#fff;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow)}.toast.show{transform:translateY(0)}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.login-view{grid-template-columns:1fr}.login-visual{display:none}.app{grid-template-columns:78px 1fr}.sidebar{padding:20px 10px}.brand img{width:54px;object-position:left}.nav span,.nav-label,.sidebar-bottom div:nth-child(2),.sidebar-bottom>button{display:none}.nav{justify-content:center;font-size:20px}.sidebar-bottom{justify-content:center}.grid-2{grid-template-columns:1fr}}@media(max-width:650px){.app{display:block}.sidebar{position:fixed;z-index:10;left:-260px;width:250px;transition:.2s}.sidebar.open{left:0}.nav span,.nav-label,.sidebar-bottom div:nth-child(2),.sidebar-bottom>button{display:block}.nav{justify-content:flex-start;font-size:16px}.menu-btn{display:block}.workspace header{padding:16px 18px;height:80px}.header-user span{display:none}#content{padding:20px 16px}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.hero{padding:22px}.hero h2{font-size:23px}}
