@import url("/nurseforce-tokens.css");
/* ==========================================================================
   NurseForce brand layer for the Clayton Church Homes Workforce Command Centre.
   Self-hosted OFL brand fonts plus the design system's type and radii rules.
   Source of truth: NurseForce Design System (DESIGN.md).
   ========================================================================== */

@font-face { font-family:"Source Serif 4"; font-style:normal; font-weight:200 900; font-display:swap;
  src:url("/fonts/SourceSerif4-Variable.ttf") format("truetype"); }
@font-face { font-family:"Source Serif 4"; font-style:italic; font-weight:200 900; font-display:swap;
  src:url("/fonts/SourceSerif4-Italic-Variable.ttf") format("truetype"); }
@font-face { font-family:"Archivo"; font-style:normal; font-weight:100 900; font-stretch:62% 125%; font-display:swap;
  src:url("/fonts/Archivo-Variable.ttf") format("truetype"); }
@font-face { font-family:"Archivo"; font-style:italic; font-weight:100 900; font-stretch:62% 125%; font-display:swap;
  src:url("/fonts/Archivo-Italic-Variable.ttf") format("truetype"); }
@font-face { font-family:"Space Mono"; font-style:normal; font-weight:400; font-display:swap;
  src:url("/fonts/SpaceMono-Regular.ttf") format("truetype"); }
@font-face { font-family:"Space Mono"; font-style:normal; font-weight:700; font-display:swap;
  src:url("/fonts/SpaceMono-Bold.ttf") format("truetype"); }

:root {
  /* NurseForce palette tokens */
  --nf-violet:#4B4275;
  --nf-violet-deep:#352D5C;
  --nf-heather:#B4A9D6;
  --nf-lilac:#EEEBF5;
  --nf-ink:#1A1917;
  --nf-grey-500:#6B6864;
  --nf-grey-200:#E6E3DE;

  /* Map the application's legacy variables onto the brand */
  --brand:var(--nf-violet);
  --brand-dark:var(--nf-violet-deep);
  --brand-soft:var(--nf-lilac);
  --navy:var(--nf-violet);
  --navy-2:var(--nf-violet-deep);
  --teal:var(--nf-violet);
  --teal-2:var(--nf-violet-deep);
  --teal-soft:var(--nf-lilac);
  --blue-soft:#F7F5FB;
  --purple:var(--nf-violet);
  --purple-soft:var(--nf-lilac);
  --ink:var(--nf-ink);
  --muted:var(--nf-grey-500);
  --line:var(--nf-grey-200);

  /* The product's three states, fixed by the design system */
  --green:#1E8E5A;
  --orange:#C97F1E;
  --red:#C0392B;

  /* Three radii, never a pill */
  --radius:16px;
}

body.nf-cch,
body.nf-cch button,
body.nf-cch input,
body.nf-cch select,
body.nf-cch textarea {
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif !important;
}

/* Headings: Source Serif 4 600, tight tracking. One pivot word may be italic. */
body.nf-cch h1,
body.nf-cch h2,
body.nf-cch h3,
body.nf-cch h4 {
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif !important;
  font-weight:600 !important;
  letter-spacing:-0.015em;
  line-height:1.1;
}
body.nf-cch h1 em,
body.nf-cch h2 em,
body.nf-cch h3 em { font-style:italic; font-weight:600; color:inherit; }

/* Data lives in the mono: every time, count, percentage, reference and date. */
body.nf-cch .mono,
body.nf-cch .data,
body.nf-cch time,
body.nf-cch code,
body.nf-cch .kpi b,
body.nf-cch .kpi strong,
body.nf-cch .status-pill,
body.nf-cch .ai-report-kpi strong,
body.nf-cch .status-metric b,
body.nf-cch .ai-report-period-note {
  font-family:"Space Mono",ui-monospace,Menlo,monospace !important;
  font-variant-numeric:tabular-nums;
}

/* Radii: 6 for controls and chips, 10 for tiles, 16 for large surfaces. */
body.nf-cch button,
body.nf-cch input,
body.nf-cch select,
body.nf-cch .status-pill,
body.nf-cch .chip { border-radius:6px !important; }
body.nf-cch .card,
body.nf-cch .kpi,
body.nf-cch .group-card,
body.nf-cch .staff-table-card { border-radius:10px !important; }

body.nf-cch :focus-visible {
  outline:none;
  box-shadow:0 0 0 3px rgba(75,66,117,.40);
}

/* The pivot word and accents carry heather on violet blocks, violet on white. */
body.nf-cch .scc-hero h2 .scc-hero-person-name,
body.nf-cch .staff-welcome-title .accent,
body.nf-cch .scc-hero-person-name { color:var(--nf-heather) !important; }

/* Legacy chart accents mapped onto the brand */
:root { --pool-relief:var(--nf-heather); }
body.nf-cch [stroke="#0a4868"] { stroke:var(--nf-violet) !important; }
body.nf-cch [fill="#0a4868"] { fill:var(--nf-violet) !important; }
body.nf-cch [stroke="#57c6d8"] { stroke:var(--nf-heather) !important; }
body.nf-cch [fill="#57c6d8"] { fill:var(--nf-heather) !important; }
body.nf-cch [fill="#2ca5ba"] { fill:var(--nf-violet) !important; }
body.nf-cch [style*="#2ca5ba"] { background:var(--nf-violet) !important; }

/* Productive-hours FT only: the legacy renderer uses #0a4868 for this series.
   Scope to the employment chart so unrelated navy charts remain untouched. */
body.nf-cch #ai-report-trend .ai-report-svg rect[fill="#0a4868"] {
  fill:var(--nf-report-ft) !important;
}
body.nf-cch #ai-report-trend .workforce-mix-legend i[style*="#0a4868"] {
  background:var(--nf-report-ft) !important;
}

/* Primary button on white: violet fill, white text (design system section 4). */
body.nf-cch .v122-ai-button,
body.nf-cch .toolbar .search button {
  background:var(--nf-violet) !important;
  border-color:var(--nf-violet) !important;
  color:#fff !important;
  font-weight:600 !important;
}
body.nf-cch .v122-ai-button:hover,
body.nf-cch .toolbar .search button:hover { background:var(--nf-violet-deep) !important; }

/* Every greeting name is the pivot word: heather on the violet block, never a per-user hue. */
body.nf-cch .scc-hero-person-name,
body.nf-cch .scc-hero-person-name[class*="user-"] { color:var(--nf-heather) !important; }

