.page-local-nav:has(+.jh-ui) .local-nav-actions{display:none}.page-local-nav:has(+.jh-ui){margin-bottom:18px}
.jh-ui{max-width:1440px;overflow-wrap:anywhere;font-size:14px}
.jh-ui h2,.jh-ui h3{margin:0}.jh-ui .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jh-ui h2{font-size:30px;line-height:1.2}.jh-ui h3{font-size:18px}.jh-ui p{margin:6px 0 14px;color:var(--macc-text-muted)}
.jh-heading,.jh-section-heading,.jh-heading-actions,.jh-period-bar,.jh-period-navigation,.jh-category-form{display:flex;align-items:center;gap:12px}
.jh-heading,.jh-section-heading{justify-content:space-between}.jh-heading{margin-bottom:16px}.jh-eyebrow{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--macc-action)!important;margin:0 0 5px!important}
.jh-ui .jh-button,.jh-ui button{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid var(--macc-action);border-radius:7px;background:var(--macc-action);color:var(--macc-on-action);text-decoration:none;font:inherit;font-weight:600;cursor:pointer}
.jh-ui .jh-button-secondary{background:var(--macc-surface);color:var(--macc-text);border-color:var(--macc-border)}
.jh-ui input,.jh-ui select{font:inherit;min-height:42px;padding:8px 10px;max-width:100%;border:1px solid var(--macc-control-border);border-radius:6px;background:var(--macc-surface);color:var(--macc-text)}
.jh-period-bar{justify-content:space-between;margin-bottom:20px;flex-wrap:wrap}.jh-view-switch{display:flex;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:8px;padding:3px}.jh-view-switch a{padding:7px 16px;text-decoration:none;border-radius:5px}.jh-view-switch [aria-current]{background:var(--macc-action);color:var(--macc-on-action);font-weight:600}.jh-period-navigation{flex-wrap:wrap;justify-content:center}.jh-period-navigation a{font-size:12px;color:var(--macc-text-muted)}.jh-period-navigation strong{font-size:15px}.jh-date-jump{display:flex;gap:6px}.jh-date-jump input{width:145px;padding:7px}
.jh-top-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.jh-top-stats>div{background:transparent;border:0;border-right:1px solid var(--macc-border);border-radius:0;padding:10px 20px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:3px 12px}.jh-top-stats>div:first-child{padding-left:0}.jh-top-stats>div:last-child{border-right:0}.jh-top-stats span{font-size:13px;color:var(--macc-text-muted)}.jh-top-stats strong{grid-column:2;grid-row:1/3;align-self:center;font-size:30px;line-height:1.3;letter-spacing:-.025em}.jh-top-stats small{font-size:12px;color:var(--macc-text-muted);min-height:18px}
.jh-chart-section .jh-section-heading p{font-size:12px;margin:3px 0 0}.jh-chart-section,.jh-matrix,.jh-calendar-section,.jh-action-list,.jh-target-panel{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px;padding:16px 20px;margin-bottom:20px;box-shadow:var(--shadow)}.jh-section-heading>span{font-size:12px;color:var(--macc-text-muted)}.jh-category-form{font-size:12px}.jh-category-form label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.jh-category-form select{min-width:160px}.jh-chart-scroll{overflow-x:auto}.jh-mobile-help{display:none;font-size:11px}.jh-chart-legend{display:flex;gap:20px;font-size:12px;margin:10px 0 8px;color:var(--macc-text-muted)}.jh-chart-legend span::before{content:'';display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:2px;background:var(--macc-action)}.jh-chart-legend span+span::before{background:var(--macc-selected-surface);border:1px solid var(--macc-info-border)}.jh-chart{display:block;width:100%;height:130px;overflow:visible}.jh-chart text{fill:var(--macc-text-muted);font-size:13px}.jh-chart-grid line{stroke:var(--macc-border);stroke-dasharray:3 4}.jh-chart-plan{fill:var(--macc-action);rx:3}.jh-chart-target{fill:var(--macc-selected-surface);stroke:var(--macc-info-border);rx:3}.jh-chart .jh-chart-value{fill:var(--macc-text);font-weight:600}.jh-chart-empty{padding:50px 20px;text-align:center;background:var(--macc-surface-subtle);border-radius:8px}
.jh-table{overflow-x:auto;margin-top:14px}.jh-ui table{border-collapse:separate;border-spacing:0;width:100%;min-width:680px;font-size:12px}.jh-ui th,.jh-ui td{text-align:left;padding:5px 7px;border-bottom:1px solid var(--macc-border);vertical-align:middle}.jh-ui thead th{color:var(--macc-text-muted);font-weight:600;font-size:11px;white-space:nowrap;background:var(--macc-canvas)}.jh-ui tbody th{position:sticky;left:0;z-index:1;background:var(--macc-surface);min-width:145px;font-weight:600}.jh-ui tbody th>a:first-child{text-decoration:none}.jh-small-link{display:block;font-size:11px;font-weight:400;margin-top:4px;color:var(--macc-action)}.jh-average{min-width:83px;white-space:nowrap}.jh-average strong{font-size:16px}.jh-average small{display:block;color:var(--macc-text-muted)}.jh-cell{display:block;padding:5px 8px;border-radius:6px;min-width:94px;text-decoration:none;border:1px solid transparent}.jh-cell strong{font-size:14px;line-height:1.25}.jh-cell strong span{font-size:11px;font-weight:400}.jh-cell small{display:block;font-size:10px;line-height:1.25;margin-top:2px;white-space:nowrap}.jh-met{background:var(--macc-success-surface);color:var(--macc-success-text)}.jh-deficit{background:var(--macc-danger-surface);color:var(--macc-danger-text);border-color:var(--macc-danger-border)}.jh-uncertain,.jh-missingTarget,.jh-targetConflict{background:var(--macc-warning-surface);color:var(--macc-warning-text)}.jh-status{display:inline-block;padding:4px 7px;border-radius:5px;font-size:11px;white-space:nowrap}.jh-status-met{background:var(--macc-success-surface);color:var(--macc-success-text)}.jh-status-deficit{background:var(--macc-danger-surface);color:var(--macc-danger-text)}.jh-status-unknown{background:var(--macc-warning-surface);color:var(--macc-warning-text)}.jh-help{font-size:12px;margin:13px 0 0!important}
.jh-action-list>a{display:grid;grid-template-columns:130px 1fr 160px;padding:10px 0;text-decoration:none;border-bottom:1px solid var(--macc-border)}.jh-action-list>a>span:last-child{text-align:right;color:var(--macc-danger-text)}.jh-action-list>p{font-size:12px}
.jh-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-top:16px}.jh-calendar-weekday{text-align:center;font-size:12px;color:var(--macc-text-muted);padding:3px}.jh-calendar-day,.jh-calendar-closed{display:flex;flex-direction:column;min-height:108px;padding:10px;border-radius:6px;gap:7px;text-decoration:none;font-size:12px}.jh-calendar-day strong,.jh-calendar-closed strong{font-size:17px}.jh-calendar-day small,.jh-calendar-closed small{font-size:10px}.jh-calendar-closed{background:var(--macc-canvas);color:var(--macc-text-muted)}
.jh-ui details{margin:14px 0;border:1px solid var(--macc-border);border-radius:8px;padding:13px 16px;background:var(--macc-surface)}.jh-ui summary{cursor:pointer;font-size:13px;font-weight:600;min-height:30px;align-content:center}.jh-ui details[open]>summary{margin-bottom:12px}.jh-ui details .jh-matrix{box-shadow:none;border:0;padding:0;margin:0}.jh-method{font-size:12px}.jh-target-panel{scroll-margin-top:90px;border-color:var(--macc-info-border)}.jh-goal-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.jh-goal-fields label,.jh-goal-advanced>label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.jh-goal-fields [hidden]{display:none}.jh-goal-fields input,.jh-goal-fields select{width:100%}.jh-goal-advanced fieldset{display:flex;flex-wrap:wrap;gap:18px;border:0;padding:10px 0}.jh-goal-advanced fieldset label{display:flex;align-items:center;gap:6px}.jh-goal-advanced input[type=checkbox]{min-height:auto}.jh-reset-form{margin-top:14px}.jh-notice,.jh-save-success{padding:14px;border-radius:7px;background:var(--macc-surface-subtle)}.jh-save-success{background:var(--macc-success-surface);color:var(--macc-success-text)!important}.jh-ui :focus-visible{outline:3px solid var(--macc-action);outline-offset:3px}.jh-ui [hidden]{display:none!important}
@media(max-width:1100px){.jh-period-bar{gap:14px}.jh-date-jump{display:none}.jh-cell{min-width:82px;padding:8px 6px}.jh-ui th,.jh-ui td{padding:8px 5px}.jh-category-form select{min-width:120px}.jh-heading-actions{gap:7px}}
@media(max-width:700px){.jh-heading{align-items:flex-start;flex-direction:column;gap:15px}.jh-heading h2{font-size:26px}.jh-heading-actions{width:100%}.jh-heading-actions>a{flex:1;font-size:12px}.jh-top-stats{grid-template-columns:1fr;gap:8px}.jh-top-stats>div{padding:12px 15px!important;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:8px;display:grid;grid-template-columns:1fr auto}.jh-top-stats strong{grid-column:2;grid-row:1/3;font-size:25px}.jh-top-stats small{grid-column:1}.jh-period-bar{justify-content:center}.jh-period-navigation strong{font-size:13px}.jh-section-heading{align-items:flex-start;flex-direction:column;gap:10px}.jh-chart-section,.jh-matrix,.jh-calendar-section,.jh-action-list,.jh-target-panel{padding:14px}.jh-category-form{width:100%}.jh-category-form select{flex:1;min-width:0}.jh-goal-fields{grid-template-columns:1fr}.jh-action-list>a{grid-template-columns:1fr auto;gap:4px}.jh-action-list>a>strong{grid-row:2;grid-column:1/3}.jh-calendar{gap:3px}.jh-calendar-day,.jh-calendar-closed{padding:5px;min-height:100px;font-size:9px}.jh-calendar-day small,.jh-calendar-closed small{font-size:8px}.jh-calendar-weekday{font-size:10px}.jh-chart{height:190px;min-width:900px}.jh-mobile-help{display:block}}


.privacy-ui{max-width:960px;overflow-wrap:anywhere}
.privacy-ui form{padding:16px;margin:16px 0;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:8px}
.privacy-ui label{display:block;margin:10px 0;line-height:1.6}
.privacy-ui input:not([type=checkbox]):not([type=hidden]),.privacy-ui textarea,.privacy-ui select{display:block;width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;padding:8px;border:1px solid var(--macc-control-border);border-radius:4px;background:var(--macc-surface);color:var(--macc-text);font:inherit}
.privacy-ui textarea{min-height:100px}
.privacy-ui input[type=checkbox]{margin-right:8px}
.privacy-ui button{min-height:44px;max-width:100%;padding:10px 16px;border:1px solid var(--macc-control-border);border-radius:6px;background:var(--macc-surface-subtle);color:var(--macc-text);font:inherit;cursor:pointer}
.privacy-ui details{margin:12px 0;padding:16px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface)}
.privacy-ui summary{cursor:pointer;min-height:44px;font-weight:600}
.privacy-ui pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-width:100%}

:root {
  /* Canonical contract tokens (tokens.json › color): --macc-<kebab-case key>. */
  --macc-canvas:#F4F6F7; --macc-surface:#FFFFFF; --macc-surface-subtle:#F2F9FA;
  --macc-text:#173036; --macc-text-muted:#52676D; --macc-border:#D7E2E4; --macc-control-border:#6B8288;
  --macc-action:#28677D; --macc-action-hover:#0B4857; --macc-on-action:#FFFFFF;
  --macc-brand-dark:#0B4857; --macc-brand-coral:#EF6E59; --macc-selected-surface:#E6F1F4;
  --macc-success-text:#0F6B57; --macc-success-surface:#E2F3ED; --macc-success-border:#B7DDD1;
  --macc-warning-text:#7D5413; --macc-warning-surface:#FFF4DB; --macc-warning-border:#EAD6A6;
  --macc-danger-text:#B42318; --macc-danger-surface:#FFE4DF; --macc-danger-border:#F0C9C3;
  --macc-info-border:#BCD7DE;
  /* App-local variables (no contract colour token has the same value in both modes, or the
     value is not a colour): --go, --shadow, --radius, --sidebar-w, --font, --mono, --maxw,
     --wide-maxw, --topbar-h and --crm-*. */
  --go:var(--macc-action);
  --shadow:0 3px 16px rgba(23,48,54,.045);
  --radius:12px; --sidebar-w:240px;
  --font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --maxw:1440px; --wide-maxw:1440px;
  /* The topbar's own height, and therefore the offset a sticky table heading
     has to clear. Kept as a variable so the two cannot drift apart. */
  --topbar-h:76px;
}
@media (prefers-color-scheme:dark) {
  :root {
    /* MACC dark palette from the UI contract (tokens.json › colorDark, decided 2026-09-29). */
    --macc-canvas:#0F1719; --macc-surface:#172226; --macc-surface-subtle:#1C2A2F;
    --macc-text:#E6EEF0; --macc-text-muted:#9FB2B7; --macc-border:#2B3A3F; --macc-control-border:#6F878D;
    --macc-action:#6FB3C8; --macc-action-hover:#8CC6D7; --macc-on-action:#0B1A1E;
    --macc-brand-dark:#A9D3DF; --macc-selected-surface:#183038;
    --macc-success-text:#6BCF9B; --macc-success-surface:#16271E;
    --macc-warning-text:#E0B15C; --macc-warning-surface:#271F14;
    --macc-danger-text:#E7938B; --macc-danger-surface:#271815;
    /* Dark status borders from the pinned UI contract (2.0.0-candidate.2). */
    --macc-success-border:#26482F; --macc-warning-border:#463719; --macc-danger-border:#4A2924; --macc-info-border:#2B4A55;
    --go:var(--macc-brand-dark);
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.35);
  }
}

*{box-sizing:border-box}
html{color-scheme:light dark}
body{margin:0;background:var(--macc-canvas);color:var(--macc-text);font-family:var(--font);
  line-height:1.5;-webkit-font-smoothing:antialiased;font-size:16px}
h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-.01em;font-weight:700}
a{color:inherit}
button{font-family:inherit}
.mono{font-family:var(--mono);font-size:.86em}
.tnum{font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--macc-action);outline-offset:2px}

.app-header{position:sticky;top:0;z-index:10;background:var(--macc-surface);border-bottom:1px solid var(--macc-border)}
.topbar{min-height:var(--topbar-h);padding:12px 28px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:18px;color:var(--macc-text);text-decoration:none;white-space:nowrap}
.brand-logo{display:block;box-sizing:content-box;height:40px;width:auto;background:#FFFFFF;padding:4px 8px;border-radius:6px;margin-bottom:-14px}
.brand-workspace{border-left:1px solid var(--macc-border);padding-left:18px;font-size:15px;font-weight:680}
.signed-in{margin:0 0 0 auto;display:flex;align-items:center;gap:6px;font-size:13.5px;white-space:nowrap}
.signed-in a,.my-access>summary{display:flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:8px;color:var(--macc-text);font-weight:650}
.my-access>summary{cursor:pointer;list-style:none}
.access-denied{max-width:640px}
.access-denied-lead{font-size:17px}
.access-levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0;padding:0;list-style:none}
.access-levels li{display:flex;flex-direction:column;gap:2px;min-height:56px;padding:10px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface);color:var(--macc-text-muted)}
.access-levels li span{font-weight:650;overflow-wrap:anywhere}
.access-levels li small{font-size:12.5px}
.access-levels li.is-current{border-color:var(--macc-action);background:var(--macc-selected-surface);color:var(--macc-text)}
.access-levels li.is-required{border:2px solid var(--macc-brand-coral);color:var(--macc-text)}
@media (max-width:560px){.access-levels{grid-template-columns:repeat(2,minmax(0,1fr))}}
.my-access>summary::-webkit-details-marker{display:none}
.my-access>summary::after{content:"";width:6px;height:6px;margin:-3px 0 0 8px;border:solid var(--macc-text-muted);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.my-access[open]>summary::after{margin-top:3px;transform:rotate(-135deg)}
.my-access>summary:hover,.my-access[open]>summary{background:var(--macc-surface-subtle)}
/* Anchored to the sticky header, so it lines up with the page edge on every width. */
.my-access-panel{position:absolute;top:calc(100% + 6px);right:28px;z-index:20;width:min(400px,calc(100vw - 32px));max-height:calc(100vh - var(--topbar-h) - 24px);overflow-y:auto;
  padding:16px 18px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);box-shadow:var(--shadow);white-space:normal;font-size:14px}
.my-access-panel p{margin:0}
.my-access-title{font-weight:700}
.my-access-panel ul{margin:10px 0;padding:0;list-style:none}
.my-access-panel li{padding:8px 0;border-top:1px solid var(--macc-border)}
.my-access-panel li span{display:block;margin-top:2px;color:var(--macc-text-muted);font-size:13px}
.my-access-note{color:var(--macc-text-muted);font-size:13px}
.my-access-icon,.signed-in .my-access-logout{display:none}
.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:calc(100vh - var(--topbar-h))}
.sidebar{position:sticky;top:var(--topbar-h);align-self:start;height:calc(100vh - var(--topbar-h));overflow-y:auto;
  padding:28px 16px 24px;background:var(--macc-surface);border-right:1px solid var(--macc-border)}
.area-nav{display:flex;flex-direction:column;gap:0}
.nav-kicker{margin:0 12px 14px;color:var(--macc-text-muted);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.primary-nav,.nav-admin{display:flex;flex-direction:column;gap:4px}
.area-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:9px 12px;border-radius:8px;color:var(--macc-text-muted);
  text-decoration:none;font-size:14px;font-weight:590;line-height:1.25}
.nav-icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.area-nav a:hover{color:var(--macc-text);background:var(--macc-surface-subtle)}
.area-nav a[aria-current="page"],.area-nav a[aria-current="location"]{color:var(--macc-brand-dark);background:var(--macc-selected-surface);font-weight:700}
.area-nav a[aria-current="page"],.area-nav a[aria-current="location"]{box-shadow:inset 3px 0 0 var(--macc-action)}
.nav-admin{margin-top:auto;padding-top:24px}
.nav-admin .nav-kicker{margin-bottom:6px}
.nav-tools{margin-top:26px;padding:20px 12px 0;border-top:1px solid var(--macc-border)}
.nav-tools .nav-kicker{margin:0 0 8px}
.nav-tool-link{font-weight:680!important;color:var(--macc-text)!important;padding:0!important;min-height:36px!important}
.nav-tool-copy{margin:3px 0 0;color:var(--macc-text-muted);font-size:14px;line-height:1.4}
.mobile-menu{display:none}
.page-column{min-width:0;display:flex;flex-direction:column}
main{width:100%;max-width:var(--maxw);margin:0 auto;padding:32px 40px 72px}
/* Data-entry pages, where a seven-column grid in a 960px column is what forces
   the horizontal scrolling that loses the headings in the first place. */
main.wide{max-width:var(--wide-maxw)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
main h2{font-size:28px;margin:32px 0 8px}
main h2:first-child{margin-top:0}
main h3{font-size:16px;margin:24px 0 8px;color:var(--macc-text-muted)}
main p{color:var(--macc-text)}
main > p:first-of-type a[href^="/"]{color:var(--macc-text-muted);text-decoration:none;font-size:13.5px;font-weight:550}
main > p:first-of-type a[href^="/"]:hover{color:var(--macc-text)}
.breadcrumbs{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:var(--macc-text-muted);font-size:12.5px}
.breadcrumbs a{color:inherit;text-decoration:none}
.breadcrumbs a:hover{color:var(--macc-text)}
.breadcrumbs-separator{font-size:16px;line-height:1}
.page-intro{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:20px}
.schema-page-intro{margin-top:-8px}
.schema-page-intro p,.home-page-intro p{font-size:14px}
.page-intro-copy{flex:1 1 420px;max-width:760px;min-width:0}
.page-intro h2{margin:0 0 6px}
.page-intro p:last-child{margin:0;color:var(--macc-text-muted)}
.page-intro .btn{margin-top:4px}
.eyebrow{margin:0;color:var(--macc-text-muted);font-size:14px;font-weight:650}
.page-local-nav{margin:0 0 24px;border-bottom:1px solid var(--macc-border)}
.page-local-title{display:none;font-size:14px}
.local-nav-tabs,.local-nav-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.local-nav-tabs a,.local-nav-actions a{display:inline-flex;align-items:center;min-height:44px;padding:9px 0;margin-bottom:-1px;border-bottom:3px solid transparent;
  color:var(--macc-text-muted);font-size:14px;font-weight:620;line-height:1.3;text-decoration:none}
.local-nav-tabs a:hover,.local-nav-actions a:hover{color:var(--macc-text)}
.local-nav-tabs a[aria-current="page"],.local-nav-tabs a[aria-current="location"]{color:var(--macc-brand-dark);border-bottom-color:var(--macc-action)}
.local-nav-actions{gap:8px;margin:0 0 12px}
.local-nav-actions a{min-height:44px;padding:7px 11px;margin:0;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface);color:var(--macc-text)}
.local-nav-actions a[aria-current="page"]{border-color:var(--macc-action);color:var(--macc-action)}

dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px 20px;
  background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);
  padding:16px 18px;box-shadow:var(--shadow);margin:14px 0}
dt{font-size:12px;color:var(--macc-text-muted);font-weight:560;text-transform:uppercase;letter-spacing:.03em;min-width:0}
dd{margin:4px 0 0;font-size:15px;font-weight:620;min-width:0;overflow-wrap:anywhere}

.btn,button[type="submit"],input[type="submit"]{display:inline-flex;align-items:center;gap:7px;
  min-height:44px;border-radius:8px;padding:9px 15px;font-size:14px;font-weight:600;border:1px solid var(--macc-border);
  background:var(--macc-surface);color:var(--macc-text);cursor:pointer;text-decoration:none;white-space:nowrap}
button[type="submit"],input[type="submit"]{background:var(--macc-action);color:var(--macc-on-action);border-color:transparent}
button[type="submit"]:hover,input[type="submit"]:hover{background:var(--macc-action-hover)}
.btn:hover{background:var(--macc-surface-subtle)}
.person-identity{margin-top:3px;color:var(--macc-text-muted);font-size:12px;font-weight:400}
.person-identity>summary{cursor:pointer;width:fit-content;padding:3px 0}
.person-identity>div{margin-top:3px;overflow-wrap:anywhere}
.identity-copy{padding:3px 5px;border:0;background:transparent;color:var(--macc-action);font-size:inherit;
  cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.identity-copy:hover{color:var(--macc-text)}
.person-select-identity{min-width:0}
.person-select-identity>.person-identity{margin-left:32px}
.btn-primary{background:var(--macc-action);color:var(--macc-on-action);border-color:transparent}
.btn-primary:hover{background:var(--macc-action-hover)}
.tabs{display:flex;gap:6px;margin:18px 0 24px;border-bottom:1px solid var(--macc-border)}
.tabs a{padding:9px 12px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--macc-text-muted);font-weight:620;text-decoration:none}
.tabs a[aria-current="page"]{color:var(--macc-text);border-bottom-color:var(--macc-action)}
.workflow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.workflow-head h2{margin:0}
.workflow-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* QMS roles (Administration): overview of caretakers, then one person's role as a stacked form. The form
   has no script, so fields a role does not use are hidden with :has(); the server ignores them either way. */
.qms-roles{max-width:960px}
.qms-roles>p:first-child{margin:0 0 12px}
.qms-roles>p:first-child a{color:var(--macc-text-muted);font-size:14px;font-weight:550;text-decoration:none}
.qms-roles>p:first-child a:hover{color:var(--macc-text);text-decoration:underline}
.qms-roles .workflow-head p{margin:4px 0 0;color:var(--macc-text-muted)}
.qms-roles h3{margin:28px 0 10px;font-size:17px;color:var(--macc-text)}
.qms-roles-list{list-style:none;padding:0}
.qms-roles-list .card-head>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qms-roles-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px;margin:12px 0 0;padding:12px 0 0;border:0;border-top:1px solid var(--macc-border);border-radius:0;box-shadow:none;background:none}
.qms-roles-facts dd{font-size:14px;font-weight:500}
.qms-roles-staff{margin-top:24px}
.qms-roles-staff h3{margin-top:0}
.qms-roles-staff p{margin:0 0 12px}
.qms-roles-other{margin-top:20px}
.qms-roles-other summary,.qms-roles-history summary{cursor:pointer;min-height:44px;align-content:center;font-size:14px;font-weight:600;color:var(--macc-action)}
.qms-roles-other form{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-top:8px}
.qms-roles-other label{display:flex;flex-direction:column;gap:6px;flex:1;min-width:240px}
.qms-roles-other select{min-height:44px}
.qms-roles-current{margin:16px 0}
.qms-roles-current .card-sub{margin:0}
.qms-roles-form{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.qms-roles-step{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);padding:18px 20px;margin:0;min-inline-size:0;box-shadow:var(--shadow)}
.qms-roles-step legend{float:left;width:100%;padding:0;margin:0 0 6px;font-size:16px;font-weight:650;color:var(--macc-text)}
.qms-roles-step legend+*{clear:both}
.qms-roles-step p{margin:0 0 12px;color:var(--macc-text-muted);font-size:14px}
.qms-roles-choices{display:grid;gap:8px}
.qms-roles-choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--macc-border);border-radius:8px;cursor:pointer;font-weight:400}
.qms-roles-choice:hover{border-color:var(--macc-control-border)}
.qms-roles-choice:has(input:checked){border-color:var(--macc-action);background:var(--macc-selected-surface)}
.qms-roles-choice:has(input:focus-visible),.qms-roles-grid label:has(input:focus-visible){outline:3px solid var(--macc-action);outline-offset:2px}
.qms-roles-choice>span{display:flex;flex-direction:column;gap:2px}
.qms-roles-choice>span>span{color:var(--macc-text-muted);font-size:14px}
.qms-roles input[type="radio"],.qms-roles input[type="checkbox"]{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--macc-action)}
.qms-roles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 16px}
.qms-roles-grid label{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:450}
.qms-roles-grid input[type="checkbox"]{margin:0}
.qms-roles-hint{display:block;margin-top:2px;color:var(--macc-text-muted);font-size:13px;font-weight:400}
.qms-roles textarea{display:block;width:100%;box-sizing:border-box;margin-top:8px;font-family:inherit;min-height:80px}
.qms-roles-exemption input[type="date"]{display:block;margin-top:6px;min-height:44px}
.qms-roles-actions{display:flex;gap:10px;flex-wrap:wrap}
.qms-roles-history{margin-top:24px}
.qms-roles-history ol{margin:8px 0 0;padding-left:20px;font-size:14px;color:var(--macc-text-muted)}
.qms-roles-form:has(input[name="role"][value="kvalitetsansvarig"]:checked) .qms-roles-areas,
.qms-roles-form:has(input[name="role"][value="medarbetare"]:checked) .qms-roles-areas,
.qms-roles-form:has(input[name="role"][value="ingen"]:checked) .qms-roles-areas,
.qms-roles-form:has(input[name="role"][value="ingen"]:checked) .qms-roles-read{display:none}
/* The exemption is never hidden: CSS cannot see a date typed after load, and a hidden but filled field would be
   submitted and rejected. For other roles it is toned down and its text says to leave it empty. */
