:root{
  --navy:#0A3D75; --navy-dark:#072B54; --orange:#F7941D; --orange-dark:#E67A0A;
  --bg:#F5F7FA; --surface:#FFFFFF; --ink:#16232F; --ink-soft:#5B6B7A; --line:#E4E9EF;
  --green:#2E9E6B; --amber:#B5760B; --red:#C4443A;
  --green-bg:#E3F3E8; --amber-bg:#FFF3DE; --red-bg:#FDE7E4;
}
*{box-sizing:border-box;}
body{margin:0; font-family:'Inter',system-ui,sans-serif; background:var(--bg); color:var(--ink); font-size:14px;}
h1,h2,h3{font-family:'Poppins',system-ui,sans-serif;}
a{color:var(--navy); text-decoration:none;}

.app-shell{display:flex; min-height:100vh;}
.sidebar{width:230px; background:#fff; border-right:1px solid var(--line); padding:20px 0; flex-shrink:0;}
.sidebar .logo{padding:0 20px 20px; display:flex; align-items:center; gap:10px;}
.sidebar .logo .mark{width:34px; height:34px; border-radius:9px; background:linear-gradient(135deg,var(--navy),var(--orange)); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px;}
.sidebar .logo .name{font-weight:700; font-size:15px; color:var(--navy);}
.sidebar .logo .tagline{font-size:10px; color:var(--ink-soft);}
.nav-group{font-size:10.5px; font-weight:700; letter-spacing:.05em; color:var(--ink-soft); text-transform:uppercase; padding:14px 20px 6px;}
.nav-item{display:block; padding:8px 20px; color:var(--ink); font-size:13.5px;}
.nav-item.active{background:#FFF3E6; color:var(--orange-dark); font-weight:600; border-right:3px solid var(--orange);}
.nav-item:hover{background:var(--bg);}

.main{flex:1; min-width:0;}
.topbar{background:linear-gradient(120deg,var(--navy),var(--navy-dark) 60%, var(--orange-dark)); color:#fff; padding:18px 28px; display:flex; justify-content:space-between; align-items:center;}
.topbar h1{margin:0; font-size:19px;}
.topbar .crumb{font-size:12px; opacity:.85; margin-top:2px;}
.topbar-right{display:flex; align-items:center; gap:10px;}
.pill-btn{background:var(--orange); color:#fff; border:none; padding:9px 16px; border-radius:999px; font-weight:600; font-size:13px; cursor:pointer;}
.pill-btn.ghost{background:rgba(255,255,255,.15); color:#fff;}
.pill-btn.outline{background:#fff; color:var(--navy); border:1px solid var(--line);}
.pill-btn.small{padding:6px 12px; font-size:12.5px;}
.avatar{width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.25); color:#fff; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700;}
.tenant-select{background:rgba(255,255,255,.15); color:#fff; border:none; padding:8px 12px; border-radius:999px; font-size:12.5px;}

.content{padding:24px 28px;}
.panel{background:var(--surface); border-radius:14px; padding:20px 22px; margin-bottom:18px; box-shadow:0 4px 18px rgba(10,61,117,.06);}
.panel h3{margin:0 0 6px;}
.desc{color:var(--ink-soft); font-size:13px; margin:0 0 14px;}
.placeholder-tag{display:inline-block; background:#FFF3E6; color:var(--orange-dark); font-weight:700; font-size:11px; padding:4px 10px; border-radius:999px; margin-bottom:14px;}

table{width:100%; border-collapse:collapse; font-size:13px;}
th{background:var(--navy); color:#fff; text-align:left; padding:9px 10px; font-size:11.5px; text-transform:uppercase;}
td{padding:9px 10px; border-bottom:1px solid var(--line);}
.badge{font-size:11px; font-weight:700; padding:3px 9px; border-radius:999px;}
.badge.high{background:var(--red-bg); color:var(--red);}
.badge.med{background:var(--amber-bg); color:var(--amber);}
.badge.low{background:var(--green-bg); color:var(--green);}

.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.field.full{grid-column:1/-1;}
.field label{display:block; font-size:12.5px; font-weight:600; margin-bottom:5px;}
input,select,textarea{width:100%; padding:9px 11px; border:1px solid var(--line); border-radius:9px; font-family:inherit; font-size:13.5px;}
.error-box{background:var(--red-bg); color:var(--red); padding:12px 14px; border-radius:9px; margin-bottom:14px; font-size:13px;}
.success-box{background:var(--green-bg); color:var(--green); padding:12px 14px; border-radius:9px; margin-bottom:14px; font-size:13px;}

.login-body{display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:100vh; background:var(--bg);}
.login-shell{display:flex; max-width:820px; width:100%; margin:20px; border-radius:18px; overflow:hidden; box-shadow:0 12px 40px rgba(10,61,117,.15);}
.login-brand{flex:1; background:linear-gradient(135deg,var(--navy),var(--orange-dark)); color:#fff; padding:40px 34px;}
.login-brand .brand-mark{width:46px; height:46px; border-radius:12px; background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; font-weight:700; margin-bottom:14px;}
.login-brand h1{margin:0 0 4px; font-size:26px;}
.login-tagline{font-size:13px; opacity:.9; margin-top:18px; line-height:1.5;}
.login-version{font-size:11px; opacity:.7; margin-top:20px;}
.login-form-panel{flex:1; background:#fff; padding:40px 34px;}
.demo-hint{font-size:11.5px; color:var(--ink-soft); margin-top:14px;}
.login-shell.login-centered{max-width:420px; flex-direction:column;}
.login-shell.login-centered .login-brand{text-align:center; padding:30px 34px 20px;}
.login-shell.login-centered .login-tagline,.login-shell.login-centered .login-version{display:none;}
.lang-switch a{color:var(--ink-soft); text-decoration:none; font-weight:600;}
.lang-switch a.active{color:var(--orange-dark);}
