:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#172033;background:#f4f7fb}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}.login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#dbeafe,transparent 45%),#f8fafc}.login-card{width:min(420px,100%);display:grid;gap:14px;padding:32px;border:1px solid #e3e8ef;border-radius:24px;background:#fff;box-shadow:0 24px 70px #0f172a1f}.brand{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#0f2a68,#2563eb);color:#fff;font-weight:800}.brand.small{width:42px;height:42px;border-radius:13px}.eyebrow{font-size:11px;letter-spacing:.14em;color:#2563eb;font-weight:800;margin:0 0 6px}.muted{color:#728096}.login-card h1{margin:0;font-size:36px}.login-card label{display:grid;gap:6px;font-size:12px;font-weight:700}.login-card input{padding:13px;border:1px solid #dbe3ee;border-radius:11px}.login-card button{padding:13px;border:0;border-radius:11px;background:#0f2a68;color:#fff;font-weight:800}.error{padding:10px;border-radius:9px;background:#fff1f2;color:#be123c;font-size:12px}.shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}aside{position:sticky;top:0;height:100vh;padding:22px 16px;background:#081b4a;color:#fff;display:flex;flex-direction:column}.side-brand{display:flex;gap:11px;align-items:center;padding:0 8px 24px}.side-brand b,.side-brand span{display:block}.side-brand span{font-size:11px;color:#9fb0d8;margin-top:3px}nav{display:grid;gap:5px}nav button,.logout{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:#d7e1f7;text-align:left}nav button.active,nav button:hover{background:#173675;color:#fff}.logout{margin-top:auto}.content{min-width:0;padding:26px}.content>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.content h2{margin:0;font-size:28px}.user{padding:10px 14px;border:1px solid #dfe6ef;border-radius:12px;background:#fff}.user b,.user span{display:block}.user span{font-size:10px;color:#728096;margin-top:2px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card,.panel,.placeholder{border:1px solid #e1e7ef;border-radius:16px;background:#fff;box-shadow:0 8px 28px #0f172a0d}.card{padding:18px}.card span,.card b{display:block}.card span{font-size:12px;color:#728096}.card b{font-size:26px;margin-top:8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.panel{padding:18px}.panel h3{margin:0 0 14px}.row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:12px 0;border-bottom:1px solid #edf1f5}.row:last-child{border-bottom:0}.row span{font-size:12px;overflow:hidden;text-overflow:ellipsis}.pipeline{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.pipeline section{min-height:480px;padding:10px;border:1px solid #dfe6ef;border-radius:14px;background:#eef3f9}.pipeline section>header{display:flex;justify-content:space-between;padding:8px;font-size:11px}.pipeline article{display:grid;gap:5px;padding:12px;margin-top:8px;border-radius:10px;background:#fff;box-shadow:0 4px 14px #0f172a0f}.pipeline article span{font-size:10px;color:#728096}.pipeline article strong{font-size:12px}.placeholder{min-height:360px;display:grid;place-items:center;align-content:center;text-align:center;color:#728096}@media(max-width:980px){.shell{grid-template-columns:76px minmax(0,1fr)}.side-brand>div:last-child,nav button span{display:none}.side-brand{justify-content:center}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:640px){.shell{display:block}.shell aside{position:fixed;z-index:10;left:0;right:0;bottom:0;top:auto;width:auto;height:68px;padding:8px;display:flex;flex-direction:row}.side-brand,.logout{display:none}nav{display:grid;grid-template-columns:repeat(6,1fr);width:100%;gap:3px}nav button{justify-content:center;padding:8px}.content{padding:18px 14px 84px}.content>header{align-items:flex-start}.user{display:none}.stats{grid-template-columns:1fr 1fr}.card b{font-size:20px}.pipeline{grid-template-columns:repeat(6,82vw)}}