.qms-roles-form:not(:has(input[name="role"][value="kvalitetsansvarig"]:checked)) .qms-roles-exemption{box-shadow:none;background:var(--macc-surface-subtle)}
@media(max-width:600px){.qms-roles-step{padding:14px}.qms-roles-actions .btn{flex:1;justify-content:center}.qms-roles-list .card-head>.btn{width:100%;justify-content:center}}
/* CRM design v2. Scoped presentation; the Administration shell and tokens stay shared. */
.crm-ui{--crm-focus-bg:#0B4857;--crm-focus-text:#FFFFFF;--crm-focus-muted:#DCEBED;--crm-control-border:var(--macc-control-border);min-width:0;overflow-wrap:anywhere;font:16px/1.5 var(--font)}
.crm-ui *{min-width:0}
.crm-ui [id],.crm-ui :is(input,select,textarea,button,summary,a){scroll-margin-block:150px 32px}
.crm-ui h2{font-size:28px;font-weight:700;letter-spacing:-.035em;line-height:1.2;margin:0}
.crm-ui h3{font-size:18px;font-weight:650;letter-spacing:-.012em;color:var(--macc-text);margin:0}
.crm-ui h4{font-size:16px;font-weight:650;margin:0;overflow-wrap:anywhere}
.crm-ui p{margin:0 0 16px;color:inherit}
.crm-ui p:last-child{margin-bottom:0}
.crm-ui a{color:var(--macc-action);text-underline-offset:3px;overflow-wrap:anywhere}
.crm-ui :focus-visible{outline:3px solid var(--macc-action);outline-offset:3px}
.crm-ui .crm-muted,.crm-ui .crm-row-meta{color:var(--macc-text-muted);font-size:14px}
.crm-ui .crm-page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}
.crm-ui .crm-page-intro>div{flex:1}
.crm-ui .crm-page-intro p{font-size:14px;color:var(--macc-text-muted);margin:8px 0 0}
.crm-ui .crm-page-intro .crm-eyebrow{margin:0 0 6px}
.crm-ui .crm-eyebrow{font-size:13px;font-weight:650}
.crm-ui .breadcrumbs{flex-wrap:wrap;margin-bottom:16px}
.crm-ui :is(.btn,button[type="submit"]){justify-content:center;min-height:44px;font:600 14px/1.4 var(--font);padding:10px 15px;border-radius:8px;white-space:normal;max-width:100%}
.crm-ui .btn{color:var(--macc-action);background:var(--macc-surface);border-color:var(--macc-border)}
.crm-ui .btn:hover{background:var(--macc-surface-subtle)}
.crm-ui .btn-primary{background:var(--macc-action);color:var(--macc-on-action);border-color:transparent}
.crm-ui .btn-primary:hover{background:var(--macc-action-hover)}
.crm-ui button:disabled{background:var(--macc-surface-subtle);color:var(--macc-text-muted);cursor:not-allowed}
.crm-ui button.crm-btn-danger{color:var(--macc-danger-text);border:1px solid var(--macc-danger-text);background:var(--macc-surface)}
.crm-ui button.crm-btn-danger:hover{background:var(--macc-danger-surface)}
.crm-ui .crm-actions{display:flex;gap:12px;flex-wrap:wrap}
.crm-ui .crm-panel{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:12px;box-shadow:var(--shadow);overflow-wrap:anywhere}
.crm-ui .crm-panel-head{padding:18px 22px;border-bottom:1px solid var(--macc-border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.crm-ui .crm-panel-head p{margin:6px 0 0}
.crm-ui .crm-panel-body{padding:22px}
.crm-ui .crm-stack{display:grid;gap:24px;align-content:start}
.crm-ui .crm-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;line-height:1.5;max-width:100%}
.crm-ui .crm-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.crm-ui .crm-status-neutral{color:var(--macc-text-muted)}
.crm-ui .crm-status-ok{color:var(--macc-success-text)}
.crm-ui .crm-status-wait{color:var(--macc-warning-text)}
.crm-ui .crm-status-error{color:var(--macc-danger-text)}
.crm-ui .crm-notice{display:block;background:var(--macc-surface-subtle);border:1px solid var(--macc-border);border-radius:8px;padding:14px 16px;font-size:14px;line-height:1.5}
.crm-ui .crm-notice strong{display:block;margin-bottom:4px}
.crm-ui .crm-notice-wait,.crm-ui .crm-operations-stale,.crm-ui .crm-operations-unknown{color:var(--macc-warning-text);background:var(--macc-warning-surface);border-color:var(--macc-warning-border)}
.crm-ui .crm-notice-error{color:var(--macc-danger-text);background:var(--macc-danger-surface);border-color:var(--macc-danger-border)}.crm-ui .crm-notice-error h3{margin:0 0 6px;font-size:16px}.crm-ui .crm-notice-error p{margin:6px 0}.crm-ui .crm-notice-error a{display:inline-flex;min-height:44px;align-items:center}
.crm-ui .crm-operations-error{color:var(--macc-danger-text);background:var(--macc-danger-surface);border-color:var(--macc-danger-border)}
.crm-ui .crm-notice.crm-operations-ok{color:var(--macc-success-text);background:var(--macc-success-surface);border-color:var(--macc-success-border)}
.crm-ui .crm-operations{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:-6px 0 16px;padding:0;border-radius:8px;font-size:13px;overflow-wrap:anywhere}
.crm-ui .crm-operations:not(.crm-operations-ok){padding:12px 16px}
.crm-ui .crm-operations p{margin:8px 0 0}
.crm-ui .crm-operations a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.crm-ui .crm-filterbar{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) minmax(130px,1fr) auto;gap:16px;align-items:start;padding:22px;border:1px solid var(--macc-border);border-bottom:0;border-radius:12px 12px 0 0;background:var(--macc-surface);margin:0}
.crm-ui .crm-filterbar>button{margin-top:28px}
.crm-ui .crm-field{display:flex;flex-direction:column;gap:6px}
.crm-ui .crm-field small{font-size:13px;color:var(--macc-text-muted);line-height:1.4}
.crm-ui form{margin:0}
.crm-ui fieldset{display:block;border:0;padding:0;margin:0;min-inline-size:0}
.crm-ui legend{font-size:16px;font-weight:650;padding:0;margin:0 0 16px;color:var(--macc-text)}
.crm-ui label{display:block;font:600 14px/1.5 var(--font);margin:16px 0 6px}
.crm-ui .crm-field label{margin:0}
.crm-ui input:not([type="hidden"]):not([type="checkbox"]),.crm-ui select,.crm-ui textarea{display:block;font:14px/1.5 var(--font);width:100%;max-width:100%;min-height:44px;border:1px solid var(--crm-control-border);border-radius:8px;padding:10px 12px;background:var(--macc-surface);color:var(--macc-text);margin:0}
.crm-ui textarea{resize:vertical}
.crm-ui input[type="checkbox"]{width:18px;height:18px;accent-color:var(--macc-action);vertical-align:middle;margin-right:8px}
.crm-ui label:has(input[type="checkbox"]){min-height:44px;display:flex;align-items:center}
.crm-ui form button[type="submit"]{margin-top:18px}
.crm-ui .crm-filterbar button[type="submit"]{margin-top:28px}
.crm-ui .crm-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px 16px;background:var(--macc-surface);border-inline:1px solid var(--macc-border);font-size:14px}
.crm-ui .crm-results-head p{margin:0}
.crm-ui .crm-results-head a{min-height:44px;display:inline-flex;align-items:center}
.crm-ui .crm-table-wrap{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:0 0 12px 12px}
.crm-ui .crm-queue-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:14px;margin:0;border:0;box-shadow:none}
.crm-ui .crm-queue-table th,.crm-ui .crm-queue-table td{text-align:left;vertical-align:top;padding:18px 16px;font-weight:400;overflow-wrap:anywhere;border:0;border-bottom:1px solid var(--macc-border)}
.crm-ui .crm-queue-table thead th{position:static;background:var(--macc-surface-subtle);font-size:13px;font-weight:600;color:var(--macc-text-muted);letter-spacing:0;text-transform:none;padding:12px 16px}
.crm-ui .crm-queue-table thead th:nth-child(1){width:31%}
.crm-ui .crm-queue-table thead th:nth-child(2){width:16%}
.crm-ui .crm-queue-table thead th:nth-child(3){width:13%}
.crm-ui .crm-queue-table thead th:nth-child(4){width:24%}
.crm-ui .crm-queue-table thead th:nth-child(5){width:16%}
.crm-ui .crm-queue-table tbody tr{background:transparent}
.crm-ui .crm-queue-table tbody tr:hover{background:var(--macc-surface-subtle)}
.crm-ui .crm-queue-table tbody tr:last-child>*{border-bottom:0}
.crm-ui .crm-queue-table th a{display:inline-block;font-size:15px;font-weight:650;line-height:1.4;text-decoration:none;color:var(--macc-text)}
.crm-ui .crm-queue-table th a:hover{color:var(--macc-action);text-decoration:underline}
.crm-ui .crm-row-meta{margin-top:7px;font-size:13px;font-weight:400;line-height:1.6}
.crm-ui .crm-row-meta span{display:block}
.crm-ui .crm-date-line{display:block;font-size:13px;color:var(--macc-text-muted);margin-bottom:6px}
.crm-ui .crm-date-line strong{display:block;color:var(--macc-text);font-weight:500;font-variant-numeric:tabular-nums}
.crm-ui .crm-date-line:first-child strong{display:inline}
.crm-ui .crm-cell-label{display:none}
.crm-ui .crm-empty{padding:32px 24px;text-align:center}
.crm-ui .crm-empty p{margin:8px 0;color:var(--macc-text-muted)}
.crm-ui .crm-next-step{padding:22px 26px;background:var(--crm-focus-bg);color:var(--crm-focus-text);border-radius:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;box-shadow:var(--shadow)}
.crm-ui .crm-next-step .crm-eyebrow{color:var(--crm-focus-muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.crm-ui .crm-next-step h3{color:var(--crm-focus-text);font-size:21px;font-weight:650;margin:5px 0 10px;overflow-wrap:anywhere}
.crm-ui .crm-next-step p{font-size:14px;color:var(--crm-focus-muted);display:flex;flex-wrap:wrap;gap:6px 10px;margin:0}
.crm-ui .crm-next-step p>span{margin-left:14px}
.crm-ui .crm-next-step>.crm-status{background:var(--macc-surface);padding:6px 10px;border-radius:999px;flex-shrink:0;max-width:40%}
.crm-ui .crm-next-step+.crm-notice{margin:12px 0}
.crm-ui .crm-disclosure{border-top:1px solid var(--macc-border)}
.crm-ui .crm-disclosure>summary{min-height:44px;padding:12px 22px;color:var(--macc-action);font-size:14px;font-weight:600;cursor:pointer;overflow-wrap:anywhere}
.crm-ui .crm-disclosure[open]>summary{background:var(--macc-surface-subtle);border-bottom:1px solid var(--macc-border)}
.crm-ui .crm-disclosure-body{padding:22px;background:var(--macc-surface-subtle);border-radius:0 0 12px 12px}
.crm-ui .crm-edit-bar{border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface);margin:12px 0 18px}
.crm-ui .crm-anchor-nav{display:flex;flex-wrap:wrap;gap:0 22px;margin:20px 0 24px;border-bottom:1px solid var(--macc-border)}
.crm-ui .crm-anchor-nav a{display:flex;align-items:center;min-height:44px;color:var(--macc-text-muted);text-decoration:none;font-size:14px;font-weight:600}
.crm-ui .crm-anchor-nav a:hover{color:var(--macc-action);text-decoration:underline}
.crm-ui .crm-case-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.crm-ui .crm-case-side .crm-panel-head{padding:18px 20px}
.crm-ui .crm-case-side h3{font-size:16px}
.crm-ui .crm-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
.crm-ui .crm-facts dt{font-size:14px;font-weight:500;color:var(--macc-text-muted);text-transform:none;letter-spacing:0}
.crm-ui .crm-facts dd{font-size:15px;font-weight:600;margin:4px 0 0;overflow-wrap:anywhere}
.crm-ui .crm-facts-inline{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}
.crm-ui .crm-record-list{list-style:none;padding:0;margin:0}
.crm-ui .crm-record-list.crm-panel-body{padding:22px}
.crm-ui .crm-service-row,.crm-ui .crm-business-record,.crm-ui .crm-customer-case{padding:22px;border-bottom:1px solid var(--macc-border)}
.crm-ui .crm-record-list>li:last-child{border-bottom:0}
.crm-ui .crm-service-title{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.crm-ui .crm-service-row>.crm-muted{margin-top:6px}
.crm-ui .crm-service-row>.crm-disclosure{margin:0 -22px -22px}
.crm-ui .crm-link-action{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600}
.crm-ui .crm-message+.crm-message{border-top:1px solid var(--macc-border);padding-top:22px;margin-top:22px}
.crm-ui .crm-message-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--macc-text-muted);border-bottom:1px solid var(--macc-border);padding-bottom:14px;margin-bottom:16px}
.crm-ui .crm-customer-text,.crm-ui pre{font:16px/1.65 var(--font);white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;margin:0;max-width:100%}
.crm-ui .crm-message>.crm-disclosure{margin-top:20px}
.crm-ui .crm-timeline{list-style:none;padding:0;margin:0}
.crm-ui .crm-timeline li{padding:0 0 24px 20px;border-left:1px solid var(--macc-border)}
.crm-ui .crm-timeline li:last-child{padding-bottom:0}
.crm-ui .crm-timeline time{font-size:13px;color:var(--macc-text-muted)}
.crm-ui .crm-timeline h4{margin:6px 0}
.crm-ui .crm-customer-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;margin-bottom:24px;align-items:start}
.crm-ui .crm-contact+.crm-contact{border-top:1px solid var(--macc-border);padding-top:20px;margin-top:20px}
.crm-ui .crm-contact a{display:flex;align-items:center;min-height:44px;font-size:14px}
.crm-ui .crm-contact p{font-size:14px;color:var(--macc-text-muted);margin-top:4px}
.crm-ui .crm-customer-case h4 a{text-decoration:none}
.crm-ui .crm-import-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px}
.crm-ui .crm-import-source{padding:24px 26px;border-right:1px solid var(--macc-border)}
.crm-ui .crm-import-source h4{font-size:14px;color:var(--macc-text-muted);margin-bottom:16px}
.crm-ui .crm-import-decision{padding:22px;background:var(--macc-surface-subtle);border-radius:0 0 12px 0}
.crm-ui .crm-import-decision h4{font-size:14px;margin-bottom:16px}
.crm-ui .crm-import-decision .crm-actions{display:grid;gap:12px}
.crm-ui .crm-import-decision button{width:100%;margin:0}
.crm-ui .crm-preview{border-top:1px solid var(--macc-border);border-bottom:1px solid var(--macc-border)}
.crm-ui .crm-preview-head{padding:22px 26px;background:var(--macc-surface-subtle)}
.crm-ui .crm-preview-head h4{font-size:18px;margin-bottom:18px}
.crm-ui .crm-preview-meta{gap:10px}
.crm-ui .crm-preview-meta>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px}
.crm-ui .crm-preview-meta dd{font-weight:400;margin:0;font-size:16px}
.crm-ui .crm-preview-body{padding:26px}
.crm-ui .crm-send-decision{padding:22px}
.crm-ui .crm-send-decision p{font-size:14px;color:var(--macc-text-muted)}
.crm-ui .crm-send-decision .crm-notice-wait{color:var(--macc-warning-text)}
.crm-ui .crm-fulfilment-summary{margin:24px 0;padding:20px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface-subtle)}
.crm-ui .crm-fulfilment-summary>h4{margin:16px 0 12px}
.crm-ui .crm-fulfilment-summary>h4:first-child{margin-top:0}
.crm-ui .crm-fulfilment-summary .crm-service-row{padding:16px 0}
.crm-ui .crm-mono{font:13px/1.5 var(--mono);overflow-wrap:anywhere}
.crm-ui.crm-reauth{max-width:700px;margin:32px auto;padding:32px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:12px}
.crm-ui.crm-reauth h2{margin:12px 0 16px}
.crm-ui.crm-reauth p{margin-bottom:24px}
.crm-ui.crm-error h2{margin-bottom:20px}
.crm-ui .crm-panel-head>div:first-child{display:flex;align-items:center;gap:12px}
.crm-ui .crm-panel-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--macc-selected-surface);color:var(--macc-action);flex:none}
.crm-ui .crm-panel-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.crm-ui fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:transparent}
.crm-ui fieldset legend{grid-column:1/-1;width:100%}
.crm-ui fieldset>.crm-field label{margin:0}
.crm-ui fieldset>button,.crm-ui fieldset>p,.crm-ui fieldset>label,.crm-ui .crm-span-all{grid-column:1/-1}
.crm-ui .crm-case-side fieldset{grid-template-columns:1fr}
.crm-ui form:not(.crm-filterbar)> .crm-field + .crm-field{margin-top:16px}
.crm-ui .crm-send-steps{list-style:none;padding:0;margin:0 22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--macc-border)}
.crm-ui .crm-send-steps li{padding:12px 8px;font-size:13px;color:var(--macc-text-muted);border-bottom:3px solid transparent;overflow-wrap:anywhere}
.crm-ui .crm-send-steps li[aria-current="step"]{color:var(--macc-action);border-bottom-color:var(--macc-action);font-weight:650}
.crm-ui .crm-send-steps span{font-variant-numeric:tabular-nums;margin-right:6px}
@media(max-width:767px){.crm-ui fieldset{grid-template-columns:1fr}.crm-ui .crm-send-steps{grid-template-columns:1fr 1fr;margin:0 16px}}
@media(prefers-color-scheme:dark){.crm-ui{--crm-focus-bg:var(--macc-surface-subtle);--crm-focus-text:var(--macc-text);--crm-focus-muted:var(--macc-text-muted);--crm-control-border:var(--macc-text-muted)}}
@media(max-width:1200px){.crm-ui .crm-filterbar{grid-template-columns:2fr 1fr 1fr}.crm-ui .crm-filterbar>button[type="submit"]{grid-column:1/-1;margin:0;justify-self:start}.crm-ui .crm-case-layout{grid-template-columns:minmax(0,1fr)}.crm-ui .crm-case-side{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-ui .crm-customer-layout{grid-template-columns:minmax(0,1fr)}.crm-ui .crm-import-layout{grid-template-columns:minmax(0,1fr)}.crm-ui .crm-import-source{border-right:0;border-bottom:1px solid var(--macc-border)}}
@media(max-width:767px){
 .crm-ui .crm-page-intro{flex-wrap:wrap;gap:16px}.crm-ui .crm-page-intro>div{flex-basis:100%}.crm-ui .crm-page-intro>.btn{width:100%}
 .crm-ui :is(.btn,button[type="submit"],summary,.crm-anchor-nav a,.crm-link-action){min-height:48px}
 .crm-ui input:not([type="hidden"]):not([type="checkbox"]),.crm-ui select,.crm-ui textarea{min-height:48px;font-size:16px}
 .crm-ui .crm-filterbar{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:16px}.crm-ui .crm-field:first-child{grid-column:1/-1}.crm-ui .crm-filterbar>button{width:100%;justify-self:stretch}
 .crm-ui .crm-results-head{padding:0 16px 16px;flex-wrap:wrap}.crm-ui .crm-results-head a{min-height:48px}
 .crm-ui .crm-queue-table,.crm-ui .crm-queue-table tbody{display:block}
 .crm-ui .crm-queue-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .crm-ui .crm-queue-table thead tr,.crm-ui .crm-queue-table thead th{display:block;width:1px;max-width:1px;padding:0;white-space:normal;border:0}
 .crm-ui .crm-table-wrap{max-width:100%;overflow-x:clip}
 .crm-ui .crm-queue-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 16px;border-bottom:1px solid var(--macc-border)}
 .crm-ui .crm-queue-table tbody tr:last-child{border-bottom:0}
 .crm-ui .crm-queue-table tbody th,.crm-ui .crm-queue-table tbody td{display:block;width:auto;padding:0;border:0}
 .crm-ui .crm-queue-table tbody th,.crm-ui .crm-queue-table tbody td:nth-child(n+4),.crm-ui .crm-queue-table td[colspan]{grid-column:1/-1}
 .crm-ui .crm-queue-table th a{font-size:16px;min-height:48px;display:flex;align-items:center}
 .crm-ui .crm-cell-label{display:block;font-size:14px;color:var(--macc-text-muted);margin-bottom:6px}
 .crm-ui .crm-date-line{margin-bottom:8px}.crm-ui .crm-date-line strong{display:inline}
 .crm-ui .crm-next-step{display:block;padding:22px}.crm-ui .crm-next-step>.crm-status{margin-top:16px;max-width:100%}.crm-ui .crm-next-step p{display:block}.crm-ui .crm-next-step p>span{display:block;margin:6px 0 0}
 .crm-ui .crm-case-side{grid-template-columns:1fr}.crm-ui .crm-panel-head,.crm-ui .crm-panel-body,.crm-ui .crm-disclosure-body,.crm-ui .crm-service-row,.crm-ui .crm-business-record,.crm-ui .crm-customer-case{padding:16px}
 .crm-ui .crm-record-list.crm-panel-body{padding:16px}.crm-ui .crm-service-row>.crm-disclosure{margin:0 -16px -16px}
 .crm-ui .crm-disclosure>summary{padding:12px 16px}.crm-ui .crm-case-layout,.crm-ui .crm-stack{gap:20px}
 .crm-ui .crm-import-source,.crm-ui .crm-import-decision,.crm-ui .crm-preview-head,.crm-ui .crm-preview-body,.crm-ui .crm-send-decision{padding:20px 16px}
 .crm-ui .crm-actions{flex-direction:column}.crm-ui .crm-send-decision button{width:100%}.crm-ui.crm-reauth{padding:24px;margin:16px 0}
}
.crm-ui .crm-operations-disclosure{font-size:13px;color:var(--macc-text-muted);margin:0 0 12px;background:transparent;border:0;padding:0;box-shadow:none}
.crm-ui .crm-operations-disclosure>summary{min-height:44px;display:list-item;padding:10px 0;cursor:pointer;font-weight:500}
.crm-ui .crm-operations-disclosure .crm-operations{margin:0;padding:8px 0}
/* Focused reply view reuses the exact guarded send panel. */
.crm-ui .crm-dialog-layout{display:grid;grid-template-columns:minmax(280px,0.85fr) minmax(0,1.15fr);gap:24px;align-items:start}
.crm-ui .crm-dialog-context,.crm-ui .crm-dialog-composer{min-width:0;overflow-wrap:anywhere}
.crm-ui .crm-dialog-context h3{font-size:18px;margin-top:0}.crm-ui .crm-dialog-context .crm-customer-text{line-height:1.8;margin:20px 0 28px;white-space:pre-wrap}
.crm-ui .crm-dialog-context hr{border:0;border-top:1px solid var(--macc-border);margin:24px 0}
.crm-ui .crm-dialog-context .crm-facts{margin-top:18px}.crm-ui .crm-dialog-context .crm-status{margin-bottom:8px}
@media(max-width:1100px){.crm-ui .crm-dialog-layout{grid-template-columns:minmax(0,1fr)}.crm-ui .crm-dialog-context .crm-customer-text{max-height:24rem;overflow:auto}}
/* Server-rendered selected case; mobile has its own quick-view surface. */
.crm-ui .crm-queue-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:20px}
.crm-ui.crm-has-selection .crm-queue-layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px)}
.crm-ui .crm-quick-view{min-width:0;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:12px;overflow-wrap:anywhere;scroll-margin-top:20px}
.crm-ui .crm-quick-head,.crm-ui .crm-quick-body,.crm-ui .crm-quick-actions{padding:22px}
.crm-ui .crm-quick-head{border-bottom:1px solid var(--macc-border)}
.crm-ui .crm-quick-head h3{font-size:23px;line-height:1.25;margin:10px 0}.crm-ui .crm-quick-head p{margin:8px 0;color:var(--macc-text-muted)}
.crm-ui .crm-quick-back{display:inline-flex;min-height:44px;align-items:center;font-size:13px}
.crm-ui .crm-quick-next{padding:16px;background:var(--macc-surface-subtle);border-left:3px solid var(--macc-action);border-radius:4px}
.crm-ui .crm-quick-view h4{font-size:14px;margin:0 0 10px}.crm-ui .crm-quick-next>p{margin:0 0 16px}
.crm-ui .crm-quick-places{list-style:none;padding:0;margin:20px 0;font-size:13px}.crm-ui .crm-quick-places li{margin:8px 0}.crm-ui .crm-quick-places small{display:block;color:var(--macc-warning-text)}
.crm-ui .crm-quick-message{border-top:1px solid var(--macc-border);padding-top:20px;font-size:14px;line-height:1.7}.crm-ui .crm-quick-message .crm-muted{font-size:12px}
.crm-ui .crm-quick-actions{display:flex;flex-direction:column;align-items:stretch;text-align:center;gap:12px;border-top:1px solid var(--macc-border)}
.crm-ui .crm-quick-actions>a{min-height:44px;display:flex;align-items:center;justify-content:center;font-weight:600}
.crm-ui .crm-queue-table tbody .crm-row-selected{background:var(--macc-surface-subtle);box-shadow:inset 3px 0 var(--macc-action)}
.crm-ui .crm-queue-table th .crm-open-case{font-size:12px;color:var(--macc-action);min-height:32px}
@media(min-width:1101px){.crm-ui.crm-has-selection .crm-queue-table th,.crm-ui.crm-has-selection .crm-queue-table td{padding:16px 10px}.crm-ui.crm-has-selection .crm-queue-table{font-size:13px}}
@media(max-width:1100px){.crm-ui.crm-has-selection .crm-queue-layout{grid-template-columns:minmax(0,1fr)}.crm-ui.crm-has-selection .crm-table-wrap,.crm-ui.crm-has-selection>.crm-filterbar,.crm-ui.crm-has-selection>.crm-results-head,.crm-ui.crm-has-selection>.crm-work-filters{display:none}.crm-ui .crm-quick-view{max-width:760px;width:100%;justify-self:center}}
.crm-ui.crm-workspace>.crm-filterbar{grid-template-columns:minmax(0,1fr) auto auto;align-items:start;padding:16px 20px;gap:16px}
.crm-ui .crm-advanced-filters{border:0;background:transparent;box-shadow:none;padding:0;margin:28px 0 0;min-width:0}
.crm-ui .crm-advanced-filters>summary{min-height:44px;padding:10px 4px;cursor:pointer;font-size:14px}
.crm-ui .crm-advanced-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:12px 0;max-width:280px}
.crm-ui.crm-workspace>.crm-operations-disclosure{margin-top:16px}
@media(max-width:767px){.crm-ui.crm-workspace>.crm-filterbar{grid-template-columns:minmax(0,1fr) auto;padding:16px}.crm-ui .crm-advanced-filters{margin:0}.crm-ui.crm-workspace>.crm-filterbar>button{grid-column:auto;width:auto;margin:0}.crm-ui .crm-advanced-fields{max-width:none}}
/* CRM work queue: work need and business status stay distinct. */
.crm-ui .crm-work-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.crm-ui .crm-work-filter{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface);color:var(--macc-text);font-weight:600;text-decoration:none}
.crm-ui .crm-work-filter[aria-current="page"]{background:var(--macc-surface-subtle);border-color:var(--macc-action);color:var(--macc-action);box-shadow:inset 0 -3px var(--macc-action)}
.crm-ui a:focus-visible,.crm-ui summary:focus-visible{outline:3px solid var(--macc-action);outline-offset:3px}
.crm-ui .crm-queue-table thead th:nth-child(1){width:37%}.crm-ui .crm-queue-table thead th:nth-child(2){width:30%}.crm-ui .crm-queue-table thead th:nth-child(3){width:16%}.crm-ui .crm-queue-table thead th:nth-child(4){width:17%}
.crm-ui .crm-queue-subject{font-size:14px;color:var(--macc-text-muted);margin:5px 0 8px;line-height:1.5}
.crm-ui .crm-attention{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;font-weight:650;margin:6px 0}
.crm-ui .crm-attention:empty{display:none}.crm-ui .crm-attention-reply{color:var(--macc-action)}
.crm-ui .crm-due-overdue{color:var(--macc-danger-text);font-weight:650}
.crm-ui .crm-queue-next{display:block;font-weight:600;margin-bottom:6px;line-height:1.5}
.crm-ui .crm-sort-note{display:block;font-size:12px;color:var(--macc-text-muted);margin-top:4px}
@media(max-width:767px){.crm-ui .crm-queue-table tbody td:nth-child(2){grid-column:1/-1}.crm-ui .crm-queue-table tbody td:nth-child(4){grid-column:auto}.crm-ui .crm-work-filter{padding:8px 12px}}
@media(max-width:359px){.crm-ui .crm-filterbar{grid-template-columns:1fr}.crm-ui .crm-facts-inline{grid-template-columns:1fr}}
.task-intro{max-width:78ch;font-size:16px}
.task-guide{margin-top:18px}
.task-guide .card h3{margin-top:0;color:var(--macc-text)}
.shift-publishing-steps{margin:14px 0 22px}
.shift-publishing-steps ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;list-style:none;margin:0;padding:0}
.shift-publishing-steps li{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--macc-border);border-radius:9px;color:var(--macc-text-muted);background:var(--macc-surface);font-size:13px;font-weight:620}
.shift-publishing-steps li span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--macc-surface-subtle);border:1px solid var(--macc-border);font-variant-numeric:tabular-nums}
.shift-publishing-steps li[aria-current="step"]{color:var(--go);border-color:var(--macc-info-border);background:var(--macc-selected-surface)}
.shift-publishing-steps li[aria-current="step"] span{background:var(--macc-action);border-color:var(--macc-action);color:var(--macc-on-action)}
.shift-publishing-steps .progress-copy{margin:7px 0 0}
.shift-publishing-source{min-width:0;max-width:100%;overflow-wrap:anywhere}
.shift-publishing-source .area-grid,.shift-publishing-source .card,.shift-publishing-source form,.shift-publishing-source fieldset,.shift-publishing-source .form-grid,.shift-publishing-source .form-grid>p{min-width:0;max-width:100%}
.shift-publishing-source fieldset{min-inline-size:0}
.shift-publishing-source input[type="file"]{display:block;width:100%;min-width:0;max-width:100%}
.shift-publishing-history .shift-history-label{display:none}
.shift-publishing-history .shift-history-value{min-width:0;overflow-wrap:anywhere}
.shift-publishing-history .tablewrap-sticky{max-width:100%;overflow-x:auto}
.shift-publishing-history .shift-history-value>.shift-history-open{display:block;width:max-content;max-width:100%;margin-bottom:4px}
.shift-publishing-history .shift-history-value>.card-sub,.shift-publishing-history .shift-history-value>.technical-ref{display:block}
@media(max-width:767px){
 .shift-publishing-history-table,.shift-publishing-history-table tbody,.shift-publishing-history-table tr{display:block;width:100%;min-width:0}
 .shift-publishing-history-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .shift-publishing-history-table thead th{position:static;min-width:0;padding:0;height:1px}
 .shift-publishing-history-table tr:not(.shift-history-empty){margin:0 0 12px;border:1px solid var(--macc-border);border-radius:9px;background:var(--macc-surface)}
 .shift-publishing-history-table td{display:grid;grid-template-columns:minmax(7rem,.35fr) minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;overflow-wrap:anywhere}
 .shift-publishing-history-table td+td{border-top:1px solid var(--macc-border)}
 .shift-publishing-history-table .shift-history-label{display:block;color:var(--macc-text-muted);font-size:12px;font-weight:600}
 .shift-publishing-history-table .shift-history-open{display:flex;align-items:center;min-height:44px}
 .shift-publishing-history-table .shift-history-empty td{display:block}
}
.shift-publishing-rows-table .group-row th{text-align:left}
.tablewrap-sticky.shift-publishing-tablewrap{max-width:100%;overflow:auto}
.shift-publishing-rows-table .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:767px){
 .shift-publishing-rows-table,.shift-publishing-rows-table tbody,.shift-publishing-rows-table tr{display:block;width:100%;min-width:0}
 .shift-publishing-rows-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .shift-publishing-rows-table thead th{position:static;min-width:0;padding:0;height:1px}
 .shift-publishing-rows-table tr{margin:0 0 12px;border:1px solid var(--macc-border);border-radius:9px;background:var(--macc-surface)}
 .shift-publishing-rows-table tr.group-row{border:0;background:transparent;margin:16px 0 6px}
 .shift-publishing-rows-table tr.group-row th{display:block;min-width:0;padding:0;overflow-wrap:anywhere;position:static;background:transparent;border:0}
 .shift-publishing-rows-table td{display:grid;grid-template-columns:minmax(6.5rem,.35fr) minmax(0,1fr);gap:10px;align-items:start;min-width:0;padding:10px 12px;overflow-wrap:anywhere;border:0}
 .shift-publishing-rows-table td+td{border-top:1px solid var(--macc-border)}
 .shift-publishing-result-table td>span{min-width:0;overflow-wrap:anywhere}
 .shift-publishing-result-table .pill{white-space:normal;max-width:100%}
 .shift-publishing-rows-table td::before{content:attr(data-label);color:var(--macc-text-muted);font-size:12px;font-weight:600}
 .shift-publishing-rows-table td[colspan]{display:block}
 .shift-publishing-rows-table td[colspan]::before{content:none}
 .shift-publishing-rows-table td:first-child label{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
 .shift-publishing-rows-table td:first-child input[type="checkbox"]{width:22px;height:22px}
 .shift-publishing-rows-table .card-sub,.shift-publishing-rows-table .field-error{display:block}
 .shift-publishing-rows-table pre{max-width:100%;overflow-x:auto}
}
.optional-input{margin:16px 0;padding:12px 14px;border:1px solid var(--macc-border);border-radius:9px;background:var(--macc-surface-subtle)}
.optional-input legend{padding:0 5px;font-size:13px;font-weight:680}
.technical-details{margin:14px 0}
.technical-details>summary{cursor:pointer;color:var(--macc-text-muted);font-size:13px;font-weight:650}
.technical-details>summary:hover{color:var(--macc-text)}
.progress{display:block;width:100%;height:9px;border:0;background:var(--macc-border);border-radius:20px;overflow:hidden;margin:12px 0 5px;appearance:none}
.progress::-webkit-progress-bar{background:var(--macc-border);border-radius:20px}
.progress::-webkit-progress-value{background:var(--macc-action);border-radius:20px}
.progress::-moz-progress-bar{background:var(--macc-action);border-radius:20px}
.progress-copy{font-size:13px;color:var(--macc-text-muted);font-variant-numeric:tabular-nums}
.filterbar{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.filterbar a{padding:6px 10px;border:1px solid var(--macc-border);border-radius:20px;text-decoration:none;font-size:13px;color:var(--macc-text-muted)}
.filterbar a[aria-current="page"]{background:var(--macc-selected-surface);border-color:var(--macc-info-border);color:var(--go)}
.member-index{font-size:12px;font-weight:700;color:var(--macc-text-muted);font-variant-numeric:tabular-nums}
.technical-ref{font-family:var(--mono);font-size:11.5px;color:var(--macc-text-muted)}
.inline-forms{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.inline-forms form{margin:0}
.bulk-entry select,.bulk-entry input[type="text"]{min-width:8rem}
.bulk-group{margin:22px 0}
.bulk-review-table th.num,.bulk-review-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.bulk-review-table td{vertical-align:top;overflow-wrap:anywhere}
.bulk-review-table td[data-label="Månad"],.bulk-review-table td.num,.bulk-review-table th.num{white-space:nowrap;overflow-wrap:normal}
.bulk-review-table td[data-label="Orsak"]{min-width:0;white-space:normal;overflow-wrap:anywhere}
.bulk-review-table td[data-label="Orsak"] .pill{display:inline-flex;max-width:100%;white-space:normal;text-align:left}
.bulk-review-table td[data-label="Orsak"] code{overflow-wrap:anywhere}
@media(min-width:768px){.bulk-review-table th,.bulk-review-table td{padding-left:8px;padding-right:8px}}
/* Long ids in run and archive cards wrap instead of widening the page. */
.cards .card{min-width:0;max-width:100%}
.cards .card-head>div{min-width:0;max-width:100%}
.cards .card-title,.cards .card-title a,.cards .card-title code,.cards .card-sub,.cards .card-msg,.cards .technical-ref{overflow-wrap:anywhere}
.pager{margin:16px 0;justify-content:space-between}
@media(max-width:767px){
 .bulk-review-table,.bulk-review-table tbody,.bulk-review-table tr{display:block;width:100%;min-width:0}
 .bulk-review-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .bulk-review-table tr{margin:0 0 12px;border:1px solid var(--macc-border);border-radius:9px;background:var(--macc-surface)}
 .bulk-review-table td{display:grid;grid-template-columns:minmax(6rem,.35fr) minmax(0,1fr);gap:10px;text-align:left!important;border:0}
 .bulk-review-table td+td{border-top:1px solid var(--macc-border)}
 .bulk-review-table td::before{content:attr(data-label);color:var(--macc-text-muted);font-size:12px;font-weight:600}
 .bulk-review-table td>*{grid-column:2;min-width:0;justify-self:start}
 .bulk-review-table td>br{display:none}
 .bulk-review-table td[data-label="Orsak"]>code{margin:2px 0 6px}
}

table{border-collapse:collapse;width:100%;font-size:14px;background:var(--macc-surface);
  border:1px solid var(--macc-border);border-radius:var(--radius);overflow:hidden}
thead th{text-align:left;font-weight:620;color:var(--macc-text-muted);font-size:12px;letter-spacing:.03em;
  text-transform:uppercase;padding:11px 14px;background:var(--macc-surface-subtle);border-bottom:1px solid var(--macc-border);white-space:nowrap}
tbody td{padding:11px 14px;border-bottom:1px solid var(--macc-border)}
tbody tr:last-child td{border-bottom:none}

.pill{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:650;
  padding:3px 10px;border-radius:999px;border:1px solid;white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill-ok{color:var(--macc-success-text);background:var(--macc-success-surface);border-color:var(--macc-success-border)}
.pill-wait{color:var(--macc-warning-text);background:var(--macc-warning-surface);border-color:var(--macc-warning-border)}
.pill-stop{color:var(--macc-danger-text);background:var(--macc-danger-surface);border-color:var(--macc-danger-border)}
.pill-go{color:var(--go);background:var(--macc-selected-surface);border-color:var(--macc-info-border)}
.pill-muted{color:var(--macc-text-muted);background:var(--macc-surface-subtle);border-color:var(--macc-border)}

.cards{display:flex;flex-direction:column;gap:12px;margin:14px 0}
.insikt-metrics,.insikt-source-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0 24px}
.insikt-metric{display:flex;flex-direction:column;gap:4px}
.insikt-metric strong{font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums}
.insikt-metric small,.insikt-detail-table small{display:block;color:var(--macc-text-muted);font-size:12.5px}
.insikt-source-time{color:var(--macc-text-muted);font-size:13px}
.insikt-detail-table{min-width:760px}
.insikt-refresh-banner{margin-top:0}
.insikt-week-selector{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin:0 0 22px}
.insikt-week-selector label{display:flex;flex-direction:column;gap:5px}
.insikt-week-selector input[type="date"]{width:auto}
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:14px 0 28px}
.area-grid-admin{grid-template-columns:minmax(280px,560px)}
.area-grid .card{height:100%}
.home-overview{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}
.home-overview-single{grid-template-columns:minmax(0,720px)}
.home-primary,.home-secondary{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.home-panel-head{padding:18px 22px;border-bottom:1px solid var(--macc-border)}
.home-panel-head h3{margin:0;color:var(--macc-text);font-size:17px}
.home-area{padding:18px 22px}
.home-area + .home-area{border-top:1px solid var(--macc-border)}
.home-area h3{margin:0;color:var(--macc-text);font-size:15.5px}
.home-area .card-sub{margin:4px 0 0}
.home-area .card-msg{margin:14px 0 0;padding-top:14px;border-top:1px solid var(--macc-border);color:var(--macc-text-muted)}
.home-area .card-action{margin-top:12px}
.home-administration{max-width:560px;margin-top:28px}
.card{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:16px 18px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.card-title{font-size:15.5px;font-weight:650;letter-spacing:-.01em}
.card-sub{color:var(--macc-text-muted);font-size:14px;margin-top:3px}
.card-body{margin-top:12px;padding-top:12px;border-top:1px solid var(--macc-border);
  display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.card-msg{font-size:14px;flex:1;min-width:200px}
.card-action{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--macc-action);font-size:14px;font-weight:700;text-decoration:none}
.card-action:hover{text-decoration:underline}
.note{display:flex;gap:9px;align-items:flex-start;font-size:14px;color:var(--macc-text-muted);
  background:var(--macc-surface-subtle);border:1px solid var(--macc-border);border-radius:8px;padding:10px 13px;margin:14px 0}
/* A note that is a PARAGRAPH is prose, and flex makes every <em>, <strong> and
   <a> inside it its own column: the refusal banner rendered as three blocks
   ("Lund", the message, "Gå till raden") and the unit catalog's note broke
   mid-sentence around the words it emphasises. The flex box is still what a
   note built out of separate parts wants, so it stays — this only says that a
   sentence is laid out as a sentence. */
p.note{display:block}
.note-good{color:var(--macc-success-text);background:var(--macc-success-surface);border-color:var(--macc-success-border)}
.note-wait{color:var(--macc-warning-text);background:var(--macc-warning-surface);border-color:var(--macc-warning-border)}
.note-error{color:var(--macc-danger-text);background:var(--macc-danger-surface);border-color:var(--macc-danger-border)}
.note,.error{overflow-wrap:anywhere}
.pause-banner>div{min-width:0}.pause-banner h3{margin:0 0 6px;color:inherit}.pause-banner ul{margin:6px 0 10px;padding-left:22px}.pause-banner p{margin:8px 0;color:inherit}
.pause-tech{font-size:13px}.pause-tech summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.pause-tech p{margin:4px 0 0}
.pause-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media(max-width:767px){.pause-banner .btn,.pause-actions .btn,.pause-actions button{width:100%;justify-content:center;white-space:normal;text-align:center}}
/* The plain error message several forms render: it looked like body text. */
.error{display:block;margin:14px 0;padding:10px 13px;border:1px solid var(--macc-danger-border);border-radius:8px;background:var(--macc-danger-surface);color:var(--macc-danger-text);font-size:14px;font-weight:600}
ul.error{padding-left:32px}

ul.codelist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
ul.codelist li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
ul.codelist code{color:var(--macc-text-muted);font-size:11.5px}
.compact-list{margin:7px 0 0;padding-left:20px}
.compact-list li{margin:3px 0}
.page-heading,.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.section-head{margin-top:30px}
.section-head h2{margin-top:0}
.group-label{margin:38px 0 0;font-size:12px;color:var(--macc-text-muted);font-weight:560;
  text-transform:uppercase;letter-spacing:.03em}
.group-label + section .section-head{margin-top:10px}
.control-ref{font-family:var(--mono);font-size:11.5px;font-weight:500;color:var(--macc-text-muted);white-space:nowrap}

/* Fullrapporten är en beläggsvy. Åtgärdsrader ligger öppna medan metod,
   fullständiga räknare och stöddata visas först när läsaren ber om dem. */
.evidence-source-strip{margin:12px 0 10px}
.evidence-return{position:fixed;right:20px;bottom:20px;z-index:20;display:flex;align-items:center;gap:12px;
  width:max-content;max-width:calc(100vw - 40px);margin:0;padding:6px;background:var(--macc-surface);
  border:1px solid var(--macc-border);border-radius:10px;box-shadow:var(--shadow)}
.evidence-return .btn{padding:7px 11px;background:var(--macc-surface);font-size:12.5px}
.evidence-return span{padding-right:8px;color:var(--macc-text-muted);font-size:12px;white-space:nowrap}
.evidence-return-space{height:72px}
.evidence-card [id],.evidence-incident[id]{scroll-margin-top:110px}
.evidence-source-details{margin:14px 0 22px}
.evidence-source-details>summary{cursor:pointer;color:var(--macc-text-muted);font-size:13px;font-weight:650}
.evidence-source-details>summary:hover{color:var(--macc-text)}
.evidence-card{margin:0;padding:22px 0;background:transparent;border:0;border-top:1px solid var(--macc-border);
  border-radius:0;box-shadow:none}
.evidence-card-secondary{background:transparent}
.evidence-card .section-head{margin:0 0 12px;align-items:center}
.evidence-card .section-head>div{min-width:0;flex:1}
.evidence-card .section-head h2{font-size:17px;line-height:1.3;margin:0;letter-spacing:-.01em}
.evidence-card h3{font-size:14px;margin:18px 0 2px}
.evidence-hint{color:var(--macc-text-muted);font-size:12.5px;margin:2px 0 8px}
.evidence-diagnostic{display:grid;gap:4px;margin:4px 0 14px;padding:11px 13px;background:var(--macc-surface);
  border:1px solid var(--macc-border);border-radius:9px;font-size:12.5px}
.evidence-diagnostic strong{font-size:13px}
.evidence-diagnostic span{color:var(--macc-text-muted)}
.evidence-diagnostic b{color:var(--macc-text);font-weight:650}
.evidence-incident-list{display:grid;gap:10px;margin:8px 0 18px}
.evidence-incident{padding:14px 16px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px}
.evidence-incident:target{border-color:color-mix(in srgb,var(--macc-action) 45%,var(--macc-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--macc-action) 10%,transparent)}
.evidence-incident-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px}
.evidence-incident-head h4{margin:0;font-size:14.5px}
.evidence-incident-head span,.evidence-incident-source{color:var(--macc-text-muted);font-size:12px}
.evidence-incident-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:0}
.evidence-incident-facts div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px}
.evidence-incident-facts dt{color:var(--macc-text-muted);font-size:12px}
.evidence-incident-facts dd{margin:0;font-size:12.5px;font-weight:570}
.evidence-incident-source{margin:10px 0 0}
.evidence-explain,.evidence-counts{margin:8px 0 12px}
.evidence-explain>summary,.evidence-counts>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  color:var(--macc-text-muted);font-size:12.5px;font-weight:620}
.evidence-explain>summary:hover,.evidence-counts>summary:hover{color:var(--macc-text)}
.evidence-explain>p{max-width:86ch;color:var(--macc-text-muted);font-size:12.5px;margin:8px 0}
.evidence-counts>dl{margin:9px 0 4px;background:var(--macc-surface-subtle);box-shadow:none}
.evidence-card>.tablewrap{margin-top:8px}
.evidence-card>p:not(.note):not(.evidence-hint){font-size:13px;color:var(--macc-text-muted);margin:8px 0}
.evidence-card .fold{margin-bottom:0}
.evidence-status{display:inline-flex;align-items:center;gap:7px;color:var(--macc-text-muted);font-size:12px;font-weight:620;white-space:nowrap}
.evidence-status::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--macc-text-muted)}
.evidence-status-wait::before{background:var(--macc-warning-text)}
.evidence-status-stop::before{background:var(--macc-danger-text)}
.evidence-status-ok::before{background:var(--macc-success-text)}
.evidence-status-quiet{font-weight:500}
.evidence-status-quiet::before{display:none}

