@font-face { font-family: "ICA Rubrik"; src: url("./public/fonts/ica-rubrik-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "ICA Rubrik"; src: url("./public/fonts/ica-rubrik-bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "ICA Rubrik"; src: url("./public/fonts/ica-rubrik-black.woff2") format("woff2"); font-weight: 900; font-display: swap; }
@font-face { font-family: "ICA Text Ny"; src: url("./public/fonts/ica-text-regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "ICA Text Ny"; src: url("./public/fonts/ica-text-bold.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  --ica-red: #e3000b;
  --ica-red-dark: #9b0600;
  --action: #e13205;
  --action-text: #cf2e05;
  --red-soft: #fcece7;
  --ink: #3a3a3a;
  --muted: #626262;
  --line: #dedbd8;
  --canvas: #f9f5f5;
  --surface: #ffffff;
  --yellow-soft: #fffceb;
  --yellow: #fdc300;
  --green-soft: #f5faf4;
  --green: #2f6147;
  --blue-soft: #f4f8fc;
  --blue: #10408b;
  --purple-soft: #f4f2f9;
  --disabled: #ededed;
  --radius-sm: 12px;
  --radius: 20px;
  --radius-lg: 28px;
  --shadow: 0 12px 32px #3a3a3a14;
  --sidebar-width: 248px;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); }
body { margin: 0; color: var(--ink); background: var(--canvas); font-family: "ICA Text Ny", Arial, sans-serif; font-size: 16px; line-height: 1.45; }
button, input { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: "ICA Rubrik", Arial, sans-serif; }
h1 { margin-bottom: 8px; font-size: clamp(2.15rem, 4vw, 3.15rem); line-height: .98; font-weight: 900; letter-spacing: -.025em; }
h2 { margin-bottom: 6px; font-size: 1.55rem; line-height: 1.1; }
h3 { margin-bottom: 8px; font-size: 1.45rem; }
svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; left: 16px; top: -80px; padding: 12px 18px; border-radius: 0 0 10px 10px; color: white; background: var(--ink); }
.skip-link:focus { top: 0; }
.icon { display: inline-flex; width: 24px; height: 24px; flex: 0 0 auto; }
.icon--small { width: 18px; height: 18px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar-width) 1fr; grid-template-rows: 76px 1fr; }
.topbar { position: sticky; top: 0; z-index: 20; grid-column: 1 / -1; display: grid; grid-template-columns: var(--sidebar-width) minmax(260px, 1fr) auto; align-items: center; min-height: 76px; padding: 0 32px 0 26px; border-bottom: 1px solid var(--line); background: var(--surface); }
.header-start { display: flex; align-items: center; gap: 8px; min-width: 0; }
.app-back { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-height: 44px; padding: 8px 10px; color: var(--ica-red-dark); border: 0; border-radius: 9px; background: var(--red-soft); font-size: .78rem; font-weight: 700; text-decoration: none; white-space: nowrap; cursor: pointer; }
.app-back:hover:not(:disabled) { background: #f7d9d4; }
.app-back:disabled, .app-back.is-disabled { color: var(--muted); background: var(--canvas); cursor: default; }
.brand { display: inline-flex; align-items: baseline; gap: 10px; width: fit-content; color: inherit; text-decoration: none; }
.wordmark { font-family: "ICA Rubrik", Arial, sans-serif; font-size: 1.75rem; font-weight: 900; line-height: 1; letter-spacing: -.055em; }
.wordmark > span { color: var(--ink); }
.wordmark strong { color: var(--ica-red); }
.brand__descriptor { color: var(--muted); font-size: .77rem; }
.store-switcher { justify-self: start; display: flex; align-items: center; gap: 11px; min-height: 48px; padding: 5px 14px 5px 10px; border: 0; border-radius: var(--radius-sm); background: var(--canvas); cursor: pointer; text-align: left; }
.store-switcher:hover { background: var(--red-soft); }
.store-switcher small, .store-switcher b { display: block; }
.store-switcher small { color: var(--muted); font-size: .7rem; }
.store-switcher b { font-size: .92rem; }
.icon--store { width: 30px; height: 30px; padding: 6px; color: var(--action-text); border-radius: 9px; background: var(--red-soft); }
.profile { display: flex; align-items: center; gap: 10px; }
.profile span b, .profile span small { display: block; }
.profile span b { font-size: .88rem; }
.profile span small { color: var(--muted); font-size: .74rem; }
.avatar { object-fit: cover; display: grid; place-items: center; width: 38px; height: 38px; color: white; border-radius: 50%; background: var(--ica-red-dark); font-family: "ICA Rubrik"; font-weight: 700; }
.icon-button { display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 10px; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.icon-button:hover { background: var(--canvas); }
.mobile-menu { display: none; }
.store-menu { position: fixed; z-index: 30; left: calc(var(--sidebar-width) + 32px); top: 67px; width: min(340px, calc(100vw - 32px)); max-height: calc(100vh - 90px); overflow-y: auto; padding: 8px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: white; box-shadow: var(--shadow); }
.store-menu button { display: block; width: 100%; padding: 12px; border: 0; border-radius: 9px; background: white; text-align: left; cursor: pointer; }
.store-menu button:hover, .store-menu button[aria-selected="true"] { background: var(--red-soft); }
.store-menu span, .store-menu small { display: block; }
.store-menu small { color: var(--muted); }
.store-menu__label, .store-menu__demos p { margin: 8px 12px; color: var(--muted); font-size: .74rem; font-weight: 700; }
.store-menu__current { margin: 0; padding: 12px; background: var(--red-soft); border-radius: 9px; font-weight: 700; }
.store-menu__demos { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
.store-menu__demos a { display: block; padding: 12px; border-radius: 9px; color: inherit; text-decoration: none; font-weight: 700; }
.store-menu__demos a:hover, .store-menu__demos a:focus-visible { background: var(--red-soft); }

.sidebar { position: sticky; top: 76px; height: calc(100vh - 76px); display: flex; flex-direction: column; justify-content: space-between; padding: 28px 16px 20px; border-right: 1px solid var(--line); background: var(--surface); }
.nav-label { margin: 0 12px 10px; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.nav-item { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 48px; margin-bottom: 4px; padding: 10px 12px; border: 0; border-radius: var(--radius-sm); background: transparent; cursor: pointer; text-align: left; font-weight: 700; }
.nav-item:hover { background: var(--canvas); }
.nav-item.is-active { color: var(--ica-red-dark); background: var(--red-soft); }
.nav-item.is-active .icon { color: var(--action-text); }
.sidebar__bottom { display: grid; gap: 12px; }
.role-preview { padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--canvas); }
.role-preview > small { display: block; margin-bottom: 7px; color: var(--muted); font-size: .66rem; font-weight: 700; }
.role-preview > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.role-preview button { min-height: 31px; padding: 4px 6px; border: 0; border-radius: 8px; background: white; cursor: pointer; font-size: .68rem; font-weight: 700; }
.role-preview button.is-active { color: white; background: var(--ica-red-dark); }
.security-note { display: flex; gap: 10px; padding: 14px 12px; border-radius: var(--radius-sm); background: var(--green-soft); }
.security-note .icon { color: var(--green); }
.security-note b, .security-note small { display: block; }
.security-note b { font-size: .8rem; }
.security-note small { color: var(--muted); font-size: .71rem; }
.mobile-nav { display: none; }

.main-content { min-width: 0; padding: 44px clamp(24px, 4vw, 64px) 72px; outline: none; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; max-width: 1320px; margin: 0 auto 30px; }
.page-heading > div > p:last-child { margin: 0; color: var(--muted); font-size: 1.03rem; }
.eyebrow { margin-bottom: 7px; color: var(--action-text); font-size: .75rem; font-weight: 700; letter-spacing: .105em; text-transform: uppercase; }
.date-card { min-width: 210px; padding: 15px 18px; border-left: 4px solid var(--ica-red); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--surface); box-shadow: 0 6px 20px #3a3a3a0d; }
.date-card small, .date-card strong, .date-card span { display: block; }
.date-card small, .date-card span { color: var(--muted); font-size: .73rem; }
.date-card strong { font-family: "ICA Rubrik"; font-size: 1.2rem; }

.hero-panel { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; min-height: 244px; max-width: 1320px; margin: 0 auto 42px; padding: 40px clamp(28px, 5vw, 64px); color: white; border-radius: var(--radius-lg); background: var(--ica-red-dark); }
.hero-panel::before { content: ""; position: absolute; width: 260px; height: 260px; right: 130px; top: -105px; border-radius: 50%; background: var(--ica-red); }
.hero-panel > div:first-child { position: relative; z-index: 1; }
.hero-panel__kicker { display: inline-block; margin-bottom: 12px; color: var(--yellow-soft); font-size: .76rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.hero-panel h2 { margin-bottom: 14px; font-size: clamp(2.25rem, 5vw, 4.15rem); font-weight: 900; line-height: .9; letter-spacing: -.035em; }
.hero-panel p { max-width: 420px; margin-bottom: 0; color: white; font-size: 1.05rem; }
.hero-mark { position: relative; z-index: 2; display: grid; place-items: center; width: 138px; height: 138px; margin-right: 3vw; border: 4px solid white; border-radius: 42% 58% 58% 42% / 48% 44% 56% 52%; transform: rotate(-6deg); background: var(--action); }
.hero-mark span { transform: rotate(6deg); font-family: "ICA Rubrik"; font-size: 6rem; font-weight: 900; line-height: 1; }

.section-heading { display: flex; align-items: end; justify-content: space-between; max-width: 1320px; margin: 0 auto 18px; }
.section-heading h2 { margin: 0; font-size: 1.8rem; }
.app-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; max-width: 1320px; margin: 0 auto 28px; }
.app-card { position: relative; overflow: hidden; min-height: 302px; padding: 22px; border: 1px solid var(--line); border-top: 7px solid var(--ica-red); border-radius: var(--radius); background: var(--surface); box-shadow: 0 7px 22px #3a3a3a0a; }
.app-card--yellow { border-top-color: var(--yellow); background: var(--yellow-soft); }
.app-card--green { border-top-color: var(--green); background: var(--green-soft); }
.app-card--blue { border-top-color: var(--blue); background: var(--blue-soft); }
.app-card--inactive { box-shadow: none; }
.app-card__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 22px; }
.app-icon { display: grid; place-items: center; width: 48px; height: 48px; padding: 11px; color: var(--ica-red-dark); border-radius: 15px; background: var(--red-soft); }
.app-card--yellow .app-icon, .app-icon--yellow { color: #6a4b00; background: #fdf4be; }
.app-card--green .app-icon, .app-icon--green { color: var(--green); background: #e4efc6; }
.app-card--blue .app-icon, .app-icon--blue { color: var(--blue); background: #c8e5f7; }
.app-icon--red { color: var(--ica-red-dark); background: var(--red-soft); }
.app-card__eyebrow { margin-bottom: 3px; color: var(--muted); font-size: .7rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.app-card > p:not(.app-card__eyebrow) { min-height: 69px; color: var(--muted); font-size: .9rem; }
.app-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; padding-top: 17px; border-top: 1px solid var(--line); }
.app-card__footer small, .app-card__footer b { display: block; }
.app-card__footer small { color: var(--muted); font-size: .68rem; }
.app-card__footer b { font-size: .84rem; }
.status { display: inline-flex; align-items: center; gap: 4px; width: fit-content; padding: 5px 9px; border-radius: 999px; color: var(--ink); background: var(--disabled); font-size: .69rem; font-style: normal; font-weight: 700; white-space: nowrap; }
.status svg { width: 14px; height: 14px; }
.status--success { color: var(--green); background: #e4efc6; }
.status--warning { color: #684b00; background: #fdf4be; }
.status--muted { color: var(--muted); background: var(--disabled); }
.text-link { display: inline-flex; align-items: center; gap: 5px; padding: 5px 0; color: var(--action-text); border: 0; background: none; cursor: pointer; font-size: .8rem; font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.info-banner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; max-width: 1320px; margin: 0 auto; padding: 20px 24px; border-radius: var(--radius); background: var(--purple-soft); }
.info-banner__icon { display: grid; place-items: center; width: 46px; height: 46px; padding: 11px; color: #652082; border-radius: 50%; background: #f1e4f7; }
.info-banner h2 { margin-bottom: 2px; font-size: 1.1rem; }
.info-banner p { margin: 0; color: var(--muted); font-size: .85rem; }

.primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 18px; border-radius: 999px; cursor: pointer; font-weight: 700; }
.primary-button { color: white; border: 2px solid var(--action); background: var(--action); }
.primary-button:hover { border-color: var(--ica-red-dark); background: var(--ica-red-dark); }
.primary-button:disabled { color: var(--muted); border-color: var(--disabled); background: var(--disabled); cursor: not-allowed; }
.primary-button svg { width: 20px; height: 20px; }
.secondary-button { color: var(--action-text); border: 2px solid var(--action-text); background: var(--surface); }
.secondary-button:hover { background: var(--red-soft); }
.secondary-button svg { width: 18px; height: 18px; }
.primary-button--full { width: 100%; }

.access-boundary { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; max-width: 1320px; margin: 0 auto 24px; padding: 17px 20px; border: 1px solid #c8e5f7; border-radius: var(--radius); background: var(--blue-soft); }
.access-boundary--owner { border-color: #fdf4be; background: var(--yellow-soft); }
.access-boundary__icon { display: grid; place-items: center; width: 42px; height: 42px; padding: 10px; color: var(--blue); border-radius: 50%; background: #c8e5f7; }
.access-boundary--owner .access-boundary__icon { color: #684b00; background: #fdf4be; }
.access-boundary b { font-family: "ICA Rubrik"; font-size: 1.05rem; }
.access-boundary p { margin: 2px 0 0; color: var(--muted); font-size: .82rem; }
.save-notice { max-width: 1320px; margin: 0 auto 18px; padding: 13px 16px; color: var(--green); border: 1px solid #7db66d; border-radius: var(--radius-sm); background: var(--green-soft); font-weight: 700; }

.metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1320px; margin: 0 auto 20px; }
.metric-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-card { display: flex; align-items: center; gap: 16px; min-height: 130px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.metric-card__icon { display: grid; place-items: center; width: 48px; height: 48px; padding: 12px; border-radius: 15px; }
.metric-card__icon--red { color: var(--ica-red-dark); background: var(--red-soft); }
.metric-card__icon--green { color: var(--green); background: #e4efc6; }
.metric-card__icon--yellow { color: #684b00; background: #fdf4be; }
.metric-card__icon--blue { color: var(--blue); background: #c8e5f7; }
.metric-card small, .metric-card strong, .metric-card span { display: block; }
.metric-card small, .metric-card span { color: var(--muted); font-size: .74rem; }
.metric-card strong { font-family: "ICA Rubrik"; font-size: 1.7rem; line-height: 1.1; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .75fr); gap: 20px; max-width: 1320px; margin: 0 auto 20px; }
.panel { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.panel__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 19px; }
.panel__heading h2 { margin-bottom: 0; }
.task-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.task-list li { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px; min-height: 72px; border-top: 1px solid var(--line); }
.task-list li > span { display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid var(--action-text); border-radius: 50%; color: var(--action-text); font-family: "ICA Rubrik"; font-weight: 700; }
.task-list li > span svg { width: 17px; height: 17px; }
.task-list li div b, .task-list li div small { display: block; }
.task-list li div small, .task-list em { color: var(--muted); font-size: .75rem; font-style: normal; }
.task-list li.is-complete > span { color: white; border-color: var(--green); background: var(--green); }
.task-list li.is-muted { color: var(--muted); }
.task-list li.is-muted > span { color: var(--muted); border-color: var(--line); }
.service-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; min-height: 68px; border-top: 1px solid var(--line); }
.service-row b, .service-row small { display: block; }
.service-row small { color: var(--muted); font-size: .72rem; }
.service-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--ica-red); }
.service-dot--yellow { background: var(--yellow); }
.service-dot--red { background: var(--ica-red); }
.service-dot--green { background: var(--green); }
.service-dot--blue { background: var(--blue); }
.service-dot--grey { background: #868686; }
.people-panel { max-width: 1320px; margin: 0 auto; }
.person-table { overflow-x: auto; }
.person-row { display: grid; grid-template-columns: minmax(210px, 1.2fr) minmax(130px, .8fr) minmax(160px, 1fr) 110px; align-items: center; min-width: 760px; min-height: 64px; border-top: 1px solid var(--line); font-size: .86rem; }
.person-row--head { min-height: 38px; color: var(--muted); font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.person-row > span:first-child { display: flex; align-items: center; gap: 10px; }
.person-row i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--ica-red-dark); background: var(--red-soft); font-size: .7rem; font-style: normal; font-weight: 700; }

.customer-list { display: grid; gap: 12px; }
.customer-card { display: grid; grid-template-columns: auto minmax(240px, 1fr) minmax(190px, auto) auto; align-items: center; gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.customer-card__brand { display: grid; place-items: center; width: 52px; height: 52px; color: white; border-radius: 16px; background: var(--ica-red-dark); font-family: "ICA Rubrik"; font-size: 1.5rem; font-weight: 900; }
.customer-card__brand--yellow { color: #5d4300; background: var(--yellow); }
.customer-card__brand--green { color: white; background: var(--green); }
.customer-card h3 { margin: 0 0 2px; font-size: 1.15rem; }
.customer-card p { margin-bottom: 8px; color: var(--muted); font-size: .8rem; }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; }
.customer-card__money { text-align: right; }
.customer-card__money small, .customer-card__money strong, .customer-card__money span { display: block; }
.customer-card__money small, .customer-card__money span { color: var(--muted); font-size: .72rem; }
.customer-card__money strong { font-family: "ICA Rubrik"; font-size: 1.25rem; }

.customer-setup-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 22px; max-width: 1180px; margin: 0 auto; }
.customer-form-stack, .contract-service-list, .agreement-services { display: grid; gap: 16px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid label, .agreed-price, .terms-field { display: grid; gap: 6px; color: var(--ink); font-size: .76rem; font-weight: 700; }
.form-grid input, .form-grid select, .agreed-price input, .terms-field textarea { width: 100%; min-height: 46px; padding: 10px 12px; color: var(--ink); border: 1px solid #bdbbb9; border-radius: 10px; background: white; font-family: "ICA Text Ny"; font-size: .92rem; font-weight: 400; }
.customer-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; }
.customer-facts > div { padding: 13px; border-radius: var(--radius-sm); background: var(--canvas); }
.customer-facts dt { color: var(--muted); font-size: .7rem; }
.customer-facts dd { margin: 3px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.terms-field textarea { min-height: 96px; resize: vertical; }
.section-heading--compact { align-items: start; margin-top: 8px; }
.section-heading--compact p:last-child { margin: 4px 0 0; color: var(--muted); font-size: .84rem; }
.contract-service { overflow: hidden; border: 2px solid var(--line); border-radius: var(--radius); background: white; }
.contract-service.is-selected { border-color: var(--action); }
.service-toggle { position: relative; display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: 14px; padding: 18px; cursor: pointer; }
.service-toggle > span:last-child small, .service-toggle > span:last-child b, .service-toggle > span:last-child em { display: block; }
.service-toggle > span:last-child small { color: var(--action-text); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.service-toggle > span:last-child b { font-family: "ICA Rubrik"; font-size: 1.35rem; }
.service-toggle > span:last-child em { color: var(--muted); font-size: .78rem; font-style: normal; }
.service-toggle__state { justify-self: end; padding: 7px 10px; color: var(--action-text); border-radius: 999px; background: var(--red-soft); font-size: .72rem; white-space: nowrap; }
.contract-service.is-selected .service-toggle__state { color: white; background: var(--action); }
.service-levels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 16px 18px; border-top: 1px solid var(--line); background: var(--canvas); }
.service-levels .level-option span { background: white; }
.service-levels .single-level-note { grid-column: 2 / -1; align-self: center; margin: 0; color: var(--muted); font-size: .78rem; }
.included-list { display: grid; gap: 8px; margin: 0; padding: 16px 22px 19px; border-top: 1px solid var(--line); list-style: none; }
.included-list li { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: .82rem; }
.included-list svg { width: 17px; height: 17px; flex: 0 0 auto; color: var(--green); }
.contract-summary { position: sticky; top: 98px; padding: 26px; border: 1px solid var(--line); border-top: 7px solid var(--ica-red); border-radius: var(--radius-lg); background: white; box-shadow: var(--shadow); }
.contract-summary__services { display: grid; gap: 8px; margin: 20px 0; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.contract-summary__services > div { display: flex; justify-content: space-between; gap: 12px; font-size: .82rem; }
.list-price, .price-difference { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.list-price span, .price-difference span { color: var(--muted); font-size: .78rem; }
.list-price strong { font-family: "ICA Rubrik"; font-size: 1.08rem; }
.agreed-price { margin: 16px 0; padding: 15px; border-radius: var(--radius-sm); background: var(--red-soft); }
.agreed-price > div { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; }
.agreed-price input { font-family: "ICA Rubrik"; font-size: 1.45rem; font-weight: 700; }
.agreed-price small { color: var(--muted); font-size: .68rem; font-weight: 400; }
.terms-field { margin-bottom: 16px; }
.summary-note--dark { color: var(--muted); }
.onboarding-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; max-width: 760px; margin: 0 auto 28px; padding: 0; list-style: none; }
.onboarding-steps li { position: relative; display: grid; justify-items: center; gap: 5px; color: var(--muted); font-size: .75rem; }
.onboarding-steps li::before { content: ""; position: absolute; z-index: 0; top: 16px; right: 50%; width: 100%; height: 2px; background: var(--line); }
.onboarding-steps li:first-child::before { display: none; }
.onboarding-steps li.is-active::before { background: var(--action); }
.onboarding-steps span { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--line); border-radius: 50%; background: white; font-family: "ICA Rubrik"; font-weight: 700; }
.onboarding-steps li.is-active { color: var(--ica-red-dark); }
.onboarding-steps li.is-active span { color: white; border-color: var(--action); background: var(--action); }
.total-subscription { display: grid; grid-template-columns: 1fr auto; align-items: end; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.total-subscription strong { font-family: "ICA Rubrik"; font-size: 2rem; line-height: 1; }
.total-subscription small { grid-column: 1 / -1; color: var(--muted); text-align: right; font-size: .7rem; }
.monthly-price--light { color: var(--ink); border-color: var(--line); }
.setup-requirements { margin-top: 10px; }
.requirement-grid { display: grid; gap: 10px; }
.requirement-grid article { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 13px; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: white; }
.requirement-grid article > span { display: grid; place-items: center; width: 42px; height: 42px; padding: 10px; color: var(--blue); border-radius: 13px; background: var(--blue-soft); }
.requirement-grid h3, .requirement-grid p { margin: 0; }
.requirement-grid h3 { font-size: 1rem; }
.requirement-grid p { margin-top: 2px; color: var(--muted); font-size: .78rem; }

.agreement-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 22px; max-width: 1180px; margin: 0 auto; }
.agreement-service { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.agreement-service__heading { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.agreement-service__heading h2, .agreement-service__heading p { margin-bottom: 0; }
.agreement-service > h3 { margin-bottom: 4px; font-size: 1rem; }
.agreement-service .included-list { padding-left: 0; padding-right: 0; border-top: 0; }
.agreement-summary { position: sticky; top: 98px; padding: 26px; color: white; border-radius: var(--radius-lg); background: var(--ica-red-dark); }
.agreement-summary .eyebrow { color: var(--yellow-soft); }
.agreement-summary dl { margin: 20px 0; }
.agreement-summary dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-top: 1px solid white; }
.agreement-summary dt { font-size: .78rem; }
.agreement-summary dd { margin: 0; font-weight: 700; text-align: right; }
.agreement-summary__price dd { font-family: "ICA Rubrik"; font-size: 1.35rem; }
.agreement-summary__note { margin: 14px 0 0; color: white; font-size: .72rem; }
.app-grid--authorized { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mobile-tool-hero { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 18px; max-width: 900px; margin: 0 auto 24px; padding: 24px; color: white; border-radius: var(--radius-lg); background: var(--ica-red-dark); }
.mobile-tool-hero__icon { display: grid; place-items: center; width: 58px; height: 58px; padding: 15px; border-radius: 18px; color: var(--ica-red-dark); background: white; }
.mobile-tool-hero .eyebrow { color: var(--yellow-soft); }
.mobile-tool-hero h2, .mobile-tool-hero p { margin: 0; }
.mobile-tool-hero p:last-child { margin-top: 3px; color: white; font-size: .85rem; }
.tool-launcher-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 900px; margin: 0 auto 24px; }
.tool-launcher { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 15px; min-height: 112px; padding: 18px; color: var(--ink); border: 1px solid var(--line); border-left: 7px solid var(--ica-red); border-radius: var(--radius); background: white; cursor: pointer; text-align: left; box-shadow: 0 7px 22px #3a3a3a0a; }
.tool-launcher--red { border-left-color: var(--ica-red); background: var(--red-soft); }
.tool-launcher--yellow { border-left-color: var(--yellow); background: var(--yellow-soft); }
.tool-launcher--green { border-left-color: var(--green); background: var(--green-soft); }
.tool-launcher--blue { border-left-color: var(--blue); background: var(--blue-soft); }
.tool-launcher__icon { display: grid; place-items: center; width: 54px; height: 54px; padding: 13px; color: var(--ica-red-dark); border-radius: 16px; background: var(--red-soft); }
.tool-launcher--red .tool-launcher__icon { color: var(--ica-red-dark); background: white; }
.tool-launcher--yellow .tool-launcher__icon { color: #684b00; background: #fdf4be; }
.tool-launcher--green .tool-launcher__icon { color: var(--green); background: #e4efc6; }
.tool-launcher--blue .tool-launcher__icon { color: var(--blue); background: #c8e5f7; }
.tool-launcher > span:nth-child(2) b, .tool-launcher > span:nth-child(2) small, .tool-launcher > span:nth-child(2) em { display: block; }
.tool-launcher > span:nth-child(2) b { font-family: "ICA Rubrik"; font-size: 1.35rem; }
.tool-launcher > span:nth-child(2) small { color: var(--muted); }
.tool-launcher > span:nth-child(2) em { margin-top: 6px; color: var(--action-text); font-size: .73rem; font-style: normal; font-weight: 700; }
.tool-launcher > svg { width: 22px; height: 22px; color: var(--action-text); }
.tool-launcher.is-disabled { opacity: .68; cursor: not-allowed; box-shadow: none; }
.tool-launcher.is-disabled > svg { color: var(--muted); }
.info-banner--personal { max-width: 900px; }
.tryggica-story { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1180px; margin: 0 auto 20px; }
.tryggica-story .panel { border-top: 5px solid var(--green); }
.tryggica-story h2 { margin: 8px 0; font-size: 1.35rem; }
.tryggica-story p { margin: 0; color: var(--muted); font-size: .9rem; }
.tryggica-outcome { max-width: 1180px; margin: 0 auto 20px; padding: 26px; border-radius: var(--radius-lg); color: white; background: var(--ica-red-dark); }
.tryggica-outcome h2, .tryggica-outcome p { margin: 0; }
.tryggica-outcome p { margin-top: 7px; }
.tryggica-status { max-width: 1180px; }
.demo-heading.cateica-heading { background: var(--red-soft); }
.cateica-outcome { display: grid; grid-template-columns: 220px 1fr; align-items: center; gap: 24px; }
.cateica-outcome img { display: block; width: 100%; height: 160px; border-radius: var(--radius-sm); object-fit: cover; }
.cateica-outcome small { display: block; margin-top: 12px; color: white; font-size: .72rem; }
.cateica-story .panel { border-top-color: var(--ica-red); }
.cateica-case { max-width: 1180px; margin: 0 auto 20px; }
.cateica-case .section-heading { align-items: start; margin-bottom: 14px; }
.cateica-case .section-heading p:last-child { margin-bottom: 0; color: var(--muted); font-size: .9rem; }
.cateica-example-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cateica-example { min-width: 0; margin: 0; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.cateica-example img { display: block; width: 100%; aspect-ratio: 4 / 5; border-radius: var(--radius-sm); object-fit: contain; background: var(--canvas); }
.cateica-example figcaption { display: grid; gap: 3px; padding: 12px 5px 4px; }
.cateica-example figcaption b { font-family: "ICA Rubrik"; font-size: 1.08rem; }
.cateica-example figcaption span { color: var(--muted); font-size: .76rem; }
.cateica-caption { max-width: 1180px; margin: 0 auto 20px; border-top: 5px solid var(--ica-red); }
.cateica-caption__body { margin: 16px 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.55; }
.cateica-caption__note { margin-bottom: 0; color: var(--muted); font-size: .78rem; }


.demo-heading { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; max-width: 1180px; margin: 0 auto 24px; padding: 22px; overflow: hidden; border: 1px solid var(--line); border-top: 7px solid var(--ica-red); border-radius: var(--radius); background: white; }
.demo-heading--yellow { border-top-color: var(--yellow); background: var(--yellow-soft); }
.demo-heading--green { border-top-color: var(--green); background: var(--green-soft); }
.demo-heading--blue { border-top-color: var(--blue); background: var(--blue-soft); }
.demo-heading--with-presenter { padding-right: 128px; }
.demo-heading--with-presenter .demo-heading__controls { margin-right: 82px; }
.demo-heading__presenter { position: absolute; right: 13px; bottom: -2px; width: 104px; max-height: 124px; object-fit: contain; object-position: center bottom; }
.demo-heading__identity { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 15px; }
.demo-heading__controls { display: grid; justify-items: end; gap: 9px; }
.heading-week-select { display: grid; gap: 4px; min-width: 150px; padding: 9px 11px; border: 1px solid #bfd9c7; border-radius: 10px; background: white; }
.heading-week-select span { color: var(--green); font-size: .68rem; font-weight: 700; }
.heading-week-select select { width: 100%; min-height: 34px; color: var(--ink); border: 0; background: white; font: 700 .8rem "ICA Text Ny"; }
.demo-heading h1, .demo-heading p { margin-bottom: 0; }
.demo-heading h1 { font-size: clamp(2rem, 4vw, 3rem); }
.demo-heading__identity > div > p:last-child { margin-top: 5px; color: var(--muted); }
.demo-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 20px; max-width: 1180px; margin: 0 auto; }
.demo-workspace .panel__heading p { margin-bottom: 0; }
.demo-muted, .demo-disclaimer { color: var(--muted); font-size: .8rem; }
.budget-demo-table { border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.budget-demo-table__head, .budget-demo-row { display: grid; grid-template-columns: 1.2fr repeat(3, minmax(130px, 1fr)); align-items: center; gap: 12px; padding: 12px 14px; }
.budget-demo-table__head { color: var(--muted); background: var(--canvas); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; }
.budget-demo-row { border-top: 1px solid var(--line); }
.budget-demo-row label { display: block; }
.budget-demo-row label span { display: none; }
.budget-demo-row input, .demo-field input, .demo-field textarea, .demo-toolbar select { width: 100%; min-height: 44px; padding: 9px 11px; color: var(--ink); border: 1px solid #bdbbb9; border-radius: 9px; background: white; font-family: "ICA Text Ny"; }
.budget-demo-row > b:last-child { text-align: right; }
.demo-field { display: grid; gap: 7px; margin-top: 18px; font-size: .78rem; font-weight: 700; }
.demo-field textarea { resize: vertical; }
.demo-summary { position: sticky; top: 98px; padding: 24px; color: white; border-radius: var(--radius-lg); background: var(--ica-red-dark); }
.demo-summary--blue { background: var(--blue); }
.demo-summary .eyebrow { color: var(--yellow-soft); }
.demo-summary dl { margin: 20px 0; }
.demo-summary dl > div { display: flex; justify-content: space-between; gap: 10px; padding: 11px 0; border-top: 1px solid white; }
.demo-summary dd { margin: 0; font-weight: 700; text-align: right; }
.demo-summary__total dd { font-family: "ICA Rubrik"; font-size: 1.45rem; }
.demo-summary .primary-button { color: var(--blue); border-color: white; background: white; }
.demo-summary > p:last-child { margin: 13px 0 0; font-size: .72rem; }
.demo-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 18px; max-width: 1180px; margin: 0 auto 18px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: white; }
.demo-toolbar label { display: grid; gap: 5px; font-size: .73rem; font-weight: 700; }
.demo-toolbar select { min-width: 190px; }
.demo-toolbar div { text-align: right; }
.demo-toolbar .demo-toolbar__selectors { display: flex; align-items: end; gap: 12px; text-align: left; }
.demo-toolbar small, .demo-toolbar b { display: block; }
.demo-toolbar small { color: var(--muted); font-size: .7rem; }
.demo-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; max-width: 1180px; margin: 0 auto 20px; }
.demo-kpi-grid article { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.demo-kpi-grid small, .demo-kpi-grid strong, .demo-kpi-grid span { display: block; }
.demo-kpi-grid small, .demo-kpi-grid span { color: var(--muted); font-size: .72rem; }
.demo-kpi-grid strong { margin: 5px 0 2px; font-family: "ICA Rubrik"; font-size: 1.45rem; }
.demo-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 1180px; margin: 0 auto; }
.week-analysis > p { color: var(--muted); }
.analysis-source { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 13px; border-radius: var(--radius-sm); background: var(--blue-soft); }
.analysis-source > span { width: 38px; height: 38px; padding: 9px; color: var(--blue); }
.analysis-source p, .analysis-source small { margin: 0; }
.analysis-source b, .analysis-source small { display: block; }
.analysis-source small { color: var(--muted); }
.focus-task { border-top: 7px solid var(--action); }
.focus-task.is-complete { border-top-color: var(--green); background: var(--green-soft); }
.focus-task ol { padding-left: 22px; color: var(--muted); }
.result-tree-demo { max-width: 1180px; margin: 0 auto; }
.result-chain { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; }
.result-chain article { position: relative; min-height: 128px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--canvas); }
.result-chain article:not(:last-child)::after { content: "→"; position: absolute; z-index: 1; top: 48%; right: -15px; color: var(--action-text); font-weight: 700; }
.result-chain small, .result-chain b, .result-chain span { display: block; }
.result-chain small, .result-chain span { color: var(--muted); font-size: .68rem; }
.result-chain b { margin: 10px 0 5px; font-family: "ICA Rubrik"; }
.result-chain .is-result { color: white; border-color: var(--green); background: var(--green); }
.result-chain .is-result small, .result-chain .is-result span { color: white; }
.meeting-demo .panel { min-width: 0; }
.meeting-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.meeting-output { border-top: 7px solid var(--yellow); }
.summary-section { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.summary-section p, .summary-section ul { margin: 5px 0 0; color: var(--muted); }
.metric-detail--success { color: var(--green) !important; font-weight: 700; }
.metric-detail--warning { color: var(--ica-red-dark) !important; font-weight: 700; }
.analysis-source--wide { max-width: 1180px; margin: 0 auto 20px; }
.weekly-overview-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 18px; max-width: 1180px; margin: 0 auto 18px; }
.weekly-overview-grid--single { grid-template-columns: 1fr; }
.weekly-summary { margin: 0; }
.weekly-summary > p { max-width: 820px; margin-bottom: 0; color: var(--muted); }
.department-signal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; max-width: 1180px; margin: 0 auto; }
.week-signal-list { display: grid; }
.week-signal { display: grid; grid-template-columns: auto 1fr; gap: 12px; width: 100%; padding: 16px 4px; color: var(--ink); border: 0; border-top: 1px solid var(--line); background: transparent; font-family: "ICA Text Ny"; text-align: left; cursor: pointer; }
.week-signal:hover, .week-signal:focus-visible { background: var(--canvas); }
.week-signal__rank { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: var(--ica-red-dark); background: var(--red-soft); font-family: "ICA Rubrik"; }
.week-signal--praise .week-signal__rank { color: var(--green); background: var(--green-soft); }
.week-signal__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.week-signal__content, .week-signal__heading, .week-signal__insight, .week-signal em { display: block; }
.week-signal__heading { display: flex; }
.week-signal__heading strong { font-size: 1rem; }
.week-signal__heading b { color: var(--ica-red-dark); }
.week-signal--praise .week-signal__heading b { color: var(--green); }
.week-signal small { display: block; margin-top: 2px; color: var(--muted); font-size: .68rem; }
.week-signal__insight { margin-top: 7px; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.week-signal em { display: flex; align-items: center; gap: 5px; margin-top: 9px; color: var(--action-text); font-size: .7rem; font-style: normal; font-weight: 700; }
.week-signal em svg { width: 17px; height: 17px; }
.demo-source-footer { max-width: 1180px; margin: 18px auto 0; padding: 11px 2px; color: var(--muted); border-top: 1px solid var(--line); font-size: .7rem; }
.department-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1180px; margin: 0 auto 20px; }
.department-intro h2, .department-intro p { margin-bottom: 0; }
.department-intro p:last-child { max-width: 720px; color: var(--muted); }
.coach-panel { max-width: 1180px; margin: 0 auto; border-top: 7px solid var(--ica-red); }
.coach-panel--preserve { border-top-color: var(--green); }
.coach-tabs { display: flex; gap: 8px; margin-bottom: 8px; padding: 5px; border-radius: 12px; background: var(--canvas); }
.coach-tabs button { flex: 1; min-height: 44px; padding: 10px 14px; color: var(--muted); border: 0; border-radius: 9px; background: transparent; font: 700 .78rem "ICA Text Ny"; }
.coach-tabs button.is-active { background: white; box-shadow: 0 2px 8px #3a3a3a12; }
.coach-tabs .coach-tab--improve.is-active { color: var(--ica-red-dark); box-shadow: inset 4px 0 0 var(--ica-red), 0 2px 8px #3a3a3a12; }
.coach-tabs .coach-tab--preserve.is-active { color: var(--green); box-shadow: inset 4px 0 0 var(--green), 0 2px 8px #3a3a3a12; }
.coach-task-list { display: grid; }
.coach-task { border-bottom: 1px solid var(--line); }
.coach-task > button { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; width: 100%; padding: 16px 4px; color: var(--ink); border: 0; background: transparent; text-align: left; }
.coach-task__rank { display: grid; place-items: center; width: 38px; height: 38px; color: var(--ica-red-dark); border-radius: 50%; background: var(--red-soft); font-family: "ICA Rubrik"; }
.coach-task--preserve .coach-task__rank, .coach-task.is-complete .coach-task__rank { color: var(--green); background: var(--green-soft); }
.coach-task__rank svg { width: 20px; height: 20px; }
.coach-task > button small, .coach-task > button b { display: block; }
.coach-task > button small { margin-bottom: 2px; color: var(--muted); font-size: .66rem; }
.coach-task__chevron { width: 22px; height: 22px; color: var(--muted); transition: transform .2s ease; }
.coach-task.is-open .coach-task__chevron { transform: rotate(180deg); }
.coach-task__body { margin: 0 0 16px 55px; padding: 16px; border-radius: var(--radius-sm); background: var(--red-soft); }
.coach-task--preserve .coach-task__body, .coach-task.is-complete .coach-task__body { background: var(--green-soft); }
.coach-task__body h3, .coach-task__body p { margin: 0; }
.coach-task__body h3 { font-size: .9rem; }
.coach-task__body p, .coach-task__body ol { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.coach-task__body ol { padding-left: 20px; }
.task-evidence { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; }
.task-evidence span { padding: 6px 9px; border-radius: 99px; color: var(--ica-red-dark); background: white; font-size: .69rem; font-weight: 700; }
.coach-task--preserve .task-evidence span, .coach-task.is-complete .task-evidence span { color: var(--green); }
.task-followup { padding-top: 11px; border-top: 1px solid #e8b7b2; }
.coach-task--preserve .task-followup, .coach-task.is-complete .task-followup { border-top-color: #bfd9c7; }
.task-completion { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #e8b7b2; }
.task-completion > label:first-child { display: grid; gap: 6px; color: var(--ink); font-size: .76rem; font-weight: 700; }
.task-completion textarea { width: 100%; padding: 10px 12px; color: var(--ink); border: 1px solid #c8a29f; border-radius: 9px; background: white; font: 400 .78rem "ICA Text Ny"; resize: vertical; }
.coach-task--preserve .task-completion { border-top-color: #bfd9c7; }
.coach-task--preserve .task-completion textarea { border-color: #8eb79a; }
.task-completion small { color: var(--muted); font-weight: 400; }
.task-completion-check { display: flex; align-items: center; gap: 9px; width: fit-content; min-height: 44px; padding: 9px 13px; color: white; border-radius: 9px; background: var(--ica-red-dark); cursor: pointer; }
.task-completion-check input { position: absolute; opacity: 0; }
.task-completion-check span { display: grid; place-items: center; width: 23px; height: 23px; padding: 3px; border: 2px solid white; border-radius: 5px; }
.task-completion-check b { font-size: .76rem; }
.coach-task--preserve .task-completion-check { background: var(--green); }
.task-error { margin: 0; color: var(--ica-red-dark) !important; font-weight: 700; }
.task-attestation { display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: 11px; margin-top: 14px; padding: 14px; border-radius: 10px; background: white; }
.task-attestation > span { display: grid; place-items: center; width: 31px; height: 31px; padding: 6px; color: white; border-radius: 50%; background: var(--green); }
.task-attestation p, .task-attestation small { margin: 2px 0 0; }
.task-attestation small { color: var(--muted); }
.task-readonly { margin-top: 14px; padding: 13px 14px; border: 1px solid #d2cfcc; border-radius: 10px; background: white; }
.task-readonly b, .task-readonly p { display: block; margin: 0; }
.task-readonly p { margin-top: 3px; color: var(--muted); font-size: .75rem; }
.history-note { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 11px; max-width: 1180px; margin: 0 auto 18px; padding: 13px 16px; color: var(--blue); border: 1px solid #b9cddd; border-radius: var(--radius-sm); background: var(--blue-soft); }
.history-note > svg { width: 28px; height: 28px; }
.history-note p, .history-note b, .history-note span { display: block; margin: 0; }
.history-note span { margin-top: 2px; color: var(--ink); font-size: .76rem; }
.result-tree-workspace { max-width: 1180px; margin: 0 auto; overflow: hidden; }
.tree-equation { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; padding: 14px; border-radius: var(--radius-sm); background: var(--green-soft); }
.tree-equation span, .tree-equation strong { padding: 7px 10px; border-radius: 8px; background: white; }
.tree-equation strong { color: white; background: var(--green); }
.result-tree-columns { display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 10px; overflow-x: auto; padding-bottom: 8px; }
.result-tree-columns > section { min-width: 150px; }
.result-tree-columns h3 { min-height: 34px; margin: 0 0 7px; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.tree-click-hint { margin: 0 0 12px; color: var(--muted); font-size: .76rem; font-weight: 700; }
.tree-node { position: relative; display: block; width: 100%; min-height: 99px; margin-bottom: 8px; padding: 13px; color: var(--ink); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--canvas); font-family: "ICA Text Ny"; text-align: left; cursor: pointer; }
.tree-node small, .tree-node b, .tree-node span { display: block; }
.tree-node small, .tree-node span { color: var(--muted); font-size: .65rem; }
.tree-node b { margin: 8px 0 4px; font-family: "ICA Rubrik"; font-size: 1.1rem; }
.tree-node--good { border-top: 4px solid var(--green); }
.tree-node--attention { border-top: 4px solid var(--ica-red); }
.tree-node--result { color: white; border-color: var(--green); background: var(--green); }
.tree-node--result small, .tree-node--result span { color: white; }
.tree-node.is-selected { outline: 3px solid var(--blue); outline-offset: 2px; box-shadow: 0 6px 16px #3a3a3a18; }
.tree-node--result.is-selected { outline-color: var(--yellow); }
.tree-guidance-demo { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; margin-top: 16px; padding: 18px; border-left: 7px solid var(--green); border-radius: var(--radius-sm); background: var(--green-soft); }
.tree-guidance-demo--attention { border-left-color: var(--ica-red); background: var(--red-soft); }
.tree-guidance-demo h3, .tree-guidance-demo p { margin: 0; }
.tree-guidance-demo h3 { font-size: 1.3rem; }
.tree-guidance-demo > div > p:last-child { margin-top: 4px; color: var(--muted); font-size: .8rem; }
.tree-guidance-demo > aside { min-width: 180px; padding: 12px; border-radius: 10px; background: white; text-align: right; }
.tree-guidance-demo > aside span, .tree-guidance-demo > aside b { display: block; }
.tree-guidance-demo > aside span { font-family: "ICA Rubrik"; font-size: 1.45rem; }
.tree-guidance-demo > aside b { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.tree-guidance-tip { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding-top: 13px; border-top: 1px solid #bfd9c7; }
.tree-guidance-demo--attention .tree-guidance-tip { border-top-color: #e8b7b2; }
.tree-guidance-tip > span { width: 32px; height: 32px; padding: 7px; color: white; border-radius: 50%; background: var(--green); }
.tree-guidance-demo--attention .tree-guidance-tip > span { background: var(--ica-red); }
.tree-guidance-tip p { color: var(--ink) !important; }
.klarica-dashboard, .meeting-type-workspace, .recording-demo, .meeting-archive { max-width: 1180px; margin: 0 auto; }
.klarica-welcome { margin-bottom: 18px; }
.klarica-welcome h2, .klarica-welcome p { margin-bottom: 0; }
.klarica-welcome h2 { font-size: 2rem; }
.klarica-welcome p:last-child { color: var(--muted); }
.meeting-start-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.meeting-start-grid > button { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; min-height: 112px; padding: 18px; color: var(--ink); border: 1px solid var(--line); border-top: 5px solid var(--yellow); border-radius: var(--radius); background: white; text-align: left; }
.meeting-start-grid > button > span { grid-row: 1 / 3; width: 43px; height: 43px; padding: 10px; color: #684b00; border-radius: 12px; background: var(--yellow-soft); }
.meeting-start-grid > button > svg { grid-row: 1 / 3; grid-column: 3; width: 22px; color: var(--action-text); }
.meeting-start-grid b, .meeting-start-grid small { display: block; }
.meeting-start-grid small { color: var(--muted); }
.unsent-preview { margin-bottom: 0; }
.meeting-list { display: grid; }
.meeting-list__item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 13px; width: 100%; padding: 13px 0; color: var(--ink); border: 0; border-top: 1px solid var(--line); background: transparent; font-family: "ICA Text Ny"; text-align: left; }
button.meeting-list__item { cursor: pointer; }
button.meeting-list__item:hover, button.meeting-list__item:focus-visible { background: var(--canvas); }
.meeting-list__copy small, .meeting-list__copy strong, .meeting-list__copy span { display: block; }
.meeting-list__copy small, .meeting-list__copy span { color: var(--muted); font-size: .7rem; }
.meeting-list__copy strong { margin: 2px 0; font-size: .94rem; }
.meeting-list__item > i { width: 20px; height: 20px; color: var(--action-text); }
.klarica-home-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 18px; }
.meeting-archive .panel__heading p { margin: 4px 0 0; color: var(--muted); font-size: .76rem; }
.meeting-filters { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 8px; }
.meeting-filters button { min-height: 40px; padding: 8px 13px; color: var(--muted); border: 1px solid var(--line); border-radius: 99px; background: white; font: 700 .72rem "ICA Text Ny"; }
.meeting-filters button.is-active { color: white; border-color: var(--ica-red-dark); background: var(--ica-red-dark); }
.meeting-detail { max-width: 900px; margin: 0 auto; }
.meeting-detail__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.meeting-output--real h2 { margin-bottom: 0; }
.meeting-source-note { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; margin-top: 16px; padding: 12px; border-radius: var(--radius-sm); background: var(--green-soft); }
.meeting-source-note.is-demo { background: var(--yellow-soft); }
.meeting-source-note > span { width: 34px; height: 34px; padding: 7px; color: var(--green); }
.meeting-source-note.is-demo > span { color: #684b00; }
.meeting-source-note p, .meeting-source-note b, .meeting-source-note small { display: block; margin: 0; }
.meeting-source-note small { margin-top: 2px; color: var(--muted); }
.summary-section--lead p { color: var(--ink); font-size: .9rem; line-height: 1.65; }
.booking-details li { margin-bottom: 8px; }
.booking-details li:last-child { margin-bottom: 0; }
.booking-details strong { color: var(--ink); }
.meeting-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 17px; }
.meeting-tags span { padding: 6px 9px; color: #684b00; border-radius: 99px; background: var(--yellow-soft); font-size: .68rem; font-weight: 700; }
.meeting-review-actions { margin-top: 20px; padding: 18px; border-radius: var(--radius-sm); background: var(--yellow-soft); }
.meeting-review-actions h3, .meeting-review-actions p { margin: 0; }
.meeting-review-actions h3 { margin-top: 3px; }
.meeting-review-actions .unsent-delivery-actions { margin: 14px 0 0; }
.meeting-review-actions .unsent-delivery-status, .meeting-review-actions .demo-disclaimer { margin: 10px 0 0; }
.meeting-type-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.meeting-type-card { position: relative; display: grid; justify-items: start; gap: 8px; min-height: 160px; padding: 17px; color: var(--ink); border: 2px solid var(--line); border-radius: var(--radius); background: white; text-align: left; }
.meeting-type-card > span { width: 38px; height: 38px; padding: 9px; color: #684b00; border-radius: 11px; background: var(--yellow-soft); }
.meeting-type-card small { color: var(--muted); line-height: 1.4; }
.meeting-type-card > i { position: absolute; top: 13px; right: 13px; width: 25px; height: 25px; padding: 5px; color: white; border-radius: 50%; background: var(--green); }
.meeting-type-card.is-selected { border-color: var(--action); background: var(--red-soft); }
.meeting-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 7px 0 18px; }
.recording-demo { border-top: 7px solid var(--ica-red); }
.recording-pulse { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; color: var(--ica-red-dark); font-size: .75rem; font-weight: 700; }
.recording-pulse i { width: 12px; height: 12px; border-radius: 50%; background: var(--ica-red); box-shadow: 0 0 0 7px var(--red-soft); }
.unsent-meeting-list { display: grid; gap: 14px; }
.unsent-meeting { padding: 0 16px 15px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--canvas); }
.unsent-meeting .meeting-list__item { border-top: 0; }
.unsent-delivery-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-left: 57px; }
.unsent-delivery-actions button { min-height: 42px; }
.unsent-delivery-actions svg { width: 18px; height: 18px; }
.unsent-delivery-status { margin: 10px 0 0 57px; color: var(--green); font-size: .75rem; font-weight: 700; }
.unsent-meeting .demo-disclaimer { margin: 10px 0 0 57px; }

.empty-state { display: grid; justify-items: start; gap: 8px; padding: 22px; border: 1px dashed #bdbbb9; border-radius: var(--radius-sm); background: var(--canvas); }
.empty-state > span { width: 38px; height: 38px; padding: 8px; color: var(--action-text); border-radius: 12px; background: var(--red-soft); }
.empty-state h3, .empty-state p { margin: 0; }
.empty-state p, .muted-copy { color: var(--muted); font-size: .82rem; }
.people-preview { display: grid; gap: 8px; }
.people-preview article { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--line); }
.people-preview i, .person-photo { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: var(--ica-red-dark); background: var(--red-soft); font-style: normal; font-weight: 700; }
.people-preview b, .people-preview small { display: block; }
.people-preview small { color: var(--muted); font-size: .72rem; }

.person-editor { max-width: 1050px; margin: 0 auto 22px; }
.person-editor label { display: grid; gap: 6px; color: var(--ink); font-size: .76rem; font-weight: 700; }
.account-toggle { grid-template-columns: auto auto 1fr !important; align-items: center; gap: 10px !important; margin-top: 18px; padding: 14px; border-radius: var(--radius-sm); background: var(--green-soft); cursor: pointer; }
.account-toggle input { width: 20px; min-height: 20px; }
.account-toggle > span:nth-child(2) { display: grid; place-items: center; width: 38px; height: 38px; padding: 9px; color: var(--green); border-radius: 12px; background: white; }
.account-toggle b, .account-toggle small { display: block; }
.account-toggle small { color: var(--muted); font-weight: 400; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.people-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; gap: 20px; max-width: 1180px; margin: 0 auto 20px; }
.people-workspace--single { grid-template-columns: 1fr; }
.people-list { display: grid; gap: 0; }
.people-list > article { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; min-height: 82px; border-top: 1px solid var(--line); }
.people-list h3, .people-list p, .people-list small { margin: 0; }
.people-list h3 { font-size: 1rem; }
.people-list p, .people-list small { color: var(--muted); font-size: .74rem; }
.person-photo--ready { color: white; background: var(--green); }
.person-photo--image { width: 56px; height: 56px; object-fit: cover; object-position: center 24%; background: var(--red-soft); }
.person-flags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.klarica-name-details { margin-top: 20px; border-top: 1px solid var(--line); padding-top: 16px; }
.klarica-name-details summary { cursor: pointer; font-weight: 700; }
.klarica-name-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 20px; list-style: none; padding: 0; margin: 18px 0 0; }
.klarica-name-list li { display: grid; gap: 2px; padding: 9px 0; border-top: 1px solid var(--line); }
.klarica-name-list span { color: var(--muted); font-size: .78rem; }
.small-note { color: var(--muted); font-size: .82rem; }
.account-guide { border-top: 7px solid var(--green); }
.account-guide__icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 15px; padding: 12px; color: var(--green); border-radius: 15px; background: var(--green-soft); }
.account-guide p:last-child { color: var(--muted); font-size: .82rem; }
.optional-note { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; max-width: 1180px; margin: 0 auto; padding: 17px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.optional-note > span { width: 42px; height: 42px; padding: 10px; color: var(--blue); border-radius: 13px; background: var(--blue-soft); }
.optional-note b, .optional-note p { margin: 0; }
.optional-note p { margin-top: 2px; color: var(--muted); font-size: .8rem; }
.photo-guide { max-width: 1180px; margin: 0 auto; }
.photo-guide .panel__heading p:last-child { max-width: 650px; margin: 4px 0 0; color: var(--muted); font-size: .82rem; }
.photo-angle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.photo-angle-grid article { padding: 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--canvas); }
.photo-angle-grid h3, .photo-angle-grid p { margin: 0; }
.photo-angle-grid h3 { margin-top: 10px; font-size: 1rem; }
.photo-angle-grid p { margin-top: 2px; color: var(--muted); font-size: .76rem; }
.photo-angle { position: relative; overflow: hidden; display: grid; place-items: center; min-height: 150px; border-radius: 12px; color: var(--ica-red-dark); background: var(--red-soft); }
.photo-angle span { width: 82px; height: 82px; }
.photo-angle i { position: absolute; left: 10%; right: 10%; bottom: 15px; height: 4px; border-radius: 4px; background: var(--action); }
.photo-angle--side span { transform: rotate(18deg) translateX(8px); }
.photo-angle--side i { transform: rotate(-8deg); }
.photo-angle--action { color: var(--green); background: var(--green-soft); }
.photo-angle--action span { transform: rotate(-12deg) translateY(7px); }
.photo-angle--action i { background: var(--green); transform: rotate(7deg); }
.photo-principle { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; margin-top: 14px; padding: 15px; border-radius: var(--radius-sm); background: var(--yellow-soft); }
.photo-principle > span { width: 40px; height: 40px; padding: 9px; color: #684b00; border-radius: 12px; background: white; }
.photo-principle p { margin: 0; font-size: .82rem; }

.package-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 22px; max-width: 1180px; margin: 0 auto; }
.package-picker { display: grid; gap: 14px; }
.package-card { position: relative; display: grid; grid-template-columns: auto auto 1fr; align-items: start; gap: 16px; padding: 22px; border: 2px solid var(--line); border-radius: var(--radius); background: var(--surface); cursor: pointer; }
.package-card.is-selected { border-color: var(--action); box-shadow: 0 7px 20px #3a3a3a0d; }
.package-card__check { display: grid; place-items: center; width: 28px; height: 28px; margin-top: 10px; color: var(--muted); border: 2px solid var(--line); border-radius: 8px; }
.package-card__check input { display: none; }
.package-card__check span { display: grid; place-items: center; width: 100%; height: 100%; }
.package-card__check svg { width: 17px; height: 17px; }
.package-card.is-selected .package-card__check { color: white; border-color: var(--action); background: var(--action); }
.package-card h2 { margin-bottom: 4px; }
.package-card p { margin-bottom: 0; color: var(--muted); font-size: .86rem; }
.package-card__price { display: inline-block; margin-top: 8px; color: var(--action-text); font-weight: 700; }
.level-picker { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 6px; }
.level-option { position: relative; cursor: pointer; }
.level-option input { position: absolute; opacity: 0; }
.level-option span { display: block; min-height: 64px; padding: 10px 12px; border: 2px solid var(--line); border-radius: var(--radius-sm); }
.level-option input:checked + span { color: var(--ica-red-dark); border-color: var(--action); background: var(--red-soft); }
.level-option input:focus-visible + span { outline: 3px solid var(--blue); outline-offset: 2px; }
.level-option b, .level-option small { display: block; }
.level-option small { color: var(--muted); font-size: .67rem; }
.price-summary { position: sticky; top: 98px; padding: 26px; color: white; border-radius: var(--radius-lg); background: var(--ica-red-dark); }
.price-summary .eyebrow { color: var(--yellow-soft); }
.price-lines { margin: 22px 0; padding: 12px 0; border-top: 1px solid white; border-bottom: 1px solid white; }
.price-lines > div { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; font-size: .85rem; }
.total-price { display: grid; grid-template-columns: 1fr auto; align-items: end; }
.total-price strong { font-family: "ICA Rubrik"; font-size: 2.1rem; line-height: 1; }
.total-price small { grid-column: 1 / -1; color: white; text-align: right; font-size: .72rem; }
.monthly-price { margin: 14px 0 20px; padding: 11px 0; color: white; border-bottom: 1px solid white; font-size: .83rem; }
.pilot-box { margin-bottom: 18px; padding: 14px; color: var(--ink); border-radius: var(--radius-sm); background: var(--yellow-soft); }
.pilot-box p { margin: 3px 0 0; color: var(--muted); font-size: .75rem; }
.price-summary .primary-button { color: var(--ica-red-dark); border-color: white; background: white; }
.summary-note { margin: 12px 0 0; color: white; text-align: center; font-size: .72rem; }

.auth-page { min-height: 100vh; min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; background: var(--canvas); }
.auth-header { display: flex; align-items: center; gap: 18px; min-height: 76px; padding: 0 clamp(20px, 5vw, 72px); border-bottom: 1px solid var(--line); background: var(--surface); }
.auth-main { display: grid; align-content: center; justify-items: center; gap: 28px; width: 100%; padding: 56px 20px 64px; }
.auth-intro { max-width: 540px; text-align: center; }
.auth-intro h1 { margin-bottom: 14px; }
.auth-intro > p:last-child { margin: 0; color: var(--muted); font-size: 1rem; }
.auth-card { width: min(100%, 480px); padding: clamp(28px, 4vw, 42px); border: 1px solid var(--line); border-top: 6px solid var(--ica-red); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.auth-card__provider { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 26px; color: var(--action-text); font-size: .76rem; font-weight: 700; letter-spacing: .035em; }
.auth-card__provider::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--ica-red); }
.auth-card h2 { margin-bottom: 8px; font-size: 2rem; }
.auth-card__lead { margin-bottom: 26px; color: var(--muted); }
.auth-form { display: grid; gap: 10px; }
.auth-form[hidden] { display: none; }
.auth-form label { font-size: .84rem; font-weight: 700; }
.auth-form input { width: 100%; min-height: 50px; margin-bottom: 10px; padding: 12px 14px; border: 1px solid #aaa5a1; border-radius: 10px; background: var(--surface); color: var(--ink); }
.auth-form input::placeholder { color: #777; }
.auth-help-link { width: fit-content; color: var(--action-text); font-size: .84rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.auth-form .auth-help-link { justify-self: end; margin: -9px 0 8px; }
.auth-help-link--outside { display: block; margin-top: 18px; }
.auth-submit { width: 100%; min-height: 52px; margin-top: 4px; text-align: center; text-decoration: none; }
.auth-submit > span { font-size: 1.25rem; line-height: 1; }
.auth-card__foot { margin: 22px 0 0; padding-top: 19px; border-top: 1px solid var(--line); color: var(--muted); font-size: .79rem; }
.auth-message { padding: 12px 14px; border-radius: var(--radius-sm); background: var(--canvas); font-size: .87rem; }
.auth-message--success { color: var(--green); background: var(--green-soft); }
.auth-message--error { color: var(--ica-red-dark); background: var(--red-soft); }
.auth-hint { margin: -10px 0 6px; color: var(--muted); font-size: .79rem; }
.auth-consent > p:first-child { margin-bottom: 20px; }
.auth-detail { padding: 18px 20px; border-radius: var(--radius-sm); background: var(--canvas); }
.auth-detail b { font-size: .84rem; }
.auth-detail ul { margin: 10px 0 0; padding-left: 20px; font-size: .87rem; }
.auth-return { margin: 18px 0; color: var(--muted); font-size: .78rem; overflow-wrap: anywhere; }
.auth-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.auth-footer { padding: 22px 20px; color: var(--muted); font-size: .75rem; text-align: center; }
.install-banner { position: static; margin: 20px auto; display: grid; grid-template-columns: 42px minmax(130px, 1fr) auto 24px; align-items: center; gap: 12px; width: min(520px, calc(100vw - 32px)); padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.auth-main .install-banner { position: static; width: min(100%, 480px); }
.install-banner img { width: 42px; height: 42px; border-radius: 10px; }
.install-banner__text { min-width: 0; }
.install-banner__text strong, .install-banner__text span { display: block; }
.install-banner__text strong { font-family: "ICA Rubrik", Arial, sans-serif; font-size: 1rem; }
.install-banner__text span, .install-banner__text p { margin: 0; color: var(--muted); font-size: .77rem; }
.install-banner__text p { margin-top: 8px; }
.install-banner .secondary-button { min-height: 38px; padding: 6px 12px; font-size: .76rem; white-space: nowrap; }
.install-banner__close { align-self: start; width: 24px; height: 24px; padding: 0; border: 0; background: none; color: var(--muted); cursor: pointer; font-size: 1.4rem; line-height: 1; }

@media (max-width: 1100px) {
  .app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar { grid-template-columns: var(--sidebar-width) minmax(220px, 1fr) auto; }
  .profile > span { display: none; }
}

@media (max-width: 820px) {
  .app-shell { display: block; padding-bottom: 72px; }
  .topbar { grid-template-columns: 1fr auto; min-height: 66px; padding: 0 14px; }
  .mobile-menu { display: inline-grid; }
  .header-start .app-back { padding: 8px; }
  .header-start .app-back span { display: none; }
  .brand__descriptor, .store-switcher, .profile > .icon-button { display: none; }
  .sidebar { position: fixed; z-index: 25; top: 66px; left: 0; width: min(286px, 88vw); height: calc(100vh - 66px); transform: translateX(-105%); box-shadow: var(--shadow); transition: transform .2s ease; }
  .sidebar.is-open { transform: translateX(0); }
  .main-content { padding: 28px 18px 32px; }
  .page-heading { align-items: flex-start; }
  .date-card { display: none; }
  .hero-panel { min-height: 220px; padding: 28px; }
  .hero-panel::before { right: -30px; }
  .hero-mark { width: 100px; height: 100px; margin-right: 0; }
  .hero-mark span { font-size: 4.5rem; }
  .content-grid, .package-layout, .customer-setup-layout, .agreement-layout, .people-workspace, .demo-layout, .demo-two-column, .department-signal-grid, .weekly-overview-grid, .klarica-home-grid { grid-template-columns: 1fr; }
  .price-summary, .contract-summary, .agreement-summary, .demo-summary { position: static; }
  .demo-heading { grid-template-columns: 1fr auto; }
  .demo-heading > .secondary-button { grid-column: 1 / -1; justify-self: start; }
  .demo-heading--with-presenter { padding-right: 104px; }
  .demo-heading--with-presenter .demo-heading__controls { margin-right: 0; }
  .demo-heading__presenter { width: 82px; max-height: 102px; }
  .demo-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-chain { grid-template-columns: 1fr; }
  .result-chain article { min-height: auto; }
  .result-chain article:not(:last-child)::after { content: "↓"; top: auto; right: 18px; bottom: -16px; }
  .meeting-start-grid { grid-template-columns: 1fr; }
  .meeting-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mobile-nav { position: fixed; z-index: 24; bottom: 0; left: 0; right: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; height: 70px; padding: 5px 8px max(5px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: white; }
  .mobile-nav button { display: grid; place-items: center; gap: 1px; color: var(--muted); border: 0; border-radius: 9px; background: transparent; font-size: .67rem; font-weight: 700; }
  .mobile-nav button.is-active { color: var(--ica-red-dark); background: var(--red-soft); }
  .mobile-nav .icon { width: 22px; height: 22px; }
  .mobile-nav .nav-item { display: grid; justify-items: center; gap: 1px; min-height: 0; margin: 0; padding: 4px; text-align: center; }
  .store-menu { left: 16px; top: 60px; }
}

@media (max-width: 620px) {
  .install-banner { grid-template-columns: 42px 1fr 24px; }
  .auth-main .install-banner { grid-template-columns: 42px 1fr 24px; }
  .install-banner .secondary-button { grid-column: 2; justify-self: start; }
  .install-banner__close { grid-column: 3; grid-row: 1; }
  h1 { font-size: 2.25rem; }
  .wordmark { font-size: 1.55rem; }
  .avatar { width: 34px; height: 34px; }
  .page-heading { display: grid; }
  .page-heading .primary-button { width: 100%; }
  .hero-panel { min-height: 250px; }
  .hero-panel h2 { font-size: 2.8rem; }
  .hero-mark { position: absolute; right: -25px; bottom: -25px; }
  .section-heading { align-items: flex-start; }
  .section-heading .status { display: none; }
  .app-grid, .metric-grid, .metric-grid--four { grid-template-columns: 1fr; }
  .app-card { min-height: auto; }
  .app-card > p:not(.app-card__eyebrow) { min-height: 0; }
  .info-banner { grid-template-columns: auto 1fr; }
  .info-banner .secondary-button { grid-column: 1 / -1; }
  .access-boundary { grid-template-columns: auto 1fr; }
  .access-boundary .secondary-button { grid-column: 1 / -1; }
  .panel { padding: 18px; }
  .panel__heading { align-items: flex-start; }
  .task-list li { grid-template-columns: 34px 1fr; padding: 10px 0; }
  .task-list li > :last-child { grid-column: 2; justify-self: start; }
  .customer-card { grid-template-columns: auto 1fr auto; }
  .customer-card__money { grid-column: 2 / -1; text-align: left; }
  .customer-card .secondary-button { grid-column: 2 / -1; width: fit-content; }
  .form-grid, .app-grid--authorized, .customer-facts { grid-template-columns: 1fr; }
  .page-heading--personal { margin-bottom: 18px; }
  .mobile-tool-hero { grid-template-columns: 1fr; padding: 20px; }
  .mobile-tool-hero__icon { width: 48px; height: 48px; padding: 12px; }
  .tool-launcher-grid, .tryggica-story { grid-template-columns: 1fr; }
  .tool-launcher { min-height: 96px; }
  .tool-launcher__icon { width: 50px; height: 50px; }
  .cateica-outcome { grid-template-columns: 1fr; }
  .cateica-example-grid { grid-template-columns: 1fr; }
  .demo-heading { grid-template-columns: 1fr; padding: 18px; }
  .demo-heading__identity { grid-template-columns: 1fr; }
  .demo-heading--with-presenter { padding-right: 88px; }
  .demo-heading--with-presenter .demo-heading__identity { padding-right: 36px; }
  .demo-heading__presenter { right: 8px; width: 76px; max-height: 96px; }
  .demo-heading__controls { justify-items: start; width: 100%; }
  .heading-week-select { width: 100%; }
  .demo-toolbar { display: grid; align-items: stretch; }
  .demo-toolbar div { text-align: left; }
  .demo-toolbar .demo-toolbar__selectors { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
  .demo-toolbar select { min-width: 0; }
  .demo-kpi-grid { grid-template-columns: 1fr 1fr; }
  .budget-demo-table__head { display: none; }
  .budget-demo-row { grid-template-columns: 1fr 1fr; padding: 15px; }
  .budget-demo-row > strong, .budget-demo-row > b:last-child { grid-column: 1 / -1; }
  .budget-demo-row > b:last-child { padding-top: 8px; border-top: 1px solid var(--line); text-align: left; }
  .budget-demo-row label span { display: block; margin-bottom: 4px; color: var(--muted); font-size: .68rem; }
  .meeting-actions { display: grid; }
  .department-intro { display: grid; }
  .department-intro .primary-button { width: 100%; }
  .coach-task__body { margin-left: 0; }
  .task-attestation { grid-template-columns: auto 1fr; }
  .task-attestation .text-link { grid-column: 2; justify-self: start; }
  .tree-guidance-demo { grid-template-columns: 1fr; }
  .tree-guidance-demo > aside { min-width: 0; text-align: left; }
  .tree-guidance-tip { grid-column: 1; }
  .meeting-list__item { grid-template-columns: auto 1fr auto; }
  .meeting-list__item .status { grid-column: 2; justify-self: start; }
  .meeting-list__item > i { grid-column: 3; grid-row: 1 / 3; }
  .unsent-delivery-actions { display: grid; margin-left: 0; }
  .unsent-delivery-status, .unsent-meeting .demo-disclaimer { margin-left: 0; }
  .meeting-type-grid, .meeting-form-grid { grid-template-columns: 1fr; }
  .service-toggle { padding-right: 104px; }
  .service-toggle__state { position: absolute; right: 12px; bottom: 14px; max-width: 92px; white-space: normal; text-align: center; }
  .people-list > article { grid-template-columns: auto 1fr; padding: 12px 0; }
  .person-flags { grid-column: 2; justify-content: flex-start; }
  .photo-angle-grid { grid-template-columns: 1fr; }
  .form-actions { display: grid; grid-template-columns: 1fr; }
  .service-levels { grid-template-columns: 1fr; }
  .service-levels .single-level-note { grid-column: 1; }
  .service-toggle { grid-template-columns: auto 1fr; }
  .service-toggle .package-card__check { position: absolute; right: 15px; }
  .service-toggle .app-icon { grid-row: 1 / 3; }
  .agreement-service__heading { grid-template-columns: auto 1fr; }
  .agreement-service__heading .status { grid-column: 2; justify-self: start; }
  .level-picker { grid-template-columns: 1fr; }
  .package-card { grid-template-columns: auto 1fr; }
  .package-card > .app-icon { grid-row: 1 / 3; grid-column: 1; }
  .package-card > .package-card__check { position: absolute; top: 12px; right: 12px; }
  .package-card > div { grid-column: 2; }
  .level-picker { grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  .demo-toolbar .demo-toolbar__selectors { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

.medica-intro, .medica-more { max-width: 1180px; margin: 0 auto 20px; }
.medica-intro { border-left: 6px solid var(--ica-red); }
.medica-intro h2, .medica-more h2 { margin: 7px 0; }
.medica-intro p:last-child { max-width: 78ch; margin-bottom: 0; color: var(--muted); }
.medica-story { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 1180px; margin: 0 auto 28px; }
.medica-story .panel { border-top: 5px solid var(--ica-red); }
.medica-story h2 { margin: 8px 0; font-size: 1.35rem; }
.medica-story p { margin: 0; color: var(--muted); font-size: .9rem; }
.medica-examples { max-width: 1180px; margin: 0 auto 28px; }
.medica-examples .section-heading { margin-bottom: 14px; }
.medica-example-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.medica-example { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.medica-example img { display: block; width: 100%; height: 270px; object-fit: cover; object-position: center top; }
.medica-example figcaption { display: grid; gap: 4px; padding: 13px; }
.medica-example figcaption b { font-family: "ICA Rubrik"; font-size: 1rem; }
.medica-example figcaption span { color: var(--muted); font-size: .76rem; }
.medica-more ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 28px; margin: 14px 0 0; padding-left: 21px; }
.medica-more li { padding-left: 3px; }
.medica-outcome { max-width: 1180px; margin: 0 auto 20px; padding: 26px; border-radius: var(--radius-lg); color: white; background: var(--ica-red-dark); }
.medica-outcome h2, .medica-outcome p { margin: 0; }
.medica-outcome p { margin-top: 7px; }
.medica-status { max-width: 1180px; }
.erica-examples .medica-example-grid { grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); }
.erica-network { max-width: 1180px; margin: 0 auto 20px; border-left: 6px solid var(--ica-red); }
.erica-network h2 { margin: 7px 0; }
.erica-network > p { max-width: 85ch; }
.erica-network__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
.erica-network__grid article { padding: 16px; border-radius: var(--radius-sm); background: var(--red-soft); }
.erica-network__grid b, .erica-network__grid span { display: block; }
.erica-network__grid b { margin-bottom: 5px; font-family: "ICA Rubrik"; }
.erica-network__grid span, .erica-network > p:last-child { color: var(--muted); font-size: .88rem; }
.erica-status { max-width: 1180px; }
@media (max-width: 760px) {
  .erica-network__grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .medica-example-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .medica-story, .medica-more ul { grid-template-columns: 1fr; }
  .medica-example img { height: 220px; }
}
@media (max-width: 390px) {
  .medica-example-grid { grid-template-columns: 1fr; }
  .medica-example img { height: 300px; }
}

.medica-published-carousel { grid-column: 1 / -1; min-width: 0; margin-bottom: 6px; }
.medica-carousel-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.medica-carousel-heading h3, .medica-carousel-heading p { margin: 0; }
.medica-carousel-heading h3 { font-size: 1.4rem; }
.medica-carousel-heading p:last-child { margin-top: 5px; color: var(--muted); }
.medica-carousel-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.medica-carousel-controls .secondary-button { white-space: nowrap; }
.medica-carousel-track { display: flex; gap: 14px; overflow-x: auto; padding: 2px 2px 12px; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; }
.medica-carousel-card { flex: 0 0 min(330px, 78vw); min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; scroll-snap-align: start; }
.medica-carousel-card img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.medica-carousel-card figcaption { padding: 11px 13px; font-family: "ICA Rubrik"; }
@media (max-width: 600px) {
  .medica-carousel-heading { display: grid; align-items: start; }
  .medica-carousel-controls .secondary-button { flex: 1; }
}
/* Skarp, serverrenderad Hedemora-yta. Inga demodata laddas för personal. */
.team-page { min-height: 100vh; background: #f8f5f4; color: #292121; }
.team-main { width: min(1120px, calc(100% - 32px)); margin: 0 auto; padding: 28px 0 72px; }
.team-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 28px; }
.team-heading h1 { margin: 4px 0 8px; }
.team-heading p { margin: 0; }
.team-tools { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.team-tool, .team-invite, .team-person { padding: 22px; border: 1px solid #e9dedc; border-radius: 18px; background: #fff; box-shadow: 0 8px 26px #412a2310; }
.team-tool h2, .team-invite h2, .team-person h2 { margin: 0 0 8px; font-size: 1.2rem; }
.team-tool p { min-height: 42px; }
.team-tool .primary-button { display: inline-flex; margin-top: 8px; }
.team-locked { display: inline-flex; align-items: center; padding: 9px 14px; border-radius: 999px; background: #f1eded; color: #655c5a; font-weight: 700; }
.team-invite { margin: 0 0 26px; }
.team-invite form { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; align-items: end; }
.team-invite form > label:not(.team-check) { display: grid; gap: 6px; font-weight: 700; }
.team-invite input:not([type=checkbox]), .team-invite select { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid #cdbfbc; border-radius: 8px; background: #fff; }
.team-check { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.team-locked-apps { grid-column: 1 / -1; color: #655c5a; }
.team-locked-apps span { display: block; font-size: .86rem; }
.team-person-list { display: grid; gap: 16px; }
.team-person-list > h2 { margin-bottom: 0; }
.team-person-head { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.team-person-head p { margin: 0; color: #655c5a; }
.team-person fieldset { margin: 18px 0 14px; padding: 0; border: 0; }
.team-person legend { margin-bottom: 10px; font-weight: 700; }
.team-departments { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; max-height: 290px; overflow: auto; }
.team-departments label { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #e9dedc; border-radius: 8px; }
.team-note { color: #6b4e18; font-size: .88rem; }
.team-access-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px 18px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #e9dedc; }
.team-access-form > label:not(.team-check) { display: grid; gap: 6px; font-weight: 700; }
.team-access-form select { min-width: 170px; min-height: 44px; padding: 9px 12px; border: 1px solid #cdbfbc; border-radius: 8px; background: #fff; }
.team-access-form .secondary-button { margin: 0; }
@media (max-width: 640px) { .team-heading { display: block; } .team-heading > a, .team-heading > form { display: inline-flex; margin-top: 16px; } }
.medica-week-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin: 1.5rem 0; }
.medica-week-nav form { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.medica-week-nav select { max-width: 21rem; padding: .7rem; }
.medica-week-summary { margin: 0 0 1.8rem; }
.medica-review-day { margin: 1.5rem 0 2.5rem; }
.medica-review-day h2 { margin-bottom: .85rem; text-transform: capitalize; }
.medica-review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.medica-review-card { display: flex; flex-direction: column; gap: .8rem; align-items: stretch; min-width: 0; }
.medica-review-media { order: -1; }
.medica-review-media a { display: block; }
.medica-review-media img, .medica-review-media video { display: block; width: 100%; max-height: 360px; object-fit: contain; border-radius: 12px; background: #f4f1ef; }
.medica-review-copy { width: 100%; }
.medica-review-copy details { margin: .45rem 0; }
.medica-review-caption { white-space: pre-wrap; line-height: 1.5; }
.medica-review-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
@media (max-width: 700px) { .medica-review-list { grid-template-columns: 1fr; } .medica-week-nav { align-items: stretch; } }
.team-avatar { display: block; width: 72px; height: 72px; object-fit: cover; border-radius: 50%; margin-bottom: 12px; }
.budget-view-table { overflow-x: auto; }
.budget-view-table table { width: 100%; border-collapse: collapse; }
.budget-view-table th, .budget-view-table td { padding: 10px 12px; border-bottom: 1px solid #ddd; text-align: left; }
.budget-view-table td { text-align: right; white-space: nowrap; }

.maxxica-home { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; min-height: 44px; padding: 10px 14px; box-sizing: border-box; flex: none; border-radius: 9px; color: #a20b17; background: #fcece7; font: 700 14px/1 sans-serif; text-decoration: none; white-space: nowrap; }
.maxxica-home svg { width: 22px; height: 22px; flex: none; }
.maxxica-home:hover { background: #f9dfd7; }
.maxxica-home:focus-visible { outline: 3px solid #a20b17; outline-offset: 3px; }

.auth-header { position: sticky; top: 0; z-index: 40; background: #fff; }
.topbar { grid-template-columns: max-content minmax(140px, 1fr) auto; }
@media(max-width:680px){ .header-start .maxxica-home { padding: 10px; } .header-start .maxxica-home span { display:none; } }

.medica-review-enlarge { margin-top: .5rem; }
.medica-review-enlarge summary { cursor: pointer; }
.medica-review-enlarge[open] img { max-height: none; margin-top: .5rem; }

/* Arithmetic connections in every maxxICA result-tree presentation. */
.result-tree-columns{column-gap:24px;row-gap:5px;grid-template-rows:auto auto 28px auto 28px auto;padding:0 14px 8px 0}
.result-tree-columns>section{display:grid;grid-row:1/7;grid-template-rows:subgrid;gap:5px;min-width:150px}
.result-tree-columns h3{grid-row:1;margin:0;align-self:center}
.result-tree-columns .tree-node{position:relative;margin:0;overflow:visible}
.result-tree-columns [data-tree-row="2"]{grid-row:2}
.result-tree-columns [data-tree-row="4"]{grid-row:4}
.result-tree-columns [data-tree-row="6"]{grid-row:6}
.result-tree-columns .tree-node--result{grid-row:2/7;display:flex;flex-direction:column;justify-content:center}
.result-tree-columns .tree-operator{display:grid;place-items:center;height:28px;color:var(--ica-red);font-size:1.8rem;line-height:1;font-weight:900}
.result-tree-columns .tree-equality{position:absolute;z-index:2;left:calc(100% + 12px);top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:24px;height:28px;border:0;background:transparent;color:var(--ica-red);font-size:1.5rem;line-height:1;font-weight:900;pointer-events:none}

/* medICA weekly planning — erICA advisory review, September 2026. */
.medica-workspace { max-width: 1120px; margin: 0 auto; }
.medica-heading { padding: 14px 0 24px; border-bottom: 1px solid var(--line); align-items: center; }
.medica-heading h1 { font-size: clamp(2.8rem, 6vw, 4rem); font-weight: 700; letter-spacing: -.03em; }
.medica-heading h1 span { color: var(--ica-red); }
.medica-heading p { margin-bottom: 8px; color: var(--muted); }
.medica-heading .medica-subtitle { color: var(--ink); font-size: 1.3rem; font-weight: 700; }
.medica-week-label { display: grid; gap: 8px; text-align: right; }
.medica-week-label strong { font-family: "ICA Rubrik", sans-serif; font-size: 1.4rem; }
.medica-week-label span { color: var(--muted); font-size: .8rem; }
.medica-workspace .medica-week-nav { justify-content: space-between; gap: 12px; margin: 20px 0; }
.medica-week-nav label { display: flex; align-items: center; gap: 10px; }
.medica-week-nav select { font: inherit; border: 1px solid var(--line); border-radius: 8px; background: white; min-height: 44px; }
.medica-workspace .secondary-button { border: 1px solid var(--line); border-radius: 8px; color: var(--ink); background: white; text-decoration: none; }
.medica-workspace .secondary-button:hover { border-color: var(--ica-red-dark); background: var(--red-soft); }
.medica-workspace .medica-week-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding: 0; margin: 24px 0; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--line); }
.medica-week-summary div { display: grid; gap: 5px; padding: 18px 24px; background: white; }
.medica-week-summary strong { font: 700 2rem/1 "ICA Rubrik", sans-serif; }
.medica-week-summary span { color: var(--muted); font-size: .88rem; }
.medica-checklist, .medica-sync-warning { margin: 20px 0; padding: 16px 20px; border: 1px solid #dfceaa; border-radius: 10px; background: var(--yellow-soft); }
.medica-checklist summary { cursor: pointer; font-weight: 700; }
.medica-checklist li { margin: 8px 0; }
.medica-checklist a { color: var(--ink); font-weight: 700; }
.medica-workspace .medica-review-day { margin: 32px 0; }
.medica-workspace .medica-review-day > h2 { text-transform: none; font-size: 1.3rem; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.medica-workspace .medica-review-list { grid-template-columns: 1fr; gap: 18px; }
.medica-workspace .medica-review-card { display: grid; grid-template-columns: minmax(240px, 320px) minmax(0, 1fr); gap: 28px; padding: 24px; border-radius: 14px; box-shadow: 0 3px 12px #3a3a3a08; scroll-margin-top: 90px; }
.medica-review-card .medica-review-media { grid-column: 1; grid-row: 1; order: 0; align-self: start; }
.medica-card-content { grid-column: 2; min-width: 0; }
.medica-card-content h3 { font-size: 1.55rem; line-height: 1.2; text-transform: none; }
.medica-card-content .eyebrow { font-size: .72rem; margin-bottom: 10px; }
.medica-workspace .medica-review-media img, .medica-workspace .medica-review-media video { max-height: 420px; border-radius: 8px; background: var(--canvas); }
.medica-review-card .medica-review-enlarge[open] img { max-height: none; }
.medica-review-enlarge summary { font-size: .86rem; padding: 10px 0; color: var(--ica-red-dark); }
.medica-status { display: inline-block; max-width: 100%; padding: 6px 10px; margin: 4px 0 12px; border-radius: 6px; background: var(--canvas); font-size: .8rem; font-weight: 700; }
.medica-status--published { background: #edf5ed; color: #275338; }
.medica-status--planned { background: #e5f4e8; color: #205536; border: 1px solid #84b991; font-weight: 750; }
.medica-status--attention { background: #fff5d6; color: #70520b; }
.medica-attention-note { font-size: .84rem; color: #70520b; margin-bottom: 14px; }
.medica-main-caption { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; font-size: .95rem; margin: 4px 0 18px; }
.medica-copy-empty { color: var(--muted); font-size: .9rem; }
.medica-review-copy > details { border-top: 1px solid var(--line); padding: 12px 0; margin: 0; }
.medica-review-copy summary { cursor: pointer; font-weight: 700; font-size: .86rem; }
.medica-review-copy details details { padding: 10px 0 0; }
.medica-review-copy li { margin: 8px 0; }
.medica-card-actions { margin-top: 18px; }
.medica-card-actions small { display: block; font-size: .78rem; color: var(--muted); margin: 8px 0; }
.medica-card-actions form { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.medica-card-actions label { display: grid; gap: 6px; font-size: .86rem; }
.medica-card-actions select { max-width: 100%; min-height: 44px; font: inherit; padding: 8px; border: 1px solid var(--line); border-radius: 8px; }
.medica-media-empty { display: grid; align-content: center; justify-items: center; gap: 8px; min-height: 180px; padding: 24px; border: 1px dashed var(--line); border-radius: 8px; background: var(--canvas); text-align: center; color: var(--muted); }
.medica-media-empty span { font-size: .85rem; }
.medica-history { padding: 24px 0; border-top: 1px solid var(--line); }
.medica-history > summary { cursor: pointer; font-weight: 700; }
.medica-history > p, .medica-footnote { color: var(--muted); font-size: .85rem; margin: 14px 0 24px; }
@media (max-width: 700px) {
  .medica-week-label { text-align: left; margin-top: 18px; }
  .medica-workspace .medica-week-summary { grid-template-columns: repeat(2, 1fr); }
  .medica-week-summary div { padding: 16px; }
  .medica-workspace .medica-review-card { grid-template-columns: 1fr; gap: 18px; padding: 18px; }
  .medica-card-content { grid-column: 1; grid-row: 2; }
  .medica-review-card .medica-review-media { max-width: 360px; width: 100%; margin: 0 auto; }
  .medica-week-nav form { order: -1; width: 100%; }
  .medica-week-nav label { flex: 1; min-width: 0; }
  .medica-week-nav select { width: 100%; min-width: 0; }
  .medica-card-actions form, .medica-card-actions label { width: 100%; }
}
.medica-drafts { margin: 28px 0; border: 1px solid var(--line); border-radius: 12px; padding: 20px; background: #fff; }
.medica-drafts > summary { font-weight: 700; cursor: pointer; }
.medica-drafts > p { margin: 14px 0; color: var(--muted); font-size: .9rem; }
.medica-correction > summary { cursor: pointer; font-size: .86rem; font-weight: 700; padding: 8px 0; }
.medica-correction form { margin-top: 8px; }
.medica-workspace details:not([open]) > :not(summary) { display: none; }


.auth-header > .brand { order: -1; flex: none; }
.app-product-brand .wordmark { font-size: 1.9rem; }
.medica-next-steps { margin: 12px 0 18px; padding: 14px 16px; border-radius: 8px; border-left: 3px solid #b18520; background: var(--yellow-soft); }
.medica-next-steps h4 { margin: 0 0 8px; font-size: .88rem; }
.medica-next-steps ul { margin: 0; padding-left: 18px; font-size: .88rem; }
.medica-next-steps li + li { margin-top: 7px; }
.medica-publication-plan { font-size: .86rem; color: var(--muted); }
.medica-pending { font-size: .88rem; font-weight: 700; }
@media(max-width:680px){ .auth-header { gap: 8px; padding-left: 16px; padding-right: 16px; } .auth-header .brand__descriptor { display:none; } .auth-header .maxxica-home span { display:none; } .header-start .brand__descriptor { display:none; } }

@media(max-width:700px){ .topbar { grid-template-columns: minmax(0,1fr) auto; } .header-start { min-width:0; } .header-start .maxxica-home span, .header-start .app-back span { display:none; } .store-switcher { display:none; } }

.kalendica-demo-gallery>div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}.kalendica-demo-gallery figure {margin:0;min-width:0;}.kalendica-demo-gallery img {display:block;width:100%;height:auto;border:1px solid #ddd;border-radius:12px;}.kalendica-demo-gallery figcaption {padding:12px 0;font-weight:bold;}.kalendica-demo-mobile {max-width:340px;}.kalendica-demo-gallery a:focus-visible {outline:3px solid #e30613;outline-offset:4px;}@media(max-width:700px){.kalendica-demo-gallery>div {grid-template-columns:1fr;}}
.auth-header > .brand { order: -1; flex: none; }
.app-product-brand .wordmark { font-size: 1.9rem; }
.medica-next-steps { margin: 12px 0 18px; padding: 14px 16px; border-radius: 8px; border-left: 3px solid #b18520; background: var(--yellow-soft); }
.medica-next-steps h4 { margin: 0 0 8px; font-size: .88rem; }
.medica-next-steps ul { margin: 0; padding-left: 18px; font-size: .88rem; }
.medica-next-steps li + li { margin-top: 7px; }
.medica-publication-plan { font-size: .86rem; color: var(--muted); }
.medica-pending { font-size: .88rem; font-weight: 700; }
@media(max-width:680px){ .auth-header { gap: 8px; padding-left: 16px; padding-right: 16px; } .auth-header .brand__descriptor { display:none; } .auth-header .maxxica-home span { display:none; } .header-start .brand__descriptor { display:none; } }

@media(max-width:700px){ .topbar { grid-template-columns: minmax(0,1fr) auto; } .header-start { min-width:0; } .header-start .maxxica-home span, .header-start .app-back span { display:none; } .store-switcher { display:none; } }
.kalendica-demo-gallery img {height:360px;object-fit:cover;object-position:top;}.kalendica-demo-mobile img {height:520px;}@media(max-width:700px){.kalendica-demo-gallery img {height:300px;}.kalendica-demo-mobile img {height:520px;}}

/* maxxICA global navigation: Hem + Appar, visible at every viewport. */
.maxx-global-link { display:inline-flex!important;align-items:center;justify-content:center;gap:7px;flex:none;min-height:44px;min-width:44px;padding:8px 12px;box-sizing:border-box;border:0;border-radius:0;background:transparent!important;color:#b5121b!important;font:700 14px/1 var(--font-ica-text, sans-serif);text-decoration:none;white-space:nowrap; }
.maxx-global-link svg { display:block;width:22px!important;height:22px!important;flex:none; }
.maxx-global-link span { display:inline!important; }
.maxx-global-link:hover,.maxx-global-link[aria-current="page"] { box-shadow:inset 0 -3px #b5121b; }
.maxx-global-link:focus-visible { outline:3px solid #b5121b;outline-offset:-3px; }
@media(max-width:700px){.maxx-global-link{padding:8px;gap:5px}.studio-header__bar{flex-wrap:wrap}.studio-header__bar>.maxx-global-link{order:0}.studio-nav{order:2;flex-basis:100%;overflow-x:auto}.maxxica-homebar{gap:4px;padding-inline:10px}.header-start{flex-wrap:wrap}.budget-topbar nav{display:flex;gap:4px}}

/* Personal Hem prototype and a single app palette. */
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.home-intro h1{font-size:clamp(30px,4vw,44px);margin:8px 0}.home-intro .secondary-button svg{width:20px;height:20px}.home-prototype{padding:14px 18px;border:1px solid #dbc58e;background:#fff8e8;border-radius:10px;color:#61491c;font-size:14px}.home-settings{margin:20px 0;background:#fff;border:1px solid #e0dcd6;border-radius:12px;padding:16px 20px}.home-settings summary{cursor:pointer;font-weight:700;min-height:32px}.home-settings-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.home-settings-list>div{display:flex;align-items:center;gap:8px}.home-settings-list label{flex:1}.home-settings input{width:18px;height:18px;accent-color:#b5121b}.home-settings select{padding:10px;border:1px solid #ccc;border-radius:6px}.home-widget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home-widget{--tone:#626262;background:#fff;border:1px solid #e2dfda;border-top:4px solid var(--tone);border-radius:12px;padding:22px;display:flex;flex-direction:column}.home-widget--green{--tone:#27783c}.home-widget--red{--tone:#b5121b}.home-widget--blue{--tone:#006a9e}.home-widget--purple{--tone:#70318b}.home-widget--pink{--tone:#c40063}.home-widget-label{display:flex;justify-content:space-between;gap:12px;color:var(--tone);font-size:13px;font-weight:700}.home-widget-label small{color:#696969;letter-spacing:1px;font-size:10px}.home-widget h2{font-size:21px;margin:16px 0}.home-widget-value{font-size:24px;line-height:1.2}.home-widget-detail{font-weight:700}.home-widget p{font-size:14px;line-height:1.6}.home-widget progress{width:100%;accent-color:var(--tone)}.home-widget-link{background:transparent;border:0;padding:12px 0;text-align:left;color:var(--tone);font-weight:700;cursor:pointer;margin-top:auto;min-height:44px}.home-next{margin-top:20px}.tool-launcher[data-app-tone]{background:#626262;color:white;border-color:transparent}.tool-launcher[data-app-tone="pink"]{background:#c40063}.tool-launcher[data-app-tone="blue"]{background:#006a9e}.tool-launcher[data-app-tone="purple"]{background:#70318b}.tool-launcher[data-app-tone="green"]{background:#27783c}.tool-launcher[data-app-tone] b,.tool-launcher[data-app-tone] small,.tool-launcher[data-app-tone] em,.tool-launcher[data-app-tone] .tool-launcher__icon{color:white}.tool-launcher[data-app-tone] .tool-launcher__icon{background:transparent}.tool-launcher[data-app-tone]:hover{filter:brightness(.94)}.tool-launcher[data-app-tone].is-disabled{opacity:.65}.tool-launcher:focus-visible,.home-widget-link:focus-visible,.home-settings summary:focus-visible{outline:3px solid #b5121b;outline-offset:3px}
@media(max-width:1100px){.home-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.home-widget-grid,.home-settings-list{grid-template-columns:1fr}.home-intro{align-items:flex-start;flex-direction:column}.topbar .profile{display:none}.topbar{flex-wrap:wrap}.header-start .brand__descriptor{display:none}.home-widget{padding:18px}.home-settings-list .secondary-button{padding:8px;min-height:44px}}
.tool-launcher[data-app-tone]>span:nth-child(2) b,.tool-launcher[data-app-tone]>span:nth-child(2) small,.tool-launcher[data-app-tone]>span:nth-child(2) em,.tool-launcher[data-app-tone]>svg{color:#fff}
.tool-launcher-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1200px;gap:16px}.tool-launcher[data-app-tone]{grid-template-columns:1fr;justify-items:center;align-content:center;text-align:center;gap:8px;min-height:190px;border-radius:10px;padding:18px 12px}.tool-launcher[data-app-tone] .tool-launcher__icon{width:42px;height:42px;padding:4px}.tool-launcher[data-app-tone]>svg{display:none}.tool-launcher[data-app-tone]>span:nth-child(2) b{font-size:20px}.tool-launcher[data-app-tone]>span:nth-child(2) small{font-size:13px}.tool-launcher[data-app-tone].is-disabled{opacity:1;background:#737373}
@media(max-width:1000px){.tool-launcher-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.tool-launcher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tool-launcher[data-app-tone]{min-height:174px}.topbar .header-start{flex-wrap:nowrap;gap:2px}.header-start .app-back,.topbar .mobile-menu{display:none}.topbar .header-start .brand{flex:none}.maxx-global-link{font-family:"ICA Text Ny",sans-serif}}

.medica-channel-statuses { padding-left: 1.2rem; margin: 12px 0; line-height: 1.7; }

/* Micke's private logICA review pilot. Existing overview choices remain intact. */
.logica-focus{max-width:100%;background:#fff;border:1px solid #ddd9d3;border-radius:16px;padding:clamp(22px,4vw,40px);margin-bottom:30px;box-shadow:0 6px 24px #24242408}
.logica-focus-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.logica-focus-heading .eyebrow{margin:0 0 8px}.logica-focus h2{font-size:clamp(36px,5vw,52px);line-height:1.1;margin:0;color:#363636}.logica-focus h2 span{color:#b5121b}.logica-focus>h3{font-size:24px;margin:24px 0 8px}.logica-focus p{line-height:1.6}.logica-badge{border:1px solid #ccc7c0;border-radius:20px;padding:8px 12px;font-size:11px;font-weight:700;letter-spacing:1px;color:#555;white-space:nowrap}.logica-metrics{display:flex;flex-wrap:wrap;gap:24px 48px;margin:24px 0}.logica-metrics>div{display:flex;flex-direction:column;gap:5px}.logica-metrics strong{font-size:28px}.logica-metrics span{font-size:14px;color:#555}.logica-note{font-size:14px;color:#595959;max-width:76ch}.logica-tests{margin-top:22px}.logica-tests>summary{cursor:pointer;background:#363636;color:white;border-radius:8px;padding:15px 20px;font-weight:700;min-height:48px;list-style:none;display:flex;justify-content:space-between;gap:12px}.logica-tests>summary::-webkit-details-marker{display:none}.logica-tests[open]>summary{border-radius:8px 8px 0 0}.logica-tests-body{border:1px solid #ddd9d3;border-top:0;border-radius:0 0 8px 8px;padding:24px}.logica-tests label{display:block;font-weight:700;margin-bottom:8px}.logica-tests select{font:inherit;max-width:100%;width:100%;min-height:48px;background:#fff;border:1px solid #888;border-radius:6px;padding:10px}.logica-case h3{font-size:18px;margin:20px 0 8px}.logica-case-text{padding:18px;background:#f5f3f0;border-radius:8px}.logica-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.logica-comparison>div{border:1px solid #ddd9d3;border-radius:8px;padding:18px}.logica-comparison span{font-size:12px;color:#555;font-weight:700}.logica-comparison h3{margin:10px 0}.logica-verdict{padding:16px 0}.logica-score summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px}.logica-score p{font-size:14px}.home-overview-title{font-size:22px;margin:0 0 6px}.home-overview-hint{color:#666;font-size:14px;margin:0 0 18px}.home-widget-grid{align-items:start;gap:12px}.home-widget{display:block;padding:0}.home-widget>summary{cursor:pointer;list-style:none;padding:18px;min-height:112px}.home-widget>summary::-webkit-details-marker{display:none}.home-widget h3{font-size:18px;margin:12px 0 10px}.home-widget-toggle{font-size:12px;color:#666;display:flex;justify-content:space-between}.home-widget[open] .home-widget-toggle span{transform:rotate(180deg)}.home-widget-body{padding:0 18px 18px}.home-widget>summary:focus-visible,.logica-focus summary:focus-visible,.logica-focus select:focus-visible{outline:3px solid #b5121b;outline-offset:3px}
@media(max-width:600px){.logica-tests-body{padding:16px}.logica-comparison{grid-template-columns:1fr}.logica-focus-heading{align-items:flex-start}.logica-badge{font-size:10px;padding:7px 9px}.logica-metrics{gap:18px}.logica-metrics strong{font-size:24px}.home-widget>summary{min-height:100px}}

.hw-meeting-document { max-width: 72ch; margin: 24px 0; overflow-wrap: anywhere; line-height: 1.65; }
.hw-meeting-document h2, .hw-meeting-document h3, .hw-meeting-document h4 { margin: 28px 0 12px; font-size: 1.35rem; }
.hw-meeting-document p { margin: 12px 0; }
.hw-meeting-document ul, .hw-meeting-document ol { padding-left: 1.5em; margin: 12px 0 20px; }
.hw-meeting-document li { margin: 8px 0; }