/* Sidebar logo: official NurseForce lockup on white. */
body.nf-cch .sidebar .nf-product-brand.nf-logo{display:flex !important;align-items:center;background:#fff !important;height:64px;padding:0 16px !important;margin:0 0 12px !important;border-bottom:1px solid var(--nf-grey-200);}

/* Compact roster shift cards: name on line 1, classification and employment type on line 2.
   Hidden elements stay in the DOM so SCHADS and compliance logic keep running. */
html body.nf-cch .assignment.assignment[data-assignment] span.v96-booking-meta,
html body.nf-cch .assignment.assignment[data-assignment] span.v125-schads-mini,
html body.nf-cch .assignment.assignment[data-assignment] div.role-chip,
html body.nf-cch .assignment.assignment[data-assignment] span.assignment-role-badge { display:none !important; }
html body.nf-cch .assignment.assignment[data-assignment] > .ok{width:18px !important;min-width:18px !important;height:auto !important;padding:0 !important;font-size:10px !important;}
body.nf-cch .assignment[data-assignment]{min-height:0 !important;height:auto !important;padding:4px 6px !important;gap:4px !important;row-gap:0 !important;align-items:center !important;}
body.nf-cch .assignment[data-assignment] > div:first-child{display:flex !important;flex-direction:column;gap:1px;min-width:0;}
body.nf-cch .assignment[data-assignment] strong,
body.nf-cch .assignment[data-assignment] > div:first-child > span{display:block !important;margin:0 !important;line-height:1.2 !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.nf-cch [data-slot][data-slot-type="roster"]{min-height:0 !important;padding-top:3px !important;padding-bottom:3px !important;}
html body.nf-cch tr:has(.assignment, [data-slot-type="roster"]) > td{padding-top:3px !important;padding-bottom:3px !important;}
html body.nf-cch .area-cell{gap:2px !important;padding:0 !important;min-height:0 !important;}
html body.nf-cch .area-cell .area-title{display:flex !important;flex-direction:column;gap:0 !important;line-height:1.2;}
html body.nf-cch .area-cell .shift-line{margin:0 !important;gap:6px !important;}
html body.nf-cch .area-cell .shift-pill{padding:1px 6px !important;min-height:0 !important;line-height:1.3 !important;}
/* Drag handle hidden: the whole shift card is draggable. */
html body.nf-cch .assignment.assignment[data-assignment] > .ok,
html body.nf-cch .assignment.assignment[data-assignment] > .assignment-drag-handle{display:none !important;}
html body.nf-cch .assignment.assignment[data-assignment]{grid-template-columns:minmax(0,1fr) !important;cursor:grab !important;}
html body.nf-cch .assignment.assignment[data-assignment]:active{cursor:grabbing !important;}
/* Consolidated roster summary (Fill, Open shifts, Agency shifts) */
html body.nf-cch .nf-roster-summary{background:#fff;border:1px solid var(--nf-grey-200);border-radius:10px;padding:12px 16px;margin:0 0 12px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
html body.nf-cch .nf-rs-head{display:flex;flex-direction:column;min-width:150px;}
html body.nf-cch .nf-rs-head strong{font-family:"Source Serif 4",Georgia,serif;font-weight:600;font-size:18px;color:var(--nf-ink);}
html body.nf-cch .nf-rs-head span{font-size:12px;color:var(--nf-grey-500);}
html body.nf-cch .nf-rs-boxes{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;flex:1;}
html body.nf-cch .nf-rs-box{background:var(--nf-lilac);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;}
html body.nf-cch .nf-rs-box span{font-size:12px;color:var(--nf-grey-500);}
html body.nf-cch .nf-rs-box b{font-size:24px;color:var(--nf-violet);line-height:1.1;}
html body.nf-cch .nf-rs-box small{font-size:11px;color:var(--nf-grey-500);}
html body.nf-cch #workspace.nf-roster-all .scc-location-grid,
html body.nf-cch #workspace .nf-roster-summary ~ * .v51-roster-summary,
html body.nf-cch #workspace .nf-roster-summary ~ .v51-roster-commandbar{display:none !important;}

/* Open-shift cards: compact single-line label matching filled cards */
html body.nf-cch .open-slot.open-slot{box-sizing:border-box!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:4px 6px!important;display:flex!important;align-items:center!important;overflow:hidden!important}
html body.nf-cch .open-slot.open-slot>div{display:flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important;margin:0!important;line-height:1.2!important}
html body.nf-cch .open-slot.open-slot strong{font-size:inherit;margin:0!important;display:inline!important}
html body.nf-cch .open-slot.open-slot strong::first-letter{text-transform:uppercase}
html body.nf-cch .open-slot.open-slot>div>*{font-size:12px!important;line-height:1.2!important}
html body.nf-cch .open-slot.open-slot small{display:inline!important;margin:0!important;font-weight:700}
html body.nf-cch .open-slot.open-slot .req-copy{display:none!important}

/* Roster: care-area groups and equal day columns */
html body.nf-cch table.week-table.nf-grouped{table-layout:fixed!important;width:100%!important}
html body.nf-cch table.week-table.nf-grouped th:first-child,html body.nf-cch table.week-table.nf-grouped tbody tr:not(.nf-area-group)>td:first-child{width:168px!important;min-width:168px!important;max-width:168px!important}
html body.nf-cch table.week-table.nf-grouped th:not(:first-child),html body.nf-cch table.week-table.nf-grouped td:not(:first-child){min-width:0!important;overflow:hidden}
html body.nf-cch table.week-table.nf-grouped .area-cell{min-width:0!important}
html body.nf-cch table.week-table.nf-grouped .area-title strong{display:none!important}
html body.nf-cch table.week-table.nf-grouped .area-title span{font-size:11px!important;font-weight:600;color:var(--ink,#1F1B33)}
html body.nf-cch tr.nf-area-group>td{background:#F7F5FB!important;color:#352D5C;font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:10px 10px 6px!important;border-top:1px solid #DDD8EA!important;border-bottom:1px solid #EEEBF5!important;height:auto!important}
html body.nf-cch .assignment[data-assignment]{min-width:0!important;max-width:100%!important}
html body.nf-cch .open-slot.open-slot>div>*{font-size:10.5px!important;letter-spacing:-.01em}html body.nf-cch .open-slot.open-slot>div{gap:3px!important}html body.nf-cch .open-slot.open-slot{padding:4px 5px!important}

/* Available staff panel: compact */
html body.nf-cch .nf-avail [data-toggle-guide],html body.nf-cch .nf-avail .comment-target-btn,html body.nf-cch .nf-avail .v125-schads-note,html body.nf-cch .nf-avail .guide-drawer{display:none!important}
html body.nf-cch .nf-avail .staff-list{gap:4px!important;display:flex!important;flex-direction:column!important}
html body.nf-cch .nf-avail .staff-card.staff-card{box-sizing:border-box!important;height:36px!important;min-height:36px!important;padding:4px 8px!important;display:flex!important;align-items:center!important;gap:0!important;border-radius:6px!important;cursor:grab;overflow:hidden!important;content-visibility:auto;contain-intrinsic-size:auto 36px;flex:0 0 auto!important}
html body.nf-cch .nf-avail .staff-card.staff-card:active{cursor:grabbing}
html body.nf-cch .nf-avail .staff-card>:not(.staff-main){display:none!important}
html body.nf-cch .nf-avail .staff-card .staff-main{display:flex!important;flex-direction:column!important;min-width:0!important;width:100%!important;gap:1px!important;margin:0!important;padding:0!important}
html body.nf-cch .nf-avail .staff-card .staff-main>:not(strong):not(.nf-sc-meta){display:none!important}
html body.nf-cch .nf-avail .staff-card .staff-main strong{font-size:12px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0!important}
html body.nf-cch .nf-avail .nf-sc-meta{font-size:10px;line-height:1.2;color:#5B5675;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.nf-cch .nf-avail .pool-search>span{display:none!important}

/* Selected open shift context */
html body.nf-cch .nf-avail .staff-card.nf-inelig{display:none!important}
html body.nf-cch .nf-avail.nf-slot-on .selection-summary>:not(.nf-slot-bar),html body.nf-cch .nf-avail.nf-slot-on .v124-history-explainer,html body.nf-cch .nf-avail.nf-slot-on .filter-summary,html body.nf-cch .nf-avail.nf-slot-on .card-head p{display:none!important}
html body.nf-cch .nf-avail.nf-slot-on .selection-summary{padding:0!important;border:0!important;background:none!important;margin:0 0 8px!important}
html body.nf-cch .nf-slot-bar{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #B4A9D6;background:#EEEBF5;border-radius:10px}
html body.nf-cch .nf-slot-bar .nf-sb-main{display:flex;flex-direction:column;min-width:0;flex:1}
html body.nf-cch .nf-slot-bar strong{font-size:12px;color:#352D5C;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.nf-cch .nf-slot-bar span{font-size:10px;color:#5B5675;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.nf-cch .nf-slot-bar .nf-sb-count{font-family:'Space Mono',monospace;font-size:10px;color:#352D5C;white-space:nowrap}
html body.nf-cch .nf-slot-bar .nf-sb-count b{font-size:14px;color:#4B4275}
html body.nf-cch .nf-slot-bar .nf-sb-clear{border:1px solid #4B4275;background:#fff;color:#4B4275;border-radius:6px;padding:4px 8px;font:600 11px 'Archivo',sans-serif;cursor:pointer}
html body.nf-cch .nf-empty{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px dashed #B4A9D6;border-radius:10px;text-align:center}
html body.nf-cch .nf-empty strong{font-size:12px;color:#352D5C}html body.nf-cch .nf-empty span{font-size:11px;color:#5B5675}

/* Roster Builder: unified sans typography and controls (Publish Roster as reference) */
html body.nf-cch.nf-page-roster{--nf-ui:'Archivo','Helvetica Neue',Arial,sans-serif}
html body.nf-cch.nf-page-roster h1,html body.nf-cch.nf-page-roster h2,html body.nf-cch.nf-page-roster h3,html body.nf-cch.nf-page-roster .nf-rs-head strong{font-family:var(--nf-ui)!important;font-style:normal!important;letter-spacing:-.01em!important;line-height:1.2!important;color:#352D5C}
html body.nf-cch.nf-page-roster h1{font-size:22px!important;font-weight:700!important}
html body.nf-cch.nf-page-roster #workspace h2,html body.nf-cch.nf-page-roster .nf-rs-head strong{font-size:16px!important;font-weight:700!important;margin:0!important}
html body.nf-cch.nf-page-roster h1 em,html body.nf-cch.nf-page-roster h2 em{font-style:normal!important;font-family:inherit!important}
html body.nf-cch.nf-page-roster .eyebrow,html body.nf-cch.nf-page-roster [class*=eyebrow]{font-family:var(--nf-ui)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.08em!important}
/* toolbar */
html body.nf-cch.nf-page-roster #workspace .toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;padding:12px!important}
html body.nf-cch.nf-page-roster #workspace .toolbar>*{margin:0!important}
html body.nf-cch.nf-page-roster #workspace .action-btn,html body.nf-cch.nf-page-roster #workspace .control{height:36px!important;min-height:36px!important;padding:0 14px!important;border-radius:10px!important;font:600 13px/1 var(--nf-ui)!important;display:inline-flex!important;align-items:center!important;gap:6px!important;box-sizing:border-box!important;white-space:nowrap}
html body.nf-cch.nf-page-roster #workspace .control select{font:600 13px/1.2 var(--nf-ui)!important;height:auto!important}
html body.nf-cch.nf-page-roster #workspace .control small,html body.nf-cch.nf-page-roster #workspace .date-control span:not(:first-child){font:500 11px/1.2 var(--nf-ui)!important}
html body.nf-cch.nf-page-roster #workspace .v122-ai-button{height:28px!important;padding:0 12px!important;border-radius:6px!important;font:600 12px/1 var(--nf-ui)!important}
html body.nf-cch.nf-page-roster #workspace .toolbar input{font:400 13px/1.2 var(--nf-ui)!important}
/* summary */
html body.nf-cch.nf-page-roster .nf-rs-head span,html body.nf-cch.nf-page-roster .nf-rs-box>span{font:500 12px/1.3 var(--nf-ui)!important;color:#5B5675}
html body.nf-cch.nf-page-roster .nf-rs-box{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:4px!important;padding:12px 14px!important;border-radius:10px!important}
html body.nf-cch.nf-page-roster .nf-rs-box b{font-size:24px!important;line-height:1!important}
html body.nf-cch.nf-page-roster .nf-rs-boxes{gap:10px!important;align-items:stretch!important}
/* roster card head, tabs, modes */
html body.nf-cch.nf-page-roster #workspace .card-head{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px 12px!important;padding:12px 14px!important}
html body.nf-cch.nf-page-roster #workspace .card-head .mini-actions,html body.nf-cch.nf-page-roster #workspace .card-head>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
html body.nf-cch.nf-page-roster #workspace .small-btn,html body.nf-cch.nf-page-roster #workspace .comment-target-btn,html body.nf-cch.nf-page-roster #workspace button.current,html body.nf-cch.nf-page-roster #workspace button.predictive,html body.nf-cch.nf-page-roster #workspace button.compare,html body.nf-cch.nf-page-roster #workspace button.ai,html body.nf-cch.nf-page-roster #workspace button.apply{height:30px!important;min-height:30px!important;padding:0 11px!important;border-radius:6px!important;font:600 12px/1 var(--nf-ui)!important;display:inline-flex!important;align-items:center!important;gap:4px;box-sizing:border-box!important;white-space:nowrap}
html body.nf-cch.nf-page-roster #workspace [class*=badge],html body.nf-cch.nf-page-roster #workspace [class*=protection]{font-family:var(--nf-ui)!important;font-size:12px!important;font-weight:600!important}
/* grid + sidebar spacing */
html body.nf-cch.nf-page-roster #workspace .week-table th{font:600 12px/1.25 var(--nf-ui)!important}
html body.nf-cch.nf-page-roster #workspace .table-wrap{overflow-x:auto!important;max-width:100%}
html body.nf-cch.nf-page-roster .nf-avail{min-width:0;overflow:hidden}
html body.nf-cch.nf-page-roster .nf-avail .card-head{padding:14px!important}
html body.nf-cch.nf-page-roster .nf-avail .section{padding:12px 14px!important}
html body.nf-cch.nf-page-roster .nf-avail .filter-summary strong{font:600 13px/1.3 var(--nf-ui)!important}
html body.nf-cch.nf-page-roster .nf-avail .pool-search{padding:0!important;border:0!important;background:none!important;margin:8px 0!important}
html body.nf-cch.nf-page-roster .nf-avail .pool-search input{width:100%!important;height:34px!important;padding:0 10px!important;border:1px solid #DDD8EA!important;border-radius:6px!important;font:400 13px var(--nf-ui)!important;box-sizing:border-box}
@media (max-width:1200px){html body.nf-cch.nf-page-roster #workspace .action-btn,html body.nf-cch.nf-page-roster #workspace .control{padding:0 10px!important;font-size:12px!important}}
html body.nf-cch.nf-page-roster:not(#nf) h1,html body.nf-cch.nf-page-roster:not(#nf) h2,html body.nf-cch.nf-page-roster:not(#nf) h3{font-family:var(--nf-ui)!important;font-style:normal!important}
html body.nf-cch.nf-page-roster:not(#nf) h1{font-size:22px!important;font-weight:700!important}
html body.nf-cch.nf-page-roster:not(#nf) .nf-avail [data-toggle-guide],html body.nf-cch.nf-page-roster:not(#nf) .nf-avail .comment-target-btn{display:none!important}
html body.nf-cch.nf-page-roster .nf-rs-box{justify-content:flex-start!important}
html body.nf-cch.nf-page-roster .nf-rs-head{display:flex;flex-direction:column;gap:2px}
@media (max-width:1200px){html body.nf-cch.nf-page-roster:not(#nf) h1{font-size:19px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}}
html body.nf-cch #workspace th.nf-day-th{white-space:nowrap!important;text-align:center!important;overflow:hidden;text-overflow:ellipsis;padding-top:8px!important;padding-bottom:8px!important;line-height:1.2!important}
html body.nf-cch .nf-avail .nf-slot-bar{display:none!important}html body.nf-cch .nf-avail.nf-slot-on .selection-summary{margin:0!important}

/* Staff type badges: Full-Time, Part-Time, Casual Bank, Agency (+ review flag) */
html body .nf-type{display:inline-flex;align-items:center;justify-content:center;flex:none;height:14px;min-width:20px;padding:0 4px;margin-left:4px;border-radius:4px;border:1px solid transparent;font:600 9px/1 "Space Mono",ui-monospace,monospace;letter-spacing:.02em;vertical-align:middle;cursor:help}
html body .nf-type-ft{background:#EEEBF5;color:#352D5C;border-color:#CFC8E4}
html body .nf-type-pt{background:#fff;color:#4B4275;border-color:#B4A9D6}
html body .nf-type-cb{background:#E8F3EC;color:#2F6B45;border-color:#B9D9C4}
html body .nf-type-ag{background:#FCEFE3;color:#8A4A12;border-color:#EBC59F}
html body .nf-type-rv{background:#FBE9E9;color:#9B2C2C;border-color:#E9B4B4}
html body.nf-cch .assignment.assignment[data-assignment] .nf-type{height:12px;font-size:8px;min-width:16px;padding:0 3px}
.v124-history-explainer,.v124-rank,.v124-history-fit,.v124-summary-chip{display:none!important}
html body .nf-type.nf-type-full{height:16px;font:600 10px/1 var(--nf-ui,"Archivo",sans-serif);letter-spacing:0;padding:0 6px}
/* All locations aggregate roster */
html body .nf-agg{margin-top:12px;padding:14px 16px;border:1px solid #E2DEEE;border-radius:10px;background:#fff}
html body .nf-agg-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:10px}
html body .nf-agg-head h2{margin:0;font:600 18px/1.25 var(--nf-ui,"Archivo",sans-serif);color:#352D5C}
html body .nf-agg-head p{margin:2px 0 0;font:400 12px/1.4 var(--nf-ui,"Archivo",sans-serif);color:#6B6585}
html body .nf-agg-legend{font:600 11px/1 "Space Mono",monospace;padding:6px 10px;border-radius:6px;background:#EEEBF5;color:#352D5C;white-space:nowrap}
html body .nf-agg-legend span{color:#2F6B45}
html body .nf-agg-scroll{overflow-x:auto}
html body .nf-agg-cell{display:flex;align-items:center;justify-content:center;gap:2px;height:36px;border-radius:6px;font:600 13px/1 "Space Mono",monospace;border:1px solid #E2DEEE;background:#F7F6FB;color:#352D5C}
html body .nf-agg-cell i{font-style:normal;color:#9A94B3}
html body .nf-agg-ok span{color:#2F6B45}
html body .nf-agg-short{background:#FDF5EC;border-color:#EBC59F}html body .nf-agg-short span{color:#8A4A12}
html body .nf-agg-none{background:#FBE9E9;border-color:#E9B4B4}html body .nf-agg-none span{color:#9B2C2C}
html body .nf-agg-table td{padding:3px!important}
html body .nf-avail .card-head{position:relative}
html body .nf-avail .nf-show-all{position:absolute;right:16px;top:50%;transform:translateY(-50%);height:28px;padding:0 10px;border:1px solid #CFC8E4;border-radius:6px;background:#fff;color:#4B4275;font:600 12px/1 var(--nf-ui,"Archivo",sans-serif);cursor:pointer}
html body .nf-avail .nf-show-all:hover{background:#EEEBF5}
.v79-bulk-drop,[data-v79-bulk-drop],.v79-assign-all{display:none!important}

/* Staff rows: fixed right-aligned actions column */
tr[data-staff-row] > td:last-child{width:1%;white-space:nowrap;text-align:right;vertical-align:middle;padding-right:16px!important}
tr[data-staff-row] > td{vertical-align:middle}
.row-actions{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;flex-wrap:nowrap!important;min-width:max-content}
.row-actions button{display:inline-grid!important;place-items:center;width:auto!important;height:30px!important;min-width:30px;padding:0 8px!important;white-space:nowrap;overflow:visible;margin:0!important;line-height:1;border:1px solid var(--nf-line,#DCD7E6)!important;border-radius:6px!important;background:#fff!important;flex:0 0 auto}

/* Clickable names */
.nf-name-link{cursor:pointer}
.nf-name-link:hover{text-decoration:underline;text-underline-offset:2px;color:var(--nf-violet,#4B4275)}

/* Staff Profile modal */
.nfp-host{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:16px}
.nfp-host[hidden]{display:none}
.nfp-back{position:absolute;inset:0;background:rgba(53,45,92,.45)}
.nfp-modal{position:relative;width:min(640px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:#fff;border:1px solid #DCD7E6;border-radius:16px;box-shadow:0 20px 50px rgba(53,45,92,.25);font-family:"Archivo",system-ui,sans-serif;color:#1F1A33}
.nfp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 22px 14px;border-bottom:1px solid #E6E2EE}
.nfp-modal h2,.nfp-modal h3,.nfp-modal label{font-family:"Archivo",system-ui,sans-serif!important;font-style:normal!important}
.nfp-head h2{margin:0;font:600 20px/1.2 "Archivo",system-ui,sans-serif;color:#352D5C}
.nfp-id{display:block;margin-top:4px;font:12px/1.3 "Space Mono",monospace;color:#6B6585}
.nfp-x{width:32px;height:32px;border:1px solid #DCD7E6;border-radius:6px;background:#fff;font-size:20px;line-height:1;color:#4B4275;cursor:pointer;flex:0 0 auto}
.nfp-body{overflow:auto;padding:4px 22px 8px}
.nfp-body section{padding:14px 0;border-bottom:1px solid #EEEBF5}
.nfp-body section:last-child{border-bottom:0}
.nfp-body h3{margin:0 0 10px;font:600 11px/1.2 "Archivo",system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#4B4275}
.nfp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.nfp-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.nfp-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.nfp-field label{font-size:12px;color:#6B6585}
.nfp-ro{font-size:14px;font-weight:500;min-height:20px;overflow-wrap:anywhere}
.nfp-none{color:#8F89A6!important;font-weight:400;font-style:italic}
.nfp-field input,.nfp-field select,.nfp-add input{height:36px;padding:0 10px;border:1px solid #DCD7E6;border-radius:6px;background:#fff;font:14px "Archivo",system-ui,sans-serif;color:#1F1A33;min-width:0;width:100%;box-sizing:border-box}
.nfp-field input:focus,.nfp-field select:focus,.nfp-add input:focus{outline:2px solid #B4A9D6;outline-offset:1px;border-color:#4B4275}
.nfp-err{display:block;margin-top:2px;font-size:12px;color:#B42318}
.nfp-chips{display:flex;flex-wrap:wrap;gap:6px}
.nfp-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#EEEBF5;color:#352D5C;font-size:13px}
.nfp-block{background:#FDECEC;color:#8A1C1C}
.nfp-block button{border:0;background:transparent;color:inherit;font-size:15px;line-height:1;cursor:pointer;padding:0}
.nfp-sub{margin:8px 0 0;font-size:12px;color:#6B6585}
.nfp-add{display:flex;gap:8px;margin-top:10px}
.nfp-add input{flex:1}
.nfp-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:14px 22px;border-top:1px solid #E6E2EE}
.nfp-note{margin-right:auto;font-size:12px;color:#6B6585}
.nfp-btn{height:36px;padding:0 16px;border:1px solid #DCD7E6;border-radius:6px;background:#fff;color:#4B4275;font:600 14px "Archivo",system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.nfp-primary{background:#4B4275;border-color:#4B4275;color:#fff}
.nfp-primary:hover{background:#352D5C}
@media (max-width:560px){.nfp-grid,.nfp-g3{grid-template-columns:minmax(0,1fr)}.nfp-note{display:none}.nfp-host{padding:8px}}
body.scc-v41 tr[data-staff-row] .row-actions button{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;border-radius:6px!important;font-size:13px!important;margin:0!important}
body.scc-v41 tr[data-staff-row] .row-actions button.v120-profile-btn{width:auto!important;min-width:84px!important;padding:0 12px!important;border-radius:6px!important}
body.scc-v41 tr[data-staff-row] > td:last-child{position:sticky;right:0;background:#fff;z-index:1;box-shadow:-8px 0 8px -8px rgba(53,45,92,.18)}
body.scc-v41 tr[data-staff-row].selected > td:last-child{background:inherit}

/* Filled roster cards: staff names stay white on the violet card in every view */
body.scc-v41 .assignment[data-assignment][class*="role-"] > div > strong,
body.scc-v41 .assignment[data-assignment] > div > strong{color:#fff!important}
body.scc-v41 .assignment[data-assignment] > div > strong.nf-name-link:hover{color:#fff!important}

/* Shared roster view toolbar injected into multi-week views */
.nf-shared-views{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 16px;border-bottom:1px solid #E6E2EE;background:#fff}
.nf-shared-views.card-head{justify-content:flex-start!important;padding:10px 16px!important;margin:0!important;min-height:0!important}
.nf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Skills page (Operations > Skills) */
.nfs-page{padding:20px;font-family:"Archivo",system-ui,sans-serif}
.nfs-page .nfs-head h2{margin:0 0 4px;font:600 20px "Archivo",system-ui,sans-serif !important;color:#1F1A33}
.nfs-head p{margin:0 0 16px;color:#5B5670;font-size:14px}
.nfs-tabs{display:flex;gap:6px;border-bottom:1px solid #DCD7E6;margin-bottom:16px}
.nfs-tabs button{border:0;background:none;padding:10px 14px;font:600 14px "Archivo",system-ui,sans-serif;color:#5B5670;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.nfs-tabs button.active{color:#4B4275;border-bottom-color:#4B4275}
.nfs-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.nfs-bar input,.nfs-bar select,.nfs-form select,.nfs-form input,.nfs-act select{height:36px;padding:0 10px;border:1px solid #DCD7E6;border-radius:6px;background:#fff;font:14px "Archivo",system-ui,sans-serif;color:#1F1A33}
.nfs-bar input[type=search]{min-width:280px}
.nfs-bar label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:#1F1A33}
.nfs-table{width:100%;border-collapse:collapse;font-size:14px}
.nfs-table th{text-align:left;font-weight:600;color:#5B5670;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:8px 10px;border-bottom:1px solid #DCD7E6}
.nfs-table td{padding:10px;border-bottom:1px solid #EEEBF5;vertical-align:middle;color:#1F1A33}
.nfs-table tr.nfs-area th{background:#EEEBF5;color:#352D5C;font-size:13px;text-transform:none;letter-spacing:0}
.nfs-act{text-align:right;white-space:nowrap;width:1%}
.nfs-sub{color:#5B5670;font-size:13px}
.nfs-more{color:#5B5670;font-size:13px;margin:10px 0 0}
.nfs-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:13px;background:#EEEBF5;color:#352D5C;border:1px solid transparent}
.nfs-chip small{font-family:"Space Mono",monospace;font-size:11px;opacity:.8}
.nfs-chip button{border:0;background:none;color:inherit;cursor:pointer;font-size:14px;padding:0;line-height:1}
.nfs-chip.nfs-ok{background:#E7F5EC;color:#1E6B3A}
.nfs-chip.nfs-soon{background:#FFF3E0;color:#9A5B00}
.nfs-chip.nfs-expired{background:#FDECEC;color:#B42318}
.nfs-chip.nfs-req{background:#fff;border-color:#B4A9D6;color:#4B4275}
.nfs-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.nfs-form label{display:flex;align-items:center;gap:6px;font-size:13px;color:#5B5670}
.nfs-page .nfp-btn:disabled{opacity:.45;cursor:not-allowed}

/* Compliance page */
.nfc-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.nfc-kpis>div{border:1px solid #DCD7E6;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.nfc-kpis strong{font:600 22px "Space Mono",monospace;color:#352D5C}
.nfc-kpis span{font-size:13px;color:#5B5670}
.nfc-kpis .nfc-kbad strong{color:#B42318}
.nfc-wrap{overflow-x:auto}
.nfc-table td,.nfc-table th{white-space:nowrap}
.nfc-table td.nfc-why{white-space:normal;min-width:200px;color:#B42318;font-size:13px}
.nfc-mono,.nfc-date{font-family:"Space Mono",monospace;font-size:13px}
.nfc-sub{display:block;color:#5B5670;font-size:12px}
.nfc-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.nfc-ok{background:#E7F5EC;color:#1E6B3A}
.nfc-bad{background:#FDECEC;color:#B42318}
.nfc-na{background:#F2F1F5;color:#5B5670;font-weight:500}
.nfc-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:12px;font-size:13px;color:#5B5670}
.nfc-pager span:first-child{margin-right:auto}
.nfp-sub.nfc-why{color:#B42318}
.nfp-head .nfc-pill,.nfp-body h3 .nfc-pill{margin-left:8px;vertical-align:middle}
@media(max-width:900px){.nfc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nfp-chip-bad{border-color:#C0392B!important;color:#C0392B!important}

/* Strong compliance status badges (solid, high contrast, consistent everywhere) */
.nfc-pill.nfc-ok,.table-pill.nfc-ok,.nfs-chip.nfs-ok{background:#15803D!important;color:#FFFFFF!important;border:1px solid #116B32!important;opacity:1!important;filter:none!important}
.nfc-pill.nfc-bad,.table-pill.nfc-bad,.nfs-chip.nfs-expired{background:#C81E1E!important;color:#FFFFFF!important;border:1px solid #A51818!important;opacity:1!important;filter:none!important}
.nfs-chip.nfs-soon{background:#B45309!important;color:#FFFFFF!important;border:1px solid #92400E!important;opacity:1!important}
.nfs-chip.nfs-ok small,.nfs-chip.nfs-expired small,.nfs-chip.nfs-soon small,.nfs-chip.nfs-ok button,.nfs-chip.nfs-expired button,.nfs-chip.nfs-soon button{color:#FFFFFF!important;opacity:1!important}
.nfc-pill.nfc-na{background:#E4E2EC!important;color:#3F3A55!important;opacity:1!important}
.nfp-err,.nfc-why{color:#B91C1C!important;opacity:1!important}
.nfp-chip-bad{background:#C81E1E!important;border-color:#A51818!important;color:#FFFFFF!important}
.nfp-chip-bad small{color:#FFFFFF!important}

/* Roster: no AI Fill overlays on multi-week cells; no Group by care area view button */
.v93-ai-badge,.plan-change-flag,html body.nf-cch.nf-page-roster #workspace .drop-slot span.plan-change-flag,html body.nf-cch.nf-page-roster #workspace .drop-slot span.v93-ai-badge,html body #workspace span.plan-change-flag,html body #workspace span.v93-ai-badge{display:none!important}
html body #workspace [data-roster-view="group"],html body.nf-cch.nf-page-roster #workspace .small-btn[data-roster-view="group"],[data-roster-view="group"]{display:none!important}

/* Sidebar typography: Archivo, the face of the nurseforce wordmark (nurseforce.com.au uses Archivo bold, -0.025em). */
html body.nf-cch aside.sidebar .help-card.help-link-only .user-guide-link {
  --nf-guide-foreground:#fff;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px;
  box-sizing:border-box;
  width:100%!important;
  min-height:36px;
  padding:8px 12px!important;
  border:1px solid var(--nf-violet-deep)!important;
  border-radius:6px!important;
  background:var(--nf-violet-deep)!important;
  color:var(--nf-guide-foreground)!important;
  text-align:center!important;
  text-decoration:none!important;
}
html body.nf-cch aside.sidebar .help-card.help-link-only .user-guide-link:hover {
  background:var(--nf-violet)!important;
  border-color:var(--nf-violet)!important;
  color:var(--nf-guide-foreground)!important;
}
html body.nf-cch aside.sidebar .help-card.help-link-only .user-guide-link:focus-visible {
  outline:2px solid var(--nf-heather)!important;
  outline-offset:2px;
}
html body.nf-cch aside.sidebar,html body.nf-cch aside.sidebar *:not(svg):not(path):not(img){font-family:"Archivo",ui-sans-serif,system-ui,sans-serif!important}
html body.nf-cch aside.sidebar #nav button .label{font-weight:600!important;letter-spacing:-0.01em!important;line-height:1.25!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;font-size:14px!important}
html body.nf-cch aside.sidebar #nav button{min-width:0!important}
html body.nf-cch aside.sidebar .nav-section,html body.nf-cch aside.sidebar #nav .nav-title,html body.nf-cch aside.sidebar #nav h4,html body.nf-cch aside.sidebar #nav [class*="section"]{font-weight:700!important;letter-spacing:0.06em!important;font-size:11px!important}
html body.nf-cch aside.sidebar #nav button .count,html body.nf-cch aside.sidebar #nav button .badge,html body.nf-cch aside.sidebar #nav button [class*="count"]{font-weight:600!important;font-variant-numeric:tabular-nums!important;letter-spacing:0!important;font-size:12px!important}
html body.nf-cch aside.sidebar #nav .nav-section-label,html body.nf-cch aside.sidebar .nav-section-label{font-family:"Archivo",ui-sans-serif,system-ui,sans-serif!important;font-weight:700!important;letter-spacing:0.08em!important;font-size:11px!important}
html body.nf-cch aside.sidebar #nav button .label{flex:1 1 auto!important;max-width:none!important;width:auto!important;font-size:13.5px!important}
html body.nf-cch aside.sidebar #nav button{gap:8px!important;padding-left:8px!important;padding-right:8px!important}
html body.nf-cch aside.sidebar #nav button .badge{margin-left:2px!important}
html body.nf-cch aside.sidebar #nav button .label{letter-spacing:-0.015em!important}
html body.nf-cch aside.sidebar #nav .nav-section-label{letter-spacing:0.05em!important;font-size:10.5px!important;white-space:nowrap!important}

/* Multi-week roster grids match the Week view: same column widths, card
   spacing and borders (no extra min-width, no dashed change outlines). */
.plan-grid .week-table{min-width:0!important;width:100%!important}
.plan-grid .drop-slot.ai-change,.plan-grid .drop-slot.ai-change .assignment{outline:none!important;box-shadow:none!important;border-style:solid!important}
.plan-grid .drop-slot.ai-change{border-color:transparent!important;background:transparent!important}

/* Staff-type badges beside the sidebar staff-type items */
html body.nf-cch aside.sidebar #nav button .nf-nav-type{margin-left:auto!important;margin-right:6px!important;flex:none;height:16px;min-width:24px;justify-content:center;font:600 9px/1 var(--nf-ui,"Archivo",sans-serif)!important;letter-spacing:.02em}
html body.nf-cch aside.sidebar #nav button .nf-nav-type + .badge{margin-left:0!important}
html body.nf-cch aside.sidebar #nav button[data-staff-view] .label{flex:1 1 auto!important;min-width:0!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important}
html body.nf-cch aside.sidebar #nav button .nf-nav-type{margin-left:4px!important;margin-right:4px!important;min-width:22px;padding:0 4px}
html body.nf-cch aside.sidebar #nav button[data-staff-view] .badge{min-width:36px!important;justify-content:center!important;text-align:center!important;box-sizing:border-box!important}
html body.nf-cch aside.sidebar #nav button[data-staff-view] .label{margin-right:4px!important}
/* Staff-type badge replaces the letter icon (left); nothing extra on the right */
html body.nf-cch aside.sidebar #nav button .nf-ico-type{display:inline-flex!important;align-items:center;justify-content:flex-start;overflow:visible!important;background:none!important;border:0!important}
html body.nf-cch aside.sidebar #nav button .nf-ico-type .nf-nav-type{margin:0 0 0 -4px!important;min-width:22px;padding:0 3px}

/* Larger non-staff-type sidebar icons */
html body.nf-cch aside.sidebar #nav button .ico:not(.nf-ico-type){width:22px!important;min-width:22px!important;height:22px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;line-height:1!important;flex:none!important;overflow:visible!important}
html body.nf-cch aside.sidebar #nav button[data-nav="airecruitment"] .ico{font-size:11px!important;font-weight:700!important;letter-spacing:-.02em}
html body.nf-cch aside.sidebar #nav button[data-staff-view="all"] .ico{font-size:13px!important;font-weight:700!important}
html body.nf-cch aside.sidebar #nav button{align-items:center!important}

/* Dashboard cleanup */
html.nf-on-dashboard .toolbar-filter-wrap,html .v50-dashboard-modules{display:none!important}
.v50-dashboard-controls-body .v50-toggle-group:nth-child(2){display:none!important}

/* Roster compliance reconciliation panel (Compliance page) */
.nfr-panel{margin-top:16px;padding:18px 20px}
.nfr-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.nfr-head h3{margin:0 0 4px;font:600 16px/1.3 var(--nf-ui,"Archivo",sans-serif)}
.nfr-head p,.nfr-meta{margin:0;color:#5E5873;font-size:12.5px;line-height:1.45}
.nfr-meta{margin:8px 0}
.nfr-btn{border:1px solid #4B4275;background:#4B4275;color:#fff;border-radius:6px;padding:7px 12px;font:600 12px/1 var(--nf-ui,"Archivo",sans-serif);cursor:pointer;white-space:nowrap}
.nfr-btn.ghost{background:#fff;color:#4B4275}
.nfr-chk{display:inline-flex;gap:6px;align-items:center;font-size:12.5px}
.nfr-table{width:100%;border-collapse:collapse;font-size:12px}
.nfr-table th,.nfr-table td{padding:7px 8px;border-bottom:1px solid #E6E2EF;text-align:left;vertical-align:top}
.nfr-flag{display:inline-block;background:#B45309;color:#fff;border-radius:999px;padding:2px 8px;font-weight:700;font-size:11px}

/* Sick leave: Work History tab, confirmation dialog, leave panel */
.nfp-tabs{display:flex;gap:4px;padding:0 20px;border-bottom:1px solid #DCD7E6}
.nfp-tabs button{font:600 14px "Archivo",system-ui,sans-serif;padding:10px 14px;background:none;border:0;border-bottom:3px solid transparent;color:#5A5470;cursor:pointer}
.nfp-tabs button[aria-selected="true"]{color:#352D5C;border-bottom-color:#4B4275}
.nfsk-scroll{overflow-x:auto}
.nfsk-table{width:100%;border-collapse:collapse;font-size:13px}
.nfsk-table th{text-align:left;font-weight:600;color:#5A5470;padding:6px 8px;border-bottom:1px solid #DCD7E6;white-space:nowrap}
.nfsk-table td{padding:7px 8px;border-bottom:1px solid #EEEBF5;vertical-align:top}
.nfsk-meta{font-size:12px;color:#5A5470}
.nfsk-count{font-size:12px;font-weight:600;background:#EEEBF5;color:#352D5C;border-radius:999px;padding:2px 8px;margin-left:6px}
.nfsk-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;font-size:13px}
.nfc-pill.nfsk-pill{background:#B42318!important;color:#fff!important;border:1px solid #912018!important}
.nfc-pill.nfsk-worked{background:#EEEBF5;color:#352D5C;border:1px solid #B4A9D6}
.nfc-pill.nfsk-sched{background:#fff;color:#4B4275;border:1px solid #4B4275}
.nfp-btn.nfsk-btn{padding:4px 10px;font-size:12px}
.nfsk-host{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px}
.nfsk-host[hidden]{display:none}
.nfsk-back{position:absolute;inset:0;background:rgba(31,26,51,.45)}
.nfsk-modal{position:relative;width:min(460px,100%);background:#fff;border-radius:16px;padding:20px;font-family:"Archivo",system-ui,sans-serif;color:#1F1A33;box-shadow:0 20px 50px rgba(53,45,92,.3)}
.nfsk-modal h2{margin:0 0 12px;font:700 20px "Archivo",system-ui,sans-serif}
.nfsk-shift{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 12px;font-size:14px}
.nfsk-shift dt{color:#5A5470;font-weight:600}.nfsk-shift dd{margin:0}
.nfsk-note{font-size:13px;color:#5A5470;margin:0 0 12px}
.nfsk-modal label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
.nfsk-modal textarea{width:100%;box-sizing:border-box;border:1px solid #DCD7E6;border-radius:6px;padding:8px;font:14px "Archivo",system-ui,sans-serif}
.nfsk-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.nfp-btn.nfsk-go,.modal-btn.nfsk-edit{background:#B42318!important;color:#fff!important;border-color:#912018!important}
.modal-btn.nfsk-edit:disabled{opacity:.5;cursor:not-allowed}
.nfsk-panel{margin-top:16px}

/* Roster Rules page */
.nfrl-page .nfs-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.nfrl-page h3{font:700 16px "Archivo",system-ui,sans-serif;margin:24px 0 8px;color:#352D5C}
.nfrl-bar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.nfrl-bar input,.nfrl-bar select,.nfrl-form input:not([type=checkbox]),.nfrl-form select,.nfrl-num{border:1px solid #DCD7E6;border-radius:6px;padding:7px 10px;font:14px "Archivo",system-ui,sans-serif}
.nfrl-bar input{min-width:240px}
.nfrl-num{width:64px;padding:4px 8px}
.nfrl-table td:first-child{max-width:420px}
.nfrl-src{font-style:italic;margin-top:2px}
.nfc-pill.nfrl-off{background:#EEEBF5;color:#352D5C;border:1px solid #B4A9D6}
.nfc-pill.nfrl-draft{background:#fff;color:#8A4B00;border:1px dashed #C2410C}
.nfrl-lock{font-size:12px;font-weight:600;color:#352D5C;background:#EEEBF5;border-radius:6px;padding:3px 8px;white-space:nowrap}
.nfrl-lock::before{content:"\1F512  "}
.nfrl-switch{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer}
.nfrl-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.nfrl-switch span{position:absolute;inset:0;background:#B4A9D6;border-radius:999px;transition:background .15s}
.nfrl-switch span::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.nfrl-switch input:checked+span{background:#15803D}
.nfrl-switch input:checked+span::after{transform:translateX(18px)}
.nfrl-switch input:focus-visible+span{outline:2px solid #4B4275;outline-offset:2px}
.nfrl-form{border:1px solid #DCD7E6;border-radius:10px;padding:16px;margin:12px 0;background:#FBFAFD}
.nfrl-form h3{margin-top:0}
.nfrl-wide{grid-column:1/-1}
.nfrl-conds{display:flex;flex-wrap:wrap;gap:12px}
.nfrl-set{border:1px solid #DCD7E6;border-radius:6px;padding:8px 10px;display:flex;flex-wrap:wrap;gap:6px 12px;max-width:100%}
.nfrl-set legend{font-weight:600;font-size:13px;padding:0 4px}
/* Staff-type badges: strong rounded-square letter tiles (Cabrini pattern) */
html body{--nft-ft:#5B3BA6;--nft-pt:#17804A;--nft-cb:#1D5FC2;--nft-ag:#B45309;--nft-rv:#B42318}
html body .nf-type{height:16px;min-width:22px;padding:0 4px;border-radius:4px;border:1.5px solid;font:700 9px/1 var(--nf-ui,"Archivo",sans-serif);letter-spacing:.03em;color:#fff}
html body .nf-type-ft{background:var(--nft-ft);border-color:var(--nft-ft)}
html body .nf-type-pt{background:var(--nft-pt);border-color:var(--nft-pt)}
html body .nf-type-cb{background:var(--nft-cb);border-color:var(--nft-cb)}
html body .nf-type-ag{background:var(--nft-ag);border-color:var(--nft-ag)}
html body .nf-type-rv{background:var(--nft-rv);border-color:var(--nft-rv)}
html body.nf-cch .assignment.assignment[data-assignment] .nf-type{height:14px;min-width:20px;font-size:8.5px;padding:0 3px}
/* Full label: letter tile on the left, coloured label text */
html body .nf-type.nf-type-full{gap:6px;height:auto;min-height:18px;padding:0;background:transparent;border:0;font:700 11px/1.2 var(--nf-ui,"Archivo",sans-serif);white-space:nowrap}
html body .nf-type.nf-type-full::before{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:18px;border-radius:4px;color:#fff;font:700 9px/1 var(--nf-ui,"Archivo",sans-serif);letter-spacing:.03em}
html body .nf-type-ft.nf-type-full{color:var(--nft-ft)}html body .nf-type-ft.nf-type-full::before{content:"FT";background:var(--nft-ft)}
html body .nf-type-pt.nf-type-full{color:var(--nft-pt)}html body .nf-type-pt.nf-type-full::before{content:"PT";background:var(--nft-pt)}
html body .nf-type-cb.nf-type-full{color:var(--nft-cb)}html body .nf-type-cb.nf-type-full::before{content:"CB";background:var(--nft-cb)}
html body .nf-type-ag.nf-type-full{color:var(--nft-ag)}html body .nf-type-ag.nf-type-full::before{content:"AG";background:var(--nft-ag)}
html body .nf-type-rv.nf-type-full{color:var(--nft-rv)}html body .nf-type-rv.nf-type-full::before{content:"?";background:var(--nft-rv)}
html body.nf-cch aside.sidebar #nav button .nf-nav-type{height:18px;min-width:24px;font:700 9px/1 var(--nf-ui,"Archivo",sans-serif)!important;color:#fff}
/* Dashboard: customise row of five equal buttons */
html body .v50-dashboard-controls{padding:10px!important}
html body .v50-dashboard-controls-head,html body .v50-dashboard-controls-body .v50-toggle-group>strong{display:none!important}
html body .v50-dashboard-controls-body{display:block!important;padding:0!important;margin:0!important;border:0!important}
html body .v50-dashboard-controls-body .v50-toggle-group{padding:0!important;border:0!important;background:none!important}
html body .v50-dashboard-controls-body .v50-toggle-list{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
html body .v50-dashboard-controls-body .v50-dash-switch{width:100%;min-width:0;justify-content:center;text-align:center}
html body .v50-dashboard-controls-body .v50-dash-switch>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body .v50-dash-switch.nf-dash-all[aria-pressed="true"]{background:#EEEBF5;border-color:#4B4275;color:#352D5C}
@media(max-width:900px){html body .v50-dashboard-controls-body .v50-toggle-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){html body .v50-dashboard-controls-body .v50-toggle-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Dashboard: full-width Locations, Manager priorities below */
html body .dashboard-grid:has(.nf-dash-locations){display:grid!important;grid-template-columns:minmax(0,1fr)!important}
html body .dashboard-grid .nf-dash-locations{grid-column:1/-1;min-width:0}
html body .nf-dash-locations .scc-location-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px}
html body.nf-cch #workspace .dashboard-grid .nf-dash-locations .scc-location-grid{display:grid!important}
html body .nf-dash-locations .scc-location-card{min-width:0;overflow:hidden;padding:12px!important}
html body .nf-dash-locations .scc-location-card-head{min-width:0;gap:6px}
html body .nf-dash-locations .scc-location-card-head>div{min-width:0}
html body .nf-dash-locations .scc-location-card-head strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .nf-dash-locations .scc-location-card-head small{display:block;font-size:10.5px;line-height:1.3}
html body .nf-dash-locations .scc-location-stats{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:4px!important}
html body .nf-dash-locations .scc-location-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;padding:4px 8px!important}
html body .nf-dash-locations .scc-location-stats b{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
html body .nf-dash-locations .scc-location-stats span{font-size:10.5px;white-space:nowrap;flex:none;order:-1}
@media(max-width:1280px){html body .nf-dash-locations .scc-location-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:720px){html body .nf-dash-locations .scc-location-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:460px){html body .nf-dash-locations .scc-location-grid{grid-template-columns:minmax(0,1fr)!important}}

/* ===== Main top header (NurseForce) ===== */
.header .nf-context, .header > div:first-child > small { display:none!important; }
.header { align-items:center!important; gap:16px; }
.header > div:first-child { min-width:0; }
html body.nf-cch.scc-v41 main.main header.header h1 { font-family:"Archivo",system-ui,sans-serif!important; font-weight:700!important; font-size:22px!important; letter-spacing:-0.01em!important; line-height:1.2!important; color:#352D5C!important; margin:0!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.header-right { display:flex!important; align-items:center!important; gap:8px!important; flex-shrink:0; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile.scc-login-profile { position:relative!important; display:flex!important; align-items:center!important; gap:10px!important; height:40px; padding:0 34px 0 4px!important; border:1px solid #DCD7EA!important; border-radius:10px!important; background:#fff!important; cursor:pointer; font-family:"Archivo",system-ui,sans-serif!important; max-width:280px; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile.scc-login-profile:hover { border-color:#B4A9D6!important; background:#EEEBF5!important; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile.scc-login-profile:focus-within { outline:2px solid #4B4275; outline-offset:2px; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile.scc-login-profile::after { content:""; position:absolute; right:13px; top:50%; width:7px; height:7px; border-right:2px solid #4B4275; border-bottom:2px solid #4B4275; transform:translateY(-70%) rotate(45deg); pointer-events:none; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile .scc-login-avatar { width:32px!important; height:32px!important; min-width:32px; border-radius:8px!important; background:#4B4275!important; color:#fff!important; font:700 12px/32px "Archivo",sans-serif!important; text-align:center; display:grid!important; place-items:center; margin:0!important; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile .scc-login-meta { display:flex!important; flex-direction:column; min-width:0; line-height:1.15; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile .scc-login-name { font:600 13px/1.2 "Archivo",sans-serif!important; color:#1F1A33!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile .scc-login-email { font:400 11.5px/1.2 "Archivo",sans-serif!important; color:#6B6585!important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile .scc-login-select { position:absolute!important; inset:0!important; width:100%!important; height:100%!important; opacity:0!important; cursor:pointer; margin:0!important; display:block!important; }
@media (max-width:900px){ html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile .scc-login-email{display:none!important} html body.nf-cch.scc-v41 main.main header.header h1{font-size:19px!important} }
@media (max-width:640px){ html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile .scc-login-meta{display:none!important} html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile.scc-login-profile{padding-right:28px!important} html body.nf-cch.scc-v41 main.main .header-right #sccLoginProfile.scc-login-profile::after{right:10px} html body.nf-cch.scc-v41 main.main header.header h1{font-size:17px!important} }

/* ===== Dashboard KPI tiles (live) ===== */
html body .scc-dashboard-kpis{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important}
@media (max-width:1100px){html body .scc-dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:720px){html body .scc-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:460px){html body .scc-dashboard-kpis{grid-template-columns:1fr!important}}
.scc-dashboard-kpi.nf-kpi{cursor:pointer;min-width:0;transition:border-color .15s,background .15s}
.scc-dashboard-kpi.nf-kpi:hover{border-color:#B4A9D6!important;background:#F7F5FB!important}
.scc-dashboard-kpi.nf-kpi:focus-visible{outline:2px solid #4B4275;outline-offset:2px}
.scc-dashboard-kpi.nf-kpi span{overflow-wrap:anywhere}
.nf-kpi-dlg{position:fixed;inset:0;z-index:9999;background:rgba(31,26,51,.45);display:grid;place-items:center;padding:16px}
.nf-kpi-dlg[hidden]{display:none}
.nf-kpi-panel{background:#fff;border-radius:16px;width:min(640px,100%);max-height:80vh;display:flex;flex-direction:column;font-family:"Archivo",sans-serif;box-shadow:0 20px 50px rgba(31,26,51,.25)}
.nf-kpi-head{display:flex;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #E6E2F0}
.nf-kpi-head h2{margin:0;font:700 18px/1.2 "Archivo",sans-serif;color:#352D5C}
.nf-kpi-head p{margin:4px 0 0;font-size:13px;color:#6B6585}
.nf-kpi-close{border:1px solid #DCD7EA;background:#fff;border-radius:6px;width:32px;height:32px;cursor:pointer;color:#4B4275}
.nf-kpi-body{overflow:auto;padding:8px 20px 16px}
.nf-kpi-body ul{list-style:none;margin:0;padding:0}
.nf-kpi-body li{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-bottom:1px solid #F0EDF6}
.nf-kpi-body li span{font-size:12px;color:#6B6585}
.nf-kpi-name{all:unset;cursor:pointer;font:600 14px "Archivo",sans-serif;color:#4B4275}
.nf-kpi-name:hover,.nf-kpi-name:focus-visible{text-decoration:underline}
.nf-kpi-empty{color:#6B6585;font-size:14px;padding:16px 0}

/* ===== Dashboard toolbar + Customise Dashboard dropdown ===== */
.nf-has-customise .v50-dashboard-controls{display:none!important}
html body .main .toolbar{display:flex!important;flex-wrap:wrap;align-items:center!important;gap:10px!important;padding:10px 12px!important;font-family:"Archivo",sans-serif!important}
html body .main .toolbar > div[style*="flex:1"]{display:none!important}
html body .main .toolbar .scc-location-control,html body .main .toolbar .date-control,html body .main .toolbar .v122-ai-search,.nf-cz-btn{height:40px!important;min-height:40px!important;box-sizing:border-box;border:1px solid #DCD7EA!important;border-radius:10px!important;background:#fff!important;font:500 14px "Archivo",sans-serif!important;color:#1F1A33!important;display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;box-shadow:none!important}
html body .main .toolbar .scc-location-control{padding:0 10px!important;flex:0 0 auto}
html body .main .toolbar .scc-location-control select{border:0!important;background:transparent!important;font:600 14px "Archivo",sans-serif!important;color:#352D5C!important;height:36px;outline-offset:2px}
html body .main .toolbar .date-control{padding:0 12px!important;white-space:nowrap}
html body .main .toolbar .date-control .date-label{font-weight:600!important;color:#352D5C!important}
html body .main .toolbar .v35-calendar-meta{font:500 11px "Archivo",sans-serif!important;color:#6B6585!important;border-left:1px solid #E6E2F0;padding-left:8px}
html body .main .toolbar .home-symbol,html body .main .toolbar .v122-ai-mark{color:#4B4275!important;font-size:15px!important;width:18px;text-align:center;background:none!important;border:0!important}
html body .main .toolbar .v122-ai-search{flex:1 1 280px!important;min-width:220px!important;max-width:none!important;width:auto!important;padding:0 4px 0 12px!important;position:relative}
html body .main .toolbar .v122-ai-search input{flex:1;min-width:0;border:0!important;background:transparent!important;font:400 14px "Archivo",sans-serif!important;height:36px;padding:0!important;box-shadow:none!important}
html body .main .toolbar .v122-ai-button{height:32px!important;padding:0 14px!important;border-radius:6px!important;background:#4B4275!important;color:#fff!important;font:600 13px "Archivo",sans-serif!important;border:0!important}
.nf-cz-btn:focus-visible{outline:2px solid #4B4275;outline-offset:1px}
.nf-cz{position:relative;margin-left:auto;flex:0 0 auto}
.nf-cz-btn{padding:0 14px!important;cursor:pointer;font-weight:600!important;color:#352D5C!important}
.nf-cz-btn:hover{background:#EEEBF5!important}
.nf-cz-caret{width:7px;height:7px;border-right:2px solid #4B4275;border-bottom:2px solid #4B4275;transform:translateY(-2px) rotate(45deg);margin-left:2px}
.nf-cz-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:1000;background:#fff;border:1px solid #DCD7EA;border-radius:10px;box-shadow:0 12px 30px rgba(31,26,51,.18);padding:6px;min-width:250px;font-family:"Archivo",sans-serif}
.nf-cz-menu[hidden]{display:none}
.nf-cz-menu label{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;font-size:14px;color:#1F1A33;cursor:pointer}
.nf-cz-menu label:first-child{border-bottom:1px solid #F0EDF6;border-radius:6px 6px 0 0;font-weight:600}
.nf-cz-menu label:hover{background:#F7F5FB}
.nf-cz-menu input{width:16px;height:16px;accent-color:#4B4275;margin:0}
@media (max-width:900px){html body .main .toolbar .v122-ai-search{flex-basis:100%!important;order:3}.nf-cz{order:2}}
@media (min-width:901px){html body .main .toolbar{flex-wrap:nowrap!important}html body .main .toolbar .v122-ai-search{flex:1 1 0!important;min-width:200px!important}}

/* ===== Planning date popover (NurseForce) ===== */
html body .date-popover.nf-date-pop{font-family:"Archivo",sans-serif!important;background:#fff!important;border:1px solid #DCD7EA!important;border-radius:16px!important;box-shadow:0 18px 44px rgba(31,26,51,.2)!important;padding:0!important;width:min(420px,calc(100vw - 32px))!important;overflow:hidden;color:#1F1A33!important}
html body .nf-date-pop *{font-family:"Archivo",sans-serif!important}
html body .nf-date-pop .date-popover-head{display:flex!important;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px!important;border-bottom:1px solid #F0EDF6!important;background:#fff!important}
html body .nf-date-pop .date-popover-head strong{font-size:16px!important;font-weight:700!important;color:#352D5C!important;display:block;letter-spacing:0!important;text-transform:none!important}
html body .nf-date-pop .date-popover-head span{font-size:12.5px!important;color:#6B6585!important;line-height:1.4!important;display:block;margin-top:3px}
html body .nf-date-pop .date-popover-close,html body .nf-date-pop .date-week-stepper button{width:32px!important;height:32px!important;min-width:32px;display:grid!important;place-items:center;border:1px solid #DCD7EA!important;border-radius:6px!important;background:#fff!important;color:#4B4275!important;font-size:16px!important;padding:0!important;cursor:pointer;box-shadow:none!important}
html body .nf-date-pop .date-popover-close:hover,html body .nf-date-pop .date-week-stepper button:hover{background:#EEEBF5!important}
html body .nf-date-pop .date-week-stepper{display:flex!important;align-items:center;gap:10px;margin:12px 16px 0!important;padding:10px!important;border-radius:10px!important;background:#EEEBF5!important;border:0!important}
html body .nf-date-pop .date-week-current{flex:1;text-align:center}
html body .nf-date-pop .date-week-current small{display:block;font-size:10.5px!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.06em;color:#6B6585!important}
html body .nf-date-pop .date-week-current strong{font-size:14px!important;font-weight:700!important;color:#352D5C!important}
html body .nf-date-pop .date-quick-label{padding:14px 16px 8px!important;font-size:10.5px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;color:#6B6585!important}
html body .nf-date-pop .v84-horizon-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:0 16px!important}
html body .nf-date-pop .v84-horizon-option{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;min-height:58px;padding:10px 12px!important;border:1px solid #DCD7EA!important;border-radius:10px!important;background:#fff!important;text-align:left;cursor:pointer;box-shadow:none!important}
html body .nf-date-pop .v84-horizon-option strong{font-size:13.5px!important;font-weight:600!important;color:#1F1A33!important}
html body .nf-date-pop .v84-horizon-option span{font-size:12px!important;color:#6B6585!important}
html body .nf-date-pop .v84-horizon-option:hover{border-color:#B4A9D6!important;background:#F7F5FB!important}
html body .nf-date-pop .v84-horizon-option.active{border-color:#4B4275!important;background:#4B4275!important}
html body .nf-date-pop .v84-horizon-option.active strong,html body .nf-date-pop .v84-horizon-option.active span{color:#fff!important}
html body .nf-date-pop button:focus-visible,html body .nf-date-pop input:focus-visible{outline:2px solid #4B4275!important;outline-offset:2px}
html body .nf-date-pop .v84-custom-range.show{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px 0!important;margin:0!important;background:none!important;border:0!important}
html body .nf-date-pop .v84-custom-range label{display:flex;flex-direction:column;gap:4px;font-size:12px!important;font-weight:600!important;color:#352D5C!important}
html body .nf-date-pop .v84-custom-range input{height:36px;border:1px solid #DCD7EA!important;border-radius:6px!important;padding:0 8px!important;font-size:13px!important;color:#1F1A33!important;background:#fff!important}
html body .nf-date-pop .v84-custom-apply{grid-column:1/-1;height:36px;border:0!important;border-radius:6px!important;background:#4B4275!important;color:#fff!important;font-weight:600!important;font-size:13px!important;cursor:pointer}
html body .nf-date-pop .date-quick-list,html body .nf-date-pop .date-custom,html body .nf-date-pop .date-data-note{display:none!important}
html body .nf-date-pop > :last-child{margin-bottom:16px!important}
html body .nf-date-pop .v84-horizon-options+.v84-custom-range:not(.show){display:none!important}
html body .nf-date-pop>div:has(.v84-horizon-options){padding-bottom:16px}
html body .scc-location-card-head small.nf-loc-head{margin:-4px 0 10px!important;font:500 12px/1.3 "Archivo",sans-serif!important;color:#6B6585!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
html body .scc-location-stats > div{min-width:0}
html body .scc-location-stats span{font:500 12px/1.2 "Archivo",sans-serif!important;color:#6B6585!important;text-transform:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
/* Dashboard hero: greeting only on the left, four live metrics on the right */
.scc-hero.nf-hero .scc-hero-copy{display:flex;flex-direction:column;justify-content:center;gap:0}
.scc-hero.nf-hero .scc-hero-copy h2{margin:0}
.scc-hero.nf-hero .scc-hero-metric{min-width:0}
.scc-hero.nf-hero .scc-hero-metric b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scc-hero.nf-hero .scc-hero-metric span{overflow-wrap:anywhere}
/* Ask AI search: single clean focus indication (wrapper border only) */
.main .toolbar .search.v122-ai-search input:focus,
.main .toolbar .search.v122-ai-search input:focus-visible{outline:none !important;box-shadow:none !important}
html body .main .toolbar .search.v122-ai-search:focus-within,html body.scc-v41 .search.v122-ai-search:focus-within{transition:none !important;outline:none !important;box-shadow:none !important;border-color:var(--nf-violet,#5b4196) !important}
/* Staff-type badges: sidebar badge is the single source of truth for text colour everywhere */
html body .nf-type:not(.nf-type-full),html body .main .nf-type:not(.nf-type-full),html body .assignment .nf-type:not(.nf-type-full),html body .assignment.assignment[data-assignment] .nf-type:not(.nf-type-full){color:#fff !important;-webkit-text-fill-color:#fff;opacity:1 !important;font-weight:700 !important;text-shadow:none}
html body .nf-type.nf-type-full::before{color:#fff !important;-webkit-text-fill-color:#fff;opacity:1}
/* Vacant Shifts This Week donut + live Manager priorities */
.nf-vd{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.nf-vd-chart{position:relative;width:160px;height:160px;margin:0;flex:none}
.nf-vd-chart svg{width:100%;height:100%}
.nf-vd-chart figcaption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--nf-ui,"Archivo",sans-serif)}
.nf-vd-chart figcaption b{font-size:28px;color:#352D5C}.nf-vd-chart figcaption span{font-size:11px;color:#6B6864}
.nf-vd-legend{list-style:none;margin:0;padding:0;flex:1;min-width:200px;display:grid;gap:4px}
.nf-vd-leg{display:grid;grid-template-columns:12px 1fr auto 40px;gap:8px;align-items:center;width:100%;background:none;border:0;padding:5px 6px;border-radius:6px;font:500 13px var(--nf-ui,"Archivo",sans-serif);color:#1A1917;cursor:pointer;text-align:left}
.nf-vd-leg:hover,.nf-vd-leg:focus-visible{background:#EEEBF5}
.nf-vd-leg i{width:12px;height:12px;border-radius:3px}.nf-vd-leg em{font-style:normal;color:#6B6864;text-align:right}
.nf-vd-empty{color:#4B4275;font-family:var(--nf-ui,"Archivo",sans-serif)}.nf-vd-empty b{font-size:22px;margin-right:4px}
.nf-pri-card .simple-item.nf-pri{width:100%;text-align:left;background:none;border-left:0;border-right:0;border-top:0;cursor:pointer;font:inherit}
.nf-pri-card .simple-item.nf-pri:hover{background:#F6F4FA}
.status-pill.red{background:#B42318;color:#fff}

/* Static demonstration-data note, bottom right inside the Welcome tile */
.scc-hero.nf-hero{position:relative;padding-bottom:34px !important}
.nf-hero-demo-note{position:absolute;right:16px;bottom:10px;max-width:calc(100% - 32px);font-size:11px;line-height:1.3;font-weight:600;color:rgba(255,255,255,.92);text-align:right;letter-spacing:.01em;pointer-events:none;overflow-wrap:anywhere}

/* Real staffing grid (imported week) */
.nf-real-table td{padding:3px 4px;vertical-align:middle}
.nf-real-group td{background:var(--nf-violet-50,#f3effc);padding:8px 10px!important}
.nf-real-group strong{font-family:Archivo,sans-serif;margin-right:8px}
.nf-real-group span{font-size:12px;opacity:.75}
.nf-real-pos{display:flex;gap:6px;align-items:center;font-size:12px;white-space:nowrap}
.nf-real-cell{min-height:30px;border-radius:8px;padding:4px 8px;display:flex;align-items:center;justify-content:space-between;gap:4px;font-size:12px}
.nf-real-filled{background:var(--nf-violet,#5b2fc9);color:#fff}
.nf-real-name{all:unset;cursor:pointer;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nf-real-name:hover,.nf-real-name:focus-visible{text-decoration:underline}
.nf-real-open{border:1.5px dashed var(--nf-violet,#5b2fc9);flex-direction:column;align-items:flex-start}
.nf-real-none{opacity:.4;justify-content:center}
.nf-real-flag{background:#c62828;color:#fff;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex:none}
.nf-real-note{font-size:12px;margin:6px 0 8px;opacity:.8}
.nf-real-area td{background:transparent;padding:10px 6px 4px!important;font-family:Archivo,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
html body .nf-real-table .nf-real-filled,html body .nf-real-table .nf-real-filled .nf-real-name,html body .nf-real-table .nf-real-filled .nf-real-role{color:#fff!important;opacity:1!important}
.nf-real-txt{display:flex;flex-direction:column;min-width:0;gap:1px}
.nf-real-name{display:block;line-height:1.2}
.nf-real-role{font-size:10.5px;display:flex;align-items:center;gap:2px;white-space:nowrap}
html body .nf-real-table .nf-type{color:#fff!important;font-weight:700!important;opacity:1!important;height:14px;min-width:20px;font-size:8.5px;padding:0 3px}
/* Imported-week cards use the standard Roster Builder card metrics */
html body .nf-real-table .nf-real-card{background:rgb(75,66,117);border-radius:8px;padding:4px 6px;display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:36px;box-sizing:border-box;color:#fff!important}
html body .nf-real-table .nf-real-card .nf-real-name{color:#fff!important;font:700 11.5px/1.2 Archivo,"Segoe UI",Arial,sans-serif!important}
html body .nf-real-table .nf-real-card .nf-real-role{color:#fff!important;font-size:9.5px}
html body .nf-real-table .nf-real-slot{padding:3px}
/* Compact shift cells (Week view, all weeks): the cell hugs the card with a small even gap */
html body.nf-cch table.week-table.nf-grouped tbody tr:not(.nf-area-group)>td{padding:2px!important;height:auto!important}
html body.nf-cch table.week-table.nf-grouped .drop-slot{min-height:0!important;height:auto!important;padding:2px!important;margin:0!important}
html body.nf-cch table.week-table.nf-grouped .drop-slot>.assignment,html body.nf-cch table.week-table.nf-grouped .drop-slot>.open-slot,html body.nf-cch table.week-table.nf-grouped .drop-slot>.nf-real-card{margin:0!important}
html body.nf-cch table.week-table.nf-grouped .nf-real-none{min-height:0!important;padding:2px!important}
/* Role and shift-time subgroups (canonical Week grid): faint, no added height */
html body.nf-cch table.nf-real-table tbody tr.nf-role-first>td{border-top:1px solid #DDD8EA!important}
html body.nf-cch table.nf-real-table tbody tr.nf-sg-first>td{border-top:1px dashed #E6E2F0!important}
html body.nf-cch table.nf-real-table tbody tr.nf-sg-alt>td{background:#FBFAFD!important}
/* Ledger vacancy drop targets and selection */
html body .nf-real-table [data-nf-vac]{cursor:pointer}
html body .nf-real-table [data-nf-vac] *{pointer-events:none}
html body .nf-real-table .nf-vac-sel{outline:2px solid #5B2FC9;outline-offset:-1px}
html body .nf-real-table .nf-drop-ok{outline:2px solid #1E8E3E;outline-offset:-1px}
html body .nf-real-table .nf-drop-bad{outline:2px solid #C62828;outline-offset:-1px}
html body .nf-real-table [data-nf-move]{cursor:grab}
html body .staff-card.nf-hide-vac{display:none!important}
.nf-vac-filter{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;background:#F3EFFC;color:#352D5C;border-radius:8px;padding:6px 10px;margin:6px 0}
.nf-vac-filter button{all:unset;cursor:pointer;font-weight:700;text-decoration:underline}

html body .staff-card.nf-hide-app{display:none!important}
.nf-vac-filter.nf-vac-empty{background:#FDECEC;color:#8A1C1C;font-weight:700}
html body.nf-cch .nf-avail .staff-card.staff-card.nf-hide-vac,html body.nf-cch .nf-avail .staff-card.staff-card.nf-hide-app,html body .staff-card.staff-card.nf-hide-vac,html body .staff-card.staff-card.nf-hide-app{display:none!important}

/* Shift Details, Allocations and Communications (nurseforce-allocations.js) */
.nf-sd-td{position:relative}
.nf-sd-btn{position:absolute;top:3px;right:3px;z-index:3;width:16px;height:16px;border-radius:50%;border:1px solid rgba(53,45,92,.25);background:#fff;color:var(--nf-violet,#5B3FD1);font:700 10px/14px "Archivo",system-ui,sans-serif;padding:0;cursor:pointer;opacity:.55}
.nf-sd-td:hover .nf-sd-btn,.nf-sd-btn:focus-visible{opacity:1}
.nf-real-card{cursor:pointer}
.nf-sd-modal{width:min(640px,100%)!important;max-height:88vh;overflow:auto}
.nf-sd-top{display:flex;justify-content:space-between;align-items:center}
.nf-sd-x{border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:#1F1A33}
.nf-sd-dl{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;margin:0 0 12px}
.nf-sd-dl dt{font-weight:600;color:#5c5670}.nf-sd-dl dd{margin:0}
.nf-sd-chip{display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#EEEAF8;color:#352D5C}
.nf-sd-chip.ok{background:#157F3B;color:#fff}.nf-sd-chip.bad{background:#B42318;color:#fff}.nf-sd-chip.sim{background:#FFF4D6;color:#6B4E00}
.nf-sd-acts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}
.nf-sd-h3{font:700 14px "Archivo",system-ui,sans-serif;margin:12px 0 6px}
.nf-sd-list{list-style:none;margin:0;padding:0;font-size:12.5px}.nf-sd-list li{padding:6px 0;border-top:1px solid #ECE9F3}
.nf-sd-empty{color:#6b6680;font-size:12.5px;margin:4px 0}
.nf-sd-link{border:0;background:none;padding:0;color:var(--nf-violet,#5B3FD1);font-weight:600;cursor:pointer;text-decoration:underline}
.nf-rb-tabs{display:flex;gap:4px;margin:8px 0 12px;border-bottom:1px solid #E4E0EE}
.nf-rb-tabs button{border:0;background:none;padding:8px 14px;font:600 14px "Archivo",system-ui,sans-serif;color:#5c5670;border-bottom:2px solid transparent;cursor:pointer}
.nf-rb-tabs button[aria-selected="true"]{color:#352D5C;border-bottom-color:var(--nf-violet,#5B3FD1)}
#workspace.nf-tab-other>*:not(.toolbar):not(.nf-rb-tabs):not(#nfTabPanel):not(.point-comment-layer){display:none!important}
.nf-tab-panel{padding:16px}
.nf-al-filters{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.nf-al-filters label{display:flex;flex-direction:column;font-size:11.5px;font-weight:600;color:#5c5670;gap:3px}
.nf-al-filters input,.nf-al-filters select,.nf-cm-pick select,[data-nf-pref]{font:13px "Archivo",system-ui,sans-serif;padding:5px 8px;border:1px solid #D9D4E6;border-radius:8px}
.nf-al-filters .nf-al-q input{min-width:240px}
.nf-al-filters .nf-al-chk{flex-direction:row;align-items:center;align-self:flex-end}
.nf-al-meta{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:6px 0}
.nf-al-table{width:100%;border-collapse:collapse;font-size:12.5px}
.nf-al-table th,.nf-al-table td{text-align:left;padding:6px 8px;border-bottom:1px solid #ECE9F3;vertical-align:top}
.nf-al-table tbody tr[data-nf-row]{cursor:pointer}.nf-al-table tbody tr[data-nf-row]:hover{background:#F6F4FB}
.nf-al-sort{border:0;background:none;font:700 12px "Archivo",system-ui,sans-serif;color:#352D5C;cursor:pointer;padding:0}
.nf-al-type{display:inline-block;padding:0 5px;border-radius:4px;font-size:10px;font-weight:700;color:#fff;background:#5B3FD1}
.nf-al-type.t-pt{background:#157F3B}.nf-al-type.t-cb{background:#1D5FD1}.nf-al-type.t-ag{background:#B45309}
.nf-al-st{display:inline-block;padding:2px 8px;border-radius:999px;background:#EEEAF8;color:#352D5C;font-weight:600;font-size:11px}
.nf-al-st.s-vacant{background:#FDECEC;color:#B42318}.nf-al-st.s-worked{background:#E8E6EE;color:#4a4560}.nf-al-st.s-pendingacceptance,.nf-al-st.s-agencypending{background:#FFF4D6;color:#6B4E00}
.nf-cm-nav{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.nf-cm-tpl textarea{width:100%;font:13px "Archivo",system-ui,sans-serif;border:1px solid #D9D4E6;border-radius:8px;padding:6px;margin:4px 0 10px}
.nf-cm-tpl label{font-weight:600;font-size:12.5px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ===== Shared NurseForce semantic tokens (source: Cabrini StaffTypeIcon.tsx), CCH labels kept =====
   FT magenta, PT emerald, CB cyan, AG amber; states are separate from staff types. Brand colour on
   border/stroke, dark label text on tinted surface for legibility. */
html body .nf-type-ft{background:#FAE8FF!important;color:#701A75!important;border-color:var(--nf-type-ft)!important}
html body .nf-type-pt{background:#D1FAE5!important;color:#065F46!important;border-color:var(--nf-type-pt)!important}
html body .nf-type-cb{background:#E0F2FE!important;color:#075985!important;border-color:var(--nf-type-cb)!important}
html body .nf-type-ag{background:#FEF3C7!important;color:#78350F!important;border-color:var(--nf-type-ag)!important}
.nf-state{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;border:1px solid;font:600 11px/1.4 var(--nf-ui,"Archivo",sans-serif)}
.v122-ai-popover .nf-ask-out{padding:10px 2px;font:400 13px/1.5 var(--nf-ui,"Archivo",sans-serif);color:#1F1A33;max-height:60vh;overflow:auto}
.v122-ai-popover .nf-ask-err{padding:8px 10px;border-radius:6px;background:#FEE2E2;color:#7F1D1D;font:600 12px/1.4 var(--nf-ui,"Archivo",sans-serif)}
.v122-ai-popover .nf-ask-out a{color:#4B3B8F;text-decoration:underline}

/* ==== Canonical CCH staff-type + state palette (single source; Cabrini StaffTypeIcon hues).
   Brand hue = border/stroke; fill uses the accessible deep shade so white labels meet 4.5:1. ==== */
html body .nf-type.nf-type-ft:not(.nf-type-full),html body .nf-al-type,html body .nf-al-type.t-ft{background:var(--nf-type-ft-fill)!important;border:1px solid var(--nf-type-ft)!important;color:#fff!important;-webkit-text-fill-color:#fff}
html body .nf-type.nf-type-pt:not(.nf-type-full),html body .nf-al-type.t-pt{background:var(--nf-type-pt-fill)!important;border:1px solid var(--nf-type-pt)!important;color:#fff!important;-webkit-text-fill-color:#fff}
html body .nf-type.nf-type-cb:not(.nf-type-full),html body .nf-al-type.t-cb{background:var(--nf-type-cb-fill)!important;border:1px solid var(--nf-type-cb)!important;color:#fff!important;-webkit-text-fill-color:#fff}
html body .nf-type.nf-type-ag:not(.nf-type-full),html body .nf-al-type.t-ag{background:var(--nf-type-ag-fill)!important;border:1px solid var(--nf-type-ag)!important;color:#fff!important;-webkit-text-fill-color:#fff}
html body .nf-type.nf-type-rv:not(.nf-type-full){background:var(--nf-type-unknown-fill)!important;color:#fff!important}
html body .nf-type-ft.nf-type-full{color:var(--nf-type-ft-fill)!important;background:transparent!important}html body .nf-type-ft.nf-type-full::before{background:var(--nf-type-ft-fill)!important}
html body .nf-type-pt.nf-type-full{color:var(--nf-type-pt-fill)!important;background:transparent!important}html body .nf-type-pt.nf-type-full::before{background:var(--nf-type-pt-fill)!important}
html body .nf-type-cb.nf-type-full{color:var(--nf-type-cb-fill)!important;background:transparent!important}html body .nf-type-cb.nf-type-full::before{background:var(--nf-type-cb-fill)!important}
html body .nf-type-ag.nf-type-full{color:var(--nf-type-ag-fill)!important;background:transparent!important}html body .nf-type-ag.nf-type-full::before{background:var(--nf-type-ag-fill)!important}
/* Ask NurseForce AI draft / approval panel */
.v122-ai-popover .nf-act{border-top:1px solid #E5E1F0;margin-top:8px;padding-top:8px;font:400 12px/1.4 var(--nf-ui,"Archivo",sans-serif);color:#1F1A33}
.v122-ai-popover .nf-act-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:6px}
.v122-ai-popover .nf-act input,.v122-ai-popover .nf-act select{font:inherit;padding:3px 6px;border:1px solid #CFC8E4;border-radius:6px}
.v122-ai-popover .nf-act button{font:600 12px/1 var(--nf-ui,"Archivo",sans-serif);padding:6px 10px;border-radius:6px;border:1px solid #4B3B8F;background:#4B3B8F;color:#fff;cursor:pointer}
.v122-ai-popover .nf-act button:disabled{opacity:.45;cursor:not-allowed}
.v122-ai-popover .nf-act button:focus-visible{outline:2px solid #1F1A33;outline-offset:2px}
.v122-ai-popover .nf-act-note{color:#5B5675;margin-bottom:6px}
.v122-ai-popover .nf-act-t{width:100%;border-collapse:collapse;margin:6px 0}.v122-ai-popover .nf-act-t th,.v122-ai-popover .nf-act-t td{border-bottom:1px solid #EEEBF5;padding:3px 4px;text-align:left}
.v122-ai-popover .nf-act-p{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:4px 0;border-bottom:1px solid #EEEBF5}
/* Clipboard-icon badges win over every legacy pill rule (icon decoration via nurseforce-ask.js). */
html body .nf-type.nf-type[data-nf-icon],html body .nf-al-type.nf-al-type[data-nf-icon]{display:inline-flex!important;align-items:center!important;gap:5px!important;background:transparent!important;border:0!important;padding:0!important;width:auto!important;min-width:0!important;height:auto!important;box-shadow:none!important;font-size:0!important;line-height:0!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
html body .nf-type.nf-type.nf-type-full[data-nf-icon]{font:700 11px/1.2 var(--nf-ui,"Archivo",sans-serif)!important;color:#1F1A33!important;-webkit-text-fill-color:#1F1A33!important}
html body .nf-type.nf-type[data-nf-icon]::before,html body .nf-type.nf-type[data-nf-icon]::after{content:none!important;display:none!important}
html body .nf-type[data-nf-icon] svg.nf-icon,html body .nf-al-type[data-nf-icon] svg.nf-icon{width:20px!important;height:20px!important;-webkit-text-fill-color:initial}

/* In-page agency directory */
:root{--nfag-overlay:rgba(31,26,51,.45);--nfag-shadow:0 20px 50px rgba(31,26,51,.3);--nfag-error-bg:#FEE2E2}
.nfag{display:block!important;width:100%;box-sizing:border-box;margin:16px 0;padding:0}.nfag-in>*{margin-bottom:12px}.nfag h1{font-family:Archivo,sans-serif;margin:0 0 4px}.nfag-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}.nfag-head p{margin:0;color:var(--muted,#6B6585)}.nfag-actions{display:flex;gap:8px;flex-wrap:wrap}.nfag-btn{border:1px solid var(--line,#ddd);background:var(--card,var(--card));border-radius:8px;padding:7px 14px;cursor:pointer;font:inherit;font-size:13px;color:var(--ink)}.nfag-btn.primary{background:var(--nf-violet-deep);border-color:var(--nf-violet-deep);color:var(--card)}.nfag-btn[disabled]{opacity:.6;cursor:wait}.nfag-link{border:0;background:none;padding:0;color:var(--nf-violet);cursor:pointer;font:inherit;font-size:12px;text-decoration:underline}.nfag-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.nfag-bar label{display:flex;gap:6px;align-items:center;font-size:13px}.nfag-bar input,.nfag-bar select{padding:6px 10px;border:1px solid var(--line,#ccc);border-radius:8px;font:inherit;min-width:200px}.nfag-bar select{min-width:110px}.nfag-wrap{overflow-x:auto;border:1px solid var(--line,#e6e3ef);border-radius:8px;background:var(--card,var(--card))}.nfag-table{width:100%;min-width:1100px;border-collapse:collapse;font-size:13px}.nfag-table th{background:var(--nf-violet-deep);color:var(--card);font-size:12px;font-weight:600;text-align:left;padding:9px 10px;white-space:nowrap}.nfag-table td{padding:9px 10px;border-bottom:1px solid var(--line,#ECEAF2);vertical-align:top;overflow-wrap:anywhere}.nfag-nw{white-space:nowrap}.nfag-n{max-width:260px}.nfag-notes.clip{max-height:3.2em;overflow:hidden}.nfag-tier{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--nf-lilac);color:var(--nf-violet-deep);font-weight:600;font-size:12px;white-space:nowrap}.nfag-muted{color:var(--muted,#6B6585);font-size:12px}.nfag-warn{padding:12px 14px;border-radius:8px;background:var(--nf-state-warn-bg,#fef3c7);color:var(--nf-state-warn-fg,#713f12);line-height:1.6}.nfag-ov{position:fixed;inset:0;background:var(--nfag-overlay);z-index:10000;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:24px 12px}.nfag-dlg{background:var(--card);border-radius:8px;padding:20px 22px;width:min(560px,100%);box-shadow:var(--nfag-shadow);color:var(--ink)}.nfag-dlg h2{font-family:Archivo,sans-serif;margin:0 0 4px;font-size:20px}.nfag-fld{display:flex;flex-direction:column;gap:4px;margin:10px 0}.nfag-fld label{font-size:13px;font-weight:600}.nfag-fld input,.nfag-fld select,.nfag-fld textarea{padding:8px 10px;border:1px solid var(--line,#ccc);border-radius:8px;font:inherit;font-size:14px}.nfag-fld [aria-invalid=true]{border-color:var(--red)}.nfag-fe{color:var(--red);font-size:12px;min-height:0}.nfag-err{padding:8px 10px;border-radius:8px;background:var(--nfag-error-bg);color:var(--nf-state-sick-ink);font-size:13px;margin-top:8px}.nfag-who{margin-top:6px;font-size:13px}.nfag-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media(max-width:600px){.nfag{padding:16px 12px}.nfag-bar input{min-width:0;width:100%}.nfag-bar label{flex:1 1 100%}}
.nfag-chart{border:1px solid var(--line);border-radius:8px;background:var(--card);padding:16px;margin:12px 0}.nfag-chart svg{width:100%;display:block;color:var(--ink)}.nfag-chart text{fill:var(--ink);font:13px Archivo,sans-serif}.nfag-chart rect{fill:var(--nf-violet)}.nfag-chart line{stroke:var(--line)}.nfag-chart .nfag-axis{font-size:11px;fill:var(--muted)}.nfag-modes{display:flex;gap:4px;flex-wrap:wrap}.nfag-modes [aria-pressed=true]{background:var(--nf-violet-deep);color:var(--card)}.nfag h2{font-family:Archivo,sans-serif}.nfag-foot{flex-wrap:wrap;align-items:center}.nfag-table th:last-child,.nfag-table td:last-child{width:64px}
@media(max-width:600px){.nfag{padding:0}.nfag-chart{padding:8px}.nfag-dlg{box-sizing:border-box}}

/* Agency directory: bounded chart + table-first layout (scoped to .nfag) */
.nfag{scroll-margin-top:96px;min-width:0;font-family:Archivo,sans-serif}
.nfag .nfag-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px;min-width:0}
.nfag .nfag-title{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}.nfag .nfag-title h2{margin:0;font-size:20px;line-height:1.2}
.nfag-count{font-size:12px;color:var(--muted);background:var(--nf-lilac);padding:2px 8px;border-radius:999px}
.nfag .nfag-head .nfag-btn.primary{flex-shrink:0;white-space:nowrap}
.nfag .nfag-bar{margin:0 0 12px;min-width:0}.nfag .nfag-bar label{min-width:0}.nfag .nfag-bar input{min-width:240px;max-width:100%;box-sizing:border-box}
.nfag .nfag-chart{padding:12px 14px;margin:0 0 12px;overflow:hidden}
.nfag-chead{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-bottom:10px;min-width:0}.nfag-chead .nfag-muted{min-width:0}
.nfag .nfag-modes{display:inline-flex;gap:0;border:1px solid var(--line);border-radius:8px;padding:2px;background:var(--bg,transparent)}
.nfag-seg{border:0;background:transparent;font:inherit;font-size:12px;padding:5px 12px;border-radius:6px;cursor:pointer;color:var(--ink)}
.nfag-seg[aria-pressed=true]{background:var(--nf-violet-deep);color:var(--card)}
.nfag-seg:focus-visible,.nfag-btn:focus-visible,.nfag-row:focus-visible,.nfag-wrap:focus-visible{outline:2px solid var(--nf-violet);outline-offset:2px}
.nfag-cbody{max-height:300px;overflow-y:auto;overflow-x:hidden}
.nfag-bars{list-style:none;margin:0;padding:0}
.nfag-row,.nfag-axisrow{display:grid;grid-template-columns:minmax(90px,170px) minmax(0,1fr) 92px;gap:10px;align-items:center}
.nfag-row{height:26px;font-size:13px;border-radius:4px}.nfag-row:hover{background:var(--nf-lilac)}
.nfag-lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.nfag-track{position:relative;height:14px}.nfag-fill{position:absolute;left:0;top:0;bottom:0;background:var(--nf-violet);border-radius:3px;min-width:2px}
.nfag-grid span{position:absolute;top:-6px;bottom:-6px;border-left:1px solid var(--line)}
.nfag-val{font-size:13px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.nfag-val.na{color:var(--muted);font-size:12px}
.nfag-axisrow{font-size:11px;color:var(--muted);height:20px;position:sticky;bottom:0;background:var(--card)}
.nfag-ticks{position:relative;height:100%}.nfag-ticks i{position:absolute;top:4px;transform:translateX(-50%);font-style:normal}
.nfag-empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:72px;max-height:120px;justify-content:center;padding:12px 14px;border:1px dashed var(--line);border-radius:8px;font-size:13px;color:var(--muted)}
.nfag-empty strong{color:var(--ink);font-size:14px}
.nfag .nfag-table{min-width:0}.nfag .nfag-table th{background:var(--nf-lilac);color:var(--nf-violet-deep);font-size:12px;padding:10px 12px;border-bottom:1px solid var(--line)}
.nfag .nfag-table td{padding:10px 12px;font-size:13px;line-height:1.4;vertical-align:middle}
.nfag .nfag-table tbody tr:hover td{background:color-mix(in oklab,var(--nf-lilac) 40%,transparent)}
.nfag .nfag-table tbody tr:last-child td{border-bottom:0}
.nfag-nm{white-space:nowrap}.nfag .nfag-n{max-width:240px}.nfag-act{text-align:right;width:1%}
.nfag-btn.sm{padding:4px 10px;font-size:12px}
.nfag-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:1100px){.nfag .nfag-table{min-width:980px}}
@media(max-width:600px){.nfag .nfag-bar input{min-width:0;width:100%}.nfag-row,.nfag-axisrow{grid-template-columns:minmax(70px,38%) minmax(0,1fr) 64px;gap:6px}.nfag-row,.nfag-val{font-size:12px}.nfag-chead .nfag-muted{flex-basis:100%}}
.nfag .nfag-act,.nfag .nfag-act .nfag-btn{white-space:nowrap}.nfag .nfag-title h2{font-family:Archivo,sans-serif!important;font-weight:700}
.nfag-axisrow>span:last-child{padding-left:14px}.nfag .nfag-table td{padding-top:8px;padding-bottom:8px}

/* Care Minutes only: approved NurseForce heading treatment and stacked chart. */
html.nfcm-report-mode{height:auto!important;min-height:0;overflow-y:auto!important;overflow-x:hidden}
html.nfcm-report-mode body.nf-cch{height:auto!important;min-height:0;overflow:visible!important;position:static!important}
html.nfcm-report-mode body.nf-cch > :not(.app){display:none!important}
html.nfcm-report-mode body.nf-cch .app > :not(.main),html.nfcm-report-mode body.nf-cch .main > :not(#workspace){display:none!important}
html.nfcm-report-mode body.nf-cch .app{display:block!important;min-height:0;height:auto!important;overflow:visible!important}
html.nfcm-report-mode body.nf-cch .main{margin:0!important;width:100%!important;max-width:none!important;display:block!important;height:auto!important;overflow:visible!important;padding:0!important}
html.nfcm-report-mode body.nf-cch #workspace{margin:0!important;padding:0!important;display:block!important;width:100%!important;max-width:none!important;height:auto!important;overflow:visible!important}
html.nfcm-report-mode body.nf-cch .nfcm-care-page{min-height:0}
html.nfcm-report-mode body.nf-cch .nfcm-care-page .nfcm-wrap{margin-top:18px}
html body.nf-cch .nfcm-care-page{--nf-ui:'Archivo','Helvetica Neue',Arial,sans-serif;--nfcm-rn:var(--nf-type-pt-fill);--nfcm-other:var(--nf-violet);--nfcm-on-segment:var(--card);min-width:0}
html body.nf-cch .nfcm-care-page,html body.nf-cch .nfcm-care-page *{font-family:var(--nf-ui)!important;letter-spacing:0}
html body.nf-cch .nfcm-care-page h1,html body.nf-cch .nfcm-care-page h2{font-weight:700!important;font-style:normal;line-height:1.2}
html body.nf-cch .nfcm-care-page .nfcm-head h1{font-size:32px;margin:0 0 6px}
html body.nf-cch .nfcm-care-page .nfcm-head p{font-family:Archivo,"Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.5;color:var(--muted);max-width:760px}
.nfcm-care-page .nfcm-chart-scroll{width:100%;overflow-x:auto}
.nfcm-care-page .nfcm-svg{width:100%;min-width:700px;max-width:none;max-height:none;height:auto}
.nfcm-care-page .nfcm-legend{justify-content:center;align-items:center;width:100%;text-align:center;gap:8px 18px;margin:12px 0 0;font-size:14px}
.nfcm-care-page .nfcm-svg text{fill:var(--muted);font-size:12px}
.nfcm-care-page .nfcm-svg .nfcm-xl,.nfcm-care-page .nfcm-svg .nfcm-val{fill:var(--ink);font-size:13px}
.nfcm-care-page .nfcm-svg .nfcm-segment-val{fill:var(--nfcm-on-segment);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.nfcm-care-page .nfcm-svg .nfcm-short-val{fill:var(--ink);font-size:11px;font-variant-numeric:tabular-nums}
.nfcm-care-page .nfcm-b-a{fill:var(--nfcm-other);background:var(--nfcm-other)}
.nfcm-care-page .nfcm-b-b{fill:var(--nfcm-rn);background:var(--nfcm-rn)}
.nfcm-care-page .nfcm-grid{stroke:var(--line)}
.nfcm-care-page .nfcm-axis{stroke:var(--muted)}
.nfcm-care-page .nfcm-ref{stroke:var(--red);stroke-width:1.25;stroke-opacity:.5;stroke-dasharray:5 4}
.nfcm-care-page .nfcm-sw-l{border-color:var(--red);border-top-width:1.25px;opacity:.5}
.nfcm-care-page .nfcm-svg .nfcm-ref-t{fill:var(--muted);font-size:11px;font-weight:400}
@media(max-width:600px){html body.nf-cch .nfcm-care-page{padding:16px 12px}html body.nf-cch .nfcm-care-page .nfcm-head h1{font-size:28px}.nfcm-care-page .nfcm-actions{justify-content:flex-start}.nfcm-care-page .nfcm-bar{flex-wrap:wrap}.nfcm-care-page .nfcm-bar select{max-width:100%}.nfcm-care-page .nfcm-chart{padding:12px}.nfcm-care-page .nfcm-legend{line-height:1.5}}

/* Dashboard only: the self-hosted Archivo wordmark face, including numeric
   and SVG text and body-mounted popovers. Keep size, weight and layout intact.
   nf-on-dashboard is maintained by the existing navigation layer. */
html.nf-on-dashboard body.nf-cch{--nf-ui:"Archivo","Helvetica Neue",Arial,sans-serif}
html.nf-on-dashboard body.nf-cch,
html.nf-on-dashboard body.nf-cch *,
html.nf-on-dashboard body.nf-cch.scc-v41 #workspace,
html.nf-on-dashboard body.nf-cch.scc-v41 #workspace *,
html.nf-on-dashboard body.nf-cch.scc-v41 main.main :is(.header,.toolbar),
html.nf-on-dashboard body.nf-cch.scc-v41 main.main :is(.header,.toolbar) *{
  font-family:var(--nf-ui)!important;
}

/* Source cards retain the canonical grid and readable original shift context. */
html body.nf-cch .nf-real-table .nf-real-card .nf-real-source{font:400 10px/1.35 var(--nf-ui)!important;color:var(--card)!important;opacity:1!important;-webkit-text-fill-color:var(--card)!important;white-space:normal;overflow-wrap:anywhere}
html body .nf-real-table .nf-real-name{white-space:normal;overflow-wrap:anywhere}
html body .nf-real-table .nf-real-card{background:var(--nf-violet-deep)}
html body .nf-real-table th:not(:first-child){min-width:140px}
html body .nf-real-table .nf-real-slot{min-width:130px}
body.nf-cch #nf-proto-label{display:none!important}
body.nf-cch [data-nf-history-status]{font-family:var(--nf-ui);font-size:12px;color:var(--muted);margin:0 0 12px}
body.nf-cch .scc-source-banner[hidden],body.nf-cch .v116-cutoff[hidden],body.nf-cch .v116-source-note[hidden],body.nf-cch .exact-range-banner[hidden]{display:none!important}
/* Real provider identity, independent of the prototype persona selector. */
body.nf-cch #sccLoginProfile{gap:10px;flex-wrap:nowrap;max-width:360px;min-width:0}
/* User identity and Log out share the header's single horizontal action row. */
body.nf-cch .header-right{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:8px!important}
body.nf-cch .header-right #sccLoginProfile{flex:0 1 auto!important;min-width:0!important}
body.nf-cch .header-right .nf-header-logout{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 auto!important;white-space:nowrap!important;min-height:36px;margin:0!important;position:static!important}
body.nf-cch .header-right .nf-account-meta{min-width:0;overflow:hidden}
body.nf-cch .header-right .nf-account-meta strong,body.nf-cch .header-right .nf-account-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:650px){body.nf-cch .header-right #sccLoginProfile{max-width:180px!important}body.nf-cch .header-right .nf-header-logout{padding:7px 9px!important}}
.nf-account-meta{display:flex;flex-direction:column;min-width:0;font-family:var(--nf-ui);font-size:12px;overflow-wrap:anywhere}
.nf-account-meta span{font-size:11px;color:var(--muted)}
.nf-account-button{background:var(--nf-violet-deep);color:var(--card);border:1px solid var(--nf-violet-deep);border-radius:6px;padding:7px 12px;cursor:pointer;font:600 12px var(--nf-ui)}
.nf-account-button:focus-visible{outline:2px solid var(--nf-heather);outline-offset:3px}
.nf-account-button:hover{background:var(--nf-violet)}
.nf-account-button:disabled{opacity:.6;cursor:wait}
.nf-account-error{font-size:11px;color:var(--red);max-width:300px}
.nf-account-alert{position:fixed;top:76px;right:16px;z-index:100000;width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:12px 16px;background:var(--card);color:var(--red);border:1px solid var(--red);border-radius:6px;font:600 13px/1.5 var(--nf-ui);overflow-wrap:anywhere}
/* Real account password access (Settings > Users & access) */
.nf-access-card{margin-top:14px}
.nf-access-pill{display:inline-block;padding:2px 8px;border-radius:999px;font:600 11px var(--nf-ui);background:var(--muted);color:var(--foreground)}
.nf-access-pill.active{background:var(--nf-state-accepted);color:var(--nf-state-accepted-ink)}
.nf-access-pill.pending{background:var(--nf-state-pending);color:var(--nf-state-pending-ink)}
.nf-access-note{font:500 11px var(--nf-ui);color:var(--muted-foreground)}
.nf-access-flash{margin:8px 12px;padding:8px 10px;border-radius:6px;font:500 12px var(--nf-ui);background:var(--muted)}
.nf-access-flash.ok{border-left:3px solid var(--nf-violet-deep)}.nf-access-flash.err{border-left:3px solid var(--destructive,#b42318)}
.nf-access-empty,.nf-access-dialog{padding:8px 12px;font:400 13px var(--nf-ui)}
.nf-access-field{display:flex;flex-direction:column;gap:4px;margin:8px 12px;font:600 12px var(--nf-ui)}
.nf-access-field input,.nf-access-field select{padding:7px 9px;border:1px solid var(--border);border-radius:6px;font:400 13px var(--nf-ui)}
.nf-access-card .v101-user-table .modal-btn{padding:5px 10px;font-size:11px!important;min-height:0}
/* Roster Rules presentation refresh (scoped; logic untouched) */
html body.nf-cch .nfrl-page{--nf-ui:'Archivo','Helvetica Neue',Arial,sans-serif;font-family:var(--nf-ui);padding:22px 24px;border-radius:12px;border:1px solid var(--nf-lilac)}
.nfrl-page,.nfrl-page *{font-family:var(--nf-ui)}
.nfrl-page .nfs-head h2{font:800 22px var(--nf-ui);color:var(--nf-violet-deep);margin:0 0 4px;letter-spacing:-.01em}
.nfrl-page .nfs-head p{color:var(--nf-violet);font-size:13px;max-width:760px;margin:0}
.nfrl-page h3{font:700 15px var(--nf-ui);color:var(--nf-violet-deep);border-top:1px solid var(--nf-lilac);padding-top:18px;margin:28px 0 10px}
.nfrl-page .nfrl-bar{padding:10px;background:var(--nf-lilac);border-radius:10px;margin:16px 0}
.nfrl-page .nfrl-bar input,.nfrl-page .nfrl-bar select{background:#fff;border-color:var(--nf-heather);font-size:13px}
.nfrl-page .nfrl-bar input:focus,.nfrl-page .nfrl-bar select:focus{outline:2px solid var(--nf-violet);outline-offset:1px}
.nfrl-page .nfsk-scroll{border:1px solid var(--nf-lilac);border-radius:10px;overflow:auto}
.nfrl-page .nfsk-table{width:100%;border-collapse:collapse}
.nfrl-page .nfsk-table thead th{background:var(--nf-violet-deep);color:#fff;font:700 11px var(--nf-ui);text-transform:uppercase;letter-spacing:.05em;padding:10px 12px;text-align:left}
.nfrl-page .nfsk-table td{padding:11px 12px;border-bottom:1px solid var(--nf-lilac);font-size:13px;color:var(--nf-ink);vertical-align:top}
.nfrl-page .nfsk-table td strong{color:var(--nf-violet-deep);font-weight:700}
.nfrl-page .nfsk-table tbody tr:not(.nfrl-sec):hover td{background:#FAF9FD}
.nfrl-page tr.nfrl-sec th{background:var(--nf-lilac);color:var(--nf-violet-deep);font:800 12px var(--nf-ui);text-transform:uppercase;letter-spacing:.06em;padding:8px 12px;text-align:left;border-bottom:1px solid var(--nf-heather)}
.nfrl-page .nfsk-meta{color:#5D5878;font-size:12px;line-height:1.45}
.nfrl-page .nfp-btn{border-radius:8px;font:600 12px var(--nf-ui);padding:6px 12px;border:1px solid var(--nf-heather);background:#fff;color:var(--nf-violet-deep);cursor:pointer}
.nfrl-page .nfp-btn:hover{background:var(--nf-lilac)}
.nfrl-page .nfp-btn.nfp-primary{background:var(--nf-violet-deep);border-color:var(--nf-violet-deep);color:#fff;padding:9px 16px;font-size:13px}
.nfrl-page .nfp-btn.nfp-primary:hover{background:var(--nf-violet)}
.nfrl-page .nfrl-switch input:checked+span{background:var(--nf-violet)}
.nfrl-page .nfrl-lock{background:var(--nf-violet-deep);color:#fff;border-radius:999px;font-size:11px;padding:3px 10px}
.nfrl-page .nfrl-form{border:1px solid var(--nf-heather);border-radius:10px;background:#FAF9FD;padding:16px;margin:14px 0}
@media (max-width:760px){.nfrl-page{padding:16px}.nfrl-page .nfs-head{flex-direction:column}.nfrl-page .nfrl-bar input{min-width:0;flex:1 1 100%}.nfrl-page .nfsk-table{min-width:720px}}
html body.nf-cch .nfrl-page .nfs-head h2{font-family:"Archivo","Helvetica Neue",Arial,sans-serif!important;font-weight:800!important;color:var(--nf-violet-deep)!important}

/* ---- Availability (Workforce Management > Availability) ---- */
.nfav-page{font-family:"Archivo",system-ui,sans-serif;color:var(--nf-ink);padding:8px 4px 24px;display:flex;flex-direction:column;gap:12px}
.nfav-eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--nf-violet);font-weight:600}
.nfav-head h1{font-family:"Archivo",sans-serif!important;font-size:26px;margin:2px 0 4px;color:var(--nf-violet-deep)}
.nfav-head p{margin:0;color:var(--nf-grey-500);max-width:820px}
.nfav-banner{background:var(--nf-lilac);border:1px solid var(--nf-heather);border-radius:10px;padding:10px 14px;font-size:13px}
.nfav-filters,.nfav-elig,.nfav-bulk,.nfav-legend,.nfav-pager{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end}
.nfav-filters label,.nfav-form label{display:flex;flex-direction:column;font-size:12px;color:var(--nf-grey-500);gap:3px}
.nfav-filters input,.nfav-filters select,.nfav-elig input,.nfav-elig select,.nfav-form input{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--nf-grey-200);border-radius:8px;background:#fff;color:var(--nf-ink)}
.nfav-seg{display:flex;border:1px solid var(--nf-heather);border-radius:8px;overflow:hidden}
.nfav-seg button{font:inherit;font-size:13px;border:0;background:#fff;padding:7px 10px;cursor:pointer;color:var(--nf-violet-deep)}
.nfav-seg button+button{border-left:1px solid var(--nf-heather)}
.nfav-seg button:hover{background:var(--nf-lilac)}
.nfav-elig{align-items:center;font-size:13px}.nfav-hint{color:var(--nf-grey-500);font-size:12px}
.nfav-chk{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:13px!important;color:var(--nf-ink)!important}
.nfav-bulk{align-items:center;font-size:13px}
.nfav-wrap{overflow:auto;border:1px solid var(--nf-grey-200);border-radius:12px;background:#fff;max-height:70vh}
.nfav-grid{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%}
.nfav-grid th{position:sticky;top:0;background:var(--nf-lilac);color:var(--nf-violet-deep);font-weight:600;padding:6px 4px;border-bottom:1px solid var(--nf-heather);z-index:2;white-space:nowrap}
.nfav-grid th.nfav-today{background:var(--nf-heather)}
.nfav-sh{display:flex;justify-content:space-around;font-weight:500;font-size:10px;color:var(--nf-grey-500)}
.nfav-grid td{border-bottom:1px solid var(--nf-grey-200);padding:2px}
.nfav-name{position:sticky;left:28px;background:#fff;z-index:1;text-align:left;min-width:190px;padding:4px 8px!important}
.nfav-grid th.nfav-name{z-index:3;background:var(--nf-lilac)}
.nfav-sel{position:sticky;left:0;background:#fff;z-index:1;width:28px;text-align:center}
.nfav-grid th.nfav-sel{z-index:3;background:var(--nf-lilac)}
.nfav-name small{display:block;color:var(--nf-grey-500)}
.nfav-link{font:inherit;font-weight:600;color:var(--nf-violet-deep);background:none;border:0;padding:0;cursor:pointer;text-align:left}
.nfav-link:hover{text-decoration:underline}
.nfav-c button{width:26px;height:24px;border:0;border-radius:6px;font:inherit;font-weight:700;cursor:pointer;background:var(--c-bg,#f3f2ef);color:var(--c-fg,var(--nf-grey-500))}
.nfav-c button:focus-visible{outline:2px solid var(--nf-violet);outline-offset:1px}
.nfav-legend{font-size:12px;gap:10px}.nfav-legend span{display:inline-flex;align-items:center;gap:5px}
.nfav-legend i{width:14px;height:14px;border-radius:4px;background:var(--c-bg,#f3f2ef);border:1px solid var(--c-fg,transparent)}
.nfav-avail{--c-bg:#dcefe2;--c-fg:#1f6b3a}
.nfav-avail-inelig{--c-bg:#fff1d6;--c-fg:#8a5a00}
.nfav-unavail{--c-bg:#f6dede;--c-fg:#9b2c2c}
.nfav-none{--c-bg:#f3f2ef;--c-fg:#8b8782}
.nfav-rostered{--c-bg:var(--nf-violet);--c-fg:#fff}
.nfav-leave{--c-bg:#dde7f6;--c-fg:#24508a}
.nfav-sick{--c-bg:#fbe3ef;--c-fg:#962a5f}
.nfav-blocked{--c-bg:#2b2a28;--c-fg:#fff}
.nfav-empty{text-align:center;padding:24px!important;color:var(--nf-grey-500)}
.nfav-pager{align-items:center;font-size:13px;color:var(--nf-grey-500)}
.nfav-modal{max-width:520px}
.nfav-form{display:flex;flex-wrap:wrap;gap:12px}.nfav-form fieldset{border:1px solid var(--nf-grey-200);border-radius:8px;display:flex;gap:12px;padding:6px 10px}
.nfav-form legend{font-size:12px;color:var(--nf-grey-500)}
.nfav-page .nfsk-back{position:fixed;inset:0;background:rgba(26,25,23,.35);z-index:50}
.nfav-page .nfav-modal{position:fixed;left:50%;top:18%;transform:translateX(-50%);z-index:51;background:#fff;border-radius:14px;padding:18px 20px;box-shadow:0 20px 50px rgba(26,25,23,.25)}
