.admin-tabs,.export-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.export-actions {
  margin-bottom:0
}
.admin-tabs {
  border-bottom:1px solid var(--line)
}

dialog.wide-modal,dialog.setup-wizard {
  max-height:92dvh
}
dialog.wide-modal form {
  grid-template-columns:1fr 1fr;
  gap:0 24px
}

.check-detail-editor {
  border-top:1px solid var(--line)
}
.point-editor-row {
  display:grid;
  align-items:end
}
.point-editor-row label,.point-result-row label {
  display:grid;
  font-size:13px
}
.point-result-row {
  padding:16px;
  border:1px solid var(--line);
  border-radius:8px;
  display:grid;
  gap:12px;
  margin:12px 0
}
.point-results-form~fieldset {
  display:none
}
.entry-points {
  grid-column:1/-1
}

.business-logo {
  display:block;
  max-width:180px;
  max-height:90px;
  object-fit:contain;
  margin:16px 0
}
.lifecycle-site {
  border-bottom:1px solid var(--line)
}
.setup-wizard {
  box-sizing:border-box;
  border:0;
  border-radius:16px;
  color:var(--ink);
  background:#fff;
  font-family:inherit
}
.setup-wizard::backdrop {
  background:#1b1b1980;
  backdrop-filter:blur(3px)
}

.setup-wizard .modal-top {
  display:flex;
  align-items:center;
  justify-content:space-between
}

.setup-wizard input:not([type=checkbox]),.setup-wizard select,.setup-wizard textarea {
  background:white;
  color:var(--ink)
}

.setup-wizard select[multiple] {
  min-height:105px
}
.setup-wizard .wizard-checkbox {
  display:flex;
  align-items:center;
  gap:10px
}
.setup-wizard .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:6px;
  background:#edeede;
  padding:12px 18px;
  font:inherit;
  cursor:pointer;
  color:var(--ink)
}
.setup-wizard .button.primary {
  background:var(--accent)
}
.setup-wizard .button:disabled {
  opacity:.5;
  cursor:default
}
.setup-wizard .notice {
  background:#f2f5e9;
  border-radius:8px;
  line-height:1.6
}
.setup-wizard .form-error {
  color:#983a26
}
.wizard-steps {
  display:flex;
  padding:0;
  list-style:none;
  flex-wrap:wrap
}
.wizard-steps li {
  background:#f4f4ec;
  border-radius:8px
}
.wizard-steps .current {
  background:var(--forest);
  color:white
}
.wizard-template,.wizard-point-list,.wizard-staff-row {
  border-bottom:1px solid var(--line)
}
.wizard-template-fields {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)
}
.wizard-staff-row {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.wizard-actions {
  display:flex;
  justify-content:space-between;
  gap:16px
}
.setup-wizard [hidden] {
  display:none!important
}
@media(max-width:700px) {
  dialog.wide-modal form,.point-editor-row,.wizard-template-fields,.wizard-staff-row {
    display:block
  }
  .point-editor-row>* {
    margin-bottom:10px
  }
  .setup-wizard {
    padding:20px
  }

  .wizard-template-fields label,.wizard-staff-row label {
    margin-top:16px
  }
  .toolbar:has(#log-search) {
    flex-wrap:wrap
  }
  .toolbar:has(#log-search) input,.toolbar:has(#log-search) select {
    width:100%;
    max-width:none
  }
}
@media print {
  .recent-table {
    table-layout:fixed!important;
    width:100%!important;
    min-width:0!important
  }
  .recent-table th,.recent-table td {
    overflow-wrap:anywhere!important;
    word-break:normal;
    padding:7px 5px!important;
    min-width:0!important;
    max-width:none!important
  }
  .recent-table .badge {
    white-space:normal!important;
    display:block!important;
    padding:0!important;
    border:0!important;
    font-size:9px!important
  }
  .recent-table .badge svg {
    display:none!important
  }

  .recent-table tr {
    break-inside:auto
  }
  .business-logo {
    max-width:140px;
    max-height:65px
  }
  .admin-tabs,.export-actions {
    display:none!important
  }
}
.wide-modal .check-basics {
  grid-column:1/-1
}
.wide-modal .check-basics>.field,.wide-modal .check-basics .field {
  margin-top:10px
}

@media(max-width:700px) {
  .wide-modal .check-basics,.wide-modal .point-result-row {
    display:block
  }
  .wide-modal .point-result-row>* {
    margin-bottom:12px
  }
}
/* Keep related Admin sections visually distinct on desktop and mobile. */
.form-panel + .form-panel {
  margin-top:24px
}
#logo-form>.button {
  margin-right:8px
}