/* Schemaöversikten visar samma verifierade grupper som rapporten, ordnade som
   en kompakt arbetslista. Detaljbeviset ligger kvar i kontrollsektionen. */
.schema-dashboard{display:flex;flex-direction:column;gap:20px}
.dashboard-heading{display:flex;align-items:center;gap:18px;min-height:44px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:8px;padding:8px 16px}
.dashboard-period{font-size:12.5px;white-space:nowrap}
.dashboard-sources{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0;padding:0;list-style:none;font-size:12px;color:var(--macc-text-muted)}
.dashboard-source{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dashboard-source::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--macc-text-muted)}
.dashboard-source-read::before{background:var(--macc-success-text)}
.dashboard-source-blocked::before{background:var(--macc-danger-text)}
.dashboard-source-unknown::before{background:var(--macc-warning-text)}
.dashboard-alerts{display:flex;flex-direction:column;gap:8px}
.dashboard-alerts .note{margin:0}
.dashboard-filterrow{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 18px}
.dashboard-filterbar{display:inline-flex;border:1px solid var(--macc-border);border-radius:8px;padding:4px;background:var(--macc-surface)}
.dashboard-filterbar a{display:inline-flex;align-items:center;min-height:36px;padding:6px 12px;border-radius:6px;color:var(--macc-text-muted);font-size:13px;font-weight:650;text-decoration:none}
.dashboard-filterbar a[aria-current="page"]{background:var(--macc-selected-surface);color:var(--macc-brand-dark)}
.dashboard-filterbar a:hover{text-decoration:underline}
.dashboard-settings-link{display:inline-flex;align-items:center;min-height:44px;color:var(--macc-action-hover);font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap}
.dashboard-settings-link:hover{text-decoration:underline}
.dashboard-row-links{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;font-size:12px}
.dashboard-row-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px;color:var(--macc-text-muted);font-weight:600;text-decoration:none;white-space:nowrap}
.dashboard-row-links a:hover{text-decoration:underline}
.dashboard-row-links .dashboard-action{color:var(--macc-action-hover);font-size:14px;font-weight:680}
.dashboard-target{color:var(--macc-text-muted);font-size:11.5px;white-space:nowrap}
.dashboard-filter-empty{margin:0;padding:18px 16px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);color:var(--macc-text-muted)}
.dashboard-limitation{font-size:14px;color:var(--macc-text-muted);margin:0 2px}
.dashboard-planday{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;
  color:var(--macc-text);background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px}
.dashboard-planday div{display:flex;flex-direction:column;gap:2px}
.dashboard-planday span{font-size:14px}
.dashboard-planday a{color:var(--macc-action-hover);font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap}
.dashboard-empty{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.dashboard-empty h3{margin:0;color:var(--macc-text);font-size:18px}
.worklist-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.worklist-stat{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius)}
.worklist-stat span{font-size:13px;font-weight:650;color:var(--macc-text-muted)}
.worklist-stat strong{font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}
.worklist-stat small{font-size:12.5px;color:var(--macc-text-muted)}
.worklist-stat-stop{background:var(--macc-danger-surface);border-color:var(--macc-danger-border)}
.worklist-stat-stop span,.worklist-stat-stop strong,.worklist-stat-stop small{color:var(--macc-danger-text)}
.worklist-stat-wait{background:var(--macc-warning-surface);border-color:var(--macc-warning-border)}
.worklist-stat-wait span,.worklist-stat-wait strong,.worklist-stat-wait small{color:var(--macc-warning-text)}
.worklist-caveat,.worklist-section-hint,.worklist-footer{margin:0 2px;font-size:14px;color:var(--macc-text-muted)}
.worklist-section{display:flex;flex-direction:column;gap:10px}
.worklist-section h3{margin:8px 0 0;font-size:18px;color:var(--macc-text)}
.worklist-filterbar{flex-wrap:wrap}
.worklist-rows{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.worklist-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;padding:14px 16px;border-top:1px solid var(--macc-border);scroll-margin-top:90px}
.worklist-row:first-child{border-top:0}
.worklist-row-main h4{margin:0;font-size:15px;line-height:1.35;color:var(--macc-text)}
.worklist-row-main p{margin:3px 0 0;font-size:14px;line-height:1.45}
.worklist-facts{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:2px 16px;font-size:13px;color:var(--macc-text-muted);font-variant-numeric:tabular-nums}
.booking-timing{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:6px 16px;margin:12px 0;font-size:14px;line-height:1.45}
.booking-timing dt{font-weight:650}
.booking-timing dd{margin:0;white-space:pre-line;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:480px){.booking-timing{grid-template-columns:minmax(0,1fr);gap:3px}.booking-timing dd{margin-bottom:6px}}
.worklist-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}
.worklist-action{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:6px;background:var(--macc-danger-surface);color:var(--macc-danger-text);font-size:13px;font-weight:650;text-decoration:none}
a.worklist-action{min-height:44px;text-decoration:underline}
.worklist-row-gap .worklist-action{background:var(--macc-warning-surface);color:var(--macc-warning-text)}
.worklist-action-done{background:var(--macc-success-surface);color:var(--macc-success-text)}
.worklist-evidence{display:inline-flex;align-items:center;min-height:32px;font-size:13px;color:var(--macc-text-muted)}
.worklist-row-decisions{grid-column:1 / -1}
.worklist-row-decisions .finding-decision{margin-top:0}
.worklist-row-handled .worklist-row-main h4,.worklist-row-handled .worklist-row-main p{color:var(--macc-text-muted)}
.worklist-footer a{color:var(--macc-action-hover)}
@media(max-width:640px){
  .worklist-row{grid-template-columns:minmax(0,1fr)}
  .worklist-row-side{align-items:flex-start;text-align:left}
  .worklist-evidence{min-height:44px}
  .worklist-filterbar{display:flex;width:100%}
  .worklist-filterbar a{flex:1 1 auto;justify-content:center}
}

