
:root{--bg:#061018;--panel:#0b1923;--panel2:#0e2330;--text:#f7fbfd;--muted:#8fa6b4;--lime:#baff4a;--cyan:#5eeeff;--amber:#ffc15a;--red:#ff6177;--line:rgba(255,255,255,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 82% 4%,rgba(94,238,255,.12),transparent 25%),radial-gradient(circle at 5% 12%,rgba(186,255,74,.07),transparent 20%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
button,input,select{font:inherit}.top{position:sticky;top:0;z-index:50;height:calc(70px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:space-between;padding-left:4vw;padding-right:4vw;background:rgba(6,16,24,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;gap:11px;align-items:center}.mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--lime),var(--cyan));display:grid;place-items:center;color:#061018;font-weight:950;font-size:22px}.bn{font-weight:900;letter-spacing:.15em}.bs{font-size:10px;color:var(--muted)}.userbar{display:flex;gap:10px;align-items:center}.userchip{font-size:12px;color:#c5d3db;padding:9px 11px;border:1px solid var(--line);border-radius:10px}.btn{border:1px solid var(--line);background:rgba(255,255,255,.03);color:#dbe6eb;padding:10px 13px;border-radius:11px;cursor:pointer}.btn.primary{border:0;background:linear-gradient(135deg,var(--lime),var(--cyan));color:#061018;font-weight:900}.btn.danger{border-color:rgba(255,97,119,.28);color:#ff93a1}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.loginCard{width:min(460px,100%);background:linear-gradient(145deg,rgba(16,39,52,.96),rgba(8,22,30,.94));border:1px solid var(--line);border-radius:25px;padding:28px;box-shadow:0 40px 100px rgba(0,0,0,.4)}.loginCard h1{font-size:36px;letter-spacing:-.04em;margin:18px 0 8px}.loginCard p{color:var(--muted);line-height:1.5}.field{margin:14px 0}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.field input{width:100%;background:#08141c;color:white;border:1px solid var(--line);border-radius:12px;padding:13px}.hint{font-size:11px;color:#7f96a4;margin-top:12px;line-height:1.5}.layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 70px)}.sidebar{border-right:1px solid var(--line);background:#071119;padding:16px 12px}.navtitle{font-size:10px;color:#617987;text-transform:uppercase;letter-spacing:.14em;margin:12px 10px 8px}.navbtn{width:100%;display:flex;gap:10px;align-items:center;border:0;background:transparent;color:#8fa6b4;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer}.navbtn.active,.navbtn:hover{background:linear-gradient(90deg,rgba(186,255,74,.12),rgba(94,238,255,.05));color:white}.main{padding:26px;overflow:auto}.page{display:none}.page.active{display:block}.pagehead{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.pagehead h2{font-size:34px;letter-spacing:-.04em;margin:4px 0}.eyebrow{font-size:10px;letter-spacing:.17em;color:var(--cyan);font-weight:850}.muted{color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.kpi,.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px}.kpi label{display:block;color:var(--muted);font-size:11px}.kpi b{display:block;font-size:29px;letter-spacing:-.04em;margin-top:5px}.good{color:var(--lime)!important}.warn{color:var(--amber)!important}.bad{color:var(--red)!important}.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:11px;margin-top:11px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:11px}.card h3,.card h4{margin-top:0}.event{display:grid;grid-template-columns:125px 95px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}.event span{color:var(--cyan);font-size:11px}.event b{font-size:11px}.event p{margin:0;color:#c1d1d9;font-size:12px}.tableWrap{overflow:auto;-webkit-overflow-scrolling:touch;border-radius:15px;border:1px solid var(--line);margin-top:11px}table{width:100%;border-collapse:collapse;min-width:760px;background:var(--panel)}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:12px}th{font-size:10px;color:#76909f;text-transform:uppercase;letter-spacing:.07em}.rag{font-size:9px;font-weight:900;padding:5px 7px;border-radius:6px}.RED{background:rgba(255,97,119,.14);color:#ff8796}.AMBER{background:rgba(255,193,90,.14);color:#ffd181}.GREEN{background:rgba(186,255,74,.13);color:#cbff82}.ward,.vehicle{border-top:3px solid var(--line)}.ward.RED{border-top-color:var(--red)}.ward.AMBER{border-top-color:var(--amber)}.ward.GREEN{border-top-color:var(--lime)}.vehicle.READY{border-top-color:var(--lime)}.vehicle.DISPATCHED,.vehicle.ON_MISSION{border-top-color:var(--cyan)}.vehicle.SERVICE{border-top-color:var(--amber)}.brief{padding:15px;border:1px solid rgba(186,255,74,.18);background:linear-gradient(135deg,rgba(186,255,74,.06),rgba(94,238,255,.04));border-radius:14px;line-height:1.55;color:#d8e5ea}.scenario{display:flex;flex-wrap:wrap;gap:8px}.footer{padding:22px 4vw calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:#6f8795;font-size:11px}.mobileDock{display:none}
@media(max-width:950px){.layout{grid-template-columns:1fr}.sidebar{position:sticky;top:calc(70px + env(safe-area-inset-top));z-index:30;display:flex;overflow-x:auto;gap:6px;border-right:0;border-bottom:1px solid var(--line);padding:8px;background:rgba(7,17,25,.96);backdrop-filter:blur(12px)}.navtitle{display:none}.navbtn{flex:0 0 auto;width:auto;border:1px solid var(--line);white-space:nowrap}.kpis{grid-template-columns:repeat(2,1fr)}.grid2,.grid3{grid-template-columns:1fr}.userchip{display:none}.main{padding:16px}}
@media(max-width:600px){.top{height:calc(62px + env(safe-area-inset-top));padding-left:14px;padding-right:14px}.mark{width:38px;height:38px}.bn{font-size:13px}.bs{font-size:9px}.layout{min-height:auto}.sidebar{top:calc(62px + env(safe-area-inset-top))}.main{padding:12px}.pagehead{display:block}.pagehead h2{font-size:28px}.kpis{grid-template-columns:1fr 1fr;gap:8px}.kpi{min-height:96px;padding:13px}.kpi b{font-size:24px}.scenario .btn{flex:1 1 46%;min-height:46px}.footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mobileDock{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:60;background:rgba(6,16,24,.95);border:1px solid var(--line);border-radius:17px;padding:6px;backdrop-filter:blur(18px)}.mobileDock button{border:0;background:transparent;color:#8fa6b4;border-radius:11px;min-height:48px;font-size:9px}.mobileDock button.active{background:rgba(186,255,74,.1);color:white}}
@media(max-width:390px){.kpis{grid-template-columns:1fr}.loginCard{padding:21px}.loginCard h1{font-size:31px}}

.page{scroll-margin-top:90px}
@media(max-width:950px){.page{scroll-margin-top:130px}}
@media(max-width:600px){.page{scroll-margin-top:118px}}


/* PATMOS Enterprise v3.0.1 — unified high-legibility module headings */
.eyebrow,
.page-eyebrow,
.kicker,
.page .eyebrow {
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 2.1px !important;
    line-height: 1.45 !important;
    text-transform: uppercase;
    color: #35e6ff !important;
    margin-bottom: 7px !important;
    opacity: 1 !important;
}

.page h1,
.page-heading h1 {
    margin-top: 0;
    font-size: clamp(32px, 4vw, 48px) !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    letter-spacing: -1.4px !important;
    color: #fff !important;
}

@media (max-width:600px) {
    .eyebrow,
    .page-eyebrow,
    .kicker,
    .page .eyebrow {
        font-size: 13px !important;
        letter-spacing: 1.55px !important;
        line-height: 1.4 !important;
        margin-bottom: 6px !important;
    }
    .page h1,
    .page-heading h1 {
        font-size: 34px !important;
        line-height: 1.08 !important;
        letter-spacing: -1px !important;
    }
}


/* =========================================================
   PATMOS Enterprise v3.0.2 — Colour Intelligence System
   Deep navy shell + vivid functional module panels
   ========================================================= */

:root{
  --blue1:#0b77ff; --blue2:#0754d8;
  --green1:#18c954; --green2:#07923c;
  --amber1:#ffb400; --amber2:#d98a00;
  --red1:#ff334f; --red2:#bd092a;
  --violet1:#8b45ef; --violet2:#5c24c9;
  --cyan1:#17c9d9; --cyan2:#07899d;
  --orange1:#ff9308; --orange2:#dc6200;
  --pink1:#f74d93; --pink2:#be2168;
  --slate1:#59769b; --slate2:#314b6b;
}

/* lift every panel from the background */
.kpi,.card,.tableWrap{
  box-shadow:0 14px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.045);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.kpi:hover,.card:hover{
  transform:translateY(-2px);
  box-shadow:0 20px 42px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
}
.kpi{
  min-height:122px;
  position:relative;
  overflow:hidden;
  border-color:rgba(255,255,255,.13);
}
.kpi::after{
  content:"";
  position:absolute;
  width:90px;height:90px;
  right:-34px;bottom:-40px;
  border-radius:50%;
  background:rgba(255,255,255,.09);
}
.kpi label,.kpi small{color:rgba(255,255,255,.83)!important;position:relative;z-index:1}
.kpi b{color:#fff!important;position:relative;z-index:1;text-shadow:0 2px 14px rgba(0,0,0,.22)}

/* Executive KPI palette */
#p-executive .kpi:nth-child(1){background:linear-gradient(135deg,var(--blue1),var(--blue2))}
#p-executive .kpi:nth-child(2){background:linear-gradient(135deg,var(--red1),var(--red2))}
#p-executive .kpi:nth-child(3){background:linear-gradient(135deg,var(--green1),var(--green2))}
#p-executive .kpi:nth-child(4){background:linear-gradient(135deg,var(--violet1),var(--violet2))}

/* Meals & Procurement */
#p-kitchen .kpi:nth-child(1){background:linear-gradient(135deg,#ffad00,#e27600)}
#p-kitchen .kpi:nth-child(2){background:linear-gradient(135deg,#16c57b,#078c59)}
#p-kitchen .kpi:nth-child(3){background:linear-gradient(135deg,#ff4b36,#c41c1c)}
#p-kitchen .kpi:nth-child(4){background:linear-gradient(135deg,#09b8cf,#067d9b)}

/* Finance */
#p-finance .kpi:nth-child(1){background:linear-gradient(135deg,#147df5,#0757c7)}
#p-finance .kpi:nth-child(2){background:linear-gradient(135deg,#8d49ef,#6223c7)}
#p-finance .kpi:nth-child(3){background:linear-gradient(135deg,#f0528d,#b91c61)}
#p-finance .kpi:nth-child(4){background:linear-gradient(135deg,#13bb62,#087a43)}

/* Main content cards by module */
#p-executive .card{background:linear-gradient(145deg,rgba(14,93,188,.46),rgba(8,27,49,.96));border-color:rgba(46,148,255,.30)}
#p-executive .brief{background:linear-gradient(135deg,rgba(122,68,234,.28),rgba(8,35,50,.94));border-color:rgba(158,104,255,.34)}

#p-finance .card{background:linear-gradient(145deg,rgba(140,51,159,.42),rgba(40,16,54,.96));border-color:rgba(244,89,185,.27)}
#p-kitchen .card{background:linear-gradient(145deg,rgba(225,124,0,.32),rgba(42,29,8,.96));border-color:rgba(255,174,39,.27)}
#p-audit .card{background:linear-gradient(145deg,rgba(19,102,185,.36),rgba(7,26,46,.96));border-color:rgba(62,156,255,.25)}

/* Workforce cards use clinical RAG colour */
#p-workforce .ward.GREEN{
  background:linear-gradient(145deg,#11a94a,#066d36)!important;
  border-color:rgba(100,255,155,.35)!important;
}
#p-workforce .ward.AMBER{
  background:linear-gradient(145deg,#df9700,#9b5d00)!important;
  border-color:rgba(255,205,91,.38)!important;
}
#p-workforce .ward.RED{
  background:linear-gradient(145deg,#de2542,#92182b)!important;
  border-color:rgba(255,104,122,.40)!important;
}
#p-workforce .ward .muted,
#p-workforce .ward p{color:rgba(255,255,255,.86)!important}

/* Ambulance status panels */
#p-ambulance .vehicle.READY{
  background:linear-gradient(145deg,#10ad50,#06713a);
  border-color:rgba(112,255,169,.35);
}
#p-ambulance .vehicle.DISPATCHED,
#p-ambulance .vehicle.ON_MISSION{
  background:linear-gradient(145deg,#087ed8,#0752a8);
  border-color:rgba(86,191,255,.36);
}
#p-ambulance .vehicle.SERVICE{
  background:linear-gradient(145deg,#e49a00,#a75c00);
  border-color:rgba(255,202,86,.34);
}
#p-ambulance .vehicle .muted{color:rgba(255,255,255,.82)!important}
#p-ambulance > .card{background:linear-gradient(145deg,rgba(180,26,53,.32),rgba(43,12,22,.96));border-color:rgba(255,75,104,.25)}

/* Tables stay readable, but get a module-colour identity */
.tableWrap{background:#0a1721;border-color:rgba(255,255,255,.12)}
.tableWrap table{background:linear-gradient(180deg,rgba(12,27,38,.98),rgba(7,18,26,.98))}
th{
  color:#dceaf1;
  background:rgba(255,255,255,.045);
}
#p-residents .tableWrap{border-top:4px solid #15bd57}
#p-interrai .tableWrap{border-top:4px solid #8a46ed}
#p-attendance .tableWrap{border-top:4px solid #f18a08}
#p-kitchen .tableWrap{border-top:4px solid #ffb000}

/* Stronger module identity in headings */
#p-executive .eyebrow{color:#45a7ff!important}
#p-residents .eyebrow{color:#48e77a!important}
#p-interrai .eyebrow{color:#b487ff!important}
#p-workforce .eyebrow{color:#35e6ff!important}
#p-attendance .eyebrow{color:#ffad36!important}
#p-ambulance .eyebrow{color:#ff7185!important}
#p-kitchen .eyebrow{color:#ffd044!important}
#p-finance .eyebrow{color:#ff72bb!important}
#p-audit .eyebrow{color:#64b9ff!important}

/* Navigation — richer active state */
.navbtn{
  position:relative;
  overflow:hidden;
  border:1px solid transparent;
}
.navbtn.active,.navbtn:hover{
  background:linear-gradient(90deg,rgba(19,119,255,.28),rgba(19,201,217,.10));
  border-color:rgba(66,170,255,.18);
  box-shadow:inset 3px 0 0 #25a7ff;
}
.mobileDock button.active{
  background:linear-gradient(135deg,rgba(21,126,255,.30),rgba(23,201,217,.16));
  box-shadow:inset 0 0 0 1px rgba(94,238,255,.18);
}

/* Buttons */
.btn.primary{
  background:linear-gradient(135deg,#19c9d8,#147bff);
  color:#fff;
  box-shadow:0 8px 22px rgba(19,130,236,.28);
}
.scenario .btn:nth-child(1){border-color:rgba(255,87,107,.40);background:rgba(255,51,79,.10)}
.scenario .btn:nth-child(2){border-color:rgba(255,165,52,.40);background:rgba(255,145,8,.10)}
.scenario .btn:nth-child(3){border-color:rgba(60,224,167,.36);background:rgba(22,198,123,.10)}

/* Mobile polish: strong colour but not overwhelming */
@media(max-width:600px){
  .kpi{min-height:108px}
  .kpi:hover,.card:hover{transform:none}
  .card{box-shadow:0 10px 24px rgba(0,0,0,.24)}
}


/* PATMOS v3.0.3 — High Contrast RAG Workforce Panels */
#p-workforce .ward{
  border-width:2px !important;
  box-shadow:0 14px 32px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

/* GREEN: white typography on deeper green */
#p-workforce .ward.GREEN{
  background:linear-gradient(135deg,#0fbd58 0%,#087c3e 100%) !important;
  border-color:#25dc78 !important;
  color:#fff !important;
}
#p-workforce .ward.GREEN h3,
#p-workforce .ward.GREEN b,
#p-workforce .ward.GREEN strong,
#p-workforce .ward.GREEN p,
#p-workforce .ward.GREEN .muted{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.20);
}

/* RED: white typography on saturated crimson */
#p-workforce .ward.RED{
  background:linear-gradient(135deg,#e12647 0%,#a91431 100%) !important;
  border-color:#ff4f6c !important;
  color:#fff !important;
}
#p-workforce .ward.RED h3,
#p-workforce .ward.RED b,
#p-workforce .ward.RED strong,
#p-workforce .ward.RED p,
#p-workforce .ward.RED .muted{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}

/* AMBER: dark navy/black typography gives substantially higher contrast */
#p-workforce .ward.AMBER{
  background:linear-gradient(135deg,#ffd84a 0%,#f3a400 100%) !important;
  border-color:#ffe16b !important;
  color:#07131c !important;
}
#p-workforce .ward.AMBER h3,
#p-workforce .ward.AMBER b,
#p-workforce .ward.AMBER strong,
#p-workforce .ward.AMBER p,
#p-workforce .ward.AMBER .muted{
  color:#07131c !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Make the main ratio the strongest visual object */
#p-workforce .ward > b,
#p-workforce .ward .ratio{
  font-size:42px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-1.5px !important;
}

/* Status pills */
#p-workforce .ward .pill,
#p-workforce .ward .badge{
  font-weight:900 !important;
  letter-spacing:.7px !important;
  opacity:1 !important;
}
#p-workforce .ward.GREEN .pill,
#p-workforce .ward.GREEN .badge{
  background:#075f31 !important;color:#fff !important;
}
#p-workforce .ward.RED .pill,
#p-workforce .ward.RED .badge{
  background:#800d25 !important;color:#fff !important;
}
#p-workforce .ward.AMBER .pill,
#p-workforce .ward.AMBER .badge{
  background:#9a6200 !important;color:#fff !important;
}

