:root{
  --ink:#082852;
  --green:#0a2e5c;
  --mint:#eef3fa;
  --cream:#f5f7fb;
  --gold:#e21a2d;
  --line:#dce4ee;
  --muted:#647386;
}

body{
  font-size:18px;
  line-height:1.55;
}

h1{
  font-size:28px;
}

h2{
  font-size:36px;
  line-height:1.12;
}

h3{
  font-size:26px;
  line-height:1.18;
}

h4{
  font-size:21px;
}

button,
input,
select,
textarea{
  font-size:18px;
}

button{
  padding:15px 20px;
}

.card{
  padding:22px;
}

.collapsible-card{
  padding:0;
  overflow:hidden;
}

.collapsible-header{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:22px;
  border-radius:0;
  background:#fff;
  color:var(--ink);
  text-align:left;
  box-shadow:none;
}

.collapsible-header h3{
  margin:0;
}

.collapse-indicator{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#eef3fa;
  color:var(--green);
  font-size:28px;
  font-weight:900;
  line-height:1;
}

.collapsible-body{
  padding:0 22px 22px;
}

.collapsible-card.collapsed .collapsible-body{
  display:none;
}

.collapsible-card.collapsed .collapsible-header{
  border-radius:22px;
}

.manage-group-items{
  display:grid;
  gap:16px;
}

.manage-group-items > .card,
.manage-group-items > .section-hub-card{
  margin:0;
}

.manage-setup-link{
  width:100%;
}

.dashboard-clickable{
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease;
}

.dashboard-clickable:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(13,46,88,.13);
}

.dashboard-clickable:focus-within{
  outline:3px solid rgba(31,111,178,.25);
  outline-offset:2px;
}

.report-destination-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.report-destination-card[hidden]{
  display:none;
}

.report-destination-card h3,
.report-destination-card p{
  margin-top:0;
}

@media (max-width:700px){
  .report-destination-card{
    align-items:stretch;
    flex-direction:column;
  }
}

.card p,
.hint{
  font-size:16px;
}

.eyebrow,
.date p{
  font-size:13px;
}

.status{
  font-size:15px;
  padding:9px 13px;
}

.app-logo{
  width:48px;
  height:48px;
  border-radius:12px;
  object-fit:cover;
  box-shadow:0 6px 18px #08285222;
  background:#fff;
}

.hero-logo{
  display:block;
  width:min(100%,360px);
  border-radius:24px;
  margin:0 auto 16px;
  box-shadow:0 12px 32px #08285222;
  background:#fff;
}

.hub-card{
  text-align:center;
  background:linear-gradient(180deg,#fff,#f4f7fb);
  border-color:#dce4ee;
}

.header-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.notice-button{
  position:relative;
}

.notice-button.has-unread{
  background:#fff1f2;
  color:#b42335;
}

#noticeBadge{
  display:none;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  margin-left:6px;
  border-radius:999px;
  background:var(--gold);
  color:#fff;
  font-size:15px;
}

.ops-sidebar{
  display:none;
}

nav{
  overflow-x:auto;
  justify-content:flex-start;
}

nav button{
  flex:0 0 96px;
  width:96px;
  font-size:24px;
  min-height:72px;
}

nav button[data-view="homeView"]{order:1}
nav button[data-view="taskListsView"]{order:2}
nav button[data-view="tempLogsView"]{order:3}
nav button[data-view="maintenanceView"]{order:4}
nav button[data-view="fpcView"]{order:5}
nav button[data-view="calendarView"]{order:6}
nav button[data-view="storeDocsView"]{order:7}
nav button[data-view="trainingView"]{order:8}
nav button[data-view="smallwaresView"]{order:9}
nav button[data-view="historyView"]{order:10}
nav button[data-view="locationsView"]{order:11}
nav button[data-view="manageView"]{order:12}

.hub-tile{border-color:#dce4ee}
.hub-tile:hover{background:#eef3fa}
#homeView > .hub-grid{display:none}

.dashboard-controls{
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:12px;
  margin-bottom:14px;
}

.dashboard-alerts-card{
  margin-bottom:14px;
}

.dashboard-upcoming-card{
  margin-bottom:14px;
}

.calendar-event-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.calendar-event{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}

.calendar-event h3{
  margin:0 0 6px;
}

.calendar-event p{
  margin:0 0 6px;
}

.calendar-event.fpc-event{
  border-left:5px solid #16a34a;
}

.upcoming-task-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.upcoming-task-details{
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}

.upcoming-task-details summary{
  cursor:pointer;
  list-style:none;
  padding:18px;
}

.upcoming-task-details summary::-webkit-details-marker{
  display:none;
}

.upcoming-task-details summary::before{
  content:"+";
  display:inline-grid;
  place-items:center;
  width:32px;
  height:32px;
  margin-right:12px;
  border-radius:50%;
  background:#eef3fa;
  color:var(--ink);
  font-weight:900;
  vertical-align:top;
}

.upcoming-task-details[open] summary::before{
  content:"−";
}

.upcoming-task-details summary > div{
  display:inline-block;
  width:calc(100% - 50px);
}

.upcoming-summary-preview{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.upcoming-task-details[open] .upcoming-summary-preview{
  display:none;
}

.upcoming-preview-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:12px;
  background:#f5f7fb;
}

.upcoming-preview-row span{
  color:var(--muted);
}

.upcoming-expanded-list{
  display:grid;
  gap:12px;
  padding:0 18px 18px;
}

.upcoming-task-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:16px;
  border:1px solid var(--line);
  border-left:5px solid #2878c7;
  border-radius:16px;
  background:#fff;
}

.upcoming-task-row.urgent{
  border-left-color:var(--red);
}

.upcoming-task-row h3,
.upcoming-task-row p{
  margin:0 0 6px;
}

.mini-label{
  min-width:220px;
  font-weight:800;
}

.mini-label select{
  margin-top:6px;
}

.location-switcher{
  display:grid;
  grid-template-columns:minmax(220px,360px) 1fr;
  gap:12px;
  align-items:end;
  margin-bottom:14px;
}

.location-switcher label{
  display:block;
  font-weight:800;
}

.location-switcher select{
  width:100%;
  margin-top:6px;
  padding:15px;
  border:1px solid var(--line);
  border-radius:10px;
  font:inherit;
}

.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(280px,1fr));
  gap:14px;
}

.dashboard-card{
  min-height:260px;
}

.pie-row{
  display:flex;
  align-items:center;
  gap:24px;
  margin-top:18px;
  flex-wrap:wrap;
}

.pie-chart{
  --pct:0;
  width:150px;
  height:150px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--gold) calc(var(--pct) * 1%), #e9eff6 0);
  position:relative;
  box-shadow:inset 0 0 0 1px rgba(8,40,82,.08);
}

.pie-chart::after{
  content:"";
  position:absolute;
  width:96px;
  height:96px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 6px 18px rgba(8,40,82,.08);
}

.pie-chart span{
  position:relative;
  z-index:1;
  font-size:28px;
  font-weight:900;
  color:var(--ink);
}