.home-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 22px}
.home-stat{display:flex;flex-direction:column;min-height:120px;padding:18px 20px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);box-shadow:var(--shadow)}
.home-stat>span{color:var(--macc-text-muted);font-size:13px;font-weight:650}
.home-stat>strong{margin-top:5px;color:var(--macc-text);font-size:28px;line-height:1.1;font-variant-numeric:tabular-nums}
.home-stat>small{margin-top:auto;padding-top:10px;color:var(--macc-text-muted);font-size:12px}
.home-attention .home-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.home-attention .dashboard-alerts{padding:14px 18px 0}
.home-attention-list{background:var(--macc-surface)}
.home-attention-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-height:108px;padding:14px 20px;border-top:1px solid var(--macc-border)}
.home-attention-main>strong,.home-attention-main>small{display:block}
.home-attention-main>strong{font-size:14px}
.home-attention-main>small{margin-top:4px;color:var(--macc-text-muted);font-size:12px}
.home-attention-main .dashboard-row-links{justify-content:flex-start;margin-top:4px}
.home-attention-count{font-size:20px;font-weight:720;font-variant-numeric:tabular-nums}
.home-attention-empty{margin:0;padding:22px;color:var(--macc-text-muted)}
.home-attention>.dashboard-limitation{margin:0;padding:14px 20px;border-top:1px solid var(--macc-border)}
.home-aside{display:flex;flex-direction:column;gap:18px}

.tablewrap{overflow-x:auto}
table caption{caption-side:top;text-align:left;padding:10px 14px;font-size:12.5px;color:var(--macc-text-muted);
  background:var(--macc-surface-subtle);border-bottom:1px solid var(--macc-border)}

/* ---- The mapping grid -------------------------------------------------
   A long form rendered as a table: 83 places by seven columns, filled in by
   one person in one sitting. Two things have to stay on screen the whole
   way down — which column a box belongs to, and which place a row is — and
   both are done with position:sticky against the VIEWPORT.

   That is the reason there is no overflow container anywhere between these
   cells and the window. A scroll container in either axis becomes the
   scrollport sticky measures against, and a wrapper that is only ever
   scrolled horizontally never moves vertically, so "top" would pin the
   headings to a box that never scrolls — which is to say, not at all. The
   old .tablewrap{overflow-x:auto} did exactly that. The page scrolls
   sideways instead when the grid is wider than the window; the headings and
   the place column keep following at every width. */
.tablewrap-sticky{overflow:visible}
table.grid{border-radius:0;overflow:visible;border-left:none;border-right:none}
table.grid thead th{position:sticky;top:var(--topbar-h);z-index:3;
  vertical-align:bottom;white-space:normal;text-transform:none;letter-spacing:0;
  padding:9px 12px;min-width:150px}
/* --topbar-h was written as a constant the two could not drift apart from.
   They drifted anyway, because the topbar has no constant height: .topbar is
   capped at 960px with flex-wrap:wrap, so it wraps to a second line as soon as
   the nav or the signed-in principal's grants grow — and the grants differ per
   operator. On drift-staging it wrapped, the topbar painted over the top of the
   heading row (z-index 10 beats 3) and only the last line of each hint stayed
   visible. Without client JS there is nothing to measure the real height with,
   so the wide layout removes the offset instead of trying to track it: the
   topbar scrolls away and the headings pin to the viewport itself. The place
   column and the button row are unaffected — neither depends on a height. */
body.wide header{position:static}
body.wide table.grid thead th{top:0}
/* border-collapse drops the borders of sticky cells once they detach, so the
   rules that have to survive scrolling are drawn as shadows instead. */
table.grid thead th{box-shadow:inset 0 -1px 0 var(--macc-border)}
.th-title{display:block;font-size:12px;font-weight:680;letter-spacing:.03em;text-transform:uppercase;color:var(--macc-text)}
.th-hint{display:block;margin-top:2px;font-size:11.5px;font-weight:450;color:var(--macc-text-muted);
  text-transform:none;letter-spacing:0;line-height:1.35;max-width:26ch}

table.grid th.col-place{position:sticky;left:0;z-index:2;background:var(--macc-surface);
  text-align:left;font-weight:600;color:var(--macc-text);font-size:13px;vertical-align:top;
  padding:11px 14px;min-width:180px;box-shadow:inset -1px 0 0 var(--macc-border)}
table.grid thead th.col-place{z-index:4;background:var(--macc-surface-subtle);
  box-shadow:inset -1px 0 0 var(--macc-border),inset 0 -1px 0 var(--macc-border)}
table.grid td{vertical-align:top}
table.grid td input[type="text"]{max-width:none;padding:6px 9px;font-size:13.5px}
table.grid select{font-family:inherit;font-size:13.5px;padding:6px 9px;border:1px solid var(--macc-border);
  border-radius:8px;background:var(--macc-surface);color:var(--macc-text);width:100%}
/* The row a refusal names. The sticky place column carries its own opaque
   background, so the tint has to be set on that cell too or the row reads as
   ending where the column begins. */
table.grid tr.row-refused>td{background:var(--macc-danger-surface)}
table.grid tr.row-refused>th.col-place{background:var(--macc-danger-surface);box-shadow:inset -1px 0 0 var(--macc-danger-border),inset 3px 0 0 var(--macc-danger-text)}
table.grid th.col-narrow{min-width:110px}
table.grid th.col-unit{min-width:300px}

/* The unit cell answers three separate questions and now says which is which
   where the box actually is, instead of in a paragraph below 83 rows. */
.unit-field{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.unit-field:last-child{margin-bottom:0}
.unit-label{flex:0 0 62px;font-size:11px;color:var(--macc-text-muted);font-weight:600;
  text-transform:uppercase;letter-spacing:.03em}
/* The shared list is the rarest control in the cell and by far the tallest: a
   multiple selection needs four lines, in every one of 83 rows, for something
   fewer than ten of them will ever use. Folded it is one line, and a shut
   <details> still submits what it holds, so nothing depends on opening it. */
.unit-shared{margin-top:7px;padding-top:7px;border-top:1px dashed var(--macc-border)}
.unit-shared>summary{font-size:11px;color:var(--macc-text-muted);font-weight:600;
  text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
.unit-shared>p{margin:6px 0 4px}
table.grid select[multiple]{padding:4px}
.note-inline{font-size:12px;color:var(--macc-text-muted);line-height:1.35}

/* The one place a unit is still typed — "Lägg till en enhet" — sits outside
   the grid, so the grid's own control styling does not reach it. */
details.help .unit-field{max-width:420px}
details.help .unit-field select,details.help .unit-field input[type="text"]{font-family:inherit;
  font-size:13.5px;padding:6px 9px;border:1px solid var(--macc-border);border-radius:8px;
  background:var(--macc-surface);color:var(--macc-text);width:100%;max-width:none}

tr.service-row td,tr.service-row th{background:var(--macc-surface-subtle)}
.service-parent{font-size:12px;color:var(--macc-text-muted);font-weight:550}
table.grid tr.service-row th.col-place{background:var(--macc-surface-subtle)}

/* Schemarapportens två långa listor. Fälld är sammanfattningen hela raden,
   och den ska läsa som en åtgärd man kan välja bort — inte som en rubrik. */
details.fold{margin:10px 0}
details.fold>summary{display:inline-block;font-size:13px;font-weight:600;color:var(--macc-text-muted);
  cursor:pointer;padding:4px 0}
details.fold>summary:hover{color:var(--macc-text)}
details.fold[open]>summary{margin-bottom:4px}

details.help{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);
  padding:12px 16px;margin:14px 0;box-shadow:var(--shadow)}
details.help summary{font-weight:640;font-size:14px;cursor:pointer}
details.help p{font-size:13px;color:var(--macc-text-muted);margin:10px 0 0;max-width:90ch}

/* Saving is the bottom of a very long page; without this the operator scrolls
   back down past every row they just filled in to reach the button. */
/* Pinned in both axes: the page scrolls sideways when the grid is wider than
   the window, and a save button that only followed vertically slid out of
   view the moment an operator scrolled right to reach the HLTHY column. */
.form-actions{position:sticky;bottom:0;left:0;z-index:5;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  width:fit-content;max-width:100%;
  margin:0;padding:12px 16px;background:var(--macc-surface);border:1px solid var(--macc-border);
  border-radius:var(--radius);box-shadow:var(--shadow)}

input[type="text"],input[type="password"],input[type="date"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],select,textarea{font-family:inherit;font-size:14px;padding:8px 11px;
  min-height:44px;border:1px solid var(--macc-control-border);border-radius:8px;background:var(--macc-surface);color:var(--macc-text);width:100%;max-width:340px}
textarea{max-width:none;resize:vertical;font-family:var(--mono);line-height:1.45;margin-top:12px}
select[multiple]{min-height:7.5rem}
input[type="file"]{font-family:inherit;font-size:14px}
label{font-size:14px;font-weight:600}
fieldset{border:1px solid var(--macc-border);border-radius:var(--radius);padding:14px 16px;margin:14px 0;background:var(--macc-surface)}
legend{font-size:15px;font-weight:700;padding:0 7px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.form-grid p{margin:4px 0}

.vacant-shifts{min-width:0;max-width:100%;overflow-wrap:anywhere}
.vacant-shifts form,.vacant-shifts-results{min-width:0;max-width:100%}
.vacant-shift-primary-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.vacant-shifts label{min-width:0;overflow-wrap:anywhere}
.vacant-shift-primary-filters input,.vacant-shift-primary-filters select{display:block;max-width:100%;margin-top:5px}
.vacant-shift-filters{margin:14px 0;padding:12px 16px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius)}
.vacant-shift-filters>summary,.vacant-shifts-copy>summary{min-height:44px;padding:8px 0;font-weight:650;cursor:pointer}
.vacant-shift-filters[open]>summary,.vacant-shifts-copy[open]>summary{margin-bottom:12px}
.vacant-shift-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vacant-shift-filter{min-width:0;min-inline-size:0;margin:0;padding:10px 12px}
.vacant-shift-filter legend{max-width:100%;overflow-wrap:anywhere}
.vacant-shift-options{max-height:15rem;overflow:auto;overscroll-behavior:contain}
.vacant-shift-option{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 4px;font-weight:500;cursor:pointer}
.vacant-shift-option input{flex:none;width:18px;height:18px;margin:3px 0 0;accent-color:var(--macc-action)}
.vacant-shifts :focus-visible{outline:3px solid var(--macc-action);outline-offset:2px}
.vacant-shift-presentation .check{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:14px}
.vacant-shifts-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0;padding:0;border:0;background:none;box-shadow:none}
.vacant-shifts-summary>div{min-width:0;padding:10px 12px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface)}
.vacant-shifts-summary dt{overflow-wrap:anywhere}
.vacant-shifts-table-wrap{max-width:100%;overflow-x:auto}
.vacant-shifts-table{min-width:780px;table-layout:fixed}
.vacant-shifts-table th{min-width:0;white-space:normal;overflow-wrap:anywhere;text-transform:none;letter-spacing:0}
.vacant-shifts-table td{vertical-align:top;overflow-wrap:anywhere}
.vacant-shift-cell-label{display:none}
.vacant-shift-cell-value{min-width:0;overflow-wrap:anywhere}
.vacant-shifts-copy{margin-top:18px;padding:12px 16px;border:1px solid var(--macc-border);border-radius:var(--radius);background:var(--macc-surface)}
.vacant-shifts-copy-list{display:grid;gap:12px}
@media(max-width:767px){
 .vacant-shift-primary-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vacant-shift-filter-grid{grid-template-columns:minmax(0,1fr)}
 .vacant-shifts-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vacant-shift-options{max-height:13rem}
 .vacant-shift-option{min-height:48px;padding-block:10px}
 .vacant-shifts-table,.vacant-shifts-table tbody,.vacant-shifts-table tr{display:block;width:100%;min-width:0}
 .vacant-shifts-table{table-layout:auto}
 .vacant-shifts-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .vacant-shifts-table thead th{position:static;min-width:0;padding:0;height:1px}
 .vacant-shifts-table tr:not(.vacant-shifts-empty){margin:0 0 12px;border:1px solid var(--macc-border);border-radius:9px;background:var(--macc-surface)}
 .vacant-shifts-table td{display:grid;grid-template-columns:minmax(6.5rem,.36fr) minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px}
 .vacant-shifts-table td+td{border-top:1px solid var(--macc-border)}
 .vacant-shift-cell-label{display:block;color:var(--macc-text-muted);font-size:12px;font-weight:600}
 .vacant-shifts-table .vacant-shifts-empty td{display:block}
}

.planday-candidate-list{min-width:0;max-width:100%;overflow-wrap:anywhere}
.planday-candidate-filters{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.planday-candidate-filters a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;padding:8px 12px;
  border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface);color:var(--macc-text);font-weight:600;text-decoration:none}
.planday-candidate-filters a:hover{border-color:var(--macc-action);color:var(--macc-action)}
.planday-candidate-filters a[aria-current="page"]{border-color:var(--macc-action);background:var(--macc-selected-surface);color:var(--macc-brand-dark)}
.planday-candidate-count{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--macc-text-muted)}
.planday-candidate-table-wrap{max-width:100%;overflow-x:auto}
.planday-candidate-table{min-width:800px;table-layout:fixed}
.planday-candidate-table th{min-width:0;white-space:normal;overflow-wrap:anywhere;text-transform:none;letter-spacing:0}
.planday-candidate-table th:nth-child(1){width:12%}
.planday-candidate-table th:nth-child(2){width:18%}
.planday-candidate-table th:nth-child(3){width:18%}
.planday-candidate-table th:nth-child(4){width:20%}
.planday-candidate-table th:nth-child(5){width:32%}
.planday-candidate-table td{vertical-align:top;overflow-wrap:anywhere}
.planday-candidate-cell-label{display:none}
.planday-candidate-cell-value{min-width:0;overflow-wrap:anywhere}
.planday-candidate-status{display:grid;justify-items:start;gap:4px;margin-bottom:4px}
.planday-candidate-fact{display:block;color:var(--macc-text-muted);font-size:12.5px;overflow-wrap:anywhere}
.planday-candidate-empty{padding:16px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface-subtle)}
.planday-candidate-result-count{font-weight:650}
@media(max-width:767px){
 .planday-candidate-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .planday-candidate-filters a{min-width:0;overflow-wrap:anywhere}
 .planday-candidate-table-wrap{overflow:visible}
 .planday-candidate-table,.planday-candidate-table tbody,.planday-candidate-table tr{display:block;width:100%;min-width:0}
 .planday-candidate-table{table-layout:auto}
 .planday-candidate-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .planday-candidate-table thead th{position:static;min-width:0;padding:0;height:1px}
 .planday-candidate-table tr{margin:0 0 12px;border:1px solid var(--macc-border);border-radius:9px;background:var(--macc-surface)}
 .planday-candidate-table td{display:grid;grid-template-columns:minmax(6.5rem,.38fr) minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border:0}
 .planday-candidate-table td+td{border-top:1px solid var(--macc-border)}
 .planday-candidate-cell-label{display:block;color:var(--macc-text-muted);font-size:12px;font-weight:650;overflow-wrap:anywhere}
 .planday-candidate-table a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}
}

/* ---- The pass review list ---------------------------------------------
   One chronological sequence of rows, not a table: a row carries a whole
   form (six fields, a stop table and a derivation) and is a different width
   at every state, which a grid cannot hold without the columns fighting.

   The day heading is sticky against the VIEWPORT, for the same reason the
   mapping grid's headings are — there is no overflow container between it
   and the window, and body.wide makes the topbar static so top:0 is the
   real top. Its background is opaque on purpose: rows scroll underneath it. */
.daymark{position:sticky;top:0;z-index:5;margin:26px 0 8px;padding:7px 0;
  background:var(--macc-canvas);font-size:12px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--macc-text)}
.daymark-iso{font-family:var(--mono);font-weight:500;font-size:11.5px;color:var(--macc-text-muted);
  text-transform:none;letter-spacing:0;margin-left:6px}

.passrow{display:block;background:var(--macc-surface);border:1px solid var(--macc-border);
  border-radius:var(--radius);box-shadow:var(--shadow);margin:8px 0;overflow:hidden}
.passrow>summary{list-style:none;cursor:pointer}
.passrow>summary::-webkit-details-marker{display:none}
.passrow-rail{flex:0 0 44px;display:flex;justify-content:center;padding:14px 0;
  background:var(--macc-surface-subtle);border-right:1px solid var(--macc-border)}
.passrow-nr{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--macc-text-muted)}
/* The state is carried by the rail, not by the row's own border: a red border
   around a 300px-tall form reads as "this whole pass is wrong" when what is
   wrong is one field. */
.passrow-ok .passrow-rail{box-shadow:inset 3px 0 0 var(--macc-success-text)}
.passrow-wait .passrow-rail{box-shadow:inset 3px 0 0 var(--macc-warning-text)}
.passrow-stop .passrow-rail{box-shadow:inset 3px 0 0 var(--macc-danger-text)}
.passrow-go .passrow-rail{box-shadow:inset 3px 0 0 var(--go)}
.passrow-has-error{border-color:var(--macc-danger-border)}
.passrow-has-error .passrow-rail{box-shadow:inset 4px 0 0 var(--macc-danger-text)}
.passrow-skipped{border-color:var(--macc-warning-border);background:var(--macc-warning-surface)}
.passrow-skipped .passrow-rail{box-shadow:inset 4px 0 0 var(--macc-warning-text);background:var(--macc-warning-surface)}
.passrow-skipped .passrow-unit{color:var(--macc-text-muted);text-decoration:line-through;text-decoration-thickness:1px}
.passrow-body{min-width:0;padding:12px 16px;border-top:1px solid var(--macc-border)}
.passrow-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:0 14px 0 0}
.passrow-when{flex:0 0 150px;display:flex;flex-direction:column}
.passrow-date{font-size:12.5px;color:var(--macc-text-muted);font-weight:600}
.passrow-time{font-size:16px;font-weight:700;letter-spacing:-.01em}
.passrow-what{flex:1;min-width:220px}
.passrow-unit{display:block;font-size:15px;font-weight:650;letter-spacing:-.01em}
.passrow-sub{display:block;color:var(--macc-text-muted);font-size:12.5px;margin-top:2px}
.passrow-profile{flex:0 1 280px;text-align:right}
.passrow-profile-title,.passrow-profile-detail{display:block}
.passrow-profile-title{font-size:12.5px;font-weight:650}
.passrow-profile-detail{font-size:11.5px;color:var(--macc-text-muted)}
.passrow-flags{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:4px}
.passrow-conf{font-size:11.5px;color:var(--macc-text-muted);max-width:34ch}
.passrow-hint{font-size:13px;color:var(--macc-text-muted);margin:8px 0 0;max-width:95ch}
.passrow-error-message{color:var(--macc-danger-text);font-size:13px;font-weight:650;margin:8px 0}
.field-error{display:block;color:var(--macc-danger-text);font-size:12px;font-weight:650;margin-top:4px}
[aria-invalid="true"]{border-color:var(--macc-danger-text)!important;box-shadow:0 0 0 1px var(--macc-danger-border)}
.staffing-profiles{margin:12px 0;background:var(--macc-surface-subtle)}
.staffing-profiles select{max-width:620px}
.staffing-advanced{margin:10px 0}
.staffing-advanced>summary{font-size:13px;font-weight:600;color:var(--macc-action);cursor:pointer}
.staffing-fallback{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--macc-border)}
.staffing-fallback>summary{font-size:12.5px;font-weight:600;color:var(--macc-text-muted);cursor:pointer}

@media (max-width:1100px){
  .dashboard-heading{grid-template-columns:minmax(0,1fr) auto;gap:10px 18px}
  .dashboard-heading-actions{grid-column:2;grid-row:1}
  .dashboard-sources{grid-column:1 / -1;grid-row:2;justify-content:flex-start}
}
@media (max-width:640px){
  .card-head{flex-direction:column;align-items:flex-start}
  .workflow-actions,.inline-forms{width:100%}
  .workflow-actions .btn,.inline-forms form,.inline-forms button{width:100%;justify-content:center}
  .shift-publishing-steps ol{grid-template-columns:1fr}
  .evidence-return{left:12px;right:12px;bottom:12px;width:auto;max-width:none;box-sizing:border-box;justify-content:space-between}
  .evidence-return-space{height:90px}
  .evidence-card [id],.evidence-incident[id]{scroll-margin-top:190px}
  .evidence-card{padding:15px 14px}
  .evidence-card .section-head{align-items:flex-start}
  .evidence-source-strip{grid-template-columns:1fr 1fr}
  .page-intro{flex-direction:column;gap:14px}
  .page-intro-copy{flex-basis:auto}
  .page-intro .btn{width:100%;justify-content:center}
  .dashboard-heading{display:flex;flex-wrap:wrap;padding:12px 14px}
  .dashboard-heading-actions{width:100%;justify-content:space-between}
  .dashboard-sources{flex:1 0 100%;justify-content:flex-start}
  .dashboard-filterbar{width:100%;align-self:stretch;display:grid;grid-template-columns:repeat(3,1fr)}
  .dashboard-filterbar a{justify-content:center;padding-inline:6px}
  .dashboard-row-links{grid-column:1 / -1;justify-content:flex-start}
  .dashboard-planday{flex-direction:column}
  .home-stats{grid-template-columns:1fr}
  .home-attention-row{grid-template-columns:1fr auto;gap:8px 12px;padding:14px}
  .home-attention-row .dashboard-row-links{grid-column:1 / -1}
  .home-overview,.home-overview-single{grid-template-columns:1fr}
  .evidence-incident-head{align-items:flex-start;flex-direction:column;gap:2px}
  .evidence-incident-facts{grid-template-columns:1fr}
  .passrow-head{flex-direction:column}
  .passrow-head{align-items:stretch;padding:0 12px 12px}
  .passrow-rail{margin:0 -12px 0;justify-content:flex-start;padding-left:14px;border-right:0;border-bottom:1px solid var(--macc-border)}
  .passrow-profile{text-align:left}
  .passrow-flags{align-items:flex-start;text-align:left}
}
.people-access-intro{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:0 0 20px}
.people-access-base{margin:0 0 16px}.base-choice{display:grid;gap:10px;margin:8px 0}.base-choice label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--macc-border,#d8dde3);border-radius:8px;min-height:44px}.base-choice label small,.base-steps small{display:block;color:var(--macc-text-muted)}
.base-steps{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.base-steps li{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.base-gives{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.base-gives ul{margin:4px 0 0;padding-left:18px}
.people-access-intro h2{font-size:34px;margin:2px 0 7px;letter-spacing:-.025em}
.people-access-intro p:last-child{max-width:760px;margin:0;color:var(--macc-text-muted)}
.people-access-tabs{gap:28px;margin-top:22px}
.people-access-tabs a{padding-inline:0}
.people-access-form{margin:0}
.people-toolbar{display:flex;align-items:center;gap:9px;margin:0 0 18px}
.people-search{flex:1 1 480px;max-width:680px}
.people-search input{width:100%;min-height:44px;padding:9px 13px;border:1px solid var(--macc-control-border);border-radius:8px;background:var(--macc-surface);color:var(--macc-text)}
.selection-summary{position:sticky;top:calc(var(--topbar-h) + 10px);z-index:7;display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:0 0 14px;padding:12px 14px;border:1px solid var(--macc-info-border);border-left:5px solid var(--macc-action);border-radius:9px;background:var(--macc-selected-surface);box-shadow:var(--shadow)}
.selection-summary div{min-width:0;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.selection-summary strong{white-space:nowrap}.selection-summary span{color:var(--macc-text-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:58vw}
.people-list{display:flex;flex-direction:column;margin:0;padding:0;border:0;min-width:0}
.person-access-row{display:grid;grid-template-columns:minmax(230px,1.15fr) minmax(280px,1.8fr) auto;gap:16px;align-items:center;
  min-height:72px;padding:12px 16px;background:var(--macc-surface);border:1px solid var(--macc-border);border-bottom:0}
.person-access-row:first-of-type{border-radius:var(--radius) var(--radius) 0 0}
.person-access-row:last-of-type{border-bottom:1px solid var(--macc-border);border-radius:0 0 var(--radius) var(--radius)}
.person-access-row:only-of-type{border-bottom:1px solid var(--macc-border);border-radius:var(--radius)}
.person-access-row.is-selected{background:var(--macc-selected-surface);box-shadow:inset 4px 0 0 var(--macc-action)}
.person-select{display:flex;align-items:center;gap:13px;min-width:0;cursor:pointer}
.person-select input{width:19px;height:19px;flex:none;accent-color:var(--macc-action)}
.person-select span{min-width:0}.person-select strong{display:block;overflow-wrap:anywhere}.person-select small{display:block;color:var(--macc-text-muted);font-size:12px}
.danger-text{color:var(--macc-danger-text)!important}
.access-chips{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden}
.access-chips .pill{font-size:12px;padding:2px 8px}
.access-more{color:var(--macc-text-muted);font-size:12px;white-space:nowrap}
.person-access-details{justify-self:end;position:relative}
.person-access-details>summary{min-height:44px;display:flex;align-items:center;padding:8px 10px;color:var(--macc-action);font-size:13px;font-weight:650;cursor:pointer;list-style:none;white-space:nowrap}
.person-access-details>summary::-webkit-details-marker{display:none}
.person-access-details[open]{grid-column:1 / -1;justify-self:stretch}
.person-access-details[open]>summary{justify-content:flex-end}
.access-detail-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:12px 0 4px;border-top:1px solid var(--macc-border)}
.access-detail-list>div{padding:10px 12px;border-radius:8px;background:var(--macc-surface-subtle)}
.access-detail-list span,.access-detail-list small{display:block;color:var(--macc-text-muted);font-size:12px}.access-detail-list strong{display:block;margin:2px 0;font-size:14px}
.readiness-filter{margin:8px 0 12px;font-size:14px}.qms-list-missing{margin:12px 0;padding:12px 14px;border:1px solid var(--macc-warning-border);border-radius:8px;background:var(--macc-warning-surface);color:var(--macc-warning-text)}.qms-list-missing p{margin:8px 0}.qms-list-missing summary{cursor:pointer;font-weight:650}.qms-list-missing ul{margin:8px 0;padding-left:20px}.qms-list-missing label{display:block;font-size:13px}.qms-list-missing textarea{display:block;width:100%;margin-top:4px;font-family:var(--mono,monospace);font-size:13px}
.person-readiness{padding:12px 0 4px;border-top:1px solid var(--macc-border)}.person-readiness h3{margin:0 0 8px;font-size:15px}.person-readiness .access-detail-list{border-top:none;padding-top:8px}.person-readiness .pill{font-size:13px}
.system-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.system-access-card{display:flex;flex-direction:column;gap:14px;padding:17px 18px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);box-shadow:var(--shadow)}
.system-access-card.is-selected{border-color:var(--macc-action);box-shadow:inset 4px 0 0 var(--macc-action)}
.system-access-card h3{margin:2px 0 4px;color:var(--macc-text);font-size:17px}.system-access-card p{margin:0;color:var(--macc-text-muted);font-size:14px}
.system-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--macc-text-muted);font-size:12px}
.system-card-meta .pill{max-width:70%;white-space:normal;font-size:12px}.system-access-card details{font-size:13px}.system-access-card li+li{margin-top:6px}
.people-access-task-areas{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;max-width:100%;margin:14px 0;padding:14px 16px}
.people-access-task-areas legend{max-width:100%;overflow-wrap:anywhere}
.people-access-task-areas>label{display:block;min-width:0;line-height:1.45}
.people-access-task-areas select,.people-access-task-areas textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;margin:6px 0 0}
.people-access-task-areas textarea{min-height:110px;line-height:1.5;white-space:pre-wrap}
.people-access-task-areas .card-sub{max-width:72ch;margin:0;line-height:1.55;overflow-wrap:anywhere}

