:root{
  --navy:#1b2a4a; --navy2:#24365e; --gold:#c9a227; --bg:#f4f6fb;
  --green:#1e8e3e; --red:#d93025; --orange:#e8710a; --grey:#6b7280;
  --light:#eef1f7; --border:#dde3ee;
}
*{box-sizing:border-box}
body{margin:0;font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:#1f2937;font-size:14px}
a{color:inherit;text-decoration:none}

.layout{display:flex;min-height:100vh}
.sidebar{width:210px;background:var(--navy);color:#fff;flex-shrink:0;display:flex;flex-direction:column}
.sidebar .brand{padding:18px 16px;font-size:17px;font-weight:700;border-bottom:1px solid rgba(255,255,255,.12)}
.sidebar nav{flex:1;padding:10px 0}
.sidebar nav a{display:block;padding:10px 18px;color:#cfd7ea;font-size:13.5px}
.sidebar nav a:hover{background:var(--navy2);color:#fff}
.sidebar nav a.active{background:var(--gold);color:#1b2a4a;font-weight:600}
.sidebar .user-box{padding:14px 16px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:#cfd7ea}
.sidebar .user-box a{color:#ffb4b4;display:block;margin-top:4px}

.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{background:#fff;border-bottom:1px solid var(--border);padding:14px 24px;font-size:18px;font-weight:600;color:var(--navy)}
.content{padding:20px 24px;flex:1}

.flash{padding:10px 14px;border-radius:6px;margin-bottom:14px;font-size:13.5px}
.flash-success{background:#e6f4ea;color:#1e8e3e;border:1px solid #b7e1c3}
.flash-error{background:#fce8e6;color:#c5221f;border:1px solid #f6c6c2}

.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px;flex-wrap:wrap}
.toolbar .filters{display:flex;gap:8px;flex-wrap:wrap}

.btn{display:inline-block;padding:7px 14px;border-radius:6px;border:none;font-size:13px;cursor:pointer;font-weight:600}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--navy2)}
.btn-green{background:var(--green);color:#fff}
.btn-red{background:var(--red);color:#fff}
.btn-grey{background:#e5e7eb;color:#374151}
.btn-sm{padding:4px 9px;font-size:12px}

input[type=text],input[type=email],input[type=password],input[type=number],
input[type=date],select,textarea{
  padding:7px 9px;border:1px solid var(--border);border-radius:6px;font-size:13.5px;
  font-family:inherit;background:#fff;
}
textarea{resize:vertical}

.card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:18px}
.grid-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}
.tile{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px}
.tile .num{font-size:26px;font-weight:700;color:var(--navy)}
.tile .lbl{font-size:12.5px;color:var(--grey);margin-top:2px}
.tile.warn .num{color:var(--orange)}
.tile.danger .num{color:var(--red)}

table{width:100%;border-collapse:collapse;background:#fff}
table th{background:var(--light);text-align:left;padding:9px 10px;font-size:12.5px;color:var(--navy);border-bottom:1px solid var(--border)}
table td{padding:9px 10px;border-bottom:1px solid var(--border);font-size:13px}
table tr:hover td{background:#fafbfe}

.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11.5px;font-weight:600}
.badge-Active,.badge-Paid,.badge-Completed,.badge-Resolved,.badge-Closed,.badge-Final,.badge-Activated{background:#e6f4ea;color:#1e8e3e}
.badge-Expired,.badge-Revoked,.badge-Overdue,.badge-Cancelled{background:#fce8e6;color:#c5221f}
.badge-Requested,.badge-Open,.badge-Pending,.badge-Trial,.badge-Provisional,.badge-Sent{background:#fdecd2;color:#a05a00}
.badge-InProgress,.badge-Progress{background:#e0eaff;color:#2451c9}
.badge-Draft,.badge-Converted,.badge-Maintenance{background:#e5e7eb;color:#374151}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;max-width:760px}
.form-grid .full{grid-column:1/-1}
.form-field label{display:block;font-size:12.5px;color:var(--navy);margin-bottom:4px;font-weight:600}
.form-field input,.form-field select,.form-field textarea{width:100%}
.form-actions{margin-top:18px;display:flex;gap:10px}

.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy)}
.login-card{background:#fff;padding:34px 30px;border-radius:12px;width:320px}
.login-card h1{font-size:18px;color:var(--navy);margin:0 0 18px}
.login-card .form-field{margin-bottom:14px}
.login-card .btn{width:100%}

.section-title{font-size:15px;font-weight:700;color:var(--navy);margin:22px 0 10px}
.muted{color:var(--grey);font-size:12.5px}
.empty{padding:20px;text-align:center;color:var(--grey)}