/* Shared workspace controls and compact form layouts. */

html:has(dialog[open]) { overflow:hidden; scrollbar-gutter:stable; }
body:has(dialog[open]) { overflow:hidden; }
dialog { width:min(780px,calc(100% - 32px)); max-height:92dvh; overflow:auto; overscroll-behavior:contain; padding:24px; border:0; border-radius:var(--dialog-radius); color:var(--ink); background:var(--surface); font-family:var(--font); box-shadow:0 16px 60px #0003; }
dialog::backdrop { background:#1b1b1970; backdrop-filter:blur(3px); }
dialog { overflow-wrap:anywhere; }
dialog.wide-modal,dialog.setup-wizard { width:min(1120px,calc(100% - 32px)); }
dialog.compact-modal,dialog.confirmation-dialog { width:min(520px,calc(100% - 32px)); }
dialog.confirmation-dialog { border:0; border-radius:12px; color:var(--ink); background:white; font-family:inherit; box-shadow:0 16px 60px #0003; }
.confirmation-dialog::backdrop { background:#1b1b1970; }
.confirmation-dialog h2 { margin:0 0 12px; font-size:24px; }
.confirmation-dialog p { line-height:1.6; }
.confirmation-dialog .modal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.ui-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:9px 14px; border:1px solid var(--secondary-hover); border-radius:6px; background:var(--secondary); color:var(--ink); font-family:inherit; font-size:13px; font-weight:500; line-height:1.35; cursor:pointer; }
.ui-button:hover { background:var(--secondary-hover); }
.ui-button.primary,.setup-wizard .ui-button.primary { background:var(--accent); border-color:transparent; color:var(--ink); }
.ui-button.primary:hover { background:var(--accent-hover); }
.ui-button svg,.multi-select-trigger svg { width:18px; height:18px; flex-shrink:0; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

.ui-button:focus-visible,.multi-select-trigger:focus-visible,.multi-search:focus-visible { outline:3px solid #4a6508; outline-offset:3px; }
.topbar-right { gap:10px; }
.topbar { gap:16px; }
.topbar #help-button { display:inline-flex; }

.admin-tabs { gap:8px; margin-bottom:20px; padding-bottom:14px; }
.admin-tabs .button,.check-filters .button { background:#f4f4ec; color:var(--forest); border-color:var(--line); }
.admin-tabs .button[aria-pressed=true],.check-filters .button[aria-pressed=true] { background:var(--forest); color:white; border-color:var(--forest); }
input[type=checkbox],input[type=radio] { accent-color:var(--accent); }
.field input[type=checkbox],.setup-wizard input[type=checkbox],.multi-option input[type=checkbox] { width:18px; height:18px; min-height:18px; flex:0 0 18px; padding:0; margin:0; align-self:center; }
.field .checkbox-label { display:flex; align-items:center; gap:9px; min-height:44px; }
.field,.setup-wizard .field { display:grid; margin:10px 0; align-self:start; gap:6px; min-width:0; }
.field label,.field legend,.field-label,.multi-field-label,.setup-wizard label { font-size:13px; line-height:1.4; }
.field label .subtitle { font-size:inherit; line-height:inherit; }
.field label:has(>input:not([type=checkbox]):not([type=radio])),.field label:has(>select),.field label:has(>textarea) { display:grid; gap:6px; }
.field input:not([type=checkbox]):not([type=radio]),.field select,.point-editor-row input,.point-editor-row select,.point-result-row select,.setup-wizard input:not([type=checkbox]),.setup-wizard select,.contact-field input,.contact-field select {
  box-sizing:border-box; width:100%; height:44px; min-height:44px; padding:10px 12px; border:1px solid var(--control-line); border-radius:6px; background:white; color:var(--ink); font:inherit; font-size:14px; align-self:start;
}
.field textarea,.point-result-row textarea,.setup-wizard textarea { box-sizing:border-box; width:100%; min-height:70px; padding:10px 12px; border:1px solid var(--control-line); border-radius:6px; font:inherit; font-size:14px; align-self:start; resize:vertical; }
.field small { line-height:1.5; }
.form-row { gap:16px; align-items:start; }
.form-panel { padding:22px; }

.modal-top button { margin:0; }
.modal-top .icon-button { width:32px; height:32px; min-height:32px; padding:6px; }
.modal-desc { margin-bottom:10px; }

.form-error:empty { display:none; }
dialog.wide-modal form { display:block; }
dialog.wide-modal #check-form,dialog.wide-modal #edit-check-form,dialog.wide-modal #entry-form,dialog.wide-modal #staff-profile-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; align-items:start; }
dialog.wide-modal:has(#staff-profile-form) { width:min(940px,calc(100% - 32px)); }
dialog.wide-modal #staff-profile-form>.site-selection { grid-column:auto; }
dialog.wide-modal form>.form-row,dialog.wide-modal form>.modal-desc,dialog.wide-modal form>.notice,dialog.wide-modal form>.form-error,dialog.wide-modal form>.modal-actions,dialog.wide-modal form>.check-detail-editor,dialog.wide-modal form>.responsibility-field,dialog.wide-modal form>.check-appearance,dialog.wide-modal form>.check-basics,dialog.wide-modal form>.site-selection { grid-column:1/-1; }
.wide-modal .check-basics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.check-name-field [data-custom-check-name] { display:grid; gap:6px; margin-top:4px; }
[hidden],.check-name-field [hidden] { display:none!important; }
.check-appearance { display:grid; grid-template-columns:repeat(2,minmax(0,300px)); gap:16px; }

.check-detail-editor { margin:10px 0; padding-top:14px; }
dialog.wide-modal form>.check-detail-editor,dialog.wide-modal form>.check-controls { grid-column:1/-1; }
.check-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr); gap:16px; min-width:0; margin:10px 0; padding:0; border:0; align-items:start; }
.check-controls>.field:first-child { margin-top:0; }
.check-controls>.field { margin-bottom:8px; }
.check-controls #change-reason { height:44px; min-height:44px; }
.check-appearance .field { margin-block:6px; }
.check-controls .responsibility-field { margin-top:0; }
.check-detail-editor h3,.point-results-form h3 { margin:0 0 6px; font-size:16px; }
.point-editor-row { grid-template-columns:100px minmax(0,1fr) auto; gap:8px; margin:10px 0; }
.point-editor-row label,.point-result-row label { gap:5px; }
.reminder-lead-field { margin-top:16px; }
.reminder-lead-field>label { width:max-content; max-width:100%; }
.responsibility-field select { width:max-content; min-width:240px; max-width:100%; }
.responsibility-field small { max-width:80ch; }
.wide-modal .point-results-form { grid-column:1/-1; margin:10px 0; }
.point-results-form>p { margin:6px 0 10px; font-size:13px; line-height:1.5; }
.wide-modal .point-result-row { display:grid; grid-template-columns:minmax(160px,1fr) 180px minmax(220px,1.6fr); align-items:center; }
.wide-modal .point-result-row>label:last-child { grid-column:auto; }
.point-results-head { display:grid; grid-template-columns:minmax(160px,1fr) 180px minmax(220px,1.6fr); font-size:12px; color:var(--muted); }
.point-field-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.point-result-row strong { font-size:13px; overflow-wrap:anywhere; }
.wide-modal .point-result-row textarea { min-height:44px; height:44px; }
.wide-modal .point-results-form~.field { grid-column:1/-1; }
dialog.wide-modal #entry-form>.responsibility-field { grid-column:auto; }
dialog.wide-modal #entry-form>.field:has(#notes),dialog.wide-modal #entry-form>.form-row { grid-column:auto; }
.wide-modal #entry-form .form-row .field { margin-top:10px; }
.point-results-form .notice { padding:10px 12px; }
.setup-wizard { padding:24px; }
.setup-wizard h1 { font-size:28px; margin:8px 0 16px; }
.setup-wizard h2 { font-size:22px; margin:18px 0 12px; }
.setup-wizard p { font-size:14px; line-height:1.5; }
.setup-wizard label,.multi-field-label { display:grid; gap:6px; align-content:start; }
.wizard-template,.wizard-point-list,.wizard-staff-row { padding:14px 0; }
.wizard-template-fields { gap:16px; margin-top:12px; align-items:start; }
.wizard-staff-row { align-items:start; gap:14px 20px; }
.wizard-staff-row>.button { justify-self:start; }
.wizard-steps { gap:8px; }
.wizard-steps li { padding:10px 14px; }
.wizard-actions { margin-top:18px; }
.setup-wizard .notice { padding:12px 16px; margin:14px 0; }
#wizard-count { width:120px; }
#wizard-sites,#wizard-recorders { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
/* The original select still participates in FormData, disabled fields and validation. */
.multi-select { position:relative; min-width:0; }
select.multi-native { position:absolute!important; width:1px!important; height:1px!important; min-height:0!important; padding:0!important; overflow:hidden; clip-path:inset(50%); }
.multi-select-trigger { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--control-line); border-radius:6px; background:white; color:var(--ink); font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.multi-select-trigger[aria-invalid=true] { border-color:#ad382d; }
.multi-select-trigger:disabled { opacity:.55; cursor:default; }
.site-selection .multi-select { max-width:560px; }
.multi-select-popup { box-sizing:border-box; position:fixed; margin:0; padding:12px; border:1px solid var(--control-line); border-radius:8px; background:white; color:var(--ink); box-shadow:0 8px 26px #1b1b1933; font-family:inherit; font-size:14px; overflow:hidden; }
.multi-select-popup:popover-open { display:flex; flex-direction:column; gap:10px; }
.multi-select-tools { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }
.multi-select-tools .button { padding:7px 10px; min-height:34px; }
.multi-search-label { display:grid; gap:5px; font-size:12px; flex-shrink:0; }
.multi-select-popup .multi-search { width:100%; box-sizing:border-box; height:38px; min-height:38px; padding:8px 10px; border:1px solid var(--control-line); border-radius:5px; font:inherit; }
.multi-select-options { overflow-y:auto; overscroll-behavior:contain; min-height:36px; flex:1; }
.multi-select-popup .multi-option { display:flex; align-items:center; gap:10px; padding:8px 6px; min-height:38px; margin:0; font-size:14px; cursor:pointer; }
.multi-option:hover { background:#f4f5ef; }
.multi-option span { overflow-wrap:anywhere; }
.multi-select-popup>[data-select-done] { align-self:flex-end; flex-shrink:0; }
.multi-empty { margin:0; font-size:13px; }
.multi-validation { margin:6px 0 0; color:#ad382d; font-size:13px; }
@media(max-width:1000px) {
  .topbar { padding-inline:20px; }
  .breadcrumb-prefix { display:none; }
}
@media(max-width:700px) {
  dialog,dialog.setup-wizard { padding:18px; width:calc(100% - 20px); max-height:94dvh; }
  .topbar { height:auto; min-height:68px; flex-wrap:wrap; padding:12px 16px; gap:10px; }
  .topbar-right { flex-wrap:wrap; gap:8px; }
  .topbar .ui-button { min-height:40px; }
  dialog.wide-modal #check-form,dialog.wide-modal #edit-check-form,dialog.wide-modal #entry-form,dialog.wide-modal #staff-profile-form,.wide-modal .check-basics,.check-appearance,#wizard-sites,#wizard-recorders { display:block; }
  .check-appearance .field { margin-bottom:16px; }
  .point-editor-row { display:grid; grid-template-columns:1fr auto; }
  .point-editor-row>label:first-child { grid-column:1/-1; }
  .point-editor-row>* { margin:0; }
  .wide-modal .point-result-row { grid-template-columns:1fr; padding:12px; }
  .wide-modal .point-result-row>* { display:grid; margin:0; }
  .point-results-head { display:none; }
  .point-field-label { position:static; width:auto; height:auto; clip-path:none; }
  .wide-modal .point-result-row textarea { height:64px; }
  .wizard-template-fields .multi-field-label { margin-top:16px; }
  .setup-wizard .wizard-template-fields { display:block; }
  .wizard-steps { font-size:12px; gap:6px; }
  .wizard-steps li { padding:8px; }
  .modal-actions,.wizard-actions { flex-wrap:wrap; }
  .ui-button { white-space:normal; }
}
/* Component contracts shared across every page. See STYLE_GUIDE.md. */
:is(.button,.public-button,.contact-send,.text-button).ui-button {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  min-height:var(--button-height); padding:9px 14px; border:1px solid var(--secondary-hover);
  border-radius:var(--control-radius); background:var(--secondary); color:var(--ink);
  font-family:var(--font); font-size:13px; line-height:20px; font-weight:550; text-decoration:none;
  box-shadow:0 2px 8px #323e3c12; white-space:normal;
}
:is(.button,.public-button,.contact-send,.text-button).ui-button:hover { background:var(--secondary-hover); color:var(--ink); text-decoration:none; }
:is(.button,.public-button,.contact-send,.text-button).ui-button.primary { background:var(--accent); border-color:transparent; color:var(--ink); }
:is(.button,.public-button,.contact-send,.text-button).ui-button.primary:hover { background:var(--accent-hover); }
.ui-button svg { width:var(--icon-size); height:var(--icon-size); }
:is(.button,.public-button,.contact-send,.text-button).ui-button:focus-visible { outline:var(--focus-ring); outline-offset:3px; }
.ui-button .button-label { min-width:0; }
.ui-button:disabled { cursor:default; opacity:.55; }
.button.info-button.ui-button { width:24px; height:24px; min-height:24px; padding:3px; flex:0 0 24px; border:0; background:transparent; color:var(--muted); box-shadow:none; }
.button.info-button.ui-button:hover { color:var(--ink); background:var(--canvas); }
.info-button .button-label:empty { display:none; }
.info-button svg { width:15px; height:15px; }
.field-label-row { display:flex; align-items:center; gap:8px; min-height:32px; }
.field-label-row label { margin:0; font-size:13px; line-height:20px; font-weight:600; }
.field>label:not(:has(input,select,textarea)) { display:flex; align-items:center; gap:4px; min-height:32px; }
.field .result-option { display:flex; align-items:center; gap:8px; padding:12px; min-height:44px; }
.field .field-label-row~input,.field .field-label-row~select { align-self:start; }
.section-heading>.info-button { margin-left:0; }
.help-popover { position:fixed; box-sizing:border-box; margin:0; padding:16px; border:1px solid var(--control-line); border-radius:8px; background:var(--surface); color:var(--ink); box-shadow:0 8px 26px #1b1b1933; overflow:auto; font:14px/1.5 var(--font); }
.help-popover h3 { margin:0 0 8px; font-size:15px; }
.help-popover p { margin:0 0 12px; color:var(--muted); }
.help-popover .button { float:right; }
.modal-top { display:flex; justify-content:space-between; gap:16px; align-items:center; margin-bottom:12px; }
.modal-top .eyebrow { margin:0; }
.modal-top .modal-close { flex-shrink:0; margin:0; width:auto; }
.modal-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:16px; padding-top:0; }
.modal-actions .ui-button { min-height:40px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.field,.contact-field { min-width:0; }
/* Native date controls and long select options must fit their grid track,
   including iOS Safari's intrinsic date width. Keep the native date picker. */
input,select,textarea { box-sizing:border-box; min-width:0; max-width:100%; }
form :is(label,fieldset),.wizard-template-fields>* { min-width:0; }
input[type=date],input[type=time],input[type=datetime-local] {
  -webkit-appearance:none; appearance:none; text-align:left;
}
input::-webkit-date-and-time-value { min-height:1lh; text-align:left; }
input::-webkit-datetime-edit { padding:0; }
:is(.field,.setup-wizard,.contact-field,.account-card) select:not([multiple]) {
  -webkit-appearance:none; appearance:none;
  padding-block:0; padding-right:36px; overflow:hidden; text-overflow:ellipsis;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231b1b19' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center;
}
.field-label-row:has(+select),.field>label { align-self:end; }
.field input:not([type=checkbox]):not([type=radio]),.field select,.contact-field input,.contact-field select,.account-card input:not([type=checkbox]),.account-card select {
  height:var(--control-height); min-height:var(--control-height); padding:10px 12px; font:14px/22px var(--font); border:1px solid var(--control-line); border-radius:var(--control-radius); color:var(--ink); background:var(--surface);
}
.contact-field textarea,.field textarea { font:14px/1.5 var(--font); border-color:var(--control-line); border-radius:var(--control-radius); }
input[type=file] { padding:0!important; line-height:42px!important; overflow:hidden; }
input::file-selector-button { height:42px; padding:0 12px; margin:0 12px 0 0; border:0; border-right:1px solid var(--control-line); border-radius:5px 0 0 5px; background:var(--secondary); color:var(--ink); font:13px var(--font); }
#logo-form>.field { width:calc((100% - 16px)/2); }
.wide-modal .point-result-row { border:0; border-radius:0; padding:0; margin:8px 0; gap:12px; }
.point-results-head { padding:0; gap:12px; }
.point-results-form .section-heading { justify-content:flex-start; margin-bottom:12px; }
.point-results-form .section-heading h3 { margin:0; }
.data-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
.data-table-wrap:focus-visible { outline:var(--focus-ring); outline-offset:3px; }
.data-table { width:100%; border-collapse:collapse; font-size:13px; text-align:left; }
.data-table th,.data-table td { padding:10px 12px; vertical-align:top; line-height:1.5; border:0; overflow-wrap:anywhere; }
.data-table thead th { background:var(--canvas); color:var(--muted); font-size:12px; font-weight:600; }
.data-table tbody th { font-weight:600; }
.data-table tbody tr:nth-child(even) { background:#f8f9f5; }
.data-table small { display:block; margin-top:4px; color:var(--muted); line-height:1.5; }
.points-table { table-layout:fixed; }
.points-table th:nth-child(1) { width:12%; }
.points-table th:nth-child(2) { width:23%; }
.points-table th:nth-child(3) { width:21%; }
.points-table th:nth-child(4) { width:44%; }
.site-table { table-layout:fixed; min-width:760px; }
.site-table th:first-child { width:24%; }
.site-table th:nth-child(4) { width:95px; }
.site-table th:nth-child(5) { width:72px; text-align:center; }
.site-table td:nth-child(5) { text-align:center; }
.site-table th:last-child { width:172px; }
.site-table .table-actions { justify-content:flex-end; }
.site-default-mark { display:inline-flex; color:var(--ink); }
.site-default-mark svg { width:18px; height:18px; }
.renewal-panel { margin-top:20px; }
.renewal-table { min-width:540px; }
.renewal-table th:first-child { width:65px; }
.renewal-table input { width:18px; height:18px; }
.renewal-total { text-align:right; font-size:18px; }
.recent-table .entry-summary { cursor:default; }
.recent-table .entry-summary:hover { background:inherit; }
.recent-table .entry-summary:nth-child(even) { background:#fafbf7; }
.recent-table .record-info-cell { width:56px; text-align:right; }
.recent-table .record-info-cell .button { margin:0; }
.record-metadata { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 20px; margin:0; }
.record-metadata div { min-width:0; }
.record-metadata dt { font-size:12px; color:var(--muted); margin-bottom:4px; }
.record-metadata dd { margin:0; font-size:14px; overflow-wrap:anywhere; }
.record-detail-content { min-width:0; display:grid; gap:20px; }
.record-detail-content section { min-width:0; }
.record-detail-content h3 { font-size:16px; margin:0 0 10px; }
.record-detail-content p { margin:0; line-height:1.6; }
.record-detail-content .entry-points { grid-column:auto; }
.record-detail-content .document-links { margin:0; padding:0; }
.record-detail-content .document-links:has(strong:only-child) { font-size:13px; color:var(--muted); }
dialog.record-modal { width:min(1040px,calc(100% - 32px)); }
dialog.followup-modal { width:min(1200px,calc(100% - 32px)); }
.record-modal h2,.followup-modal h2 { margin-bottom:20px; }
.followup-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.85fr); gap:28px; align-items:start; }
.followup-layout .record-metadata { grid-template-columns:repeat(2,minmax(0,1fr)); }
.followup-layout form { background:var(--canvas); padding:20px; border-radius:var(--card-radius); }
.followup-layout form>h3 { margin:0 0 8px; font-size:18px; }
.followup-layout .form-row { gap:12px; }
.followup-layout .points-table { font-size:12px; }
.followup-layout .points-table th,.followup-layout .points-table td { padding:8px; }
.resolution-summary { background:var(--success-soft); border-radius:8px; padding:16px; }
.overview-summary { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr); gap:24px; align-items:start; }
.overview-summary.staff-overview { grid-template-columns:minmax(0,1fr); }
.overview-status { min-width:0; }
.site-alerts { padding:20px; }
.site-alerts .section-heading { justify-content:flex-start; margin-bottom:12px; }
.site-alerts h2 { font-size:18px; }
.site-alert-list { list-style:none; padding:0; margin:0; display:grid; gap:16px; }
.site-alert-list li { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.site-alert-list strong { flex:1; overflow-wrap:anywhere; }
.site-alert-actions { flex-basis:100%; display:flex; flex-wrap:wrap; gap:8px; }
.empty-state { color:var(--muted); margin:0; line-height:1.6; font-size:13px; }
.admin-tabs .ui-button,.check-filters .ui-button { background:var(--canvas); border-color:var(--line); }
.admin-tabs .ui-button:hover,.check-filters .ui-button:hover { background:var(--secondary-hover); border-color:var(--secondary-hover); }
.admin-tabs .ui-button[aria-pressed=true],.check-filters .ui-button[aria-pressed=true],.admin-tabs .ui-button[aria-pressed=true]:hover,.check-filters .ui-button[aria-pressed=true]:hover { background:var(--forest); border-color:var(--forest); color:white; }
.billing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; max-width:none; }
.billing-grid>.panel.form-panel { margin:0; }
.lifecycle-site { display:grid; grid-template-columns:minmax(180px,1fr) minmax(180px,1.5fr) auto; align-items:end; gap:16px; padding:12px 0; border:0; }
.lifecycle-site h3 { align-self:center; }
.lifecycle-site h3 { margin:0; font-size:15px; }
.lifecycle-site .field { margin:0; }
.lifecycle-site .form-error { grid-column:1/-1; }
.lifecycle-site>.button { grid-column:3; }
#admin-closure-form { max-width:600px; }
.form-panel+.form-panel { margin-top:20px; }
.admin section { border:0; box-shadow:var(--card-shadow); }
.admin article { border:0; padding:12px 0; }

.account-card label,.contact-field label { font-size:13px; line-height:20px; font-weight:600; }
.account-footer .legal-links { display:inline-block; margin-left:8px; }
.account-card .password-wrap input { padding-right:96px; }
.password-wrap .button.ui-button { top:6px; right:6px; bottom:6px; min-height:32px; padding:4px 8px; font-size:12px; box-shadow:none; }
.admin form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.admin form>label { flex:1; min-width:min(260px,100%); display:grid; gap:6px; font-size:13px; font-weight:600; }
.admin input { width:100%; min-width:0; height:var(--control-height); margin:0; padding:10px 12px; border:1px solid var(--control-line); border-radius:var(--control-radius); color:var(--ink); background:var(--surface); }
.admin form>.button { margin:0; }
.admin #search>label { flex-basis:100%; }
.admin #search>input { flex:1; }
.public-header .header-actions { flex-wrap:wrap; }
.legal-page table { overflow-wrap:anywhere; }
.style-guide { padding-block:40px; }
.style-guide>section { margin-top:32px; }
.style-guide h1 { font-size:36px; letter-spacing:-1px; }
.style-guide h2 { font-size:24px; }
.guide-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; }
.guide-card { padding:24px; background:var(--canvas); border-radius:10px; }
.guide-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.guide-swatch { width:100%; height:60px; border:1px solid var(--line); border-radius:6px; margin-bottom:12px; }
.swatch-primary { background:var(--accent); }
.swatch-secondary { background:var(--secondary); }
.swatch-forest { background:var(--forest); }
@media(max-width:1100px) { .overview-summary { grid-template-columns:1fr; } }
@media(max-width:800px) {
  .followup-layout,.billing-grid { grid-template-columns:1fr; }
  .lifecycle-site { grid-template-columns:1fr; gap:8px; }
  .lifecycle-site>.button { grid-column:auto; justify-self:start; }
}
@media(max-width:700px) {
  .modal-top .modal-close { min-height:40px; }
  .field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea,.contact-field input,.contact-field select,.contact-field textarea,.account-card input:not([type=checkbox]),.account-card select,.setup-wizard input:not([type=checkbox]),.setup-wizard select,.setup-wizard textarea,.multi-search { font-size:16px; }
  #logo-form>.field { width:100%; }
  .record-metadata { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .record-metadata dd { font-size:13px; }
  .points-table { min-width:480px; }
  .toolbar:has(#log-search) { display:grid; grid-template-columns:1fr; }
  .toolbar:has(#log-search)>input,.toolbar:has(#log-search)>select { min-width:0; width:100%; }
  .wide-modal .point-result-row { gap:6px; margin:16px 0; }
  .modal-actions .ui-button { flex:0 1 auto; }
  .public-header { height:auto; min-height:80px; flex-wrap:wrap; padding-block:16px; gap:16px; }
  .public-header nav { gap:16px; flex-wrap:wrap; }
  .record-info-cell { grid-column:2; justify-self:end; }
  .recent-table .entry-summary td:nth-child(2) { padding-left:0; }
  .overview-summary { gap:20px; }
}
@container(max-width:640px) {
  .recent-table .entry-summary td:nth-child(2) { padding-left:0; }
  .recent-table .record-info-cell { grid-column:2; justify-self:end; }
}
@media print {
  .no-print,#site-access-status,.info-button { display:none!important; }
  .recent-table th:nth-child(7) { width:16%; }
  .recent-table th:nth-child(8),.recent-table th:nth-child(9) { width:17%; }
}

/* Compact table actions, site preferences and audit views. */
table :is(.button,.text-button,.public-button).ui-button:not(.info-button) { min-height:28px; padding:3px 7px; font-size:12px; line-height:20px; gap:5px; box-shadow:none; }
table .ui-button svg { width:15px; height:15px; }
.table-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.badge { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:4px; background:var(--success-soft); color:var(--success); font-size:12px; white-space:nowrap; }
.badge.retired { color:var(--warning); background:var(--warning-soft); }
.lifecycle-site h3 .badge { margin-left:6px; font-weight:500; }
.current-site-badge { background:var(--accent); color:var(--ink); }
.site-table .current-site-row,.site-table .current-site-row:nth-child(even) { background:var(--accent-soft); }
.site-table .current-site-row>th { box-shadow:inset 4px 0 var(--accent); }
.appearance-field { padding:0; border:0; min-width:0; }
.appearance-field legend { min-height:28px; font-weight:600; }
.appearance-select { position:relative; min-width:0; }
.appearance-select summary { display:flex; align-items:center; gap:10px; height:44px; padding:10px 12px; border:1px solid var(--control-line); border-radius:var(--control-radius); background:var(--surface); font-size:14px; list-style:none; cursor:pointer; }
.appearance-select summary::-webkit-details-marker { display:none; }
.appearance-select summary>svg:last-child { margin-left:auto; width:16px; }
.appearance-select svg { width:20px; height:20px; flex-shrink:0; }
.appearance-select summary:focus-visible { outline:var(--focus-ring); outline-offset:3px; }
.colour-swatch { display:inline-block; width:20px; height:20px; background:var(--icon-bg); border:1px solid #1b1b1940; border-radius:4px; flex-shrink:0; }
.appearance-options { position:absolute; top:calc(100% + 4px); left:0; z-index:5; width:100%; max-height:280px; overflow-y:auto; padding:6px; border:1px solid var(--control-line); border-radius:var(--control-radius); background:var(--surface); box-shadow:var(--card-shadow); }
.appearance-options label { display:flex; align-items:center; gap:10px; padding:8px; border-radius:4px; cursor:pointer; }
.appearance-options label:hover,.appearance-options label:has(:checked) { background:var(--accent-soft); }
.appearance-options input[type=radio] { margin:0; padding:0; width:16px; height:16px; min-height:16px; flex-shrink:0; accent-color:var(--accent-text); }
.check-controls>.field { margin:0; width:auto; }
.check-controls .field-label-row,.check-controls>.field>label { min-height:40px; align-items:center; }
.check-controls .field-label-row label { flex:1; }
.check-controls .responsibility-field select { min-width:0; width:100%; }
.check-controls .reminder-lead-field input { width:100%; }
.check-controls .site-selection .field-label { min-height:40px; display:flex; align-items:center; }
.wide-modal .check-detail-editor { border:0; padding-top:4px; }
.check-detail-editor .section-heading { justify-content:flex-start; gap:8px; }
dialog.wide-modal #entry-form>.form-row { grid-column:1/-1; }
#entry-form.single-result>fieldset { grid-column:2; grid-row:1; padding:0; margin:10px 0; }
#entry-form.single-result>fieldset>legend { min-height:32px; padding:0; display:flex; align-items:center; margin-bottom:6px; }
#entry-form.single-result>.responsibility-field { grid-column:1; grid-row:2; }
#entry-form.single-result>.field:has(#notes) { grid-column:2; grid-row:2; }
#entry-form.single-result:not(:has(.responsibility-field))>.field:has(#notes) { grid-column:1/-1; }
dialog.wide-modal #entry-form.has-points>.field:has(#notes) { grid-column:1/-1; }
#entry-form .responsibility-field select { width:100%; min-width:0; }
.staff-directory { max-width:none; }
.staff-table { min-width:1080px; }
.staff-table th,.staff-table td { vertical-align:middle; }
.staff-table th:first-child { width:13%; }
.staff-table th:nth-child(2) { width:17%; }
.staff-table th:nth-child(5) { width:19%; }
.staff-table th:last-child { width:150px; }
.table-actions .button.ui-button { white-space:nowrap; }
.table-checkbox { display:flex; align-items:center; gap:8px; font-size:13px; }
.table-checkbox input { width:18px; height:18px; margin:0; accent-color:var(--accent-text); }
.table-description { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.responsibility-summary { display:block; margin:5px 0; }
.responsibility-summary small { margin:0; }
dialog.audit-modal { width:calc(100% - 48px); max-width:1600px; }
.audit-snapshots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.audit-snapshots>section { min-width:0; }
@media(max-width:700px) { .audit-snapshots { grid-template-columns:1fr; } }
@media print {
  .entry-audit-print { break-before:page; }
  .entry-audit-print article { margin:16px 0 24px; }
  .entry-audit-print .audit-snapshots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .entry-audit-print .data-table { min-width:0; table-layout:fixed; font-size:9px; }
  .entry-audit-print .data-table th,.entry-audit-print .data-table td { padding:5px; overflow-wrap:anywhere; }
  .entry-audit-print .data-table-wrap { overflow:visible; }
}
.audit-table { min-width:560px; }
.audit-table th:last-child { width:90px; }
.audit-detail-modal { width:min(1000px,calc(100% - 32px)); }
.audit-detail-modal h2 { margin:0; }
.audit-detail-modal .data-table { table-layout:fixed; }
@media(max-width:800px) {
  .check-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .check-controls>.field:last-child { grid-column:1/-1; }
}
@media(max-width:700px) {
  .check-appearance,.check-controls { grid-template-columns:minmax(0,1fr); gap:12px; }
  .check-controls>.field:last-child { grid-column:auto; }
  #entry-form.single-result>fieldset,#entry-form.single-result>.responsibility-field,#entry-form.single-result>.field:has(#notes) { grid-column:1/-1; grid-row:auto; }
  dialog.audit-modal { width:calc(100% - 32px); }
  .appearance-select summary { font-size:16px; }
}
