
:root{--navy:#0b2d63;--blue:#0d5cc7;--ink:#172033;--muted:#68758d;--bg:#f2f6fb;--panel:#fff;--line:#dbe3ef;--green:#1d7a4c;--red:#a82929;--shadow:0 14px 34px rgba(21,42,80,.07)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}button,input{font:inherit}
.shell{display:flex;min-height:100vh}.sidebar{width:278px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#0b2d63,#081f45);color:#fff;padding:22px 18px}
.brand{display:flex;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:18px}.brand-mark{width:62px;height:48px;display:grid;place-items:center;border-radius:11px;background:#fff;color:var(--navy);font-size:15px;font-weight:900}.brand-kicker{font-size:10px;letter-spacing:.13em;opacity:.7;font-weight:700}.brand-kicker.dark{color:var(--navy);opacity:1}.brand-title{font-weight:800;font-size:17px;margin-top:3px}.brand-sub{font-size:11px;opacity:.75;margin-top:3px}
.env{margin:18px 0 12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);border-radius:10px;padding:9px 10px;font-size:10px;letter-spacing:.13em;color:#b8d8ff;font-weight:800}
nav{display:grid;gap:5px}nav a{color:#dbe6f7;text-decoration:none;padding:11px 12px;border-radius:9px;font-size:13px}nav a:hover,nav a.active{background:rgba(255,255,255,.11);color:#fff}
.owners{position:absolute;left:18px;right:18px;bottom:22px;border-top:1px solid rgba(255,255,255,.13);padding-top:14px;font-size:10px;color:#aebfd8}.owners span,.owners strong{display:block}.owners strong{color:#fff;font-size:11px;margin:3px 0 9px}
main{margin-left:278px;flex:1;min-width:0}header{height:84px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line);padding:0 28px;position:sticky;top:0;z-index:5}.crumb{font-size:12px;color:var(--muted);margin-bottom:4px}h1{font-size:23px;margin:0;color:var(--navy)}
.account{display:flex;align-items:center;gap:12px}.account strong,.account span{display:block;text-align:right}.account strong{font-size:12px}.account span{font-size:10px;color:var(--muted);margin-top:2px}.logout{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;cursor:pointer;color:var(--navy);font-size:11px;font-weight:800}
.content{padding:24px 28px 40px}.notice{background:#fff;border:1px solid #cfe0f7;border-left:5px solid var(--blue);border-radius:13px;padding:14px 16px;color:#4a5870;font-size:13px;line-height:1.55;margin-bottom:20px}.notice strong{color:var(--navy)}
.panel{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#0b2d63,#0f5bc2);color:#fff}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;color:var(--blue);margin-bottom:7px}.hero .eyebrow{color:#abd0ff}.hero h2{font-size:25px;margin:0 0 8px}.hero p{margin:0;color:#d9e8ff;font-size:12px}.health{min-width:180px;padding:14px;border-radius:13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1)}.health span,.health strong{display:block}.health span{font-size:10px;letter-spacing:.1em}.health strong{font-size:12px;margin-top:5px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:var(--shadow)}.metrics span{display:block;color:var(--muted);font-size:11px}.metrics strong{display:block;color:var(--navy);font-size:25px;margin-top:7px}
.panel-head h3{font-size:18px;margin:0;color:var(--navy)}.role-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.role-chip{display:inline-flex;background:#eaf2ff;color:var(--navy);font-size:10px;font-weight:800;padding:7px 9px;border-radius:999px}
.permission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.permission-grid div{border:1px solid var(--line);border-radius:10px;background:#fbfcfe;padding:11px}.permission-grid code{font-size:10px;color:var(--navy)}
.note{margin-top:14px;border-left:4px solid var(--blue);background:#eef4fc;border-radius:9px;padding:12px 14px;font-size:11px;line-height:1.55;color:#526079}.note strong{color:var(--navy)}
.entity-list{display:grid;gap:9px}.entity-access-row{display:grid;grid-template-columns:80px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fbfcfe;padding:12px}.entity-access-row code{color:var(--navy);font-weight:900}.entity-access-row span{font-size:12px}.entity-access-row strong{font-size:9px;padding:5px 7px;border-radius:999px;background:#eef3f8;color:#5d6b82}
.controls{display:grid}.controls div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #edf1f6}.controls div:last-child{border-bottom:0}.controls span{font-size:12px;color:var(--muted)}.controls strong{font-size:11px;color:var(--green);text-align:right}

/* Login */
.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top right,rgba(13,92,199,.12),transparent 34%),var(--bg)}
.login-wrap{width:min(480px,92%)}.login-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 24px 60px rgba(21,42,80,.12)}
.login-brand{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:18px}.login-mark{width:64px;height:52px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:900}.login-brand h1{font-size:18px}.login-brand p{margin:5px 0 0;color:var(--muted);font-size:11px}
.login-card form{display:grid;gap:14px}.login-card label span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.login-card input{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 12px;outline:none}.login-card input:focus{border-color:#8bb8f2;box-shadow:0 0 0 3px #edf5ff}.login-card button{border:0;border-radius:10px;background:var(--navy);color:#fff;padding:12px;cursor:pointer;font-weight:800}.login-error{background:#fff2f2;border:1px solid #f0caca;color:#8b2f2f;border-radius:10px;padding:10px 12px;font-size:11px;margin-bottom:14px}.login-note{font-size:10px;line-height:1.5;color:#7a879a;margin-top:16px}

@media(max-width:900px){.sidebar{display:none}main{margin-left:0}.metrics{grid-template-columns:repeat(2,1fr)}.permission-grid{grid-template-columns:repeat(2,1fr)}.hero{align-items:flex-start;flex-direction:column}.health{width:100%}}
@media(max-width:560px){.content{padding:15px}.metrics,.permission-grid{grid-template-columns:1fr}header{padding:0 15px}.entity-access-row{grid-template-columns:60px 1fr}.entity-access-row strong{grid-column:1/-1;justify-self:start}.account span{display:none}}
