:root {
    color-scheme: light;
    --app-page: #f3f1ea;
    --app-surface: #fffdf8;
    --app-surface-muted: #f7f4ec;
    --app-text: #263027;
    --app-heading: #172019;
    --app-muted: #687269;
    --app-border: #d5d1c5;
    --app-accent: #d9a441;
    --app-accent-strong: #765008;
    --app-accent-text: #172019;
    --app-focus: #9b680b;
    --app-sidebar: #172019;
    --app-sidebar-panel: #202b22;
    --app-sidebar-hover: #253128;
    --app-sidebar-active: #2a382d;
    --app-sidebar-border: #3c493e;
    --app-sidebar-text: #f4f1e7;
    --app-sidebar-muted: #aab6aa;
    --app-success: #245f3b;
    --app-success-bg: #eef8f1;
    --app-success-border: #94c4a4;
    --app-warning: #71500e;
    --app-warning-bg: #fff8e7;
    --app-warning-border: #d8bc73;
    --app-danger: #8c2f2a;
    --app-danger-bg: #fff1f0;
    --app-danger-border: #dba6a2;
    --app-radius-sm: 8px;
    --app-radius: 14px;
    --app-radius-lg: 20px;
    --app-shadow: 0 12px 34px rgb(31 39 32 / 5%);
    --app-sidebar-width: 278px;
    --app-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --app-display: Georgia, "Times New Roman", serif;
}

.identity-heading { padding: 30px; background: linear-gradient(135deg, #fffdf8 0%, #f6edda 100%); border: 1px solid var(--app-border); border-radius: var(--app-radius-lg); box-shadow: var(--app-shadow); }
.identity-heading > div { max-width: 720px; }
.identity-heading h1 { max-width: none; }
.identity-heading .identity-back { flex: 0 0 auto; gap: 8px; }
.identity-status { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; padding: 6px 11px; color: var(--app-warning); background: var(--app-warning-bg); border: 1px solid var(--app-warning-border); border-radius: 999px; font-size: 12px; font-weight: 750; }
.identity-status > span { width: 7px; height: 7px; background: currentColor; border-radius: 50%; }
.identity-form { padding: 30px; background: var(--app-surface); border: 1px solid var(--app-border); border-radius: var(--app-radius-lg); box-shadow: var(--app-shadow); }
.identity-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.identity-section-heading h2 { display: flex; align-items: center; gap: 10px; margin: 2px 0 6px; color: var(--app-heading); font-family: var(--app-display); font-size: 28px; }
.identity-section-heading p { margin: 0; color: var(--app-muted); }
.identity-revision, .identity-history-count { flex: 0 0 auto; padding: 6px 10px; color: var(--app-muted); background: var(--app-surface-muted); border: 1px solid var(--app-border); border-radius: 999px; font-size: 12px; font-weight: 700; }
.identity-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 26px 0; }
.identity-field { min-width: 0; padding: 20px; background: var(--app-surface-muted); border: 1px solid var(--app-border); border-radius: var(--app-radius); transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.identity-field:focus-within { border-color: var(--app-accent); box-shadow: 0 0 0 3px rgb(217 164 65 / 18%); transform: translateY(-1px); }
.identity-field label { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; color: var(--app-heading); }
.identity-field label > span:last-child { display: grid; gap: 2px; }
.identity-field label small { color: var(--app-muted); font-size: 12px; font-weight: 450; line-height: 1.35; }
.identity-field-mark { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; color: var(--app-accent-strong); background: #f6e5bd; border-radius: 10px; font-family: dashicons; font-size: 17px; font-weight: 400; }
.identity-field textarea { display: block; width: 100%; min-height: 132px; padding: 13px 14px; color: var(--app-text); background: var(--app-surface); border: 1px solid #c9c4b7; border-radius: 11px; font: inherit; line-height: 1.55; resize: vertical; }
.identity-field textarea::placeholder { color: #92998f; }
.identity-field textarea:focus { border-color: var(--app-accent-strong); outline: 3px solid rgb(217 164 65 / 20%); }
.identity-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid var(--app-border); }
.identity-form-actions p { display: grid; gap: 2px; margin: 0; color: var(--app-heading); }
.identity-form-actions p span { color: var(--app-muted); font-size: 13px; }
.identity-approve { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; border-left: 5px solid var(--app-accent); }
.identity-approve h2 { margin-bottom: 5px; }
.identity-approve p { margin-bottom: 0; }
.identity-error { margin-bottom: 20px; border-left-color: var(--app-danger); }
.identity-error p { margin: 4px 0 0; color: var(--app-danger); }
.identity-read-card { display: flex; gap: 14px; min-width: 0; padding: 22px; background: var(--app-surface); border: 1px solid var(--app-border); border-radius: var(--app-radius-lg); box-shadow: var(--app-shadow); }
.identity-read-card h2 { margin: 2px 0 8px; color: var(--app-heading); font-family: var(--app-display); }
.identity-copy { margin: 0; color: var(--app-text); line-height: 1.65; white-space: normal; }
.identity-history { margin-top: 20px; }
.identity-history ol { margin: 22px 0 0; padding: 0; list-style: none; }
.identity-history li { position: relative; display: flex; align-items: center; gap: 13px; padding: 13px 0 13px 24px; border-top: 1px solid var(--app-border); }
.identity-history li > div { display: grid; flex: 1; gap: 2px; }
.identity-history li > div span { color: var(--app-muted); font-size: 13px; }
.identity-timeline-dot { position: absolute; left: 2px; width: 9px; height: 9px; background: var(--app-accent); border: 2px solid var(--app-surface); border-radius: 50%; box-shadow: 0 0 0 1px var(--app-accent-strong); }
.identity-history-status { padding: 5px 9px; color: var(--app-success); background: var(--app-success-bg); border: 1px solid var(--app-success-border); border-radius: 999px; font-size: 11px; font-weight: 750; }
.identity-history-empty { display: flex; align-items: center; gap: 14px; margin-top: 20px; padding: 20px; color: var(--app-muted); background: var(--app-surface-muted); border: 1px dashed var(--app-border); border-radius: var(--app-radius); }
.identity-history-empty > span { font-size: 30px; }
.identity-history-empty p { margin: 0; }
.identity-revision-note { margin-top: 1rem; }
@media (max-width: 720px) { .identity-heading, .identity-approve, .identity-form-actions, .identity-section-heading { display: grid; } .identity-heading { padding: 24px; } .identity-heading .identity-back { justify-self: start; } .identity-form { padding: 20px; } .identity-grid { grid-template-columns: 1fr; } .identity-form-actions .app-button, .identity-approve .app-button { width: 100%; } }

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    max-width: 100%;
    background: var(--app-page);
}

body {
    max-width: 100%;
    margin: 0;
    color: var(--app-text);
    background: var(--app-page);
    font: 16px/1.55 var(--app-sans);
}

#logotext {
    font: 22px/1.45 var(--app-sans);
    font-weight: 700;
}

#logosubtext {
    text-transform: unset;
    font: 10px/1 var(--app-sans);
    padding-bottom: 5px;

}

#logotext_mobile {
    font: 20px/1.45 var(--app-sans);
    font-weight: 700;
}

#logosubtext_mobile {
    text-transform: unset;
    font: 10px/1 var(--app-sans);
    padding-bottom: 5px;
    color: var(--app-sidebar-muted);

}

button,
input,
select,
textarea {
    max-width: 100%;
    font: inherit;
}

