/* =============================================================================
   Liontown KV × SRG Global — Shutdown Dashboard
   Branding/status colours are CSS variables in :root. To rebrand, edit here.
   ========================================================================== */
:root{
  /* ---- Liontown (client primary) ---- */
  --lt-navy:    #16294E;
  --lt-navy-2:  #0E1C3A;
  --lt-blue:    #1E66E0;   /* bright bracket blue */
  --lt-orange:  #EE7623;   /* accent orange */
  --lt-orange-2:#F4953F;

  /* ---- SRG Global (contractor accent) ---- */
  --srg-red:    #E1241E;
  --srg-red-2:  #B71A16;
  --srg-black:  #15171A;

  /* ---- neutrals ---- */
  --dark:    #1c2533;
  --grey:    #5b6573;
  --mid:     #97a1b0;
  --line:    #e6eaf1;
  --offwhite:#f6f8fb;
  --bg:      #f4f6fa;
  --white:   #ffffff;

  /* ---- schedule / phase accents ---- */
  --shutdown:   #E1241E;
  --hold-point: #7a4fc0;

  /* ---- status colours ---- */
  --st-done:    #2e8b62;
  --st-active:  #EE7623;
  --st-ontrack: #2f6fb0;
  --st-atrisk:  #e0a020;
  --st-delayed: #E1241E;
  --st-planned: #9aa3b0;

  --label-w: 340px;
  --radius: 12px;
  --shadow: 0 1px 2px rgba(20,30,55,.05), 0 2px 10px rgba(20,30,55,.04);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Barlow','Segoe UI',system-ui,Arial,sans-serif;
  color:var(--dark);background:var(--bg);line-height:1.5;font-size:15px;
}
h1,h2,h3,h4,h5{font-family:'Barlow Condensed','Barlow',sans-serif;margin:0;line-height:1.1;letter-spacing:.2px}
a{color:var(--lt-blue);text-decoration:none}
.muted{color:var(--grey);font-size:.86em}
.wrap{max-width:1320px;margin:0 auto;padding:0 22px}

/* ---------------- header ---------------- */
.site-head{background:var(--white);position:sticky;top:0;z-index:40;box-shadow:0 1px 0 var(--line)}
.site-head::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--lt-blue),var(--lt-orange) 50%,var(--srg-red))}
.head-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 22px;max-width:1320px;margin:0 auto}
.logos{display:flex;align-items:center;gap:20px}
.logos img.lt{height:38px}
.logos img.srg{height:42px}
.logo-div{width:1px;height:34px;background:var(--line);display:inline-block}
.head-meta{text-align:right}
.head-meta .ttl{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:23px;color:var(--lt-navy);text-transform:uppercase;letter-spacing:.4px;line-height:1.05}
.head-meta .sub{color:var(--grey);font-size:12.5px}
.head-meta .ref{display:inline-block;margin-top:5px;font-size:10.5px;color:var(--grey);background:var(--offwhite);border:1px solid var(--line);padding:2px 9px;border-radius:20px;font-weight:600;letter-spacing:.3px}

/* light sub-header strip */
.subhead{background:var(--white);border-bottom:1px solid var(--line)}
.subhead-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 0}
.sh-titles{display:flex;flex-direction:column;gap:2px;border-left:3px solid var(--lt-orange);padding-left:12px}
.sh-eyebrow{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:22px;color:var(--lt-navy);text-transform:uppercase;letter-spacing:.3px;line-height:1}
.sh-sub{color:var(--grey);font-size:12.5px}
.sh-win{font-size:12.5px;color:var(--grey);background:var(--offwhite);border:1px solid var(--line);padding:7px 13px;border-radius:8px}
.sh-win b{color:var(--srg-red)}

/* ---------------- KPI bar ---------------- */
.kpibar{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:22px auto 6px}
.kpi{background:var(--white);border-radius:10px;box-shadow:var(--shadow);padding:15px 16px;border-top:2px solid var(--lt-orange)}
.kpi:nth-child(6){border-top-color:var(--srg-red)}
.kpi-v{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:28px;color:var(--lt-navy);line-height:1}
.kpi-l{color:var(--grey);font-size:11.5px;text-transform:uppercase;letter-spacing:.4px;margin-top:4px}

