/* PESS ONE PROX 2.1.0 – consolidated design layer. Reads live Brand Control tokens. */
:root{--p210-primary:var(--pess-primary,#0A4929);--p210-accent:var(--pess-accent,#AFC936);--p210-ink:var(--ink-900,#17221C);--p210-line:var(--line,#E1E8E3);--p210-soft:var(--surface-muted,#F7FAF8);--p210-card:var(--surface,#fff)}
body{letter-spacing:-.005em;line-height:1.52;font-family:var(--pess-font,'Inter','Poppins',sans-serif)}
:focus-visible{outline:3px solid var(--p210-accent)!important;outline-offset:3px}
.content-area{padding-block:clamp(18px,2vw,34px)!important;max-width:1650px}
.page-title{font-size:clamp(1.55rem,2.15vw,2.25rem);letter-spacing:-.045em;font-weight:780;line-height:1.19}
.page-subtitle{font-size:.89rem;line-height:1.65}
.section-kicker{letter-spacing:.12em;font-size:.69rem;font-weight:790}
.panel{border:1px solid var(--p210-line);border-radius:var(--radius,16px);box-shadow:0 8px 28px rgba(8,46,27,.035);padding:clamp(16px,1.8vw,24px)}
.panel-head h2{letter-spacing:-.025em}
.table-wrap{border-radius:12px;overflow-x:auto}
.table-wrap th{font-size:.73rem;letter-spacing:.035em;text-transform:uppercase;background:var(--p210-soft);color:var(--p210-ink)}
.table-wrap td{font-size:.85rem}
.btn,.quick-create{transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.btn:hover,.quick-create:hover{transform:translateY(-1px)}
input,select,textarea{font:inherit}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--p210-accent) 55%,transparent);outline-offset:1px}
.sidebar{border-right:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,var(--pess-sidebar,#0a4929),#082c21 62%,#081f17)}
.sidebar .brand{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.10)}
.sidebar .brand-copy strong{letter-spacing:.02em}
.sidebar .workspace-chip{border:1px solid rgba(195,223,183,.18);background:rgba(233,247,231,.065)}
.nav-department{border:1px solid transparent;transition:border-color .2s ease,background .2s ease}
.nav-department[open]{border-color:rgba(230,244,211,.15);background:rgba(252,255,244,.035)}
.nav-department-toggle,.nav-main-toggle{min-height:44px}
.nav-department-toggle:hover,.nav-main-toggle:hover{background:rgba(255,255,255,.065)}
.nav-subitem{min-height:37px;transition:background .16s ease}
.nav-subitem.active{border-left:3px solid var(--p210-accent);background:rgba(193,220,144,.15);box-shadow:inset 1px 0 0 rgba(255,255,255,.08)}
.nav-quick-departments{display:flex;align-items:center;gap:11px;text-decoration:none;color:#e1eee1;padding:11px 12px;margin:6px 2px 8px;border:1px solid rgba(205,232,197,.18);border-radius:12px;min-height:50px;background:rgba(255,255,255,.048)}
.nav-quick-departments:hover,.nav-quick-departments.active{background:rgba(198,231,162,.14);color:#fff;border-color:rgba(211,234,168,.45)}
.nav-quick-departments>svg{width:17px;height:17px;flex:none}
.nav-quick-departments>svg:last-child{margin-left:auto;opacity:.6;width:12px}
.nav-quick-departments span{min-width:0;display:grid;gap:2px}
.nav-quick-departments b{font-size:12px;line-height:1.3}
.nav-quick-departments small{font-size:9px;opacity:.72;line-height:1.4}
body.sidebar-compact .nav-quick-departments{justify-content:center;padding:11px 0}
body.sidebar-compact .nav-quick-departments span,body.sidebar-compact .nav-quick-departments svg:last-child{display:none}
.employee-welcome{border-radius:19px;background:linear-gradient(115deg,var(--p210-card) 15%,var(--p210-soft) 75%);border-top:3px solid var(--p210-accent);box-shadow:0 10px 35px rgba(11,54,32,.045);padding:26px}
.employee-welcome h1{letter-spacing:-.045em;line-height:1.16}
.compact-kpis{gap:12px;margin:20px 0 24px}
.compact-kpi{min-height:114px;border:1px solid var(--p210-line)!important;border-top:3px solid var(--p210-accent)!important;background:var(--p210-card)!important;box-shadow:0 12px 26px rgba(13,46,31,.045)!important;transition:transform .18s ease,box-shadow .18s ease}
.compact-kpi:hover{transform:translateY(-3px);box-shadow:0 15px 28px rgba(13,46,31,.085)!important}
.compact-kpi strong{font-size:clamp(1.65rem,2.2vw,2.25rem);line-height:1.15}
.v27-workflow{border-radius:19px;border:1px solid var(--p210-line);box-shadow:0 12px 35px rgba(6,30,18,.04)}
.v27-flow-stage{transition:transform .15s ease,box-shadow .15s ease}
.v27-flow-stage:hover{transform:translateY(-2px)}
.p210-home-departments{margin:16px 0 20px;border:1px solid var(--p210-line);border-radius:18px;background:var(--p210-card);padding:clamp(17px,1.9vw,23px);box-shadow:0 10px 24px rgba(7,39,24,.035)}
.p210-home-head{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:15px}
.p210-home-head h2{font-size:1.24rem;line-height:1.2;letter-spacing:-.03em;margin:1px 0 5px}
.p210-home-head p{margin:0;color:var(--ink-500);font-size:.79rem}
.p210-home-head>a{text-decoration:none;font-weight:790;color:var(--p210-primary);font-size:.79rem;white-space:nowrap}
.p210-home-department-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px}
.p210-home-department-grid a{display:flex;align-items:center;gap:10px;border:1px solid var(--p210-line);border-radius:13px;background:var(--p210-soft);padding:13px 12px;text-decoration:none;color:var(--p210-ink);min-width:0;transition:background .15s ease,border-color .15s ease}
.p210-home-department-grid a:hover{border-color:var(--p210-accent);background:var(--p210-card)}
.p210-home-dept-num{flex:none;display:grid;place-items:center;background:var(--p210-primary);color:#fff;border-radius:10px;width:36px;height:36px;font-size:11px;font-weight:800}
.p210-home-department-grid a>div{display:grid;gap:1px;min-width:0}
.p210-home-department-grid small{font-size:.63rem;color:var(--ink-500);line-height:1.35}
.p210-home-department-grid b{font-size:.75rem;line-height:1.3}
.p210-home-department-grid a>span:last-child{font-size:9px;font-weight:750;color:var(--p210-primary);margin-left:auto;white-space:nowrap}
.p210-dept-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:clamp(23px,3vw,42px);margin-bottom:23px;background:linear-gradient(132deg,var(--p210-primary) 0%,var(--pess-secondary,#16542D) 85%);border-radius:21px;color:#fff;box-shadow:0 20px 50px rgba(6,39,21,.12)}
.p210-dept-hero:after{content:"";position:absolute;width:360px;height:360px;right:-120px;top:-205px;border:65px solid rgba(241,253,226,.05);border-radius:50%;pointer-events:none}
.p210-dept-hero .section-kicker{color:#d9efa7}
.p210-dept-hero h1{font-size:clamp(1.8rem,3vw,2.7rem);margin:8px 0 10px;line-height:1.14;letter-spacing:-.05em;color:#fff}
.p210-dept-hero p{max-width:760px;color:#e3f1e7;margin:0;line-height:1.8;font-size:.87rem}
.p210-dept-hero-number{min-width:130px;text-align:center;padding:13px 15px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(255,255,255,.08)}
.p210-dept-hero-number b{display:block;font-size:2.6rem;color:#e0efaa;letter-spacing:-.05em;line-height:1}
.p210-dept-hero-number span{font-size:11px;opacity:.86}
.p210-dept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(264px,1fr));gap:15px;margin-bottom:25px}
.p210-dept-card{display:flex;flex-direction:column;gap:16px;min-height:196px;border:1px solid var(--p210-line);border-radius:17px;background:var(--p210-card);padding:20px;text-decoration:none;color:var(--p210-ink);box-shadow:0 9px 26px rgba(12,42,21,.037);transition:transform .2s,border-color .2s,box-shadow .2s}
.p210-dept-card:hover{transform:translateY(-3px);border-color:var(--p210-accent);box-shadow:0 18px 40px rgba(12,42,21,.09)}
.p210-dept-mark{display:grid;place-items:center;align-self:start;width:42px;height:42px;border-radius:11px;background:color-mix(in srgb,var(--p210-accent) 20%,white);font-size:13px;font-weight:880;color:var(--p210-primary)}
.p210-dept-card h2{font-size:1.08rem;line-height:1.32;letter-spacing:-.025em;margin:3px 0 8px}
.p210-dept-card small{font-size:10px;font-weight:750;color:var(--pess-secondary)}
.p210-dept-card p{font-size:.77rem;color:var(--ink-500);line-height:1.65;margin:0}
.p210-dept-tail{border-top:1px solid var(--p210-line);padding-top:12px;display:flex;align-items:center;justify-content:space-between;color:var(--p210-primary);font-weight:800;font-size:.76rem;margin-top:auto}
.p210-dept-back{color:#dcf0d4;font-size:.77rem;display:block;margin-bottom:18px;font-weight:750}
.p210-dept-step>div:first-child{margin-bottom:18px}.p210-dept-step h2{font-size:1.35rem;margin:0 0 8px;letter-spacing:-.03em}.p210-dept-step p{font-size:.83rem;color:var(--ink-500);max-width:750px}
.p210-dept-foot{border-top:1px solid var(--p210-line);display:flex;justify-content:space-between;gap:12px;padding:17px 3px;color:var(--ink-500);font-size:.78rem;flex-wrap:wrap}
.p210-dept-foot a{color:var(--p210-primary);font-weight:750;text-decoration:none}
.p210-brand-presets{padding:16px;border:1px solid var(--p210-line);border-radius:14px;background:var(--p210-soft);margin:7px 0 16px}
.p210-brand-presets h3{font-size:.98rem;margin:4px 0}.p210-brand-presets p{font-size:.72rem;color:var(--ink-500);margin:0}
.p210-preset-buttons{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.p210-preset-buttons button{font:inherit;font-size:11px;font-weight:800;padding:10px 13px;border:1px solid var(--p210-line);border-radius:9px;background:var(--p210-card);color:var(--p210-ink);cursor:pointer}
.p210-preset-buttons button:hover,.p210-preset-buttons button[aria-pressed="true"]{border-color:var(--p210-accent);background:color-mix(in srgb,var(--p210-accent) 20%,white);color:var(--p210-primary)}
.pp-public-body .pp-entry-card,.pp-enquiry-form,.pp-hero-aside{box-shadow:0 18px 40px rgba(5,35,18,.065)}
.pp-auth-card h2{font-weight:800;letter-spacing:-.045em}
.pp-auth-form{border:1px solid #dfe9e0;box-shadow:0 22px 45px rgba(6,35,18,.085)}
@media(max-width:800px){.p210-dept-hero{align-items:flex-start;flex-direction:column}.p210-dept-hero-number{min-width:115px;align-self:flex-start}.p210-home-head{flex-wrap:wrap}.p210-home-department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:570px){.p210-dept-grid,.p210-home-department-grid{grid-template-columns:1fr}.p210-home-departments{padding:14px}.p210-dept-card{min-height:165px}.p210-home-head>a{white-space:normal}}
@media print{.p210-home-departments,.p210-dept-hero,.p210-dept-card{box-shadow:none}.nav-quick-departments{display:none}}
@media(prefers-reduced-motion:reduce){.p210-dept-card,.p210-home-department-grid a,.compact-kpi,.btn{transition:none!important;transform:none!important}}
