.ui-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.ui-planner-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; padding:.5rem; margin-bottom:1rem; border:1px solid var(--ui-border); border-radius:.75rem; background:var(--ui-surface); }
.ui-planner-tools[hidden] { display:none; }
.ui-planner-tool-group { display:flex; flex:0 0 auto; align-items:center; gap:.5rem; padding-inline:.25rem; }
.ui-planner-tool-group + .ui-planner-tool-group { border-inline-start:1px solid var(--ui-border); padding-inline-start:.75rem; }
.ui-planner-tool-group form { margin:0; }
.ui-planner-tool-group output { min-width:1.5rem; text-align:center; font-size:.8rem; color:var(--ui-muted); font-variant-numeric:tabular-nums; }
.ui-planner-chip > strong { font-size:.75rem; }
.ui-planner-grid thead .ui-planner-date-label { display:inline-flex; align-items:center; gap:.2rem; white-space:nowrap; font-size:.75rem; line-height:1.3; font-weight:400; }
.ui-planner-grid thead .ui-planner-date-label span { display:inline; }
.ui-planner-date-label__weekday { color:var(--ui-muted); }
.ui-planner-date-label strong { font-weight:600; }
.ui-planner-grid thead th.ui-planner-special-day { background:color-mix(in srgb, var(--ui-primary) 14%, var(--ui-surface)); box-shadow:inset 0 -3px var(--ui-primary); }
.ui-planner-special-day .ui-planner-date-label { cursor:help; border-radius:.25rem; }
.ui-planner-special-day .ui-planner-date-label:focus-visible { outline:2px solid var(--ui-primary); outline-offset:3px; }
.ui-planner-grid thead tr:nth-child(2) th { padding:.5rem .35rem; vertical-align:middle; }
.ui-planner-chip.is-selected { outline:2px solid var(--ui-primary); outline-offset:2px; }
.ui-planner-chip[hidden], .ui-planner-grid tr[hidden], .ui-planner-grid tbody[hidden] { display: none !important; }
.ui-planner-workspace.is-calendar-fullscreen { position:fixed; inset:0; z-index:1000; width:100%; height:100dvh; padding:1rem; overflow:auto; background:var(--ui-background); }
body.ui-planner-fullscreen { overflow:hidden; }
body.ui-planner-fullscreen .ui-topbar { display:none; }
body.ui-planner-fullscreen .ui-container > .ui-page-header,
body.ui-planner-fullscreen .ui-container > .ui-tabs { display:none; }
.ui-planner-grid .ui-planner-group th { text-align:left; padding:.5rem .75rem; background:var(--ui-surface-subtle); font-size:.75rem; font-weight:600; color:var(--ui-muted); }
.ui-planner-group__name { display:inline-block; position:sticky; left:.75rem; padding-inline-start:calc(var(--group-depth, 0) * 1rem); background:var(--ui-surface-subtle); }
.ui-select { display:inline-block; position:relative; min-width:0; width:100%; }
.ui-select__native { display:none !important; }
.ui-select__trigger { display:flex; align-items:center; justify-content:space-between; gap:.75rem; width:100%; min-height:var(--ui-control); padding:.6rem .8rem; border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); background:var(--ui-surface); color:var(--ui-text); text-align:left; cursor:pointer; font:inherit; }
.ui-select__trigger::after { content:""; flex:0 0 .4rem; width:.4rem; height:.4rem; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); margin-right:.2rem; }
.ui-select__trigger[aria-expanded="true"] { border-color:#2563eb; outline:2px solid color-mix(in srgb,#2563eb 25%,transparent); }
.ui-select__trigger[aria-invalid="true"] { border-color:var(--ui-danger); }
.ui-select__trigger:disabled { opacity:.5; cursor:not-allowed; }
.ui-select__menu { position:fixed; z-index:11000; overflow:auto; overscroll-behavior:contain; padding:.35rem; border:1px solid var(--ui-border); border-radius:var(--ui-radius); background:var(--ui-surface); color:var(--ui-text); box-shadow:var(--ui-shadow); }
.ui-select__menu[hidden] { display:none; }
.ui-select__option { position:relative; padding:.6rem 2rem .6rem .7rem; border-radius:.5rem; cursor:pointer; font-size:.9rem; overflow-wrap:anywhere; }
.ui-select__option:hover,.ui-select__option.is-focused { background:var(--ui-selected); }
.ui-select__option[aria-selected="true"] { background:#2563eb; color:#fff; }
.ui-select__option[aria-selected="true"]::after { content:"✓"; position:absolute; right:.65rem; }
.ui-select__option[aria-disabled="true"] { opacity:.4; cursor:not-allowed; }
.ui-select__group { padding:.5rem .7rem; font-size:.75rem; font-weight:700; color:var(--ui-muted); }
.ui-icon-select .ui-select--icon { position:absolute; inset:0; width:100%; height:100%; }
.ui-select--icon .ui-select__trigger { height:100%; min-height:0; padding:0; border:0; background:transparent; font-size:0; color:inherit; }
.ui-select--icon .ui-select__trigger::after { display:none; }
.ui-planner-tools .ui-select { width:auto; max-width:20rem; }
.ui-planner-workspace .ui-icon-button[aria-pressed="true"],.ui-icon-select.is-active { background:#2563eb; border-color:#2563eb; color:#fff; box-shadow:0 0 0 2px #93c5fd; }
.ui-planner-workspace [data-planner-edit-toggle][aria-pressed="true"] { background:#059669; border-color:#059669; color:#fff; box-shadow:0 0 0 2px #6ee7b7; }
.ui-icon-button:disabled { opacity:.4; cursor:not-allowed; }
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/montserrat-variable.ttf") format("truetype");
}

:root {
  color-scheme: light;
  --ui-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ui-font-brand: Montserrat, "Avenir Next", "Segoe UI", sans-serif;
  --ui-text: #18181b; --ui-muted: #52525b; --ui-border: #d4d4d8; --ui-border-strong: #a1a1aa;
  --ui-surface: #fff; --ui-surface-subtle: #fafafa; --ui-canvas: #f4f4f5;
  --ui-primary: #1d4ed8; --ui-primary-hover: #1e40af; --ui-primary-contrast: #fff;
  --ui-success: #047857; --ui-success-soft: #ecfdf5; --ui-warning: #92400e; --ui-warning-soft: #fffbeb;
  --ui-danger: #b91c1c; --ui-danger-soft: #fef2f2; --ui-info: #1d4ed8; --ui-info-soft: #eff6ff;
  --ui-focus: #2563eb; --ui-disabled: #71717a; --ui-disabled-soft: #e4e4e7; --ui-selected: #eff6ff;
  --ui-space-1: .25rem; --ui-space-2: .5rem; --ui-space-3: .75rem; --ui-space-4: 1rem;
  --ui-space-5: 1.25rem; --ui-space-6: 1.5rem; --ui-space-8: 2rem; --ui-space-10: 2.5rem;
  --ui-radius-sm: .625rem; --ui-radius: .875rem; --ui-radius-lg: 1.25rem;
  --ui-shadow-sm: 0 1px 2px rgba(24,24,27,.06); --ui-shadow: 0 12px 32px rgba(24,24,27,.08);
  --ui-topbar: 4.5rem; --ui-tabs-height: 3.5rem; --ui-content: 80rem; --ui-control: 2.75rem; --ui-transition: 160ms ease;
}
* { box-sizing: border-box; }
html { font-family: var(--ui-font); color: var(--ui-text); background: var(--ui-canvas); }
body { margin: 0; min-width: 20rem; min-height: 100vh; background: var(--ui-canvas); }
a { color: var(--ui-primary); text-underline-offset: .18em; }
a:hover { text-decoration-thickness: .12em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--ui-selected); color: var(--ui-text); }
:focus-visible { outline: .2rem solid var(--ui-focus); outline-offset: .15rem; }
.ui-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; }
.ui-skip-link { position: fixed; z-index: 100; top: .5rem; left: .5rem; transform: translateY(-150%); padding: .75rem 1rem; border-radius: var(--ui-radius-sm); background: var(--ui-text); color: var(--ui-surface); }
.ui-skip-link:focus { transform: none; }
.ui-topbar { position: sticky; top: 0; z-index: 30; height: var(--ui-topbar); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--ui-space-5); padding: 0 clamp(1rem,3vw,2rem); border-bottom: 1px solid var(--ui-border); background: color-mix(in srgb,var(--ui-surface) 94%,transparent); box-shadow: var(--ui-shadow-sm); backdrop-filter: blur(16px); }
.ui-brand { display: inline-flex; align-items: center; gap: .6rem; color: var(--ui-text); text-decoration: none; }
.ui-brand__logo { width: 1.8rem; height: 1.8rem; color: var(--ui-primary); object-fit: contain; }
.ui-brand__wordmark { font-family: var(--ui-font-brand); font-size: 1.125rem; font-weight: 500; letter-spacing: .3em; white-space: nowrap; }
.ui-context { min-width: 0; display: flex; align-items: baseline; gap: .65rem; }
.ui-context__application, .ui-context__customer { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-context__customer { max-width: min(28vw,18rem); color: var(--ui-muted); font-size: .875rem; }
.ui-context__separator { color: var(--ui-border-strong); }
.ui-topbar__actions, .ui-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ui-space-2); }
.ui-icon-button { width: var(--ui-control); height: var(--ui-control); display: inline-grid; place-items: center; padding: 0; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm); background: var(--ui-surface); color: var(--ui-text); box-shadow: var(--ui-shadow-sm); cursor: pointer; transition: background var(--ui-transition), border-color var(--ui-transition), transform var(--ui-transition); }
.ui-icon-button:hover { border-color: var(--ui-border-strong); background: var(--ui-surface-subtle); }
.ui-icon-button:active, .ui-button:active { transform: translateY(1px); }
.ui-icon-link { text-decoration: none; }
.ui-profile-menu { position: relative; }
.ui-profile-menu summary { list-style: none; }
.ui-profile-menu summary::-webkit-details-marker { display: none; }
.ui-profile-menu__toggle { max-width: 18rem; min-height: var(--ui-control); display: flex; align-items: center; gap: .65rem; padding: .25rem .5rem; border: 0; border-radius: var(--ui-radius); background: transparent; cursor: pointer; }
.ui-profile-menu__toggle:hover { background: var(--ui-surface-subtle); }
.ui-profile-menu__avatar { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: .75rem; background: var(--ui-primary); color: var(--ui-primary-contrast); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.ui-profile-menu__panel { position: absolute; z-index: 50; top: calc(100% + .65rem); right: 0; width: min(18rem,calc(100vw - 2rem)); overflow: hidden; padding: var(--ui-space-2); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); box-shadow: var(--ui-shadow); }
.ui-profile-menu__identity { display: grid; padding: .75rem .8rem 1rem; border-bottom: 1px solid var(--ui-border); }
.ui-profile-menu__identity span { margin-top: .2rem; color: var(--ui-muted); font-size: .8rem; white-space: normal; overflow-wrap:anywhere; }
.ui-profile-menu__panel a, .ui-profile-menu__panel button { width: 100%; display: flex; align-items: center; gap: var(--ui-space-3); padding: .75rem .8rem; border: 0; border-radius: var(--ui-radius-sm); background: transparent; color: var(--ui-text); font: inherit; font-size: .9rem; text-align: left; text-decoration: none; cursor: pointer; }
.ui-profile-menu__panel a:hover, .ui-profile-menu__panel button:hover { background: var(--ui-surface-subtle); }
.ui-profile-menu__panel form { margin: 0; }
.ui-profile-menu__panel form button { color: var(--ui-danger); }
.ui-profile-menu__divider { margin: var(--ui-space-2) 0; border-top: 1px solid var(--ui-border); }
.ui-tabs, .ops-tabs { display:flex; gap:1.2rem; overflow:auto; border-bottom:1px solid var(--ui-border); margin:1rem 0 1.5rem; }
.ui-tabs__scroll, .ui-tabs__group { display:flex; gap:1.2rem; align-items:stretch; }
.ui-tabs__group { flex:0 0 auto; }
.ui-tab, .ops-tabs a { display:inline-flex; align-items:center; padding:.75rem .25rem; text-decoration:none; white-space:nowrap; color:var(--ui-muted); border-bottom:3px solid transparent; }
.ui-tab:hover, .ops-tabs a:hover { color:var(--ui-text); }
.ui-tab[aria-current="page"], .ops-tabs a[aria-current="page"] { color:var(--ui-primary); border-color:var(--ui-primary); font-weight:600; }
.ui-shell__body { min-height: calc(100vh - var(--ui-topbar)); }
.ui-main { min-width: 0; flex: 1; padding: clamp(1rem,3vw,2.5rem); }
.ui-container { width: min(100%,var(--ui-content)); margin-inline: auto; }
.ui-container--full { width: 100%; max-width: none; }
.ui-page-header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--ui-space-6); margin-bottom: var(--ui-space-8); }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 0; font-size: clamp(1.75rem,4vw,2.5rem); line-height: 1.15; letter-spacing: -.025em; }
h2 { font-size: 1.15rem; }
.ui-eyebrow { margin: 0 0 var(--ui-space-2); color: var(--ui-primary); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ui-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,22rem),1fr)); gap: var(--ui-space-6); }
.ui-card { padding: var(--ui-space-6); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); box-shadow: var(--ui-shadow-sm); }
.ui-card:hover { border-color: var(--ui-border-strong); }
.ui-launcher-header > div { max-width: 48rem; }
.ui-page-header:has(> .ui-app-icon) { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.ui-page-header:has(> .ui-app-icon) > :not(.ui-app-icon) { grid-column:1; }
.ui-page-header > .ui-app-icon { grid-column:2; grid-row:1; flex-shrink:0; }
.ui-launcher-section { padding-block: var(--ui-space-6) var(--ui-space-10); border-top: 1px solid var(--ui-border); }
.ui-launcher-section:first-of-type { border-top: 0; }
.ui-launcher-section__heading { margin-bottom: var(--ui-space-6); }
.ui-launcher-section__heading h2 { margin: 0; font-size: clamp(1.35rem,3vw,1.75rem); }
.ui-app-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,17rem),1fr)); gap: var(--ui-space-4); }
.ui-app-tile { min-width: 0; min-height: 14rem; display: flex; flex-direction: column; align-items: flex-start; padding: var(--ui-space-6); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); color: var(--ui-text); text-align: left; text-decoration: none; box-shadow: var(--ui-shadow-sm); transition: border-color var(--ui-transition), box-shadow var(--ui-transition), transform var(--ui-transition); }
.ui-app-tile:hover { border-color: var(--ui-primary); box-shadow: var(--ui-shadow); transform: translateY(-3px); }
.ui-app-tile:focus-visible { outline: 3px solid var(--ui-focus); outline-offset: 3px; }
.ui-app-icon { width: 3.25rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 1rem; background: linear-gradient(145deg,#2563eb,#1e40af); color: #fff; box-shadow: 0 10px 22px rgba(29,78,216,.2); font-size: 1.35rem; font-weight: 700; }
.ui-app-icon svg { width: 1.75rem; height: 1.75rem; }
.ui-account-icon--profile { background:linear-gradient(145deg,#2563eb,#1e40af); }
.ui-account-icon--settings { background:linear-gradient(145deg,#7c3aed,#5b21b6); }
.ui-account-icon--applications { background:linear-gradient(145deg,#0f766e,#115e59); }
.ui-account-icon--about { background:linear-gradient(145deg,#b45309,#92400e); }
.ui-account-icon--compact { width:1.75rem; height:1.75rem; flex-shrink:0; border-radius:.5rem; box-shadow:none; }
.ui-account-icon--compact svg { width:1.1rem; height:1.1rem; }
.ui-topbar-app-icon { width:2.5rem; height:2.5rem; flex-shrink:0; border-radius:.75rem; box-shadow:none; }
.ui-topbar-app-icon svg { width:1.4rem; height:1.4rem; }
.ui-app-icon--operations { background: linear-gradient(145deg,#2563eb,#1e40af); box-shadow: 0 8px 18px #2563eb33; }
.ui-app-icon--people { background: linear-gradient(145deg,#7c3aed,#5b21b6); box-shadow: 0 8px 18px #7c3aed33; }
.ui-app-icon--database { background: linear-gradient(145deg,#0f766e,#115e59); box-shadow: 0 8px 18px #0f766e33; }
.ui-app-icon--planner { background:linear-gradient(145deg,#2563eb,#1e40af); }
.ui-app-icon--hierarchy { background:linear-gradient(145deg,#0f766e,#115e59); }
.ui-app-icon--subscriptions { background:linear-gradient(145deg,#b45309,#92400e); }
.ui-app-icon--audit { background:linear-gradient(145deg,#be185d,#831843); }
.ui-app-icon--billing { background:linear-gradient(145deg,#475569,#1e293b); }
.ui-app-icon--administration { background: linear-gradient(145deg,#0f766e,#115e59); font-family: var(--ui-font-brand); font-weight: 500; }
.ui-app-tile__body { min-height: 0; flex: 1; display: flex; flex-direction: column; }
.ui-app-tile__label { margin-top: var(--ui-space-4); font-size: 1.1rem; font-weight: 750; line-height: 1.25; }
.ui-app-tile__meta { margin-top: var(--ui-space-2); color: var(--ui-muted); font-size: .9rem; line-height: 1.5; }
.ui-config-wizard { width: 100%; margin-block: 2rem; }
.ui-configuration-back { margin-bottom: 1rem; gap: .6rem; border-radius: 999px; }
.ui-configuration-dialog { box-sizing: border-box; width: min(42rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.5rem; border: 1px solid var(--ui-border); border-radius: 1rem; background: var(--ui-surface); color: var(--ui-text); box-shadow: 0 20px 70px #0004; overflow-y: auto; }
.ui-configuration-dialog::backdrop { background: #0f172a70; backdrop-filter: blur(3px); }
.ui-configuration-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ui-configuration-dialog__header h2 { font-size: 1.25rem; margin: 0; }
.ui-configuration-dialog .ui-config-wizard { margin: 0; }
.ui-configuration-dialog .ui-wizard-progress { gap: .75rem 1.5rem; padding: 1rem 1.5rem; font-size: .85rem; }
.ui-configuration-dialog .ui-wizard-step { min-height: 0; padding: .5rem 0 1rem; }
.ui-configuration-dialog .ui-wizard-fields { gap: 1rem; }
.ui-configuration-dialog .ui-field input[type="color"] { width: 100%; height: 2.75rem; padding: .25rem; cursor: pointer; }
.ui-configuration-dialog .ui-wizard-actions { margin-top: 1rem; padding: 1rem 0 0; }
.ui-configuration-dialog .ui-wizard-review { gap: .5rem 1rem; font-size: .9rem; }
.ui-wizard-progress { display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding: 1rem 2rem; border-bottom: 1px solid var(--ui-border); }
.ui-wizard-progress [aria-current="step"] { color: var(--ui-primary); font-weight: 700; }
.ui-wizard-progress { list-style: none; counter-reset: wizard-step; }
.ui-wizard-progress li { counter-increment: wizard-step; }
.ui-wizard-progress li::before { content: counter(wizard-step) ". "; }
.ui-wizard-progress li:not(:last-child)::after { content: " •"; margin-left: .75rem; color: var(--ui-muted); }
.ui-wizard-step { padding: 2rem 0; min-height: 20rem; }
.ui-wizard-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; max-width: 70rem; }
.ui-wizard-fields > .ui-field { margin: 0; min-width: 0; }
.ui-wizard-fields input:not([type="checkbox"]), .ui-wizard-fields select { width: 100%; }
.ui-wizard-actions { padding-block: 1.5rem; border-top: 1px solid var(--ui-border); }
.ui-config-wizard [hidden] { display: none !important; }
.ui-wizard-review { display: grid; grid-template-columns: minmax(10rem, 1fr) 2fr; gap: 1rem 2rem; max-width: 70rem; }
.ui-wizard-review dt { font-weight: 600; }
.ui-wizard-review dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 650px) { .ui-wizard-fields, .ui-wizard-review { grid-template-columns: 1fr; } .ui-wizard-step { min-height: 0; } }
.ui-app-tile__action { margin-top: auto; padding-top: var(--ui-space-5); color: var(--ui-primary); font-size: .9rem; font-weight: 750; }
.ui-stack > * + * { margin-top: var(--ui-space-3); }
.ui-button { min-height: var(--ui-control); display: inline-flex; align-items: center; justify-content: center; gap: var(--ui-space-2); padding: .65rem 1rem; border: 1px solid transparent; border-radius: var(--ui-radius-sm); font-weight: 700; line-height: 1.2; text-decoration: none; box-shadow: var(--ui-shadow-sm); cursor: pointer; transition: background var(--ui-transition), border-color var(--ui-transition), transform var(--ui-transition); }
.ui-button--primary { background: var(--ui-primary); color: var(--ui-primary-contrast); }
.ui-button--primary:hover { background: var(--ui-primary-hover); }
.ui-button--secondary { border-color: var(--ui-border); background: var(--ui-surface); color: var(--ui-text); }
.ui-button--secondary:hover { border-color: var(--ui-border-strong); background: var(--ui-surface-subtle); }
.ui-button--danger { background: var(--ui-danger); color: #fff; }
.ui-button:disabled { background: var(--ui-disabled-soft); color: var(--ui-disabled); cursor: not-allowed; box-shadow: none; }
.ui-field { margin-block: var(--ui-space-4); }
.ui-field label { display: block; margin-bottom: .4rem; font-weight: 700; }
.ui-field input, .ui-field select, .ui-field textarea { width: 100%; min-height: var(--ui-control); padding: .65rem .75rem; border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-sm); background: var(--ui-surface); color: var(--ui-text); transition: border-color var(--ui-transition), box-shadow var(--ui-transition); }
.ui-field input:focus, .ui-field select:focus, .ui-field textarea:focus { border-color: var(--ui-focus); box-shadow: 0 0 0 .2rem color-mix(in srgb,var(--ui-focus) 18%,transparent); }
.ui-field--error input, .ui-field--error select, .ui-field--error textarea { border-color: var(--ui-danger); }
.ui-field__help { margin-top: .35rem; color: var(--ui-muted); font-size: .85rem; }
.ui-field__errors, .ui-field .errorlist { color: var(--ui-danger); margin: .35rem 0 0; padding-left: 1.25rem; }
.ui-theme-field { padding: 0; border: 0; }
.ui-theme-field legend { font-weight: 700; }
.ui-theme-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--ui-space-2); margin-top: var(--ui-space-3); }
.ui-theme-options label { margin: 0; cursor: pointer; }
.ui-theme-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ui-theme-options span { min-height: var(--ui-control); display: grid; place-items: center; padding: .65rem .75rem; border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-sm); background: var(--ui-surface); color: var(--ui-text); transition: border-color var(--ui-transition), background var(--ui-transition), color var(--ui-transition); }
.ui-theme-options input:checked + span { border-color: var(--ui-primary); background: var(--ui-selected); color: var(--ui-primary); }
.ui-theme-options input:focus-visible + span { outline: .2rem solid var(--ui-focus); outline-offset: .15rem; }
.ui-alert { display: flex; gap: var(--ui-space-3); padding: .85rem 1rem; border: 1px solid currentColor; border-radius: var(--ui-radius); }
.ui-alert--success { color: var(--ui-success); background: var(--ui-success-soft); }
.ui-alert--warning { color: var(--ui-warning); background: var(--ui-warning-soft); }
.ui-alert--error { color: var(--ui-danger); background: var(--ui-danger-soft); }
.ui-alert--info { color: var(--ui-info); background: var(--ui-info-soft); }
.ui-badge { display: inline-flex; max-width: 100%; padding: .25rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.ui-badge--success { color: var(--ui-success); background: var(--ui-success-soft); }
.ui-badge--warning { color: var(--ui-warning); background: var(--ui-warning-soft); }
.ui-badge--danger { color: var(--ui-danger); background: var(--ui-danger-soft); }
.ui-status--active { color:var(--ui-success); background:var(--ui-success-soft); }
.ui-status--past_due { color:var(--ui-warning); background:var(--ui-warning-soft); }
.ui-status--suspended { color:var(--ui-danger); background:var(--ui-danger-soft); }
.ui-status--trial, .ui-status--provisioning { color:#1e40af; background:#dbeafe; }
.ui-status--cancelled, .ui-status--retired, .ui-status--draft { color:var(--ui-muted); background:var(--ui-surface); border:1px solid var(--ui-border); }
.ui-table-wrap { margin-block: var(--ui-space-6); overflow-x: auto; border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-surface); box-shadow: var(--ui-shadow-sm); }
.ui-table { width: 100%; border-collapse: collapse; text-align: left; }
.ui-table--subscriptions tr > :last-child:not([colspan]) { text-align: right; }
.ui-list-header { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; padding:var(--ui-space-4); }
.ui-list-header > [data-list-add] { flex-shrink:0; margin:0; }
.ui-list-year-filter { margin:0; width:7rem; flex:0 0 7rem; }
.ui-table-wrap[data-list-edit-mode="false"] > .ui-table > :is(thead, tbody, tfoot) > tr > .ui-list-manage { display:none; }
.ui-list-edit-toggle[aria-pressed="true"] { color:var(--ui-primary); background:var(--ui-selected); border-color:var(--ui-primary); }
.ui-table .ui-list-manage { width:3.75rem; min-width:3.75rem; padding:.5rem; text-align:center; border-right:1px solid var(--ui-border); background:var(--ui-surface); }
.ui-table .ui-list-status { width:3.75rem; min-width:3.75rem; max-width:3.75rem; padding:.5rem; text-align:center; border-left:1px solid var(--ui-border); background:var(--ui-surface); }
.ui-list-status-icon { display:inline-grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:var(--ui-radius-sm); color:var(--ui-muted); background:var(--ui-surface-subtle); }
.ui-list-status-icon--success { color:var(--ui-success); background:var(--ui-success-soft); }
.ui-list-status-icon--warning { color:var(--ui-warning); background:var(--ui-warning-soft); }
.ui-list-status-icon--danger { color:var(--ui-danger); background:var(--ui-danger-soft); }
.ui-list-status-icon--info { color:#1e40af; background:#dbeafe; }
.ui-list-manage__button { display:inline-flex; align-items:center; justify-content:center; width:2.5rem; min-height:2.5rem; padding:.5rem; }
.ui-list-manage details[open] { min-width:16rem; text-align:left; }
.ui-list-search > button[hidden] { display:none; }
.ui-list-search, .ui-list-search--compact { display:flex; align-items:center; gap:.5rem; width:min(100%,14rem); margin:0 auto 0 0; }
.ui-list-search input { flex:1; min-width:0; width:100%; min-height:var(--ui-control); padding:.65rem .85rem; border:1px solid var(--ui-border-strong); border-radius:var(--ui-radius-sm); background:var(--ui-surface); color:var(--ui-text); }
.ui-list-filter { position:relative; flex:0 0 auto; }
.ui-list-filter > summary { list-style:none; cursor:pointer; }
.ui-list-filter > summary::-webkit-details-marker { display:none; }
.ui-list-filter > summary.is-active { color:var(--ui-primary); background:var(--ui-selected); border-color:var(--ui-primary); }
.ui-list-filter__panel { position:absolute; right:0; top:calc(100% + .35rem); z-index:20; min-width:12rem; max-width:calc(100vw - 2rem); margin:0; padding:.75rem; border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); background:var(--ui-surface); box-shadow:var(--ui-shadow); }
.ui-list-filter__panel legend { float:left; width:100%; margin-bottom:.5rem; font-weight:600; }
.ui-list-filter__panel label { display:flex; align-items:center; gap:.5rem; padding:.4rem; cursor:pointer; }
.ui-list-filter__panel input { width:auto; accent-color:var(--ui-primary); }
.ui-list-header .ui-list-toolbar-icon { flex:0 0 var(--ui-control); width:var(--ui-control); height:var(--ui-control); padding:0; text-decoration:none; }
.ui-table tr[hidden] { display:none; }
.ui-table caption { padding: var(--ui-space-4); font-weight: 700; text-align: left; }
.ui-table th, .ui-table td { max-width: 30rem; padding: .8rem 1rem; border-top: 1px solid var(--ui-border); overflow-wrap: anywhere; }
.ui-table th { color: var(--ui-muted); font-size: .8rem; }
.ui-empty, .ui-error { margin-block: var(--ui-space-8); padding: clamp(2rem,6vw,4rem); border: 1px dashed var(--ui-border-strong); border-radius: var(--ui-radius-lg); text-align: center; background: var(--ui-surface); }
.ui-empty__icon { font-size: 2rem; color: var(--ui-primary); }
.ui-loading { display: flex; align-items: center; gap: var(--ui-space-2); color: var(--ui-muted); }
.ui-spinner { width: 1rem; height: 1rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: ui-spin .8s linear infinite; }
.ui-error__code { color: var(--ui-primary); font-size: 3rem; font-weight: 800; margin: 0; }
.ui-support-reference code { user-select: all; }
.ui-pagination { display: flex; justify-content: space-between; gap: var(--ui-space-4); padding-block: var(--ui-space-4); }
.ui-breadcrumbs { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; color: var(--ui-muted); }
.ui-breadcrumbs li + li::before { content: "/"; margin-right: .5rem; }
.ui-dropdown { position: relative; display: inline-block; }
.ui-dropdown summary { list-style: none; }
.ui-dropdown__menu { position: absolute; z-index: 10; right: 0; width: max-content; max-width: min(20rem,90vw); margin-top: .4rem; padding: var(--ui-space-3); border: 1px solid var(--ui-border); border-radius: var(--ui-radius); background: var(--ui-surface); box-shadow: var(--ui-shadow); }
.ui-dialog { width: min(32rem,calc(100% - 2rem)); padding: var(--ui-space-6); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-lg); background: var(--ui-surface); color: var(--ui-text); box-shadow: var(--ui-shadow); }
.ui-dialog::backdrop { background: rgba(9,9,11,.64); }
@keyframes ui-spin { to { transform: rotate(360deg); } }
:root[data-theme="dark"] { color-scheme:dark; --ui-text:#fafafa; --ui-muted:#a1a1aa; --ui-border:#3f3f46; --ui-border-strong:#71717a; --ui-surface:#18181b; --ui-surface-subtle:#27272a; --ui-canvas:#09090b; --ui-primary:#60a5fa; --ui-primary-hover:#93c5fd; --ui-primary-contrast:#09090b; --ui-success:#6ee7b7; --ui-success-soft:#064e3b; --ui-warning:#fcd34d; --ui-warning-soft:#451a03; --ui-danger:#fca5a5; --ui-danger-soft:#450a0a; --ui-info:#93c5fd; --ui-info-soft:#172554; --ui-focus:#93c5fd; --ui-disabled:#a1a1aa; --ui-disabled-soft:#3f3f46; --ui-selected:#172554; --ui-shadow-sm:0 1px 2px rgba(0,0,0,.35); --ui-shadow:0 16px 40px rgba(0,0,0,.42); }
:root[data-theme="dark"] .ui-shell { --ui-primary:#60a5fa !important; --ui-primary-hover:#93c5fd !important; --ui-primary-contrast:#09090b; }
:root[data-theme="dark"] .ui-brand__logo { filter: invert(1); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { color-scheme:dark; --ui-text:#fafafa; --ui-muted:#a1a1aa; --ui-border:#3f3f46; --ui-border-strong:#71717a; --ui-surface:#18181b; --ui-surface-subtle:#27272a; --ui-canvas:#09090b; --ui-primary:#60a5fa; --ui-primary-hover:#93c5fd; --ui-primary-contrast:#09090b; --ui-success:#6ee7b7; --ui-success-soft:#064e3b; --ui-warning:#fcd34d; --ui-warning-soft:#451a03; --ui-danger:#fca5a5; --ui-danger-soft:#450a0a; --ui-info:#93c5fd; --ui-info-soft:#172554; --ui-focus:#93c5fd; --ui-disabled:#a1a1aa; --ui-disabled-soft:#3f3f46; --ui-selected:#172554; --ui-shadow-sm:0 1px 2px rgba(0,0,0,.35); --ui-shadow:0 16px 40px rgba(0,0,0,.42); }
  :root:not([data-theme="light"]) .ui-shell { --ui-primary:#60a5fa !important; --ui-primary-hover:#93c5fd !important; --ui-primary-contrast:#09090b; }
  :root:not([data-theme="light"]) .ui-brand__logo { filter: invert(1); }
}
@media (max-width: 48rem) {
  .ui-topbar { grid-template-columns: auto minmax(0,1fr) auto; padding-inline: var(--ui-space-3); gap: var(--ui-space-2); }
  .ui-topbar__actions { flex-wrap: nowrap; }
  .ui-brand__wordmark, .ui-context__separator { display: none; }
  .ui-page-header { display: block; } .ui-page-header .ui-actions { margin-top: var(--ui-space-4); }
}
@media (max-width: 30rem), (min-resolution: 2dppx) { .ui-main { padding-inline: var(--ui-space-3); } .ui-actions > * { flex: 1 1 auto; } .ui-pagination { flex-wrap: wrap; } }
@media (max-width: 30rem) { .ui-topbar { grid-template-columns: auto 1fr; } .ui-context, .ui-topbar__actions > .ui-icon-link { display: none; } .ui-topbar__actions { justify-self: end; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Interactive employee-by-day planner, based on the proven Antaora_Test workflow. */
.ui-planner-grid__shift { width:var(--planner-shift-width); position:sticky; left:var(--planner-person-width); z-index:1; padding:.4rem .5rem; text-align:left; background:var(--ui-surface-subtle); }
.ui-planner-grid .ui-planner-weeks th { height:2.5rem; padding:.5rem; }
.ui-planner-grid thead tr:nth-child(2) th { top:2.5rem; }
.ui-planner-grid td[data-week-start] { border-left:2px solid var(--ui-border); }

.ui-planner-board { --planner-person-width:14rem; --planner-shift-width:6rem; overflow:auto; border:1px solid var(--ui-border); border-radius:var(--ui-radius-lg); background:var(--ui-surface); box-shadow:var(--ui-shadow-sm); }
.ui-planner-grid { width:100%; min-width:72rem; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.ui-planner-grid th,.ui-planner-grid td { border-right:1px solid var(--ui-border); border-bottom:1px solid var(--ui-border); vertical-align:top; }
.ui-planner-grid thead th { position:sticky; top:0; z-index:2; padding:var(--ui-space-3); background:var(--ui-surface-subtle); text-align:center; }
.ui-planner-grid thead span,.ui-planner-grid thead time { display:block; }
.ui-planner-grid__person { width:var(--planner-person-width); position:sticky; left:0; z-index:1; padding:var(--ui-space-3); background:var(--ui-surface); text-align:left; }
.ui-planner-grid thead .ui-planner-grid__person,.ui-planner-grid thead .ui-planner-grid__shift { z-index:3; }
.ui-planner-grid thead .ui-planner-grid__revision { left:0; z-index:4; }
.ui-planner-grid thead .ui-planner-grid__revision .ui-badge { display:inline-flex; }
.ui-planner-grid thead th { font-size:.75rem; font-weight:600; }
.ui-planner-grid tbody .ui-planner-grid__person > strong { font-size:.8125rem; font-weight:600; line-height:1.35; }
.ui-planner-grid__person small { display:block; margin-top:.25rem; color:var(--ui-muted); font-weight:500; }
.ui-planner-cell { min-height:7.5rem; height:7.5rem; padding:var(--ui-space-2); background:var(--ui-surface); }
.ui-planner-cell__add { width:100%; min-height:3rem; display:flex; align-items:center; justify-content:center; gap:.35rem; border:1px dashed transparent; border-radius:var(--ui-radius-sm); background:transparent; color:var(--ui-muted); cursor:pointer; opacity:.4; }
.ui-planner-cell:hover .ui-planner-cell__add,.ui-planner-cell__add:focus-visible { border-color:var(--ui-primary); background:var(--ui-selected); color:var(--ui-primary); opacity:1; }
.ui-planner-chip { display:grid; place-items:center; text-align:center; min-height:2rem; box-sizing:border-box; gap:.15rem; margin-bottom:var(--ui-space-2); padding:.45rem .55rem; border-left:.3rem solid var(--activity-colour); border-radius:var(--ui-radius-sm); background:color-mix(in srgb,var(--activity-colour) 12%,var(--ui-surface)); color:var(--ui-text); text-decoration:none; }
.ui-planner-chip span { color:var(--ui-muted); font-size:.75rem; }
.ui-planner-dialog { width:min(38rem,calc(100% - 2rem)); padding:var(--ui-space-6); border:1px solid var(--ui-border); border-radius:var(--ui-radius-lg); background:var(--ui-surface); color:var(--ui-text); box-shadow:var(--ui-shadow); }
.ui-planner-dialog::backdrop { background:rgba(15,23,42,.55); backdrop-filter:blur(3px); }
@media (max-width:48rem) { .ui-planner-board { --planner-person-width:11rem; } }


.ui-planner-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--ui-space-3); margin:0 0 var(--ui-space-4); padding:0; border:0; background:transparent; }
.ui-segmented { display:inline-flex; padding:.2rem; border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); background:var(--ui-surface-subtle); }
.ui-segmented__item { padding:.55rem .8rem; border-radius:.4rem; color:var(--ui-muted); font-size:.85rem; font-weight:700; text-decoration:none; }
.ui-segmented__item.is-active { background:var(--ui-primary); color:var(--ui-primary-contrast); box-shadow:var(--ui-shadow-sm); }
.ui-planner-toolbar__navigation { display:flex; align-items:center; gap:var(--ui-space-2); }
.ui-planner-date-jump input { min-height:var(--ui-control); padding:.55rem .7rem; border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); background:var(--ui-surface); color:var(--ui-text); }
.ui-planner-board .ui-planner-cell__add { display:none; }
.ui-planner-board.is-editing .ui-planner-cell__add { display:flex; }
.ui-planner-board:fullscreen { padding:var(--ui-space-4); border-radius:0; background:var(--ui-background); }
.ui-planner-board[data-range="month"] .ui-planner-cell,.ui-planner-board[data-range="period"] .ui-planner-cell { height:5.5rem; min-height:5.5rem; }
.ui-planner-board[data-range="month"] .ui-planner-grid,.ui-planner-board[data-range="period"] .ui-planner-grid { min-width:max(72rem,calc(7rem * var(--planner-days, 31))); }
@media (max-width:48rem) { .ui-planner-toolbar { align-items:stretch; } .ui-segmented { width:100%; overflow:auto; } .ui-segmented__item { flex:1; text-align:center; } .ui-planner-toolbar__navigation { width:100%; justify-content:space-between; } }

.ui-control-tooltip { position:fixed; z-index:10000; max-width:min(20rem,calc(100vw - 16px)); padding:.55rem .75rem; border:1px solid var(--ui-border); border-radius:.6rem; background:var(--ui-text); color:var(--ui-surface); box-shadow:var(--ui-shadow); font-size:.8rem; line-height:1.4; pointer-events:none; }
.ui-control-tooltip[hidden] { display:none; }
.ui-icon-select:focus-within { outline:2px solid var(--ui-primary); outline-offset:2px; }
.ui-planner-workspace { width:100%; min-width:0; padding:0; border:0; background:transparent; }
.ui-planner-workspace:fullscreen { overflow:auto; padding:var(--ui-space-6); border:0; border-radius:0; background:var(--ui-background); }
.ui-planner-toolbar__ranges,.ui-planner-toolbar__filters,.ui-planner-period-controls { display:flex; align-items:center; gap:var(--ui-space-2); }
.ui-planner-period-controls label { display:grid; gap:.2rem; color:var(--ui-muted); font-size:.72rem; font-weight:700; }
.ui-planner-period-controls input { min-height:2.5rem; padding:.45rem .65rem; border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); background:var(--ui-surface); color:var(--ui-text); }
.ui-planner-range-options { position:relative; overflow:visible; }
.ui-planner-period-dropdown { position:static; }
.ui-planner-period-dropdown > summary { display:block; cursor:pointer; }
.ui-planner-period-dropdown > summary::-webkit-details-marker { display:none; }
.ui-planner-period-dropdown .ui-planner-period-controls { display:grid; gap:var(--ui-space-3); width:17rem; max-width:calc(100vw - 2rem); left:0; right:auto; top:100%; z-index:30; }
.ui-planner-period-dropdown .ui-planner-period-controls input { width:100%; min-width:0; }
@media (max-width:48rem) { .ui-planner-period-dropdown { flex:1; } }
.ui-toolbar-divider { width:1px; height:1.75rem; background:var(--ui-border); }
.ui-icon-select { position:relative; display:grid; width:2.5rem; height:2.5rem; place-items:center; border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); background:var(--ui-surface); }
.ui-icon-select select { position:absolute; inset:0; width:100%; height:100%; cursor:pointer; opacity:0; }
@media (max-width:64rem) { .ui-planner-toolbar__ranges,.ui-planner-toolbar__navigation { width:100%; flex-wrap:wrap; } .ui-planner-toolbar__navigation { justify-content:flex-end; } }

/* Compact shift lanes alongside each employee. */
.ui-planner-board .ui-planner-cell { height:3.5rem; min-height:3.5rem; }

/* Shared configuration wizard controls and trailing navigation. */
.ui-wizard-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.75rem; }
.ui-wizard-actions__navigation { display:flex; justify-content:flex-end; gap:.5rem; margin-inline-start:auto; }
.ui-wizard-actions > * { flex:0 0 auto; }
.ui-config-wizard .ui-select__trigger { border-radius:.75rem; background:var(--ui-surface-subtle); padding:.75rem 1rem; min-height:2.75rem; font-weight:500; transition:border-color .15s, background .15s; }
.ui-config-wizard .ui-select__trigger:hover { border-color:var(--ui-primary); background:var(--ui-surface); }
.ui-config-wizard .ui-select__trigger:focus-visible { outline:2px solid var(--ui-focus); outline-offset:2px; }
.ui-config-wizard input[type="checkbox"] { min-height:0; padding:0; margin:.25rem 0; box-sizing:border-box; appearance:none; width:1.2rem; height:1.2rem; border:1.5px solid var(--ui-border); border-radius:.35rem; background:var(--ui-surface); vertical-align:middle; cursor:pointer; display:inline-grid; place-content:center; }
.ui-config-wizard input[type="checkbox"]:checked { background:var(--ui-primary); border-color:var(--ui-primary); }
.ui-config-wizard input[type="checkbox"]:checked::after { content:""; width:.3rem; height:.6rem; border:solid white; border-width:0 2px 2px 0; transform:rotate(45deg) translate(-1px,-1px); }
.ui-config-wizard input[type="checkbox"]:focus-visible { outline:2px solid var(--ui-focus); outline-offset:2px; }
@media (forced-colors:active) { .ui-config-wizard input[type="checkbox"] { appearance:auto; } }

/* Successful saves appear immediately before the application/profile controls. */
.ui-save-notifications { display:grid; gap:.25rem; max-width:24rem; }
.ui-save-notification { display:flex; align-items:center; gap:.5rem; padding:.6rem .85rem; border:1px solid color-mix(in srgb,#16a34a 35%,var(--ui-border)); border-radius:.75rem; background:var(--ui-surface); color:var(--ui-text); box-shadow:var(--ui-shadow-sm); font-size:.85rem; }
.ui-save-notification svg { flex-shrink:0; color:#16a34a; }
@media (max-width:48rem) { .ui-topbar__actions > .ui-save-notifications { display:grid; position:fixed; top:4.5rem; right:1rem; left:1rem; max-width:none; z-index:11000; } }

.ui-config-identity { display:inline-flex; align-items:center; gap:.5rem; }
.ui-config-colour { display:inline-block; width:.85rem; height:.85rem; border-radius:50%; border:1px solid var(--ui-border); flex-shrink:0; }

.ui-shift-label { display:block; font-size:.75rem; font-weight:500; }
.ui-shift-times { display:block; margin-top:.2rem; color:var(--ui-muted); font-size:.65rem; font-weight:400; }
.ui-activity-details { position:fixed; z-index:12000; width:min(22rem,calc(100vw - 16px)); max-height:calc(100vh - 16px); overflow:auto; padding:1rem; border:1px solid var(--ui-border); border-top:4px solid var(--ui-primary); border-radius:.75rem; background:var(--ui-surface); color:var(--ui-text); box-shadow:var(--ui-shadow); font-size:.8rem; }
.ui-activity-details[hidden] { display:none; }
.ui-activity-details dl { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.4rem .8rem; margin-bottom:0; }
.ui-activity-details dt { color:var(--ui-muted); }
.ui-activity-details dd { margin:0; overflow-wrap:anywhere; }

.ui-activity-palette { display:grid; grid-template-columns:repeat(auto-fill,minmax(10rem,1fr)); gap:.6rem; padding:.75rem 0; }
.ui-activity-palette[hidden] { display:none; }
.ui-activity-palette__item { display:flex; align-items:center; gap:.6rem; text-align:left; padding:.7rem; border:1px solid var(--ui-border); border-left:5px solid var(--activity-colour); border-radius:.6rem; background:var(--ui-surface); color:var(--ui-text); cursor:pointer; }
.ui-activity-palette__item span { font-size:.8rem; overflow-wrap:anywhere; }
.ui-activity-palette__item[aria-pressed="true"] { outline:2px solid var(--activity-colour); outline-offset:1px; background:color-mix(in srgb,var(--activity-colour) 15%,var(--ui-surface)); }

[data-planner-board].is-rows-collapsed [data-planner-row] { display:none; }

.ui-revision-filters .ui-select { width:auto; min-width:10rem; max-width:16rem; }

.ui-app-icon--cao { background:#0f766e; color:#fff; }
.ui-cao-category { border:1px solid var(--ui-border); border-radius:var(--ui-radius-sm); padding:1rem; margin:0 0 1rem; }
.ui-cao-category legend { font-weight:600; padding-inline:.4rem; }

/* Shared initials colors and the account profile layout. */
.ui-profile-page { width: 100%; display: grid; gap: 1.5rem; }
.ui-profile-form.ui-card { display: grid; gap: 1.5rem; padding: 2rem; margin: 0; border-radius: 1.5rem; }
.ui-profile-avatar { justify-self: center; width: 6rem; height: 6rem; border-radius: 1.5rem; font-size: 1.5rem; font-weight: 600; }
.ui-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.ui-profile-grid > * { min-width: 0; }
.ui-profile-panel { margin: 0; padding: 1rem; border-radius: 1rem; background: var(--ui-surface-subtle); }
.ui-profile-facts dt, .ui-profile-identifiers label { display: block; margin: 0 0 .25rem; color: var(--ui-muted); font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.ui-profile-facts dd { margin: 0; overflow-wrap: anywhere; font-size: .875rem; font-weight: 500; }
.ui-profile-identifiers input { width: 100%; min-height: 2rem; padding: .25rem 0; border: 0; border-radius: .25rem; background: transparent; color: var(--ui-text); font-family: monospace; font-size: .8rem; }
.ui-profile-panel .ui-field__help { margin-bottom: 0; font-size: .75rem; }
.ui-profile-fields .ui-field { margin: 0; }
.ui-profile-actions { display: flex; justify-content: flex-end; }
.ui-profile-actions .ui-button { padding: .75rem 1.5rem; border-radius: 1rem; font-weight: 600; }
@media (max-width: 640px) {
    .ui-profile-form.ui-card { padding: 1.5rem; }
    .ui-profile-grid { grid-template-columns: minmax(0, 1fr); }
}

.ui-topbar-icon > .ui-app-icon { width: 2.25rem; height: 2.25rem; border-radius: .75rem; margin: 0; box-shadow: none; }
.ui-topbar-icon > .ui-app-icon svg { width: 1.25rem; height: 1.25rem; }
.ui-profile-menu__toggle::after { content: none; }
.ui-applications-menu__panel { width: min(21rem, calc(100vw - 2rem)); max-height: min(36rem, calc(100dvh - 6rem)); overflow-y: auto; }
.ui-applications-menu__heading { margin: 0; padding: .75rem .8rem .35rem; color: var(--ui-muted); font-size: .75rem; font-weight: 600; }
.ui-applications-menu__panel [role="group"] + [role="group"] { margin-top: .5rem; border-top: 1px solid var(--ui-border); }
.ui-applications-menu__panel a > span:last-child { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 640px) {
    .ui-applications-menu__panel { position: fixed; top: calc(var(--ui-topbar) + .25rem); right: 1rem; }
}

.ui-profile-custom-color { display: grid; grid-template-columns: minmax(0, 1fr) 3rem; align-items: start; gap: .75rem; }
.ui-profile-custom-color input[type="color"] { width: 3rem; height: var(--ui-control); padding: .2rem; margin-top: 1.75rem; cursor: pointer; }
.ui-profile-emails { margin-top: 2rem; }
.ui-profile-emails > p { color: var(--ui-muted); }
.ui-profile-emails .ui-list-header { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.ui-profile-emails .ui-table th[scope="row"] { overflow-wrap: anywhere; }

.ui-security-page { max-width: 52rem; margin: 0 auto; }
.ui-security-flow form p { display: grid; gap: .4rem; margin: 1rem 0; }
.ui-security-flow input:not([type=checkbox]):not([type=hidden]) { width: 100%; padding: .7rem; border: 1px solid var(--ui-border, #cbd5e1); border-radius: .5rem; }
.ui-security-flow button, .ui-security-flow a[role=button] { display: inline-flex; padding: .65rem 1rem; border: 1px solid var(--ui-border, #cbd5e1); border-radius: .5rem; margin: .25rem; cursor: pointer; }
.ui-security-flow table { width: 100%; }
.ui-security-flow svg { max-width: 100%; }
.ui-security-flow pre { white-space: pre-wrap; }
.ui-profile-security { margin-top: 1.5rem; }
.ui-profile-security-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap: 1rem; }

[data-passkey-error][hidden] { display: none; }
.ui-security-flow th, .ui-security-flow td { text-align: left; padding: .75rem .5rem; border-bottom: 1px solid var(--ui-border, #e2e8f0); vertical-align: top; }
.ui-security-flow td a { display: inline-block; margin: .2rem; }
.ui-security-flow h1 { font-size: 1.6rem; }

.ui-profile-form { display: grid; gap: 1.5rem; }
.ui-profile-section.ui-card { display: grid; gap: 1.5rem; padding: 2rem; margin: 0; border-radius: 1.5rem; }
.ui-profile-section > header h2 { margin: 0; }
.ui-profile-section > header p { color: var(--ui-muted); margin-bottom: 0; }
.ui-profile-section .ui-profile-emails, .ui-profile-section .ui-profile-security { margin-top: 0; }
@media (max-width: 640px) { .ui-profile-section.ui-card { padding: 1.5rem; } }

.ui-list--filters .ui-list-search, [data-list-filter-next-to-search] .ui-list-search { margin-right: 0; }
[data-list-search-filter] { margin-right: auto; }
.ui-list-filter--adjacent { margin-right: auto; }
.ui-list-filter__fields { display: grid; gap: 1rem; min-width: 15rem; }
.ui-list-filter__fields label { display: grid; gap: .4rem; }
.ui-list-filter__fields select { width: 100%; }
.ui-person-name { display: inline-flex; align-items: center; gap: .75rem; }
.ui-person-name__avatar { width: 2rem; height: 2rem; flex: 0 0 2rem; font-size: .75rem; }

.ui-audit-time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ui-audit-filter-panel { max-height: min(70vh, 38rem); max-width: calc(100vw - 2rem); overflow-y: auto; box-sizing: border-box; }

.ui-audit-filter-panel { width: 32rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.ui-audit-filter-panel .ui-field { margin: 0; min-width: 0; }
.ui-audit-filter-panel .ui-field label { padding: 0; }
.ui-audit-filter-panel .ui-field input { width: 100%; min-width: 0; box-sizing: border-box; }
.ui-audit-filter-panel > .ui-actions { grid-column: 1 / -1; position: sticky; bottom: -.75rem; background: var(--ui-surface); padding-block: .5rem; }
@media (max-width: 540px) { .ui-audit-filter-panel { grid-template-columns: minmax(0, 1fr); } }

.ui-list-header:has(> .ui-list-filter) .ui-list-search { margin-right: 0; }
.ui-list-header > .ui-list-filter:last-of-type { margin-right: auto; }

.ui-about-software { margin-top: 2rem; }
.ui-about-acknowledgement { max-width: 52rem; font-weight: normal; }
.ui-about-acknowledgement summary { cursor: pointer; font-weight: 600; }
.ui-about-license { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.ui-about-metadata { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin-top: .5rem; font-weight: normal; font-size: .875rem; overflow-wrap: anywhere; }
.ui-about-metadata > span { min-width: 0; }

.ui-profile-menu__label { display: grid; min-width: 0; gap: .15rem; text-align: left; line-height: 1.25; }
.ui-profile-menu__label strong { font-size: .875rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-profile-menu__role { color: var(--ui-muted); font-size: .75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 48rem) { .ui-profile-menu__toggle { max-width: 13rem; } }
@media (max-width: 30rem) { .ui-profile-menu__toggle { max-width: min(14rem, calc(100vw - 8.5rem)); } }

.ui-profile-menu__toggle.ui-topbar-icon { width: var(--ui-control); height: var(--ui-control); display: grid; place-items: center; padding: 0; }

.ui-profile-menu__toggle:not(.ui-topbar-icon) { border: 1px solid var(--ui-border-strong); background: var(--ui-surface); }
.ui-profile-menu__toggle:not(.ui-topbar-icon):hover { background: var(--ui-surface-subtle); }

.ui-profile-menu__chevron { flex: 0 0 auto; color: var(--ui-muted); }
.ui-profile-menu[open] > .ui-profile-menu__toggle .ui-profile-menu__chevron { transform: rotate(180deg); }