/* ---------------- tabs ---------------- */
.tabs{display:flex;gap:4px;margin:20px 0 0;border-bottom:2px solid var(--line);flex-wrap:wrap}
.tab-btn{background:none;border:0;padding:11px 16px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:16px;
  text-transform:uppercase;letter-spacing:.6px;color:var(--grey);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.tab-btn:hover{color:var(--lt-navy)}
.tab-btn.active{color:var(--lt-navy);border-bottom-color:var(--srg-red)}
.tab-panel{display:none;padding:22px 0 40px}
.tab-panel.active{display:block}

/* ---------------- cards / sections ---------------- */
.section{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px;margin-bottom:18px}
.section>h2,.section>h3{color:var(--lt-navy);text-transform:uppercase;font-size:19px;font-weight:600;letter-spacing:.3px;margin-bottom:3px}
.section .sec-sub{color:var(--grey);font-size:12.5px;margin-bottom:16px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}

/* overall progress bar */
.ob-head{display:flex;justify-content:space-between;font-weight:600;color:var(--lt-navy);font-size:15px}
.ob-head strong{font-family:'Barlow Condensed',sans-serif;font-size:26px}
.ob-track{height:14px;border-radius:10px;background:var(--offwhite);overflow:hidden;margin:8px 0 6px;border:1px solid var(--line)}
.ob-fill{height:100%;background:linear-gradient(90deg,var(--lt-orange),var(--lt-orange-2))}
.ob-note{color:var(--grey);font-size:12px}

/* pills + legend */
.pill{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;
  padding:2px 8px;border-radius:20px;color:#fff;white-space:nowrap}
.pill.done{background:var(--st-done)}.pill.active{background:var(--st-active)}
.pill.ontrack{background:var(--st-ontrack)}.pill.atrisk{background:var(--st-atrisk)}
.pill.delayed{background:var(--st-delayed)}.pill.planned{background:var(--st-planned)}
.legend{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0 14px}
.lg{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--grey)}
.sw{width:14px;height:14px;border-radius:3px;display:inline-block}
.sw.done{background:var(--st-done)}.sw.active{background:var(--st-active)}
.sw.ontrack{background:var(--st-ontrack)}.sw.atrisk{background:var(--st-atrisk)}
.sw.delayed{background:var(--st-delayed)}.sw.planned{background:var(--st-planned)}

/* ---------------- Gantt ---------------- */
.gantt-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.gantt-controls input[type=search]{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-size:14px;min-width:220px;font-family:inherit}
.gantt-controls label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--grey)}
.btn{background:var(--lt-navy);color:#fff;border:0;padding:8px 14px;border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;font-family:inherit}
.btn.alt{background:var(--srg-red)}
.btn:hover{filter:brightness(1.08)}

.gantt{border:1px solid var(--line);border-radius:10px;overflow-x:auto;background:var(--white)}
.g-row{display:flex;min-width:900px;border-bottom:1px solid var(--line)}
.g-label{width:var(--label-w);flex:0 0 var(--label-w);padding:8px 12px;font-size:13px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;border-right:2px solid var(--line)}
.g-grid{position:relative;flex:1;min-height:34px}
.g-head{position:sticky;top:0;background:var(--offwhite);z-index:3;border-bottom:2px solid var(--line)}
.g-head .g-label{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;color:var(--lt-navy);align-items:center}
.g-head .g-grid{display:flex}
.g-col{flex:1;min-width:24px;text-align:center;font-size:10px;color:var(--mid);border-left:1px solid #eef1f6;padding:3px 0;position:relative}
.g-col.wk{border-left:1px solid var(--line)}
.g-mon{display:block;font-weight:700;color:var(--grey);font-size:9px}
.g-dom{display:block}

.g-phase .g-label{background:var(--lt-navy);color:#fff;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  text-transform:uppercase;font-size:15px;width:100%;flex:1;border-right:0}
.g-phase{background:var(--lt-navy)}
.g-toggle{background:none;border:0;color:#fff;cursor:pointer;font-size:13px;margin-right:4px}
.g-task:hover{background:var(--offwhite)}
.g-task.sub .g-name{padding-left:14px}
.g-wbs{color:var(--mid);font-weight:700;font-size:11px;min-width:26px}
.g-name{font-weight:600;color:var(--dark);flex:1;min-width:120px}
.g-note{width:100%;color:var(--grey);font-size:11px;line-height:1.3}

.g-bar{position:absolute;top:7px;height:18px;border-radius:5px;opacity:.92;overflow:hidden}
.g-bar.done{background:var(--st-done)}.g-bar.active{background:var(--st-active)}
.g-bar.ontrack{background:var(--st-ontrack)}.g-bar.atrisk{background:var(--st-atrisk)}
.g-bar.delayed{background:var(--st-delayed)}.g-bar.planned{background:repeating-linear-gradient(45deg,#cdd4de,#cdd4de 6px,#dde2ea 6px,#dde2ea 12px)}
.g-bar-fill{height:100%;background:rgba(0,0,0,.22)}
.g-ms{position:absolute;top:8px;width:15px;height:15px;background:var(--hold-point);transform:translateX(-50%) rotate(45deg);border:2px solid #fff;box-shadow:0 0 0 1px var(--hold-point)}

.g-grid-wrap{position:relative}
.g-vlines{position:absolute;left:var(--label-w);right:0;top:0;bottom:0;pointer-events:none}
#ganttBody{position:relative}
.g-vline{position:absolute;top:0;bottom:0;width:2px;z-index:4}
.g-vline.today{background:rgba(46,139,98,.9)}
.g-vline.asat{background:repeating-linear-gradient(0deg,var(--lt-navy),var(--lt-navy) 5px,transparent 5px,transparent 9px)}
.g-vline span{position:absolute;top:0;left:3px;font-size:9px;font-weight:700;color:#fff;padding:1px 4px;border-radius:0 0 4px 0;white-space:nowrap}
.g-vline.today span{background:var(--st-done)}
.g-vline.asat span{background:var(--lt-navy)}

/* tables */
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;background:var(--offwhite);color:var(--lt-navy);font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase;font-size:13px;padding:8px 10px;border-bottom:2px solid var(--line)}
.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl.mini td{padding:5px 8px}
.tbl.mini td:first-child{color:var(--grey);width:38%}

/* ---------------- daily updates ---------------- */
.feed{display:flex;flex-direction:column;gap:16px}
.card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:16px 18px;box-shadow:var(--shadow)}
.card.report{border-left:4px solid var(--lt-orange)}
.card.report.has-ms{border-left-color:var(--srg-red)}
.card.nowork{border-left:4px solid var(--mid);background:var(--offwhite)}
.card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}
.card-date{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:18px;color:var(--lt-navy);text-transform:uppercase}
.card-by{font-size:13px;font-weight:600}
.card-crew{font-size:12px;background:var(--lt-navy);color:#fff;padding:2px 10px;border-radius:20px;font-weight:600}
.rep-ms{background:rgba(225,36,30,.08);color:var(--srg-red-2);font-weight:600;font-size:13px;padding:6px 10px;border-radius:6px;margin-bottom:10px}
.rep-safety{font-size:13px;margin-bottom:10px}
.saf-tag{background:var(--st-done);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.5px}
.rep-block{margin-bottom:8px}
.rep-block h5{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:13px;color:var(--grey);letter-spacing:.5px;margin-bottom:2px}
.rep-block ul{margin:0;padding-left:18px;font-size:13.5px}
.rep-block.conc h5{color:var(--srg-red)}
.rep-feedback{margin-top:12px;font-style:italic;color:var(--lt-navy);background:var(--offwhite);border-left:3px solid var(--lt-orange);padding:8px 12px;border-radius:0 6px 6px 0;font-size:13.5px}
.rep-feedback span{display:block;font-style:normal;font-size:12px;color:var(--grey);margin-top:3px}
.rep-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.rep-photos img{height:84px;border-radius:6px;border:1px solid var(--line)}
.nowork-body strong{color:var(--grey)}

/* ---------------- notices ---------------- */
.ntc{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;overflow:hidden}
.ntc-head{width:100%;display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--white);border:0;cursor:pointer;text-align:left;font-family:inherit;font-size:13px}
.ntc-head:hover{background:var(--offwhite)}
.ntc-ref{font-weight:700;color:var(--lt-navy)}
.ntc-title{flex:1;color:var(--dark)}
.ntc-date{font-size:12px}
.ntc-body{padding:6px 14px 14px;background:var(--offwhite)}
.type-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:4px;color:#fff;letter-spacing:.3px}
.type-notification{background:var(--lt-navy)}.type-variation{background:var(--lt-orange)}
.type-rfi{background:var(--st-ontrack)}.type-backcharge{background:var(--srg-red)}
.ntc-links a{display:inline-block;margin-right:12px;margin-top:8px;font-size:13px}

/* ---------------- weather ---------------- */
.wx-meta{color:var(--grey);font-size:12px;margin-bottom:10px}
.wx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.wx-day{border:1px solid var(--line);border-radius:8px;padding:10px;text-align:center;background:var(--white)}
.wx-day.nolift{border-color:var(--srg-red);background:rgba(225,36,30,.04)}
.wx-d{font-family:'Barlow Condensed',sans-serif;font-weight:700;text-transform:uppercase;color:var(--lt-navy)}
.wx-dt{font-size:11px;color:var(--grey)}
.wx-t{font-weight:700;font-size:16px;margin:6px 0 2px}
.wx-g{font-size:12px;color:var(--grey)}
.wx-lift{font-size:11px;font-weight:700;margin-top:6px;padding:2px 6px;border-radius:4px;display:inline-block}
.wx-lift.ok{background:rgba(46,139,98,.12);color:var(--st-done)}
.wx-lift.no{background:rgba(225,36,30,.12);color:var(--srg-red)}
.wx-p{font-size:11px;color:var(--mid);margin-top:4px}

/* ---------------- training matrix ---------------- */
.tm-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.tm{border-collapse:collapse;font-size:13px;width:100%;min-width:980px;table-layout:fixed}
.tm th,.tm td{border:1px solid var(--line);padding:0}
.tm thead th{background:var(--lt-navy);color:#fff;vertical-align:bottom;height:132px;position:relative}
.tm-tk{width:auto}
.tm-tk span{writing-mode:vertical-rl;transform:rotate(180deg);display:inline-block;padding:10px 2px;font-weight:600;font-size:11.5px;white-space:nowrap;line-height:1.1}
.tm-name{position:sticky;left:0;background:var(--white);z-index:2;padding:10px 14px!important;text-align:left;width:210px}
.tm thead .tm-name{background:var(--lt-navy);color:#fff;vertical-align:bottom;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.4px;font-size:14px}
.tm tbody .tm-name{border-right:2px solid var(--line)}
.tm tbody tr:nth-child(even) .tm-name{background:var(--offwhite)}
.tm tbody tr:nth-child(even) td{background:var(--offwhite)}
.tm-name strong{display:block;color:var(--lt-navy);font-size:13.5px}
.tm-name .muted{font-size:11px}
.tm-c{text-align:center;height:42px;color:var(--st-done);font-weight:800;font-size:16px}
.tm-c.held{background:rgba(46,139,98,.10)!important}
.tm-c.held a{color:var(--st-done);display:block}
.tm-c.voc{background:rgba(30,102,224,.12)!important;color:var(--lt-blue);cursor:pointer;font-weight:700;font-size:12px}
.tm-c.voc:hover{background:rgba(30,102,224,.22)!important}

/* ---------------- doc library ---------------- */
.doclib h4{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;color:var(--lt-navy);font-size:16px;margin:14px 0 6px;border-bottom:2px solid var(--lt-orange);display:inline-block;padding-bottom:2px}
.doclist{list-style:none;padding:0;margin:0 0 6px}
.doclist li{padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px;display:flex;justify-content:space-between;gap:10px}
.doclist .dref{color:var(--grey);font-size:12px}

/* ---------------- KPI accents (workforce/risk) ---------------- */
.kpi.acc-navy{border-top-color:var(--lt-navy)}
.kpi.acc-green{border-top-color:var(--st-done)}
.kpi.acc-red{border-top-color:var(--srg-red)}
.kpi.acc-blue{border-top-color:var(--lt-blue)}
.kpi.acc-orange{border-top-color:var(--lt-orange)}
.kpi.risk-high{border-top-color:var(--srg-red)}.kpi.risk-high .kpi-v{color:var(--srg-red)}
.kpi.risk-med{border-top-color:var(--st-atrisk)}.kpi.risk-med .kpi-v{color:#b9831a}
.kpi.risk-low{border-top-color:var(--st-done)}.kpi.risk-low .kpi-v{color:var(--st-done)}

/* ---------------- filters / selects ---------------- */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.filters select{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;color:var(--dark);background:var(--white)}
.neg{color:var(--srg-red);font-weight:700}

/* ---------------- key contacts ---------------- */
.contacts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:760px){.contacts{grid-template-columns:1fr}}
.contact-grp h4{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;color:var(--lt-navy);font-size:15px;border-bottom:2px solid var(--lt-orange);display:inline-block;padding-bottom:2px;margin-bottom:10px}
.contact-list{display:flex;flex-direction:column;gap:10px}
.contact{border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.contact .c-name{font-weight:700;color:var(--lt-navy)}
.contact .c-meta{font-size:12.5px;margin-top:4px;display:flex;gap:14px;flex-wrap:wrap}

/* ---------------- readiness + status chips ---------------- */
.rd,.st-chip{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:2px 9px;border-radius:20px}
.rd.ready{background:rgba(46,139,98,.14);color:var(--st-done)}
.rd.covered{background:rgba(47,111,176,.14);color:var(--st-ontrack)}
.rd.gap{background:rgba(225,36,30,.12);color:var(--srg-red)}
.st-chip.confirmed{background:rgba(46,139,98,.14);color:var(--st-done)}
.st-chip.contingency{background:rgba(47,111,176,.14);color:var(--st-ontrack)}
.st-chip.tbc{background:rgba(224,160,32,.18);color:#9a6f12}
.tbl tr.tot td{font-weight:700;background:var(--offwhite);border-top:2px solid var(--line)}

/* ---------------- stacked bars ---------------- */
.sb-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.sb-label{width:130px;flex:0 0 130px;font-size:12.5px;color:var(--grey);text-align:right}
.sb-bar{flex:1;display:flex;height:22px;border-radius:5px;overflow:hidden;background:var(--offwhite)}
.bseg{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:700;min-width:2px}
.b-conf{background:var(--st-done)}.b-tbc{background:var(--st-atrisk)}.b-cont{background:var(--lt-blue)}
.sb-legend{display:flex;gap:18px;margin-top:12px;font-size:12px;color:var(--grey)}
.sb-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px}

/* ---------------- pie + coverage ---------------- */
.pie-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.pie{width:120px;height:120px;border-radius:50%;position:relative;flex:0 0 120px}
.pie-hole{position:absolute;inset:26px;background:var(--white);border-radius:50%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:26px;color:var(--lt-navy)}
.pie-hole small{font-family:'Barlow',sans-serif;font-weight:500;font-size:11px;color:var(--grey)}
.pie-legend{display:flex;flex-direction:column;gap:6px;font-size:13px}
.pie-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:7px;vertical-align:-1px}
.coverage{display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line);padding-top:14px}
.cov-row{display:flex;align-items:center;gap:10px}
.cov-label{width:160px;flex:0 0 160px;font-size:12px;color:var(--grey)}
.cov-track{flex:1;height:12px;background:var(--offwhite);border-radius:8px;overflow:hidden}
.cov-fill{display:block;height:100%}
.cov-fill.hi{background:var(--st-done)}.cov-fill.mid{background:var(--st-atrisk)}.cov-fill.lo{background:var(--srg-red)}
.cov-val{width:42px;text-align:right;font-size:12px;font-weight:700;color:var(--lt-navy)}

/* ---------------- risk register + experience ---------------- */
.risk-pill{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;padding:2px 9px;border-radius:20px;color:#fff}
.risk-pill.high{background:var(--srg-red)}.risk-pill.med{background:var(--st-atrisk)}.risk-pill.low{background:var(--st-done)}
.exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.exp-card{border:1px solid var(--line);border-radius:10px;padding:14px}
.exp-card h4{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;color:var(--lt-navy);font-size:15px;margin-bottom:10px;border-bottom:2px solid var(--lt-orange);display:inline-block;padding-bottom:2px}
.exp-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;padding:5px 0;border-bottom:1px solid var(--offwhite)}
.tier{font-size:10.5px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:20px}
.tier.lead{background:rgba(46,139,98,.16);color:var(--st-done)}
.tier.senior{background:rgba(47,111,176,.16);color:var(--st-ontrack)}
.tier.competent{background:rgba(238,118,35,.16);color:#b85e12}
.tier.developing{background:rgba(154,163,176,.22);color:var(--grey)}

/* ---------------- roster grid ---------------- */
.ros-key{display:inline-flex;gap:12px;flex-wrap:wrap;align-items:center;margin-left:auto;font-size:11.5px;color:var(--grey)}
.ros-key .rk{display:inline-flex;align-items:center;gap:5px}
.ros-key i{display:inline-flex;width:24px;height:18px;align-items:center;justify-content:center;border-radius:4px;font-style:normal;font-weight:700;font-size:10px;color:#fff}
.ros-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
.ros{border-collapse:collapse;width:100%;min-width:760px;font-size:12px}
.ros th,.ros td{border:1px solid var(--line);text-align:center;padding:0}
.ros thead th{background:var(--lt-navy);color:#fff;padding:5px 0}
.ros .ros-d{width:34px}
.rd-dow{display:block;font-size:9px;opacity:.8}
.rd-dom{display:block;font-weight:700}
.ros-name{position:sticky;left:0;background:var(--white);z-index:2;text-align:left!important;padding:7px 12px!important;min-width:190px;border-right:2px solid var(--line)!important}
.ros thead .ros-name{background:var(--lt-navy)}
.ros-name strong{display:block;color:var(--lt-navy);font-size:13px}
.ros-name .muted{font-size:11px}
.ros tbody tr:nth-child(even) .ros-name{background:var(--offwhite)}
.rc{height:30px;font-weight:700;font-size:11px;color:#fff}
.sc-day{background:var(--lt-orange)}
.sc-night{background:var(--lt-navy)}
.sc-travel{background:var(--lt-blue)}
.sc-off{background:var(--white);color:var(--mid)}
.sc-tbc{background:var(--st-atrisk);color:#fff}
.ros-tbc .ros-name{background:rgba(224,160,32,.12)!important}
.ros-tbc .ros-name strong{color:#9a6f12}

/* ---------------- footer ---------------- */
.site-foot{background:var(--srg-black);color:#c7ccd6;padding:24px 0;margin-top:30px;font-size:13px}
.foot-in{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.foot-in strong{color:#fff}
.foot-in .bar{height:3px;background:linear-gradient(90deg,var(--lt-orange),var(--srg-red));width:100%;margin-bottom:16px}

@media(max-width:1000px){.kpibar{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.kpibar{grid-template-columns:repeat(2,1fr)}.sh-eyebrow{font-size:19px}.head-meta{display:none}}

/* print */
@media print{
  .tabs,.gantt-controls,.site-head .head-strip{display:none}
  .tab-panel{display:block!important}
  .section{box-shadow:none;border:1px solid var(--line)}
  body{background:#fff}
}
