/* Update 032 — global user-friendly interface layer */
:root{
  --ui-sidebar:272px;--ui-green-950:#123b28;--ui-green-900:#174d32;--ui-green-800:#1d6040;--ui-green-700:#277a50;--ui-green-600:#31905f;--ui-green-100:#e4f4eb;--ui-green-50:#f2faf5;
  --ui-bg:#f4f7f5;--ui-surface:#fff;--ui-surface-2:#f8faf9;--ui-text:#1f2a24;--ui-muted:#68746d;--ui-border:#dfe7e2;--ui-border-strong:#cbd8d0;--ui-danger:#c33d49;--ui-warning:#bd7617;
  --ui-radius-sm:8px;--ui-radius:12px;--ui-radius-lg:16px;--ui-shadow-sm:0 1px 2px rgba(18,59,40,.04),0 6px 20px rgba(18,59,40,.045);--ui-shadow:0 16px 38px rgba(18,59,40,.10);--app-sidebar-width:var(--ui-sidebar);
}
html{background:var(--ui-bg);scroll-behavior:smooth}body{background:var(--ui-bg)!important;color:var(--ui-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.5}.app-shell{grid-template-columns:var(--ui-sidebar) minmax(0,1fr)}
/* Navigation */
.app-sidebar{padding:16px!important;gap:12px!important;background:var(--ui-green-950)!important;border:0!important;box-shadow:4px 0 22px rgba(12,47,31,.12)!important;overflow-x:hidden}.app-sidebar-header{min-height:54px;padding:2px 2px 8px;border-bottom:1px solid rgba(255,255,255,.11)}.app-brand{min-width:0;gap:11px!important}.app-brand>span{width:40px!important;height:40px!important;border-radius:10px!important;background:#fff!important;border:0!important;flex:0 0 40px}.app-brand strong{font-size:15px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-close-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border:0!important;background:rgba(255,255,255,.08)!important;border-radius:9px!important}.sidebar-close-button:hover{background:rgba(255,255,255,.16)!important;color:#fff!important}.sidebar-context{padding:2px 4px 0}.sidebar-context span{display:block;color:rgba(255,255,255,.56);font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.sidebar-context strong{display:block;color:#fff;font-size:13px;margin-top:2px}.sidebar-search{position:relative}.sidebar-search>i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.58);z-index:1}.sidebar-search input{width:100%;height:40px;padding:8px 34px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;outline:0}.sidebar-search input::placeholder{color:rgba(255,255,255,.56)}.sidebar-search input:focus{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.13);box-shadow:0 0 0 3px rgba(255,255,255,.07)}.sidebar-search kbd{position:absolute;right:9px;top:50%;transform:translateY(-50%);padding:2px 6px;border:0;border-radius:5px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.65);font-size:10px}.app-nav{gap:3px!important;overflow-y:auto;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.app-nav .nav-link{min-height:42px!important;padding:9px 10px!important;border-radius:9px!important;color:rgba(255,255,255,.78)!important;font-size:13.5px;line-height:1.25;transition:background .15s ease,color .15s ease!important}.app-nav .nav-link>i:first-child{width:20px;text-align:center;font-size:16px;opacity:.94}.app-nav .nav-link:hover,.app-nav .nav-link:focus-visible{background:rgba(255,255,255,.09)!important;color:#fff!important}.app-nav .nav-link.active:not(button){background:#fff!important;color:var(--ui-green-950)!important;font-weight:750;box-shadow:0 8px 20px rgba(0,0,0,.15)!important}.app-nav button.nav-link{margin-top:5px;background:transparent;border:0;color:rgba(255,255,255,.94)!important;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}.app-nav button.nav-link.active{background:rgba(255,255,255,.08)!important}.app-nav button.nav-link .bi-chevron-down{font-size:11px}.app-nav .collapse{margin:2px 0 4px 12px!important;padding:2px 0 2px 8px!important;border-left:1px solid rgba(255,255,255,.14)!important}.app-nav .collapse .nav-link{min-height:38px!important;padding:8px 9px!important;font-size:13px}.sidebar-nav-empty{display:none;padding:22px 12px;text-align:center;color:rgba(255,255,255,.65);font-size:12px}.sidebar-nav-empty i{display:block;font-size:22px;margin-bottom:6px}.sidebar-help{margin-top:auto;padding:10px 12px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.58);font-size:11px}.sidebar-help i{margin-right:5px}
/* Main and topbar */
.app-main{min-width:0;padding:0 28px 32px!important;background:radial-gradient(circle at 100% 0,rgba(49,144,95,.055),transparent 430px),var(--ui-bg)!important}.app-topbar{position:sticky;top:0;z-index:1020;min-height:78px;margin:0 -28px 24px!important;padding:14px 28px!important;background:rgba(244,247,245,.91)!important;border-bottom:1px solid rgba(203,216,208,.84)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:none!important}.sidebar-toggle-button{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;border-radius:10px!important;background:var(--ui-surface)!important;border-color:var(--ui-border)!important;color:var(--ui-green-800)!important;box-shadow:var(--ui-shadow-sm)!important}.app-topbar h1{font-size:22px!important;font-weight:760;letter-spacing:-.025em}.topbar-eyebrow{display:flex;align-items:center;gap:6px;color:var(--ui-muted);font-size:11px;font-weight:650}.topbar-eyebrow i{color:var(--ui-green-600)}.topbar-avatar{width:38px!important;height:38px!important;background:var(--ui-green-100)!important;color:var(--ui-green-800)!important;border:1px solid #cfe8d9}.topbar-user-card{padding:4px 6px 4px 4px;border-radius:10px}.topbar-user-card:hover{background:rgba(255,255,255,.7)}
/* Universal cards */
.section-panel,.metric-tile,.card,.print-sheet{background:var(--ui-surface)!important;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow-sm)!important}.section-panel{padding:22px!important}.section-heading{align-items:center!important;margin-bottom:18px!important}.section-heading h2{font-size:19px!important;font-weight:750;letter-spacing:-.015em}.section-heading p{max-width:760px;color:var(--ui-muted)!important}.metric-grid{gap:14px!important}.metric-tile{min-height:126px!important;padding:18px!important;overflow:hidden;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.metric-tile:hover{transform:translateY(-2px);border-color:var(--ui-border-strong)!important;box-shadow:var(--ui-shadow)!important}.metric-icon{width:38px!important;height:38px!important;margin-bottom:11px!important;border-radius:10px!important}.metric-tile strong{font-size:22px!important;letter-spacing:-.025em}.empty-state{padding:54px 20px!important;border:1px dashed var(--ui-border-strong);border-radius:var(--ui-radius);background:var(--ui-surface-2)}
/* Forms and actions */
.form-label{display:block;margin-bottom:6px;font-size:12px;font-weight:680;color:#445149}.form-control,.form-select,.input-group-text{min-height:40px;border-color:var(--ui-border-strong)!important;border-radius:var(--ui-radius-sm)!important;background-color:var(--ui-surface)!important;color:var(--ui-text)!important}.form-control:focus,.form-select:focus{border-color:var(--ui-green-600)!important;box-shadow:0 0 0 3px rgba(49,144,95,.13)!important}.input-group>.form-control:not(:first-child),.input-group>.form-select:not(:first-child){border-top-left-radius:0!important;border-bottom-left-radius:0!important}.input-group>.input-group-text:not(:last-child){border-top-right-radius:0!important;border-bottom-right-radius:0!important}.form-text{font-size:11.5px!important}.btn{min-height:38px;padding:.48rem .8rem;border-radius:9px!important;font-size:13px;font-weight:680;box-shadow:none!important}.btn-sm{min-height:32px;padding:.32rem .58rem}.btn-lg{min-height:45px;padding:.62rem 1rem}.btn-primary{--bs-btn-bg:var(--ui-green-700);--bs-btn-border-color:var(--ui-green-700);--bs-btn-hover-bg:var(--ui-green-800);--bs-btn-hover-border-color:var(--ui-green-800);--bs-btn-active-bg:var(--ui-green-900);--bs-btn-active-border-color:var(--ui-green-900)}.btn-outline-primary{--bs-btn-color:var(--ui-green-700);--bs-btn-border-color:#8dbca2;--bs-btn-hover-bg:var(--ui-green-700);--bs-btn-hover-border-color:var(--ui-green-700)}.badge{padding:.42em .62em;border-radius:6px!important;font-weight:680}.alert{border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:var(--ui-radius)!important;box-shadow:none!important}
/* Tables and data tools */
.table-responsive{border:1px solid var(--ui-border);border-radius:var(--ui-radius)!important;background:var(--ui-surface);scrollbar-width:thin;scrollbar-color:#bdc9c1 transparent}.table{--bs-table-bg:transparent;--bs-table-color:var(--ui-text);--bs-table-border-color:#e7ece9;margin-bottom:0!important}.table>thead>tr>th{position:relative;padding:.72rem .68rem!important;background:#f4f7f5!important;color:#5f6d64!important;font-size:10.5px!important;font-weight:780!important;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.table>tbody>tr>td{padding:.76rem .68rem!important}.table>tbody>tr:hover>*{background:var(--ui-green-50)!important}.table>tbody>tr:last-child>td{border-bottom:0}.table td .btn+.btn,.table td form+.btn,.table td .btn+form{margin-left:3px}.list-date-filter{min-width:145px!important}.pagination .page-link{color:var(--ui-green-700);border-color:var(--ui-border)}
/* Modals, dropdowns and tabs */
.modal-content{border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius-lg)!important;box-shadow:0 28px 70px rgba(17,49,32,.20)!important}.modal-header{padding:18px 22px!important;background:var(--ui-surface);border-bottom-color:var(--ui-border)!important}.modal-body{padding:22px!important;background:#fbfcfb!important}.modal-footer{padding:14px 22px!important;background:var(--ui-surface)!important;border-top-color:var(--ui-border)!important}.dropdown-menu{padding:7px;border:1px solid var(--ui-border)!important;border-radius:10px!important;box-shadow:var(--ui-shadow)!important}.dropdown-item{padding:8px 10px;border-radius:7px}.nav-tabs{gap:4px;border-bottom-color:var(--ui-border)}.nav-tabs .nav-link{border-radius:8px 8px 0 0!important;color:var(--ui-muted)}.nav-tabs .nav-link.active{color:var(--ui-green-800);font-weight:700}
/* Login */
.login-body{background:radial-gradient(circle at 15% 20%,rgba(79,164,111,.24),transparent 26rem),radial-gradient(circle at 90% 80%,rgba(24,77,50,.18),transparent 30rem),#edf5f0!important}.login-panel{border:1px solid rgba(203,216,208,.9)!important;border-radius:18px!important;box-shadow:0 24px 70px rgba(18,59,40,.14)!important}.brand-lock{background:var(--ui-green-800)!important;border-radius:12px!important}
/* Responsive */
@media(max-width:1100px){.app-main{padding:0 20px 26px!important}.app-topbar{margin:0 -20px 20px!important;padding:12px 20px!important}.app-sidebar{width:min(88vw,320px)!important;padding:16px!important}.sidebar-help{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}
@media(max-width:767.98px){.app-main{padding:0 12px 20px!important}.app-topbar{min-height:66px;margin:0 -12px 16px!important;padding:10px 12px!important}.app-topbar h1{font-size:17px!important}.topbar-eyebrow{display:none}.topbar-actions{gap:5px!important}.topbar-user-card{padding:0}.section-panel{padding:15px!important;border-radius:10px!important}.section-heading{align-items:stretch!important}.section-heading h2{font-size:17px!important}.section-heading>.d-flex{display:grid!important;grid-template-columns:1fr;gap:7px!important}.section-heading>.d-flex .btn,.section-heading>a,.section-heading>button{width:100%}.metric-grid{grid-template-columns:1fr!important}.metric-tile{min-height:108px!important}.table-responsive{margin-inline:0!important;padding-inline:0!important;border-radius:9px!important}.modal-dialog{margin:0!important}.modal-content{border-radius:0!important}.modal-header,.modal-body,.modal-footer{padding-left:16px!important;padding-right:16px!important}.modal-footer{display:grid!important;grid-template-columns:1fr}.modal-footer .btn{width:100%}.d-flex.flex-wrap.justify-content-between.align-items-end.gap-2.mb-3{padding:12px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface-2)}.list-date-filter{width:100%!important}.topbar-user-meta{display:none!important}}
@media(max-width:430px){.topbar-actions form .btn{width:38px;padding:0}.topbar-actions form .btn span{display:none!important}.section-panel{padding:13px!important}.btn{min-height:40px}}
@media print{.sidebar-search,.sidebar-context,.sidebar-help{display:none!important}}