/* Ensure descriptive text remains comfortably readable */
#p-workforce .ward p{
  font-size:16px !important;
  line-height:1.45 !important;
  font-weight:650 !important;
}
#p-workforce .ward h3{
  font-size:17px !important;
  font-weight:850 !important;
}

@media(max-width:600px){
  #p-workforce .ward > b,
  #p-workforce .ward .ratio{font-size:38px !important}
  #p-workforce .ward p{font-size:15px !important}
}


/* =========================================================
   PATMOS v3.0.4 — PORTAL-WIDE HIGH-CONTRAST PANEL STANDARD
   Approved Figtree × PATMOS colour language
   ========================================================= */

:root{
  --patmos-bg:#06131e;
  --patmos-panel:#0a2135;
  --patmos-line:rgba(116,205,255,.18);
  --patmos-text:#ffffff;
  --patmos-muted:#c2d6e2;
  --patmos-cyan:#2ee9ff;
  --patmos-blue:#087ef5;
  --patmos-green:#09b94f;
  --patmos-red:#e51f3d;
  --patmos-amber:#ffb000;
  --patmos-violet:#7540e8;
  --patmos-pink:#e83f8d;
  --patmos-teal:#0dbcca;
}

body{background:radial-gradient(circle at 80% 0%,rgba(12,84,116,.22),transparent 33%),var(--patmos-bg);color:var(--patmos-text)}
.muted{color:var(--patmos-muted)!important;opacity:1!important}
.pagehead h2,.card h3,.card h4,.kpi b,.kpi label{color:#fff!important}
.pagehead .eyebrow{font-size:14px!important;font-weight:900!important;letter-spacing:2.2px!important;color:var(--patmos-cyan)!important}

/* baseline panel readability */
.card,.tableWrap,.brief{
  border:1px solid var(--patmos-line)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.card p,.card small,.event p,.event span{color:#d7e6ee!important;opacity:1!important}
table{color:#f5fbff!important}
td{color:#edf7fb!important}
th{color:#fff!important;font-weight:800!important;background:rgba(255,255,255,.07)!important}
tbody tr:hover{background:rgba(66,189,255,.055)!important}

/* KPI cards — always bright and readable */
.kpi{border:1px solid rgba(255,255,255,.18)!important}
.kpi label{font-size:14px!important;font-weight:800!important}
.kpi b{font-weight:900!important}
.kpi small{color:#fff!important;opacity:.92!important;font-weight:650!important}

/* Executive */
#p-executive .kpi:nth-child(1){background:linear-gradient(135deg,#1688ff,#0755d5)!important}
#p-executive .kpi:nth-child(2){background:linear-gradient(135deg,#f32b4a,#ad1231)!important}
#p-executive .kpi:nth-child(3){background:linear-gradient(135deg,#12c55a,#08753d)!important}
#p-executive .kpi:nth-child(4){background:linear-gradient(135deg,#8949f2,#5521b9)!important}
#p-executive .card{background:linear-gradient(145deg,#0d3156,#081a2a)!important}
#p-executive .brief{background:linear-gradient(135deg,#5630a8,#102c47)!important;color:#fff!important}

/* Residents */
#p-residents .tableWrap{background:linear-gradient(180deg,#0c2d29,#081c21)!important;border-top:4px solid #16d26b!important}

/* InterRAI */
#p-interrai .tableWrap{background:linear-gradient(180deg,#241b48,#0f1830)!important;border-top:4px solid #9d69ff!important}

/* Attendance */
#p-attendance .tableWrap{background:linear-gradient(180deg,#3b260e,#161b23)!important;border-top:4px solid #ff9d16!important}

/* Ambulance */
#p-ambulance .vehicle.READY{background:linear-gradient(135deg,#0aba55,#067038)!important;color:#fff!important}
#p-ambulance .vehicle.DISPATCHED,#p-ambulance .vehicle.ON_MISSION{background:linear-gradient(135deg,#0b83e7,#074b9a)!important;color:#fff!important}
#p-ambulance .vehicle.SERVICE{background:linear-gradient(135deg,#ffc02e,#d88600)!important;color:#07131c!important}
#p-ambulance .vehicle.SERVICE *{color:#07131c!important}
#p-ambulance > .card{background:linear-gradient(145deg,#431522,#171822)!important}

/* Meals */
#p-kitchen .kpi:nth-child(1){background:linear-gradient(135deg,#09b84e,#06773a)!important}
#p-kitchen .kpi:nth-child(2){background:linear-gradient(135deg,#1487ff,#0757d3)!important}
#p-kitchen .kpi:nth-child(3){background:linear-gradient(135deg,#ffbd17,#d98200)!important}
#p-kitchen .kpi:nth-child(4){background:linear-gradient(135deg,#e92042,#a70c2c)!important}
#p-kitchen .tableWrap{background:linear-gradient(180deg,#352606,#151c21)!important;border-top:4px solid #ffbd17!important}

/* Finance */
#p-finance .kpi:nth-child(1){background:linear-gradient(135deg,#1588ff,#0753c9)!important}
#p-finance .kpi:nth-child(2){background:linear-gradient(135deg,#8247eb,#5620bd)!important}
#p-finance .kpi:nth-child(3){background:linear-gradient(135deg,#e94991,#af1f67)!important}
#p-finance .kpi:nth-child(4){background:linear-gradient(135deg,#13bd5b,#087740)!important}
#p-finance .card{background:linear-gradient(145deg,#321d4c,#121b2e)!important}

/* User management: blue-violet security palette */
#p-users .card{
  background:linear-gradient(145deg,#0b3158,#16193b)!important;
  border-color:rgba(74,159,255,.30)!important;
}
#p-users .tableWrap{border-top:4px solid #4ca4ff!important}
.rolePill,.statusPill{
  display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;letter-spacing:.45px;
}
.rolePill{background:#6d43d6;color:#fff}
.statusPill.ACTIVE{background:#087b3e;color:#fff}
.statusPill.INACTIVE{background:#536270;color:#fff}
.statusPill.LOCKED{background:#a41431;color:#fff}

/* Audit: SYSOPS security-only palette */
#p-audit .card{
  background:linear-gradient(145deg,#102b48,#10182b)!important;
  border-color:rgba(44,164,255,.30)!important;
}
#p-audit .tableWrap{border-top:4px solid #29a7ff!important}

/* User editor */
.modalShade{
  position:fixed;inset:0;background:rgba(0,8,16,.78);backdrop-filter:blur(8px);z-index:9999;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.userModal{
  width:min(720px,100%);background:linear-gradient(145deg,#0d2944,#0a1725);border:1px solid rgba(78,181,255,.27);
  border-radius:22px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.50)
}
.modalHead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.formGrid label{font-size:12px;font-weight:800;color:#d9ecf6}
.formGrid input,.formGrid select{
  width:100%;box-sizing:border-box;margin-top:6px;background:#071521;color:#fff;border:1px solid rgba(111,197,255,.20);
  border-radius:12px;padding:12px;font:inherit
}
.formGrid .wide{grid-column:1/-1}
.modalActions{display:flex;justify-content:flex-end;margin-top:18px}
.btn.mini{padding:7px 10px;font-size:12px}

/* Nav hierarchy items remain bright enough against navy */
.navbtn{color:#dceaf3!important}
.navbtn.active{color:#fff!important}

/* Mobile */
@media(max-width:700px){
  .formGrid{grid-template-columns:1fr}
  .formGrid .wide{grid-column:auto}
  .userModal{padding:18px}
  #p-users .tableWrap,#p-audit .tableWrap{overflow-x:auto}
}


/* =========================================================
   PATMOS v3.0.5 — SMART COLOUR-CODED DATA ROWS
   Portal-wide table aesthetics + readability
   ========================================================= */

.smartTable{
  border-collapse:separate!important;
  border-spacing:0!important;
}
.smartTable thead th{
  background:linear-gradient(180deg,#17314a,#102434)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.085em!important;
  padding:14px 14px!important;
  border-bottom:1px solid rgba(105,198,255,.22)!important;
  position:sticky;
  top:0;
  z-index:2;
}
.smartTable tbody td{
  padding:13px 14px!important;
  color:#f3f9fc!important;
  border-bottom:1px solid rgba(132,185,214,.14)!important;
  font-size:13px!important;
  vertical-align:middle;
  transition:background .15s ease,color .15s ease;
}

/* Universal zebra rhythm */
.smartTable tbody tr:nth-child(odd){
  background:linear-gradient(90deg,rgba(7,28,42,.96),rgba(10,36,52,.92))!important;
}
.smartTable tbody tr:nth-child(even){
  background:linear-gradient(90deg,rgba(12,54,78,.88),rgba(8,42,64,.88))!important;
}
.smartTable tbody tr:hover{
  background:linear-gradient(90deg,rgba(14,98,142,.72),rgba(11,65,100,.75))!important;
  box-shadow:inset 4px 0 0 #38dfff;
}

/* Attendance gets a stronger alternating blue/navy pattern */
#p-attendance .attendanceTable tbody tr:nth-child(odd){
  background:linear-gradient(90deg,#081a2a,#0c2638)!important;
}
#p-attendance .attendanceTable tbody tr:nth-child(even){
  background:linear-gradient(90deg,#0b4569,#0b3551)!important;
}
#p-attendance .attendanceTable tbody tr.row-duty:hover{
  background:linear-gradient(90deg,#0c5a77,#0b4864)!important;
}

/* Residents: calm teal alternating rows */
#p-residents .residentsTable tbody tr:nth-child(odd){
  background:linear-gradient(90deg,#082a2b,#0b3334)!important;
}
#p-residents .residentsTable tbody tr:nth-child(even){
  background:linear-gradient(90deg,#0b4041,#0b3339)!important;
}
#p-residents .residentsTable tr.acuity-RED{box-shadow:inset 4px 0 0 #ff415e}
#p-residents .residentsTable tr.acuity-AMBER{box-shadow:inset 4px 0 0 #ffbd2d}
#p-residents .residentsTable tr.acuity-GREEN{box-shadow:inset 4px 0 0 #2ddb77}

/* InterRAI: violet/indigo alternating rows */
#p-interrai .interraiTable tbody tr:nth-child(odd){
  background:linear-gradient(90deg,#171d40,#242052)!important;
}
#p-interrai .interraiTable tbody tr:nth-child(even){
  background:linear-gradient(90deg,#28255d,#1f2148)!important;
}
#p-interrai .interraiTable tr.risk-RED{box-shadow:inset 4px 0 0 #ff4f6b}
#p-interrai .interraiTable tr.risk-AMBER{box-shadow:inset 4px 0 0 #ffc33c}
#p-interrai .interraiTable tr.risk-GREEN{box-shadow:inset 4px 0 0 #36df81}

/* Inventory: amber/blue rows with stock condition emphasis */
#p-kitchen .inventoryTable tbody tr:nth-child(odd){
  background:linear-gradient(90deg,#2f260d,#25311b)!important;
}
#p-kitchen .inventoryTable tbody tr:nth-child(even){
  background:linear-gradient(90deg,#44320d,#2f301d)!important;
}
#p-kitchen .inventoryTable tr.row-alert{
  box-shadow:inset 5px 0 0 #ff394f;
  background:linear-gradient(90deg,rgba(115,20,34,.82),rgba(59,31,20,.92))!important;
}
#p-kitchen .inventoryTable tr.row-watch{
  box-shadow:inset 5px 0 0 #ffb719;
}
#p-kitchen .inventoryTable tr.row-good{
  box-shadow:inset 5px 0 0 #24d875;
}

/* User Management: blue/violet alternating rows */
#p-users .usersTable tbody tr:nth-child(odd){
  background:linear-gradient(90deg,#102b50,#17264f)!important;
}
#p-users .usersTable tbody tr:nth-child(even){
  background:linear-gradient(90deg,#173f66,#25265d)!important;
}

/* Audit: deliberately restrained security palette */
#p-audit .auditTable tbody tr:nth-child(odd){
  background:linear-gradient(90deg,#0c2439,#10283e)!important;
}
#p-audit .auditTable tbody tr:nth-child(even){
  background:linear-gradient(90deg,#153a57,#122f49)!important;
}
.auditMeta{
  max-width:460px;
  white-space:normal;
  overflow-wrap:anywhere;
  color:#c9dbe6!important;
}

/* Chips */
.wardChip,.roleChip,.stateChip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  border-radius:8px;
  padding:4px 9px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.025em;
  line-height:1.1;
  white-space:nowrap;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.wardChip.WARD-A{background:#baf7cf!important;color:#075c31!important;border-color:#74e9a2!important}
.wardChip.WARD-B{background:#ffc0cb!important;color:#78132b!important;border-color:#ff8fa4!important}
.wardChip.WARD-C{background:#bfe7ff!important;color:#07558b!important;border-color:#79c9f8!important}

.roleChip.RN{background:#315f91!important;color:#fff!important}
.roleChip.EN{background:#9b6916!important;color:#fff!important}
.roleChip.CARE-AIDE{background:#5e45ca!important;color:#fff!important}
.roleChip{background:#36536e;color:#fff}

.stateChip.ON-DUTY,.stateChip.ACTIVE,.stateChip.OPEN{
  background:#06723d!important;color:#d7ffe9!important;border-color:#0fa960!important
}
.stateChip.OFF-DUTY,.stateChip.INACTIVE,.stateChip.CLOSED{
  background:#4c5a66!important;color:#fff!important
}
.stateChip.ASSIGNED,.stateChip.MONITORING{
  background:#8a5a00!important;color:#fff1b6!important;border-color:#d99500!important
}
.stateChip.LOCKED{
  background:#991a33!important;color:#fff!important;border-color:#d42f50!important
}
.stateChip[class*="RAISE"],.stateChip[class*="URGENT"]{
  background:#a51632!important;color:#fff!important;border-color:#e43d5b!important
}
.stateChip[class*="NO-ACTION"]{
  background:#087445!important;color:#fff!important;border-color:#0fac66!important
}

/* Row action buttons */
.rowAction{
  min-width:84px;
  font-weight:850!important;
  border-color:rgba(103,189,255,.34)!important;
  background:linear-gradient(180deg,#123352,#0d2439)!important;
  color:#fff!important;
}
.rowAction:hover{
  background:linear-gradient(180deg,#17517d,#0e3658)!important;
}
.rowAction.clockIn{
  background:linear-gradient(135deg,#0cae59,#087641)!important;
  border-color:#1cda79!important;
}

/* iPhone/tablet usability */
@media(max-width:700px){
  .smartTable tbody td{font-size:12px!important;padding:12px!important}
  .smartTable thead th{font-size:10px!important;padding:12px!important}
  .wardChip,.roleChip,.stateChip{font-size:10px;min-height:24px;padding:4px 7px}
}


/* =========================================================
   PATMOS v3.0.6 — NAVY RESPONSE TIMELINE
   High contrast emergency operations styling
   ========================================================= */

.responseTimelineCard{
  background:linear-gradient(145deg,#08213b,#061829)!important;
  border:1px solid rgba(39,146,255,.40)!important;
  border-radius:20px!important;
  padding:18px!important;
  box-shadow:0 18px 44px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.045)!important;
}

.timelineHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.timelineHead h3{
  margin:4px 0 4px!important;
  font-size:28px!important;
  line-height:1.08!important;
  font-weight:900!important;
  color:#fff!important;
}
.timelineHead .muted{
  color:#9dd7ff!important;
  font-size:14px!important;
}

.livePill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #12c777;
  color:#fff;
  background:rgba(4,104,69,.28);
  padding:8px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.livePill i{
  width:10px;height:10px;border-radius:50%;
  background:#18ef8a;
  box-shadow:0 0 14px rgba(24,239,138,.75);
}

.responseTimelineCard .tableWrap{
  border:1px solid rgba(41,151,255,.48)!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#071a2c!important;
  box-shadow:none!important;
}

.responseTimelineTable thead th{
  background:linear-gradient(180deg,#0b5ec1,#084596)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(100,200,255,.38)!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
}

.responseTimelineTable tbody tr:nth-child(odd){
  background:linear-gradient(90deg,#071b30,#082747)!important;
}
.responseTimelineTable tbody tr:nth-child(even){
  background:linear-gradient(90deg,#0b3f6a,#0a3155)!important;
}
.responseTimelineTable tbody tr:hover{
  background:linear-gradient(90deg,#0e5d8c,#0b4673)!important;
  box-shadow:inset 4px 0 0 #35dcff!important;
}

.responseTimelineTable td{
  color:#fff!important;
  font-size:13px!important;
  border-bottom:1px solid rgba(93,169,223,.18)!important;
}
.responseTimelineTable td b{
  color:#fff!important;
  font-weight:750!important;
}
.timelineNo{
  width:44px;
  text-align:center;
  font-size:15px!important;
  font-weight:900!important;
  color:#ccecff!important;
}

.timelineBadge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:120px;
  justify-content:flex-start;
  border-radius:9px;
  padding:7px 10px;
  color:#fff!important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.timelineIcon{font-size:13px;line-height:1}

.timelineBadge.DISPATCH{
  background:linear-gradient(135deg,#d72645,#9e1730)!important;
  border-color:#ef4260!important;
}
.timelineBadge.HANDOVER{
  background:linear-gradient(135deg,#1266d7,#0c48a5)!important;
  border-color:#2f86ff!important;
}
.timelineBadge.NOTIFY{
  background:linear-gradient(135deg,#7142df,#4e24b3)!important;
  border-color:#956bff!important;
}
.timelineBadge.VERIFY{
  background:linear-gradient(135deg,#0b8e76,#076455)!important;
  border-color:#18c7a4!important;
}
.timelineBadge.ALERT{
  background:linear-gradient(135deg,#b98209,#7b5600)!important;
  border-color:#e7ad27!important;
}

@media(max-width:700px){
  .timelineHead{flex-direction:column;align-items:flex-start}
  .timelineHead h3{font-size:24px!important}
  .livePill{padding:7px 10px}
  .timelineBadge{min-width:102px;padding:6px 8px;font-size:10px}
}
