@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#17251e;--muted:#849089;--line:#e7ece8;--green:#245944;--mint:#edf4ef;--bg:#f5f7f5;--amber:#ac7936;--red:#a34d48;--shadow:0 9px 28px rgba(25,45,34,.045)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#fff;border-right:1px solid var(--line);padding:25px 18px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:2px 8px 38px;color:var(--ink);font:800 19px Manrope;text-decoration:none;letter-spacing:-.7px}.brand:hover{color:var(--green)}.brand small{display:block;color:#929c95;font:700 8px 'DM Sans';letter-spacing:1.4px;margin-top:2px}.brand-mark{width:36px;height:36px;background:var(--green);border-radius:11px;color:white;display:grid;place-items:center;font:700 20px Manrope;box-shadow:0 5px 12px #2459442c}.side-caption{font-size:9px;letter-spacing:1.25px;font-weight:700;color:#a0a9a2;padding:0 11px 11px}.side-nav{display:grid;gap:5px}.side-nav a{padding:11px;border-radius:9px;color:#737e76;text-decoration:none;display:flex;gap:12px;align-items:center;font-size:12px;font-weight:600}.side-nav a span{font-size:16px;width:18px;text-align:center}.side-nav a:hover,.side-nav a.active{background:#edf4ef;color:var(--green)}.sidebar-bottom{margin-top:auto}.user-box{display:flex;align-items:center;gap:10px;padding:11px 7px;border-top:1px solid var(--line)}.user-avatar{height:33px;width:33px;display:grid;place-items:center;border-radius:50%;background:#e5eee7;color:var(--green);font-size:13px;font-weight:700}.user-email{font-size:11px;font-weight:700;max-width:155px;overflow:hidden;text-overflow:ellipsis}.user-email small{display:block;color:var(--muted);font-weight:500;margin-top:2px}.logout-btn{border:0;background:transparent;padding:8px 9px;color:#7c8780;font-size:11px}.logout-btn:hover{color:var(--red)}.main-area{margin-left:250px;min-height:100vh}.topbar{height:62px;border-bottom:1px solid var(--line);background:#ffffffc7;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.topbar-label{color:#748078;font-size:11px}.secure-chip{font-size:10px;color:#568068;background:#edf4ef;padding:6px 9px;border-radius:20px}.page-content{max-width:1390px;padding:35px 38px 55px;margin:auto}.page-title-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:9px;letter-spacing:1.35px;color:#538067;font-weight:700;text-transform:uppercase}.page-title{font:700 27px Manrope;letter-spacing:-.8px;margin:5px 0}.page-subtitle{font-size:12px;color:var(--muted);margin:0}.panel-card,.stat-card{background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.stat-card{padding:17px 19px;min-height:126px}.stat-label{display:flex;align-items:center;justify-content:space-between;color:#7b867f;font-size:11px}.stat-icon{width:30px;height:30px;border-radius:9px;background:#f1f5f1;color:#4d785f;display:grid;place-items:center;font-size:15px}.stat-value{font:700 25px Manrope;letter-spacing:-.7px;margin:9px 0 2px}.stat-note{font-size:10px;color:#98a19b}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.dashboard-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.panel-card{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.panel-heading h2{font:700 14px Manrope;margin:0}.panel-heading a,.text-link{color:var(--green);font-weight:700;font-size:10px;text-decoration:none}.panel-heading a:hover,.text-link:hover{text-decoration:underline}.table{--bs-table-bg:transparent;margin:0;font-size:11px}.table thead th{font-size:9px;color:#929d95;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-bottom-color:#e9eeea;padding:10px 9px;white-space:nowrap}.table tbody td{padding:12px 9px;vertical-align:middle;border-bottom-color:#f0f2ef}.table tbody tr:last-child td{border-bottom:0}.name-cell{font-weight:700;color:#26372e}.sub-cell{font-size:9px;color:#9aa39c;margin-top:3px}.badge-soft{padding:5px 8px;border-radius:20px;font-size:9px;font-weight:700;white-space:nowrap}.badge-green{background:#edf5ef;color:#47775a}.badge-amber{background:#fff4e4;color:#a87832}.badge-red{background:#faeceb;color:#a34d48}.badge-gray{background:#f0f2f0;color:#747f77}.policy-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.summary-box{padding:12px;background:#f7f8f6;border-radius:10px}.summary-box strong{font:700 20px Manrope;display:block}.summary-box span{color:var(--muted);font-size:10px}.progress-row{margin-top:13px}.progress-label{display:flex;justify-content:space-between;color:#7c8780;font-size:10px;margin-bottom:6px}.progress{height:5px;background:#edf0ed}.progress-bar{background:#609175}.btn-primary{background:var(--green);border-color:var(--green);border-radius:8px;font-weight:650;font-size:11px;padding:9px 13px}.btn-primary:hover,.btn-primary:focus{background:#194734;border-color:#194734}.btn-outline-secondary,.btn-outline-success{border-radius:8px;font-size:11px;padding:8px 12px}.btn-sm{font-size:10px;padding:6px 9px}.toolbar{padding:17px;margin-bottom:13px}.filter-grid{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(130px,.8fr) minmax(120px,.7fr) auto auto;gap:9px;align-items:end}.form-label{font-size:10px;font-weight:700;color:#68756d;margin-bottom:5px}.form-control,.form-select{font-size:11px;border-color:#e2e8e3;border-radius:8px;padding:8px 10px;min-height:36px}.form-control:focus,.form-select:focus{border-color:#8ab09a;box-shadow:0 0 0 .18rem #5c8c6e1b}.validation-summary-errors,.field-validation-error{color:#a34d48;font-size:10px}.validation-summary-errors ul{margin-bottom:0}.field-validation-valid{display:none}.actions{display:flex;gap:5px;white-space:nowrap}.actions a{color:#597263;font-size:10px;text-decoration:none}.pagination{gap:4px}.page-link{font-size:10px;color:var(--green);border-color:var(--line);border-radius:6px!important}.page-item.active .page-link{background:var(--green);border-color:var(--green)}.form-card{padding:23px}.form-section-title{font:700 13px Manrope;padding-bottom:10px;border-bottom:1px solid var(--line);margin:4px 0 15px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.form-grid .wide{grid-column:span 3}.form-actions{border-top:1px solid var(--line);margin-top:20px;padding-top:17px;display:flex;justify-content:flex-end;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.detail-item{padding:12px;background:#f7f8f6;border-radius:9px}.detail-item small{display:block;color:#89948c;font-size:9px;margin-bottom:4px}.detail-item strong{font-size:12px;word-break:break-word}.alert{font-size:11px;border-radius:9px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 18% 15%,#e7f1e9 0,transparent 38%),#f5f7f5}.login-card{width:min(420px,calc(100vw - 32px));padding:30px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #1b35251a}.login-card .brand{padding:0 0 24px}.login-card h1{font:700 23px Manrope;margin:4px 0}.login-card>p{color:var(--muted);font-size:12px;margin:0 0 20px}.login-card .form-control{min-height:41px}.login-card .btn-primary{width:100%;min-height:40px;margin-top:6px}.empty-state{text-align:center;padding:34px;color:var(--muted);font-size:12px}
@media(max-width:1100px){.page-content{padding:27px 23px}.topbar{padding:0 23px}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr 1fr}.filter-grid .search-field{grid-column:span 3}}
@media(max-width:700px){.sidebar{position:static;width:auto;height:auto;padding:12px 15px}.brand{padding:0 4px 12px}.sidebar .side-caption,.side-nav,.sidebar-bottom{display:none}.main-area{margin-left:0}.topbar{height:45px;padding:0 16px}.page-content{padding:22px 14px 36px}.page-title-row{align-items:flex-start;gap:12px;flex-direction:column}.page-title{font-size:23px}.stat-grid{gap:9px}.stat-card{padding:13px;min-height:112px}.stat-value{font-size:22px}.filter-grid{grid-template-columns:1fr 1fr}.filter-grid .search-field{grid-column:span 2}.filter-grid button{width:100%}.table-responsive{margin:0 -8px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:span 2}.detail-grid{grid-template-columns:1fr 1fr}.panel-card{padding:15px}.dashboard-grid{gap:11px}}