@media (max-width:360px){
  .topbar .brand-logo{height:24px;margin-bottom:-8px}
}
@media (max-width:767px){
  :root{--topbar-h:64px}
  .topbar{min-height:var(--topbar-h);padding:10px 16px;gap:12px}
  .brand{gap:10px}
  .brand-logo{height:32px;margin-bottom:-11px}
  .brand-workspace{font-size:13px;padding-left:10px}
  .signed-in{gap:6px}
  /* Only the account button fits beside the brand; sign-out moves into its panel. */
  .signed-in .sign-out{display:none}
  .my-access>summary{justify-content:center;min-width:44px;padding:8px 10px;border:1px solid var(--macc-border)}
  .my-access>summary::after{display:none}
  .my-access-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .my-access-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .my-access-panel{right:16px}
  .signed-in .my-access-logout{display:flex;justify-content:center;margin-top:12px;min-height:48px;border:1px solid var(--macc-border);font-size:14px;text-decoration:none}
  .app-shell{display:block}
  .sidebar{display:none}
  .mobile-menu{display:block;position:sticky;top:var(--topbar-h);z-index:8;background:var(--macc-surface);border-bottom:1px solid var(--macc-border)}
  .mobile-menu>summary{display:flex;align-items:center;min-height:48px;padding:10px 16px;color:var(--macc-text);font-size:14px;font-weight:700;cursor:pointer;list-style:none}
  .mobile-menu>summary::-webkit-details-marker{display:none}
  .mobile-menu>summary::after{content:"+";margin-left:auto;color:var(--macc-text-muted);font-size:20px;font-weight:400}
  .mobile-menu[open]>summary::after{content:"−"}
  .mobile-menu-nav{padding:4px 12px 14px;border-top:1px solid var(--macc-border)}
  .mobile-menu-nav .nav-kicker{margin:12px 8px 6px}
  .mobile-menu-nav .primary-nav,.mobile-menu-nav .nav-admin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .mobile-menu-nav .nav-admin{margin-top:8px;padding-top:8px;border-top:1px solid var(--macc-border)}
  .mobile-menu-nav .nav-admin .nav-kicker{grid-column:1 / -1}
  .mobile-menu-nav a{display:flex;align-items:center;min-height:48px;padding:9px 10px;border-radius:8px;color:var(--macc-text-muted);font-size:14px;font-weight:620;text-decoration:none}
  .mobile-menu-nav a[aria-current="page"],.mobile-menu-nav a[aria-current="location"]{color:var(--macc-brand-dark);background:var(--macc-selected-surface);font-weight:700}
  .mobile-menu-nav .nav-tools{margin:10px 0 0;padding:10px 8px 0}
  .mobile-menu-nav .nav-tool-link{min-height:48px!important;padding:8px 0!important}
  main,main.wide{padding:24px 16px 64px}
  main h2{font-size:28px}
  .page-intro{margin-bottom:22px}
  .page-local-nav{margin-bottom:20px}
  .local-nav-tabs{align-items:stretch;gap:0 20px;flex-wrap:wrap}
  .local-nav-tabs a{min-height:48px;flex:0 0 auto;justify-content:center;padding:10px 0;font-size:14px;text-align:center;white-space:nowrap}
  .local-nav-actions{align-items:stretch;gap:6px}
  .local-nav-actions a{min-height:48px;flex:1 1 auto;justify-content:center;padding:10px 12px;font-size:14px;text-align:center}
  .dashboard-row-links a{min-height:48px}
  .btn,button[type="submit"],input[type="submit"]{min-height:48px}
  input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:48px;font-size:16px}
  .area-grid,.area-grid-admin{grid-template-columns:1fr}
  .insikt-week-selector label{flex:1 1 220px}
  .insikt-week-selector input[type="date"]{max-width:none}
  .people-access-intro h2{font-size:30px}
  .people-toolbar{align-items:stretch}.people-search{flex-basis:auto;max-width:none}.people-toolbar>.btn{flex:none}
  .selection-summary{top:calc(var(--topbar-h) + 58px);align-items:stretch;flex-direction:column;gap:9px}.selection-summary span{max-width:100%;white-space:normal}.selection-summary button{width:100%;justify-content:center}
  .people-access-task-areas{gap:10px;padding:12px}
  .people-access-task-areas select,.people-access-task-areas textarea{width:100%;max-width:none;min-height:48px;font-size:16px}
  .person-access-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px 13px}
  .access-chips{grid-column:1 / -1;flex-wrap:wrap;overflow:visible}.person-access-details{grid-column:1 / -1;justify-self:stretch}.person-access-details>summary{justify-content:flex-start;padding-left:32px}
  .person-access-details[open]>summary{justify-content:flex-start}.access-detail-list{grid-template-columns:1fr}
  .system-access-grid{grid-template-columns:1fr}.system-card-meta{align-items:flex-start;flex-direction:column}.system-card-meta .pill{max-width:100%}
}
.crm-quotes .crm-panel{padding:1.25rem;margin:1rem 0;border-radius:12px}.crm-quotes .crm-panel h3{margin-top:0}
.crm-quote-steps a{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:600}.crm-quote-steps span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--macc-action);color:var(--macc-on-action)}
.crm-quotes .crm-quote-branded{padding:0;border:1px solid var(--macc-border)}
.crm-quotes summary{cursor:pointer;font-weight:600;padding:.5rem 0}.crm-quote-rows fieldset{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr) minmax(0,1.5fr);gap:.75rem;align-items:end}.crm-quote-rows label:has(input[type=checkbox]),.crm-quote-row-total{grid-column:1/-1}.crm-quote-row-total{margin:0}.crm-quote-tariffs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.crm-quote-tariffs dd{margin:.25rem 0;font-weight:600}.crm-quotes .crm-quote-primary{background:var(--macc-action);color:var(--macc-on-action)}
@media(max-width:600px){.crm-quote-rows fieldset,.crm-quote-tariffs{display:block}.crm-quote-rows .crm-field{margin:.75rem 0}}
.crm-quote-steps{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;padding:1rem;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:8px}
.crm-quote-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.crm-quote-metrics dt{color:var(--macc-text-muted);font-size:.9rem}.crm-quote-metrics dd{margin:0;font-size:1.3rem;font-weight:700}
.crm-quote-summary{padding:1rem;background:var(--macc-surface-subtle);border:1px solid var(--macc-border);border-radius:8px;margin:1rem 0}.crm-quote-summary>strong{font-size:1.8rem}
.crm-quotes button{margin:.5rem .5rem .5rem 0}.crm-quotes input[type=checkbox]{width:auto}.crm-quotes section{scroll-margin-top:6rem}
@media(max-width:600px){.crm-quote-metrics{grid-template-columns:1fr}.crm-quote-steps a{padding:.5rem}.crm-quotes button{width:100%;margin:.5rem 0}}
.crm-quotes form,.crm-quotes fieldset,.crm-quotes .crm-panel{min-width:0;max-width:100%}
.crm-quotes .crm-field input,.crm-quotes .crm-field select,.crm-quotes .crm-field textarea{box-sizing:border-box;width:100%;max-width:100%}
.crm-quotes fieldset{margin:1rem 0;padding:1rem;border:1px solid var(--macc-border);border-radius:8px}
.crm-quotes .crm-quote-rows{list-style:none;padding:0}
.crm-quotes .crm-quote-service{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem}
.crm-quotes pre{white-space:pre-wrap;overflow-wrap:anywhere}
.crm-quotes article{padding:1rem 0;border-top:1px solid var(--macc-border)}
.crm-quote-document{padding:1rem;max-width:900px;margin:auto;overflow-wrap:anywhere}
.crm-quote-document table{width:100%;table-layout:fixed;border-collapse:collapse}
.crm-quote-document th,.crm-quote-document td{text-align:left;padding:.5rem;border-bottom:1px solid #ddd;overflow-wrap:anywhere}
.crm-quote-document th:first-child{width:40%}
@media screen and (max-width:600px){
 .crm-quotes .crm-quote-service{display:block}.crm-quote-document{padding:.5rem}
 .crm-quote-document table,.crm-quote-document tbody,.crm-quote-document tr,.crm-quote-document th,.crm-quote-document td{display:block;width:auto}
 .crm-quote-document caption{display:block;box-sizing:border-box;width:100%}
 .crm-quote-document thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .crm-quote-document th:first-child{width:auto}
 .crm-quote-document tr{margin:1rem 0;border:1px solid #ddd;border-radius:6px}
 .crm-quote-document td{display:flex;justify-content:space-between;gap:1rem;white-space:nowrap}
 .crm-quote-document td::before{content:attr(data-label);font-weight:600}
}
.crm-quote-branded{padding:0;max-width:760px;margin:2rem auto;background:#fff;color:#173036;border:1px solid #d7e2e4;border-radius:14px;overflow:hidden;font-family:Inter,Arial,sans-serif;line-height:1.5}
.crm-quote-brand{padding:28px 30px 20px}.crm-quote-brand img{width:210px;max-width:100%;height:auto}.crm-quote-brand p{color:#5c7378;font-size:13px;margin:.5rem 0 0}
.crm-quote-heading{padding:16px 30px;background:#28677d;color:#fff}.crm-quote-heading h1{color:inherit;margin:0;font-size:28px}.crm-quote-heading p{margin:.5rem 0 0}
.crm-quote-content{padding:26px 30px}.crm-quote-content h2{color:#0b4857;font-size:20px}.crm-quote-branded table{background:#f2f9fa;border:1px solid #d7e2e4;border-radius:10px}.crm-quote-branded caption{text-align:left;padding:.5rem 0;font-weight:600;color:#0b4857}.crm-quote-branded th,.crm-quote-branded td{border-color:#d7e2e4;padding:10px}
.crm-quote-total{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#fef0ec;border-left:4px solid #ef6e59;border-radius:8px;padding:16px;color:#a74d3e}.crm-quote-total strong{font-size:26px;white-space:nowrap}
.crm-quote-terms{margin-top:24px}.crm-quote-terms p{white-space:normal;overflow-wrap:anywhere}.crm-quote-footer{padding:18px 30px;background:#f2f9fa;border-top:1px solid #d7e2e4;color:#5c7378;font-size:12px}.crm-quote-footer p{margin:.35rem 0}
@media(max-width:600px){.crm-quote-branded{margin:0;border-radius:0}.crm-quote-brand,.crm-quote-heading,.crm-quote-content,.crm-quote-footer{padding:20px}.crm-quote-total{display:block}.crm-quote-total strong{display:block;margin-top:.5rem}}
@media print{.crm-quote-branded{margin:0;border:0;border-radius:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.crm-quote-total,.crm-quote-heading,.crm-quote-footer{break-inside:avoid}.crm-quote-terms h2{break-after:avoid}}
@media print{.crm-quote-document{max-width:none;color:#000;background:#fff}.crm-quote-document table{font-size:10pt}.crm-quote-document tr{break-inside:avoid}}
.crm-quote-status{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;list-style:none;margin:1rem 0 .5rem;padding:0}
.crm-quote-status li{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.6rem .7rem;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface);overflow-wrap:anywhere}
.crm-quote-status-label{font-weight:700}.crm-quote-status-state{font-size:.85rem;font-weight:600}.crm-quote-status-note{font-size:.85rem;color:var(--macc-text-muted)}
.crm-quote-status-done{background:var(--macc-success-surface);border-color:var(--macc-success-border)}.crm-quote-status-done .crm-quote-status-state{color:var(--macc-success-text)}
.crm-quote-status-current{background:var(--macc-selected-surface);border:2px solid var(--macc-action)}.crm-quote-status-current .crm-quote-status-state{color:var(--macc-action)}
.crm-quote-status-uncertain{background:var(--macc-warning-surface);border:2px dashed var(--macc-warning-border)}.crm-quote-status-uncertain .crm-quote-status-state{color:var(--macc-warning-text)}
.crm-quote-status-todo .crm-quote-status-label,.crm-quote-status-todo .crm-quote-status-state{color:var(--macc-text-muted)}
.crm-quote-next{margin:.5rem 0 1rem;padding:.75rem 1rem;border-left:4px solid var(--macc-action);background:var(--macc-surface-subtle);border-radius:0 8px 8px 0}
.crm-quote-layout{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1.5rem;align-items:start}.crm-quote-main{min-width:0}
.crm-quote-aside{position:sticky;top:1rem;align-self:start;min-width:0;padding:1rem;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:12px}
.crm-quote-aside .crm-quote-summary{margin:0 0 1rem}.crm-quote-aside .crm-quote-summary h3{margin:.5rem 0 0}.crm-quote-savestate{font-weight:700;margin:0 0 .5rem}.crm-quote-stale{font-size:.85rem;color:var(--macc-text-muted);margin:.5rem 0 0}
.crm-quote-aside form,.crm-quote-aside fieldset{margin:.5rem 0}.crm-quote-aside .btn,.crm-quote-aside .crm-quote-primary{width:100%;justify-content:center;box-sizing:border-box}.crm-quote-aside-secondary{margin:.5rem 0 0}.crm-quote-aside-secondary button{width:100%}
.crm-quote-pricetable{width:100%;border-collapse:collapse;table-layout:fixed}.crm-quote-pricetable th,.crm-quote-pricetable td{text-align:left;vertical-align:top;padding:.5rem;border-bottom:1px solid var(--macc-border);overflow-wrap:anywhere}
.crm-quote-pricetable thead th{font-size:.85rem;color:var(--macc-text-muted)}.crm-quote-pricetable tbody th{font-weight:400}
.crm-quote-pricetable col{width:auto}.crm-quote-pricetable th:nth-child(1){width:29%}.crm-quote-pricetable th:nth-child(2){width:8%}.crm-quote-pricetable th:nth-child(3){width:14%}.crm-quote-pricetable th:nth-child(4){width:16%}.crm-quote-pricetable th:nth-child(5){width:14%}
.crm-quote-pricetable input{box-sizing:border-box;width:100%;max-width:100%}
.crm-quote-row-actions button{margin:.15rem 0;width:100%;padding-inline:.35rem;justify-content:center;white-space:nowrap}
.crm-quote-deviation{display:block;margin-top:.25rem;font-size:.85rem;color:var(--macc-text-muted)}.crm-quote-deviation-diff{color:var(--macc-warning-text);font-weight:600}
.crm-quotes .crm-quote-main fieldset,.crm-quotes .crm-quote-aside fieldset{display:block}.crm-quotes .crm-quote-main .crm-quote-place .crm-field{margin:.5rem 0}.crm-quotes .crm-quote-inline strong{display:inline;margin:0}
.crm-quotes .crm-quote-service{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end}
.crm-quote-version-actions{margin-top:.75rem}.crm-quote-note-optional{margin-top:1rem}
@media(max-width:900px){
 .crm-quote-status{grid-template-columns:repeat(2,minmax(0,1fr))}
 .crm-quote-layout{display:block}
 .crm-quote-aside{position:sticky;top:auto;bottom:0;z-index:5;max-height:45vh;overflow:auto;padding:.75rem;border-radius:12px 12px 0 0;box-shadow:0 -2px 8px rgba(0,0,0,.12)}
 .crm-quote-aside .crm-quote-detail{display:none}.crm-quote-aside .crm-quote-summary{margin:0 0 .5rem}.crm-quote-aside .crm-quote-summary h3{display:inline;margin:0;font-size:1rem}.crm-quote-aside .crm-quote-total-figure{font-size:1.4rem}
 .crm-quote-pricetable,.crm-quote-pricetable tbody,.crm-quote-pricetable tr,.crm-quote-pricetable th,.crm-quote-pricetable td{display:block;width:auto!important}
 .crm-quote-pricetable thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .crm-quote-pricetable tr{margin:1rem 0;padding:.25rem;border:1px solid var(--macc-border);border-radius:8px}
 .crm-quote-pricetable td::before{content:attr(data-label);display:block;font-size:.85rem;font-weight:600;color:var(--macc-text-muted)}
 .crm-quote-pricetable th,.crm-quote-pricetable td{border-bottom:0}
}
@media(max-width:600px){.crm-quote-status{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Button hierarchy: one primary per view (the side panel's next action); everything else is secondary. */
.crm-quotes button[type="submit"]{background:var(--macc-surface);color:var(--macc-action);border:1px solid var(--macc-control-border)}
.crm-quotes button[type="submit"]:hover{background:var(--macc-surface-subtle)}
.crm-quotes button.crm-quote-primary,.crm-quotes a.btn.crm-quote-primary{background:var(--macc-action);color:var(--macc-on-action);border-color:transparent}
.crm-quotes button.crm-quote-primary:hover,.crm-quotes a.btn.crm-quote-primary:hover{background:var(--macc-action-hover)}
.crm-quotes button[value^="remove_"]{color:var(--macc-danger-text);border-color:var(--macc-danger-border)}
.crm-quotes button[value^="reset_row_"],.crm-quotes button[value^="add_"]{font-weight:500}
.crm-quotes .crm-quote-pricetable button,.crm-quotes .crm-quote-place button{min-height:36px;padding:6px 10px}
/* Compact status row */
.crm-quote-status{gap:.35rem;margin:.75rem 0 .4rem}
.crm-quote-status li{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 .5rem;padding:.35rem .55rem;line-height:1.25}
.crm-quote-status-note{flex-basis:100%;font-size:.75rem}.crm-quote-status-state{font-size:.78rem}.crm-quote-status-label{font-size:.9rem}
.crm-quote-next{padding:.5rem .85rem;margin:.4rem 0 1rem}
/* Price table */
.crm-quote-tablewrap{overflow-x:auto;max-width:100%}
.crm-quote-pricetable th:nth-child(1){width:31%}.crm-quote-pricetable th:nth-child(2){width:7%}.crm-quote-pricetable th:nth-child(3){width:14%}.crm-quote-pricetable th:nth-child(4){width:17%}.crm-quote-pricetable th:nth-child(5){width:17%}.crm-quote-pricetable td[data-label="Belopp"] strong,.crm-quote-pricetable td[data-label="Listpris"]{white-space:nowrap}
.crm-quote-pricetable th{overflow-wrap:normal}.crm-quote-pricetable td,.crm-quote-pricetable tbody th{overflow-wrap:anywhere}
.crm-quote-row-actions{display:flex;flex-wrap:wrap;gap:.25rem}.crm-quote-row-actions button{width:auto;margin:0}
td.crm-quote-row-actions{display:table-cell}.crm-quote-row-actions button{margin:0 .25rem .25rem 0}
.crm-quote-layout{grid-template-columns:minmax(0,1fr) 18rem}
.crm-quote-proposal{margin-top:1rem;padding-top:.5rem;border-top:1px solid var(--macc-border)}.crm-quote-proposal h4{margin:.25rem 0}.crm-quote-proposal-place p{margin:.25rem 0}
.crm-quote-discount-row{display:flex;flex-wrap:wrap;align-items:end;gap:.5rem 1.5rem;margin-top:1rem}.crm-quote-discount-row .crm-field{width:9rem;max-width:100%;margin:0}.crm-quote-discount-sum{margin:0;padding-bottom:.6rem}
.crm-quotes .crm-quote-main>form>fieldset{border:0;padding:0;margin:0}
.crm-quote-bar{display:none}.crm-quote-aside .crm-quote-total-figure{display:block;margin-top:.25rem}
@media(max-width:900px){.crm-quote-layout{display:block}.crm-quote-row-actions,td.crm-quote-row-actions{display:flex}
 .crm-quote-aside{position:static;max-height:none;overflow:visible;margin-top:1rem;box-shadow:none;border-radius:12px;z-index:auto}
 .crm-quote-aside .crm-quote-detail{display:block}.crm-quote-aside .crm-quote-summary h3{display:block;font-size:inherit}.crm-quote-aside .crm-quote-total-figure{font-size:1.8rem}
 .crm-quote-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:.5rem 1rem;background:var(--macc-surface);border-top:1px solid var(--macc-border);box-shadow:0 -2px 8px rgba(0,0,0,.12)}
 .crm-quote-bar-total{display:flex;flex-direction:column;line-height:1.2;font-size:.8rem;color:var(--macc-text-muted)}.crm-quote-bar-total strong{font-size:1.15rem;color:var(--macc-text)}
 .crm-quotes .crm-quote-bar .crm-quote-bar-btn{width:auto;flex:1 1 auto;max-width:60%;margin:0;min-height:44px;justify-content:center;background:var(--macc-action);color:var(--macc-on-action);border-color:transparent;text-decoration:none}
 .crm-quotes{padding-bottom:6rem}}

.finding-notice{position:sticky;top:80px;z-index:5}
.finding-filter{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0}
.finding-filter p{margin:0}
.finding-table td{white-space:pre-line;vertical-align:top}
.finding-action-cell{min-width:220px}
.finding-decision{margin-top:12px;max-width:440px;white-space:normal}
.finding-decision summary{color:var(--macc-action);cursor:pointer;min-height:28px;padding:6px 0;white-space:normal}
.finding-decision summary:focus-visible{outline:2px solid var(--macc-action);outline-offset:3px}
.finding-comment{white-space:pre-line}
.finding-decision p{font-size:14px;line-height:1.5;white-space:normal}
.finding-decision textarea{box-sizing:border-box;width:100%;max-width:100%;min-width:0;font-family:var(--font);margin:6px 0 12px}
.finding-decision button{white-space:normal}
@media(max-width:900px){
  .finding-table,.finding-table tbody,.finding-table tr,.finding-table td{display:block;width:auto}
  .finding-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .finding-table tr{border-bottom:1px solid var(--macc-border);padding:12px 0}
  .finding-table td{border:0;padding:6px 10px;white-space:pre-line;overflow-wrap:anywhere}
  .finding-table td:before{content:attr(data-label);display:block;color:var(--macc-text-muted);font-size:12px;font-weight:600;margin-bottom:3px}
  .finding-action-cell{min-width:0}
  .finding-decision{max-width:none}
}
/* QMS Arbetsbord: uses each portal's existing MACC tokens. */
.qms-ui{min-width:0;max-width:100%;color:var(--macc-text);font-size:15px;line-height:1.55}
.qms-ui .page-local-nav{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 20px;font-size:14px}
.qms-ui .page-local-nav a{min-height:44px;display:inline-flex;align-items:center;color:var(--macc-action)}
.qms-ui .qms-surface{padding:28px;border:0;box-shadow:none;background:var(--macc-surface);border-radius:10px}
.qms-ui h1{font-size:32px;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px;overflow-wrap:anywhere}
.qms-ui h2{font-size:20px;line-height:1.35;margin:24px 0 12px}
.qms-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.qms-intro,.qms-meta{color:var(--macc-text-muted)}
.qms-intro{margin:0 0 20px;max-width:72ch}
.qms-ui .qms-search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:16px 0 24px;padding:0;background:none;border:0}
.qms-search>label{flex:1 1 300px}
.qms-ui label{display:block;font-size:14px;font-weight:600;margin:12px 0}
.qms-ui input:not([type=hidden]):not([type=checkbox]),.qms-ui select,.qms-ui textarea{display:block;width:100%;max-width:100%;min-height:44px;box-sizing:border-box;margin-top:6px;padding:10px 12px;border:1px solid var(--macc-control-border);border-radius:6px;background:var(--macc-surface);color:var(--macc-text);font:inherit}
.qms-ui input[type=checkbox]{width:18px;height:18px;margin-right:8px}
.qms-ui textarea{min-height:110px;resize:vertical}
.qms-ui form:not(.qms-search){margin:20px 0}
.qms-ui .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--macc-action);border-radius:6px;background:var(--macc-action);color:var(--macc-on-action);font:inherit;font-weight:600;line-height:1.35;text-decoration:none;cursor:pointer;max-width:100%;white-space:normal;text-align:center}
.qms-ui .btn.secondary{background:var(--macc-surface);color:var(--macc-action)}
.qms-ui .btn.danger{background:var(--macc-danger-surface);color:var(--macc-danger-text);border-color:var(--macc-danger-border)}
.qms-ui .btn:hover{filter:brightness(.95)}
.qms-ui :focus-visible{outline:3px solid var(--macc-action);outline-offset:3px}
.qms-ui .qms-search>label{margin:0}
.qms-ui .qms-search>a{min-height:44px;display:flex;align-items:center}
.qms-filters{flex-basis:100%;padding:0!important;border:0!important;background:none!important}
.qms-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end;padding:12px 0}
.qms-ui summary{min-height:44px;cursor:pointer;align-content:center}
.qms-ui .tablewrap{margin:16px 0;overflow-x:auto}
.qms-ui .qms-table{width:100%;border-collapse:collapse;font-size:14px;min-width:0}
.qms-ui .qms-table th{font-size:12px;letter-spacing:.025em;background:var(--macc-surface-subtle);color:var(--macc-text-muted);text-align:left;padding:14px 16px;white-space:normal}
.qms-ui .qms-table td{padding:16px;border-bottom:1px solid var(--macc-border);vertical-align:middle;white-space:normal;overflow-wrap:anywhere}
.qms-ui .qms-table tbody tr:hover{background:var(--macc-surface-subtle)}
.qms-document-link{font-weight:650;text-decoration:none;color:var(--macc-action);display:inline-block;padding:4px 0}
.qms-document-link:hover,.qms-open:hover{text-decoration:underline}
.qms-meta{display:block;font-size:13px;margin-top:5px;max-width:40ch;overflow-wrap:anywhere}
.qms-badge{display:inline-block;font-size:13px;padding:5px 9px;border-radius:5px;background:var(--macc-selected-surface);color:var(--macc-text)}
.qms-warning{background:var(--macc-warning-surface);color:var(--macc-warning-text)}
.qms-current{background:var(--macc-success-surface);color:var(--macc-success-text)}
.qms-open{color:var(--macc-action);font-weight:600;min-height:44px;display:inline-flex;align-items:center;flex-shrink:0}
.qms-owner{padding:0!important;border:0!important;background:none!important;margin:0!important}
.qms-explanation{margin-top:24px;border-top:1px solid var(--macc-border);padding-top:12px}
.qms-back{margin:0 0 8px;font-size:14px}
.qms-statusboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:16px 0}
.qms-statusbox{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface)}
.qms-statusbox .qms-meta{margin:0}
.qms-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.qms-steps li>a,.qms-steps li>span{display:grid;gap:2px;align-content:start;height:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--macc-border);border-radius:8px;color:var(--macc-text);text-decoration:none;background:var(--macc-surface)}
.qms-steps li>a:hover{background:var(--macc-surface-subtle)}
.qms-steps [aria-current]{border-color:var(--macc-action);box-shadow:inset 0 -3px 0 var(--macc-action)}
.qms-step-number{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--macc-text-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.qms-step-number .qms-badge{font-size:12px;padding:1px 8px;text-transform:none;letter-spacing:0}
.qms-step-name{font-weight:650}
.qms-steps .qms-meta{margin:0}
.qms-notice{display:grid;gap:4px;margin:0 0 16px;padding:12px 14px;border-radius:8px;background:var(--macc-success-surface);color:var(--macc-success-text)}
.qms-notice.qms-warning{background:var(--macc-warning-surface);color:var(--macc-warning-text)}
.qms-notice a{color:inherit}
.qms-ui .qms-option{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:start;margin:8px 0;padding:10px 12px;border:1px solid var(--macc-border);border-radius:6px;font-weight:400;cursor:pointer}
.qms-ui .qms-option:has(input:checked){border-color:var(--macc-action);background:var(--macc-selected-surface)}
.qms-ui .qms-option input[type=radio]{display:inline-block;width:18px;height:18px;min-height:0;margin:3px 0 0}
.qms-ui .qms-option .qms-meta{grid-column:2;margin:0;max-width:none}
.qms-choice{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 16px}
.qms-choice strong{flex-basis:100%}
.qms-checklist{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px}
@media (max-width:820px){.qms-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.qms-steps{grid-template-columns:1fr}}
.qms-empty{padding:24px;background:var(--macc-surface-subtle);border-radius:8px;margin:20px 0}
.qms-empty h2{margin:0 0 8px}
.qms-footer{border-top:1px solid var(--macc-border);padding-top:18px}
.qms-back a{color:var(--macc-action);display:inline-flex;min-height:44px;align-items:center}
.qms-ui article{overflow-wrap:anywhere}
@media(max-width:760px){
.qms-ui .qms-surface{padding:16px}
.qms-ui h1{font-size:26px}
.qms-heading{align-items:flex-start;flex-direction:column;gap:0}
.qms-ui .page-local-nav{gap:0 14px;margin-bottom:12px}
.qms-filter-fields{grid-template-columns:1fr;gap:0}
.qms-search>label{flex-basis:100%}
.qms-ui .qms-table,.qms-ui .qms-table tbody,.qms-ui .qms-table tr,.qms-ui .qms-table td{display:block;width:100%}
.qms-ui .qms-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.qms-ui .qms-table tr{padding:12px 0;border-bottom:1px solid var(--macc-border)}
.qms-ui .qms-table td{border:0;padding:6px 0}
.qms-ui .qms-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:var(--macc-text-muted);margin-bottom:3px}
.qms-ui .qms-table td:last-child .btn{width:100%}
.qms-ui .qms-empty{padding:18px}
}
/* QMS routine library: facts, notices, reports and intake */
.qms-ui dl{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 16px;margin:16px 0}
.qms-ui dt{color:var(--macc-text-muted);font-size:13px}
.qms-ui dd{margin:0;overflow-wrap:anywhere}
.qms-caution{padding:14px 16px;border-radius:8px;background:var(--macc-warning-surface);color:var(--macc-warning-text)}
.qms-ui mark{background:var(--macc-selected-surface);color:inherit;padding:0 2px;border-radius:3px}
.qms-news,.qms-report{padding:16px 0;border-bottom:1px solid var(--macc-border)}
.qms-news-important{padding:16px;border:1px solid var(--macc-border);border-left:4px solid var(--macc-warning-text);border-radius:8px}
.qms-filter-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:12px 0}
.qms-filter-links a{min-height:44px;display:inline-flex;align-items:center;color:var(--macc-action)}
.qms-filter-links a[aria-current=page]{font-weight:700;text-decoration:none;color:var(--macc-text)}
.qms-actions{display:flex;flex-wrap:wrap;gap:12px}
.qms-ui .qms-actions form{margin:0}
.qms-file{font-weight:600}
@media(max-width:760px){
.qms-ui dl{grid-template-columns:1fr;gap:0}
.qms-ui dd{margin-bottom:8px}
.qms-ui .qms-table td input[type=checkbox]{width:24px;height:24px}
}

/* QMS routine library: caretaker flow (to-do, stepper, forms, receipts, decision, thread). Additive; shares tokens with the rest of the portal. */
:is(.qms-ui,.qms-roles) .qms-kicker{margin:0 0 4px;font-size:12px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--macc-text-muted)}
.qms-ui .btn.qms-quiet{background:none;border-color:transparent;color:var(--macc-action);padding-inline:8px;text-decoration:underline;text-underline-offset:3px}
.qms-ui .btn.qms-quiet:hover{background:var(--macc-surface-subtle);filter:none}
.qms-ui summary.btn{list-style:none;width:fit-content;max-width:100%}
.qms-ui summary.btn::-webkit-details-marker{display:none}
.qms-ui .qms-prewrap{white-space:pre-wrap}
.qms-badge.qms-pending{background:var(--macc-selected-surface);color:var(--macc-action)}
.qms-badge.qms-muted{background:var(--macc-surface-subtle);color:var(--macc-text-muted);border:1px solid var(--macc-border)}
.qms-group{display:grid;gap:8px;margin:0 0 24px}
.qms-ui .qms-group>h2{display:flex;align-items:center;gap:8px;margin:0;font-size:17px}
.qms-count{font-size:12px;font-weight:700;line-height:1.5;padding:1px 9px;border-radius:999px;background:var(--macc-surface-subtle);border:1px solid var(--macc-border);font-variant-numeric:tabular-nums}
.qms-why{margin:0;font-size:14px;color:var(--macc-text-muted)}
.qms-rows{list-style:none;margin:0;padding:0;border:1px solid var(--macc-border);border-radius:8px;overflow:hidden}
.qms-rows>li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:12px 14px;border-top:1px solid var(--macc-border);background:var(--macc-surface)}
.qms-rows>li:first-child{border-top:0}
.qms-row-text{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.qms-quote{margin:4px 0 0;padding-left:8px;border-left:3px solid var(--macc-warning-border);font-size:14px;color:var(--macc-text)}
.qms-ui details.qms-others>summary,.qms-ui details.qms-more>summary{display:flex;align-items:center;gap:8px;color:var(--macc-action);font-weight:650}
.qms-ui details.qms-more{border-top:1px solid var(--macc-border);padding-top:6px}
.qms-stepper{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--macc-border);border-radius:8px;overflow:hidden;background:var(--macc-surface)}
.qms-stepper>li{min-width:0;border-left:1px solid var(--macc-border)}
.qms-stepper>li:first-child{border-left:0}
.qms-stepper>li>a,.qms-stepper>li>span{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 10px;align-items:start;box-sizing:border-box;height:100%;min-height:44px;padding:12px 14px;color:var(--macc-text);text-decoration:none}
.qms-stepper>li>a:hover{background:var(--macc-surface-subtle)}
.qms-stepper [aria-current=step]{background:var(--macc-selected-surface);box-shadow:inset 0 -3px 0 var(--macc-action)}
.qms-dot{grid-row:span 2;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--macc-border);background:var(--macc-surface);color:var(--macc-text-muted);font-size:13px;font-weight:700}
.qms-stepper .qms-done .qms-dot{background:var(--macc-success-text);border-color:var(--macc-success-text);color:var(--macc-surface)}
.qms-stepper .qms-todo .qms-dot{border-color:var(--macc-warning-text);color:var(--macc-warning-text)}
.qms-stepper .qms-wait .qms-dot{border-color:var(--macc-action);color:var(--macc-action)}
.qms-stepper .qms-none{color:var(--macc-text-muted)}
.qms-stepper .qms-step-name{font-size:14px;line-height:1.3}
.qms-step-line{font-size:13px;line-height:1.35;color:var(--macc-text-muted);overflow-wrap:anywhere}
.qms-ui .qms-stepcount{display:none;margin:-8px 0 16px;font-size:14px;font-weight:650;color:var(--macc-text)}
.qms-ui fieldset.qms-card{display:grid;gap:12px;margin:0 0 16px;min-inline-size:0;padding:16px 18px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface)}
.qms-ui fieldset.qms-card>legend{float:left;width:100%;padding:0;font-size:16px;font-weight:700}
.qms-ui fieldset.qms-card>legend+*{clear:both}
.qms-hint{margin:0;font-size:14px;color:var(--macc-text-muted)}
.qms-field{display:grid;gap:5px;min-width:0}
.qms-field.qms-field-error input,.qms-field.qms-field-error textarea,.qms-field.qms-field-error select,.qms-field.qms-field-error .qms-area-grid{border-color:var(--macc-danger-text);box-shadow:0 0 0 1px var(--macc-danger-text)}
.qms-error-text{margin:0;font-size:14px;font-weight:650;color:var(--macc-danger-text)}
.qms-error-summary{display:grid;gap:6px;margin:0 0 16px;padding:14px 16px;border:2px solid var(--macc-danger-text);border-radius:8px;background:var(--macc-surface)}
.qms-ui .qms-error-summary>h2{margin:0;font-size:16px;color:var(--macc-danger-text)}
.qms-error-summary ul{margin:0;padding-left:1.2em}
.qms-error-summary a{display:inline-flex;align-items:center;min-height:44px;color:var(--macc-danger-text);font-weight:650}
.qms-area-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:2px 14px;padding:4px;border:1px solid transparent;border-radius:6px}
.qms-ui .qms-area-grid label{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-weight:450}
.qms-ui .qms-area-grid input[type=checkbox]{margin:0;flex:none;accent-color:var(--macc-action)}
.qms-filebox{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:12px 14px;border:1px dashed var(--macc-control-border);border-radius:8px;background:var(--macc-surface-subtle);overflow-wrap:anywhere}
.qms-formfoot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding-top:4px}
.qms-formfoot>.btn:not(.qms-quiet):last-child{margin-left:auto}
:is(.qms-ui,.qms-roles) .qms-receipt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--macc-success-border);border-radius:8px;background:var(--macc-success-surface);color:var(--macc-text)}
:is(.qms-ui,.qms-roles) .qms-receipt>p{margin:0}
:is(.qms-ui,.qms-roles) .qms-receipt a{color:var(--macc-action);font-weight:650}
:is(.qms-ui,.qms-roles) .qms-receipt :focus-visible{outline:3px solid var(--macc-action);outline-offset:3px}
.qms-receipt-icon{grid-row:span 3;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--macc-success-text);color:var(--macc-surface);font-weight:800;line-height:1}
.qms-receipt .qms-actions{margin-top:6px;grid-column:2}
:is(.qms-ui,.qms-roles) .qms-receipt.qms-warning{background:var(--macc-warning-surface);border-color:var(--macc-warning-border)}
.qms-receipt.qms-warning .qms-receipt-icon{background:var(--macc-warning-text)}
.qms-ui section.qms-decision{display:grid;gap:12px;margin:0 0 20px;padding:18px;border:2px solid var(--macc-action);border-radius:10px;background:var(--macc-surface)}
.qms-ui .qms-decision>h2{margin:0;font-size:18px}
.qms-diff{display:grid;grid-template-columns:minmax(0,1fr);gap:0;font-size:14px}
.qms-diff>*{min-width:0}
@media(max-width:760px){.qms-ui .qms-heading:has(>.btn){gap:12px;margin-bottom:8px}}
.qms-diff>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:8px 0;border-top:1px solid var(--macc-border);overflow-wrap:anywhere}
.qms-diff>div:first-child{border-top:0}
.qms-diff del{color:var(--macc-danger-text)}
.qms-diff ins{color:var(--macc-success-text);text-decoration:none;font-weight:650}
.qms-thread{display:grid;gap:10px}
.qms-thread>article{display:grid;gap:2px;padding:2px 0 2px 12px;border-left:3px solid var(--macc-border)}
.qms-thread>article.qms-returned{border-left-color:var(--macc-warning-border)}
@media(max-width:760px){
.qms-ui .qms-rows>li{grid-template-columns:1fr}
.qms-ui .qms-rows>li>.btn{width:100%}
.qms-ui .qms-formfoot{flex-direction:column-reverse;align-items:stretch}
.qms-ui .qms-formfoot>.btn,.qms-ui .qms-formfoot>.btn:not(.qms-quiet):last-child{width:100%;margin-left:0}
.qms-ui .qms-actions{flex-direction:column;align-items:stretch}
.qms-ui .qms-actions .btn,.qms-ui .qms-actions form,.qms-ui .qms-actions form .btn{width:100%}
.qms-diff>div{grid-template-columns:1fr;gap:2px}
}
@media(max-width:600px){
.qms-ui .qms-stepper>li>a,.qms-ui .qms-stepper>li>span{grid-template-columns:1fr;justify-items:center;padding:10px 4px}
.qms-ui .qms-stepper .qms-dot{grid-row:auto}
.qms-ui .qms-stepper .qms-step-name,.qms-ui .qms-stepper .qms-step-line{display:none}
.qms-ui .qms-stepper [aria-current=step] .qms-step-name{display:block;margin-top:4px;font-size:12px;text-align:center;overflow-wrap:anywhere}
.qms-ui .qms-stepcount{display:block}
.qms-ui fieldset.qms-card{padding:14px}
}