img,
picture,
video,
canvas,
svg {
    max-width: 100%;
    height: auto;
}

.app-workspace,
.app-topbar,
.app-section-navigation,
.app-section-navigation-layout,
.app-section-controls,
.app-main,
.app-page-heading,
.app-card-grid,
.app-grid,
.app-card,
.app-notice,
.app-dialog,
.app-field,
.app-global-search,
.app-band-switcher {
    min-width: 0;
}

.app-main,
.app-page-heading,
.app-card,
.app-notice,
.app-dialog,
.app-field-error {
    overflow-wrap: anywhere;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

a {
    color: var(--app-accent-strong);
}

:focus-visible {
    outline: 1px solid var(--app-focus);
    outline-offset: 0;
}

.app-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

.app-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 100;
    padding: 10px 14px;
    color: var(--app-heading);
    background: var(--app-surface);
    border-radius: var(--app-radius-sm);
    box-shadow: var(--app-shadow);
    transform: translateY(-160%);
}

.app-skip-link:focus {
    transform: translateY(0);
}

.app-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 30;
    display: flex;
    width: var(--app-sidebar-width);
    flex-direction: column;
    padding: 24px 18px;
    overflow-y: auto;
    color: var(--app-sidebar-text);
    background: var(--app-sidebar);
    border-right: 1px solid var(--app-sidebar-border);
}

.app-brand {
    display: flex;
    min-height: 56px;
    align-items: center;
    gap: 12px;
    padding: 4px 8px;
    color: var(--app-sidebar-text);
    text-decoration: none;
    border-radius: var(--app-radius);
}

.app-brand:hover {
    background: var(--app-sidebar-hover);
}

.app-brand-mark,
.app-avatar {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: var(--app-accent-text);
    background: var(--app-accent);
    font-family: var(--app-display);
    font-weight: 700;
    border-radius: 50%;
}

.app-brand-mark {
    width: 42px;
    height: 42px;
    object-fit: contain;
    border-radius: 12px;
    filter: drop-shadow(0 5px 12px rgb(0 0 0 / 20%));
}

.app-brand strong,
.app-brand small {
    display: block;
}

.app-brand strong {
    font-family: var(--app-display);
    font-size: 20px;
    letter-spacing: .02em;
}

.app-brand small {
    color: var(--app-sidebar-muted);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.app-navigation {
    display: grid;
    gap: 5px;
    margin-top: 28px;
}

.app-global-search { display: flex; align-items: center; gap: .5rem; }
.app-global-search input { min-height: 2rem; max-width: 15rem; }
.app-global-search input:disabled { cursor: not-allowed; opacity: .72; }

.app-nav-item {
    display: flex;
    min-height: 46px;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    color: var(--app-sidebar-muted);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 11px;
}

a.app-nav-item:hover,
a.app-nav-item:focus-visible {
    color: var(--app-sidebar-text);
    background: var(--app-sidebar-hover);
}

.app-nav-item.is-active {
    color: var(--app-sidebar-text);
    background: var(--app-sidebar-active);
    border-color: var(--app-sidebar-border);
    box-shadow: inset 3px 0 0 var(--app-accent);
}

.app-nav-item.is-coming {
    color: var(--app-sidebar-muted);
    cursor: not-allowed;
    opacity: .72;
}

.app-nav-mark {
    display: inline-flex;
    width: 25px;
    height: 25px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    color: currentColor;
    font-size: 20px;
    font-weight: 400;
}

.app-nav-badge {
    margin-left: auto;
    padding: 3px 6px;
    color: var(--app-sidebar-text);
    background: var(--app-sidebar-panel);
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-radius: 999px;
}

.app-sidebar-footer {
    display: grid;
    gap: 12px;
    margin-top: auto;
    padding-top: 28px;
}

.app-user {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px;
    background: var(--app-sidebar-panel);
    border: 1px solid var(--app-sidebar-border);
    border-radius: var(--app-radius);
}

.app-avatar {
    width: 40px;
    height: 40px;
}

.app-user-copy {
    min-width: 0;
}

.app-user-copy strong,
.app-user-copy span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.app-user-copy strong {
    color: var(--app-sidebar-text);
    font-size: 14px;
}

.app-user-copy span {
    color: var(--app-sidebar-muted);
    font-size: 11px;
}

.app-sidebar-footer form {
    margin: 0;
}

.app-logout {
    display: flex;
    width: 100%;
    min-height: 44px;
    padding: 8px 12px;
    align-items: center;
    gap: 9px;
    color: var(--app-sidebar-text);
    background: transparent;
    border: 1px solid var(--app-sidebar-border);
    border-radius: 11px;
    cursor: pointer;
}

.app-logout:hover,
.app-logout:focus-visible {
    background: var(--app-sidebar-hover);
}

.app-workspace {
    min-height: 100vh;
    margin-left: var(--app-sidebar-width);
}

.app-topbar {
    position: relative;
    z-index: 20;
    display: none;
    min-height: 72px;
    align-items: center;
    gap: 18px;
    padding: 0 34px;
    background: rgb(243 241 234 / 92%);
    border-bottom: 1px solid var(--app-border);
    backdrop-filter: blur(18px);
}

.app-topbar-context {
    display: grid;
    gap: 1px;
}

.app-topbar-context span {
    color: var(--app-muted);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.app-topbar-context strong {
    color: var(--app-heading);
    font-family: var(--app-display);
    font-size: 18px;
}

.app-stage-badge {
    margin-left: auto;
    padding: 5px 9px;
    color: var(--app-warning);
    background: var(--app-warning-bg);
    border: 1px solid var(--app-warning-border);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.app-mobile-navigation {
    display: none;
}

.app-mobile-brand,
.app-search-toggle {
    display: none;
}

.app-section-navigation {
    position: relative;
    z-index: 15;
    padding: 10px 34px;
    overflow: hidden;
    background: rgb(243 241 234 / 94%);
    border-bottom: 1px solid var(--app-border);
    backdrop-filter: blur(18px);
}

.app-section-navigation-layout {
    display: flex;
    width: min(1180px, 100%);
    min-width: 0;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
}

.app-section-navigation-track {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    gap: 6px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: inline proximity;
}

.app-section-navigation-track::-webkit-scrollbar {
    display: none;
}

.app-section-navigation-arrows {
    display: flex;
    flex: 0 0 auto;
    gap: 4px;
}

.app-section-navigation-arrows[hidden] {
    display: none;
}

.app-section-navigation-arrow {
    display: inline-grid;
    width: 34px;
    height: 38px;
    padding: 0;
    place-items: center;
    color: var(--app-heading);
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 9px;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}

.app-section-navigation-arrow:disabled {
    cursor: default;
    opacity: .4;
}

@media (pointer: coarse) {
    .app-section-navigation-arrows {
        display: none;
    }
}

.app-section-controls {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 9px;
    margin-left: auto;
    margin-right: -10px;
}

.app-section-controls .app-global-search input {
    width: clamp(5rem, 10.8vw, 9rem);
    min-height: 38px;
    padding: 6px 10px;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-sm);
}

.app-section-controls .app-band-switcher select {
    width: clamp(7.25rem, calc(12.6vw + 15px), 169px);
}

.app-section-navigation-item {
    display: inline-flex;
    min-height: 44px;
    flex: 0 0 auto;
    align-items: center;
    gap: 4px;
    padding: 8px 13px;
    color: var(--app-heading);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 12px;
    scroll-snap-align: start;
}

.app-section-navigation-item:hover,
.app-section-navigation-item:focus-visible {
    background: var(--app-surface);
    border-color: var(--app-border);
}

.app-section-navigation-item.is-active {
    color: var(--app-accent-strong);
    background: #f2e5c7;
    border-color: #ead9b3;
}

.app-section-navigation-mark {
    width: 20px;
    height: 20px;
    font-size: 18px;
}

.app-main {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 42px 34px 64px;
}

.app-page-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.app-page-heading h1,
.app-card h2,
.app-dialog h2 {
    color: var(--app-heading);
    font-family: var(--app-display);
}

.app-page-heading h1 {
    max-width: 20ch;
    margin: 3px 0 8px;
    font-size: clamp(30px, 5vw, 48px);
    line-height: 1.1;
}

.app-page-heading p,
.app-card p {
    max-width: 64ch;
    margin-top: 0;
    color: var(--app-muted);
}

.app-eyebrow {
    margin-bottom: 4px;
    color: var(--app-accent-strong) !important;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.app-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.app-grid {
    display: grid;
    gap: 20px;
}

.app-main > .app-card + .app-card,
.app-main > .app-card + .app-grid,
.app-main > .app-grid + .app-card,
.app-main > .app-grid + .app-grid {
    margin-top: 20px;
}

.app-card,
.app-notice,
.app-dialog {
    padding: 24px;
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-lg);
    box-shadow: var(--app-shadow);
}

.app-card {
    position: relative;
    overflow: hidden;
    border-color: #ddd9cd;
    border-radius: 21px;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.app-card::after {
    position: absolute;
    right: -34px;
    bottom: -42px;
    width: 120px;
    height: 120px;
    background: rgb(217 164 65 / 16%);
    border-radius: 50%;
    content: "";
    opacity: .72;
    pointer-events: none;
}

.app-card:hover,
.app-card:focus-within {
    border-color: var(--app-accent);
    box-shadow: 0 18px 42px rgb(24 25 35 / 12%);
    transform: translateY(-2px);
}

.app-card > * {
    position: relative;
    z-index: 1;
}

.app-card h2 {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 2px 0 8px;
    font-family: var(--app-sans);
    font-size: 19px;
    font-weight: 500;
}

.app-card-heading-icon {
    display: inline-flex;
    width: 1.15em;
    height: 1.15em;
    flex: 0 0 1.15em;
    align-items: center;
    justify-content: center;
    color: var(--app-accent-strong);
    font-size: .9em;
    line-height: 1;
}

.app-nav-mark.dashicons:not([class*="dashicons-"]),
.app-section-navigation-mark.dashicons:not([class*="dashicons-"]) {
    display: none;
}

.app-empty-state {
    display: flex;
    align-items: center;
    gap: 18px;
}

.app-empty-mark {
    display: grid;
    width: 58px;
    height: 58px;
    flex: 0 0 auto;
    place-items: center;
    color: var(--app-accent-text);
    background: var(--app-accent);
    font-family: var(--app-display);
    font-size: 28px;
    border-radius: 50%;
}

.app-status {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 750;
    border: 1px solid;
    border-radius: 999px;
}

.app-status-ready {
    color: var(--app-success);
    background: var(--app-success-bg);
    border-color: var(--app-success-border);
}

.app-status-warning {
    color: var(--app-warning);
    background: var(--app-warning-bg);
    border-color: var(--app-warning-border);
}

.app-status-danger {
    color: var(--app-danger);
    background: var(--app-danger-bg);
    border-color: var(--app-danger-border);
}

.app-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    color: var(--app-accent-text);
    background: var(--app-accent);
    border: 1px solid var(--app-accent);
    border-radius: 10px;
    text-decoration: none;
    cursor: pointer;
}

.app-button-secondary {
    color: var(--app-heading);
    background: var(--app-surface);
    border-color: var(--app-border);
}

.app-field {
    display: grid;
    gap: 6px;
}

.app-field label {
    color: var(--app-heading);
    font-weight: 700;
}

.app-field input,
.app-field select,
.app-field textarea {
    width: 100%;
    min-height: 44px;
    padding: 9px 11px;
    color: var(--app-text);
    background: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: 10px;
}

.app-field-error {
    color: var(--app-danger);
    font-size: 14px;
}

.app-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-color: var(--app-accent-strong) var(--app-surface-muted);
    scrollbar-width: thin;
}

.app-table-wrap:focus-visible {
    outline: 2px solid var(--app-focus);
    outline-offset: 2px;
}

.app-table {
    width: 100%;
    border-collapse: collapse;
}

.app-table th,
.app-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--app-border);
}