.maintenance-pie{
  background:conic-gradient(#2878c7 calc(var(--pct) * 1%), #e9eff6 0);
}

.fpc-pie{
  background:conic-gradient(#16a34a calc(var(--pct) * 1%), #e9eff6 0);
}

.preference-setting{border-top:1px solid var(--line);padding:15px 0}
.preference-setting:first-of-type{margin-top:12px}
.preference-setting h4{margin:0 0 8px}
.preference-channels{margin:8px 0}
.notification-report-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.45fr);gap:12px}
@media(max-width:620px){.notification-report-grid{grid-template-columns:1fr}}
.pop-campaign-row{border-top:1px solid var(--line);padding:18px 0}
.pop-campaign-row:first-child{border-top:0}
.pop-campaign-row.overdue{border-left:5px solid #c33;padding-left:14px}
.pop-campaign-heading,.pop-location-status{display:flex;justify-content:space-between;align-items:center;gap:12px}
.pop-campaign-heading h4{margin:0}
.readerboard-message{margin:12px 0;padding:13px;border-radius:12px;background:#eef3fa}
.readerboard-message p{font-size:18px;font-weight:800;color:var(--ink);white-space:pre-wrap}
.pop-location-list{margin-top:12px}
.pop-location-status{border-top:1px solid var(--line);padding:10px 0}
.pop-location-status button{padding:9px 12px}
.task-area-badge{display:inline-flex;margin-top:5px;padding:3px 8px;border-radius:999px;background:#eef3fa;color:var(--green);font-size:12px;font-weight:800}
@media(max-width:620px){.pop-campaign-heading,.pop-location-status{align-items:flex-start;flex-direction:column}.pop-campaign-heading .button-link{width:100%;text-align:center}}

.page-back-button{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  margin:0 0 14px;
  padding:8px 12px;
  border:1px solid #d9e2ee;
  border-radius:999px;
  box-shadow:0 2px 8px #0828520d;
}

.page-back-button span{
  font-size:19px;
  line-height:1;
}

.resource-location-picker{
  margin:14px 0;
  padding:12px;
  border:1px solid #d9e2ee;
  border-radius:12px;
}

.resource-location-picker legend{
  padding:0 6px;
  font-weight:750;
}

.resource-location-picker .hint{
  margin:4px 0 9px;
}

.help-intro p{
  margin-top:8px;
  color:var(--muted);
}

.help-contents{
  border-left:5px solid var(--gold);
}

.help-contents h3{
  margin-bottom:14px;
}

.help-contents-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px 18px;
}

.help-contents-grid a,
.help-section>a{
  color:#0b5cab;
  font-weight:800;
  text-decoration:none;
}

.help-contents-grid a:hover,
.help-section>a:hover{
  text-decoration:underline;
}

.help-guide{
  display:grid;
  gap:12px;
}

.help-section{
  margin-bottom:0;
  scroll-margin-top:92px;
}

.help-section h3{
  margin-bottom:8px;
}

.help-section p{
  margin:0 0 10px;
  color:var(--muted);
}

.help-section>a{
  display:inline-block;
  margin-top:4px;
  font-size:13px;
}

.management-report-form textarea{resize:vertical}
.management-report-form .form-grid.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.management-report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.management-report-toolbar p{margin:.25rem 0 0}
.management-report-card{border-left:5px solid #94a3b8;margin-bottom:1rem}
.management-report-card.severity-high{border-left-color:#f59e0b}
.management-report-card.severity-critical{border-left-color:#dc2626}
.management-report-card.severity-low{border-left-color:#16a34a}
.management-report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.management-report-heading h3{margin:.2rem 0}
.management-report-badges{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.45rem}
.management-report-amount{font-size:1.1rem;font-weight:800;color:#9f1239}
.management-follow-up{margin-top:1rem;padding:.85rem 1rem;border-radius:12px;background:#f1f5f9}
.management-follow-up p{margin:.35rem 0;white-space:pre-wrap}
.management-review-controls{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(260px,1fr) auto;align-items:end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dbe3ee}
.management-review-controls label{margin:0}
.management-review-controls textarea{min-height:72px;resize:vertical}
.dashboard-widget-area{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.dashboard-widget-area .dashboard-widget{margin:0;min-width:0}
.dashboard-widget-area .widget-wide{grid-column:1/-1}
.dashboard-widget-area .hub-grid{margin:0}
.dashboard-widget-area .dashboard-progress-card{margin-top:0}
.dashboard-summary-number{font-size:2.4rem;font-weight:900;line-height:1;margin:18px 0 4px;color:var(--navy)}
.financial-dashboard-card{overflow:hidden}
.financial-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.financial-metric{display:flex;flex-direction:column;gap:5px;min-width:0;padding:15px;border:1px solid var(--line);border-radius:16px;background:#f8fbff}
.financial-metric span{font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.financial-metric b{font-size:1.55rem;line-height:1.05;color:var(--navy)}
.financial-metric small{color:var(--muted);line-height:1.35}
.financial-metric.metric-positive{background:#eefaf3;border-color:#acd8bc}
.financial-metric.metric-positive b{color:#12613a}
.financial-metric.metric-attention{background:#fff4f1;border-color:#e7b0a3}
.financial-metric.metric-attention b{color:#a43724}
.financial-standouts{margin-top:16px}
.financial-standouts h4{margin:0 0 8px}
.financial-standout-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.financial-standout{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border-radius:12px;background:#f5f7fb;color:var(--navy)}
.financial-standout.attention{background:#fff0ec;color:#8e2e1c}
.financial-location-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.financial-location-details summary{cursor:pointer;font-weight:900;color:var(--navy)}
.financial-location-details>div{overflow-x:auto}
.financial-location-table{margin-top:12px;min-width:650px}
.financial-location-row{display:grid;grid-template-columns:minmax(170px,1.5fr) repeat(4,minmax(90px,1fr));gap:10px;align-items:center;padding:9px 6px;border-bottom:1px solid var(--line)}
.financial-location-row.heading{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.financial-import-preview{margin:12px 0;overflow-x:auto}
.financial-preview-summary{display:flex;justify-content:space-between;gap:16px;margin-bottom:10px}
.financial-preview-table{min-width:900px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.financial-preview-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(210px,1.5fr) repeat(4,minmax(90px,.75fr));gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);background:#fff}
.financial-preview-row:last-child{border-bottom:0}
.financial-preview-row.heading{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#eef3f9;color:var(--muted)}
.financial-preview-row.has-error{background:#fff4f1}
.financial-preview-row span{min-width:0}
.financial-preview-row span:first-child,.financial-preview-row span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.financial-preview-row select{width:100%}
.import-row-error,.financial-setup-warning{color:#a43724!important;font-weight:800}
.financial-import-history-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}
.financial-import-history-row>div{display:flex;flex-direction:column;gap:3px}
.financial-import-history-row>div:last-child{text-align:right}
.financial-mapping-form{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(240px,1fr) auto;gap:12px;align-items:end;margin:12px 0}
.financial-mapping-form label{margin:0}
.financial-admin-details{margin:16px 0;border:1px solid var(--line);border-radius:14px;background:#f8fafc;overflow:hidden}
.financial-admin-details>summary{display:flex;align-items:center;gap:10px;padding:15px 16px;cursor:pointer;list-style:none;color:var(--navy);font-size:1rem;font-weight:900}
.financial-admin-details>summary::-webkit-details-marker{display:none}
.financial-admin-details>summary::after{content:'+';display:grid;place-items:center;width:28px;height:28px;margin-left:auto;border-radius:50%;background:#e7eef7;color:var(--navy);font-size:20px;line-height:1}
.financial-admin-details[open]>summary::after{content:'−'}
.financial-admin-details[open]>summary{border-bottom:1px solid var(--line);background:#fff}
.financial-admin-details-body{padding:4px 16px 14px}
.financial-admin-row,.financial-correction-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.financial-admin-row>div,.financial-correction-row>div{display:flex;gap:8px;align-items:center}
.financial-admin-row>div:first-child,.financial-correction-row>div:first-child{align-items:flex-start;flex-direction:column;gap:2px;min-width:0}
.financial-admin-row small,.financial-correction-row small{color:var(--muted)}
.financial-correction-row select{min-width:220px}
.store-doc-email-admin{padding:0;overflow:hidden}
.store-doc-email-admin>summary{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none;color:var(--navy)}
.store-doc-email-admin>summary::-webkit-details-marker{display:none}
.store-doc-email-admin>summary>span:first-child{display:grid;gap:3px}
.store-doc-email-admin>summary small{color:var(--muted);font-weight:600}
.store-doc-email-admin>summary .status{margin-left:auto}
.store-doc-email-body{padding:2px 20px 20px;border-top:1px solid var(--line)}
.store-doc-email-mapping{display:grid;grid-template-columns:minmax(150px,.5fr) minmax(230px,1fr) auto;gap:12px;align-items:end;margin:14px 0}
.store-doc-email-mapping label{margin:0}
.store-doc-email-mapping-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.store-doc-email-mapping-list>span{padding:7px 10px;border-radius:999px;background:#eef3f9;color:var(--navy);font-size:13px}
.store-doc-email-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.store-doc-email-row>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.store-doc-email-row small{color:var(--muted)}
.store-doc-email-review-controls{display:grid;grid-template-columns:minmax(190px,1fr) 100px auto;gap:8px;align-items:center}
.store-doc-email-review-controls select,.store-doc-email-review-controls input{width:100%}
.store-doc-email-history{margin-top:18px}
.store-doc-email-history>summary{cursor:pointer;color:var(--navy);font-weight:900}
.dashboard-customize-dialog{width:min(680px,calc(100vw - 28px));max-height:88vh}
.dashboard-customize-dialog form{overflow:auto;max-height:82vh}
.dashboard-default-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.dashboard-widget-settings{display:grid;gap:8px;margin:16px 0}
.dashboard-widget-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dbe3ee;border-radius:12px;background:#f8fafc}
.dashboard-widget-setting .check{margin:0;font-weight:800}
.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.app-version-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid #dbe3ee}
.app-version-row p{margin:4px 0 0}
.app-update-banner{position:fixed;z-index:10000;left:50%;bottom:24px;transform:translateX(-50%);width:min(680px,calc(100vw - 28px));display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:14px;background:#082b55;color:#fff;box-shadow:0 18px 45px rgba(2,18,40,.35)}
.app-update-banner[hidden]{display:none}
.app-update-banner div{display:grid;gap:3px}
.app-update-banner span{font-size:13px;color:#d8e7f7}
.app-update-banner button{flex:0 0 auto;background:#fff;color:#082b55}

@media(max-width:760px){
  .help-contents-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .management-report-toolbar,.management-report-heading{align-items:stretch;flex-direction:column}
  .management-report-form .form-grid.three-col{grid-template-columns:1fr}
  .management-report-badges{justify-content:flex-start}
  .management-review-controls{grid-template-columns:1fr}
  .dashboard-widget-area{grid-template-columns:1fr}
  .dashboard-widget-area .widget-wide{grid-column:auto}
  .financial-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .financial-standout-list{grid-template-columns:1fr}
  .dashboard-default-grid{grid-template-columns:1fr}
  .dashboard-widget-setting{align-items:flex-start;flex-direction:column}
  .dialog-actions{flex-direction:column-reverse}
  .app-version-row,.app-update-banner{align-items:stretch;flex-direction:column}
  .app-update-banner{bottom:12px}
}

@media(max-width:480px){
  .help-contents-grid{
    grid-template-columns:1fr;
  }
  .financial-metric{padding:12px}
  .financial-metric b{font-size:1.25rem}
  .financial-metric:last-child{grid-column:1/-1}
  .financial-import-history-row{flex-direction:column;gap:6px}
  .financial-import-history-row>div:last-child{text-align:left}
  .financial-mapping-form{grid-template-columns:1fr}
  .financial-admin-row,.financial-correction-row{align-items:stretch;flex-direction:column;gap:8px}
  .financial-admin-row>div:last-child,.financial-correction-row>div:last-child{justify-content:space-between}
  .financial-correction-row select{min-width:0;width:100%}
  .store-doc-email-admin>summary,.store-doc-email-row{align-items:stretch;flex-direction:column}
  .store-doc-email-admin>summary .status{margin-left:0;width:max-content}
  .store-doc-email-mapping,.store-doc-email-review-controls{grid-template-columns:1fr}
}

.chart-legend{
  flex:1;
  min-width:180px;
}

.chart-legend p{
  margin:0 0 8px;
  color:var(--muted);
}

.chart-legend b{
  color:var(--ink);
  font-size:22px;
}

.dashboard-progress-card{
  margin-top:16px;
}

.progress-bars{
  display:grid;
  gap:16px;
  margin-top:18px;
}

.progress-row{
  border-top:1px solid var(--line);
  padding-top:16px;
}

.progress-row:first-child{
  border-top:0;
  padding-top:0;
}

.progress-row-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:8px;
}

.progress-row-head b{
  font-size:20px;
}

.progress-row-head span{
  font-weight:900;
  color:var(--ink);
}

.progress-track{
  height:18px;
  border-radius:999px;
  overflow:hidden;
  background:#e9eff6;
  box-shadow:inset 0 0 0 1px rgba(8,40,82,.06);
}

.progress-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),#2878c7);
}
.urgent{border-left-color:#e21a2d}
.urgent-label{color:#c41224}
.reading-due,.overdue-row span{color:#c41224;background:#ffe9ec}
textarea{
  width:100%;
  min-height:96px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:9px;
  margin-top:5px;
  font:inherit;
  resize:vertical;
}

.form-card label{
  font-size:18px;
}

.form-card input[type=text],
.form-card input[type=email],
.form-card input[type=password],
input:not([type]),
select,
input[type=number]{
  padding:16px;
  min-height:54px;
}

.task{
  grid-template-columns:34px 1fr auto;
  gap:14px;
}

.task-clickable{
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.task-clickable:hover{
  border-color:#8ba8ca;
  box-shadow:0 8px 22px rgba(8,40,82,.1);
  transform:translateY(-1px);
}

.task-clickable:focus-visible{
  outline:3px solid rgba(40,120,199,.32);
  outline-offset:2px;
}

.task-clickable.done{
  background:#eef8f3;
  border-color:#9bc8b5;
}

.task-completed-by{
  margin:5px 0 0;
  color:#28745f;
  font-size:13px;
  font-weight:700;
}

.checklist-import-box{display:grid;gap:12px}
.checklist-import-box .button-link{display:inline-flex;width:max-content;align-items:center;text-decoration:none}
.checklist-import-preview{border:1px dashed var(--line);border-radius:12px;padding:14px;background:#f8fafc}
.checklist-import-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;color:#28745f}
.checklist-import-summary.has-errors,.import-error,.import-errors{color:#b42335}
.checklist-import-preview table{width:100%;border-collapse:collapse;font-size:13px}
.checklist-import-preview th,.checklist-import-preview td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.checklist-import-preview th{background:#eaf0f7;color:#0b2f5b;white-space:nowrap}
.checklist-import-preview .table-scroll{overflow:auto;max-height:380px;border-radius:9px}
.import-errors{margin:10px 0 0;padding-left:22px}
.success-text{margin:0;color:#28745f;font-weight:800}

.task input[type=checkbox]{
  width:28px;
  height:28px;
}

.task-name,
.temp-entry span,
.history-open,
.report-line b,
.template-row b,
.maintenance-row b,
.store-doc-row b,
.fpc-item-head b{
  font-size:19px;
}

.photo-btn{
  font-size:15px;
  padding:11px 13px;
}

.task-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.snooze-btn{
  padding:11px 13px;
  font-size:15px;
}

.snooze-options{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:14px;
}

.snooze-options button{
  width:100%;
}

.temp-entry{
  padding:16px 0 2px;
  margin-top:12px;
}

.temp-group h4{
  font-size:16px;
  margin-bottom:10px;
}

.temp-group .temp-entry,
.temp-pick{
  padding:16px;
}

.reading-chip,
.reading-due{
  font-size:15px;
  padding:6px 10px;
}

.user-row,
.location-row,
.template-row,
.report-line,
.overdue-row{
  font-size:18px;
}

.maintenance-metrics{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin-bottom:12px;
}

.metric-card{
  margin:0;
  text-align:center;
  color:var(--ink);
  background:#fff;
}

.metric-card b{
  display:block;
  color:var(--gold);
  font-size:32px;
}

.metric-card span{
  color:var(--muted);
  font-size:15px;
  font-weight:800;
  text-transform:uppercase;
}

.metric-card.active,.metric-card:hover{
  background:#eef3fa;
  outline:2px solid #dce4ee;
}

.maintenance-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.maintenance-row.compact{
  align-items:center;
}

.work-order-timeline-block{
  margin:16px 0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8fafc;
}

.work-order-timeline-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}

.work-order-timeline-heading p{
  margin:3px 0 0;
}

.work-order-update-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  margin-top:14px;
  padding:14px;
  border-radius:12px;
  background:#fff;
  box-shadow:inset 0 0 0 1px var(--line);
}

.work-order-update-form[hidden]{display:none}
.work-order-update-form label{margin:0}
.work-order-update-note,.work-order-update-attachment,.work-order-update-actions{grid-column:1/-1}
.work-order-update-actions{justify-content:flex-end;margin-top:2px}

.work-order-timeline{
  margin-top:12px;
  border-top:1px solid var(--line);
}

.work-order-timeline>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 2px 2px;
  cursor:pointer;
  color:var(--navy);
  font-weight:900;
}

.work-order-timeline-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.work-order-update-entry{
  padding:12px;
  border-left:4px solid #9fc5e8;
  border-radius:8px 12px 12px 8px;
  background:#fff;
}

.work-order-update-entry-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.work-order-update-entry p{margin:7px 0 0;white-space:pre-wrap}
.work-order-update-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:13px}
.work-order-update-entry a{display:inline-block;margin-top:8px;font-weight:800}

.row-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.row-actions button{
  padding:11px 14px;
}

button.danger{
  background:#fff1f2;
  color:#b42335;
  border:1px solid rgba(180, 35, 53, .2);
}

.button-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  padding:11px 14px;
  font-weight:800;
  text-decoration:none;
}

.button-link.ghost{
  background:#eef4fb;
  color:var(--navy);
  border:1px solid rgba(12, 37, 70, .14);
}

.import-actions{
  margin-top:10px;
}

.template-section{
  border:1px solid var(--line);
  border-radius:18px;
  margin-top:12px;
  padding:0;
  background:#fff;
  overflow:hidden;
}

.template-section summary{
  cursor:pointer;
  list-style:none;
}

.template-section summary::-webkit-details-marker{
  display:none;
}

.template-section-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  background:#f8fafc;
}

.template-section-head::before{
  content:"+";
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#eef3fa;
  color:var(--ink);
  font-weight:900;
}

.template-section[open] .template-section-head::before{
  content:"−";
}

.template-section-head span{
  display:grid;
  gap:3px;
  flex:1;
}

.template-section-head b{
  color:var(--ink);
  font-size:20px;
}

.template-section-head small{
  color:var(--muted);
  font-weight:700;
}

.template-section-body{
  padding:12px 16px 16px;
}

.template-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border-top:1px solid #edf2f7;
  padding:10px 0;
}

.template-edit-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(150px,220px) minmax(180px,240px);
  align-items:end;
}

.template-edit-row .check,
.template-edit-row .row-actions{
  grid-column:auto;
}

.template-row:first-of-type{
  border-top:0;
}
.schedule-box{
  border-top:1px solid var(--line);
  margin-top:18px;
  padding-top:16px;
}
.schedule-days{
  margin:8px 0 12px;
}

.notice-card.unread{
  border-left:5px solid var(--gold);
}

.notice-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}

.notice-card a{
  color:var(--gold);
  font-weight:800;
}

.fpc-record{
  padding:0;
  overflow:hidden;
}

.fpc-record summary{
  cursor:pointer;
  list-style:none;
}

.fpc-record summary::-webkit-details-marker{
  display:none;
}

.fpc-record-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  padding:22px;
  background:#fff;
}

.fpc-record-head::before{
  content:"+";
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#eef3fa;
  color:var(--ink);
  font-weight:900;
}

.fpc-record[open] .fpc-record-head::before{
  content:"−";
}

.fpc-record-head > div{
  flex:1;
}

.fpc-record h3{
  margin:0 0 4px;
}

.fpc-items{
  margin-top:14px;
}

.fpc-record .fpc-items{
  padding:0 22px 18px;
  margin-top:0;
}

.fpc-item{
  border-top:1px solid var(--line);
  padding:14px 0;
}

.fpc-item.complete{
  opacity:.72;
}

.fpc-completed-items{
  margin-top:10px;
  border-top:1px solid var(--line);
}

.fpc-completed-items > summary{
  display:flex;
  align-items:center;
  gap:8px;
  width:max-content;
  padding:14px 0 4px;
  color:var(--navy);
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}

.fpc-completed-items > summary span{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:24px;
  padding:0 7px;
  border-radius:999px;
  background:#e7edf5;
  font-size:12px;
}

.fpc-completed-list .fpc-item:first-child{
  margin-top:8px;
}

.fpc-item-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.fpc-item-head select{
  width:auto;
  min-width:140px;
  margin:0;
  padding:9px;
  border:1px solid var(--line);
  border-radius:10px;
  font:inherit;
}

.fpc-item-head .row-actions{
  margin-top:0;
  flex-wrap:nowrap;
}

.fpc-comments{
  margin:10px 0;
}

.fpc-comments p{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:8px 10px;
  margin:6px 0;
}

.fpc-photo-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  font-weight:900;
  text-decoration:none;
}

.fpc-photo-link img{
  width:74px;
  height:74px;
  border-radius:12px;
  object-fit:cover;
  background:#eef3fa;
}

.fpc-photo-link .link-icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:12px;
  background:#eef3fa;
  font-size:24px;
}

.fpc-photo-current{
  margin:12px 0;
}

.fpc-comment-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}

.fpc-comment-form input{
  width:100%;
  padding:10px;
  border:1px solid var(--line);
  border-radius:10px;
  font:inherit;
}

.store-doc-row a{
  white-space:nowrap;
}

.smallwares-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:start;
}

.smallwares-row.approved{
  border-left:5px solid #16a34a;
}

#userImportResult,
#locationImportResult{
  margin-top:10px;
}

.maintenance-actions{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin:12px 0 18px;
}

.maintenance-actions button{
  min-height:52px;
}

.maint-panel{
  display:none;
}

.maint-panel.open{
  display:block;
}

.ops-grid{
  margin-top:16px;
}

.pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:12px 0 16px;
}

.pill-row button{
  display:flex;
  align-items:center;
  gap:8px;
  width:auto;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  box-shadow:none;
}

.pill-row button.active{
  border-color:var(--gold);
  background:var(--gold);
  color:#fff;
  box-shadow:0 8px 18px rgba(226,26,45,.18);
}

.pill-row button b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  padding:3px 8px;
  border-radius:999px;
  background:#eef3fa;
  color:var(--ink);
  font-size:15px;
  line-height:1;
}

.pill-row button.active b{
  background:#fff;
  color:var(--gold);
}

.category-row{
  margin-top:18px;
}

.category-row button{
  min-width:140px;
  justify-content:center;
  font-size:18px;
}

.prep-task{
  align-items:flex-start;
}

.prep-qty{
  display:grid;
  gap:6px;
  margin-top:10px;
  max-width:260px;
  font-size:15px;
  color:var(--muted);
}

.prep-qty input{
  font-size:22px;
  font-weight:800;
}

.prep-readonly{
  display:inline-flex;
  gap:8px;
  margin:10px 0 0;
  padding:8px 12px;
  border-radius:999px;
  background:#eef3fa;
  color:var(--ink);
}

.prep-par-list{
  display:grid;
  gap:16px;
  margin:16px 0;
}

.prep-par-area{
  border:1px solid var(--line);
  border-radius:14px;
  padding:0 14px;
}

.prep-par-area-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 0 8px;
}

.prep-par-area-heading h4{
  margin:0;
}

.prep-par-area-heading span{
  color:var(--muted);
  font-size:13px;
  font-weight:700;
}

.prep-par-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(96px,130px);
  gap:16px;
  align-items:center;
  border-top:1px solid #edf2f7;
  margin:0!important;
  padding:12px 0;
}

.prep-par-row span{
  display:grid;
  gap:3px;
}

.prep-par-row small{
  color:var(--muted);
  font-weight:600;
}

.prep-par-row input{
  margin:0;
  font-size:20px;
  font-weight:800;
  text-align:center;
}

@media(max-width:520px){
  .prep-par-row{grid-template-columns:minmax(0,1fr) 92px;gap:10px}
}

#authOverlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:120px 20px 70px;
  background:linear-gradient(115deg,#0b182d 0%,#0e2847 54%,#183f6f 100%);
  overflow:auto;
  overscroll-behavior:auto;
  touch-action:auto;
}

.auth-card{
  position:relative;
  width:min(760px,100%);
  padding:124px 48px 52px;
  border-radius:40px;
  background:#fff;
  box-shadow:0 30px 90px #0006;
  text-align:left;
}

.auth-card .auth-logo{
  display:block;
  position:absolute;
  top:-72px;
  left:50%;
  transform:translateX(-50%);
  width:160px;
  height:160px;
  border-radius:28px;
  object-fit:cover;
  border:5px solid #020617;
  box-shadow:0 18px 45px #0f172a33;
  background:#fff;
}

.auth-card h2{
  text-align:center;
  color:#172036;
  font-size:46px;
  line-height:1.05;
  letter-spacing:-1.3px;
  margin-bottom:26px;
}

.auth-subtitle{
  margin:-8px 0 26px;
  text-align:center;
  color:#64748b;
  font-size:24px;
}

#authMessage{
  margin:0 auto 18px;
  max-width:654px;
  color:#102b51;
  font-size:16px;
}

.auth-card label{
  display:block;
  max-width:654px;
  margin:22px auto 0;
  color:#0f172a;
  font-size:22px;
  font-weight:900;
}

.auth-card input,
.auth-card select{
  width:100%;
  margin-top:10px;
  padding:22px 20px;
  border:1px solid #d5deeb;
  border-radius:17px;
  background:#eaf2ff;
  color:#020617;
  font:800 22px/1.2 system-ui,-apple-system,Segoe UI,sans-serif;
}

.auth-card input:focus{
  outline:3px solid #bfdbfe;
  border-color:#93c5fd;
}

#authPasswordBtn,
#kioskLoginBtn,
#enrollBtn,
.auth-secondary{
  display:block;
  width:min(654px,100%);
  margin:24px auto 0;
  padding:22px;
  border-radius:17px;
  font-size:24px;
  font-weight:950;
}

#authPasswordBtn,
#kioskLoginBtn,
#enrollBtn{
  background:#e2253d;
  color:#fff;
}

.auth-secondary{
  border:1px solid #dbe3ee;
  background:#fff;
  color:#020617;
}

.auth-text-button{display:block;margin:14px auto 0;border:0;background:transparent;color:#64748b;text-decoration:underline}

.auth-card .hint{
  max-width:654px;
  margin:14px auto 0;
  text-align:center;
}

.auth-version{
  margin-top:10px;
  color:#94a3b8;
  font-size:12px;
  text-align:center;
}

@media(max-width:700px){
  #authOverlay{
    padding:90px 14px 28px;
  }

  .auth-card{
    padding:92px 24px 32px;
    border-radius:30px;
  }

  .auth-card .auth-logo{
    width:122px;
    height:122px;
    top:-54px;
  }

  .auth-card h2{
    font-size:34px;
  }

  .auth-subtitle{
    font-size:18px;
  }

  .auth-card label,
  .auth-card input,
  #authPasswordBtn,
  #kioskLoginBtn,
  #enrollBtn,
  .auth-secondary{
    font-size:18px;
  }
}

.fpc-photo-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(118px,1fr));
  gap:10px;
  margin-top:12px;
  max-width:760px;
}

.fpc-photo-gallery .fpc-photo-link{
  align-items:stretch;
  flex-direction:column;
  margin:0;
  min-width:0;
  padding:8px;
}

.fpc-photo-gallery .fpc-photo-link img,
.fpc-photo-gallery .fpc-photo-link .link-icon{
  width:100%;
  height:96px;
}

.fpc-photo-gallery .fpc-photo-link span:last-child{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.fpc-photo-manage{
  min-width:0;
}

.fpc-photo-manage > .check{
  margin:6px 0 0;
  justify-content:center;
}

#maintenanceLogView .form-grid.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.maintenance-log-entry{margin-top:14px}
.maintenance-log-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.maintenance-log-heading h3,.maintenance-log-heading p{margin:0}
.maintenance-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.maintenance-time-grid p{display:flex;flex-direction:column;gap:4px;margin:0;padding:12px;border-radius:12px;background:#f3f6fa}
.maintenance-log-copy{margin-top:12px;padding-top:12px;border-top:1px solid #dbe3ee}
.maintenance-log-copy p{margin:5px 0 0;white-space:pre-wrap}
.maintenance-log-copy.accomplishments{border-left:4px solid #18845b;padding-left:12px}
.maintenance-hours-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}
.maintenance-hours-row p{margin:4px 0 0;color:#607089}
.unifi-camera-card{display:grid;grid-template-columns:minmax(260px,42%) 1fr;gap:20px;overflow:hidden}
.unifi-camera-image{min-height:190px;border-radius:14px;overflow:hidden;background:#0b1930}
.unifi-camera-image img{display:block;width:100%;height:100%;min-height:190px;object-fit:cover}
.unifi-snapshot-empty{display:grid;place-items:center;min-height:190px;color:#c8d5e6}
.unifi-camera-details label{display:block;margin-top:14px;font-weight:700}
.camera-online{background:#e5f5ed;color:#176842}
.thermostat-card{margin-bottom:16px}
.thermostat-reading{display:flex;align-items:baseline;gap:12px;margin:18px 0}
.thermostat-reading strong{font-size:clamp(2.5rem,7vw,4.5rem);line-height:1;color:#0b376d}
.thermostat-reading span{color:#60708a}
.thermostat-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.thermostat-details p{display:flex;flex-direction:column;gap:4px;margin:0;padding:12px;border-radius:12px;background:#f4f7fb}
.thermostat-details span{color:#42536e}
.thermostat-control{margin-top:16px;padding:14px;border:1px solid #dbe3ee;border-radius:12px;background:#fbfcfe}
.thermostat-control summary{cursor:pointer;color:#0b376d}
.thermostat-control .form-grid{margin:14px 0}
.thermostat-command-status{margin:14px 0 0;padding-top:12px;border-top:1px solid #e4e9f1;color:#52627b;font-size:.92rem}
.rollout-section{margin-bottom:16px}
.rollout-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rollout-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #e0e6ef;border-radius:12px;background:#fbfcfe;cursor:pointer}
.rollout-item input{margin-top:3px;width:20px;height:20px;flex:0 0 auto}
.rollout-item span{display:flex;flex-direction:column;gap:3px}
.rollout-item small{color:#65748b}
.camera-offline{background:#fff0f1;color:#a62e3d}

@media(max-width:700px){
  #maintenanceLogView .form-grid.three-col,.maintenance-time-grid{grid-template-columns:1fr}
  .maintenance-log-heading,.maintenance-hours-row{align-items:flex-start;flex-direction:column}
  .unifi-camera-card{grid-template-columns:1fr}
  .thermostat-details{grid-template-columns:1fr 1fr}
  .rollout-items{grid-template-columns:1fr}
}

/* Section hubs, private receipts, and Area Manager store visits */
.section-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px}
.section-hub-card{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;gap:2px 12px;align-items:center;min-height:104px;padding:18px;text-align:left;background:linear-gradient(135deg,#fff,#eef4fb);color:var(--ink);border:1px solid var(--line);box-shadow:0 2px 8px #102b5110}
.section-hub-card>span{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#dcecff;color:#123e70;font-size:24px}
.section-hub-card b{font-size:18px}.section-hub-card small{color:var(--muted);font-size:13px}.section-hub-card:hover{border-color:#8db5dd;background:#edf6ff}
.ia-hub-view{max-width:1060px}.ia-hub-view>.date{margin-bottom:22px}.ia-hub-view .page-description{max-width:720px;margin:7px 0 0;color:var(--muted);font-size:15px;line-height:1.5}.ia-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ia-hub-grid .section-hub-card{min-height:118px}.ia-hub-grid .section-hub-card[hidden]{display:none}
nav [data-ia-root="today"]{order:1}nav [data-ia-root="operations"]{order:2}nav [data-ia-root="issues"]{order:3}nav [data-ia-root="insights"]{order:4}nav [data-ia-root="game"]{order:5}nav [data-ia-root="resources"]{order:6}nav [data-ia-root="more"]{order:7}
.receipt-row{display:flex;justify-content:space-between;align-items:center;gap:18px}.receipt-total{display:grid;justify-items:end;gap:10px;flex:0 0 auto}.receipt-total>b{font-size:24px;color:var(--green)}
.inspection-checklist{display:grid;gap:10px;margin:18px 0}.inspection-item{display:grid;grid-template-columns:minmax(220px,1fr) 190px minmax(170px,.7fr);gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.inspection-item b,.inspection-item span{display:block}.inspection-item span{margin-top:3px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.6px}.inspection-item select,.inspection-item input{margin:0}
.inspection-chart-head{display:flex;justify-content:space-between;gap:18px;align-items:end}.inspection-chart-head label{min-width:220px}.range-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.range-buttons .active{background:var(--green);color:#fff}.inspection-summary{display:flex;align-items:baseline;gap:10px;margin:8px 0}.inspection-summary strong{font-size:34px;color:var(--green)}.inspection-summary span{color:var(--muted)}
.inspection-line-chart{display:block;width:100%;min-height:220px;overflow:visible}.inspection-line-chart text{fill:#64748b;font-size:11px}.chart-grid{stroke:#dbe3ee;stroke-width:1}.chart-average{stroke:#e6a939;stroke-width:2;stroke-dasharray:7 5}.chart-line{fill:none;stroke:#28745f;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:#28745f;stroke-width:4}
.inspection-history-head{display:flex;justify-content:space-between;gap:16px;align-items:center;cursor:pointer}.inspection-history-head strong{font-size:26px;color:var(--green)}.inspection-results{margin-top:14px}.inspection-results p{display:grid;grid-template-columns:1fr auto;gap:6px 14px;padding:10px 0;border-top:1px solid var(--line)}.inspection-results small{grid-column:1/-1;color:var(--muted)}
.inspection-item{grid-template-columns:minmax(220px,1fr) 190px minmax(170px,.7fr) 48px}.inspection-photo-button{display:grid!important;place-items:center;width:44px;height:44px;margin:0!important;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#315b89;cursor:pointer;font-size:22px}.inspection-photo-button:hover,.inspection-photo-button.has-file{border-color:#28745f;background:#e7f2ed;color:#28745f}.inspection-photo-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.inspection-chart-filters{display:grid;grid-template-columns:minmax(210px,1fr) minmax(180px,1fr);gap:10px;min-width:min(500px,55%)}.inspection-result-photo{grid-column:1/-1;display:flex;align-items:center;gap:10px;width:max-content;color:var(--green);font-weight:800;text-decoration:none}.inspection-result-photo img{width:72px;height:58px;border-radius:8px;object-fit:cover}
@media(max-width:700px){.section-hub-grid{grid-template-columns:1fr}.receipt-row,.inspection-chart-head{align-items:stretch;flex-direction:column}.receipt-total{justify-items:start}.inspection-item{grid-template-columns:1fr}.inspection-chart-head label{min-width:0}.inspection-results p{grid-template-columns:1fr}.inspection-line-chart{min-width:620px}#inspectionChart{overflow-x:auto}.ia-hub-grid{grid-template-columns:1fr}}
@media(max-width:700px){.inspection-photo-button{width:100%;height:46px}.inspection-photo-button span::after{content:' Attach optional photo';font-size:14px}.inspection-chart-filters{grid-template-columns:1fr;min-width:0}}

.kiosk-code-result{margin:16px 0;padding:18px;border:2px dashed #28745f;border-radius:14px;background:#eef8f4;text-align:center}
.kiosk-code{display:block;margin:8px 0;font-size:34px;letter-spacing:5px;color:#19352e}

/* Food-safety training */
.danger-zone-hero{
  display:flex;align-items:center;gap:18px;padding:24px;margin-bottom:14px;border-radius:22px;
  color:#fff;background:linear-gradient(135deg,#082c4c 0%,#124f77 58%,#177f78 100%);
  box-shadow:0 14px 30px rgba(8,44,76,.18)
}
.danger-zone-hero h3{margin:2px 0 5px;font-size:28px;color:#fff}
.danger-zone-hero p{margin:0;color:#d9eff4}.danger-zone-hero .eyebrow{color:#8fe2d1}
.danger-zone-mark{display:grid;place-items:center;flex:0 0 68px;height:68px;border:3px solid rgba(255,255,255,.75);border-radius:18px;background:#d3273f;font-size:25px;font-weight:900;letter-spacing:-.05em;transform:rotate(-3deg)}
.danger-zone-nav{display:flex;gap:7px;margin-bottom:14px;padding:5px;border:1px solid var(--line);border-radius:14px;background:#fff}
.danger-zone-nav button{flex:1;background:transparent;color:var(--ink);box-shadow:none}
.danger-zone-nav button.active{background:#dbeafe;color:#082c4c}
.danger-zone-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.danger-zone-intro h3{margin:3px 0 5px}.danger-zone-retry{width:100%;margin:0 0 14px}
.danger-zone-activity{display:grid;margin-top:10px}
.danger-zone-activity-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line)}
.danger-zone-activity-row:first-child{border-top:0}.danger-zone-activity-row p{margin:3px 0 0}
.danger-zone-activity-row strong{font-size:22px}.score-safe{color:#15803d}.score-caution{color:#a16207}.score-danger{color:#b42335}
.training-storage-message{padding:10px 12px;border-radius:10px;background:#fff7ed;color:#9a3412}
.danger-zone-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:15px}
.danger-zone-facts div{display:flex;justify-content:space-between;gap:15px;padding:13px;border-radius:12px;background:#f1f5f9}
.danger-zone-facts span{color:var(--muted)}.danger-zone-facts b{text-align:right;color:#082c4c}
.danger-zone-chapters{display:grid;gap:10px}.danger-zone-chapters details{padding:0;overflow:hidden}
.danger-zone-chapters summary{display:flex;justify-content:space-between;gap:15px;padding:17px 19px;cursor:pointer;font-weight:850;list-style:none}
.danger-zone-chapters summary::-webkit-details-marker{display:none}.danger-zone-chapters summary span:last-child{font-size:22px;color:var(--green)}
.danger-zone-chapters details[open] summary{border-bottom:1px solid var(--line);background:#f7fafc}.danger-zone-chapters details[open] summary span:last-child{transform:rotate(45deg)}
.danger-zone-chapters details>p,.danger-zone-chapters details>ul{margin:16px 20px}.danger-zone-chapters li{margin:7px 0}
.danger-zone-question-meta{display:flex;justify-content:space-between;gap:15px;color:var(--muted)}
.danger-zone-domains{display:grid;gap:14px;margin-top:15px}.danger-zone-domains>div>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}
.domain-bar{height:9px;border-radius:99px;background:#e2e8f0;overflow:hidden}.domain-bar span{display:block;height:100%;border-radius:inherit}
.score-bg-safe{background:#15803d}.score-bg-caution{background:#ca8a04}.score-bg-danger{background:#b42335}
.danger-zone-review{padding:15px 0;border-top:1px solid var(--line)}.danger-zone-review:first-of-type{margin-top:10px}
.danger-zone-review p{margin:7px 0}.danger-zone-review small{display:block;color:var(--muted);line-height:1.45}.wrong-answer{color:#b42335}
.training-disclaimer{
  border-left:5px solid var(--gold);
  background:#fffbeb;
}

.training-disclaimer p{margin-top:6px}

.quiz-track-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:14px 0;
}

.quiz-track-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:180px;
  text-align:left;
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:15px;
  padding:18px;
  box-shadow:0 2px 6px #16372d0a;
}

.quiz-track-card:hover{background:#f0f7f4}
.quiz-track-card .quiz-track-icon{font-size:34px;margin-bottom:10px}
.quiz-track-card b{font-size:20px}
.quiz-track-card p{margin:5px 0 12px;color:var(--muted)}
.quiz-track-card .status{margin-top:auto}
.quiz-length-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.quiz-length-actions button{padding:10px 13px}

.quiz-history-list{display:grid;gap:8px;margin-top:12px}
.quiz-history-row{display:flex;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid var(--line)}
.quiz-history-row:first-child{border-top:0;padding-top:0}

.quiz-progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.quiz-progress{height:10px;margin-bottom:18px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.quiz-progress span{display:block;height:100%;background:var(--green);transition:width .2s ease}
.quiz-category{display:inline-block;margin-bottom:10px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.quiz-question{font-size:23px;line-height:1.3;margin-bottom:18px}
.quiz-options{display:grid;gap:10px}
.quiz-option{
  width:100%;
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:10px;
  padding:14px;
  text-align:left;
  background:#fff;
  color:var(--ink);
  border:2px solid #dbe3df;
}
.quiz-option:hover,.quiz-option.selected{border-color:var(--green);background:var(--mint)}
.quiz-option.correct{border-color:#15803d;background:#dcfce7}
.quiz-option.incorrect{border-color:#b42335;background:#fee2e2}
.quiz-option:disabled{cursor:default;opacity:1}
.quiz-letter{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e8eef5;font-weight:850}
.quiz-actions{display:flex;justify-content:space-between;gap:10px;margin-top:18px}
.quiz-actions button:disabled{opacity:.45;cursor:not-allowed}
.quiz-feedback{margin-top:16px;border-left:5px solid var(--green)}
.quiz-feedback.incorrect{border-left-color:#b42335}
.quiz-feedback h3{margin-bottom:5px}

.quiz-score-card{text-align:center;padding:26px}
.quiz-score-ring{
  width:130px;
  height:130px;
  display:grid;
  place-items:center;
  margin:16px auto;
  border-radius:50%;
  background:conic-gradient(var(--green) var(--score),#e2e8f0 0);
  position:relative;
}
.quiz-score-ring::before{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}
.quiz-score-ring b{position:relative;font-size:28px}
.quiz-review-item{border-left:5px solid #15803d}
.quiz-review-item.missed{border-left-color:#b42335}
.quiz-review-item h3{font-size:17px;margin-bottom:8px}
.quiz-review-item p{margin-top:5px}
.quiz-empty{text-align:center;padding:25px;color:var(--muted)}

.location-directory-card{
  display:grid;
  gap:10px;
  margin-top:12px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.location-directory-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.location-directory-heading h3{font-size:20px;margin-top:2px}
.location-address{color:var(--muted)}
.location-phone{width:max-content;color:var(--green);font-size:18px;font-weight:800;text-decoration:none}
.location-phone:hover{text-decoration:underline}
.location-directory-edit{grid-template-columns:minmax(150px,1fr) minmax(240px,2fr) minmax(150px,1fr) auto;align-items:end}
.location-directory-edit .location-directory-heading{grid-column:1/-1}
.location-directory-edit label{font-weight:700}
.location-directory-edit input{width:100%;margin-top:5px}
.location-directory-edit button{margin-bottom:1px}

@media(max-width:620px){
  .quiz-track-grid{grid-template-columns:1fr}
  .quiz-track-card{min-height:150px}
  .quiz-question{font-size:20px}
  .quiz-actions{flex-direction:column-reverse}
  .quiz-actions button{width:100%}
  .location-directory-edit{grid-template-columns:1fr}
  .location-directory-edit .location-directory-heading{grid-column:auto}
  .location-directory-edit button{width:100%}
}

@media(min-width:840px){
  body{
    padding-bottom:0;
    background:#f3f6fa;
    color:#111827;
  }

  header{
    position:fixed;
    top:0;
    left:292px;
    right:0;
    z-index:4;
    height:74px;
    padding:14px 28px;
    border-bottom:1px solid #dbe3ee;
    box-shadow:none;
  }

  header .brand{
    gap:0;
  }

  header .eyebrow{
    color:#64748b;
  }

  header h1{
    color:#081933;
    font-size:28px;
  }

  main{
    max-width:none;
    margin:0 0 0 292px;
    padding:112px 52px 44px;
  }

  nav{
    display:none;
  }

  .ops-sidebar{
    position:fixed;
    inset:0 auto 0 0;
    z-index:5;
    width:292px;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:28px 20px;
    background:#0b1930;
    color:#dbeafe;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  .side-brand{
    display:flex;
    flex:0 0 auto;
    gap:14px;
    align-items:center;
    margin:12px 0 28px;
  }

  .side-brand .app-logo{
    width:62px;
    height:62px;
    border-radius:16px;
    object-fit:cover;
    background:#fff;
  }

  .side-brand b{
    display:block;
    color:#fff;
    font-size:24px;
    line-height:1.05;
  }

  .side-brand span{
    display:block;
    margin-top:8px;
    color:#bfdbfe;
    font-size:14px;
  }

  .ops-sidebar button{
    width:100%;
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    padding:14px 16px;
    border-radius:14px;
    background:transparent;
    color:#cfe2ff;
    font-size:19px;
    text-align:left;
  }

  .ops-sidebar button.active,
  .ops-sidebar button:hover{
    background:#26364f;
    color:#fff;
  }

  .nav-icon{
    width:22px;
    display:inline-grid;
    place-items:center;
    color:#b7d5ff;
  }

  .side-user{
    flex:0 0 auto;
    margin-top:auto;
    border-top:1px solid #334155;
    padding-top:22px;
  }

  .side-user b{
    display:block;
    color:#fff;
    font-size:20px;
  }

  .side-user span{
    display:block;
    margin-top:4px;
    color:#bfdbfe;
    font-size:16px;
    text-transform:capitalize;
  }

  .date{
    margin-bottom:28px;
  }

  .date h2{
    font-size:46px;
    color:#111827;
    letter-spacing:-1px;
  }

  .date p,
  .eyebrow{
    color:#64748b;
  }

  .card,
  .hub-tile{
    border-color:#e2e8f0;
    border-radius:22px;
    box-shadow:0 18px 40px #0f172a0f;
  }

  #homeView .hub-grid{
    grid-template-columns:repeat(2,minmax(260px,1fr));
    max-width:900px;
  }

  #homeView .hub-tile{
    min-height:150px;
    padding:26px;
  }

  #homeView .hub-tile b{
    font-size:28px;
  }

  .maintenance-metrics{
    grid-template-columns:repeat(4,minmax(160px,1fr));
  }
}

@media(max-width:480px){
  .app-logo{width:40px;height:40px}
  .hero-logo{border-radius:18px}
  body{font-size:17px}
  h1{font-size:23px}
  h2,.date h2{font-size:31px}
  h3{font-size:23px}
  button,input,select,textarea{font-size:17px}
  .card{padding:18px}
  .task-name,.temp-entry span{font-size:18px}
}

@media(max-width:700px){
  .danger-zone-hero{align-items:flex-start;padding:19px}.danger-zone-mark{flex-basis:52px;height:52px;font-size:20px}
  .danger-zone-hero h3{font-size:23px}.danger-zone-facts{grid-template-columns:1fr}.danger-zone-intro{display:block}.danger-zone-intro .status{display:inline-block;margin-top:10px}
  .dashboard-controls,
  .dashboard-grid,
  .location-switcher{
    grid-template-columns:1fr;
  }
  .pie-row{
    justify-content:center;
  }
  .maintenance-metrics{grid-template-columns:repeat(2,1fr)}
  .maintenance-actions{grid-template-columns:1fr 1fr}
  .maintenance-row{display:block}
  .maintenance-row .status{display:inline-block;margin-top:8px}
  .row-actions{justify-content:flex-start;margin-top:8px}
  .work-order-timeline-heading{align-items:stretch;flex-direction:column}
  .work-order-update-form{grid-template-columns:1fr}
  .work-order-update-note,.work-order-update-attachment,.work-order-update-actions{grid-column:auto}
  .work-order-update-entry-head{flex-direction:column;gap:3px}
}


@media(min-width:680px) and (max-width:839px){
  header{
    position:fixed;
    top:0;
    left:84px;
    right:0;
    z-index:4;
    height:74px;
    padding:14px 20px;
    border-bottom:1px solid #dbe3ee;
  }
}

header h1{
  font-size:22px;
}

/* Persistent, expandable left navigation on every screen size. */
.ops-sidebar,header,main{transition:left .2s ease,width .2s ease,margin-left .2s ease}
.side-menu-toggle{border:1px solid #40516b!important;background:#172842!important;color:#fff!important}

@media(min-width:840px){
  body.menu-collapsed header{left:84px}
  body.menu-collapsed main{margin-left:84px}
  body.menu-collapsed .ops-sidebar{width:84px;align-items:center;padding:20px 8px}
  body.menu-collapsed .side-brand{justify-content:center;margin-bottom:10px}
  body.menu-collapsed .side-brand .app-logo{width:54px;height:54px}
  body.menu-collapsed .side-brand div,
  body.menu-collapsed .ops-sidebar button span:not(.nav-icon),
  body.menu-collapsed .side-user{display:none}
  body.menu-collapsed .ops-sidebar button{justify-content:center;padding:13px 8px}
}

@media(min-width:680px) and (max-width:839px){
  body.menu-expanded .ops-sidebar{width:292px;align-items:stretch;padding:24px 18px;box-shadow:18px 0 40px #07142655}
  body.menu-expanded .side-brand{display:flex;align-items:center;gap:12px;margin:8px 0 18px}
  body.menu-expanded .side-brand div{display:block}
  body.menu-expanded .side-brand span{display:block}
  body.menu-expanded .ops-sidebar button{flex-direction:row;justify-content:flex-start;gap:13px;padding:13px 14px;font-size:17px;text-align:left}
  body.menu-expanded .ops-sidebar button span:not(.nav-icon){display:inline;font-size:17px;line-height:1.2}
  body.menu-expanded .side-user{display:block}
}

@media(max-width:679px){
  body{padding-bottom:0;background:#f3f6fa}
  header{position:fixed;top:0;left:72px;right:0;z-index:4;min-height:74px;height:74px;padding:10px 10px;border-bottom:1px solid #dbe3ee}
  header .brand{display:none}
  .header-actions{width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}
  .header-actions>*{flex:0 0 auto;font-size:14px;padding:9px 10px}
  main{max-width:none;margin:0 0 0 72px;padding:94px 14px 32px}
  nav{display:none!important}
  .ops-sidebar{position:fixed;inset:0 auto 0 0;z-index:6;width:72px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 6px;background:#0b1930;color:#dbeafe;overflow-y:auto;overscroll-behavior:contain;box-shadow:5px 0 16px #07142622}
  .side-brand{display:flex;justify-content:center;margin:3px 0 7px}
  .side-brand .app-logo{width:50px;height:50px;border-radius:13px;object-fit:cover;background:#fff}
  .side-brand div,.side-brand span,.side-user{display:none}
  .ops-sidebar button{width:100%;display:flex;flex:0 0 auto;align-items:center;justify-content:center;padding:11px 5px;border-radius:12px;background:transparent;color:#cfe2ff}
  .ops-sidebar button span:not(.nav-icon){display:none}
  .ops-sidebar button.active,.ops-sidebar button:hover{background:#26364f;color:#fff}
  .ops-sidebar .nav-icon{width:24px;font-size:20px}
  body.menu-expanded .ops-sidebar{width:min(292px,88vw);align-items:stretch;padding:16px 14px;box-shadow:18px 0 40px #07142666}
  body.menu-expanded .side-brand{justify-content:flex-start;align-items:center;gap:12px;margin-bottom:10px}
  body.menu-expanded .side-brand div{display:block}
  body.menu-expanded .side-brand b{display:block;color:#fff;font-size:22px}
  body.menu-expanded .side-brand span{display:block;margin-top:3px;color:#bfdbfe;font-size:13px}
  body.menu-expanded .ops-sidebar button{justify-content:flex-start;gap:12px;padding:12px 14px;text-align:left}
  body.menu-expanded .ops-sidebar button span:not(.nav-icon){display:inline;font-size:17px}
  body.menu-expanded .side-user{display:block;margin-top:auto;border-top:1px solid #334155;padding:14px 8px;color:#fff}
}

main{
  max-width:none;
  margin:0 0 0 84px;
  padding:100px 24px 40px;
}

nav{
  display:none;
}

.ops-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:5;
  width:84px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:20px 8px;
  background:#0b1930;
  color:#dbeafe;
  overflow-y:auto;
}

.side-brand div,
  .side-brand span{
    display:none;
  }

.ops-sidebar button{
  width:100%;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:10px 4px;
  font-size:11px;
  text-align:center;
}

.ops-sidebar button span:not(.nav-icon){
  font-size:10px;
  line-height:1.1;
}

.nav-icon{
  font-size:20px;
}

.side-user{
  display:none;
}
/* Location-specific forced alarms for store tablets */
.store-alarm-overlay{position:fixed;inset:0;z-index:10000;background:rgba(84,0,0,.96);display:grid;place-items:center;padding:24px;color:#fff}
.store-alarm-overlay[hidden]{display:none}.store-alarm-panel{width:min(760px,100%);max-height:94vh;overflow:auto;text-align:center;background:#260000;border:4px solid #ff3b30;border-radius:24px;padding:32px;box-shadow:0 0 0 10px rgba(255,59,48,.2),0 30px 90px #000;animation:alarmPulse 1.2s infinite alternate}
.store-alarm-beacon{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 16px;border-radius:50%;background:#ff3b30;font-size:58px;font-weight:900}.store-alarm-panel h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;margin:.25em 0}.store-alarm-panel h2{color:#ffd7d4}.store-alarm-panel .eyebrow{color:#ffb3ad}.store-alarm-summary{font-size:1.25rem;font-weight:800}.store-alarm-missing{text-align:left;background:rgba(255,255,255,.1);border-radius:12px;padding:12px 18px;max-height:220px;overflow:auto}.store-alarm-missing p{margin:.4em 0}.store-alarm-instruction{font-weight:700}.store-alarm-actions{justify-content:center}.store-alarm-actions button{font-size:1.05rem;padding:14px 20px}.store-alarm-actions .ghost{color:#fff;border-color:#fff}.store-alarm-history-item{display:flex;gap:16px;justify-content:space-between;align-items:center;border-top:1px solid var(--line,#d9e1ea);padding:14px 0}.store-alarm-history-item p{margin:.25em 0}.store-alarm-history-item small{color:var(--muted,#607087)}
@keyframes alarmPulse{from{border-color:#ff3b30;transform:scale(1)}to{border-color:#fff;transform:scale(1.008)}}
@media(max-width:600px){.store-alarm-overlay{padding:10px}.store-alarm-panel{padding:22px 16px}.store-alarm-actions{display:grid}.store-alarm-history-item{align-items:flex-start;flex-direction:column}}

/* Reliable off-canvas navigation in portrait, landscape, and desktop layouts. */
.ops-sidebar{z-index:10!important;width:292px!important;align-items:stretch!important;padding:20px 14px!important;transform:translateX(-105%);transition:transform .22s ease,box-shadow .22s ease!important}
body.menu-expanded .ops-sidebar{transform:translateX(0);box-shadow:18px 0 40px #07142666!important}
.ops-sidebar .side-brand{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;margin:8px 0 14px!important}
.ops-sidebar .side-brand div,.ops-sidebar .side-brand span{display:block!important}
.ops-sidebar .side-user{display:block!important;margin-top:auto!important}
.ops-sidebar button{flex-direction:row!important;justify-content:flex-start!important;gap:12px!important;padding:12px 14px!important;font-size:17px!important;text-align:left!important}
.ops-sidebar button span:not(.nav-icon){display:inline!important;font-size:17px!important;line-height:1.2!important}
.menu-open-button{position:fixed;top:max(12px,env(safe-area-inset-top));left:12px;z-index:11;width:48px;height:48px;display:grid;place-items:center;border:1px solid #40516b;border-radius:13px;background:#0b1930;color:#fff;font-size:25px;box-shadow:0 8px 24px #07142644}
body.menu-expanded .menu-open-button{display:none}
.menu-scrim{position:fixed;inset:0;z-index:9;background:#07142680;backdrop-filter:blur(1px)}
.menu-scrim[hidden]{display:none}
header{left:0!important;padding-left:74px!important}
main{margin-left:0!important}
@media(min-width:840px){
  body.menu-expanded header{left:292px!important;padding-left:28px!important}
  body.menu-expanded main{margin-left:292px!important}
  body.menu-expanded .menu-scrim{display:none}
}
@media(max-width:839px){
  body.menu-expanded{overflow:hidden}
  .ops-sidebar{
    top:0!important;
    bottom:0!important;
    left:0!important;
    z-index:1002!important;
    width:min(320px,85vw)!important;
    height:100dvh!important;
    max-height:100dvh;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:5px!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding-top:max(16px,env(safe-area-inset-top))!important;
    padding-bottom:max(16px,env(safe-area-inset-bottom))!important;
    pointer-events:none;
    opacity:0;
    transform:translate3d(-105%,0,0)!important;
    will-change:transform;
  }
  #primarySidebar.drawer-open{
    display:flex!important;
    flex-direction:column!important;
    pointer-events:auto!important;
    opacity:1!important;
    transform:translate3d(0,0,0)!important;
  }
  #primarySidebar .side-brand,
  #primarySidebar>button,
  #primarySidebar .side-user{width:100%!important;flex:0 0 auto!important}
  .menu-scrim{z-index:1001!important}
  .menu-open-button{
    top:calc(env(safe-area-inset-top) + 10px)!important;
    left:12px!important;
    z-index:1003!important;
  }
  header{
    left:0!important;
    min-height:calc(74px + env(safe-area-inset-top))!important;
    height:calc(74px + env(safe-area-inset-top))!important;
    padding-top:calc(10px + env(safe-area-inset-top))!important;
    padding-left:70px!important;
  }
  main{
    margin-left:0!important;
    padding-top:calc(94px + env(safe-area-inset-top))!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  body>nav{display:none!important}
  body.menu-expanded>nav{display:none!important}
}

/* Compact header notice bubble and tucked-away account controls. */
header .header-actions{width:auto!important;margin-left:auto!important;overflow:visible!important;justify-content:flex-end!important}
.notice-button{position:relative!important;width:44px!important;height:44px!important;min-width:44px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid #d8e1ec!important;border-radius:999px!important;background:#eef3f9!important;color:#0b2f5b!important;box-shadow:0 4px 12px #0f172a12;font-weight:900!important}
.notice-button .notice-icon{font-size:18px;line-height:1}
.notice-button.has-unread{border-color:#b42335!important;background:#c6283d!important;color:#fff!important;box-shadow:0 0 0 4px #c6283d22}
#noticeBadge{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;margin:0!important;padding:0 5px;border:2px solid #fff;background:#b42335!important;color:#fff;font-size:12px;font-weight:900}
.notice-button.has-unread #noticeBadge{background:#fff!important;color:#b42335!important;border-color:#b42335}
.portrait-account-button{display:none!important}
.portrait-account-dialog{width:min(420px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 24px));padding:0;border:1px solid #cbd8e7;border-radius:20px;background:#fff;color:#10233f;box-shadow:0 28px 80px #07142666;overflow:hidden}
.portrait-account-dialog::backdrop{background:#07142699;backdrop-filter:blur(2px)}
.portrait-account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 15px;border-bottom:1px solid #e1e8f0}.portrait-account-head h3,.portrait-account-head p{margin:0}.portrait-account-head .x{width:44px;min-width:44px;height:44px;padding:0;border-radius:12px}
.portrait-account-identity{display:flex;align-items:center;gap:12px;margin:18px 20px;padding:15px;border-radius:15px;background:#edf4fb}.portrait-account-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0b3765;color:#fff}.portrait-account-identity b,.portrait-account-identity div>span{display:block}.portrait-account-identity div>span{margin-top:3px;color:#5f7087;font-size:13px}
.portrait-account-actions{display:grid;gap:10px;padding:0 20px 20px}.portrait-account-actions button{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:52px;padding:12px 16px;font-size:16px;text-align:left}.portrait-account-actions button span:first-child{width:24px;font-size:20px;text-align:center}
.side-account-menu{width:100%;color:#fff}
.side-account-menu summary{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;cursor:pointer;list-style:none;background:#172842;color:#fff}
.side-account-menu summary::-webkit-details-marker{display:none}
.side-account-menu summary::after{content:'▾';margin-left:auto;color:#bfdbfe;transition:transform .18s ease}
.side-account-menu[open] summary::after{transform:rotate(180deg)}
.side-user-copy{min-width:0;text-align:left}
.side-user-copy b,.side-user-copy span{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.side-user-copy b{font-size:16px!important}.side-user-copy span{margin-top:2px!important;font-size:13px!important;color:#bfdbfe!important}
.side-account-actions{display:grid;gap:4px;padding-top:7px}
.auth-language-tools{display:flex;justify-content:flex-end;margin:-8px -8px 2px}.auth-language-button{width:auto!important;padding:8px 11px!important;border:1px solid #cbd5e1!important;background:#f8fafc!important;color:#123e70!important;font-size:13px!important}.auth-language-button:hover{background:#e7eef7!important}.side-account-actions [data-language-toggle]{display:flex;align-items:center;gap:12px;width:100%;text-align:left}
.side-tenant-switch{display:grid;gap:5px;padding:9px 14px;color:#bfdbfe;font-size:12px;font-weight:700}
.side-tenant-switch[hidden]{display:none}
.side-tenant-switch select{width:100%;min-width:0;padding:8px 9px;border:1px solid #3a4c68;border-radius:9px;background:#fff;color:#0d2343;font:inherit;font-size:13px}
.side-account-actions a,.side-account-actions button{width:100%;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;padding:11px 14px!important;border:0;border-radius:11px;background:transparent!important;color:#dbeafe!important;font:inherit;font-size:15px!important;text-align:left;text-decoration:none;cursor:pointer}
.side-account-actions a:hover,.side-account-actions button:hover{background:#26364f!important;color:#fff!important}

/* Simple listed-product entry plus optional non-listed readings. */
.additional-temp-list:empty{display:none}
.additional-temp-list{margin-top:18px;padding-top:8px;border-top:1px solid var(--line,#d9e1ea)}
.additional-temp-group h4{color:var(--muted,#607087)}
.additional-temp-entry{cursor:default!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:10px!important;padding:10px!important;margin-top:7px!important}
[hidden]{display:none!important}
.temperature-standard-row{display:grid;grid-template-columns:minmax(180px,1.2fr) 100px 100px minmax(180px,1fr) minmax(180px,1fr);gap:10px;align-items:end;padding:12px 0;border-top:1px solid var(--line,#d9e1ea)}
.temperature-standard-row label{font-size:13px}.temperature-standard-row textarea{min-height:72px}
.corrective-action-choices{display:grid;gap:10px;margin:18px 0}.corrective-action-choices button{width:100%;text-align:left;padding:14px}
.in-store-reminder{border:2px solid #d97706!important;background:#fff7ed!important;color:#7c2d12!important;margin-bottom:14px}.in-store-reminder h3{color:#9a3412}.reading-out-of-range{background:#fff1f2!important;color:#b42335!important}
@media(max-width:900px){.temperature-standard-row{grid-template-columns:1fr 1fr}.temperature-standard-row>strong,.temperature-standard-row textarea{grid-column:1/-1}}
.temperature-log-editor{margin:14px 0;border:1px solid var(--line,#d9e1ea);border-radius:14px;overflow:hidden;background:#fff}.temperature-log-editor>summary{display:flex;justify-content:space-between;gap:12px;padding:16px;cursor:pointer;background:#f3f6fa}.temperature-log-editor-body{padding:14px}.temperature-log-head{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:12px}.temperature-item-editor{display:grid;grid-template-columns:minmax(180px,1.2fr) 95px 95px minmax(160px,1fr) minmax(160px,1fr) auto;gap:9px;align-items:end;padding:12px 0;border-top:1px solid var(--line,#d9e1ea)}.temperature-item-editor label{font-size:13px}.temperature-item-editor textarea{min-height:68px}.temperature-item-actions{display:flex;gap:5px}.temperature-item-actions button{padding:9px}
@media(max-width:1050px){.temperature-item-editor{grid-template-columns:1fr 1fr}.temperature-item-editor label:first-child,.temperature-item-editor label:nth-child(4),.temperature-item-editor label:nth-child(5),.temperature-item-actions{grid-column:1/-1}.temperature-log-head{grid-template-columns:1fr}}

/* Final portrait safeguard for iPhone Safari and installed PWA mode. */
@media (orientation:portrait) and (max-width:1024px){
  .portrait-account-button:not([hidden]){position:relative!important;width:44px!important;height:44px!important;min-width:44px!important;display:grid!important;place-items:center!important;padding:0!important;border:1px solid #d8e1ec!important;border-radius:999px!important;background:#eef3f9!important;color:#0b2f5b!important;box-shadow:0 4px 12px #0f172a12;font-weight:900!important}
  #primarySidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(320px,85vw)!important;
    height:100vh!important;
    height:100dvh!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    grid-auto-rows:max-content!important;
    align-content:start!important;
    align-items:stretch!important;
    justify-items:stretch!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  #primarySidebar>*{min-width:0!important;width:100%!important}
  #primarySidebar .side-user{margin-top:18px!important}
}
@media (orientation:portrait) and (max-width:600px){header .browsing-scope-chip{display:none!important}}

/* Continuous health-department temperature history. */
.temperature-compliance-card{margin-bottom:18px!important}
.temperature-compliance-heading{display:flex;justify-content:space-between;gap:16px;align-items:start}
.temperature-compliance-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.temperature-compliance-card [hidden]{display:none!important}
.temperature-compliance-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:10px;align-items:end;margin:16px 0}
.temperature-compliance-filters label{display:grid;gap:5px;font-weight:750;font-size:13px}
.temperature-compliance-filters select,.temperature-compliance-filters input{width:100%;margin:0!important}
.temperature-history-summary{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 14px}
.temperature-history-summary .status{font-weight:800}
.temperature-history-row{border-top:1px solid var(--line,#d9e1ea);padding:12px 0}
.temperature-history-row>summary{display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:12px;align-items:center;cursor:pointer;list-style:none}
.temperature-history-row>summary::-webkit-details-marker{display:none}
.temperature-history-row>summary::after{content:'▾';color:#64748b;font-weight:900}
.temperature-history-row[open]>summary::after{transform:rotate(180deg)}
.temperature-history-row h4{margin:0}.temperature-history-row p{margin:2px 0 0}
.temperature-history-status{justify-self:end;font-size:12px;border-radius:999px;padding:6px 10px;font-weight:850;background:#e2e8f0;color:#334155}
.temperature-history-status.complete{background:#dcfce7;color:#166534}.temperature-history-status.partial{background:#fef3c7;color:#92400e}.temperature-history-status.none{background:#fee2e2;color:#991b1b}.temperature-history-status.closed{background:#dbeafe;color:#1e40af}.temperature-history-status.not-scheduled{background:#f1f5f9;color:#475569}
.temperature-history-detail{padding:12px 0 2px 14px;border-left:3px solid #dbe4ef;margin-top:10px}
.temperature-history-log{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.temperature-history-readings{margin-top:10px}.temperature-history-readings .reading-chip{display:inline-block;margin:3px}
@media(max-width:760px){.temperature-compliance-heading{display:block}.temperature-compliance-actions{justify-content:stretch;margin-top:12px}.temperature-compliance-actions button{flex:1 1 12rem}.temperature-compliance-filters{grid-template-columns:1fr 1fr}.temperature-compliance-filters label:first-child,.temperature-compliance-filters button{grid-column:1/-1}.temperature-history-row>summary{grid-template-columns:1fr auto}.temperature-history-row>summary::after{display:none}.temperature-history-status{grid-column:2}.temperature-history-row>summary>div{grid-row:1/3}}

/* Average Guys platform administration and customer feedback. */
.platform-admin-intro label{max-width:520px;margin-top:14px}
.platform-admin-details{padding:0;overflow:hidden}.platform-admin-details>summary{display:flex;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none}.platform-admin-details>summary::-webkit-details-marker{display:none}.platform-admin-details>summary::after{content:'+';display:grid;place-items:center;width:30px;height:30px;margin-left:0;border-radius:50%;background:#e7eef7;color:var(--navy);font-size:21px;font-weight:900}.platform-admin-details[open]>summary::after{content:'−'}.platform-admin-details>summary>.status{margin-left:auto}.platform-admin-details-body{padding:0 20px 16px;border-top:1px solid var(--line,#d9e1ea)}
.platform-user-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line,#d9e1ea)}
.platform-user-row:first-child{border-top:0}.platform-user-row p,.platform-user-row small{margin:3px 0 0;color:var(--muted,#607087)}
.platform-feedback-row{padding:16px 0;border-top:1px solid var(--line,#d9e1ea)}.platform-feedback-row:first-child{border-top:0}
.platform-feedback-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}.platform-feedback-heading>div{display:flex;align-items:center;gap:10px}.platform-feedback-heading small{color:var(--muted,#607087);text-align:right}
.platform-feedback-row>p{white-space:pre-wrap}.platform-feedback-actions{display:grid;grid-template-columns:160px minmax(240px,1fr) auto;gap:10px;align-items:end}.platform-feedback-actions label{margin:0}.platform-feedback-buttons{display:flex;gap:8px}.platform-previous-feedback{margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#d9e1ea)}.platform-previous-feedback>summary{display:flex;align-items:center;gap:8px;width:max-content;cursor:pointer;color:var(--navy);font-weight:900;list-style:none}.platform-previous-feedback>summary::-webkit-details-marker{display:none}.platform-previous-feedback>summary::before{content:'+';display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#e7eef7}.platform-previous-feedback[open]>summary::before{content:'−'}.platform-previous-feedback>summary span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#eef2f6;color:#52627b;font-size:12px}.platform-previous-feedback[open] #platformPreviousFeedbackInbox{margin-top:10px}
#platformSubscriptionHost .subscription-admin-card{margin-top:0}
@media(max-width:760px){.platform-admin-details>summary{align-items:flex-start}.platform-user-row,.platform-feedback-heading{display:grid}.platform-user-row button{width:100%}.platform-feedback-heading small{text-align:left}.platform-feedback-actions{grid-template-columns:1fr}.platform-feedback-buttons{display:grid;grid-template-columns:1fr 1fr}.platform-feedback-actions button{width:100%}}

/* Today command center */
.today-command-center{display:grid;gap:14px;margin:0 0 18px}
.today-briefing-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:24px;border:1px solid #cbdced;border-radius:22px;background:linear-gradient(135deg,#082b55 0%,#0c4278 64%,#12617f 100%);color:#fff;box-shadow:0 18px 44px rgba(8,43,85,.18)}
.today-briefing-card .eyebrow{color:#b9ddff}
.today-briefing-copy h3{margin:4px 0 7px;font-size:clamp(22px,3vw,30px);letter-spacing:-.03em}
.today-briefing-copy>p:last-child{max-width:700px;color:#dcecff;font-size:14px}
.today-readiness{display:grid;place-items:center;align-content:center;min-width:122px;min-height:104px;padding:14px;border:1px solid rgba(255,255,255,.24);border-radius:18px;background:rgba(255,255,255,.1);text-align:center}
.today-readiness strong{font-size:34px;line-height:1}.today-readiness span{margin-top:7px;color:#dcecff;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.today-status-row{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.today-status,.today-sync-status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.today-status::before,.today-sync-status::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.today-status[data-tone="good"]{background:#d7f7e7;color:#12613f}.today-status[data-tone="warning"]{background:#fff0bd;color:#775300}.today-status[data-tone="critical"]{background:#ffe0e3;color:#9d1323}
.today-sync-status{background:rgba(255,255,255,.12);color:#e9f4ff}.today-sync-status[data-offline="true"]{background:#fff0bd;color:#775300}
.today-quick-actions{grid-column:1/-1;display:flex;gap:9px;flex-wrap:wrap}
.today-quick-actions button{display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.28);background:#fff;color:#082b55;box-shadow:none}
.today-quick-actions button.ghost{background:rgba(255,255,255,.1);color:#fff}
.today-exceptions-card{padding:20px;border-radius:20px}
.today-exceptions-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.today-exceptions-heading h3{margin:3px 0 4px;font-size:21px}
.today-exception-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}
.today-exception-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;min-height:82px;padding:12px;border:1px solid #e0e7ef;border-radius:15px;background:#fff;color:var(--ink);text-align:left;overflow:hidden}
.today-exception-item:hover,.today-exception-item:focus-visible{border-color:#82a9d0;background:#f8fbff;transform:translateY(-1px);outline:3px solid rgba(28,106,174,.16);outline-offset:1px}
.today-exception-count{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e7f5ed;color:#197146;font-size:20px;font-weight:900}.today-exception-item[data-tone="critical"] .today-exception-count{background:#ffe0e3;color:#a31527}.today-exception-item[data-tone="warning"] .today-exception-count{background:#fff1c8;color:#765300}
.today-exception-body b{display:block;margin-top:3px;font-size:14px;line-height:1.3}.today-exception-body small{display:block;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.today-exception-open{color:#17558d;font-size:12px;font-weight:850;white-space:nowrap}
.today-exception-empty{display:grid;place-items:center;min-height:116px;padding:22px;border:1px dashed #cbd8e5;border-radius:15px;background:#f8fbfe;text-align:center}.today-exception-empty strong{color:#17633f;font-size:18px}.today-exception-empty p{margin-top:4px;color:var(--muted)}
@media(max-width:700px){.today-briefing-card{grid-template-columns:1fr;padding:19px}.today-readiness{justify-self:start;grid-template-columns:auto auto;gap:8px;min-width:0;min-height:0;padding:10px 13px}.today-readiness strong{font-size:25px}.today-readiness span{margin:0}.today-exceptions-heading{align-items:center}.today-exceptions-heading .hint{display:none}}
@media(max-width:480px){.today-quick-actions{display:grid;grid-template-columns:1fr 1fr}.today-quick-actions button{justify-content:center}.today-exception-list{grid-template-columns:1fr}.today-exception-open{display:none}}

/* Analytics coaching */
.coaching-dashboard-card{padding:20px;border-radius:20px}.coaching-insight-list{display:grid;gap:12px;margin-top:14px}
.coaching-insight{padding:17px;border:1px solid #dce6ef;border-left:5px solid #18805a;border-radius:15px;background:#fff}.coaching-insight[data-outcome="declined"]{border-left-color:#c52b3e}.coaching-insight[data-outcome="pending"]{border-left-color:#e1a013}
.coaching-insight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.coaching-insight-head h4{margin:3px 0 0;color:#102f4d;font-size:18px}.coaching-insight-source{color:#5f7489;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.coaching-insight-summary{margin:11px 0 0;color:#243d55;font-size:15px;font-weight:750;line-height:1.45}.coaching-insight-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:13px 0}.coaching-insight-details div{padding:11px;border-radius:11px;background:#f4f7fa}.coaching-insight-details b{display:block;margin-bottom:4px;color:#536b82;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.coaching-insight-details p{margin:0;font-size:12px;line-height:1.45}
.coaching-action-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid #e4ebf2}.coaching-owner{font-size:12px;color:#5d7185}.coaching-owner b{color:#243f59}.coaching-outcome{padding:5px 9px;border-radius:999px;background:#edf2f6;color:#50667b;font-size:11px;font-weight:850}.coaching-outcome[data-outcome="improved"]{background:#dcf5e7;color:#176440}.coaching-outcome[data-outcome="declined"]{background:#ffe3e5;color:#9f1f30}
.coaching-empty{padding:20px;border:1px dashed #cbd8e5;border-radius:13px;background:#f8fbfe;text-align:center}.coaching-action-dialog label{margin-top:12px}
.review-metric-controls{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:8px 0 12px}.review-metric-controls label{min-width:min(100%,340px);margin:0}.review-metric-controls select{min-height:46px}
.review-metric-table-scroll{border:1px solid #d9e3ec;border-radius:14px}.review-metric-table{width:100%;border-collapse:separate;border-spacing:0}.review-metric-table th,.review-metric-table td{padding:11px 14px;border-right:1px solid #e3eaf1;border-bottom:1px solid #e3eaf1;white-space:nowrap}.review-metric-table th:last-child,.review-metric-table td:last-child{border-right:0}.review-metric-table tbody tr:last-child td{border-bottom:0}.review-metric-table thead th{background:#eaf1f7;color:#294a68;font-size:11px;font-weight:900;letter-spacing:.055em;text-align:left;text-transform:uppercase}.review-metric-table tbody tr:nth-child(even){background:#f7f9fb}.review-metric-table tbody tr:hover{background:#eef6fc}.review-metric-table th:first-child,.review-metric-table td:first-child{position:sticky;left:0;z-index:1;background:#fff;font-weight:850}.review-metric-table thead th:first-child{z-index:2;background:#eaf1f7}.review-metric-table tbody tr:nth-child(even) td:first-child{background:#f7f9fb}.review-metric-table tbody tr:hover td:first-child{background:#eef6fc}.metric-number{text-align:right;font-variant-numeric:tabular-nums}.metric-change{display:inline-flex;justify-content:center;min-width:68px;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:900}.metric-change.positive{background:#daf3e5;color:#176440}.metric-change.negative{background:#ffe0e3;color:#a31527}.metric-change.neutral{background:#edf2f6;color:#607286}.metric-missing-row{background:#fafbfd}.metric-missing{display:inline-flex;padding:5px 9px;border-radius:999px;background:#edf2f6;color:#607286;font-size:12px;font-weight:800}
.review-scorecard-link{display:inline-flex;min-height:40px;align-items:center;padding:0 10px;border-radius:10px;background:#e8f3fb;color:#07588b;font-weight:850;text-decoration:none}.review-comments-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.review-comments-heading h4{margin:0}.review-comment-actions{display:flex;justify-content:center;gap:10px;margin-top:14px}.review-comment-actions button{min-width:132px}
.public-review-card{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-left:5px solid #cbd8e5}.public-review-card[data-review-source="market-force"][data-review-rating-level="low"]{border-left-color:#c62b3d;background:#fff6f7}.public-review-card[data-review-source="market-force"][data-review-rating-level="high"]{border-left-color:#2f9b5f;background:#f3fbf6}.public-review-copy{min-width:0}.public-review-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#102f4d}.public-review-title b{font-size:15px}.public-review-rating{display:inline-flex;padding:4px 8px;border-radius:999px;background:#edf2f6;color:#526b82;font-size:11px;font-weight:900;white-space:nowrap}.public-review-rating[data-rating-level="low"]{background:#ffe0e3;color:#a31527}.public-review-rating[data-rating-level="high"]{background:#dcf5e7;color:#176440}.public-review-source{display:inline-flex;padding:3px 7px;border-radius:999px;background:#edf2f6;color:#536b82;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.public-review-source[data-source="market-force"]{background:#fff0d7;color:#9b5e00}.public-review-source[data-source="smg"]{background:#fff3c4;color:#7c5a00}.public-review-star{color:#d49a16;font-size:20px;line-height:1;text-shadow:0 1px 1px rgba(112,75,0,.18)}
@media(max-width:700px){.review-metric-controls{align-items:stretch;flex-direction:column}.review-metric-controls label{width:100%;max-width:none}.review-metric-table-scroll{overflow:visible;border:0}.review-metric-table,.review-metric-table tbody{display:grid;gap:10px}.review-metric-table thead{display:none}.review-metric-table tr{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #d9e3ec;border-radius:14px;background:#fff!important;box-shadow:0 4px 12px rgba(8,43,85,.05)}.review-metric-table td,.review-metric-table td:first-child{position:static;display:grid;grid-template-columns:minmax(76px,.7fr) minmax(0,1fr);align-items:center;gap:8px;padding:9px 12px;border:0;border-bottom:1px solid #e7edf3;background:transparent!important;text-align:right;white-space:normal}.review-metric-table td::before{content:attr(data-label);color:#60758a;font-size:10px;font-weight:900;letter-spacing:.05em;text-align:left;text-transform:uppercase}.review-metric-table td:first-child,.review-metric-table td:nth-child(2){grid-column:1/-1;text-align:left}.review-metric-table td:first-child{padding-top:13px;color:#0b2f5b;font-size:16px}.review-metric-table td:nth-last-child(-n+2){border-bottom:0}.review-metric-table .metric-missing-cell{grid-column:1/-1;border-bottom:0}.metric-change{justify-self:end}}
@media(max-width:760px){.coaching-insight-details{grid-template-columns:1fr}.coaching-action-row,.coaching-insight-head{align-items:flex-start;flex-direction:column}.coaching-action-row button{width:100%}}

/* Modern daily-operations visual system */
:root{--ops-surface:#fff;--ops-canvas:#f4f7fa;--ops-border:#dce5ee;--ops-blue:#087fb5;--ops-success:#2f9b5f;--ops-success-bg:#e1f6e8;--ops-danger:#c62b3d;--ops-danger-bg:#ffe2e4;--ops-radius:14px;--ops-shadow:0 5px 16px rgba(8,43,85,.06)}
#taskListsView,#tempLogsView{max-width:820px}
#taskListsView>.date,#tempLogsView>.date{align-items:center;margin-bottom:12px}
#taskListsView>.date h2,#tempLogsView>.date h2{letter-spacing:-.035em}
#taskListsView .location-switcher,#tempLogsView .location-switcher{padding:13px 16px;border-radius:var(--ops-radius);box-shadow:none}
#taskListsView .progress{height:6px;margin:8px 0 20px;background:#dce6ee}
#taskListsView .progress i{background:var(--ops-blue)}
#taskList,.temp-list{display:grid;gap:18px}
.ops-minor-group{display:grid;gap:8px;margin:0}
.ops-minor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}
.ops-minor-heading h4,.temp-group .ops-minor-heading h4{margin:0;color:#4b657c;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.ops-minor-heading span{color:#718398;font-size:11px;font-weight:750}
.ops-card-stack{display:grid;gap:8px}.ops-card-stack>.card{margin:0}
#taskListsView .task{min-height:70px;padding:13px 14px;border:1px solid var(--ops-border);border-radius:var(--ops-radius);box-shadow:var(--ops-shadow);background:var(--ops-surface)}
#taskListsView .task input[type=checkbox]{width:22px;height:22px}
#taskListsView .task-name{font-size:15px;font-weight:800;line-height:1.3}
#taskListsView .task.done{border-color:#bce0c9;background:#f4fbf7}
#taskListsView .task.done .task-name{text-decoration:none;color:#37624b}
#taskListsView .task-completed-by{font-size:11px}
#taskListsView .task-area-badge{padding:2px 7px;font-size:10px}
#taskListsView .photo-btn,#taskListsView .snooze-btn,#taskListsView .qr-task-scan-btn{min-height:46px;padding:10px 13px;font-size:13px}
#tempLogsView .temp-card{display:block;padding:18px;border-radius:18px;background:var(--ops-canvas);border-color:var(--ops-border)}
#tempLogsView .temp-card>div:first-child{margin-bottom:8px}
#tempLogsView .temp-list{margin-top:16px}
#tempLogsView .temp-group{display:grid;gap:8px;margin:0}
#tempLogsView .temp-group .temp-entry.temp-pick{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;min-height:64px;margin:0;padding:11px;border:1px solid var(--ops-border);border-radius:var(--ops-radius);background:#fff;color:var(--ink);box-shadow:var(--ops-shadow)}
#tempLogsView .temp-pick:hover,#tempLogsView .temp-pick:focus-visible{border-color:#76add0;background:#f8fcff;outline:3px solid rgba(8,127,181,.13);outline-offset:1px}
.temp-state{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#edf2f6;color:#617489;font-size:17px;font-weight:900}
.temp-pick.is-complete .temp-state{background:var(--ops-success-bg);color:var(--ops-success)}
.temp-pick.has-exception .temp-state{background:var(--ops-danger-bg);color:var(--ops-danger)}
.temp-entry-copy{display:grid;gap:3px;min-width:0}.temp-entry-copy>b{color:#17324d;font-size:14px}.temp-entry-copy>small{overflow:hidden;color:#6d7f91;font-size:11px;line-height:1.35;text-overflow:ellipsis}
.temp-result{padding:5px 8px;border-radius:7px;background:#edf2f6;color:#607286;font-size:10px!important;font-weight:900;letter-spacing:.04em}
.temp-pick.is-complete .temp-result{background:var(--ops-success-bg);color:#19733f}.temp-pick.has-exception .temp-result{background:var(--ops-danger-bg);color:var(--ops-danger)}
.ops-empty-card{box-shadow:none;text-align:center}
@media(max-width:560px){#taskListsView,#tempLogsView{padding-inline:13px}.category-row button{min-width:calc(50% - 4px);font-size:15px}.pill-row button{min-height:44px;padding:9px 12px}#taskListsView .task{grid-template-columns:28px minmax(0,1fr)}#taskListsView .task-actions{grid-column:2;justify-content:flex-start}.temp-entry-copy>small{white-space:normal}.temp-result{align-self:start}}

/* Restaurant-mode interaction standards */
#taskListsView button,#tempLogsView button,#taskListsView select,#tempLogsView select,
#taskListsView input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
#tempLogsView input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]){min-height:46px}
#taskListsView .task input[type="checkbox"]{width:28px;height:28px;min-width:28px}
#taskListsView .finish{position:sticky;bottom:12px;z-index:6;min-height:52px;border:2px solid rgba(255,255,255,.88);box-shadow:0 12px 30px rgba(8,43,85,.24)}
#tempValue{min-height:68px;font-size:36px;font-weight:900;letter-spacing:.025em;text-align:center;font-variant-numeric:tabular-nums}
#tempDialog .modal-actions{position:sticky;bottom:-1px;margin:18px -1px -1px;padding:12px 1px 1px;background:linear-gradient(to bottom,rgba(255,255,255,.75),#fff 30%)}
#tempDialog .modal-actions button,#correctiveActionChoices button{min-height:50px}
.ops-save-status{display:inline-flex;align-items:center;gap:7px;min-height:32px;margin:0 2px 10px;padding:6px 10px;border-radius:999px;background:#e7f5ed;color:#176440;font-size:12px;font-weight:850}
.ops-save-status span{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(23,100,64,.12)}
.ops-save-status[data-state="saving"]{background:#e8f2fb;color:#155f96}.ops-save-status[data-state="saving"] span{animation:ops-save-pulse 1s ease-in-out infinite}
.ops-save-status[data-state="offline"]{background:#fff0bd;color:#765300}.ops-save-status[data-state="error"]{background:#ffe0e3;color:#a31527}
@keyframes ops-save-pulse{50%{opacity:.35;transform:scale(.8)}}
.confirm-action-dialog{width:min(92%,460px);padding:0;border:0;border-radius:20px;box-shadow:0 22px 70px rgba(5,30,56,.3)}
.confirm-action-dialog form{padding:24px}.confirm-action-dialog h3{margin:5px 0 8px;font-size:24px}.confirm-action-dialog p:not(.eyebrow){color:#52677c;line-height:1.55}
.confirm-action-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:13px;border-radius:13px;background:#e7f3fc;color:#086a9f;font-size:24px;font-weight:950}
.confirm-action-dialog.danger-action .confirm-action-icon{background:#ffe0e3;color:#a31527}.confirm-action-dialog .modal-actions button{min-height:48px}
label:has(input[type="file"][capture="environment"]){display:flex;min-height:48px;align-items:center}
@media(max-width:560px){.confirm-action-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:22px 22px 0 0}.confirm-action-dialog form{padding:22px 18px calc(20px + env(safe-area-inset-bottom))}.confirm-action-dialog .modal-actions{display:grid;grid-template-columns:1fr}.confirm-action-dialog .modal-actions button{width:100%}#taskListsView .finish{bottom:calc(10px + env(safe-area-inset-bottom))}}

/* Consistent page hierarchy and contextual guidance */
.page-heading{align-items:flex-start!important;gap:16px;margin-bottom:20px!important}
.page-heading>div:first-child{display:flex;flex:1;flex-direction:column;min-width:0}
.page-heading h2{order:1;margin:0;color:#0b2f5b;font-size:clamp(30px,4vw,42px);letter-spacing:-.035em;line-height:1.08}
.page-heading .page-description{order:2;max-width:760px;margin:7px 0 0;color:#60748a;font-size:14px;font-weight:500;letter-spacing:0;line-height:1.45;text-transform:none}
.page-heading-actions{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;align-items:center;gap:8px}
.control-label{display:flex;align-items:center;gap:6px}
.control-help-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-7px 2px 4px;color:#61758a;font-size:12px;font-weight:750}
.context-help-dot{display:inline-grid;place-items:center;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;border:1px solid #b9cce0;border-radius:50%;background:#f3f8fd;color:#0b5f96;font-size:14px;font-weight:900;line-height:1;box-shadow:none}
.context-help-dot:hover,.context-help-dot:focus-visible{border-color:#0b78b1;background:#e4f3fb;color:#06496f;outline:3px solid rgba(8,127,181,.15);outline-offset:1px}
.page-help-button{width:34px;min-width:34px;height:34px;min-height:34px;font-size:17px}
.global-help-button{position:fixed;right:22px;bottom:22px;z-index:8;display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid #fff;border-radius:50%;background:#087fb5;color:#fff;font-size:23px;font-weight:900;box-shadow:0 12px 30px rgba(8,52,89,.28)}
.help-search-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
.context-help-dialog{width:min(92%,470px)}.context-help-dialog p{margin:12px 0;color:#52677c;line-height:1.55}
.help-palette-dialog{width:min(94%,680px);max-height:min(82vh,720px)}
.help-palette-dialog form{display:flex;flex-direction:column;max-height:min(82vh,720px)}
.help-palette-search{margin:16px 0 10px!important}.help-palette-search input{width:100%;margin-top:6px;padding:14px;border:1px solid #c6d6e5;border-radius:12px;font:inherit}
.help-palette-results{display:grid;gap:8px;overflow:auto;padding:2px}
.help-palette-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px;border:1px solid #dce6ef;border-radius:13px;background:#fff}
.help-palette-result b{color:#0b2f5b}.help-palette-result p,.help-palette-empty p{margin-top:3px;color:#65788b;font-size:12px}.help-palette-result .row-actions{flex-wrap:nowrap}
.help-palette-empty{padding:24px;border:1px dashed #cbd8e5;border-radius:13px;background:#f7fafc;text-align:center}
.onboarding-dialog{width:min(92%,520px)}.onboarding-dialog form{padding:27px}.onboarding-dialog h3{margin:6px 0 9px;color:#0b2f5b;font-size:28px}.onboarding-dialog>form>p:not(.eyebrow){color:#5f7286;font-size:15px;line-height:1.6}
.onboarding-progress{display:flex;gap:6px;margin:20px 0}.onboarding-progress i{width:28px;height:5px;border-radius:999px;background:#d9e4ed}.onboarding-progress i.active{background:#087fb5}
.corrective-guidance{margin:14px 0;padding:14px;border-left:4px solid #d3293e;border-radius:10px;background:#fff3f3;color:#4d2830}.corrective-guidance ol{margin:8px 0 10px;padding-left:20px}.corrective-guidance li{margin:5px 0}
.text-help-link{display:inline;padding:0;background:transparent;color:#075f96;font-size:13px;font-weight:850;text-decoration:underline;text-underline-offset:3px}
.ops-empty-card b{display:block;margin-bottom:4px;color:#28465f}.ops-empty-card .text-help-link{margin-top:9px}
@media(max-width:839px){.global-help-button{right:16px;bottom:84px}}
@media(max-width:560px){.page-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto}.page-heading h2{font-size:29px}.page-heading .page-description{font-size:13px}.page-heading-actions>.status{display:none}.help-palette-result{grid-template-columns:1fr}.help-palette-result .row-actions{justify-content:flex-start}.help-palette-result .row-actions button{flex:1}.global-help-button{width:44px;height:44px}}