/* Mailkontoöversikten: samma kompakta kort på dator och mobil, utan skript. */
.mail-accounts-list{max-width:1120px;overflow-wrap:anywhere}
.mail-accounts-list h1{margin-bottom:8px}
.mail-accounts-list .mail-intro{margin:0 0 18px;color:var(--macc-text-muted)}
.mail-accounts-list .mail-help{background:var(--macc-selected-surface);border-color:var(--macc-info-border);box-shadow:none;margin:0 0 22px}
.mail-accounts-list :focus-visible{outline:3px solid var(--macc-action);outline-offset:3px}
.mail-filters{display:grid;grid-template-columns:minmax(220px,1.7fr) minmax(420px,2.6fr) auto;align-items:end;gap:16px;margin:0 0 18px}
.mail-filters label{display:grid;gap:6px;min-width:0;font-size:13px;font-weight:500}
.mail-filters :is(input,select){max-width:none;min-width:0;min-height:44px}
.mail-filter-options{min-width:0;border:0;padding:0;margin:0}
.mail-filter-toggle,.mail-filter-label{display:none!important}
.mail-filter-options>.mail-filter-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mail-accounts-list button{min-height:44px;margin:0;white-space:nowrap}
.mail-accounts-list .mail-secondary{background:var(--macc-surface);color:var(--macc-action);border-color:var(--macc-action)}
.mail-accounts-list button.mail-secondary:hover,.mail-accounts-list button.mail-secondary:active{background:var(--macc-selected-surface);color:var(--macc-action);border-color:var(--macc-action)}
.mail-results{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;font-size:13px;color:var(--macc-text-muted)}
.mail-results p{margin:0}.mail-results a{display:inline-flex;align-items:center;min-height:44px}
.mail-person-list{display:grid;gap:12px}
.mail-person-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,.8fr) minmax(145px,.9fr);gap:20px;align-items:center;padding:16px 20px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px}
.mail-person{display:flex;align-items:center;gap:16px;min-width:0}.mail-person>div{min-width:0}
.mail-person h2{font-size:18px;line-height:1.3;margin:0 0 4px}.mail-person p{font-size:14px;margin:0;color:var(--macc-text-muted)}
.mail-initials{display:inline-flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:var(--macc-selected-surface);color:var(--macc-action);font-weight:600;font-size:18px}
.mail-status{display:inline-flex;align-items:center;gap:6px;justify-self:start;padding:6px 12px;font-size:13px;line-height:1.3;border-radius:20px;background:var(--macc-surface-subtle);color:var(--macc-text);max-width:100%}
.mail-status-kopplat{background:var(--macc-success-surface);color:var(--macc-success-text)}
.mail-status-kopplat::before{content:'✓';font-weight:700}
.mail-status-registrerad{background:var(--macc-selected-surface);color:var(--macc-action)}
.mail-status-saknas{background:var(--macc-danger-surface);color:var(--macc-danger-text)}
.mail-status-blocked{background:var(--macc-warning-surface);color:var(--macc-warning-text)}
.mail-status-blocked::before{content:'!';font-weight:700}
.mail-card-action{justify-self:end;text-align:right;min-width:0}.mail-card-action form{margin:0;padding:0}
.mail-card-action button{min-width:114px}.mail-card-blocked p{font-size:12px;line-height:1.4;color:var(--macc-text-muted);margin:6px 0 0}
.mail-empty{padding:24px;border:1px solid var(--macc-border);border-radius:10px;background:var(--macc-surface)}
.mail-empty h2{font-size:18px;margin:0 0 8px}.mail-empty p,.mail-viewer-note{color:var(--macc-text-muted);font-size:14px}
@media(max-width:1200px){.mail-filters{grid-template-columns:1fr auto}.mail-search{grid-column:1/-1}.mail-person-card{gap:14px;grid-template-columns:minmax(0,1.4fr) minmax(130px,.8fr) minmax(130px,.9fr)}}
@media(max-width:760px){
 .mail-filters{grid-template-columns:1fr;gap:12px}.mail-search{grid-column:auto}
 .mail-filter-toggle{display:block!important;position:absolute;width:1px!important;height:1px;min-height:0!important;opacity:0}
 .mail-filters .mail-filter-label{display:flex!important;align-items:center;justify-content:space-between;min-height:44px;padding:10px 14px;border:1px solid var(--macc-action);border-radius:8px;color:var(--macc-action);cursor:pointer;font-size:14px;font-weight:600;list-style:none}
 .mail-filter-label::after{content:'＋'}.mail-filter-toggle:checked+.mail-filter-label::after{content:'−'}
 .mail-filter-toggle:focus-visible+.mail-filter-label{outline:3px solid var(--macc-action);outline-offset:3px}
 .mail-filter-toggle:not(:checked)~.mail-filter-fields{display:none}
 .mail-filter-toggle:checked~.mail-filter-fields{grid-template-columns:1fr;gap:12px;margin-top:12px}
 .mail-filters>button{width:100%}
 .mail-person-card{grid-template-columns:1fr;gap:12px;padding:18px}
 .mail-person{gap:12px}.mail-person h2{font-size:18px}.mail-person p{font-size:13px}
 .mail-person-card>.mail-status{margin-left:58px}
 .mail-card-action{justify-self:stretch;text-align:left}.mail-card-action button{width:100%}
 .mail-card-blocked{margin-left:58px}.mail-card-blocked p{font-size:13px}
}

/* Driftstatus is not a work tab: a small secondary link at the right end of the Försäljning row (wraps below on narrow screens). */
.local-nav-tabs a[href="/crm/drift"]{margin-left:auto;font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px}

/* Prislista och inställningar: grouped forms with units and help text. Server-rendered only. */
.kalkyl-form{display:flex;flex-direction:column;gap:16px;min-width:0}
.kalkyl-lead{margin:0 0 4px;color:var(--macc-text-muted);max-width:70ch}
.kalkyl-group{margin:0;min-width:0;min-inline-size:0;max-width:100%;display:block;padding:18px}
.kalkyl-group>*+*{margin-top:14px}
.kalkyl-group>legend+*{margin-top:0}
.kalkyl-group>legend{font-size:16px;font-weight:650;padding:0 6px;margin-left:-6px}
.kalkyl-group>.kalkyl-lead{margin:0;font-size:14px}
.kalkyl-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 18px}
.kalkyl-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.kalkyl-field-wide{grid-column:1/-1}
.kalkyl-field label{font-size:13px}
.kalkyl-form input:not([type="checkbox"]):not([type="hidden"]),.kalkyl-form textarea{max-width:100%;min-width:0}
.kalkyl-form textarea{margin-top:0;font-family:inherit;line-height:1.5}
.kalkyl-hint{font-size:13px;color:var(--macc-text-muted)}
.kalkyl-muted{color:var(--macc-text-muted)}
.kalkyl-unit{display:flex;align-items:stretch;border:1px solid var(--macc-control-border);border-radius:8px;background:var(--macc-surface);overflow:hidden}
.kalkyl-unit input:not([type="checkbox"]){border:0;border-radius:0;text-align:right;font-variant-numeric:tabular-nums;flex:1 1 auto;width:100%}
.kalkyl-unit input:focus-visible{outline:none}
.kalkyl-unit:focus-within{outline:2px solid var(--macc-action);outline-offset:2px}
.kalkyl-unit-label{display:flex;align-items:center;padding:0 10px;background:var(--macc-surface-subtle);color:var(--macc-text-muted);font-size:13px;border-left:1px solid var(--macc-border);white-space:nowrap}
.kalkyl-check{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:500;min-height:32px}
.kalkyl-check input{margin-top:4px;width:18px;height:18px;flex:none}
.kalkyl-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 18px}
.kalkyl-opts{display:flex;flex-direction:column;gap:2px}
/* position:relative keeps visually hidden labels inside the scroll container instead of widening the page. */
.kalkyl-table-wrap{position:relative;overflow-x:auto;max-width:100%;min-width:0}
.kalkyl-table{min-width:760px}
.kalkyl-table-narrow{min-width:320px;max-width:460px}
.kalkyl-table th,.kalkyl-table td{vertical-align:top;text-align:left}
.kalkyl-table .kalkyl-col-min{width:150px}.kalkyl-table .kalkyl-col-order{width:100px}
.kalkyl-table .kalkyl-col-remove{width:150px;text-align:right;border-left:1px solid var(--macc-border)}
.kalkyl-service-main{display:flex;flex-direction:column;gap:6px}
.kalkyl-service-main textarea{min-height:44px}
.kalkyl-service-id{font-size:12px;color:var(--macc-text-muted);display:flex;align-items:center;gap:6px}
.kalkyl-form .kalkyl-service-id input.kalkyl-id-input{min-height:32px;max-width:200px;padding:2px 8px;font-family:var(--mono);font-size:12px;background:var(--macc-surface-subtle)}
.kalkyl-table tr[id]{scroll-margin-top:calc(var(--topbar-h) + 12px)}
.kalkyl-form button.kalkyl-remove,.kalkyl-form button.kalkyl-undo{background:var(--macc-surface);color:var(--macc-danger-text);border:1px solid var(--macc-danger-border)}
.kalkyl-form button.kalkyl-remove:hover,.kalkyl-form button.kalkyl-undo:hover{background:var(--macc-danger-surface)}
.kalkyl-form button.kalkyl-undo{color:var(--macc-text);border-color:var(--macc-control-border)}
.kalkyl-gone-note{display:block;margin-bottom:6px;font-size:13px;font-weight:650;color:var(--macc-danger-text)}
.kalkyl-gone td:not(.kalkyl-col-remove){opacity:.55}
.kalkyl-gone td:not(.kalkyl-col-remove) input:not([type="hidden"]),.kalkyl-gone td:not(.kalkyl-col-remove) textarea{text-decoration:line-through}
.kalkyl-save{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:var(--radius);padding:14px 18px}
.kalkyl-save .kalkyl-hint{margin:0}
@media(max-width:767px){.kalkyl-group{padding:14px}.kalkyl-fields{grid-template-columns:minmax(0,1fr)}.kalkyl-save button{width:100%;justify-content:center}}