.app-table th {
    color: var(--app-heading);
    font-size: 11px;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.app-notice {
    border-left: 5px solid var(--app-accent);
}

.app-dialog {
    max-width: 640px;
}

.app-icon-button {
    display: inline-grid;
    width: 44px;
    height: 44px;
    padding: 0;
    place-items: center;
    color: var(--app-sidebar-text);
    background: transparent;
    border: 1px solid var(--app-sidebar-border);
    border-radius: 10px;
    cursor: pointer;
}

@media (max-width: 1040px) {
    .app-card-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px),
       (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
    body.has-open-navigation {
        overflow: hidden;
    }

    .app-sidebar {
        display: none;
    }

    .app-workspace {
        margin-left: 0;
    }

    .app-topbar {
        display: flex;
        flex-wrap: wrap;
        min-height: 60px;
        gap: 0 8px;
        padding: 6px 5px 6px 18px;
        color: var(--app-sidebar-text);
        background: var(--app-sidebar);
        border-bottom-color: var(--app-sidebar-border);
        backdrop-filter: none;
    }

    .app-section-navigation {
        padding: 8px 0;
    }

    .app-section-navigation.has-no-links {
        display: none;
    }

    .app-section-navigation-layout {
        display: block;
    }

    .app-section-navigation-track {
        margin-inline: 10px;
        padding: 0;
    }

    .app-section-navigation-arrows,
    .app-section-controls {
        display: none;
    }

    .app-mobile-navigation {
        display: block;
        order: 3;
    }

    .app-mobile-navigation > summary {
        display: inline-grid;
        width: 48px;
        height: 48px;
        min-height: 48px;
        padding: 0;
        place-items: center;
        color: var(--app-sidebar-text);
        background: transparent;
        border: 0;
        border-radius: 10px;
        cursor: pointer;
        list-style: none;
    }

    .app-mobile-navigation > summary::-webkit-details-marker {
        display: none;
    }

    .app-menu-icon,
    .app-menu-icon::before,
    .app-menu-icon::after {
        display: block;
        width: 24px;
        height: 3px;
        background: currentColor;
        border-radius: 2px;
    }

    .app-menu-icon {
        position: relative;
    }

    .app-menu-icon::before,
    .app-menu-icon::after {
        position: absolute;
        left: 0;
        content: "";
    }

    .app-menu-icon::before {
        top: -7px;
    }

    .app-menu-icon::after {
        top: 7px;
    }

    .app-navigation-backdrop {
        position: fixed;
        inset: 0;
        z-index: 38;
        padding: 0;
        background: rgb(10 16 11 / 58%);
        border: 0;
        cursor: default;
        opacity: 0;
        transition: opacity .2s ease;
    }

    .app-mobile-panel {
        position: fixed;
        inset: 0 0 0 auto;
        z-index: 40;
        display: flex;
        width: clamp(256px, 80vw, 440px);
        height: 100vh;
        height: 100dvh;
        flex-direction: column;
        padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) 18px;
        overflow-y: auto;
        overscroll-behavior: contain;
        color: var(--app-sidebar-text);
        background: var(--app-sidebar);
        box-shadow: -14px 0 40px rgb(0 0 0 / 22%);
        transform: translateX(100%);
        transition: transform .2s ease;
    }

    .app-mobile-navigation.is-visible .app-navigation-backdrop {
        opacity: 1;
    }

    .app-mobile-navigation.is-visible .app-mobile-panel {
        transform: translateX(0);
    }

    .app-mobile-navigation.is-closing .app-navigation-backdrop {
        opacity: 0;
    }

    .app-mobile-navigation.is-closing .app-mobile-panel {
        transform: translateX(100%);
    }

    .app-mobile-panel-heading {
        display: flex;
        min-height: 48px;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        font-family: var(--app-display);
        font-size: 21px;
    }

    .app-mobile-panel .app-navigation {
        gap: 9px;
        margin-top: 18px;
    }

    .app-mobile-panel .app-nav-item {
        min-height: 54px;
        padding-block: 11px;
    }

    .app-mobile-band {
        display: grid;
        gap: 2px;
        margin-top: 14px;
        padding: 12px;
        color: var(--app-sidebar-text);
        text-decoration: none;
        background: var(--app-sidebar-panel);
        border: 1px solid var(--app-sidebar-border);
        border-radius: 11px;
    }

    .app-mobile-band span {
        color: var(--app-sidebar-muted);
        font-size: 11px;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    a.app-mobile-band:hover,
    a.app-mobile-band:focus-visible {
        background: var(--app-sidebar-hover);
    }

    .app-mobile-brand {
        display: inline-flex;
        min-width: 0;
        min-height: 44px;
        align-items: center;
        gap: 8px;
        margin-right: auto;
        color: var(--app-sidebar-text);
        text-decoration: none;
    }

    .app-mobile-brand img {
        width: 40px;
        height: 40px;
        object-fit: contain;
        border-radius: 9px;
    }

    .app-search-toggle {
        display: inline-grid;
        width: 48px;
        height: 48px;
        order: 2;
        color: var(--app-sidebar-text);
        background: transparent;
        border: 0;
    }

    .app-search-toggle .dashicons {
        width: 28px;
        height: 28px;
        font-size: 28px;
    }

    .app-global-search {
        order: 4;
        width: 100%;
        max-height: 0;
        padding-top: 0;
        overflow: hidden;
        visibility: hidden;
        opacity: 0;
        transform: translateY(-8px);
    }

    .app-global-search.is-ready {
        transition: max-height .2s ease, margin .2s ease, padding .2s ease, opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
    }

    .app-global-search.is-open {
        max-height: 54px;
        margin-top: 8px;
        padding-top: 2px;
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        transition-delay: 0s;
    }

    .app-global-search input {
        width: 100%;
        max-width: none;
        min-height: 44px;
        padding: 9px 11px;
        background: var(--app-surface);
        border: 1px solid var(--app-border);
        border-radius: 10px;
    }

    .app-global-search input:focus-visible {
        border-color: var(--app-sidebar-muted);
        outline: 0;
        box-shadow: inset 0 0 0 2px var(--app-sidebar-text);
    }

    .app-topbar-context {
        display: none;
    }

    .app-main {
        padding: 32px 18px 48px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
    .app-topbar {
        padding-inline: 28px 15px;
    }

    .app-mobile-panel {
        width: min(420px, 80vw);
        padding-left: 24px;
    }

    .app-section-navigation-track {
        margin-inline: 20px;
    }

    .app-main {
        padding: 38px 28px 56px;
    }
}

@media (max-width: 560px) {
    .app-section-navigation-item {
        min-height: 40px;
        padding: 7px 11px;
        font-size: 13px;
    }

    .app-stage-badge {
        display: none;
    }

    .app-topbar-context span {
        display: none;
    }

    .app-page-heading {
        display: grid;
        gap: 12px;
    }

    .app-page-heading h1 {
        font-size: 34px;
    }

    .app-empty-state {
        align-items: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Centered authentication page */

.auth-page {
    min-height: 100vh;
    min-height: 100svh;
    color: var(--app-text);
    background:
        radial-gradient(circle at 15% 12%, rgb(217 164 65 / 16%), transparent 30rem),
        radial-gradient(circle at 88% 88%, rgb(255 253 248 / 8%), transparent 26rem),
        var(--app-sidebar);
}

.auth-main {
    display: grid;
    width: min(100%, 470px);
    min-height: 100vh;
    min-height: 100svh;
    align-content: center;
    gap: 22px;
    margin: 0 auto;
    padding: 40px 24px;
}

.auth-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--app-sidebar-text);
    font-family: var(--app-display);
    font-size: clamp(28px, 6vw, 38px);
    font-weight: 700;
    letter-spacing: .02em;
}

.auth-brand-mark {
    display: inline-grid;
    width: 50px;
    height: 50px;
    place-items: center;
    color: var(--app-accent-text);
    background: var(--app-accent);
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: 50%;
    box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
}

.auth-card {
    padding: clamp(26px, 6vw, 38px);
    background: var(--app-surface);
    border: 1px solid rgb(255 255 255 / 48%);
    border-radius: var(--app-radius-lg);
    box-shadow: 0 24px 70px rgb(0 0 0 / 24%);
}

.auth-card-heading {
    margin-bottom: 26px;
    text-align: center;
}

.auth-card-heading h1 {
    margin: 2px 0 8px;
    color: var(--app-heading);
    font-family: var(--app-display);
    font-size: clamp(30px, 7vw, 40px);
    line-height: 1.15;
}

.auth-card-heading p:last-child {
    margin: 0;
    color: var(--app-muted);
}

.auth-form {
    display: grid;
    gap: 19px;
}

.auth-form .app-field input {
    min-height: 50px;
    background: #fff;
}

.auth-form .app-field input:hover {
    border-color: #aaa698;
}

.auth-form .app-field input:focus-visible {
    border-color: var(--app-focus);
    outline-offset: 1px;
}

.auth-submit {
    width: 100%;
    min-height: 50px;
    margin-top: 3px;
    box-shadow: 0 8px 18px rgb(138 94 10 / 18%);
}

.auth-submit:hover {
    background: #e3ae48;
}

.auth-error {
    margin: 0 0 22px;
    padding: 12px 14px;
    color: var(--app-danger);
    background: var(--app-danger-bg);
    border: 1px solid var(--app-danger-border);
    border-left-width: 4px;
    border-radius: var(--app-radius-sm);
}

.auth-footer {
    margin: 0;
    color: var(--app-sidebar-muted);
    font-size: 13px;
    text-align: center;
}

.app-band-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.app-band-switcher select {
    max-width: 220px;
    min-height: 38px;
    padding: 6px 30px 6px 10px;
    border: 1px solid var(--app-border);
    border-radius: var(--app-radius-sm);
    background: var(--app-surface);
}

@media (max-width: 629.98px) {
    .app-band-switcher {
        display: none;
    }
}

.app-table-wrap {
    overflow-x: auto;
}

.app-table {
    width: 100%;
    border-collapse: collapse;
}

.app-table th,
.app-table td {
    padding: 12px;
    border-bottom: 1px solid var(--app-border);
    text-align: left;
}

.app-help {
    color: var(--app-muted);
    font-size: 14px;
}

.app-form,
.app-definition-list {
    display: grid;
    gap: 18px;
}

.app-form-card {
    max-width: 760px;
}

.app-form-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.app-form-actions,
.app-section-heading {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Stage 10: Deals, Care and Resource Hub. */
.support-heading { align-items: center; }
.support-heading-mark { display: grid; width: 72px; height: 72px; flex: 0 0 auto; place-items: center; color: var(--app-accent-text); background: var(--app-accent); border-radius: 22px; font-family: var(--app-display); font-size: 44px; box-shadow: 0 16px 32px rgb(217 164 65 / 24%); transform: rotate(4deg); }
.support-jump { display: flex; gap: 8px; margin: -8px 0 34px; padding: 6px; background: var(--app-surface); border: 1px solid var(--app-border); border-radius: 14px; box-shadow: var(--app-shadow); }
.support-jump a { padding: 9px 14px; color: var(--app-muted); border-radius: 9px; font-size: 13px; font-weight: 750; text-decoration: none; }
.support-jump a:hover,.support-jump a:focus-visible { color: var(--app-heading); background: var(--app-surface-muted); }
.support-section { scroll-margin-top: 110px; }
.support-section + .support-section { margin-top: 42px; }
.support-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 16px; }
.support-section-heading h2 { margin: 0; color: var(--app-heading); font-family: var(--app-display); font-size: clamp(24px,3vw,32px); }
.support-section-heading > p { max-width: 48ch; margin: 0; color: var(--app-muted); text-align: right; }
.support-card { min-width: 0; }
.support-card-featured { background: linear-gradient(145deg,var(--app-surface),#fff9e9); }
.support-card-title { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 22px; }
.support-card-title h2,.support-card-title p { margin: 0; }
.support-card-title p { margin-top: 4px; font-size: 13px; }
.support-icon { display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; color: var(--app-accent-text); background: var(--app-accent); border-radius: 12px; font-family: var(--app-display); font-size: 20px; font-weight: 800; }
.support-form { padding-top: 20px; border-top: 1px solid var(--app-border); }
.support-form textarea { min-height: 104px; resize: vertical; }
.support-form .app-button { justify-self: start; }
.support-copy { padding: 16px; color: var(--app-text); background: var(--app-surface-muted); border-left: 3px solid var(--app-accent); border-radius: 0 10px 10px 0; line-height: 1.6; overflow-wrap: anywhere; }
.support-reports { margin-top: 20px; }
.support-record { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--app-border); }
.support-record-heading,.support-record-actions,.support-budget-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.support-record-heading h3 { margin: 0; color: var(--app-heading); }
.support-meta,.support-empty-line { color: var(--app-muted); font-size: 13px; }
.support-record-actions { margin-top: 16px; justify-content: flex-start; flex-wrap: wrap; }
.support-inline-form { grid-template-columns: minmax(160px,1fr) auto; }
.support-form-compact { margin-top: 16px; }
.support-credit-grid { display: grid; grid-template-columns: 1fr 1fr minmax(110px,.6fr); gap: 12px; }
.support-budget-grid { display: grid; grid-template-columns: 1fr .65fr 1fr; gap: 12px; }
.support-record-list { margin-top: 22px; border-top: 1px solid var(--app-border); }
.support-budget-row { padding: 14px 0; border-bottom: 1px solid var(--app-border); }
.support-budget-row div { display: grid; gap: 3px; }
.support-budget-row span,.support-optional { color: var(--app-muted); font-size: 12px; font-weight: 500; }
.support-experience { display: flex; gap: 12px; margin: 12px 0 0; padding: 14px; background: var(--app-surface-muted); border: 0; border-radius: 10px; }
.support-rating-form { display: grid; grid-template-columns: 90px 1fr auto; gap: 12px; align-items: end; margin-top: 16px; }

@media (max-width: 720px) {
    .support-heading-mark { width: 56px; height: 56px; font-size: 34px; }
    .support-jump { overflow-x: auto; }
    .support-jump a { white-space: nowrap; }
    .support-section-heading { display: grid; }
    .support-section-heading > p { text-align: left; }
    .support-credit-grid,.support-budget-grid,.support-rating-form { grid-template-columns: 1fr; }
    .support-record-actions { align-items: stretch; }
    .support-inline-form { width: 100%; grid-template-columns: 1fr; }
    .support-record-actions form > .app-button { width: 100%; }
}

.app-section-heading {
    justify-content: space-between;
}

.app-section-heading h2 {
    margin: 0;
}

.app-definition-list div {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 12px;
}

.app-definition-list dt {
    color: var(--app-muted);
    font-weight: 700;
}

.app-definition-list dd {
    margin: 0;
}

.app-preline {
    white-space: pre-line;
}

.app-link-list {
    padding-left: 20px;
}

.app-link-list li + li {
    margin-top: 8px;
}

@media (max-width: 520px) {
    .auth-main {
        align-content: start;
        padding: 30px 16px;
    }

    .auth-brand {
        margin-top: max(3vh, 12px);
    }

    .auth-card {
        padding: 25px 20px;
        border-radius: var(--app-radius);
    }

    .app-form-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-height: 640px) and (min-width: 521px) {
    .auth-main {
        align-content: start;
        padding-block: 24px;
    }
}
/* Private file previews are bounded so uploaded images cannot break the application shell. */
.app-file-thumbnail { display: block; max-width: 20rem; width: 100%; height: auto; margin-bottom: var(--space-5); border-radius: var(--radius-md); }
.identity-band-image { display: block; width: 100%; max-height: 32rem; object-fit: cover; border-radius: var(--radius-lg); margin-bottom: var(--space-6); }
.identity-band-image-home { max-height: 24rem; margin-bottom: 10px }
.identity-band-image-field { margin-bottom: var(--space-6); }
.identity-band-image-preview { display: block; width: min(100%, 20rem); height: auto; border-radius: var(--radius-md); margin: var(--space-4) 0; }
.app-timeline { padding-left: 1.25rem; }
.app-timeline li + li, .app-feedback-round + .app-feedback-round { margin-top: 1.5rem; }
.app-collaboration-rounds { margin-top: 1.25rem; }
.app-feedback-round { padding-top: 1rem; border-top: 1px solid var(--app-border); }
.app-feedback-actions { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }

.app-grid-two { grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.app-list { padding-left: 1.25rem; }
.app-list li + li { margin-top: .75rem; }
.creative-layout { align-items: start; }
.creative-list,.creative-cards { padding: 0; list-style: none; }
.creative-list>li,.creative-board { padding: 1rem 0; border-top: 1px solid var(--app-border); }
.creative-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; }
.creative-actions form { display: flex; gap: .5rem; align-items: end; }
.creative-boards { margin-top: 1.25rem; }
.creative-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)); gap: .75rem; }
.creative-cards li { min-height: 6rem; padding: 1rem; border: 1px solid var(--app-border); border-radius: var(--app-radius); overflow-wrap: anywhere; }
.creative-cards form { margin-top: .75rem; }
.creative-swatch { display: block; width: 100%; height: 4rem; border: 1px solid var(--app-border); border-radius: .5rem; }
.app-list form { display: inline-block; margin-left: .75rem; }
.app-readiness { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .75rem; padding: 0; list-style: none; }
.home-compass{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));margin-bottom:1rem}.home-compass-compact{gap:.5rem}.home-compass-compact .app-card{padding:.75rem}.home-critical{border-color:#b42318;border-width:2px}

/* Start keeps its current content but uses the approved launcher styling. */
.home-start-heading { align-items: flex-end; margin-bottom: 26px; }
.home-start-heading h1 {
    max-width: 860px;
    margin: 5px 0 9px;
    color: var(--app-heading);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.045em;
}
.home-start-heading p:not(.app-eyebrow) { max-width: 780px; margin: 0; color: var(--app-muted); font-size: 17px; }
.home-compass { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 34px; }
.home-compass .app-card,
.home-start-empty,
.home-start-panel {
    position: relative;
    min-height: 155px;
    padding: 22px;
    overflow: hidden;
    border-color: #ddd9cd;
    border-radius: 21px;
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.home-compass .app-card::after,
.home-start-empty::after,
.home-start-panel::after {
    position: absolute;
    right: -34px;
    bottom: -42px;
    width: 120px;
    height: 120px;
    background: rgb(217 164 65 / 16%);
    border-radius: 50%;
    content: "";
    opacity: .72;
}
.home-compass .app-card:hover,
.home-start-empty:hover,
.home-start-panel:hover {
    border-color: var(--app-accent);
    box-shadow: 0 18px 42px rgb(24 25 35 / 12%);
    transform: translateY(-2px);
}
.home-compass .app-card > *,
.home-start-empty > *,
.home-start-panel > * { position: relative; z-index: 1; }
.home-compass .app-card h2 { margin: 2px 0 8px; font-family: var(--app-sans); font-size: 19px; }
.home-compass .app-card p { font-size: 13px; line-height: 1.45; }
.home-start-empty { min-height: 155px; margin-bottom: 14px; }
.home-start-empty h2,
.home-start-panel h2 {
    margin: 2px 0 8px;
    font-family: var(--app-sans);
    font-size: 19px;
    font-weight: 500;
}
.home-start-empty .app-empty-mark {
    width: 48px;
    height: 48px;
    color: var(--app-accent-strong);
    background: var(--app-surface-muted);
    border-radius: 15px;
    font-family: var(--app-sans);
    font-size: 24px;
}
.home-start-panel + .home-start-panel, .home-start-empty + .home-start-panel, .home-compass + .home-start-panel { margin-top: 14px; }
.home-start-panel button {
    min-height: 44px;
    padding: 9px 16px;
    color: var(--app-accent-text);
    background: var(--app-accent);
    border: 1px solid var(--app-accent);
    border-radius: 10px;
    cursor: pointer;
}
.home-start-settings summary { color: var(--app-heading); font-weight: 700; cursor: pointer; }
.home-start-settings form { display: grid; max-width: 640px; gap: 12px; margin-top: 22px; }
@media (max-width: 1040px) { .home-compass { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .home-compass { grid-template-columns: 1fr; }
    .home-start-heading h1 { font-size: 38px; }
    .home-start-empty { align-items: flex-start; }
}

.bandprofil_bandnamn {
    padding-bottom: 0;
    margin-bottom: 0;
    font-weight: 700 !important;
    font-size: 24px !important;
}

.bandprofil_band_beskrivning {
    margin-top:0;
    padding-top:0;
}

/* Stage 5: shared responsive rules for page content. The application shell is unchanged. */
.app-page-heading > *,
.app-section-heading > *,
.app-form-actions > *,
.app-feedback-actions > *,
.creative-actions > *,
.app-card > *,
.app-card li,
.app-card form,
.app-card fieldset,
.app-card label,
.app-definition-list > div,
.publication > * {
    min-width: 0;
}

.app-card fieldset {
    max-width: 100%;
    margin-inline: 0;
}

.app-card legend,
.app-card li,
.app-card dd,
.publication {
    overflow-wrap: anywhere;
}

.app-form > label:not(.app-field),
.app-form > fieldset label {
    display: grid;
    gap: 6px;
}

.app-form > label:not(.app-field) > :is(input, select, textarea),
.app-form > :is(input, select, textarea) {
    width: 100%;
    min-height: 44px;
}

.app-form-actions,
.app-section-heading,
.app-feedback-actions,
.creative-actions,
.support-record-actions {
    flex-wrap: wrap;
}

.app-form-actions .app-button,
.app-section-heading .app-button,
.app-feedback-actions .app-button,
.creative-actions .app-button,
.support-record-actions .app-button {
    max-width: 100%;
    white-space: normal;
}

@media (max-width: 560px) {
    .app-card,
    .app-notice,
    .app-dialog {
        padding: 20px;
    }

    .app-page-heading > .app-button,
    .app-form-actions > .app-button,
    .app-section-heading > .app-button,
    .app-feedback-actions > form,
    .app-feedback-actions .app-button,
    .creative-actions > form,
    .creative-actions .app-button {
        width: 100%;
    }

    .creative-actions form {
        display: grid;
        width: 100%;
    }

    .app-definition-list div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .app-list form {
        display: block;
        margin: .5rem 0 0;
    }
}
.arrangement-section-list{list-style:none;padding:0;display:grid;gap:.75rem}.arrangement-section-row{border:1px solid var(--app-border,#d8dee8);border-radius:.75rem;padding:.75rem}.arrangement-section-row summary{cursor:pointer;display:flex;align-items:center;gap:.75rem}.arrangement-section-row summary span:last-child{margin-left:auto}.arrangement-section-color{width:.75rem;height:.75rem;border-radius:50%;background:#64748b}.arrangement-section-color.is-blue{background:#2563eb}.arrangement-section-color.is-green{background:#16a34a}.arrangement-section-color.is-amber{background:#d97706}.arrangement-section-color.is-rose{background:#e11d48}.arrangement-section-color.is-cyan{background:#0891b2}.arrangement-section-color.is-violet{background:#7c3aed}.arrangement-section-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.arrangement-section-actions form{margin:0}
.arrangement-timeline{--measure-width:112px;overflow:hidden}.arrangement-timeline-heading{align-items:end}.arrangement-zoom{display:grid;gap:.3rem;min-width:min(240px,100%);font-size:.85rem;font-weight:700}.arrangement-zoom input{width:100%}.arrangement-workbench-toolbar{display:none;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin:1rem 0;padding:.8rem;border:1px solid var(--app-border,#d8dee8);border-radius:18px;background:rgba(255,255,255,.58)}.arrangement-timeline.is-enhanced .arrangement-workbench-toolbar{display:flex}.arrangement-toolbar-group{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.arrangement-toolbar-group button{min-height:40px}.arrangement-toolbar-group button.is-danger{color:#9f1239}.arrangement-signature-editor>span:first-child{font-weight:750}.arrangement-signature-editor input,.arrangement-signature-editor select{width:4.6rem;min-height:40px}.arrangement-timeline-status{margin-left:auto;color:var(--app-muted,#64748b);font-size:.88rem}.arrangement-timeline-scroll{overflow-x:auto;padding:.85rem .4rem 1.2rem;scrollbar-gutter:stable}.arrangement-measure-list{display:grid;grid-auto-flow:column;grid-auto-columns:var(--measure-width);gap:.55rem;width:max-content;min-width:100%;list-style:none;padding:0;margin:0}.arrangement-measure-list>li{width:var(--measure-width)}.arrangement-measure{position:relative;display:grid;grid-template-rows:auto 1fr;width:var(--measure-width);min-width:var(--measure-width);height:138px;overflow:hidden;padding:0;border:2px solid rgba(48,42,31,.18);border-radius:16px;background:rgba(255,255,255,.82);color:inherit;cursor:pointer;box-shadow:0 8px 20px rgba(48,42,31,.06);transition:border-color 120ms ease,box-shadow 120ms ease,transform 120ms ease}.arrangement-measure:hover{transform:translateY(-2px);border-color:rgba(48,42,31,.4)}.arrangement-measure:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}.arrangement-measure.is-selected{border-color:#d79f2f;box-shadow:0 0 0 4px rgba(215,159,47,.18),0 10px 24px rgba(48,42,31,.1)}.arrangement-measure.is-drop-target{border-color:#2563eb;transform:translateY(-4px)}.arrangement-measure.is-pending{opacity:.58}.arrangement-measure-number{display:block;padding:.45rem .65rem;border-bottom:1px solid rgba(48,42,31,.12);background:rgba(48,42,31,.045);color:var(--app-muted,#64748b);font-size:.78rem;font-weight:850;text-align:left}.arrangement-measure.is-selected .arrangement-measure-number{background:rgba(215,159,47,.13);color:#61420a}.arrangement-measure-signature{align-self:center;justify-self:center;display:grid;min-width:2.4rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.25rem,2vw,1.8rem);line-height:.92;text-align:center}.arrangement-measure-signature b{font-weight:600}.arrangement-measure-signature i{display:block;width:100%;height:1.5px;margin:.22rem 0;background:currentColor}.arrangement-measure-actions{display:grid;gap:.25rem;margin-top:.35rem}.arrangement-measure-actions form,.arrangement-measure-actions button{width:100%;margin:0}.arrangement-timeline.is-enhanced .arrangement-measure-actions,.arrangement-timeline.is-enhanced .arrangement-measure-range{display:none}.arrangement-measure-range{margin-top:1rem}.arrangement-timeline.is-saving .arrangement-measure-list{opacity:.72}.arrangement-measure[draggable="true"]{cursor:grab}.arrangement-measure[draggable="true"]:active{cursor:grabbing}.arrangement-empty-state{padding:1rem;border:1px dashed var(--app-border,#d8dee8);border-radius:14px}
@media(max-width:780px){.arrangement-timeline-heading{align-items:stretch}.arrangement-workbench-toolbar{align-items:stretch}.arrangement-toolbar-group,.arrangement-signature-editor{width:100%}.arrangement-toolbar-group button{flex:1 1 8rem}.arrangement-timeline-status{width:100%;margin-left:0}.arrangement-zoom{width:100%}}
@media(prefers-reduced-motion:reduce){.arrangement-measure{transition:none}.arrangement-measure:hover{transform:none}}
.arrangement-timeline-workfield{margin-top:.75rem;padding:1rem 1rem .45rem;border:1px solid #303846;border-radius:18px;background:#d8dde5;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 0 28px rgba(30,41,59,.08)}.arrangement-timeline-scroll{min-height:174px;outline:none;scrollbar-color:#596579 #b7c0cd;scrollbar-width:auto}.arrangement-timeline-scroll:focus-visible{box-shadow:0 0 0 3px rgba(37,99,235,.3);border-radius:10px}.arrangement-timeline-scroll::-webkit-scrollbar{height:18px}.arrangement-timeline-scroll::-webkit-scrollbar-track{background:#b7c0cd;border:4px solid #d8dde5;border-radius:999px}.arrangement-timeline-scroll::-webkit-scrollbar-thumb{min-width:48px;background:#596579;border:4px solid #d8dde5;border-radius:999px}.arrangement-timeline-scroll::-webkit-scrollbar-thumb:hover{background:#3f4a5c}.arrangement-measure-list>li{position:relative}.arrangement-insert-zone{position:absolute;top:48px;z-index:5;display:grid;width:30px;height:42px;padding:0;place-items:center;border:2px solid #fff;border-radius:999px;background:#2563eb;color:#fff;font-size:1.35rem;font-weight:800;line-height:1;opacity:0;pointer-events:none;transform:translateX(-50%) scale(.75);transition:opacity 100ms ease,transform 100ms ease}.arrangement-insert-zone.is-before{left:-.275rem}.arrangement-insert-zone.is-after{right:-.825rem;transform:translateX(50%) scale(.75)}.arrangement-timeline.is-shift-inserting .arrangement-insert-zone:hover,.arrangement-timeline.is-shift-inserting .arrangement-insert-zone:focus-visible{opacity:1;pointer-events:auto;transform:translateX(-50%) scale(1)}.arrangement-timeline.is-shift-inserting .arrangement-insert-zone.is-after:hover,.arrangement-timeline.is-shift-inserting .arrangement-insert-zone.is-after:focus-visible{transform:translateX(50%) scale(1)}.arrangement-timeline.is-shift-inserting .arrangement-measure-list>li:hover>.arrangement-insert-zone{opacity:.9;pointer-events:auto}.arrangement-timeline.is-compact .arrangement-measure{height:92px;border-radius:10px}.arrangement-timeline.is-compact .arrangement-measure-number{padding:.3rem;font-size:.66rem;text-align:center}.arrangement-timeline.is-compact .arrangement-measure-signature{min-width:1.5rem;font-size:.9rem}.arrangement-timeline.is-compact .arrangement-insert-zone{top:30px;width:24px;height:34px;font-size:1rem}


/* Team page */
.team-page {
    --team-border: color-mix(in srgb, currentColor 14%, transparent);
    --team-muted: color-mix(in srgb, currentColor 64%, transparent);
    --team-soft: color-mix(in srgb, #eba934 10%, transparent);
    --team-soft-strong: color-mix(in srgb, #eba934 18%, transparent);
    --team-success: #287a4a;
    --team-danger: #9b3434;
}

.team-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
}

.team-page-heading > div:first-child {
    min-width: 0;
}

.team-page-actions {
    display: flex;
    flex: 0 0 auto;
    gap: .75rem;
}

.team-primary-action,
.team-secondary-action,
.team-page button {
    min-height: 2.75rem;
    border-radius: .75rem;
    font: inherit;
    font-weight: 700;
}

.team-primary-action,
.team-secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .7rem 1rem;
    text-decoration: none;
}

.team-primary-action {
    background: #eba934;
    color: #21180a;
    border: 1px solid color-mix(in srgb, #eba934 74%, #21180a);
}

.team-primary-action:hover,
.team-primary-action:focus-visible {
    filter: brightness(.97);
    text-decoration: none;
}

.team-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
    margin: 1.25rem 0 1.5rem;
}

.team-summary-card {
    min-width: 0;
    padding: 1rem 1.1rem;
    border: 1px solid var(--team-border);
    border-radius: 1rem;
    background: color-mix(in srgb, var(--team-soft) 72%, Canvas);
}

.team-summary-card strong {
    display: block;
    margin-top: .25rem;
    font-size: clamp(1.4rem, 3vw, 2rem);
    line-height: 1;
}

.team-summary-card span {
    color: var(--team-muted);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.team-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.5rem 0 .85rem;
}

.team-section-heading h2,
.team-section-heading p {
    margin: 0;
}

.team-section-heading p {
    color: var(--team-muted);
}

.team-member-list {
    display: grid;
    gap: 1rem;
}

.team-member-card {
    overflow: clip;
    border: 1px solid var(--team-border);
    border-radius: 1.15rem;
    background: Canvas;
    box-shadow: 0 .55rem 1.6rem color-mix(in srgb, #000 5%, transparent);
}

.team-member-card-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem 1.2rem;
    background: linear-gradient(135deg, var(--team-soft), transparent 65%);
}

.team-member-avatar {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    border-radius: 50%;
    background: #eba934;
    color: #21180a;
    font-weight: 900;
    letter-spacing: .04em;
}

.team-member-title {
    min-width: 0;
}

.team-member-title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
}

.team-member-title h3 {
    margin: 0;
    font-size: 1.15rem;
}

.team-member-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .85rem;
    margin-top: .3rem;
    color: var(--team-muted);
    font-size: .9rem;
}

.team-badge {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    width: fit-content;
    min-height: 1.65rem;
    padding: .22rem .58rem;
    border: 1px solid var(--team-border);
    border-radius: 999px;
    background: Canvas;
    font-size: .76rem;
    font-weight: 800;
    line-height: 1.2;
}

.team-badge--active,
.team-decision--allow {
    color: var(--team-success);
    border-color: color-mix(in srgb, var(--team-success) 35%, transparent);
    background: color-mix(in srgb, var(--team-success) 8%, Canvas);
}

.team-badge--revoked,
.team-decision--deny {
    color: var(--team-danger);
    border-color: color-mix(in srgb, var(--team-danger) 35%, transparent);
    background: color-mix(in srgb, var(--team-danger) 8%, Canvas);
}

.team-member-counts {
    display: flex;
    align-items: center;
    gap: .55rem;
}

.team-count-chip {
    min-width: 4.25rem;
    padding: .55rem .65rem;
    border: 1px solid var(--team-border);
    border-radius: .75rem;
    background: Canvas;
    text-align: center;
}

.team-count-chip strong,
.team-count-chip span {
    display: block;
}

.team-count-chip strong {
    font-size: 1rem;
}

.team-count-chip span {
    color: var(--team-muted);
    font-size: .68rem;
    font-weight: 700;
}

.team-member-panels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--team-border);
}

.team-member-panel {
    min-width: 0;
    border-right: 1px solid var(--team-border);
}

.team-member-panel:last-child {
    border-right: 0;
}

.team-member-panel > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 3.5rem;
    padding: .9rem 1rem;
    cursor: pointer;
    font-weight: 800;
    list-style: none;
}

.team-member-panel > summary::-webkit-details-marker {
    display: none;
}

.team-member-panel > summary::after {
    content: '+';
    flex: 0 0 auto;
    color: var(--team-muted);
    font-size: 1.25rem;
    font-weight: 500;
}

.team-member-panel[open] > summary::after {
    content: '−';
}

.team-panel-body {
    padding: 0 1rem 1.1rem;
}

.team-panel-intro {
    margin: 0 0 .9rem;
    color: var(--team-muted);
    font-size: .9rem;
}

.team-current-values {
    display: grid;
    gap: .55rem;
    margin: 0 0 1rem;
}

.team-current-row {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid var(--team-border);
}

.team-current-row dt,
.team-current-row dd {
    margin: 0;
}

.team-current-row dt {
    color: var(--team-muted);
    font-size: .84rem;
}

.team-current-row dd {
    text-align: right;
    font-weight: 700;
}

.team-form {
    display: grid;
    gap: .8rem;
    padding-top: .9rem;
    border-top: 1px solid var(--team-border);
}

.team-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.team-form label {
    display: grid;
    gap: .35rem;
    min-width: 0;
    color: var(--team-muted);
    font-size: .78rem;
    font-weight: 800;
}

.team-form input,
.team-form select {
    width: 100%;
    min-width: 0;
    min-height: 2.65rem;
    padding: .55rem .65rem;
    border: 1px solid var(--team-border);
    border-radius: .65rem;
    background: Canvas;
    color: CanvasText;
    font: inherit;
    font-size: .9rem;
}

.team-form input:focus,
.team-form select:focus {
    outline: 3px solid color-mix(in srgb, #eba934 28%, transparent);
    outline-offset: 1px;
    border-color: #eba934;
}

.team-form button,
.team-accept-form button {
    justify-self: start;
    padding: .65rem .9rem;
    border: 1px solid color-mix(in srgb, #eba934 70%, #21180a);
    background: #eba934;
    color: #21180a;
    cursor: pointer;
}

.team-form button:hover,
.team-form button:focus-visible,
.team-accept-form button:hover,
.team-accept-form button:focus-visible {
    filter: brightness(.96);
}

.team-responsibility-list {
    display: grid;
    gap: .6rem;
    margin-bottom: 1rem;
}

.team-responsibility-item {
    padding: .7rem .75rem;
    border: 1px solid var(--team-border);
    border-radius: .75rem;
    background: color-mix(in srgb, var(--team-soft) 38%, Canvas);
}

.team-responsibility-item strong {
    display: block;
}

.team-responsibility-item span {
    color: var(--team-muted);
    font-size: .82rem;
}

.team-empty-state {
    padding: .9rem;
    border: 1px dashed var(--team-border);
    border-radius: .75rem;
    color: var(--team-muted);
    text-align: center;
}

.team-capability-groups {
    display: grid;
    gap: .85rem;
    max-height: 24rem;
    overflow: auto;
    padding-right: .25rem;
    scrollbar-gutter: stable;
}

.team-capability-group h4 {
    margin: 0 0 .4rem;
    color: var(--team-muted);
    font-size: .75rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.team-capability-list {
    display: grid;
    gap: .45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.team-capability-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
    padding: .55rem .65rem;
    border: 1px solid var(--team-border);
    border-radius: .65rem;
}

.team-capability-copy {
    min-width: 0;
}

.team-capability-copy strong,
.team-capability-copy code {
    display: block;
}

.team-capability-copy strong {
    font-size: .83rem;
}

.team-capability-copy code {
    margin-top: .15rem;
    overflow-wrap: anywhere;
    color: var(--team-muted);
    font-size: .68rem;
}

.team-decision {
    flex: 0 0 auto;
    padding: .2rem .45rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: .7rem;
    font-weight: 900;
}

.team-support-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.35rem;
}

.team-support-grid .app-card {
    margin: 0;
}

.team-support-grid h2 {
    margin-top: 0;
}

.team-work-list,
.team-responsibility-checklist {
    display: grid;
    gap: .65rem;
    padding-left: 1.25rem;
}

.team-work-list li,
.team-responsibility-checklist li {
    padding-left: .2rem;
}

.team-role-state {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .75rem;
    color: var(--team-success);
    font-weight: 800;
}

@media (max-width: 1050px) {
    .team-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .team-member-panels {
        grid-template-columns: 1fr;
    }

    .team-member-panel {
        border-right: 0;
        border-bottom: 1px solid var(--team-border);
    }

    .team-member-panel:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 760px) {
    .team-page-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .team-page-actions,
    .team-primary-action {
        width: 100%;
    }

    .team-section-heading {
        align-items: start;
        flex-direction: column;
    }

    .team-member-card-header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .team-member-counts {
        grid-column: 1 / -1;
        width: 100%;
    }

    .team-count-chip {
        flex: 1 1 0;
    }

    .team-support-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .team-summary {
        grid-template-columns: 1fr 1fr;
        gap: .65rem;
    }

    .team-summary-card {
        padding: .85rem;
    }

    .team-member-card-header {
        gap: .75rem;
        padding: 1rem;
    }

    .team-member-avatar {
        width: 2.65rem;
        height: 2.65rem;
    }

    .team-form-grid {
        grid-template-columns: 1fr;
    }

    .team-form button {
        width: 100%;
    }

    .team-capability-item {
        grid-template-columns: 1fr;
    }

    .team-decision {
        justify-self: start;
    }
}
