/* POST CMS  |  palette: #5A3A24 #2F5D46 #B5854F #8DB596 #F3E9D8 */
:root{
  /* Corporate palette: forest green, white, soft gray, subtle gold */
  --bg:#F3F5F4; --surface:#FFFFFF; --surface-2:#F7F9F8; --surface-3:#EEF2F0;
  --border:#E1E6E3; --border-strong:#C9D2CD;
  --text:#17211D; --text-2:#45524C; --text-3:#66736D;
  --primary:#1F5A41; --primary-hover:#174633; --primary-soft:#E6F0EA; --primary-line:#B9D2C4; --on-primary:#FFFFFF; --link:#1F5A41;
  --nav-bg:#11342A; --nav-bg-2:#0D2A21; --nav-text:#C3D3CA; --nav-text-dim:#86A094; --nav-hover:rgba(255,255,255,.06); --nav-active:rgba(255,255,255,.09);
  --gold:#B08A3E; --gold-strong:#8E6E2C; --gold-soft:#F7F0E1;
  --success:#2B7A55; --success-soft:#E4F2EA; --warning:#9C6512; --warning-soft:#FBF0DC; --danger:#B23E2E; --danger-soft:#FBE8E4; --info:#2A6589; --info-soft:#E5EFF6;
  --chart-1:#1F5A41; --chart-2:#B08A3E; --chart-3:#7FA894; --chart-grid:#E7ECE9;
  --shadow-1:0 1px 2px rgba(17,40,32,.06),0 1px 1px rgba(17,40,32,.03); --shadow-2:0 12px 32px rgba(17,40,32,.16);
  --font:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --r-sm:6px; --r:8px; --r-lg:12px;
  /* names used by older component rules, mapped onto the new palette */
  --brown:var(--text); --green:var(--primary); --green-deep:var(--primary-hover); --tan:var(--gold); --sage:var(--primary-line);
  --cream:var(--surface-2); --ink:var(--text); --muted:var(--text-3); --paper:var(--surface); --line:var(--border);
  --sage-soft:var(--primary-soft); --tan-soft:var(--gold-soft); --brown-soft:var(--surface-3);
  --serif:var(--font); --sans:var(--font);
  color-scheme:light;
}
[data-theme="dark"]{
  --bg:#0D1411; --surface:#141D19; --surface-2:#18231E; --surface-3:#1E2A25;
  --border:#26332D; --border-strong:#34443D;
  --text:#E3EAE6; --text-2:#B7C4BD; --text-3:#8D9C95;
  --primary:#2E7A57; --primary-hover:#358A63; --primary-soft:#183428; --primary-line:#2C5543; --on-primary:#FFFFFF; --link:#7CC3A1;
  --nav-bg:#0A1310; --nav-bg-2:#08100D; --nav-text:#B9C9C0; --nav-text-dim:#73887E; --nav-hover:rgba(255,255,255,.05); --nav-active:rgba(255,255,255,.08);
  --gold:#D3B067; --gold-strong:#E1C385; --gold-soft:#2A2416;
  --success:#6CC79A; --success-soft:#14301F; --warning:#E2B055; --warning-soft:#33280F; --danger:#F08C7C; --danger-soft:#3A1B16; --info:#7DB6DA; --info-soft:#132835;
  --chart-1:#5FAE87; --chart-2:#D3B067; --chart-3:#3E6F5A; --chart-grid:#24312B;
  --shadow-1:0 1px 2px rgba(0,0,0,.4); --shadow-2:0 14px 36px rgba(0,0,0,.55);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 var(--sans)}
a{color:var(--green)} a:hover{color:var(--green-deep)}
:focus-visible{outline:2px solid var(--tan);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--green);color:var(--cream);padding:.5rem 1rem;z-index:20}.skip:focus{left:0}
.muted{color:var(--muted)} .hint{color:var(--muted);font-size:.85rem;margin:.35rem 0 0}
h1,h2,h3{font-family:var(--serif);color:var(--brown);font-weight:600;line-height:1.25}
h2{font-size:1.2rem;margin:0 0 .9rem} h3{font-size:1.02rem;margin:1.25rem 0 .5rem}
h2 .sub{font:400 .9rem var(--sans);color:var(--muted);margin-left:.5rem}

/* Shell */
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.side{background:var(--green);color:var(--cream);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}
.brand{padding:1.6rem 1.4rem 1.3rem;border-bottom:1px solid rgba(243,233,216,.14)}
.brand .mark{display:block;font:600 1.9rem/1 var(--serif);letter-spacing:.06em;color:var(--cream)}
.brand .mark::after{content:"";display:block;width:2.2rem;height:3px;background:var(--tan);margin-top:.55rem}
.brand-sub{display:block;font-size:.8rem;color:var(--sage);margin-top:.55rem}
.brand.dark .mark{color:var(--brown)} .brand.dark{border-color:var(--line);padding:0 0 1.2rem;margin-bottom:1.2rem} .brand.dark .brand-sub{color:var(--muted)}
.side nav{padding:.9rem .7rem;flex:1}
.side nav a{display:block;color:rgba(243,233,216,.86);text-decoration:none;padding:.55rem .8rem;border-radius:var(--r);margin-bottom:2px;border-left:3px solid transparent}
.side nav a:hover{background:rgba(243,233,216,.08);color:var(--cream)}
.side nav a.on{background:rgba(243,233,216,.13);color:var(--cream);border-left-color:var(--tan);font-weight:600}
.me{padding:1rem 1.4rem 1.4rem;border-top:1px solid rgba(243,233,216,.14);font-size:.85rem}
.me-name{font-weight:600}.me-roles{color:var(--sage);margin:.15rem 0 .6rem}
.me-links{display:flex;gap:1rem}.me-links a{color:var(--cream)}
.main-wrap{min-width:0}
.top{display:flex;align-items:center;gap:1rem;padding:1.4rem 2.2rem .4rem}
.top h1{margin:0;font-size:1.65rem}
.menu-btn{display:none;background:var(--green);color:var(--cream);border:0;border-radius:var(--r);padding:.45rem .8rem;font:inherit;cursor:pointer}
main{padding:1rem 2.2rem 3rem;max-width:1280px}

/* Surfaces */
.panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:1.3rem 1.4rem;margin-bottom:1.25rem}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem 1.1rem}
.panel .grid2,.panel .grid3{gap:.9rem 1.1rem}
.grid2>.panel{margin-bottom:0}.grid2{margin-bottom:1.25rem}
.stack>*+*{margin-top:.9rem}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.toolbar .tabs{margin:0}
.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;margin-top:1rem}.actions form{margin:0}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.9rem;margin-bottom:1.4rem}
.stat{display:flex;flex-direction:column;gap:.25rem;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--line);border-radius:10px;padding:1rem 1.1rem;text-decoration:none;color:var(--ink)}
.stat .n{font:600 2rem/1 var(--serif);color:var(--brown)}.stat .l{color:var(--muted);font-size:.88rem}
.stat.has{border-top-color:var(--tan)} a.stat:hover{border-color:var(--tan)}