/* Quote state (text first, colour second) in case header, quick view and queue row. */
.crm-ui .crm-quote-state{margin:6px 0 0;font-size:13px;line-height:1.4;color:var(--macc-text-muted);overflow-wrap:anywhere}
.crm-ui .crm-quote-state strong{color:var(--macc-text)}
.crm-ui .crm-quote-state-sent strong,.crm-ui .crm-quote-state-accepted strong,.crm-ui .crm-quote-state-confirmation strong{color:var(--macc-success-text)}
.crm-ui .crm-quote-state-uncertain strong,.crm-ui .crm-quote-state-unreadable{color:var(--macc-warning-text)}
.crm-ui .crm-quote-state-uncertain strong{font-weight:700}
.crm-ui .crm-queue-table .crm-quote-state{font-size:12px}
.crm-partner{max-width:1100px;margin:0 auto;overflow-wrap:anywhere}
.crm-partner header,.crm-partner-actions,.crm-partner-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.crm-partner header{justify-content:space-between}
.crm-partner-filters{margin:20px 0;align-items:end}
.crm-partner-filters label{display:grid;gap:6px}
.crm-partner-list{list-style:none;padding:0;margin:12px 0 28px}
.crm-partner-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--macc-border)}
.crm-partner-list h3,.crm-partner-list p{margin:4px 0}
.crm-partner-date{font-size:14px;color:var(--macc-text-muted)}
.crm-partner-list .btn{flex-shrink:0}
.crm-partner-history{padding-left:20px}
.crm-partner-history li{padding:10px 0}
.crm-partner dl{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:8px}
.crm-partner dd{margin:0}
.crm-partner input,.crm-partner select,.crm-partner textarea{max-width:100%;box-sizing:border-box}
.crm-partner form>button+a{margin-left:16px}
.crm-sync-note{margin:8px 0 16px;padding:8px 12px;border-left:4px solid var(--macc-warning-border);background:var(--macc-warning-surface);color:var(--macc-warning-text);font-size:14px}
.crm-technical{margin-top:8px;font-size:14px;color:var(--macc-text-muted)}
.crm-technical pre{white-space:pre-wrap;overflow-wrap:anywhere}
.crm-stacked-form{display:grid;gap:16px;max-width:640px}
.crm-stacked-form label{display:grid;gap:6px}
.crm-ui .crm-stacked-form .crm-choice{display:flex;flex-wrap:wrap;gap:8px 20px;border:0;padding:0;margin:0}
.crm-choice legend{font-weight:600;margin-bottom:6px}
.crm-stacked-form .crm-choice label{display:flex;align-items:center;gap:8px;min-height:44px}
.crm-ui .crm-stacked-form input[type=radio][name],.crm-ui .crm-stacked-form input[type=checkbox][name]{display:inline-block;width:20px;height:20px;min-height:0;margin:0;flex:none}
.crm-plan-next{display:grid;gap:12px;border:1px solid var(--macc-border);border-radius:8px;padding:12px 16px}
.crm-stacked-form .crm-plan-next>label:first-of-type{display:flex;align-items:center;gap:8px}
.crm-customer-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 20px}
.crm-customer-head h2{margin:0 0 6px}
.crm-customer-head p{margin:0;color:var(--macc-text-muted)}
.crm-customer-head p strong{color:var(--macc-text)}
.crm-customer-head .btn{margin:0}
.crm-partner .btn-quiet{background:transparent;border-color:transparent;color:var(--macc-action)}
.crm-partner .btn-quiet:hover{background:var(--macc-surface-subtle)}
.crm-customer-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px;align-items:start}
.crm-customer-main,.crm-customer-side{display:grid;gap:24px;min-width:0}
.crm-customer-main>section,.crm-customer-side>section,.crm-customer-extra{padding:20px 24px;border:1px solid var(--macc-border);border-radius:12px;background:var(--macc-surface);box-shadow:var(--shadow)}
.crm-customer-side>section{padding:18px 20px}
.crm-customer-extra{margin-top:24px}
.crm-customer-card h3,.crm-customer-extra h3{margin:0 0 12px;font-size:18px}
.crm-customer-side h3{font-size:16px}
.crm-customer-card h4{margin:2px 0;font-size:16px}
.crm-customer-extra p{margin:4px 0}
.crm-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px}
.crm-section-head h3{margin:0}
.crm-customer-card .crm-section-intro{margin:0 0 8px;font-size:14px}
.crm-customer-card dl{display:grid;grid-template-columns:1fr;gap:2px;margin:12px 0 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.crm-customer-card dt{font-size:13px;color:var(--macc-text-muted)}
.crm-customer-card dd{margin:0 0 10px;font-weight:600}
.crm-customer-card .crm-next-list{margin:8px 0 4px}
.crm-customer-card .crm-next-list li{padding:12px 0}
.crm-customer-card .crm-next-list li:last-child{border-bottom:0}
.crm-tag{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--macc-selected-surface);color:var(--macc-brand-dark);font-size:12.5px;font-weight:600;line-height:1.6;margin-right:6px}
.crm-tag-late{background:var(--macc-warning-surface);color:var(--macc-warning-text);margin:0 0 0 6px}
.crm-quiet-details{margin-top:8px;font-size:14px}
.crm-quiet-details>summary,.crm-customer-card details>summary{cursor:pointer;color:var(--macc-action);font-weight:600;min-height:32px;align-content:center}
.crm-quiet-details ul{margin:6px 0 0;padding-left:18px}
.crm-history,.crm-people,.crm-deals{list-style:none;padding:0;margin:8px 0 0}
.crm-history-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--macc-border)}
.crm-history-item:first-child{border-top:0;padding-top:4px}
.crm-history-when{display:grid;align-content:start;font-size:13px;line-height:1.5;color:var(--macc-text-muted);font-variant-numeric:tabular-nums}
.crm-history-when span:first-child{color:var(--macc-text);font-weight:600}
.crm-history-body{min-width:0}
.crm-history-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0}
.crm-history-meta span{font-size:14px;color:var(--macc-text-muted)}
.crm-history-text{margin:4px 0 0;white-space:pre-line;line-height:1.55}
.crm-history-case{margin:4px 0 0;font-size:13px;color:var(--macc-text-muted)}
.crm-history-fix{display:inline-block;margin-top:4px;font-size:13px}
.crm-people li,.crm-deals li{padding:12px 0;border-top:1px solid var(--macc-border)}
.crm-people li:first-child,.crm-deals li:first-child{border-top:0;padding-top:0}
.crm-people li{display:grid;gap:2px}
.crm-people-actions{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px;margin-top:2px}
.crm-deal-title{font-weight:600;text-decoration:none}
.crm-deal-title:hover{text-decoration:underline}
.crm-deals p{margin:3px 0;font-size:14px}
.crm-customer-side details>summary{font-size:14px;margin-top:8px}
.crm-customer-side>section>details:only-child>summary{margin:0;color:var(--macc-text);font-size:16px}
.crm-partner>.crm-partner-list,.crm-partner>form.crm-stacked-form{padding:4px 24px;border:1px solid var(--macc-border);border-radius:12px;background:var(--macc-surface);box-shadow:var(--shadow)}
.crm-partner>.crm-partner-list li:last-child{border-bottom:0}
.crm-partner>form.crm-stacked-form{padding:24px;gap:20px}
.crm-ui .crm-stacked-form>label,.crm-ui .crm-stacked-form .crm-plan-next>label{margin:0}
.crm-ui .crm-stacked-form .crm-choice legend{padding:0}
@media(max-width:900px){.crm-customer-grid{grid-template-columns:1fr}}
@media(max-width:600px){.crm-customer-main>section,.crm-customer-side>section,.crm-customer-extra{padding:16px}.crm-history-item{grid-template-columns:1fr;gap:4px}.crm-history-when{display:flex;gap:8px}.crm-partner>.crm-partner-list{padding:0 16px}.crm-partner>form.crm-stacked-form{padding:16px}}
@media(max-width:600px){.crm-partner-list li{align-items:start;flex-direction:column}.crm-partner dl{grid-template-columns:1fr}.crm-partner dd{margin-bottom:12px}.crm-partner-actions .btn{width:100%;text-align:center;box-sizing:border-box}}
html{scroll-padding-top:0}
body{line-height:1.6}
*,*::before,*::after{box-sizing:border-box}
.skip-link{position:fixed;left:16px;top:-120px;z-index:100;padding:12px 20px;background:var(--macc-action);color:var(--macc-on-action);border-radius:8px;font-weight:700}
.skip-link:focus{top:12px}
.topbar{padding-inline:28px}
.brand-logo{margin-bottom:0;object-fit:contain}
.brand-workspace{letter-spacing:-.01em}
.sidebar{padding-top:24px}
.area-nav a{min-height:48px;gap:12px;padding:11px 14px;font-size:14px}
.area-nav .nav-tool-link{min-height:44px!important}
.nav-kicker{letter-spacing:.06em}
.nav-admin{margin-top:24px;padding-top:20px;border-top:1px solid var(--macc-border)}
.nav-tools{margin-top:auto;padding-bottom:12px}
.page-column>main{padding:28px 36px 56px}
main h1{font-size:32px;line-height:1.2;letter-spacing:-.035em;margin:0 0 12px;color:var(--macc-text);overflow-wrap:anywhere}
main h2{line-height:1.3;letter-spacing:-.02em}
main h3{color:var(--macc-text);line-height:1.4}
main :is(h1,h2,h3,[id]){scroll-margin-top:112px}
main>p,.page-intro-copy p{max-width:80ch}
.breadcrumbs{font-size:13px;flex-wrap:wrap;margin-bottom:8px;min-height:32px}
.breadcrumbs a{padding-block:6px;text-decoration:underline;text-underline-offset:3px}
.page-utility{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 24px;justify-content:space-between;margin-bottom:20px}
.page-utility .breadcrumbs{margin:0}
.page-utility .page-tools{margin:0;flex:0 1 auto}
.page-utility:has(.page-tools details[open]){display:block}
.page-tools{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:flex-start;position:relative;margin-bottom:22px;font-size:13px;color:var(--macc-text-muted)}
.page-tools details{position:relative;max-width:100%}
.page-tools summary{min-height:44px;align-content:center;cursor:pointer;color:var(--macc-action);font-weight:650}
.page-tools details[open]{flex-basis:100%;padding:0 18px 16px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px}
.page-outline ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 24px;list-style:none;margin:4px 0 0;padding:0}
.page-outline a{display:flex;align-items:center;min-height:44px;line-height:1.45;text-underline-offset:3px}
.outline-count{display:inline-block;margin-left:5px;min-width:22px;text-align:center;padding:0 5px;background:var(--macc-selected-surface);color:var(--macc-text);border-radius:5px;font-size:12px}
.context-help p{max-width:78ch;margin:6px 0}.context-help ul{padding-left:20px;margin:8px 0}
.context-help li+li{margin-top:8px}
.page-intro{gap:16px;margin-bottom:24px}
.page-intro-copy{max-width:78ch}
.page-local-nav{padding:0 0 8px;margin-bottom:28px}
.local-nav-tabs{gap:4px 20px;align-items:stretch}
.local-nav-tabs a{padding:12px 4px;min-height:48px}
.local-nav-actions{margin-top:10px;gap:8px}
.local-nav-actions a{padding:8px 12px;min-height:44px;border-radius:7px}
.section-head{margin-top:32px;padding-top:8px}
.section-head h3{font-size:19px;margin:0}
.card-sub,.note,.card-msg{line-height:1.6}
.card-sub{max-width:85ch}
.note{border-radius:8px;padding:14px 16px;border-left:3px solid var(--macc-info-border)}
.note-error{border-left-color:var(--macc-danger-text)}
.error,[role="alert"]{scroll-margin-top:120px}
.card,.area-card,.home-attention,.home-secondary,.home-primary,.dashboard-panel{box-shadow:none}
.cards{gap:16px}
.card h3{margin-top:0}
.card:focus-within{border-color:var(--macc-action)}
.home-overview{grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:24px;align-items:start}
.home-panel-head{padding:18px 22px}
.home-area{padding:20px 22px}
.home-area h3{font-size:17px}
.home-area .card-action{display:inline-flex;align-items:center;min-height:44px}
.home-stats{gap:16px}
.dashboard-row-links{gap:8px}
.dashboard-row-links a{display:inline-flex;align-items:center;min-height:44px;padding:6px 8px;border:1px solid var(--macc-border);border-radius:6px;background:var(--macc-surface);text-decoration:none}
.dashboard-row-links a:hover{border-color:var(--macc-action)}
dl{gap:20px;padding:20px;box-shadow:none}
dt{font-size:12px;text-transform:none;letter-spacing:0;font-weight:600}
dd{margin-top:4px;font-variant-numeric:tabular-nums;line-height:1.5}
.btn,button,input[type="submit"]{font-family:inherit;line-height:1.4;max-width:100%;white-space:normal;transition:background-color .12s,border-color .12s}
.btn,button[type="submit"],input[type="submit"]{min-height:44px;justify-content:center;padding:11px 16px}
button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.65}
a{ text-underline-offset:3px }
:focus-visible{outline:3px solid var(--macc-action);outline-offset:3px}
input[type="checkbox"],input[type="radio"]{accent-color:var(--macc-action);width:20px;height:20px;flex:none}
label:has(>input[type="checkbox"]),label:has(>input[type="radio"]){min-height:44px;align-content:center;cursor:pointer}
fieldset{min-inline-size:0;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px;padding:20px 24px;margin:20px 0}
legend{padding:0 8px;font-weight:700;font-size:16px;color:var(--macc-text)}
label{line-height:1.5}
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,textarea{max-width:100%;font:inherit;line-height:1.4;border-radius:7px}
input[type="file"]{padding:10px;background:var(--macc-surface-subtle);border:1px dashed var(--macc-control-border);width:100%}
input[type="file"]::file-selector-button{padding:8px 12px;margin-right:12px;border:1px solid var(--macc-border);border-radius:5px;background:var(--macc-surface);color:var(--macc-text);font:inherit;cursor:pointer}
textarea{resize:vertical;min-height:110px}
.form-grid{gap:16px 24px}
.form-grid p{margin-block:8px}
.workflow-steps{display:flex;flex-wrap:wrap;list-style:none;gap:12px 0;margin:18px 0 28px;padding:0;font-size:14px}
.workflow-steps li{display:flex;align-items:center;gap:8px;color:var(--macc-text-muted);padding:8px 18px 8px 0}
.workflow-steps li:not(:last-child)::after{content:"›";padding-left:12px;color:var(--macc-control-border)}
.workflow-steps li>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--macc-border);border-radius:50%;background:var(--macc-surface);font-weight:700;flex:none}
.workflow-steps [aria-current="step"]{color:var(--macc-action);font-weight:700}
.workflow-steps [aria-current="step"]>span{background:var(--macc-action);color:var(--macc-on-action);border-color:var(--macc-action)}
.ux-table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--macc-border);border-radius:10px;background:var(--macc-surface);margin:16px 0 24px;scrollbar-gutter:stable}
.table-scroll-hint{font-size:13px;color:var(--macc-text-muted);margin:16px 0 4px;max-width:80ch}
.tablewrap:has(>.ux-table-scroll),.tablewrap-sticky:has(>.ux-table-scroll){border:0;background:none;overflow:visible;box-shadow:none;margin:0}
.ux-table-scroll table{width:100%;margin:0;border:0;box-shadow:none;border-collapse:collapse;font-size:14px}
.ux-table-scroll th{background:var(--macc-surface-subtle);font-size:12px;font-weight:650;color:var(--macc-text-muted);letter-spacing:0;text-transform:none;padding:14px 16px;vertical-align:bottom;line-height:1.45}
.ux-table-scroll td{padding:16px;line-height:1.5;vertical-align:top;white-space:normal;overflow-wrap:anywhere}
.ux-table-scroll tbody tr:hover{background:var(--macc-surface-subtle)}
.ux-table-scroll tbody tr:focus-within{background:var(--macc-selected-surface)}
.ux-table-scroll td small{display:block;margin-top:5px;color:var(--macc-text-muted);max-width:38ch}
.ux-table-scroll td :is(input,select,textarea){min-width:0;max-width:100%}
.ux-table-scroll td a:not(.btn){display:inline-flex;align-items:center;min-height:44px;padding-block:5px}
.ux-table-scroll .person-identity{font-size:12px}
.person-identity>summary{min-height:44px;align-content:center}
.identity-copy{min-height:44px;min-width:44px;padding:8px}
.pill{white-space:normal;line-height:1.45}
.portal-footer{margin-left:var(--sidebar-w);padding:24px 36px 32px;border-top:1px solid var(--macc-border);color:var(--macc-text-muted);font-size:13px}
.portal-footer-full{margin-left:0}
.portal-footer p{margin:4px 0;max-width:90ch}
.portal-footer a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;margin-right:20px}
.back-to-top{display:flex;justify-content:flex-end;margin-top:32px;padding-top:16px;border-top:1px solid var(--macc-border);font-size:13px}
.back-to-top a{min-height:44px;display:inline-flex;align-items:center}
.personnel-jumps{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}
.personnel-jumps a{display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:48px;border:1px solid var(--macc-border);border-radius:8px;background:var(--macc-surface);text-decoration:none;font-size:14px}
.personnel-jumps strong{color:var(--macc-action);font-variant-numeric:tabular-nums}
.personnel-refresh{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:14px 0 20px}
.personnel-refresh form,.personnel-refresh p{margin:0}
.personnel-refresh .card-sub{max-width:60ch;font-size:13px}
.personnel-sourcebar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin:16px 0}
.personnel-sourcebar>.note{flex:1 1 280px;margin:0}
.personnel-sourcebar>.note-error{flex-basis:100%}
.personnel-sourcebar .personnel-refresh{flex:1 1 320px;margin:0;gap:8px}
.personnel-sourcebar .personnel-refresh .card-sub{max-width:58ch}
.personnel-summary{display:flex;flex-wrap:wrap;gap:12px 24px;padding:0;margin:16px 0;background:none;border:0;box-shadow:none}
.personnel-summary>div{display:flex;align-items:baseline;gap:8px}
.personnel-summary dt,.personnel-summary dd{font-size:14px;margin:0}
.personnel-filter{display:flex;gap:12px;flex-wrap:wrap;align-items:end;padding:16px 20px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px;margin:20px 0}
.personnel-filter label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;flex:1 1 260px;max-width:420px}
.personnel-filter input{width:100%;min-height:44px}
.personnel-filter p{font-size:13px;margin:0;align-self:center;color:var(--macc-text-muted)}
[hidden]{display:none!important}
@media(max-width:1100px){.home-overview{grid-template-columns:minmax(0,1fr)}.home-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.page-column>main{padding-inline:24px}}
@media(max-width:767px){
 html{scroll-padding-top:0}
 .topbar{padding-inline:16px}.brand-logo{margin-bottom:0}
 .page-column>main{padding:20px 16px 48px}
 main h1{font-size:28px}.page-tools{margin-bottom:14px;gap:4px 18px}
 main :is(h1,h2,h3,[id]){scroll-margin-top:150px}
 .page-outline ul{grid-template-columns:1fr}.page-tools details[open]{padding-inline:12px}
 .page-intro{gap:12px}.page-intro>.btn{width:100%;margin-top:4px}
 .local-nav-tabs{gap:0 16px}.local-nav-tabs a{min-height:48px}
 .home-aside{display:block}.home-overview{gap:20px}.home-area{padding:18px}
 .portal-footer{margin-left:0;padding:20px 16px}
 .portal-footer a{display:flex;margin:0}
 .workflow-steps{gap:4px;margin-block:16px 22px}
 .workflow-steps li{font-size:12px;padding-right:8px;gap:5px}
 .workflow-steps li:not(:last-child)::after{padding-left:3px}
 fieldset{padding:16px;margin-block:16px}
 main>dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}
 main>dl dd{font-size:20px}
 .personnel-jumps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .personnel-jumps a{justify-content:space-between;font-size:13px;padding:10px}
 .personnel-filter{padding:14px}.personnel-filter label{max-width:none}
 .ux-table-scroll:has(table[data-ux-table="stack"]){overflow:visible;border:0;background:transparent}
 table[data-ux-table="stack"],table[data-ux-table="stack"]>tbody{display:block;min-width:0;width:100%}
 table[data-ux-table="stack"]>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 table[data-ux-table="stack"]>tbody>tr{display:block;width:100%;margin:12px 0;border:1px solid var(--macc-border);border-radius:10px;padding:10px 16px;background:var(--macc-surface)}
 table[data-ux-table="stack"]>tbody>tr>td{display:block;min-width:0;max-width:100%;width:100%;padding:8px 0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
 table[data-ux-table="stack"]>tbody>tr>td[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:var(--macc-text-muted);margin-bottom:4px}
 .ux-table-scroll td :is(button,.btn){min-height:44px}
 .ux-table-scroll td :is(input,select,textarea){width:100%}
 .ux-table-scroll td :is(input[type="checkbox"],input[type="radio"]){width:20px}
 .btn,button[type="submit"],input[type="submit"]{min-height:48px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.pill,.btn,.workflow-steps li>span{border:1px solid CanvasText}a[aria-current]{outline:2px solid Highlight}}
@media print{.app-header,.sidebar,.mobile-menu,.page-tools,.page-local-nav,.portal-footer,.back-to-top,.skip-link{display:none!important}.app-shell{display:block}.page-column>main{padding:0;max-width:none;margin:0}.ux-table-scroll{overflow:visible;border:0}.ux-table-scroll tr{break-inside:avoid}}
main:has(.schema-design-preview){max-width:none}
.schema-design-preview{--sd-ink:#10243E;min-width:0}
.schema-design-preview h1,.schema-design-preview h3,.schema-design-preview h4{color:var(--sd-ink)}
.schema-design-preview .sd-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin:0 0 22px}
.schema-design-preview .sd-heading h1{font-size:34px;letter-spacing:-.035em;margin:0 0 8px;line-height:1.2}
.schema-design-preview .sd-heading p{margin:0;color:var(--macc-text-muted);font-size:16px}
.schema-design-preview .sd-heading-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.schema-design-preview .sd-heading-actions>.btn{min-height:46px;padding-inline:24px}
.schema-design-preview .sd-period{display:flex;align-items:center;gap:16px;min-height:46px;padding:10px 16px;border:1px solid var(--macc-border);border-radius:7px;background:var(--macc-surface);text-decoration:none;color:var(--macc-text);white-space:nowrap}
.schema-design-preview .sd-period>span:first-child{font-size:22px;line-height:1}
.schema-design-preview .sd-period>span:last-child{margin-left:12px}
.schema-design-preview .sd-source-status{position:relative;font-size:14px}
.schema-design-preview .sd-source-status>summary{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 16px;border:1px solid var(--macc-border);border-radius:7px;background:var(--macc-surface);cursor:pointer;list-style:none;white-space:nowrap}
.schema-design-preview .sd-source-status>summary::-webkit-details-marker{display:none}
.schema-design-preview .sd-source-status>summary>span:last-child{color:var(--macc-text-muted);font-size:20px;margin-left:8px}
.schema-design-preview .sd-source-dot{width:10px;height:10px;border-radius:50%;background:var(--macc-warning-text)}
.schema-design-preview .sd-source-dot.is-complete{background:var(--macc-success-text)}
.schema-design-preview .sd-source-status[open]{z-index:6}
.schema-design-preview .sd-source-popover{position:absolute;top:52px;right:0;width:330px;max-width:85vw;padding:16px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:8px;box-shadow:var(--shadow)}
.schema-design-preview .sd-source-status .dashboard-sources{display:grid;grid-template-columns:1fr;margin:0;padding:0;gap:10px}
.schema-design-preview .sd-source-popover>p{font-size:12px;line-height:1.5;margin:12px 0 0}
.schema-design-preview .page-local-nav{margin-bottom:22px;padding-bottom:0}
.schema-design-preview .local-nav-tabs{gap:28px}
.schema-design-preview .local-nav-tabs a{font-size:15px;padding:8px 0 14px}
.schema-design-preview .schema-dashboard{padding:0;border:0;background:transparent;box-shadow:none;max-width:none}
.schema-design-preview .sd-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin:0}
.schema-design-preview .worklist-summary{display:flex;gap:10px;flex-wrap:wrap;flex:1 1 550px}
/* Keep the original stop/wait/quiet backgrounds, borders and text colors. */
.schema-design-preview .worklist-stat{flex:0 1 auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;min-width:170px;min-height:50px;padding:10px 18px;border-radius:8px;text-decoration:none;box-shadow:none;color:var(--macc-text)}
.schema-design-preview .worklist-stat span{font-size:14px;white-space:nowrap}
.schema-design-preview .worklist-stat strong{font-size:16px;min-width:32px;padding:3px 7px;border-radius:20px;text-align:center;line-height:1.4}
.schema-design-preview .worklist-stat[aria-current="page"]{outline:2px solid var(--macc-action);outline-offset:2px}
.schema-design-preview .worklist-stat:hover{text-decoration:underline;text-underline-offset:4px}
.schema-design-preview .worklist-caveat{flex-basis:100%;order:3;font-size:12px;margin:0;color:var(--macc-text-muted)}
.schema-design-preview .sd-search{display:flex;align-items:center;gap:8px;flex:0 1 440px;min-width:260px;margin:0}
.schema-design-preview .sd-search input{width:100%;min-width:0;min-height:50px;padding:12px 16px;background:var(--macc-surface);border:1px solid var(--macc-control-border);font-size:14px}
.schema-design-preview .sd-search button{min-height:50px;background:var(--macc-surface);color:var(--macc-action);border:1px solid var(--macc-border)}
.schema-design-preview .sd-filters{margin:10px 0 14px;font-size:13px}
.schema-design-preview .sd-toolbar>.sd-filters{margin:0;flex:0 1 auto}
.schema-design-preview .sd-toolbar>.sd-filters[open]{flex-basis:100%}
.schema-design-preview .sd-toolbar{margin-bottom:20px}
.schema-design-preview .sd-filters>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;width:max-content;margin-left:auto;padding:8px 18px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:7px;color:var(--macc-text);font-weight:650;cursor:pointer;list-style:none}
.schema-design-preview .sd-filters>summary::before{content:"☷";font-size:20px;font-weight:400}
.schema-design-preview .sd-filters .dashboard-filterrow{margin:10px 0 0;justify-content:flex-end}
.schema-design-preview .sd-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,1fr);gap:24px;align-items:start}
.schema-design-preview .sd-workspace:not(:has(>.sd-detail)){grid-template-columns:1fr}
.schema-design-preview .worklist-section{margin:0;min-width:0}
.schema-design-preview .worklist-section>h3{font-size:22px;line-height:1.3;margin:6px 0 16px;letter-spacing:-.02em}
.schema-design-preview .sd-list-count{font-weight:700}
.schema-design-preview .worklist-rows{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px;overflow:hidden}
.schema-design-preview .sd-row{position:relative;margin:0;border:0;border-bottom:1px solid var(--macc-border);background:var(--macc-surface)}
.schema-design-preview .sd-row:last-child{border-bottom:0}
.schema-design-preview .sd-row::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--macc-danger-text);border-radius:3px}
.schema-design-preview .sd-row.is-handled::before{background:var(--macc-control-border)}
.schema-design-preview .sd-row.is-selected{background:var(--macc-surface-subtle)}
.schema-design-preview .sd-row{transition:background-color .16s ease}
.schema-design-preview .sd-workspace{overflow-anchor:none}
.schema-design-preview .sd-workspace[aria-busy="true"] .sd-detail{opacity:.7}
.schema-design-preview .sd-detail-enter{animation:sd-detail-enter .2s ease-out both}
@keyframes sd-detail-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.schema-design-preview .sd-detail-enter{animation:none}.schema-design-preview .sd-row{transition:none}}
.schema-design-preview .sd-row-select{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:16px;min-height:86px;padding:16px 22px 16px 28px;color:var(--macc-text);text-decoration:none}
.schema-design-preview .sd-row-select:hover{background:var(--macc-surface-subtle)}
.schema-design-preview .sd-row-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 18px}
.schema-design-preview .sd-row h4{font-size:16px;line-height:1.4;margin:0;font-weight:700}
.schema-design-preview .sd-row-heading>span{font-size:14px;color:var(--macc-text-muted)}
.schema-design-preview .sd-row p{margin:4px 0 0;color:var(--macc-text-muted);font-size:14px;line-height:1.5}
.schema-design-preview .sd-system{display:inline-block;border-radius:14px;padding:4px 12px;background:var(--macc-selected-surface);font-size:12px;color:var(--macc-text-muted);white-space:nowrap}
.schema-design-preview .sd-chevron{font-size:28px;font-weight:400;color:var(--macc-text-muted)}
.schema-design-preview .sd-detail{position:sticky;top:calc(var(--topbar-h) + 16px);padding:24px 28px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:10px;min-width:0;scroll-margin-top:calc(var(--topbar-h) + 20px)}
.schema-design-preview .sd-detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.schema-design-preview .sd-detail h3{font-size:24px;line-height:1.3;margin:0 0 6px;font-weight:700;letter-spacing:-.02em}
.schema-design-preview .sd-detail-heading p{font-size:15px;color:var(--macc-text-muted);margin:0}
.schema-design-preview .sd-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-10px -12px 0 0;font-size:27px;font-weight:400;color:var(--macc-text-muted);text-decoration:none;border-radius:6px}
.schema-design-preview .sd-close:hover{background:var(--macc-surface-subtle)}
.schema-design-preview .sd-system-line{text-align:right;margin:6px 0 20px}
.schema-design-preview .sd-detail h4{font-size:16px;margin:0 0 4px;font-weight:700}
.schema-design-preview .sd-problem p{margin:0 0 20px;line-height:1.6;color:var(--macc-text-muted)}
.schema-design-preview .sd-recommendation{padding:16px 18px;margin:0 0 14px;background:var(--macc-danger-surface);border-radius:8px;border-left:3px solid var(--macc-danger-border)}
.schema-design-preview .sd-recommendation h4{color:var(--macc-danger-text);font-size:14px}
.schema-design-preview .sd-recommendation p{font-size:14px;margin:4px 0 0;line-height:1.5}
.schema-design-preview .sd-primary-action{display:flex;width:100%;justify-content:center;white-space:normal;min-height:46px;text-align:center}
.schema-design-preview .sd-evidence{border-top:1px solid var(--macc-border);margin-top:18px;padding-top:2px}
.schema-design-preview .sd-evidence>summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:14px;font-weight:700;color:var(--sd-ink);cursor:pointer;list-style:none}
.schema-design-preview .sd-evidence>summary::after{content:"⌄"}
.schema-design-preview .sd-evidence[open]>summary::after{content:"⌃"}
.schema-design-preview .sd-evidence-link{display:grid;grid-template-columns:22px auto minmax(0,1fr) 16px;gap:12px;align-items:center;padding:12px;margin:4px 0 10px;border:1px solid var(--macc-border);border-radius:7px;font-size:12px;text-decoration:none;min-height:48px}
.schema-design-preview .sd-evidence-link>span:nth-last-child(2){color:var(--macc-text-muted);text-align:right}
.schema-design-preview .sd-evidence-note{font-size:12px;line-height:1.55;color:var(--macc-text-muted);margin:12px 0 0}
.schema-design-preview .sd-detail-facts{padding-left:18px;font-size:13px;color:var(--macc-text-muted)}
.schema-design-preview .sd-decisions{border-top:1px solid var(--macc-border);margin-top:18px;padding-top:8px}
.schema-design-preview .sd-decisions .finding-decision{max-width:none}
.schema-design-preview .sd-back-list{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-top:10px}
.schema-design-preview .sd-result-count{font-size:13px;color:var(--macc-text-muted)}
.schema-design-preview .sd-workspace+.worklist-section{margin-top:32px}
.schema-design-preview .worklist-row-gap{padding:16px 20px}
.schema-design-preview .worklist-footer{margin:26px 0 0;padding-top:16px;border-top:1px solid var(--macc-border);font-size:12px;line-height:1.7}
@media(prefers-color-scheme:dark){.schema-design-preview{--sd-ink:var(--macc-text)}}
@media(max-width:1100px){
 .schema-design-preview .sd-heading-actions{gap:10px}
 .schema-design-preview .sd-workspace{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:16px}
 .schema-design-preview .sd-detail{padding:20px}
 .schema-design-preview .sd-row-select{gap:10px;padding:14px 14px 14px 20px}
 .schema-design-preview .sd-row-heading>span{font-size:12px}
 .schema-design-preview .sd-row-select>.sd-system{display:none}
}
@media(max-width:767px){
 .schema-design-preview .sd-heading{gap:16px;margin-bottom:16px}
 .schema-design-preview .sd-heading h1{font-size:28px}
 .schema-design-preview .sd-heading p{font-size:14px}
 .schema-design-preview .sd-heading-actions{width:100%;gap:8px}
 .schema-design-preview .sd-heading-actions>.btn{flex-basis:100%;min-height:48px}
 .schema-design-preview .sd-period,.schema-design-preview .sd-source-status{flex:1 1 auto;font-size:12px}
 .schema-design-preview .sd-period{gap:8px;padding-inline:10px}
 .schema-design-preview .sd-source-status>summary{gap:8px;padding-inline:10px}
 .schema-design-preview .sd-source-status>summary>span:last-child{font-size:16px;margin-left:0}
 .schema-design-preview .sd-source-status .dashboard-sources{right:0}
 .schema-design-preview .local-nav-tabs{gap:0 16px}
 .schema-design-preview .local-nav-tabs a{font-size:14px}
 .schema-design-preview .worklist-summary{flex-basis:100%;gap:8px;display:grid;grid-template-columns:1fr}
 .schema-design-preview .worklist-stat{min-width:0;padding:10px 14px;min-height:48px}
 .schema-design-preview .worklist-stat span{font-size:14px;white-space:normal}
 .schema-design-preview .sd-search{flex-basis:100%;min-width:0}
 .schema-design-preview .sd-workspace{grid-template-columns:1fr;gap:20px}
 .schema-design-preview .sd-detail{position:static;scroll-margin-top:calc(var(--topbar-h) + 64px);padding:20px 16px}
 .schema-design-preview .sd-detail h3{font-size:22px}
 .schema-design-preview .sd-row-select{grid-template-columns:minmax(0,1fr) 18px;min-height:90px;padding:14px 14px 14px 20px}
 .schema-design-preview .sd-row h4{font-size:15px}
 .schema-design-preview .sd-row p{font-size:13px}
 .schema-design-preview .sd-evidence-link{grid-template-columns:20px 1fr 16px;gap:8px}
 .schema-design-preview .sd-evidence-link>span:nth-last-child(2){grid-column:2;grid-row:2;text-align:left}
 .schema-design-preview .sd-evidence-link>span:last-child{grid-column:3;grid-row:1 / 3}
}
@media print{.schema-design-preview .sd-detail{position:static}.schema-design-preview .sd-workspace{display:block}.schema-design-preview .sd-search,.schema-design-preview .sd-filters,.schema-design-preview .sd-close{display:none}}
main:has(.overview-design-preview){max-width:none}
.overview-design-preview{--overview-ink:#0d2739;--overview-icon:#08718a;color:var(--macc-text)}
.overview-design-preview .home-page-intro{align-items:center;margin:0 0 22px;gap:24px}
.overview-design-preview .home-page-intro h1{font-size:38px;letter-spacing:-.035em;color:var(--overview-ink);margin-bottom:4px}
.overview-design-preview .home-page-intro p{font-size:14px;margin:0;color:var(--macc-text-muted)}
.overview-design-preview .home-page-intro>.btn{min-height:48px;padding:12px 22px;border-radius:8px;flex:none}
.overview-design-preview .home-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}
.overview-design-preview .home-stat{position:relative;display:grid;grid-template-columns:60px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:24px;row-gap:3px;align-content:center;min-height:126px;padding:20px 28px;border-radius:12px;box-shadow:none}
.overview-design-preview .overview-stat-icon{grid-column:1;grid-row:1 / 4;align-self:center;display:grid;place-items:center;width:60px;height:60px;background:var(--macc-selected-surface);border-radius:12px;color:var(--overview-icon)}
.overview-design-preview svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.overview-design-preview .home-stat>span{grid-column:2;font-size:14px;color:var(--macc-text-muted);font-weight:700}
.overview-design-preview .home-stat>strong{grid-column:2;font-size:28px;line-height:1.25;margin:0;color:var(--overview-ink)}
.overview-design-preview .home-stat>small{grid-column:2;font-size:14px;padding:0;margin:0;color:var(--macc-text-muted)}
.overview-design-preview .home-overview{grid-template-columns:minmax(0,1.77fr) minmax(320px,1fr);gap:18px;align-items:start}
.overview-design-preview .home-overview-single{grid-template-columns:minmax(0,1fr)}
.overview-design-preview .home-primary,.overview-design-preview .home-secondary{border-radius:12px;box-shadow:none}
.overview-design-preview .home-attention{padding:0 24px}
.overview-design-preview .home-panel-head{padding:18px 0;border-bottom:1px solid var(--macc-border)}
.overview-design-preview .home-panel-head h3{font-size:22px;letter-spacing:-.025em;color:var(--overview-ink)}
.overview-design-preview .home-attention .home-panel-head{border-bottom:0;padding:18px 0 12px}
.overview-design-preview .home-attention .pill{border-radius:9px;font-size:12px;white-space:nowrap}
.overview-design-preview .home-attention .dashboard-alerts{padding:0;margin:2px 0 6px}
.overview-design-preview .dashboard-alerts .note{font-size:13px;line-height:1.6;color:var(--macc-text-muted);background:var(--macc-surface-subtle);border:0;padding:11px 14px 11px 42px;margin:0 0 8px;position:relative}
.overview-design-preview .dashboard-alerts .note::before{content:"ⓘ";position:absolute;left:16px;top:10px;color:var(--overview-icon);font-size:17px}
.overview-design-preview .dashboard-alerts .note-wait{background:var(--macc-warning-surface);color:var(--macc-warning-text);border:1px solid var(--macc-warning-border);border-left:4px solid #cf8619}
.overview-design-preview .dashboard-alerts .note-wait::before{color:var(--macc-warning-text)}
.overview-design-preview .home-attention-row{position:relative;grid-template-columns:minmax(0,1fr) auto 36px;gap:8px;min-height:100px;padding:11px 0 8px;border-top:0;border-bottom:1px solid var(--macc-border)}
.overview-design-preview .home-attention-main>strong{font-size:15px;line-height:1.45;color:var(--overview-ink)}
.overview-design-preview .home-attention-main>small{font-size:14px;font-weight:600;color:var(--macc-text);line-height:1.6;margin-top:5px;overflow-wrap:anywhere}
.overview-design-preview .home-attention-count{font-size:20px;color:var(--overview-ink);white-space:nowrap;text-align:right}
.overview-design-preview .overview-row-open{width:36px;min-height:44px;display:grid;place-items:center;font-size:28px;text-decoration:none;color:var(--macc-action);border-radius:6px}
.overview-design-preview .overview-row-open:hover{background:var(--macc-selected-surface)}
.overview-design-preview .dashboard-row-links{gap:6px;margin-top:3px}
.overview-design-preview .dashboard-row-links a,.overview-design-preview .dashboard-target{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;background:var(--macc-selected-surface);font-size:13px;line-height:1.5}
.overview-design-preview .dashboard-row-links a{min-height:44px;border:1px solid var(--macc-action);color:var(--macc-action);font-weight:650;text-decoration:none}
.overview-design-preview .dashboard-target{min-height:32px;border:1px solid transparent;color:var(--macc-text-muted)}
.overview-design-preview .dashboard-row-links a:hover,.overview-design-preview .dashboard-row-links a:focus-visible{background:var(--macc-action);border-color:var(--macc-action);color:var(--macc-on-action);text-decoration:none}
.overview-design-preview .dashboard-row-links a:active{background:var(--macc-action-hover);border-color:var(--macc-action-hover)}
.overview-design-preview .home-attention>.dashboard-limitation{padding:16px 0;border:0;font-size:12px}
.overview-design-preview .home-aside{display:flex;flex-direction:column;gap:18px}
.overview-design-preview .home-secondary,.overview-design-preview .home-primary:not(.home-attention){padding:0 22px}
.overview-design-preview .home-area{position:relative;padding:18px 0 18px 72px;min-height:120px}
.overview-design-preview .overview-area-icon{position:absolute;top:16px;left:0;width:52px;height:52px;display:grid;place-items:center;border-radius:12px;color:var(--overview-icon);background:var(--macc-selected-surface)}
.overview-design-preview .overview-area-icon svg{width:25px;height:25px}
.overview-design-preview .home-area h3{font-size:17px;line-height:1.5;color:var(--overview-ink);letter-spacing:-.01em}
.overview-design-preview .home-area .card-sub{font-size:14px;line-height:1.65;margin-top:5px;color:var(--macc-text)}
.overview-design-preview .home-area .card-msg{font-size:14px;font-weight:600;color:var(--macc-text);line-height:1.6;margin-top:12px;padding-top:12px}
.overview-design-preview .home-area .card-action{display:inline-flex;justify-content:center;min-height:44px;margin-top:12px;padding:9px 14px;border:1px solid var(--macc-action);border-radius:8px;background:var(--macc-surface);color:var(--macc-action);font-size:14px;gap:12px;font-weight:700;text-decoration:none}
.overview-design-preview .home-area .card-action:hover,.overview-design-preview .home-area .card-action:focus-visible{background:var(--macc-action);border-color:var(--macc-action);color:var(--macc-on-action);text-decoration:none}
.overview-design-preview .home-area .card-action:active{background:var(--macc-action-hover);border-color:var(--macc-action-hover)}
.overview-design-preview .home-area .card-action>span{font-size:22px}
.overview-design-preview .home-attention-empty{padding:16px 0}
@media(prefers-color-scheme:dark){.overview-design-preview{--overview-ink:var(--macc-text);--overview-icon:var(--macc-action)}}
@media(max-width:1100px){
 .overview-design-preview .home-overview{grid-template-columns:minmax(0,1fr)}
 .overview-design-preview .home-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
 .overview-design-preview .home-stat{padding:20px;column-gap:16px}
}
@media(max-width:767px){
 .overview-design-preview .home-page-intro{align-items:stretch;gap:16px}
 .overview-design-preview .home-page-intro h1{font-size:30px}
 .overview-design-preview .home-page-intro>.btn{width:100%;text-align:center}
 .overview-design-preview .home-stats{grid-template-columns:1fr;gap:12px}
 .overview-design-preview .home-stat{min-height:112px;padding:18px;column-gap:16px}
 .overview-design-preview .home-stat>small{font-size:13px}
 .overview-design-preview .home-aside{display:flex;gap:16px}
 .overview-design-preview .home-primary,.overview-design-preview .home-secondary{padding-inline:16px}
 .overview-design-preview .home-panel-head h3{font-size:20px}
 .overview-design-preview .home-attention .home-panel-head{flex-wrap:wrap;gap:8px}
 .overview-design-preview .home-attention-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:14px 0}
 .overview-design-preview .home-attention-main{grid-column:1;grid-row:1 / 3}
 .overview-design-preview .home-attention-count{grid-column:2;grid-row:1;font-size:18px}
 .overview-design-preview .overview-row-open{grid-column:2;grid-row:2;justify-self:end}
 .overview-design-preview .dashboard-row-links a{min-height:44px}
 .overview-design-preview .home-area{padding-left:64px}
 .overview-design-preview .overview-area-icon{width:48px;height:48px}
}
@media print{.overview-design-preview .home-overview{display:block}.overview-design-preview .home-aside{display:block}.overview-design-preview .home-primary,.overview-design-preview .home-secondary{break-inside:avoid}}
main:has(.report-design-preview){max-width:1640px;width:100%;margin-inline:auto}
main:has(.report-design-preview) .page-outline{display:none}
.report-run-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 24px;border-bottom:1px solid var(--macc-border);padding-bottom:16px;margin-bottom:20px}
.report-run-meta .section-head{display:contents}
.report-run-meta h3{grid-column:1;grid-row:1;font-size:13px;color:var(--macc-text-muted);font-weight:600;margin:0}
.report-run-meta .section-head>.btn{grid-column:2;grid-row:1 / 3;margin-left:auto}
.report-run-meta>.note{grid-column:1;grid-row:2;margin:0;padding:0;border:0;background:transparent;font-size:13px;line-height:1.5}
.report-design-preview .page-heading{align-items:flex-start;gap:16px}
.report-design-preview .page-heading h1{font-size:30px;line-height:1.3;margin:0 0 8px}
.report-design-preview .page-heading .card-sub{font-size:14px}
.report-design-preview .workflow-steps{margin:16px 0 18px}
.report-design-preview .finding-filter{margin:0;padding:12px 16px;background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:9px}
.report-design-preview .finding-filter p{margin:0;font-weight:600;font-size:14px}
.report-design-preview .evidence-return{position:static;display:flex;justify-content:space-between;width:fit-content;max-width:100%;padding:0;margin:0 0 18px;background:none;border:0;box-shadow:none}
.report-design-preview .evidence-return-space{height:0}
.report-design-preview .report-guide{font-size:14px;line-height:1.7;padding:16px 18px;margin:18px 0 24px;background:var(--macc-selected-surface);border:1px solid var(--macc-info-border);border-radius:10px;max-width:none}
.report-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:28px;align-items:start}
.report-contents{position:sticky;top:calc(var(--topbar-h) + 16px);max-height:calc(100vh - var(--topbar-h) - 32px);overflow-y:auto;border:1px solid var(--macc-border);border-radius:12px;background:var(--macc-surface);padding:18px 14px;scrollbar-width:thin}
.report-nav-title{margin:0 8px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--macc-text-muted)}
.report-contents ol,.report-contents ul{list-style:none;padding:0;margin:0}
.report-contents ol>li+li{border-top:1px solid var(--macc-border);margin-top:8px;padding-top:8px}
.report-contents .report-group-link{display:flex;align-items:center;gap:9px;min-height:44px;padding:6px 8px;border-radius:7px;font-size:14px;font-weight:700;text-decoration:none;color:var(--macc-text);line-height:1.4}
.report-group-link>span{display:grid;place-items:center;width:24px;height:24px;flex:none;border:1px solid var(--macc-border);border-radius:50%;font-size:12px;color:var(--macc-action)}
.report-contents ul{padding-left:32px}
.report-contents ul a{display:block;font-size:12px;min-height:32px;padding:6px 4px;color:var(--macc-text-muted);text-decoration:none;line-height:1.5}
.report-contents a:hover,.report-contents a[aria-current="location"]{background:var(--macc-selected-surface);color:var(--macc-action)}
.report-top-link{display:flex;align-items:center;min-height:44px;font-size:12px;padding:8px;margin-top:12px}
.report-sections{min-width:0}
.report-design-preview .report-group{margin:0 0 36px;scroll-margin-top:calc(var(--topbar-h) + 20px)}
.report-group-heading{display:flex;align-items:center;gap:12px;padding:4px 0 18px;border-bottom:2px solid var(--macc-border);margin-bottom:16px}
.report-group-number{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--macc-action);color:var(--macc-on-action);font-size:17px;font-weight:700;flex:none}
.report-group-heading h2{font-size:23px;margin:0;line-height:1.4;letter-spacing:-.02em}
.report-group-heading p{font-size:13px;line-height:1.5;color:var(--macc-text-muted);margin:2px 0 0}
.report-group-heading>a{margin-left:auto;display:grid;place-items:center;min-width:44px;min-height:44px;font-size:22px;text-decoration:none}
.report-design-preview .group-label{font-size:12px;margin:14px 2px;color:var(--macc-text-muted)}
.report-design-preview .evidence-card{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:12px;margin:0 0 18px;padding:22px 24px;min-width:0;box-shadow:none}
.report-design-preview .evidence-card .section-head{align-items:flex-start;gap:16px;padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid var(--macc-border)}
.report-design-preview .evidence-card .section-head h2,.report-design-preview .evidence-card>h2{font-size:19px;line-height:1.45;margin:0}
.report-design-preview .control-ref{display:block;font-size:12px;line-height:1.6;font-weight:500;color:var(--macc-text-muted);margin-top:3px}
.report-design-preview .evidence-card h3{margin:24px 0 6px;font-size:16px}
.report-design-preview .evidence-hint{font-size:13px;line-height:1.7;max-width:90ch}
.report-design-preview .evidence-diagnostic{background:var(--macc-selected-surface);padding:16px;border-radius:8px;line-height:1.7;font-size:13px}
.report-design-preview .evidence-incident{padding:18px;margin:14px 0;background:var(--macc-surface);border:1px solid var(--macc-border);border-left:4px solid var(--macc-danger-text);border-radius:9px}
.report-design-preview .evidence-incident:target{outline:3px solid var(--macc-action);outline-offset:3px;background:var(--macc-surface-subtle)}
.report-design-preview .evidence-incident h4{font-size:17px;margin-top:0}
.report-design-preview .evidence-incident dl{padding:16px;background:var(--macc-surface-subtle);border:0;border-radius:8px}
.report-design-preview .tablewrap{margin-top:12px;border:1px solid var(--macc-border);border-radius:8px;max-width:100%;overflow:auto}
.report-design-preview table{margin:0;font-size:13px;min-width:520px}
.report-design-preview th{white-space:normal;line-height:1.5}
.report-design-preview td{line-height:1.6;vertical-align:top}
.report-design-preview :is(.evidence-explain,.evidence-counts,.finding-decision,.fold){background:var(--macc-surface-subtle);border:1px solid var(--macc-border);border-radius:8px;padding:0 14px;margin:12px 0}
.report-design-preview :is(.evidence-explain,.evidence-counts,.finding-decision,.fold)>summary{min-height:44px;padding:10px 0;font-size:13px;line-height:1.6;cursor:pointer;font-weight:600;color:var(--macc-action)}
.report-design-preview :is(.evidence-explain,.evidence-counts,.finding-decision,.fold)[open]{padding-bottom:14px}
.report-design-preview .report-source-card>.evidence-source-details{background:var(--macc-surface);border:1px solid var(--macc-border);border-radius:12px;padding:18px 22px;margin:0 0 18px}
.report-design-preview .evidence-source-details>summary{font-size:17px;font-weight:700;min-height:44px;color:var(--macc-text)}
.report-design-preview .evidence-source-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;background:var(--macc-surface-subtle);border:0;border-radius:8px}
.report-design-preview .evidence-source-strip dd{font-size:22px}
@media(max-width:1100px){
 .report-layout{grid-template-columns:190px minmax(0,1fr);gap:18px}
 .report-contents{padding:14px 8px}
 .report-design-preview .evidence-card{padding:18px}
}
@media(max-width:767px){
 .report-run-meta{grid-template-columns:minmax(0,1fr);gap:8px}
 .report-run-meta .section-head>.btn{grid-column:1;grid-row:3;margin:0;justify-self:start}
 .report-layout{grid-template-columns:minmax(0,1fr)}
 .report-contents{position:static;max-height:none;padding:16px}
 .report-contents ul{display:none}
 .report-contents ol>li+li{border:0;padding:0;margin:0}
 .report-contents .report-group-link{min-height:48px}
 .report-design-preview .page-heading{display:block}
 .report-design-preview .page-heading h1{font-size:25px}
 .report-design-preview .page-heading>.pill{display:inline-flex;margin-top:12px}
 .report-design-preview .evidence-return{flex-wrap:wrap;gap:0 12px}
 .report-design-preview .evidence-return span{white-space:normal}
 .report-design-preview .report-group{scroll-margin-top:calc(var(--topbar-h) + 60px)}
 .report-group-heading h2{font-size:20px}
 .report-group-heading{gap:10px}
 .report-group-number{width:34px;height:34px}
 .report-design-preview .evidence-card{padding:16px}
 .report-design-preview table[data-ux-table="stack"]{min-width:0}
 .report-design-preview .evidence-card .section-head{display:block}
 .report-design-preview .evidence-card .section-head h2{font-size:18px}
 .report-design-preview .evidence-card .section-head>span{display:inline-flex;margin-top:10px}
 .report-design-preview .evidence-incident{padding:14px}
 .report-design-preview .evidence-source-strip{grid-template-columns:minmax(0,1fr)}
 .report-design-preview .finding-filter{flex-wrap:wrap;gap:8px}
}
@media print{.report-layout{display:block}.report-contents,.report-group-heading>a,.report-design-preview .evidence-return{display:none}.report-design-preview .evidence-card{break-inside:auto}.report-design-preview .tablewrap{overflow:visible}}

.pos-edit .pos-group{margin:14px 0;padding:12px 14px;border:1px solid var(--macc-border);border-radius:8px}
.pos-edit legend,.pos-group legend{font-weight:650;padding:0 6px}
.pos-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:44px;padding:4px 0}
.pos-row input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--macc-action)}
.pos-row .btn,.pos-edit button,.pos-search button{min-height:44px}
.pos-field{display:block;margin-top:14px;font-weight:600}
.pos-edit input:not([type=checkbox]):not([type=hidden]),.pos-search input:not([type=hidden]){min-height:44px;max-width:100%;width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--macc-control-border);border-radius:6px;background:var(--macc-surface);color:var(--macc-text);font:inherit}
.pos-search{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pos-search input[type=search]{flex:1 1 220px;width:auto}
.note-inline{color:var(--macc-text-muted);font-size:14px}
