:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;background:radial-gradient(circle at top left,rgba(81,86,190,.18),transparent 34rem),linear-gradient(135deg,#f8faff,#eef2fb)}.app-shell-center{display:grid;place-items:center}.loading-card{width:min(92vw,420px);padding:2rem;border:1px solid rgba(120,135,170,.22);border-radius:24px;background:#ffffffe0;box-shadow:0 24px 70px #1c274c1f;text-align:center}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);background:radial-gradient(circle at 10% 15%,rgba(81,86,190,.24),transparent 30rem),radial-gradient(circle at 90% 10%,rgba(36,170,225,.16),transparent 24rem),linear-gradient(135deg,#f6f8ff,#eef3fb)}.login-hero{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.brand-row{display:flex;align-items:center;gap:1rem}.brand-row.compact{align-items:flex-start}.brand-mark{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#5156be,#2c8ed6);font-weight:800;letter-spacing:-.04em;box-shadow:0 14px 34px #5156be52}.eyebrow{margin:0 0 .4rem;color:#5156be;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.login-hero h1,.dashboard-header h1{margin:0;color:#172033;font-size:clamp(2.1rem,5vw,4.5rem);line-height:.98;letter-spacing:-.06em}.hero-copy{max-width:720px;margin:2rem 0;color:#5e6b85;font-size:clamp(1rem,2vw,1.25rem);line-height:1.75}.hero-grid{max-width:760px;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.hero-grid div,.summary-card,.content-card,.login-card{border:1px solid rgba(120,135,170,.22);background:#ffffffe0;box-shadow:0 20px 60px #1b274a14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.hero-grid div{padding:1.1rem;border-radius:20px}.hero-grid strong,.hero-grid span{display:block}.hero-grid strong{color:#172033;margin-bottom:.35rem}.hero-grid span{color:#6a7489;font-size:.92rem}.login-card{align-self:center;width:min(88%,460px);margin:auto;padding:2rem;border-radius:28px}.login-card-header h2{margin:0 0 .5rem;color:#172033;font-size:1.7rem;letter-spacing:-.04em}.login-card-header p:not(.eyebrow){margin:0 0 1.5rem;color:#69758a;line-height:1.6}.login-form{display:grid;gap:1rem}.login-form label{display:grid;gap:.45rem;color:#36445c;font-weight:700}.login-form input{width:100%;padding:.95rem 1rem;border:1px solid #d9e1ef;border-radius:15px;color:#172033;background:#fff;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.login-form input:focus{border-color:#5156be;box-shadow:0 0 0 4px #5156be1f}.login-form button,.logout-button{border:0;border-radius:15px;color:#fff;background:linear-gradient(135deg,#5156be,#2c8ed6);font-weight:800;box-shadow:0 14px 34px #5156be47}.login-form button{padding:1rem;margin-top:.3rem}.login-form button:disabled{cursor:not-allowed;opacity:.72}.alert{padding:.85rem 1rem;border-radius:14px;font-size:.92rem;line-height:1.5}.alert-error{color:#9d2130;background:#fff1f3;border:1px solid #ffd2d9}.api-note{display:grid;gap:.25rem;margin-top:1.4rem;padding:.9rem;border-radius:16px;background:#f5f7fb;color:#6a7489;font-size:.82rem}.api-note strong{color:#172033;overflow-wrap:anywhere}.dashboard-page{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:#f4f6fb}.sidebar{min-height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:1.25rem;background:#111827;color:#fff}.sidebar h2{margin:0;font-size:1.05rem}.sidebar .eyebrow{color:#8ca0ff}.side-nav{display:grid;gap:.4rem;margin:2rem 0}.side-nav a{padding:.85rem 1rem;border-radius:14px;color:#c8d1e6;font-weight:700}.side-nav a.active,.side-nav a:hover{color:#fff;background:#ffffff1a}.logout-button{width:100%;margin-top:auto;padding:.9rem 1rem}.dashboard-content{padding:clamp(1.25rem,3vw,2.4rem)}.dashboard-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.dashboard-header h1{font-size:clamp(1.8rem,4vw,3rem)}.dashboard-header p:not(.eyebrow){margin:.85rem 0 0;color:#5e6b85;line-height:1.6}.status-pill{padding:.55rem .85rem;border-radius:999px;color:#0f7b4b;background:#dff9ec;font-weight:900;font-size:.78rem;letter-spacing:.08em}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.summary-card,.content-card{border-radius:22px}.summary-card{padding:1.25rem}.summary-card span{display:block;color:#6b7488;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.summary-card strong{display:block;margin:.7rem 0 .25rem;color:#172033;font-size:1.65rem;letter-spacing:-.04em}.summary-card p{margin:0;color:#6a7489;font-size:.9rem;overflow-wrap:anywhere}.content-card{padding:1.3rem;margin-top:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{margin:0;color:#172033;letter-spacing:-.04em}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:.9rem .75rem;border-bottom:1px solid #e7ecf5;text-align:left}th{color:#6a7489;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}td{color:#243149;font-weight:650}.permission-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.permission-item{display:grid;gap:.25rem;padding:.95rem;border:1px solid #e3e9f4;border-radius:16px;background:#fbfcff}.permission-item strong{color:#172033;font-size:.88rem;overflow-wrap:anywhere}.permission-item span{color:#6a7489;font-size:.82rem}@media(max-width:1040px){.login-page,.dashboard-page{grid-template-columns:1fr}.login-card{width:min(92%,520px);margin-bottom:2rem}.sidebar{min-height:auto;position:static}.side-nav,.summary-grid,.permission-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.login-page{display:block}.login-hero{padding:2rem 1.2rem}.login-card{width:calc(100% - 2rem);margin:0 1rem 1rem;padding:1.25rem}.hero-grid,.summary-grid,.permission-list{grid-template-columns:1fr}.dashboard-header{display:grid}.side-nav{grid-template-columns:1fr}.dashboard-content{padding:1rem}}