/* Forms */
label{display:flex;flex-direction:column;gap:.3rem;font-size:.86rem;font-weight:500;color:var(--brown)}
input,select,textarea{font:inherit;font-size:.93rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);padding:.5rem .65rem;width:100%;min-width:0}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(47,93,70,.15)}
input[readonly],textarea[readonly],select:disabled{background:#F7F1E6;color:var(--ink)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--green)}
label.check{flex-direction:row;align-items:center;gap:.45rem;font-weight:400;color:var(--ink)}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:.6rem .9rem;margin:0}
legend{font-size:.86rem;font-weight:500;color:var(--brown);padding:0 .3rem}
fieldset.days,.checks-row{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}
fieldset.yn{display:flex;gap:1.2rem}
form.inline{display:flex;gap:.45rem;align-items:center;margin:0}
form.inline.wrap{flex-wrap:wrap} form.inline input,form.inline select{width:auto;max-width:260px}
.filters{display:flex;gap:.5rem;flex-wrap:wrap}.filters input,.filters select{width:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:600 .9rem var(--sans);background:var(--green);color:var(--cream);border:1px solid var(--green);border-radius:var(--r);padding:.55rem 1rem;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--green-deep);color:var(--cream)}
.btn.ghost{background:transparent;color:var(--brown);border-color:#CDB89A}.btn.ghost:hover{background:var(--tan-soft);color:var(--brown)}
.btn.small{padding:.32rem .65rem;font-size:.8rem}.btn.wide{width:100%}

/* Tables */
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;color:var(--brown);font-size:.8rem;background:#F6EEE1}
tbody tr:hover{background:#FDFAF4}
tr.dim td{opacity:.55}
.row-actions{display:flex;gap:.35rem;flex-wrap:wrap}.row-actions form{margin:0}
.warn-num{color:#9A3D1C;font-weight:600}
table.factors td:first-child{width:45%} table.factors select{width:5.5rem}

/* Chips, lists, misc */
.chip{display:inline-block;font-size:.75rem;font-weight:600;padding:.16rem .55rem;border-radius:999px;white-space:nowrap}
.chip.good{background:var(--sage-soft);color:var(--green-deep);border:1px solid var(--sage)}
.chip.neutral{background:var(--tan-soft);color:#7A5428;border:1px solid #DDBF95}
.chip.bad{background:var(--brown-soft);color:var(--brown);border:1px solid #C9AE98}
.role-chip{display:inline-flex;align-items:center;gap:.2rem;background:var(--sage-soft);border:1px solid var(--sage);color:var(--green-deep);border-radius:999px;padding:.1rem .2rem .1rem .6rem;font-size:.78rem;margin:0 .25rem .25rem 0}
.role-chip .x{background:none;border:0;color:var(--green-deep);cursor:pointer;font-size:1rem;line-height:1;padding:0 .3rem}
ul.list{list-style:none;margin:0 0 .8rem;padding:0}
ul.list li{padding:.55rem 0;border-bottom:1px solid var(--line);display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
ul.list li:last-child{border-bottom:0}
.due{font-size:.82rem;color:var(--muted)}.due.late{color:#9A3D1C;font-weight:600}
.empty{color:var(--muted);font-style:italic;margin:.3rem 0}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:.45rem 1.2rem;margin:0 0 1rem}
dl.kv dt{color:var(--muted);font-size:.85rem}dl.kv dd{margin:0}
dl.inline-kv{grid-auto-flow:column;grid-template-rows:auto auto;grid-template-columns:none;gap:.15rem 2rem;justify-content:start}
.head-row dl{margin:0}
.head-row{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start}
.score-badge{background:var(--green);color:var(--cream);border-radius:10px;padding:.8rem 1.1rem;text-align:center;min-width:120px}
.score-badge .n{display:block;font:600 2.2rem/1 var(--serif)}.score-badge .l{font-size:.78rem;color:var(--sage)}
.flash{padding:.75rem 1rem;border-radius:var(--r);margin-bottom:1rem;border-left:4px solid}
.flash.ok{background:var(--sage-soft);border-color:var(--green)}.flash.err{background:var(--brown-soft);border-color:var(--brown)}
.flash.warn{background:var(--tan-soft);border-color:var(--tan)}
code.pw{font-size:1.05rem;background:var(--surface);padding:.1rem .45rem;border-radius:4px;border:1px solid var(--line)}
.tabs{display:flex;gap:.3rem;border-bottom:2px solid var(--line);margin-bottom:1.1rem;flex-wrap:wrap}
.tabs a{padding:.5rem .9rem;text-decoration:none;color:var(--muted);font-weight:500;border-bottom:3px solid transparent;margin-bottom:-2px}
.tabs a.on{color:var(--brown);border-bottom-color:var(--tan)}
ol.steps{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;padding:0;margin:1.2rem 0 0;counter-reset:s}
ol.steps li{counter-increment:s;font-size:.75rem;padding:.3rem .6rem;border-radius:999px;background:#F1E8DA;color:var(--muted)}
ol.steps li::before{content:counter(s) ". "}
ol.steps li.done{background:var(--sage-soft);color:var(--green-deep)}ol.steps li.now{background:var(--green);color:var(--cream);font-weight:600}
ul.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--line)}ul.timeline li{padding:.3rem 0 .6rem .9rem;position:relative;font-size:.88rem}
ul.timeline li::before{content:"";position:absolute;left:-6px;top:.6rem;width:10px;height:10px;border-radius:50%;background:var(--tan)}
details pre{white-space:pre-wrap;word-break:break-word;font-size:.75rem;background:var(--surface);border:1px solid var(--line);padding:.5rem;border-radius:4px;max-width:520px}
.doc-panel form.upload{border-top:1px dashed var(--line);padding-top:1rem;margin-top:1rem}

/* Auth / install */
body.auth{display:grid;place-items:center;min-height:100vh;padding:1.5rem;background:var(--green)}
.auth-card{background:var(--paper);border-radius:12px;padding:2rem;width:100%;max-width:400px;border-top:6px solid var(--tan)}
.auth-card.wide{max-width:720px}
ul.checks{list-style:none;padding:0}ul.checks li{padding:.45rem 0;border-bottom:1px solid var(--line)}
ul.checks li.pass strong{color:var(--green)}ul.checks li.fail strong{color:#9A3D1C}
pre.key{background:var(--surface);border:1px solid var(--line);padding:.7rem;border-radius:var(--r);user-select:all;overflow-x:auto}

/* Paper forms */
body.print-page{background:#ddd2c0}
.print-bar{display:flex;gap:.6rem;justify-content:center;padding:1rem}
.paper{background:#fff;color:#111;max-width:210mm;margin:0 auto 2rem;padding:14mm 14mm 10mm;font:10.5pt/1.4 var(--sans)}
.paper-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:3px solid var(--green);padding-bottom:.6rem;margin-bottom:.8rem}
.paper-head .mark{font:600 1.6rem/1 var(--serif);color:var(--brown);letter-spacing:.05em}
.paper-title{text-align:right;font:600 1.15rem/1.2 var(--serif);color:var(--green)}.paper-title span{font:400 .8rem var(--sans);color:#555}
.paper h3{font-size:.95rem;margin:.9rem 0 .3rem;color:var(--green)}
.paper-grid{border:1px solid #999;margin-bottom:.4rem;font-size:9.5pt}.paper-grid th,.paper-grid td{border:1px solid #999;padding:.3rem .45rem;background:none;color:#111}
.paper-grid th{background:#f2ece2;font-size:8.5pt}.paper-grid td.c{text-align:center}
.paper .box{border:1px solid #999;min-height:16mm;padding:.35rem .5rem}.paper .box.tall{min-height:45mm}
.paper .small{font-size:8.5pt;color:#333}.tick{margin-right:1rem}
.sigs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:12mm;font-size:8.5pt;color:#333}
.sigs div{display:flex;flex-direction:column;gap:.3rem}.sigs span{border-bottom:1px solid #111;height:12mm}
.paper-foot{margin-top:8mm;border-top:1px solid #999;padding-top:.3rem;font-size:7.5pt;color:#444}
@media print{body.print-page{background:#fff}.no-print{display:none}.paper{margin:0;padding:0;max-width:none}@page{size:A4;margin:12mm}}

/* Responsive */
@media (max-width:980px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}dl.inline-kv{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:max-content 1fr}}
@media (max-width:820px){
  .head-row{flex-wrap:wrap}
  .shell{display:block}
  .side{position:fixed;inset:0 auto 0 0;width:260px;transform:translateX(-100%);transition:transform .2s;z-index:10}
  .side.open{transform:none}
  .menu-btn{display:inline-block}
  .top{padding:1rem 1.1rem .3rem}.top h1{font-size:1.3rem}
  main{padding:.8rem 1.1rem 2.5rem}
  .grid2,.grid3{grid-template-columns:1fr}
  form.inline{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

.check-inline{display:inline-flex;align-items:center;gap:.35rem;font-weight:400;color:var(--muted);font-size:.8rem}
.revealed{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;background:var(--tan-soft);padding:.1rem .4rem;border-radius:4px}
.logo-tile{display:inline-block;background:var(--paper);border-radius:6px;padding:.45rem .6rem}
.logo-tile img{display:block;max-height:44px;max-width:170px}
.brand.dark .logo-tile{padding:0;background:none}
.print-logo{max-height:16mm;max-width:60mm}
.img-field{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.img-field .thumb{width:84px;height:84px;object-fit:contain;background:var(--surface);border:1px solid var(--line);border-radius:6px}
.img-field .thumb.ph{background:repeating-linear-gradient(135deg,#eee5d6 0 6px,#f7f1e7 6px 12px)}
.rows{display:grid;gap:1rem}
.row-card{border:1px solid var(--line);border-radius:8px;padding:1rem;background:var(--surface)}
.row-card.new{border-style:dashed;background:transparent}
.row-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem}
.row-head input[type=number]{width:5rem}

/* Top bar: Manila clock + notifications */
.top{justify-content:space-between;flex-wrap:wrap}
.top-right{display:flex;align-items:center;gap:1rem;margin-left:auto}
.ph-clock{font-size:.85rem;color:var(--muted);white-space:nowrap}
.bell{position:relative;display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--paper);border:1px solid var(--line);color:var(--brown)}
.bell svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.badge-count{position:absolute;top:-4px;right:-4px;min-width:1.2rem;height:1.2rem;padding:0 .3rem;border-radius:999px;background:var(--tan);color:#fff;font-size:.7rem;font-weight:700;display:grid;place-items:center}
.badge-count[hidden]{display:none}
.toast{position:fixed;right:1.2rem;bottom:1.2rem;background:var(--green);color:var(--cream);padding:.8rem 1.1rem;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.18);z-index:30;max-width:22rem}
.toast a{color:var(--cream);font-weight:600}
.notif-list li{justify-content:space-between}.notif-list li.unread a{font-weight:700}
.notif-list li.unread::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--tan)}
/* Team schedule grid */
.week-nav{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.week-grid th,.week-grid td{text-align:center;font-size:.82rem;min-width:7.5rem}
.week-grid th:first-child,.week-grid td:first-child{text-align:left;min-width:11rem}
.week-grid .today{box-shadow:inset 0 3px 0 var(--tan)}
.week-grid .cell.rest{background:#F1E8DA;color:var(--muted)}
.week-grid .cell.leave{background:var(--sage-soft);color:var(--green-deep);font-weight:600}
.week-grid .cell.pending{background:repeating-linear-gradient(135deg,#FBF3E6 0 6px,#F3E4CF 6px 12px);color:#7A5428}
.week-grid tr.group td{background:#F6EEE1;font-weight:700;color:var(--brown);text-align:left}
.week-grid tfoot th{background:#F6EEE1}
details.hist summary{cursor:pointer;font-size:.78rem;color:var(--muted);margin-top:.3rem}
details.hist .timeline{margin-top:.4rem}
summary.h-sum{cursor:pointer;font:600 1.05rem var(--serif);color:var(--brown)}
.sched-note{background:var(--sage-soft);border-left:4px solid var(--green);padding:.6rem .8rem;border-radius:4px;font-size:.88rem}
.dash-grid{margin-bottom:1.25rem}.dash-grid>.panel{margin-bottom:0}
@media (max-width:820px){.ph-clock{display:none}}

/* Schedule section */
.sched-box{display:grid;gap:1rem;padding:1rem 1.1rem}
.field-label{display:block;font-size:.86rem;font-weight:500;color:var(--brown);margin-bottom:.4rem}
.rest-mode{display:grid;gap:.4rem}
.day-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.3rem}
.chip-check{position:relative;cursor:pointer}
.chip-check input{position:absolute;opacity:0;width:1px;height:1px}
.chip-check span{display:inline-block;min-width:3.2rem;text-align:center;padding:.4rem .7rem;border:1.5px solid var(--border-strong);border-radius:999px;background:var(--surface);font-size:.85rem;font-weight:500;color:var(--ink)}
.chip-check input:checked+span{background:var(--brown);border-color:var(--brown);color:var(--cream)}
.chip-check input:focus-visible+span{outline:2px solid var(--tan);outline-offset:2px}
[hidden]{display:none!important}

.week-grid .la{font-size:.72rem;color:var(--muted)}
.ph-clock .la-clock{margin-left:.6rem;padding-left:.6rem;border-left:1px solid var(--line)}

/* Avatars */
.avatar{width:2.4rem;height:2.4rem;border-radius:50%;object-fit:cover;flex:none;background:var(--sage);color:var(--green-deep);display:inline-grid;place-items:center;font-weight:700;font-size:.85rem}
.avatar.sm{width:2rem;height:2rem;font-size:.75rem}.avatar.lg{width:5.5rem;height:5.5rem;font-size:1.6rem}
.me-row{display:flex;align-items:center;gap:.6rem}
.profile-head{display:flex;gap:1rem;align-items:center;margin-bottom:.8rem}.profile-head h2{margin:0}.profile-head .actions{margin-top:.4rem}
.photo-form{margin-bottom:1rem}

/* POST ID card (CR80 portrait, 54 x 85.6 mm); everything scales with the card width */
.id-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.id-head h2{margin:0}
.idc-pair{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:1rem 0}
.idc{container-type:inline-size;width:min(300px,100%);aspect-ratio:54/85.6;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(46,31,20,.18);display:flex;flex-direction:column;font-family:"Montserrat","Figtree",sans-serif;color:#111;position:relative}
.idc-art{display:block;width:100%;height:100%}
.idc-word{text-align:center;line-height:1}
.idc-word span{display:block;font:700 22cqw/0.9 "Bodoni Moda","Didot","Bodoni 72",Georgia,serif;letter-spacing:-.04em}
.idc-word small{display:block;font:500 3.6cqw "Montserrat",sans-serif;letter-spacing:.35em;margin-top:1.6cqw}
.idc-word.small span{font-size:13cqw}.idc-word.small small{font-size:2.6cqw}
.idc-logo-img{display:block;max-width:58cqw;max-height:22cqw;margin:0 auto;object-fit:contain}.idc-logo-img.small{max-width:34cqw;max-height:12cqw}
.idc.front .idc-top{height:20%;display:grid;place-items:center;padding-top:2cqw}
.idc.front .idc-mid{height:53%;position:relative}
.idc-photo{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:50cqw;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#EAE3D9;border:2cqw solid #fff;box-shadow:0 1cqw 3cqw rgba(0,0,0,.15)}
.idc-photo img{width:100%;height:100%;object-fit:cover;display:block}
.idc-photo span{display:grid;place-items:center;width:100%;height:100%;font:700 14cqw "Montserrat",sans-serif;color:#B03F98}
.idc-info{flex:1;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:.6cqw}
.idc-name{font-size:6.2cqw;font-weight:500}.idc-no{font-size:6cqw}.idc-dob{font-size:4.4cqw}
.idc-values{background:#EAE3D9;font:700 2.85cqw "Montserrat",sans-serif;letter-spacing:.08em;text-align:center;padding:3.2cqw 1cqw;white-space:nowrap}
.idc-values i{font-style:normal;margin:0 .8cqw}
.idc.back .idc-strip{height:21%}
.idc-ice{text-align:center;padding:4cqw 6cqw 0;min-height:24%}
.idc-ice h4{margin:0 0 1.6cqw;font:700 4.6cqw "Montserrat",sans-serif;color:#B03F98;text-transform:uppercase;letter-spacing:.02em}
.idc-ice-name{font-size:5.4cqw}.idc-ice-addr{font-size:3.6cqw;line-height:1.3}.idc-ice-phone{font-size:4.4cqw;margin-top:.4cqw}
.idc-missing{color:#B03F98;font-style:italic}
.idc-sign{text-align:center;margin-top:auto;position:relative;padding-top:2cqw}
.idc-sign img{display:block;height:15cqw;margin:0 auto -6cqw;object-fit:contain;position:relative;z-index:1}
.idc-signame{font-size:5.4cqw;letter-spacing:.03em;color:#333}.idc-sigtitle{font-size:3.8cqw;color:#444;letter-spacing:.06em}
.idc-co{text-align:center;font-size:3cqw;line-height:1.45;padding:2.5cqw 4cqw 2.5cqw;display:grid;gap:1cqw;color:#222}
.idc-foot{background:#D45DA6;color:#FCE9F3;font-size:2.95cqw;line-height:1.45;text-align:center;padding:3cqw 5cqw}
/* Print at real card size */
body.idc-print{background:#ddd;margin:0}
body.idc-print .idc-pair{padding:1rem}
@media print{
  body.idc-print{background:#fff}
  body.idc-print .idc-pair{display:block;padding:0;gap:0}
  body.idc-print .idc{width:54mm;height:85.6mm;border-radius:0;box-shadow:none;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.masked{letter-spacing:.15em;color:var(--muted);margin-right:.4rem}
.revealed-pw{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1rem}

.edit-photo{padding-bottom:.4rem;border-bottom:1px solid var(--line)}
.temp-pw-banner{font-size:1rem}
.pw-box{display:inline-flex;align-items:center;gap:.6rem;background:var(--surface);border:2px solid var(--tan);border-radius:8px;padding:.5rem .8rem}
.pw-box code{font-size:1.15rem;letter-spacing:.04em}
.pw-na{margin:0;font-size:.9rem}.pw-na .actions{margin-top:.6rem}
.access-grid td.c,.access-grid th{text-align:center}.access-grid td:first-child,.access-grid th:first-child{text-align:left;min-width:16rem}.access-grid input{width:1.15rem;height:1.15rem}
.wbar{height:.6rem;background:var(--surface-3);border-radius:999px;overflow:hidden;margin:.5rem 0 .2rem;max-width:32rem}.wbar span{display:block;height:100%;background:linear-gradient(90deg,var(--tan),var(--green))}
.wrow{padding:.7rem 0;border-bottom:1px solid var(--line)}.wrow:last-child{border-bottom:0}
.susp-days{list-style:none;padding:0;margin:.6rem 0;display:flex;flex-wrap:wrap;gap:.6rem}
.susp-days li{display:flex;flex-direction:column;align-items:center;gap:.3rem;border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;background:var(--surface);position:relative;min-width:4.6rem}
.susp-days .sd{display:flex;flex-direction:column;align-items:center;font-size:.72rem;color:var(--muted);line-height:1.2}.susp-days .sd strong{font-size:1rem;color:var(--brown)}
.susp-days .x{position:absolute;top:-.5rem;right:-.5rem;width:1.3rem;height:1.3rem;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;line-height:1;color:var(--brown)}
.susp-days form{margin:0}
.week-grid .cell.susp{background:#F6DCE0;color:#8A2E3B;font-weight:600}
.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem .8rem;align-items:flex-end;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin-bottom:1rem;width:100%}
.filter-bar label{font-size:.75rem;gap:.2rem}.filter-bar label span{color:var(--muted);font-weight:500}
.filter-bar input,.filter-bar select{width:auto;min-width:9rem;padding:.4rem .55rem;font-size:.85rem}
.filter-bar .f-text input{min-width:13rem}
.filter-bar .f-actions{display:flex;gap:.4rem;margin-left:auto}
.result-count{font-size:.85rem;color:var(--muted);margin:0 0 .6rem}
.susp-add .inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.susp-add .inline input{width:auto}.susp-add .inline input[name=dates]{flex:1;min-width:16rem}
.commit-text{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:6px;padding:.8rem 1rem;white-space:normal}
.pair-note{background:var(--sage-soft);border-left:4px solid var(--green);padding:.6rem .9rem;border-radius:4px}
.action-panel{border-color:var(--tan);box-shadow:inset 4px 0 0 var(--tan)}
.commit-hint{align-self:end}

/* Sign-in background: line particles */
body.auth{position:relative;overflow-x:hidden;background:radial-gradient(ellipse at 30% 20%,#3A6E54 0%,var(--green) 45%,var(--green-deep) 100%)}
#bg-particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;display:block;pointer-events:none}
body.auth .auth-card{position:relative;z-index:1;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.roles-box .check{align-items:flex-start}.roles-box .check .muted{font-size:.82rem}.director-teams{margin:0 0 .4rem 1.8rem}
.ladder{display:grid;gap:.4rem}
.rung{display:flex;gap:.7rem;align-items:flex-start;flex-direction:row;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;font-weight:400;color:var(--ink)}
.rung.on{border-color:var(--green);background:var(--sage-soft)}
.rung input{margin-top:.25rem}
.rung .rank{display:inline-grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--cream);color:var(--brown);font-weight:700;font-size:.8rem;flex:none}
.rung.on .rank{background:var(--green);color:var(--cream)}
.under-box{display:grid;gap:.5rem;border-top:1px dashed var(--line);padding-top:.8rem}
.under-box input[type=search]{max-width:20rem}
.under-list{max-height:16rem;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem;background:var(--surface);display:grid;gap:.35rem}
.checklist{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem}
.checklist li{display:flex;gap:.6rem;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;background:var(--surface)}
.checklist .tick{flex:none;width:1.4rem;height:1.4rem;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;font-size:.8rem;color:#fff}
.checklist li.done .tick{background:var(--green);border-color:var(--green)}
.checklist li.done{background:var(--sage-soft);border-color:var(--sage)}
.rec-sec{border:1px solid var(--line);border-radius:10px;padding:.2rem 1rem .9rem;background:var(--surface)}
.rec-sec>summary{cursor:pointer;font:600 1rem var(--serif);color:var(--brown);padding:.7rem 0}
.rec-sec[open]>summary{border-bottom:1px solid var(--line);margin-bottom:.8rem}
.rec-sec .grid3,.rec-sec>label{margin-top:.6rem}
.req-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38rem,1fr));gap:.4rem .9rem}
.req-row{display:grid;grid-template-columns:9.5rem 8rem 10rem minmax(8rem,1fr);gap:.4rem;align-items:center}
.req-row .req-name{font-size:.86rem;font-weight:500;color:var(--brown)}
.req-row select,.req-row input{padding:.35rem .45rem;font-size:.82rem}
.pair{display:flex;gap:.4rem}.pair select{flex:1}.pair input{flex:1}
@media (max-width:820px){.req-row{grid-template-columns:1fr 1fr}}
.import-rules{padding-left:1.1rem;margin:.8rem 0 0;display:grid;gap:.3rem}
.viol-box{display:grid;gap:.45rem;border:1px solid var(--line);border-radius:8px;padding:.8rem;background:var(--surface)}
.viol-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:.45rem;align-items:center}
.viol-box>[data-viol-add]{justify-self:start}
.viol-list{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}
.coc-sec h2 small{display:block;font:400 .95rem/1.4 var(--sans);color:var(--muted);text-transform:none;margin-top:.3rem}
.mini-edit>summary{cursor:pointer;color:var(--green);font-size:.85rem;list-style:none}
.mini-edit .edit-pop{position:relative;min-width:34rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:.8rem;margin-top:.4rem}
/* IR paper form */
.paper .band{background:#45526A;color:#fff;text-align:center;padding:.25rem;margin:.6rem 0 0;font-size:.95rem}
.paper .band-th{background:#45526A!important;color:#fff!important;text-align:center}
.paper .irf th{width:22%}
.paper .viol-sheet td{vertical-align:top}
.paper .secs .sec{border-bottom:1px solid #999;padding:.35rem .2rem;font-size:8.5pt}
.paper .secs .sec.on{background:#F8D5C2;font-weight:600}
.paper .c{text-align:center}
.sigs.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:820px){.viol-row{grid-template-columns:1fr auto}.viol-row input{grid-column:1}}
.add-warning{margin-top:.8rem}.add-warning>summary{list-style:none;display:inline-flex}.small-text{font-size:.85rem;margin:.1rem 0 .3rem}

/* =====================================================================
   Corporate design layer (v30): shell, components and modules.
   Rules below intentionally come last so they win over older ones.
   ===================================================================== */
html{font-size:15px}
body.app,body{background:var(--bg);color:var(--text);font:400 1rem/1.55 var(--font);font-feature-settings:"tnum" 0}
a{color:var(--link);text-underline-offset:2px} a:hover{color:var(--primary-hover)}
[data-theme="dark"] a:hover{color:var(--gold-strong)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--font);color:var(--text);letter-spacing:-.005em}
h1{font-size:1.6rem;font-weight:600;line-height:1.2;margin:0}
h2{font-size:1.05rem;font-weight:600;margin:0 0 .9rem}
h3{font-size:.95rem;font-weight:600;margin:1.1rem 0 .5rem}
h2 .sub{font:500 .8rem var(--font);color:var(--text-3);background:var(--surface-3);border-radius:999px;padding:.1rem .5rem;margin-left:.45rem;vertical-align:middle}
.muted{color:var(--text-3)} .hint{color:var(--text-3);font-size:.84rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{background:var(--primary);color:var(--on-primary)}

/* ---------- Shell ---------- */
.shell{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100vh}
.side{background:var(--nav-bg);color:var(--nav-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:hidden;border-right:1px solid rgba(255,255,255,.04);z-index:30}
.brand{padding:1.15rem 1.2rem 1rem;border-bottom:1px solid rgba(255,255,255,.07)}
.brand-link{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff}
.brand .mark{font:700 1.35rem/1 var(--font);letter-spacing:.08em;color:#fff}
.brand .mark::after{display:none}
.brand .logo-tile{background:#fff;border-radius:6px;padding:.25rem .45rem;display:inline-flex}.brand .logo-tile img{max-height:28px;max-width:110px}
.brand-sub{font-size:.72rem;color:var(--nav-text-dim);margin:0;padding-left:.7rem;border-left:1px solid rgba(255,255,255,.14);line-height:1.2;letter-spacing:.02em}
.nav{flex:1;overflow-y:auto;padding:.7rem .65rem 1rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.nav-group{margin-top:.55rem}.nav-group.plain{margin-top:0}
.nav-group-h{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;color:var(--nav-text-dim);font:600 .74rem var(--font);letter-spacing:.04em;padding:.5rem .7rem .35rem;cursor:pointer;border-radius:6px}
.nav-group-h:hover{color:var(--nav-text)}
.nav-group-h .chev{width:14px;height:14px;transition:transform .15s}
.nav-group-h[aria-expanded="false"] .chev{transform:rotate(-90deg)}
.nav-group-h[aria-expanded="false"]+.nav-items{display:none}
 .side .nav-link{position:relative;display:flex;align-items:center;gap:.7rem;color:var(--nav-text);text-decoration:none;padding:.52rem .75rem;border-radius:7px;font-size:.92rem;font-weight:500;margin:1px 0}
 .side .nav-link .ic{width:19px;height:19px;flex:none;opacity:.85}
 .side .nav-link:hover{background:var(--nav-hover);color:#fff}
 .side .nav-link.on{background:var(--nav-active);color:#fff}
 .side .nav-link.on::before{content:"";position:absolute;left:-.65rem;top:.4rem;bottom:.4rem;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}
 .side .nav-link.on .ic{color:var(--gold);opacity:1}
.rail-toggle{display:flex;align-items:center;gap:.7rem;background:none;border:0;border-top:1px solid rgba(255,255,255,.07);color:var(--nav-text-dim);font:500 .85rem var(--font);padding:.85rem 1.4rem;cursor:pointer;text-align:left}
.rail-toggle:hover{color:#fff}.rail-toggle .ic{width:18px;height:18px}
/* Collapsed rail (desktop) */
html.rail .shell{grid-template-columns:72px minmax(0,1fr)}
html.rail .brand-sub,html.rail .side .nav-link span,html.rail .nav-group-h,html.rail .rail-toggle span{display:none}
html.rail .brand{padding:1.1rem .6rem;text-align:center}html.rail .brand-link{justify-content:center}html.rail .brand .mark{font-size:1rem}
html.rail .side .nav-link{justify-content:center;padding:.6rem}html.rail .nav-group-h+.nav-items{display:block!important}
html.rail .nav-group{margin-top:.35rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.06)}html.rail .nav-group.plain{border:0}
html.rail .rail-toggle{justify-content:center;padding:.85rem}html.rail .rail-toggle .ic{transform:scaleX(-1)}
.main-wrap{min-width:0;display:flex;flex-direction:column}

/* ---------- Top bar ---------- */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.8rem;height:60px;padding:0 1.6rem;background:var(--surface);border-bottom:1px solid var(--border)}
.icon-btn{position:relative;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:8px;border:1px solid transparent;background:none;color:var(--text-2);cursor:pointer;text-decoration:none}
.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn .ic{width:20px;height:20px}
.menu-btn{display:none}
.gsearch{flex:1;max-width:520px;position:relative;display:flex;align-items:center}
.gsearch .ic{position:absolute;left:.75rem;width:17px;height:17px;color:var(--text-3);pointer-events:none}
.gsearch input{height:38px;padding:.4rem 2.2rem .4rem 2.35rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:.9rem}
.gsearch input:focus{background:var(--surface);border-color:var(--primary-line);outline:none;box-shadow:0 0 0 3px var(--primary-soft)}
.gsearch kbd{position:absolute;right:.6rem;font:500 .72rem var(--font);color:var(--text-3);border:1px solid var(--border);border-radius:4px;padding:0 .35rem;background:var(--surface)}
.top-tools{margin-left:auto;display:flex;align-items:center;gap:.45rem}
.clocks{display:flex;flex-direction:column;align-items:flex-end;font-size:.72rem;line-height:1.25;color:var(--text-3);margin-right:.4rem;white-space:nowrap}
.clocks .la-clock{border:0;margin:0;padding:0}
.theme-btn .i-sun{display:none}[data-theme="dark"] .theme-btn .i-sun{display:block}[data-theme="dark"] .theme-btn .i-moon{display:none}
.bell .badge-count{position:absolute;top:4px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font:600 .66rem/17px var(--font);text-align:center;border:2px solid var(--surface)}
.menu{position:relative}
.menu>summary{list-style:none;cursor:pointer}.menu>summary::-webkit-details-marker{display:none}
.menu-pop{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-2);padding:.35rem;z-index:40}
.menu-pop.right{left:auto;right:0}
.menu-pop a{display:flex;align-items:center;gap:.65rem;padding:.55rem .7rem;border-radius:6px;color:var(--text);text-decoration:none;font-size:.9rem}
.menu-pop a:hover,.menu-pop a:focus-visible{background:var(--surface-3)}
.menu-pop a .ic{width:17px;height:17px;color:var(--text-3)}
.menu-pop .danger-link{color:var(--danger)}.menu-pop .danger-link .ic{color:var(--danger)}
.menu-head{display:flex;gap:.7rem;align-items:center;padding:.6rem .7rem .75rem;margin-bottom:.3rem;border-bottom:1px solid var(--border)}
.menu-head strong{display:block;font-size:.92rem}.menu-head small{color:var(--text-3);font-size:.78rem}
.qa-btn{display:inline-flex;align-items:center;gap:.35rem}.qa-btn .ic{width:16px;height:16px}
.user-btn{display:flex;align-items:center;gap:.6rem;padding:.25rem .45rem .25rem .3rem;border-radius:999px;border:1px solid var(--border)}
.user-btn:hover{background:var(--surface-3)}
.user-meta{display:flex;flex-direction:column;line-height:1.2}.user-meta strong{font-size:.84rem;font-weight:600;color:var(--text)}.user-meta small{font-size:.72rem;color:var(--text-3)}
.user-btn .chev{width:15px;height:15px;color:var(--text-3)}

/* ---------- Page ---------- */
main{padding:1.6rem 1.8rem 3rem;max-width:1440px;width:100%;outline:none}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.4rem;flex-wrap:wrap}
.page-sub{margin:.3rem 0 0;color:var(--text-3);font-size:.9rem}
.page-actions{display:flex;gap:.5rem;flex-wrap:wrap}

/* ---------- Surfaces ---------- */
.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.35rem;margin-bottom:1.25rem;box-shadow:var(--shadow-1)}
.card{margin-bottom:0}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem}
.card-head h2{margin:0}
.card-link{font-size:.84rem;font-weight:500;text-decoration:none}.card-link:hover{text-decoration:underline}
.card-actions{display:flex;gap:.4rem}
.card-sub{margin:-.55rem 0 .7rem;color:var(--text-3);font-size:.82rem}
.callout{border-left:3px solid var(--gold);margin-bottom:1.25rem}
.grid2{gap:1.1rem}.grid2>.panel{margin-bottom:0}
.toolbar{margin-bottom:1rem}
.empty{color:var(--text-3);font-size:.9rem;padding:.4rem 0;margin:0}

/* ---------- Dashboard ---------- */
.dash-section{margin-bottom:2rem}
.section-title{font-size:.82rem;font-weight:600;color:var(--text-3);letter-spacing:.03em;margin:0 0 .75rem;display:flex;align-items:center;gap:.6rem}
.section-title::after{content:"";flex:1;height:1px;background:var(--border)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:.85rem;margin-bottom:1.1rem}
.kpis.compact{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.dash-grid .kpis{margin-bottom:0;align-content:start}
.kpi{display:flex;flex-direction:column;gap:.15rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1rem 1.1rem;text-decoration:none;color:var(--text);box-shadow:var(--shadow-1);position:relative}
a.kpi:hover{border-color:var(--primary-line)}
.kpi-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.kpi-label{font-size:.82rem;color:var(--text-2);font-weight:500}
.kpi-ic{width:18px;height:18px;color:var(--text-3)}
.kpi-value{font:600 1.85rem/1.15 var(--font);font-variant-numeric:tabular-nums;color:var(--text);margin-top:.2rem}
.kpi-ctx{font-size:.78rem;color:var(--text-3)}
.kpi-attention{box-shadow:inset 3px 0 0 var(--gold),var(--shadow-1)}.kpi-attention .kpi-ic{color:var(--gold)}
.kpi-risk{box-shadow:inset 3px 0 0 var(--danger),var(--shadow-1)}.kpi-risk .kpi-ic{color:var(--danger)}.kpi-risk .kpi-ctx{color:var(--danger)}
.dash-grid{display:grid;gap:1.1rem;margin-bottom:1.1rem}
.dash-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dash-grid.two-one{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.dash-grid.one-two{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}
.stack-cards{display:grid;gap:1.1rem;align-content:start}
.action-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.action-list a{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--r);text-decoration:none;color:var(--text);font-size:.88rem;background:var(--surface)}
.action-list a:hover{border-color:var(--primary-line);background:var(--surface-2)}
.action-list .ic{width:18px;height:18px;color:var(--text-3);flex:none}
.action-list span{flex:1}
.action-list b{font:600 .95rem var(--font);font-variant-numeric:tabular-nums;min-width:1.7rem;text-align:right}
.action-list li.has b{color:var(--gold-strong)}.action-list li.has .ic{color:var(--primary)}
.action-list li.clear a{color:var(--text-3)}.action-list .ok-ic{width:16px;height:16px;color:var(--success)}
.action-row{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-top:1px solid var(--border)}.action-row:first-of-type{border-top:0}
.action-row>.ic{width:20px;height:20px;color:var(--gold);flex:none}.action-row>div{flex:1}
.mini-title{font-size:.8rem;color:var(--text-3);font-weight:600;margin:.4rem 0 .4rem}
.people-list,.plain-list{list-style:none;margin:0;padding:0}
.people-list li,.plain-list li{display:flex;align-items:center;gap:.65rem;padding:.5rem 0;border-top:1px solid var(--border)}
.people-list li:first-child,.plain-list li:first-child{border-top:0}
.people-list li>a,.people-list li>span:not(.chip):not(.muted):not(.avatar),.plain-list li>span:not(.chip){flex:1;min-width:0;color:var(--text);text-decoration:none;font-size:.9rem;font-weight:500}
.people-list li>a:hover{color:var(--link)}
.people-list small,.plain-list small{display:block;font-weight:400;color:var(--text-3);font-size:.78rem}
.people-list .muted{font-size:.8rem;white-space:nowrap}
/* Charts */
.hbars{display:grid;gap:.55rem}
.hbar{display:grid;grid-template-columns:minmax(7rem,13rem) 1fr 2.5rem;align-items:center;gap:.7rem;font-size:.85rem}
.hbar-l{color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbar-track{height:10px;background:var(--surface-3);border-radius:999px;overflow:hidden}
.hbar-fill{display:block;height:100%;background:var(--chart-1);border-radius:999px}
.hbar-v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}
.colchart{margin:0}.colchart svg{width:100%;height:auto;display:block}
.colchart .grid{stroke:var(--chart-grid);stroke-width:1}
.colchart .ax{fill:var(--text-3);font:400 11px var(--font)}
.colchart .s0{fill:var(--chart-1)}.colchart .s1{fill:var(--chart-2)}.colchart .s2{fill:var(--chart-3)}
.legend{display:flex;gap:1rem;font-size:.8rem;color:var(--text-2);margin-top:.4rem}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.35rem;vertical-align:-1px}
.legend i.s0{background:var(--chart-1)}.legend i.s1{background:var(--chart-2)}.legend i.s2{background:var(--chart-3)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:600 .88rem/1.2 var(--font);padding:.58rem 1rem;border-radius:var(--r);border:1px solid var(--primary);background:var(--primary);color:var(--on-primary);cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--on-primary)}
.btn.ghost{background:var(--surface);color:var(--text);border-color:var(--border-strong)}
.btn.ghost:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}
.btn.small{padding:.38rem .7rem;font-size:.82rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn.danger{background:var(--danger);border-color:var(--danger)}
summary.btn{list-style:none}summary.btn::-webkit-details-marker{display:none}

/* ---------- Forms ---------- */
label{color:var(--text-2);font-weight:500;font-size:.85rem}
input,select,textarea{font-family:var(--font);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r);padding:.5rem .65rem}
input:hover,select:hover,textarea:hover{border-color:var(--text-3)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
input[type=checkbox],input[type=radio]{accent-color:var(--primary)}
input[type=file]{background:var(--surface-2)}
input::placeholder,textarea::placeholder{color:var(--text-3)}
fieldset{border-color:var(--border)}legend{color:var(--text);font-weight:600}
.sched-box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg)}

/* ---------- Tables ---------- */
.table-wrap{border:1px solid var(--border);border-radius:var(--r);overflow:auto}
.panel>.table-wrap:only-child,.panel>.table-wrap{margin:0}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th{background:var(--surface-2);color:var(--text-2);font-weight:600;font-size:.78rem;text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--border);white-space:nowrap}
td{padding:.65rem .8rem;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:var(--surface-2)}
td a{font-weight:500}
.person-cell{display:flex;align-items:center;gap:.6rem}.person-cell small{display:block;color:var(--text-3);font-size:.76rem;font-weight:400}

/* ---------- Status ---------- */
.chip{display:inline-flex;align-items:center;gap:.35rem;font:500 .74rem/1 var(--font);padding:.3rem .55rem;border-radius:999px;border:0}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}
.chip.good{background:var(--success-soft);color:var(--success)}
.chip.neutral{background:var(--surface-3);color:var(--text-2)}
.chip.bad{background:var(--danger-soft);color:var(--danger)}
.flash{border-radius:var(--r);padding:.75rem 1rem;margin-bottom:1rem;font-size:.9rem;border:1px solid var(--border);border-left:3px solid var(--info);background:var(--info-soft);color:var(--text)}
.flash.ok{border-left-color:var(--success);background:var(--success-soft)}
.flash.err{border-left-color:var(--danger);background:var(--danger-soft)}
.flash.warn{border-left-color:var(--gold);background:var(--gold-soft)}

/* ---------- Tabs and filters ---------- */
.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--border);margin-bottom:1.1rem;flex-wrap:wrap}
.tabs a{padding:.6rem .9rem;color:var(--text-3);text-decoration:none;font-weight:500;font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0}
.tabs a:hover{color:var(--text)}
.tabs a.on{color:var(--text);border-bottom-color:var(--gold);font-weight:600}
.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.85rem 1rem;box-shadow:var(--shadow-1)}
.filter-bar label span{color:var(--text-3)}
.result-count{color:var(--text-3);font-size:.84rem}

/* ---------- Misc existing components on the new palette ---------- */
.avatar{background:var(--primary-soft);color:var(--primary)}
[data-theme="dark"] .avatar{color:var(--link)}
.kv dt{color:var(--text-3)} .kv dd{color:var(--text)}
.list li{border-color:var(--border)}
.timeline li{border-color:var(--border)}
.wbar{background:var(--surface-3)}.wbar span{background:linear-gradient(90deg,var(--gold),var(--primary))}
.week-grid th,.week-grid td{border-color:var(--border)}
.week-grid .cell.work{background:var(--primary-soft);color:var(--text)}
.week-grid .cell.rest{background:var(--surface-3);color:var(--text-3)}
.week-grid .cell.leave{background:var(--success-soft);color:var(--success)}
.week-grid .cell.pending{background:repeating-linear-gradient(135deg,var(--gold-soft) 0 6px,var(--surface-3) 6px 12px);color:var(--warning)}
.week-grid .cell.susp{background:var(--danger-soft);color:var(--danger)}
.week-grid .cell.today{outline:2px solid var(--gold);outline-offset:-2px}
.chip-check span{border-color:var(--border-strong);color:var(--text)}
.chip-check input:checked+span{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.rung.on{border-color:var(--primary);background:var(--primary-soft)}.rung .rank{background:var(--surface-3);color:var(--text)}.rung.on .rank{background:var(--primary);color:var(--on-primary)}
.checklist li.done{background:var(--success-soft);border-color:var(--primary-line)}.checklist li.done .tick{background:var(--success);border-color:var(--success)}
.access-grid td,.access-grid th{border-color:var(--border)}
.rec-sec>summary{font:600 .95rem var(--font);color:var(--text)}
.commit-text{border-left-color:var(--primary)}
.pw-box{border-color:var(--gold)}
.mini-edit>summary{color:var(--link)}
.paper-grid th{color:#1B2420}
.dim td{opacity:.55}
code.pw{background:var(--surface-2)}
.coc-sec h2 small{color:var(--text-3)}

/* Search */
.search-big{display:flex;gap:.6rem;align-items:center;position:relative;margin-bottom:1.25rem}
.search-big .ic{position:absolute;left:.9rem;width:19px;height:19px;color:var(--text-3)}
.search-big input{height:46px;padding-left:2.7rem;font-size:1rem;border-radius:10px}
.result-list{display:grid}
.result{display:flex;align-items:center;gap:.8rem;padding:.65rem .5rem;border-top:1px solid var(--border);text-decoration:none;color:var(--text);border-radius:6px}
.result:first-child{border-top:0}.result:hover{background:var(--surface-2)}
.result>.ic{width:18px;height:18px;color:var(--text-3)}
.result>span:nth-of-type(1){flex:1;min-width:0}
.result strong{font-weight:600;font-size:.92rem}.result small{display:block;color:var(--text-3);font-size:.8rem}
.result-meta{display:flex;gap:.5rem;align-items:center;font-size:.8rem;color:var(--text-3)}

/* Profile header card */
.profile-card{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap}
.profile-card .avatar.lg{width:84px;height:84px;font-size:1.6rem}
.profile-card h2{font-size:1.3rem;margin:0 0 .2rem}
.profile-facts{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:.5rem;font-size:.85rem;color:var(--text-2)}
.profile-facts span b{display:block;font-size:.72rem;color:var(--text-3);font-weight:500}

/* Modal */
.modal{border:1px solid var(--border);border-radius:var(--r-lg);padding:1.4rem 1.5rem;max-width:440px;width:calc(100% - 2rem);background:var(--surface);color:var(--text);box-shadow:var(--shadow-2)}
.modal::backdrop{background:rgba(8,20,15,.5)}
.modal h2{margin:0 0 .5rem}.modal p{margin:0 0 1.2rem;color:var(--text-2)}
.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}

/* Login on the new palette */
.auth-card{border-radius:var(--r-lg)}
[data-theme="dark"] .auth-card{background:var(--surface);color:var(--text);border-color:var(--border)}

/* ---------- Responsive ---------- */
@media (max-width:1180px){.dash-grid.two-one,.dash-grid.one-two{grid-template-columns:1fr}.clocks{display:none}}
@media (max-width:1024px){
  .shell,html.rail .shell{grid-template-columns:1fr}
  .side{position:fixed;inset:0 auto 0 0;width:272px;transform:translateX(-100%);transition:transform .2s ease;box-shadow:var(--shadow-2)}
  .side.open{transform:none}
  html.rail .brand-sub,html.rail .side .nav-link span,html.rail .nav-group-h,html.rail .rail-toggle span{display:revert}
  html.rail .side .nav-link{justify-content:flex-start;padding:.52rem .75rem}
  .rail-toggle{display:none}
  .scrim:not([hidden]){position:fixed;inset:0;background:rgba(8,20,15,.45);z-index:25}
  .menu-btn{display:inline-grid}
  .topbar{padding:0 1rem}
  main{padding:1.2rem 1rem 2.5rem}
}
@media (max-width:760px){
  .dash-grid.two,.action-list{grid-template-columns:1fr}
  .user-meta,.qa-btn span{display:none}
  .gsearch kbd{display:none}
  .grid2,.grid3{grid-template-columns:1fr}
  .hbar{grid-template-columns:7rem 1fr 2rem}
  h1{font-size:1.35rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
body.print-page,body.idc-print{background:#EEF1EF;color:#17211D}body.print-page .paper{background:#fff;color:#17211D}body.print-page th{background:#F3F5F4;color:#17211D}body.print-page td{color:#17211D}body.print-page tbody tr:hover td{background:transparent}@media print{body.print-page{background:#fff}}
.dash-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1180px){.dash-grid.three{grid-template-columns:1fr}}

.people-list .avatar,.person-cell .avatar{flex:none}
.side .nav-link span{flex:1}
svg.ic{width:18px;height:18px;flex:none}
.btn .ic{width:16px;height:16px}
.chip.good,.chip.neutral,.chip.bad{border:0}
td a{text-decoration:none}td a:hover{text-decoration:underline}
.person-cell a{color:var(--text);font-weight:600}.person-cell a:hover{color:var(--link)}
main>.card{margin-bottom:1.25rem}
.org-tree .dept{border:1px solid var(--border);border-radius:var(--r);padding:.8rem .9rem;margin-bottom:.8rem;background:var(--surface-2)}
.org-tree .dept-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;flex-wrap:wrap}
.org-tree .dept-name{display:flex;align-items:center;gap:.55rem}.org-tree .dept-name .ic{color:var(--primary)}
.org-tree .dept-name .muted{font-size:.82rem;margin-left:.3rem}
.org-tree .table-wrap{background:var(--surface)}
.org-add{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.org-add h3{margin-top:0}
/* Coaching form (matches POST's Employee Coaching Form & Incident Record) */
.root-pick{display:grid;gap:.4rem}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border-strong);border-radius:var(--r);overflow:hidden;width:max-content;max-width:100%}
.seg label{margin:0;cursor:pointer}.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;padding:.5rem .9rem;font-size:.86rem;color:var(--text-2);border-right:1px solid var(--border);background:var(--surface)}
.seg label:last-child span{border-right:0}
.seg input:checked+span{background:var(--primary);color:var(--on-primary);font-weight:600}
.seg input:focus-visible+span{outline:2px solid var(--gold);outline-offset:-2px}
.paper .cf{font-size:9.5pt;color:#111}
.paper .cf-title{background:#1F3864;color:#fff;text-align:center;font:700 13pt Arial,sans-serif;text-transform:uppercase;padding:.45rem;margin:0 0 .4rem}
.paper .cf-band,.paper .cf-band-th{background:#2F5D9E!important;color:#fff!important;font:700 9.5pt Arial,sans-serif;text-transform:uppercase;padding:.3rem .4rem;margin:.6rem 0 0;text-align:left}
.paper .cf-grid{width:100%;border-collapse:collapse;margin:0}
.paper .cf-grid th{background:#E9EEF7;color:#111;font-weight:700;text-align:left;width:16%;padding:.35rem .4rem;border-bottom:1px solid #C9D3E5}
.paper .cf-grid td{padding:.35rem .4rem;border-bottom:1px solid #C9D3E5;color:#111}
.paper .cf-box{border-bottom:1px solid #C9D3E5;padding:.35rem .2rem;min-height:3.2rem;white-space:normal}
.paper .cf-box.tall{min-height:7rem}.paper .cf-box.xtall{min-height:9rem}
.paper .cf-root .rc-l{width:22%;background:#fff}.paper .cf-root .rc-v{width:22%;text-align:center}.paper .cf-root .rc-d{vertical-align:top;border-left:1px solid #C9D3E5}
.paper .cf-ack{background:#FFF8EE;font-style:italic;padding:.45rem .4rem;font-size:9pt}
.paper .cf-sign th{width:16%}.paper .cf-sign td{height:2.2rem}

/* Printed forms: real A4 pages, colors kept even when "Print backgrounds" is off */
@media print{
  @page{size:A4 portrait;margin:10mm}
  html,body.print-page{background:#fff!important}
  body.print-page .paper{width:auto;max-width:none;margin:0;padding:0;box-shadow:none;border:0;font-size:10pt}
  body.print-page .print-bar{display:none}
}
body.print-page .paper,body.print-page .paper *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
body.print-page .paper th{white-space:normal}
body.print-page .paper table{font-size:9.5pt}
body.print-page .paper .cf-box,body.print-page .paper .cf-grid td{word-break:normal;overflow-wrap:anywhere}
body.print-page .paper .cf-grid,body.print-page .paper .paper-grid{table-layout:fixed}
body.print-page .paper .cf-grid th{width:17%}body.print-page .paper .cf-grid td{width:33%}
body.print-page .paper .cf-root col.c1{width:22%}
body.print-page .paper .cf-band,body.print-page .paper .cf-title,body.print-page .paper .band{break-after:avoid;page-break-after:avoid}
body.print-page .paper .cf-sign,body.print-page .paper .sigs,body.print-page .paper .cf-ack{break-inside:avoid;page-break-inside:avoid}
@media print{body.print-page .paper .cf-box.tall{min-height:4.2rem}body.print-page .paper .cf-box.xtall{min-height:6.5rem}body.print-page .paper .cf-box{min-height:2.4rem}
  body.print-page .paper .cf-band,body.print-page .paper .cf-band-th{margin-top:.4rem}body.print-page .paper-head{margin-bottom:.4rem}body.print-page .paper .cf-sign td{height:1.9rem}}
@media print{body.print-page .paper-foot{margin-top:.3rem;padding-top:.25rem}body.print-page .paper p.small{margin:.25rem 0}body.print-page .paper .cf-ack{padding:.3rem .4rem}}
@media print{body.print-page .paper .cf-box.xtall{min-height:5rem}body.print-page .paper .cf-grid th,body.print-page .paper .cf-grid td{padding:.22rem .4rem}body.print-page .paper .cf-title{padding:.3rem;font-size:12pt}body.print-page .paper{font-size:9.5pt;line-height:1.3}}
@media print{body.print-page .paper .box{min-height:2.6rem;padding:.3rem .4rem}body.print-page .paper .secs .sec{padding:.2rem .2rem;font-size:8pt}body.print-page .paper .band{margin-top:.35rem;padding:.15rem}body.print-page .paper .sigs{margin-top:1.4rem}body.print-page .paper .paper-grid th,body.print-page .paper .paper-grid td{padding:.2rem .35rem}}
/* Monthly Performance Evaluation print (POST form) */
.paper.ev{font:9pt/1.3 Arial,"IBM Plex Sans",sans-serif;color:#111}
.paper .ev-top{display:flex;gap:1rem;align-items:center;border-bottom:2px solid #1F3864;padding-bottom:.35rem;margin-bottom:.4rem}
.paper .ev-top .print-logo{max-height:46px}.paper .ev-co{font-weight:700;font-size:11pt}.paper .ev-ti{font-weight:700;font-size:12.5pt;color:#1F3864;text-transform:uppercase}.paper .ev-sub{font-size:8.5pt;color:#444}
.paper .ev-grid{width:100%;border-collapse:collapse;table-layout:fixed;margin:0}
.paper .ev-grid th,.paper .ev-grid td{border:1px solid #9BA9C2;padding:.18rem .3rem;vertical-align:top;font-size:8.6pt;color:#111;background:#fff}
.paper .ev-grid th{background:#E9EEF7!important;font-weight:700;text-align:left}
.paper .ev-grid td.c,.paper .ev-grid th.c{text-align:center}
.paper .ev-band{background:#1F3864;color:#fff;font-weight:700;font-size:8.8pt;text-transform:uppercase;padding:.2rem .35rem;margin-top:.35rem}
.paper .ev-note{font-size:7.8pt;color:#333;margin:.25rem 0}
.paper .ev-gwc-na{margin:.15rem 0;font-size:8.6pt}
.paper .ev-tot td{background:#F3F5F9!important;font-weight:700}
.paper .ev-sum th{text-align:center}
.paper .ev-text td{height:2.6rem}
.paper .ev-cert{font-style:italic;font-size:8pt;margin:.35rem 0 .2rem}
.paper .ev-sign td{height:1.8rem}
/* HR forms (PIP / PAR / TRF) printouts */
.paper.hf{font:9.2pt/1.35 Arial,"IBM Plex Sans",sans-serif;color:#111}
.paper .hf-head{width:100%;border-collapse:collapse;border-bottom:3px solid #1F3864;margin-bottom:.5rem}.paper .hf-head td{border:0;padding:.2rem .3rem;vertical-align:middle;background:#fff}
.paper .hf-head .hf-logo{width:30%}.paper .hf-kind{font-size:8pt;letter-spacing:.12em;color:#666;font-weight:700}.paper .hf-title{font-size:15pt;font-weight:700;color:#1F3864}.paper .hf-ref{font-size:8.5pt;color:#333}
.paper .hf-grid,.paper .hf-tbl,.paper .hf-sigs,.paper .hf-checks{width:100%;border-collapse:collapse;table-layout:fixed;margin:.25rem 0}
.paper .hf-grid td{border:1px solid #B9C3D6;padding:.25rem .35rem;vertical-align:top;background:#fff;color:#111}
.paper .hf-grid td b{display:block;font-size:7pt;letter-spacing:.06em;text-transform:uppercase;color:#4B5873}
.paper .hf-tbl th,.paper .hf-tbl td{border:1px solid #B9C3D6;padding:.22rem .35rem;vertical-align:top;color:#111;background:#fff;font-size:8.8pt}
.paper .hf-tbl th{background:#E9EEF7!important;font-weight:700;text-align:left}
.paper .hf-checks td{border:0;padding:.12rem .2rem;background:#fff}
.paper .hf-h{font-size:10pt;color:#1F3864;margin:.55rem 0 .15rem;border-bottom:1px solid #1F3864;padding-bottom:.1rem}.paper .hf-h small{font-weight:400;font-style:italic;color:#555;font-size:8pt}
.paper .hf-note{font-size:8pt;color:#333;margin:.2rem 0}
.paper .hf-callout{background:#FFF6E5;border-left:4px solid #B08A3E;padding:.35rem .5rem;margin:.4rem 0}.paper .hf-callout.green{background:#E9F4EE;border-left-color:#2B7A55}
.paper .hf-sigs td{border:0;border-top:1px solid #111;padding:.25rem .3rem 0;vertical-align:top;background:#fff;width:33%}.paper .hf-sigs{margin-top:1.4rem;border-spacing:.8rem 0;border-collapse:separate}
.paper .hf-sig-role{font-size:7pt;letter-spacing:.08em;text-transform:uppercase;color:#4B5873;font-weight:700}.paper .hf-sig-name{font-weight:700}.paper .hf-sig-t{font-size:8pt;color:#333}
.paper .hf-ack{border:1px solid #B9C3D6;padding:.4rem .5rem;margin-top:.6rem;break-inside:avoid}.paper .hf-ack-sign{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}.paper .hf-ack-sign span{flex:1;border-top:1px solid #111;font-size:8pt;padding-top:.15rem}
.paper .hf-page2{break-before:page;page-break-before:always;margin-top:.8rem}.paper .hf-p2{font-weight:700;color:#1F3864;letter-spacing:.06em;text-transform:uppercase;font-size:9pt}
.paper .hf-steps{margin:.2rem 0 .2rem 1.2rem;padding:0}.paper .trf-to td b{display:inline-block;width:6rem}
.paper .hf-foot{margin-top:.6rem;padding-top:.3rem;border-top:1px solid #999;font-size:7.5pt;color:#444;text-align:center}
.pip-row{grid-template-columns:1fr 1fr 1fr 9rem auto!important;align-items:start}.kpi-row{grid-template-columns:1fr 10rem;margin-bottom:.35rem}
@media (max-width:900px){.pip-row{grid-template-columns:1fr!important}}
/* Equipment issuance checklists (POST layout) */
.paper.eq{font:9.5pt/1.4 Calibri,Arial,"IBM Plex Sans",sans-serif;color:#111}
.paper .eq-head{width:100%;border-collapse:collapse;border-bottom:1.5px solid #111;margin-bottom:.8rem}.paper .eq-head td{border:0;padding:.2rem .4rem;vertical-align:middle;background:#fff}
.paper .eq-logo{width:34%}.paper .eq-co{font-size:8pt;line-height:1.5}
.paper .eq-title{font-size:11pt;font-weight:700;margin:.6rem 0 .6rem;color:#111;text-transform:none}
.paper .eq-fields,.paper .eq-sign{border-collapse:collapse;margin:.3rem 0 .6rem}.paper .eq-fields th,.paper .eq-sign th{text-align:left;font-weight:400;padding:.15rem .6rem .15rem 0;background:#fff!important;color:#111;border:0;white-space:nowrap}
.paper .eq-fields td,.paper .eq-sign td{border:0;border-bottom:1px solid #111;min-width:16rem;padding:.15rem .3rem;background:#fff;color:#111}
.paper .eq-checks div{margin:.25rem 0}.paper .eq-items{margin:.3rem 0 0 2.2rem;columns:2;font-size:9pt}
.paper .eq-h{font-size:10pt;font-weight:700;margin:1rem 0 .3rem;color:#111}
.paper .eq-decl{margin:.2rem 0 .6rem}.paper .eq-note{font-size:9pt;margin:.8rem 0}.paper .eq-muted{color:#555;font-size:8.5pt}
.paper.eq .eq-sign{margin-top:1rem}
.org-tree .bu{border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:.9rem 1rem;margin-bottom:1rem;background:var(--surface)}
.org-tree .bu-h{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.7rem;padding-bottom:.6rem;border-bottom:1px solid var(--border)}
.org-tree .bu-h strong{font-size:1.02rem}.org-tree .bu-h .ic{color:var(--gold)}
.org-tree .bu .dept{margin-left:.6rem}
.org-add input,.org-add select{min-width:0}
.unit-colors{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:flex-end;border:1px solid var(--border);border-radius:var(--r);padding:.6rem .8rem;margin:.4rem 0;width:100%}
.unit-colors input[type=color]{width:3.2rem;height:2.2rem;padding:.15rem;cursor:pointer}
.swatches{display:inline-flex;gap:2px;margin-left:.3rem;vertical-align:middle}.swatches i{width:12px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.15);display:inline-block}
.org-tree .bu.sub{margin-left:1.6rem;border-style:dashed}
/* Unit color picker: swatches + hex code, no browser color widget */
.unit-colors{display:grid;gap:.8rem}
.cpick{display:grid;gap:.35rem}
.cpick-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.cpick .sw{width:1.9rem;height:1.9rem;border-radius:6px;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border-strong);cursor:pointer;padding:0}
.cpick .sw:hover{transform:translateY(-1px)}
.cpick .sw.on{box-shadow:0 0 0 2px var(--text)}
.cpick .sw:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.cpick-hex{display:inline-flex;align-items:center;gap:.35rem;margin-left:.4rem;border:1px solid var(--border-strong);border-radius:var(--r);padding:.2rem .4rem;background:var(--surface)}
.cpick-hex input{border:0;padding:.15rem;width:6.2rem;font:500 .88rem ui-monospace,Menlo,Consolas,monospace;background:transparent;box-shadow:none}
.cpick-hex input:focus{box-shadow:none}
.cpick-prev{width:1.3rem;height:1.3rem;border-radius:4px;border:1px solid rgba(0,0,0,.2)}
.cpick-demo{display:flex;width:16rem;height:4.4rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.cpick-demo .d-nav{width:4rem;display:flex;flex-direction:column;gap:.3rem;padding:.5rem .4rem;background:var(--demo-nav,#11342A)}
.cpick-demo .d-nav i{height:.45rem;border-radius:3px;background:rgba(255,255,255,.25)}.cpick-demo .d-nav i.on{background:var(--demo-acc,#B08A3E)}
.cpick-demo .d-body{flex:1;display:flex;align-items:center;gap:.6rem;padding:.5rem;background:#fff}
.cpick-demo .d-btn{background:var(--demo-pri,#1F5A41);color:#fff;font:600 .75rem var(--font);padding:.3rem .55rem;border-radius:5px}
.cpick-demo .d-link{color:var(--demo-pri,#1F5A41);font:600 .75rem var(--font);text-decoration:underline}
.cpick-demo .d-acc{width:.5rem;height:1.6rem;background:var(--demo-acc,#B08A3E);border-radius:2px}
.block{display:block}
.bulk-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.6rem .8rem;padding:.7rem .9rem;margin-bottom:.9rem;border:1px dashed var(--border-strong);border-radius:var(--r);background:var(--surface-2)}
.bulk-bar.has{border-style:solid;border-color:var(--gold);background:var(--gold-soft)}
.bulk-bar label{font-size:.78rem}.bulk-bar select,.bulk-bar input{padding:.35rem .5rem;font-size:.85rem;width:auto;min-width:9rem}
.place-edit{margin:.2rem 0 .3rem}.place-edit .edit-pop{min-width:auto}
.place-sel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.span-all{grid-column:1/-1;display:grid;gap:.35rem}
.bulk-bar .place-sel{display:flex;flex-wrap:wrap;gap:.6rem}
@media (max-width:900px){.place-sel{grid-template-columns:1fr 1fr}}
/* Notifications list: dot, message, time on one tidy row */
.notif-list{list-style:none;margin:0;padding:0}
.notif-list li{display:flex;align-items:center;gap:.75rem;justify-content:flex-start;padding:.75rem .6rem;border-top:1px solid var(--border);border-radius:6px}
.notif-list li:first-child{border-top:0}
.notif-list li::before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:transparent}
.notif-list li.unread{background:var(--surface-2)}
.notif-list li.unread::before{background:var(--gold)}
.notif-list li a{flex:1;min-width:0;color:var(--text);text-decoration:none;font-weight:400}
.notif-list li a:hover{color:var(--link);text-decoration:underline}
.notif-list li.unread a{font-weight:600}
.notif-list li .muted{flex:none;font-size:.82rem;white-space:nowrap}
@media (max-width:640px){.notif-list li{flex-wrap:wrap}.notif-list li .muted{width:100%;padding-left:1.25rem}}
/* Updates: celebrations, shoutouts, memos */
.celebrate-banner{background:linear-gradient(120deg,var(--gold-soft),var(--primary-soft));border-color:var(--gold);margin-bottom:1.25rem}
.celebrate-banner h2{font-size:1.15rem;margin:0 0 .4rem}.celebrate-banner p{margin:.2rem 0}
.celeb{display:flex;align-items:center;gap:.7rem;padding:.55rem 0;border-top:1px solid var(--border)}.celeb:first-of-type{border-top:0}
.celeb>div{flex:1;min-width:0}.celeb form{margin:0}
.so-list{display:grid;gap:.9rem}
.so-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:var(--r-lg);padding:.9rem 1.1rem;position:relative}
.card .so-card{border-left-width:3px;margin-top:.7rem;box-shadow:none}
.so-head{display:flex;gap:.7rem;align-items:flex-start}.so-head>div{flex:1;min-width:0}
.so-val{flex:none;font:600 .72rem var(--font);color:var(--gold-strong);background:var(--gold-soft);border-radius:999px;padding:.2rem .6rem;text-transform:uppercase;letter-spacing:.04em}
.so-msg{margin:.55rem 0 0;font-size:.95rem}.so-rm{position:absolute;right:.6rem;bottom:.5rem}
.aud-picker{display:grid;gap:.7rem}.aud-row{display:grid;gap:.3rem}
select.multi{min-height:8rem;padding:.3rem}
.memo-view{font-size:.98rem;line-height:1.7;white-space:normal}
.paper .memo-body{margin:.8rem 0;font-size:10pt;line-height:1.55}
.detect-note{margin:0;font-size:.86rem;padding:.45rem .7rem;border-radius:var(--r);background:var(--surface-2);color:var(--text-2)}
.detect-note.ok{background:var(--ok-bg,#E6F2EA);color:var(--ok-fg,#1F5A41)}.detect-note.warn{background:var(--warn-bg,#FFF4E0);color:var(--warn-fg,#8A5A00)}
/* AI "Write it for me" */
.ai-box{border:1px dashed var(--gold);background:var(--gold-soft);border-radius:var(--r-lg);padding:.9rem 1rem;display:grid;gap:.6rem;margin-bottom:.4rem}
.ai-box.drag{border-style:solid;background:var(--primary-soft)}
.ai-head{display:flex;gap:.7rem;align-items:flex-start}.ai-head .muted{font-size:.84rem}
.ai-badge{flex:none;font:700 .72rem var(--font);letter-spacing:.06em;color:#fff;background:var(--primary);border-radius:6px;padding:.3rem .45rem}
.ai-box textarea{background:var(--surface)}
.ai-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.ai-row [data-ai-go]{margin-left:auto}
.ai-file{cursor:pointer}
.ai-thumbs{display:flex;gap:.4rem;flex-wrap:wrap}
.ai-thumb{position:relative;width:64px;height:48px;border-radius:6px;overflow:hidden;border:1px solid var(--border-strong);background:var(--surface)}
.ai-thumb img{width:100%;height:100%;object-fit:cover}.ai-thumb button{position:absolute;top:1px;right:1px;width:18px;height:18px;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:12px;line-height:18px;padding:0;cursor:pointer}
.ai-status{margin:0;font-size:.88rem;padding:.5rem .7rem;border-radius:var(--r);background:var(--surface)}
.ai-status.busy{color:var(--text-2)}.ai-status.ok{background:var(--ok-bg,#E6F2EA);color:var(--ok-fg,#1F5A41)}.ai-status.warn{background:var(--warn-bg,#FFF4E0);color:var(--warn-fg,#8A5A00)}
.ai-filled{background:#FFFBEA!important;box-shadow:0 0 0 2px var(--gold)!important}
[data-theme="dark"] .ai-filled{background:#2E2814!important}
.ai-off{display:flex;gap:.7rem;align-items:center;border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:.7rem .9rem;font-size:.9rem;color:var(--text-2)}
/* Memos: tags, links, conflict check, formatted text, POST memo printout */
.memo-tags{margin:.3rem 0}.memo-links{border-left:3px solid var(--gold);background:var(--gold-soft);padding:.6rem .8rem;border-radius:6px;display:grid;gap:.3rem;margin:.6rem 0}
.conflict-box{border:1px solid var(--warn-fg,#8A5A00);background:var(--warn-bg,#FFF4E0);border-radius:var(--r);padding:.7rem .9rem;margin:.6rem 0;font-size:.92rem}.conflict-box ul{margin:.4rem 0 0 1.1rem}
.link-row{grid-template-columns:minmax(12rem,1fr) minmax(14rem,1.4fr) minmax(12rem,1fr) auto!important}
@media (max-width:900px){.link-row{grid-template-columns:1fr!important}}
.memo-meta{border-collapse:collapse;margin:0 0 1rem;width:100%}.memo-meta th{text-align:left;width:8rem;color:var(--text-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .5rem .3rem 0;vertical-align:top}.memo-meta td{padding:.3rem 0}
.memo-view .memo-h{font-size:1.05rem;color:var(--primary);margin:1.1rem 0 .4rem}.memo-view ul,.memo-view ol{margin:.3rem 0 .6rem 1.3rem}
.memo-table{border-collapse:collapse;width:100%;margin:.4rem 0 .8rem;font-size:.9rem}.memo-table th{background:var(--primary);color:var(--on-primary);text-align:left}.memo-table th,.memo-table td{border:1px solid var(--border);padding:.35rem .5rem;vertical-align:top}
.paper.memo-paper{font:9.5pt/1.45 Arial,"IBM Plex Sans",sans-serif;color:#111}
.paper .mp-head{width:100%;border-collapse:collapse;border-bottom:4px solid #5A3A24;margin-bottom:.7rem}.paper .mp-head td{border:0;background:#fff;padding:.3rem 0;vertical-align:middle}
.paper .mp-right{text-align:right}.paper .mp-kind{color:#2E7D4F;font-weight:700;font-size:10pt;letter-spacing:.04em}.paper .mp-title{color:#5A3A24;font-weight:700;font-size:17pt}.paper .mp-ref{font-size:9pt;color:#444}.paper .mp-ref b{color:#5A3A24}
.paper .mp-meta{width:100%;border-collapse:collapse;background:#F6F1EA;border-left:4px solid #5A3A24;margin-bottom:.8rem}.paper .mp-meta th{width:22%;text-align:left;font-size:8.5pt;padding:.3rem .6rem;background:transparent!important;color:#111}.paper .mp-meta td{padding:.3rem .6rem;background:transparent;color:#111}
.paper .mp-change{border:1px solid #C9A227;background:#FFF8E1;padding:.4rem .6rem;margin:.5rem 0;font-size:9pt}
.paper .mp-body .memo-h{color:#2E7D4F;font-size:11.5pt;margin:.8rem 0 .3rem}.paper .mp-body p{margin:.25rem 0}.paper .mp-body ul,.paper .mp-body ol{margin:.2rem 0 .4rem 1.2rem}
.paper .memo-table th{background:#5A3A24!important;color:#fff!important;font-size:8.5pt}.paper .memo-table td{font-size:8.5pt;color:#111;background:#fff}
.paper .mp-foot{text-align:center;color:#666;font-size:8pt;margin-top:.8rem}
.paper .mp-ack{break-before:page;page-break-before:always;padding-top:.4rem}.paper .mp-ack h2{color:#2E7D4F;font-size:12pt;margin:0 0 .3rem}
.paper .mp-sign{width:100%;border-collapse:collapse}.paper .mp-sign th{background:#5A3A24!important;color:#fff!important;text-align:left;padding:.25rem .4rem;font-size:8.5pt}.paper .mp-sign td{border-bottom:1px solid #999;height:1.55rem;padding:.1rem .4rem;font-size:9pt;color:#111;background:#fff}
.ap-table td{vertical-align:top}.ap-table .ap-group td{background:var(--surface-2);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2)}
.ap-table .day-chips{gap:.3rem}.ap-people{min-height:4.6rem;min-width:13rem}
.policy-pick{display:grid;gap:.4rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}
.policy-list{display:grid;gap:.8rem}.policy-card{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--r);padding:.8rem 1rem}
.pc-head{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pc-sub{margin:.4rem 0 .2rem}.pc-am{margin:.4rem 0 0 1.1rem;font-size:.88rem}
.sup-pol{margin:.2rem 0 .7rem;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
/* HR Hub */
.hub-search{display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:.55rem .9rem;margin-bottom:1.1rem;max-width:40rem}
.hub-search input{border:0;box-shadow:none;padding:.2rem;flex:1;background:transparent;font-size:1rem}.hub-search input:focus{box-shadow:none}
.hub-links{display:grid;gap:.15rem}
.hub-link{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem .5rem;border-radius:var(--r);color:var(--text);text-decoration:none}
.hub-link:hover{background:var(--surface-2)}.hub-link .ic{color:var(--primary);margin-top:.15rem;flex:none}.hub-link small{display:block;color:var(--text-2);font-size:.82rem}
.hub-link.subtle{opacity:.85}
.hub-sec{margin:1.4rem 0}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:.8rem}
.hub-card{display:flex;flex-direction:column;gap:.35rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.9rem 1rem;color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}
.hub-card:hover{border-color:var(--primary);transform:translateY(-1px)}.hub-card small{color:var(--text-2);font-size:.84rem;flex:1}
.hc-ic{width:2rem;height:2rem;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;flex:none}
.hc-who{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-strong)}
.hub-proc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.7rem .9rem}
.hub-proc summary{display:flex;align-items:center;gap:.6rem;cursor:pointer;list-style:none}.hub-proc summary::-webkit-details-marker{display:none}
.hub-proc ol{margin:.6rem 0 .4rem 1.2rem;font-size:.9rem;display:grid;gap:.3rem}.hub-proc[open]{border-color:var(--primary)}
.crumb{margin:-.4rem 0 1rem;font-size:.86rem;color:var(--text-2)}.crumb a{color:var(--link)}
.tpl-box{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:var(--r-lg);padding:.9rem 1rem;display:grid;gap:.6rem;margin-bottom:.6rem}
.tpl-box select{min-width:18rem;flex:1;max-width:32rem}.ai-badge.tpl{background:var(--gold-strong)}
.tpl-h{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-2);margin:1rem 0 .3rem}.tpl-save{margin:-.4rem 0 1rem}
.scope-new{display:grid;gap:.25rem;margin-top:.4rem}
/* Clearance */
.clr-edit td{padding:.2rem .3rem}.clr-edit input[type=text],.clr-edit input:not([type]){width:100%;padding:.3rem .45rem}.clr-link{margin-right:.8rem}
.paper.clr{font:10pt/1.35 Calibri,Arial,"IBM Plex Sans",sans-serif;color:#111}
.paper .clr-head{width:100%;border-collapse:collapse}.paper .clr-head td{border:0;background:#fff;vertical-align:top;padding:0}.paper .clr-co{text-align:left;font-size:8.5pt;line-height:1.55;width:42%}
.paper .clr-title{text-align:center;font:700 17pt Calibri,Arial,sans-serif;margin:.2rem 0 0}.paper .clr-ref{text-align:center;font-size:8pt;color:#666;margin:0 0 .4rem}
.paper .clr-info{width:100%;border-collapse:collapse;margin-bottom:.5rem}.paper .clr-info th{text-align:left;font-weight:400;width:17%;padding:.1rem .2rem;background:#fff!important;color:#111;border:0}.paper .clr-info td{border:0;border-bottom:1px solid #111;padding:.1rem .3rem;background:#fff}
.paper .clr-band{border:1px solid #111;border-bottom:0;text-align:center;font-weight:700;font-size:11pt;padding:.15rem}
.paper .clr-grid{width:100%;border-collapse:collapse;margin:0}.paper .clr-grid th,.paper .clr-grid td{border:1px solid #111;padding:.1rem .3rem;font-size:9.5pt;background:#fff;color:#111}
.paper .clr-grid th{font-weight:400;text-align:center}.paper .clr-grid th.l{text-align:left;font-weight:700}.paper .clr-grid .c{text-align:center}.paper .clr-grid .gap{border-top:0;border-bottom:0;width:1%;padding:0}
.paper .clr-two{width:100%;border-collapse:separate;border-spacing:0;margin-top:.5rem}.paper .clr-two>tbody>tr>td{border:0;padding:0 .4rem 0 0;vertical-align:top;width:50%;background:#fff}.paper .clr-two>tbody>tr>td+td{padding:0 0 0 .4rem}
.paper .clr-dept{margin-top:.5rem}.paper .clr-dept th{font-weight:700}.paper .clr-dept .chk{width:5%}.paper .clr-dept .bottom{vertical-align:bottom}
.paper .clr-pay{width:72%;border-collapse:collapse;margin-top:.5rem}.paper .clr-pay th{text-align:left;font-weight:400;border:1px solid #111;width:40%;padding:.1rem .3rem;background:#fff!important;color:#111}.paper .clr-pay td{border:1px solid #111;padding:.1rem .3rem;background:#fff}
.paper .clr-note{font-size:8.5pt;margin:.6rem 0}
.paper .clr-sign{width:100%;border-collapse:separate;border-spacing:1.2rem .9rem;margin-top:.4rem}.paper .clr-sign td{border:0;background:#fff;text-align:center;width:50%;vertical-align:bottom;font-size:9.5pt}.paper .clr-sign .ln{border-bottom:1px solid #111;min-height:1.4rem;font-weight:700}.paper .clr-sign .lbl{display:block;text-align:left;font-size:9.5pt}
.hub-quick{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:.9rem}
.hub-qlink{display:flex;gap:.6rem;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:.6rem .9rem;color:var(--text);text-decoration:none;min-width:15rem}
.hub-qlink:hover{border-color:var(--primary)}.hub-qlink .ic{color:var(--primary)}.hub-qlink small{display:block;color:var(--text-2);font-size:.8rem}
.bulk-edit{margin:-.4rem 0 1rem;border:1px solid var(--border);border-radius:var(--r);padding:.6rem .9rem;background:var(--surface)}
.bulk-edit summary{cursor:pointer;font-weight:600;color:var(--link)}.bulk-edit[open] summary{margin-bottom:.6rem}
.danger-btn{color:var(--bad-fg,#B42318)!important;border-color:currentColor!important;margin-left:.4rem}
.dept-scope{display:grid;gap:.35rem;border:1px solid var(--border);border-radius:var(--r);padding:.5rem .7rem;width:100%}
.acct-edit-row>td{background:var(--surface-2);padding:.8rem 1rem!important}
.acct-edit{display:grid;grid-template-columns:minmax(18rem,1fr) minmax(24rem,1.4fr);gap:1.2rem;align-items:start}
.acct-people h3{margin:0;font-size:1rem}.acct-people .card-head{margin-bottom:.5rem}
.acct-ppl{font-size:.88rem;background:var(--surface)}.acct-ppl td,.acct-ppl th{padding:.35rem .5rem}
@media (max-width:1000px){.acct-edit{grid-template-columns:1fr}}
.acct-edit-form .grid3{grid-template-columns:1fr 1fr}.acct-edit-form .grid3>label:first-child{grid-column:1/-1}
/* ===== POST print kit (HR forms) ===== */
.pf-body{--pf-brown:#5B3A29;--pf-brown-2:#7A5340;--pf-green:#2E6B4F;--pf-cream:#F6F0E8;--pf-line:#D9CFC5;--pf-note:#EAF2EC;background:#fff}
.pf-wrap{width:100%;max-width:210mm;margin:0 auto;border-collapse:collapse}.pf-wrap>tbody>tr>td,.pf-wrap>tfoot>tr>td{padding:0;border:0;background:#fff}
.pf{font:10pt/1.4 Arial,"Helvetica Neue","IBM Plex Sans",sans-serif;color:#222;padding:10mm 10mm 4mm;background:#fff}
.pf-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.5rem;border-bottom:3px solid var(--pf-brown);margin-bottom:.8rem}
.pf-logo .print-logo{max-height:64px;max-width:240px}.pf-logo .mark{font:700 26pt Georgia,serif;color:var(--pf-brown)}
.pf-title{text-align:right}.pf-kind{color:var(--pf-green);font:700 8pt Arial,sans-serif;letter-spacing:.06em}
.pf-title h1{margin:.1rem 0;font:700 19pt Arial,sans-serif;color:var(--pf-brown)}.pf-ref{font-size:9.5pt;color:#555}.pf-ref b{color:var(--pf-brown)}
.pf-grid{display:grid;border:1px solid var(--pf-line);border-right:0;border-bottom:0;margin:.4rem 0 .7rem}
.pf-cell{border-right:1px solid var(--pf-line);border-bottom:1px solid var(--pf-line);padding:.3rem .5rem;min-height:2.6rem}
.pf-lbl{display:block;font-size:7.5pt;letter-spacing:.04em;text-transform:uppercase;color:#666}.pf-val{display:block;font-size:10.5pt;color:#111;min-height:1.1rem}
.pf-note{background:var(--pf-note);border:1px solid #CFE0D4;padding:.55rem .8rem;margin:.6rem 0;font-size:9.5pt}
.pf-h{font:700 12pt Arial,sans-serif;color:var(--pf-brown);border-bottom:2.5px solid var(--pf-brown);padding-bottom:.2rem;margin:.9rem 0 .4rem;break-after:avoid}
.pf-h small{font:italic 400 8pt Arial,sans-serif;color:#666;margin-left:.3rem}
.pf-box{border:1px solid var(--pf-line);padding:.45rem .55rem;min-height:3rem;font-size:9.8pt}.pf-box.mid{min-height:6rem}.pf-box.tall{min-height:11rem}
.pf-tbl{width:100%;border-collapse:collapse;margin:.2rem 0 .6rem;font-size:9.3pt}
.pf-tbl th{background:var(--pf-brown)!important;color:#fff!important;text-align:left;font-size:7.8pt;letter-spacing:.04em;text-transform:uppercase;padding:.3rem .45rem;border:1px solid var(--pf-brown)}
.pf-tbl td{border:1px solid var(--pf-line);padding:.3rem .45rem;vertical-align:top;background:#fff;color:#111}.pf-tbl td.c{text-align:center}.pf-tbl td.top{vertical-align:top}
.pf-tbl tr.tot td{background:var(--pf-cream)!important;font-weight:700}
.pf-break{break-before:page;page-break-before:always;height:0}
.pf-pagehead{margin:.2rem 0 .6rem;padding-bottom:.3rem;border-bottom:1px solid var(--pf-line)}.pf-p{font:700 9pt Arial,sans-serif;color:var(--pf-brown);letter-spacing:.05em}.pf-pw{font-size:8.5pt;color:#666}
.pf-signs{display:grid;gap:1.4rem;margin:1.4rem 0 .6rem}.pf-sign .pf-sl{font:700 7.8pt Arial,sans-serif;color:#555;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.6rem}
.pf-sline{border-top:1.5px solid #222}.pf-sn{font-weight:700;margin-top:.15rem}.pf-sr{font-size:8.5pt;color:#555}
.pf-ack{border:1px solid var(--pf-line);padding:.6rem .8rem;margin-top:.8rem;break-inside:avoid}.pf-ack h3{margin:0 0 .3rem;font-size:10.5pt;color:var(--pf-brown)}.pf-ack p{margin:0;font-size:9pt}
.pf-foot{display:flex;justify-content:space-between;gap:1rem;background:var(--pf-brown)!important;color:#fff!important;font-size:7.6pt;padding:.4rem .8rem;margin:0 10mm}
.pf-foot b{color:#fff}
.pf-value-head{display:flex;align-items:center;gap:.6rem;margin:.8rem 0 .3rem}.pf-letter{width:30px;height:30px;border-radius:50%;background:var(--pf-brown)!important;color:#fff!important;font:700 13pt Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;flex:none}
.pf-value-head h3{margin:0;font:700 12pt Arial,sans-serif;color:var(--pf-brown)}.pf-value-head small{display:block;font:italic 8.5pt Arial,sans-serif;color:#666}.pf-value-head .pts{margin-left:auto;color:var(--pf-green);font-weight:700}
.pf-warn{border:1px solid #E7C98B;background:#FFF7E6;padding:.4rem .6rem;font-size:8.5pt;margin:.3rem 0}
.pf-sum{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--pf-line);border-right:0}.pf-sum div{border-right:1px solid var(--pf-line);padding:.4rem;text-align:center}.pf-sum b{display:block;font-size:14pt;color:var(--pf-brown)}.pf-sum span{font-size:7.5pt;text-transform:uppercase;color:#666;letter-spacing:.04em}
.pf-two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.pf-cols{columns:2;column-gap:1rem}
.pf-apps{width:100%;border-collapse:collapse;font-size:8.8pt}.pf-apps td{border:1px solid var(--pf-line);padding:.18rem .4rem;background:#fff}.pf-apps th{background:var(--pf-brown)!important;color:#fff!important;font-size:7.6pt;text-transform:uppercase;text-align:left;padding:.25rem .4rem}
@media print{@page{size:A4 portrait;margin:8mm 0 6mm}.pf-body .print-bar{display:none}.pf{padding:0 12mm}.pf-foot{margin:0 12mm}}
.pf-body *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:.25rem 1rem}
.app-row{display:flex;align-items:center;gap:.5rem}.app-row label{flex:1;min-width:0;margin:0}.app-row input[name^="appr_"],.app-row input[name="oth_remarks[]"]{max-width:12rem;padding:.25rem .4rem;font-size:.85rem}
.app-row input[name="oth_name[]"]{flex:1;padding:.25rem .4rem;font-size:.85rem}
/* ===== POST branding on the other printed forms (IR, PIP / PAR / TRF, memos, equipment) ===== */
.print-page .paper{--pb:#5B3A29;--pg:#2E6B4F;--pl:#D9CFC5;font-family:Arial,"Helvetica Neue","IBM Plex Sans",sans-serif}
.print-page .paper .paper-head{border-bottom:3px solid var(--pb)!important}.print-page .paper .paper-title{color:var(--pb)!important;font-family:Arial,sans-serif}
.print-page .paper .band{background:var(--pb)!important;color:#fff!important}
.print-page .paper .hf-head{border-bottom-color:var(--pb)!important}.print-page .paper .hf-kind{color:var(--pg)!important}.print-page .paper .hf-title{color:var(--pb)!important}.print-page .paper .hf-ref b{color:var(--pb)}
.print-page .paper .hf-h{color:var(--pb)!important;border-bottom:2.5px solid var(--pb)!important}
.print-page .paper .hf-tbl th{background:var(--pb)!important;color:#fff!important;border-color:var(--pb)!important;text-transform:uppercase;font-size:7.8pt;letter-spacing:.04em}
.print-page .paper .hf-grid td b{color:#666}.print-page .paper .hf-grid td,.print-page .paper .hf-tbl td{border-color:var(--pl)!important}
.print-page .paper .hf-callout{background:#EAF2EC!important;border-left-color:var(--pg)!important}
.print-page .paper .hf-foot{background:var(--pb)!important;color:#fff!important;border:0!important;padding:.4rem .8rem;text-align:left}.print-page .paper .hf-foot b{color:#fff}
.print-page .paper .paper-foot{background:var(--pb)!important;color:#fff!important;border:0!important;padding:.35rem .8rem}.print-page .paper .paper-foot strong{color:#fff}
.print-page .paper .mp-head{border-bottom-color:var(--pb)!important}.print-page .paper .mp-kind{color:var(--pg)!important}
.print-page .paper .eq-head{border-bottom:3px solid var(--pb)!important}.print-page .paper .eq-title,.print-page .paper .eq-h{color:var(--pb)!important}
.print-page .paper .eq-fields td,.print-page .paper .eq-sign td{border-bottom-color:var(--pb)!important}
.print-page .paper .ev-band,.print-page .paper .ev-grid th{background:var(--pb)!important;color:#fff!important}
.print-page .paper *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pf-rc{display:grid;grid-template-columns:42% 1fr;gap:0}.pf-rc .pf-tbl{margin:.2rem 0 .6rem}.pf-rc .pf-tbl+.pf-tbl{border-left:0}.pf-rc .pf-tbl:last-child{display:flex;flex-direction:column}
.pf-rc .pf-tbl:last-child tbody{display:flex;flex-direction:column;height:100%}.pf-rc .pf-tbl:last-child tr:last-child{flex:1;display:flex}.pf-rc .pf-tbl:last-child tr:last-child td{flex:1}.pf-rc .pf-tbl:last-child tr:first-child{display:flex}.pf-rc .pf-tbl:last-child tr:first-child th{flex:1}
@media print{.pf{font-size:9.4pt}.pf-tbl{font-size:8.7pt;margin:.15rem 0 .45rem}.pf-tbl td{padding:.2rem .4rem}.pf-tbl th{padding:.22rem .4rem}
  .pf-value-head{margin:.45rem 0 .2rem}.pf-letter{width:24px;height:24px;font-size:11pt}.pf-value-head h3{font-size:11pt}.pf-warn{font-size:7.8pt;padding:.3rem .5rem}
  .pf-h{margin:.6rem 0 .3rem;font-size:11pt}.pf-cell{min-height:2.3rem;padding:.22rem .45rem}.pf-grid{margin:.3rem 0 .5rem}.pf-note{margin:.4rem 0;padding:.4rem .7rem;font-size:8.8pt}
  .pf-signs{margin:1rem 0 .4rem}.pf-sign .pf-sl{margin-bottom:1.2rem}.pf-apps{font-size:8.2pt}.pf-apps td{padding:.12rem .35rem}
  .pf-head{margin-bottom:.5rem}.pf-logo .print-logo{max-height:54px}.pf-title h1{font-size:17pt}}
.pf-tbl tr{break-inside:avoid}
/* ===== Print sheets: one block per page, footer at the bottom, nothing split ===== */
.pf-body .pf{padding:0;max-width:210mm;margin:0 auto}
.pf-body .pf-break{display:none}
.pf-sheet{background:#fff;width:210mm;max-width:100%;min-height:297mm;margin:0 auto 10mm;padding:12mm 12mm 8mm;display:flex;flex-direction:column;box-shadow:0 2px 14px rgba(0,0,0,.12)}
.pf-content{flex:1}
.pf-sheet>.pf-foot{margin:6mm 0 0}
.pf-tip{font-size:.8rem;color:var(--text-2);margin-left:.6rem}
.pf-box,.pf-grid,.pf-signs,.pf-ack,.pf-note,.pf-sum,.pf-warn,.pf-rc,.pf-two>div,.pf-tbl,.pf-apps{break-inside:avoid;page-break-inside:avoid}
.pf-h,.pf-value-head{break-after:avoid;page-break-after:avoid}
@media print{
  @page{size:A4 portrait;margin:0}
  html,body.pf-body{background:#fff!important;margin:0;padding:0}
  .pf-body .print-bar{display:none!important}
  .pf-sheet{width:210mm;height:296mm;min-height:0;margin:0;padding:10mm 12mm 7mm;box-shadow:none;overflow:hidden;break-after:page;page-break-after:always}
  .pf-sheet:last-child{break-after:auto;page-break-after:auto}
}
@media print{.pf-sheet{height:auto;min-height:294mm;overflow:visible}}
.first-acct{display:grid;gap:.4rem}
.hub-records{margin-bottom:1rem}.rec-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0}
.rec-chip{display:flex;flex-direction:column;min-width:8.5rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--r);color:var(--text);text-decoration:none;background:var(--surface)}
.rec-chip:hover{border-color:var(--primary)}.rec-chip b{font-size:1.25rem;color:var(--primary)}.rec-chip span{font-size:.8rem;color:var(--text-2)}
.result-count{margin:0 0 .5rem;color:var(--text-2);font-size:.9rem}
.paper .band-note{font-weight:400;font-size:.8em;opacity:.9}
.tab-hint{margin:-.6rem 0 1rem;font-size:.86rem;color:var(--text-2)}
.prior-irs{margin-top:1rem}
.dbg{border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--r);padding:.6rem .8rem;margin:.6rem 0}.dbg.ok{border-left-color:var(--good-fg,#1E7B4A)}.dbg.no{border-left-color:var(--bad-fg,#B42318)}
.dbg-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.dbg-t{width:100%;font-size:.85rem;margin:.4rem 0}.dbg-t th,.dbg-t td{padding:.25rem .4rem}.dbg-r{margin:.2rem 0 0;font-weight:600}
.steps.simple{margin:.2rem 0 .8rem}.ir-simple{display:grid;gap:.5rem;margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}
.answer-choice{display:grid;gap:.5rem;border:1px solid var(--border);border-radius:var(--r);padding:.7rem .9rem}.answer-choice .choice{display:flex;gap:.5rem;align-items:flex-start;cursor:pointer}
.answer-choice .agree{margin-left:1.6rem;font-size:.9rem}.emp-answer{background:var(--surface-2);border-radius:var(--r);padding:.6rem .8rem}.emp-answer h3{margin:0 0 .3rem;font-size:.95rem}
.more-opts{margin-top:.4rem}.more-opts summary{cursor:pointer;color:var(--text-2);font-size:.9rem}.more-opts[open]{padding:.5rem 0}
/* IR steps */
.wiz-nav{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;position:sticky;top:0;z-index:5;background:var(--bg);padding:.5rem 0}
.wiz-step{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;padding:.45rem .9rem .45rem .45rem;font:inherit;font-weight:600;cursor:pointer}
.wiz-step span{width:1.6rem;height:1.6rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);font-size:.85rem}
.wiz-step.done{color:var(--text)}.wiz-step.done span{background:var(--primary-soft);color:var(--primary)}
.wiz-step.on{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.wiz-step.on span{background:var(--primary);color:var(--on-primary)}
.wiz-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 .5rem;padding-top:.8rem;border-top:1px solid var(--border)}
.wiz-count{color:var(--text-2);font-size:.9rem}.wiz-foot [data-prev]:disabled{visibility:hidden}
@media (max-width:700px){.wiz-step{padding:.35rem .6rem .35rem .35rem;font-size:.85rem}}
#ir-wizard ~ * .ir-next .steps.simple,body:has(#ir-wizard) .ir-next .steps.simple{display:none}
form[data-form-steps] .fs-off{display:none!important}
form[data-form-steps] .wiz-nav{position:static;padding:0;margin:0 0 .4rem;background:transparent}
.fs-review h2{margin:0 0 .4rem}.fs-review .kv dd{white-space:pre-line}
.pc-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:1.2rem;align-items:start}.pc-cols>:only-child{grid-column:1/-1}
.pc-preview{border:1px dashed var(--border-strong);border-radius:var(--r-lg);padding:.8rem 1rem;background:var(--surface-2)}.pc-preview h3{font-size:.95rem;margin:.7rem 0 .2rem}
.pc-prev-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-bottom:.4rem}
@media (max-width:900px){.pc-cols{grid-template-columns:1fr}}
.wiz-print{margin-left:auto;display:inline-flex;gap:.4rem;align-items:center}
.pf-esig{margin:.4rem 0 0;padding:.35rem .6rem;border:1px solid #9CC9AE;background:#EAF5EE!important;color:#1E5C3A;font-size:9pt;font-weight:600}
.paper .esig-line{margin:.5rem 0;padding:.35rem .6rem;border:1px solid #9CC9AE;background:#EAF5EE!important;color:#1E5C3A;font-size:9pt;font-weight:600}
