/* BasePonto: official navy/green identity. Status colors retain their meaning. */
:root{
  --brand-navy:#002644;--brand-navy-hover:#003b60;
  --brand-green:#008547;--brand-green-hover:#006c39;--brand-accent:#00b960;
  --brand-soft:#e8f5ee;--bg:#f2f6f7;--surface:#fff;--surface-soft:#f6faf8;
  --surface-strong:#e8f0ee;--text:#002644;--muted:#526574;
  --line:#d6e3df;--line-strong:#b4cac1;--dark:var(--brand-navy);
  --gold:var(--brand-green);--gold-strong:var(--brand-green-hover);--gold-soft:var(--brand-soft);
  --green:var(--brand-green);--green-soft:var(--brand-soft);
  --blue:var(--brand-navy-hover);--blue-soft:#eaf2f8;
  --red:#b42318;--red-soft:#fff0ef;--amber:#855b00;--amber-soft:#fff7df;
}
body{background:var(--bg);color:var(--text)}
::selection{background:#bdebd2;color:var(--brand-navy)}
body.admin-area{--bp-primary:var(--brand-green);--bp-deep:var(--brand-navy);--bp-sidebar:var(--brand-navy);--bp-bg:var(--bg);--bp-line:var(--line);--bp-accent:var(--brand-accent)}
.admin-area .bp-topbar,.top{background:var(--brand-navy);color:#fff}
.bp-sidebar{background:var(--brand-navy)}
.bp-sidebar details>div{background:#073550}
.bp-sidebar a,.bp-sidebar summary{color:#dce9ef}
.bp-sidebar a:hover,.bp-sidebar summary:hover,.bp-sidebar .bp-active{background:var(--brand-navy-hover);color:#fff;border-left-color:var(--brand-accent)}
.bp-user small{color:#bdebd2}
.bp-account>a:first-child{background:var(--brand-green)}
.bp-topbar .bp-brand,.topbar{background:#fff}
.topbar{border-bottom-color:var(--line)}
.login-area{background:radial-gradient(circle at 15% 12%,#00b96018,transparent 38%),linear-gradient(145deg,#f5faf8,#eaf1f6)}
.login-area .hero-logo-box,.auth-card .hero-logo-box{background:#fff;border-color:var(--line)}
.primary,.punch-main{background:var(--brand-green);color:#fff;box-shadow:0 5px 16px #00264418}
.primary:hover,.punch-main:hover{background:var(--brand-green-hover);color:#fff}
.page-head>.actions .primary{background:var(--brand-green)!important}
.admin-area button:not(.bp-menu-toggle):not(.password-visibility-button):hover,.admin-area .button:hover{background:var(--brand-green-hover)}
.secondary,.admin-area .secondary{background:#fff!important;color:var(--brand-navy)!important;border-color:var(--line-strong)!important}
.secondary:hover,.admin-area .secondary:hover{background:var(--brand-soft)!important}
.employee-hero,.dashboard-hero,.premium-kpi.kpi-dark,.report-summary,.document-summary{background:linear-gradient(120deg,var(--brand-navy),var(--brand-navy-hover));color:#fff;border-color:var(--brand-navy)}
.employee-hero h1,.dashboard-hero h1,.premium-kpi.kpi-dark b{color:#fff}
.admin-area .dashboard-hero{background:transparent;color:var(--text);border:0}
.admin-area .dashboard-hero h1{color:var(--brand-navy)}
.saas-account-line b,.admin-main-menu>a.active svg{color:#a8edc7}
.eyebrow,.text-action,.mini-link{color:var(--brand-green-hover)}
.text-action:hover,.mini-link:hover{color:var(--brand-navy)}
.hero-eyebrow{color:#bdebd2}
input[type=checkbox],input[type=radio],progress{accent-color:var(--brand-green)}
input:focus,select:focus,textarea:focus,.admin-area input:focus,.admin-area select:focus,.admin-area textarea:focus{border-color:var(--brand-green);outline:2px solid var(--brand-navy);outline-offset:2px;box-shadow:0 0 0 4px #00854718}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--brand-green);outline-offset:3px}
.bp-sidebar a:focus-visible,.bp-sidebar summary:focus-visible,.bp-topbar a:focus-visible,.bp-menu-toggle:focus-visible{outline-color:#fff}
.table th,.table-wrap th,table thead th{background:var(--brand-soft)!important;color:var(--brand-navy)!important;border-bottom-color:var(--line)}
.table tbody tr:hover,.table-wrap tbody tr:hover{background:#f2faf6}
.tabs a.active{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}
.admin-area .danger-button,.admin-area button.danger,.admin-area .danger.button,.admin-area .holiday-delete-button{background:var(--red-soft)!important;color:var(--red)!important;border-color:#f1ccc8!important}
.bp-terminal button:not(.logout){background:var(--brand-green);color:#fff}
.bp-terminal button:not(.logout):hover{background:var(--brand-green-hover)}
.bp-terminal.bp-terminal-activation{background:var(--brand-navy)}
.bp-terminal .card{color:var(--brand-navy)}
html.a11y-contrast body,html.a11y-contrast .topbar,html.a11y-contrast .card,html.a11y-contrast .bp-box,html.a11y-contrast #main-content{background:#000!important;color:#fff!important}
html.a11y-contrast h1,html.a11y-contrast h2,html.a11y-contrast h3,html.a11y-contrast label,html.a11y-contrast .muted{color:#fff!important}
html.a11y-contrast a:not(.button):not(.bp-brand){color:#ffeb3b!important}
@media print{body,.admin-area #main-content{background:#fff!important;color:#002644!important}.table th,table thead th{background:#e8f5ee!important;color:#002644!important}}
