/* Final presentation layer for the photographer backoffice. */
:root {
    --shadow: 0 8px 24px rgba(20, 52, 59, 0.06);
    --radius: 16px;
}

/* Mail-style workspaces: messaging and secretariat. */
.mail-page-shell {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.mail-page-toolbar {
    display: grid;
    grid-template-columns: auto auto minmax(260px, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid #dce6e2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(17, 55, 61, 0.05);
}

.mail-page-title h2 {
    margin: 1px 0 0;
    color: #0d333d;
    font-size: 1.45rem;
}

.mail-page-title .eyebrow { margin: 0; }
.mail-channel-tabs { display: flex; gap: 5px; }
.mail-channel-tabs a {
    padding: 9px 12px;
    border-radius: 10px;
    color: #536b74;
    font-weight: 850;
    white-space: nowrap;
}
.mail-channel-tabs a:hover { background: #f1f6f4; }
.mail-channel-tabs a.is-active { color: #fff; background: #174f54; }
.mail-global-search { display: flex; gap: 7px; min-width: 0; }
.mail-global-search label { flex: 1; min-width: 0; }
.mail-global-search input { width: 100%; min-height: 40px; }
.mail-toolbar-actions { display: flex; align-items: center; gap: 7px; }
.mail-toolbar-actions > * { white-space: nowrap; }

.mail-feedback {
    display: none;
    padding: 10px 14px;
    border: 1px solid #a9d7c9;
    border-radius: 12px;
    color: #145848;
    background: #eaf7f2;
    font-weight: 800;
}
.mail-feedback.is-visible { display: block; }
.mail-feedback.is-error { border-color: #efb8b0; color: #8e342d; background: #fff1ef; }

.mail-workspace {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    min-width: 0;
    min-height: 680px;
    max-height: calc(100vh - 205px);
    overflow: hidden;
    border: 1px solid #d8e3df;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17, 55, 61, 0.06);
}
.mail-workspace.is-loading { pointer-events: none; opacity: 0.68; transition: opacity 120ms ease; }

.mail-list-pane {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    border-right: 1px solid #dfe8e5;
    background: #f8fbfa;
}

.mail-pane-heading {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-bottom: 1px solid #e1e9e6;
    background: #fff;
}
.mail-pane-heading strong,
.mail-pane-heading span { display: block; }
.mail-pane-heading strong { color: #173a43; }
.mail-pane-heading span { margin-top: 2px; color: #6c7f84; font-size: 0.78rem; }

.mail-conversation-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #b9cbc6 transparent;
}

.mail-conversation-item {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 10px;
    min-height: 84px;
    padding: 12px 13px;
    border-bottom: 1px solid #e5ece9;
    color: #173a43;
    background: #fff;
}
.mail-conversation-item:hover { background: #f0f7f5; }
.mail-conversation-item.is-active {
    box-shadow: inset 4px 0 #17736b;
    background: #e8f4f1;
}
.mail-conversation-item.is-unread { background: #fffaf1; }
.mail-conversation-item.is-unread strong,
.mail-conversation-item.is-unread b { font-weight: 950; }
.mail-conversation-item.is-priority:not(.is-active) { box-shadow: inset 3px 0 #d98028; }

.mail-avatar {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: #24736b;
    font-weight: 950;
}
.mail-avatar.is-parent { background: #7a5b91; }
.mail-avatar.is-large { width: 48px; height: 48px; border-radius: 14px; font-size: 1.05rem; }
.mail-conversation-copy { min-width: 0; }
.mail-conversation-line { display: flex; min-width: 0; align-items: baseline; gap: 8px; }
.mail-conversation-line strong {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mail-conversation-line time { color: #738489; font-size: 0.73rem; white-space: nowrap; }
.mail-conversation-copy b,
.mail-conversation-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mail-conversation-copy b { margin-top: 3px; color: #294b53; font-size: 0.88rem; }
.mail-conversation-copy small { margin-top: 4px; color: #718388; font-size: 0.76rem; }
.mail-unread-count {
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    align-self: center;
    padding: 0 6px;
    border-radius: 999px;
    color: #fff;
    background: #d47920;
    font-size: 0.72rem;
    font-weight: 950;
}
.mail-status-dot { width: 10px; height: 10px; align-self: center; border-radius: 50%; background: #d58a30; }
.mail-status-dot.is-in_progress { background: #2d78b8; }
.mail-status-dot.is-done { background: #29926f; }

.mail-reading-pane {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    background: #fff;
}
.mail-reading-header {
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 18px;
    border-bottom: 1px solid #e1e9e6;
}
.mail-reading-identity { display: flex; min-width: 0; align-items: center; gap: 12px; }
.mail-reading-identity > div { min-width: 0; }
.mail-reading-identity .eyebrow { margin: 0 0 1px; }
.mail-reading-identity h3 {
    margin: 0;
    overflow: hidden;
    color: #123740;
    font-size: 1.2rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mail-reading-identity div > span { display: block; margin-top: 3px; color: #6b7d82; font-size: 0.79rem; }

.mail-routing-bar,
.mail-status-form { display: flex; align-items: end; gap: 8px; }
.mail-routing-bar {
    padding: 9px 18px;
    border-bottom: 1px solid #e6ecea;
    background: #f7faf9;
}
.mail-routing-bar label { display: flex; min-width: 260px; align-items: center; gap: 8px; }
.mail-routing-bar label span { color: #607477; font-size: 0.75rem; font-weight: 850; white-space: nowrap; }
.mail-routing-bar select,
.mail-status-form select { min-height: 38px; }

.mail-ticket-context {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 9px 18px;
    border-bottom: 1px solid #e7eeeb;
    background: #fbfdfc;
}
.mail-ticket-context span {
    padding: 5px 8px;
    border-radius: 999px;
    color: #526b72;
    background: #edf3f1;
    font-size: 0.73rem;
    font-weight: 800;
}

.mail-thread {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    overflow-y: auto;
    padding: 18px 22px;
    background: linear-gradient(180deg, #f7faf9 0%, #fff 42%);
    scrollbar-width: thin;
    scrollbar-color: #b9cbc6 transparent;
}
.mail-message {
    width: min(78%, 760px);
    padding: 13px 15px;
    border: 1px solid #dce7e3;
    border-radius: 6px 16px 16px 16px;
    background: #fff;
    box-shadow: 0 5px 15px rgba(18, 57, 64, 0.045);
}
.mail-message.is-outgoing {
    align-self: flex-end;
    border-color: #bcded5;
    border-radius: 16px 6px 16px 16px;
    background: #eaf6f2;
}
.mail-message-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.mail-message-meta strong { color: #173d45; }
.mail-message-meta time { color: #74868a; font-size: 0.75rem; white-space: nowrap; }
.mail-message-subject { display: block; margin-top: 6px; color: #32515a; font-size: 0.86rem; }
.mail-message-body { margin-top: 7px; color: #29484f; line-height: 1.55; overflow-wrap: anywhere; }
.mail-message > small { display: block; margin-top: 8px; color: #77878b; font-size: 0.72rem; }

.mail-reply-composer {
    padding: 12px 18px 14px;
    border-top: 1px solid #dfe8e5;
    background: #fff;
}
.mail-reply-composer label > span { display: block; margin-bottom: 6px; color: #3f5f67; font-size: 0.78rem; font-weight: 900; }
.mail-reply-composer textarea { width: 100%; min-height: 86px; resize: vertical; }
.mail-reply-composer > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 7px; }
.mail-reply-composer > div > span { color: #74858a; font-size: 0.75rem; }
.mail-readonly-note { margin: 12px 18px; padding: 12px; border-radius: 11px; color: #607477; background: #f1f5f4; text-align: center; }

.mail-empty-state { padding: 28px 18px; color: #667b80; text-align: center; }
.mail-empty-state strong { color: #23454d; }
.mail-empty-state p { margin: 4px 0 0; }
.mail-empty-state.is-reading { display: grid; min-height: 100%; place-content: center; }

.secretariat-mail-toolbar { grid-template-columns: auto 1fr auto; }
.secretariat-mail-toolbar .mail-toolbar-actions { grid-column: 3; justify-self: end; }
.mail-summary-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.mail-summary-chips span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 9px;
    border-radius: 999px;
    color: #4d676e;
    background: #edf3f1;
    font-size: 0.75rem;
    font-weight: 800;
}
.mail-summary-chips span b { color: #173d45; font-size: 0.88rem; }
.mail-summary-chips .is-pending { background: #fff2df; }
.mail-summary-chips .is-progress { background: #e7f1fb; }
.mail-summary-chips .is-done { background: #e6f4ed; }
.mail-inbox-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    padding: 9px 12px;
    border-bottom: 1px solid #dfe8e5;
    background: #f4f8f6;
}
.mail-inbox-stats span {
    padding: 7px 5px;
    border-radius: 9px;
    color: #607477;
    background: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    text-align: center;
}
.mail-inbox-stats b { display: block; margin-bottom: 1px; color: #193f47; font-size: 0.92rem; }
.mail-inbox-stats .is-pending { background: #fff5e6; }
.mail-inbox-stats .is-progress { background: #eaf3fb; }
.mail-inbox-stats .is-done { background: #e9f5ef; }
.mail-inbox-filters { padding: 11px 12px; border-bottom: 1px solid #dfe8e5; background: #fff; }
.mail-inbox-filters input { width: 100%; }
.mail-inbox-filters > div { display: grid; grid-template-columns: 1fr 1fr auto; gap: 6px; margin-top: 7px; }
.mail-inbox-filters select { width: 100%; min-height: 36px; padding-inline: 8px; font-size: 0.78rem; }
.secretariat-mail-item { min-height: 80px; }
.mail-pagination { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; border-top: 1px solid #dfe8e5; background: #fff; font-size: 0.78rem; }
.mail-pagination a { color: #17675f; font-weight: 900; }

@media (max-width: 1480px) {
    .mail-page-toolbar { grid-template-columns: auto minmax(260px, 1fr) auto; }
    .mail-channel-tabs { grid-row: 2; grid-column: 1 / -1; }
    .secretariat-mail-toolbar { grid-template-columns: auto 1fr; }
    .secretariat-mail-toolbar .mail-toolbar-actions { grid-column: 2; justify-self: end; }
    .mail-summary-chips { grid-row: 2; grid-column: 1 / -1; justify-content: flex-start; }
    .mail-workspace { grid-template-columns: minmax(285px, 330px) minmax(0, 1fr); }
}

@media (max-width: 880px) {
    .mail-page-toolbar,
    .secretariat-mail-toolbar { grid-template-columns: 1fr; align-items: stretch; }
    .mail-channel-tabs,
    .mail-summary-chips,
    .secretariat-mail-toolbar .mail-toolbar-actions { grid-row: auto; grid-column: auto; justify-self: auto; }
    .mail-global-search,
    .mail-toolbar-actions { width: 100%; }
    .mail-workspace { grid-template-columns: 1fr; max-height: none; }
    .mail-list-pane { min-height: 360px; max-height: 46vh; border-right: 0; border-bottom: 1px solid #dfe8e5; }
    .mail-reading-pane { min-height: 620px; }
    .mail-message { width: min(92%, 760px); }
}

@media (max-width: 560px) {
    .mail-global-search,
    .mail-toolbar-actions,
    .mail-reading-header,
    .mail-status-form,
    .mail-reply-composer > div { align-items: stretch; flex-direction: column; }
    .mail-toolbar-actions > *,
    .mail-global-search > * { width: 100%; }
    .mail-reading-header { align-items: flex-start; }
    .mail-routing-bar { align-items: stretch; flex-direction: column; }
    .mail-routing-bar label { min-width: 0; align-items: stretch; flex-direction: column; }
    .mail-inbox-filters > div { grid-template-columns: 1fr; }
    .mail-thread { padding: 14px 12px; }
    .mail-message { width: 96%; }
}

.skip-link {
    position: fixed;
    z-index: 10000;
    top: 10px;
    left: 10px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #ffffff;
    color: var(--ink);
    transform: translateY(-150%);
}

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

body {
    background: #f4f6f5;
}

.app-shell,
.dashboard-body .app-shell {
    grid-template-columns: 248px minmax(0, 1fr);
    background: #f4f6f5;
}

.sidebar {
    padding: 14px 10px;
    gap: 12px;
    border-right: 0;
    background: var(--sidebar-deep);
    box-shadow: none;
}

.sidebar-top {
    gap: 8px;
}

.brand {
    gap: 11px;
    padding: 8px 10px 14px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0;
    background: transparent;
}

.brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: var(--accent);
    box-shadow: none;
}

.brand strong {
    font-size: 0.95rem;
}

.brand p {
    margin-top: 2px;
    font-size: 0.74rem;
}

.sidebar-workspace-card,
.sidebar-note,
.sidebar-nav-group-count {
    display: none;
}

.nav-links {
    gap: 6px;
    padding: 0 2px 8px 0;
}

.sidebar-nav-group,
.sidebar-nav-group.is-active {
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
}

.sidebar-nav-group.is-active,
.sidebar-nav-group[open] {
    border-color: rgba(255, 255, 255, 0.09);
    background: rgba(255, 255, 255, 0.045);
}

.sidebar-nav-group-head {
    min-height: 42px;
    padding: 9px 11px;
}

.sidebar-nav-group-title {
    font-size: 0.72rem;
    letter-spacing: 0.065em;
}

.sidebar-nav-group-arrow {
    width: 8px;
    height: 8px;
}

.sidebar-nav-links {
    gap: 2px;
    padding: 0 6px 7px;
}

.sidebar-nav-links a {
    min-height: 36px;
    padding: 0 9px 0 13px;
    border-radius: 7px;
    background: transparent;
}

.sidebar-nav-links a::before {
    inset: 9px auto 9px 4px;
    width: 2px;
}

.sidebar-nav-link-label {
    font-size: 0.84rem;
    font-weight: 650;
}

.sidebar-nav-links a:hover,
.sidebar-nav-links a.active {
    border-color: transparent;
    background: rgba(255, 255, 255, 0.1);
    transform: none;
}

.main-content {
    padding: 20px 24px 28px;
}

.topbar,
.dashboard-body .topbar {
    align-items: center;
    margin-bottom: 16px;
}

.topbar h1 {
    margin-top: 3px;
    font-size: clamp(1.7rem, 2.5vw, 2.15rem);
    line-height: 1.08;
}

.eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.08em;
}

.school-chip {
    max-width: 420px;
    padding: 10px 14px;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: none;
    font-size: 0.88rem;
}

.school-chip span {
    margin-top: 2px;
    color: var(--muted);
}

body .hero {
    padding: 18px 20px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #ffffff;
    color: var(--ink);
    box-shadow: none;
}

body .hero h2 {
    margin: 3px 0 5px;
    font-size: clamp(1.45rem, 2.4vw, 1.9rem);
}

body .hero p,
body .hero .eyebrow,
body .hero-badge span {
    color: var(--muted);
}

body .hero-badge,
body .selector-card {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #f7f9f8;
    color: var(--ink);
}

body .hero-badge strong {
    margin-top: 4px;
}

.stat-card,
.section-card,
.campaign-schedule-card,
.catalog-visual-card,
.education-api-summary-card,
.education-api-reference-detail-card {
    border-color: rgba(25, 49, 60, 0.11);
    border-radius: 14px;
    background: #ffffff;
    box-shadow: none;
}

.section-card {
    padding: 18px;
}

.stat-card,
.dashboard-stat-grid .stat-card {
    padding: 14px 16px;
}

.stat-card strong,
.dashboard-stat-grid .stat-card strong {
    margin: 5px 0 2px;
}

.stat-grid,
.content-grid,
.dashboard-panels,
.quote-state-strip,
.billing-kpi-grid,
.admin-kpi-grid {
    gap: 10px;
}

.section-head {
    gap: 12px;
    margin-bottom: 14px;
}

.quote-hub-panel,
.orders-hub-panel,
.billing-hero-card,
.account-hero-card,
.schools-map-hero,
.stats-hero,
.administration-hero {
    padding: 16px 18px;
    border-radius: 14px;
}

.quote-hub-head {
    align-items: center;
    gap: 16px;
}

.quote-hub-head > div:first-child > .eyebrow {
    display: none;
}

.quote-hub-head h2 {
    margin: 0 0 4px;
    font-size: 1.35rem;
}

.quote-hub-head p {
    max-width: 760px;
    line-height: 1.4;
}

.quote-hub-actions {
    gap: 10px;
}

.quote-school-pill {
    min-width: 210px;
    padding: 10px 12px;
}

.quote-school-pill p,
.orders-export-pill p {
    margin-top: 2px;
    font-size: 0.82rem;
}

.quote-state-strip-compact {
    margin-top: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.quote-state-pill,
.billing-kpi-card,
.planning-agenda-summary-card {
    min-height: 0;
    padding: 11px 13px;
    border-radius: 10px;
    box-shadow: none;
}

.quote-state-pill strong {
    margin-top: 3px;
    font-size: 1.35rem;
}

.quote-state-strip-compact .quote-state-pill small {
    display: none;
}

.quote-ledger-shell,
.orders-ledger-shell,
.school-ledger-shell,
.billing-ledger-card {
    padding: 16px 18px;
}

.quote-ledger-filters,
.orders-ledger-filters,
.school-ledger-filters {
    gap: 8px 10px;
}

.form-field {
    gap: 4px;
}

.form-field > span,
.form-field > label {
    font-size: 0.78rem;
    font-weight: 700;
}

input,
select,
textarea,
.form-field input,
.form-field select,
.form-field textarea {
    border-radius: 9px;
}

.form-field input,
.form-field select,
input[type="search"],
input[type="date"] {
    min-height: 40px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.button-link,
.primary-btn,
.secondary-btn,
.quote-row-action,
.billing-action-row,
.planning-agenda-create-button {
    min-height: 40px;
    border-radius: 9px;
    box-shadow: none;
}

.button-primary,
.primary-btn,
.quote-button-main,
.planning-agenda-create-button {
    border-color: var(--accent-dark);
    background: var(--accent);
    color: #2f220e;
    box-shadow: none;
}

.button-primary:hover,
.primary-btn:hover,
.quote-button-main:hover,
.planning-agenda-create-button:hover {
    background: var(--accent-dark);
    color: #ffffff;
    transform: none;
}

.table-wrap,
.quote-ledger-table-wrap,
.education-api-table-wrap {
    border-radius: 10px;
    box-shadow: none;
}

.data-table th,
.data-table td,
.compact-table th,
.compact-table td {
    padding: 9px 10px;
    line-height: 1.28;
    vertical-align: middle;
}

.data-table th {
    font-size: 0.72rem;
    letter-spacing: 0.045em;
}

.table-subtext {
    margin-top: 2px;
    font-size: 0.78rem;
    line-height: 1.28;
}

.interactive-row {
    cursor: pointer;
}

.interactive-row:hover td,
.interactive-row:focus-visible td {
    background: color-mix(in srgb, var(--accent) 7%, white 93%);
}

.quote-ledger-actions,
.quotes-ledger-actions-inline,
.orders-row-actions,
.shipment-row-actions {
    gap: 6px;
}

.quote-row-action-compact,
.table-action-button {
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 7px;
}

.orders-ledger-table {
    min-width: 1080px;
}

.orders-ledger-table-compact th:last-child,
.orders-ledger-table-compact td:last-child {
    width: 228px;
}

.orders-ledger-table-compact .quote-row-action {
    min-width: 0;
    padding: 6px 9px;
    font-size: 0.78rem;
}

.modal-dialog,
.modal-dialog-wide,
.education-api-dialog {
    border-radius: 16px;
}

.modal-card,
.education-api-dialog-card {
    border-radius: 14px;
    background: #ffffff;
}

.dashboard-layout-owner-simple {
    gap: 12px;
    padding-bottom: 0;
}

.dashboard-welcome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 18px;
    border: 1px solid rgba(25, 49, 60, 0.11);
    border-radius: 14px;
    background: #ffffff;
}

.dashboard-welcome h2 {
    margin: 2px 0 3px;
    font-size: 1.35rem;
}

.dashboard-welcome p:last-child {
    margin: 0;
    color: var(--muted);
}

.dashboard-welcome-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.dashboard-overview-grid {
    display: grid;
    grid-template-columns: 1.25fr repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.dashboard-overview-card {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid rgba(25, 49, 60, 0.11);
    border-radius: 12px;
    background: #ffffff;
}

.dashboard-overview-card span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 750;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.dashboard-overview-card strong {
    overflow-wrap: anywhere;
    font-size: 1.6rem;
    line-height: 1.1;
}

.dashboard-overview-card small {
    color: var(--muted);
}

.dashboard-overview-card-accent {
    border-color: color-mix(in srgb, var(--accent) 45%, white 55%);
    background: color-mix(in srgb, var(--accent) 10%, white 90%);
}

.dashboard-status-board,
.dashboard-campaigns-card {
    padding: 15px 18px;
}

.dashboard-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.dashboard-status-grid article {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 9px;
    background: #f4f7f6;
}

.dashboard-status-grid strong {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 8px;
    background: var(--ink);
    color: #ffffff;
}

.dashboard-status-grid span {
    font-weight: 700;
}

.dashboard-campaign-list {
    gap: 7px;
}

.dashboard-campaign-row {
    align-items: center;
    padding: 11px 12px;
    border-radius: 9px;
    background: #fbfcfc;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.dashboard-campaign-row:hover {
    border-color: color-mix(in srgb, var(--accent) 45%, white 55%);
    background: color-mix(in srgb, var(--accent) 5%, white 95%);
}

.dashboard-campaign-metrics {
    display: grid;
    grid-template-columns: minmax(120px, auto) auto auto auto;
    align-items: center;
    justify-content: end;
    gap: 8px 14px;
    text-align: right;
    color: var(--muted);
    font-size: 0.84rem;
}

.dashboard-campaign-metrics strong {
    color: var(--ink);
}

.dashboard-panels-operator {
    grid-template-columns: minmax(0, 1fr);
}

.dashboard-hero-operator {
    background: #ffffff;
}

.operator-shoot-card,
.operator-note-card {
    border-radius: 12px;
    background: #fbfcfc;
    box-shadow: none;
}

.billing-shell,
.billing-sidebar,
.billing-main {
    gap: 12px;
}

.billing-action-row {
    padding: 10px 12px;
}

.planning-page .main-content {
    padding: 16px 18px 22px;
}

.planning-agenda-shell {
    --planning-agenda-sidebar-width: 250px;
    gap: 12px;
}

.planning-agenda-card,
.planning-agenda-board,
.planning-agenda-header,
.planning-agenda-detail-board {
    border-radius: 12px;
    box-shadow: none;
}

.planning-agenda-team-card,
.planning-agenda-mini-card {
    padding: 14px;
}

.planning-agenda-photographer-chip,
.planning-agenda-group {
    border-radius: 8px;
}

.planning-agenda-header {
    padding: 14px 16px;
}

.planning-agenda-board-week .planning-agenda-event-top {
    display: block;
    min-width: 0;
}

.planning-agenda-board-week .planning-agenda-event-top strong {
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.planning-agenda-board-week .planning-agenda-event-top small {
    display: none;
}

.quote-modal-dialog {
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    overflow: hidden;
}

.quote-modal-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 100%;
    max-height: 100%;
    padding: 16px 18px;
    overflow: hidden;
}

.quote-modal-head,
.quote-modal-banner {
    flex: 0 0 auto;
}

.quote-modal-form {
    display: grid;
    flex: 1 1 auto;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    min-height: 0;
    overflow: hidden;
}

.quote-wizard-shell {
    height: 100%;
    min-height: 0;
    align-items: stretch;
    overflow: hidden;
}

.quote-wizard-sidebar {
    min-height: 0;
    align-content: start;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
}

.quote-wizard-sidebar::-webkit-scrollbar,
.quote-step-panel-lite.is-active::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.quote-wizard-main {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    gap: 8px;
    height: 100%;
    min-height: 0;
    overflow: hidden;
}

.quote-step-panel-lite.is-active {
    min-height: 0;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
}

.quote-modal-footer {
    position: static;
    margin-top: 0;
    padding-top: 10px;
    background: transparent;
}

@media (max-width: 1180px) {
    .app-shell,
    .dashboard-body .app-shell {
        grid-template-columns: 222px minmax(0, 1fr);
    }

    .main-content {
        padding-inline: 18px;
    }

    .dashboard-overview-grid,
    .quote-state-strip-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .billing-shell {
        grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.7fr);
    }
}

@media (min-width: 861px) and (max-width: 1400px) {
    .dashboard-body .topbar h1 {
        font-size: clamp(1.9rem, 2.7vw, 2.35rem);
        white-space: nowrap;
    }
}

@media (max-width: 860px) {
    body.dashboard-body {
        overflow: auto;
    }

    .app-shell,
    .dashboard-body .app-shell {
        display: block;
        height: auto;
        min-height: 100vh;
    }

    .sidebar {
        position: relative;
        top: auto;
        height: auto;
        padding: 10px 12px 12px;
        overflow: visible;
    }

    .brand {
        padding: 3px 2px 10px;
    }

    .brand-mark {
        width: 34px;
        height: 34px;
    }

    .nav-links {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        overflow: visible;
    }

    .sidebar-nav-group-head {
        min-height: 38px;
        padding: 7px 9px;
    }

    .sidebar-nav-group-title {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sidebar-nav-links {
        grid-template-columns: minmax(0, 1fr);
    }

    .sidebar-nav-group[open] {
        grid-column: 1 / -1;
    }

    .sidebar-nav-group[open] .sidebar-nav-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .main-content,
    .planning-page .main-content,
    .dashboard-body .main-content {
        width: 100%;
        height: auto;
        padding: 16px 12px 24px;
        overflow: visible;
    }

    .topbar,
    .dashboard-body .topbar {
        align-items: flex-start;
        margin-bottom: 12px;
    }

    .topbar h1 {
        font-size: 1.6rem;
    }

    .school-chip {
        max-width: 50%;
        padding: 8px 10px;
        font-size: 0.78rem;
    }

    .dashboard-welcome,
    .quote-hub-head {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-welcome-actions,
    .quote-hub-actions {
        width: 100%;
    }

    .dashboard-welcome-actions > *,
    .quote-hub-actions > *,
    .quote-hub-actions .quote-button-main {
        flex: 1 1 auto;
        width: auto;
    }

    .dashboard-overview-grid,
    .dashboard-status-grid,
    .quote-state-strip-compact,
    .billing-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .dashboard-campaign-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .dashboard-campaign-metrics {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
        text-align: left;
    }

    .section-card,
    .quote-hub-panel,
    .orders-hub-panel,
    .quote-ledger-shell,
    .billing-hero-card,
    .billing-ledger-card {
        padding: 14px;
    }

    .education-api-section-head,
    .education-api-section-head > *,
    .education-api-section-head .education-api-filters,
    .education-api-table-wrap {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .education-api-section-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .education-api-section-head .education-api-filters {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .education-api-section-head .form-field,
    .education-api-section-head .button-link {
        width: 100%;
        min-width: 0;
    }

    .quote-modal-dialog {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        overflow: hidden;
    }

    .quote-modal-card {
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
        height: 100dvh;
        max-height: 100dvh;
        padding: 10px 12px;
        overflow: hidden;
    }

    .quote-modal-head {
        flex: 0 0 auto;
        align-items: center;
        gap: 10px;
        padding-bottom: 8px;
        border-bottom: 1px solid rgba(22, 46, 72, 0.12);
    }

    .quote-modal-head h3 {
        margin: 2px 0 0;
        font-size: 1.15rem;
    }

    .quote-modal-head p:last-child {
        display: none;
    }

    .quote-modal-head .button-link {
        min-height: 36px;
        padding: 7px 11px;
    }

    .quote-modal-banner {
        flex: 0 0 auto;
        gap: 4px;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 0.78rem;
    }

    .quote-modal-form {
        display: grid;
        flex: 1 1 auto;
        grid-template-rows: minmax(0, 1fr);
        gap: 0;
        min-height: 0;
        overflow: hidden;
    }

    .quote-modal-summary-strip,
    .quote-stepper-status,
    .quote-wizard-rule {
        display: none;
    }

    .quote-wizard-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto minmax(0, 1fr);
        gap: 8px;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .quote-wizard-sidebar {
        display: block;
        min-width: 0;
    }

    .quote-stepper-lite,
    .quote-stepper-rail {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .quote-step-lite {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 5px;
        min-height: 48px;
        padding: 6px;
        border-radius: 10px;
    }

    .quote-step-lite > span:last-child {
        display: block;
        min-width: 0;
    }

    .quote-step-lite-index {
        width: 24px;
        height: 24px;
        font-size: 0.72rem;
    }

    .quote-step-lite strong {
        display: block;
        overflow: hidden;
        font-size: 0.68rem;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .quote-step-lite small {
        display: none;
    }

    .quote-wizard-main {
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto auto;
        gap: 6px;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .quote-step-panel-lite.is-active {
        display: grid;
        min-height: 0;
        max-height: 100%;
        gap: 8px;
        padding: 10px;
        overflow-x: hidden;
        overflow-y: auto;
        border-radius: 14px;
        scrollbar-width: none;
    }

    .quote-step-panel-lite.is-active::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .quote-panel-header-lite {
        align-items: center;
        gap: 8px;
    }

    .quote-panel-header-lite h4 {
        margin: 0;
        font-size: 1rem;
    }

    .quote-panel-header-lite p,
    .quote-step-callout p,
    .quote-inline-note p {
        display: none;
    }

    .quote-step-pill {
        min-width: 0;
        padding: 6px 8px;
        border-radius: 9px;
        font-size: 0.72rem;
    }

    .quote-step-card,
    .quote-builder-group-lite,
    .quote-custom-formula-builder,
    .quote-pochette-section {
        gap: 8px;
        padding: 10px;
        border-radius: 12px;
    }

    .quote-step-callout,
    .quote-step-callout-compact,
    .quote-inline-note,
    .quote-lines-guidance article {
        gap: 4px;
        padding: 8px 10px;
        border-radius: 9px;
    }

    .quote-lines-guidance {
        display: none;
    }

    .quote-form-grid,
    .quote-form-grid-compact {
        gap: 8px;
    }

    .quote-form-field-notes textarea {
        min-height: 64px;
    }

    .quote-modal-footer {
        position: static;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
        gap: 6px;
        margin: 0;
        padding-top: 6px;
        background: transparent;
    }

    .quote-modal-footer-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .quote-modal-footer .button-link {
        min-height: 40px;
        padding: 8px 10px;
    }

    .orders-builder-dialog {
        width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        margin: 0;
        overflow: hidden;
    }

    .orders-builder-card {
        grid-template-rows: auto minmax(0, 1fr);
        gap: 8px;
        padding: 10px 12px;
        overflow: hidden;
    }

    .orders-builder-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding-bottom: 8px;
        border-bottom: 1px solid rgba(22, 46, 72, 0.12);
    }

    .orders-builder-head h3 {
        margin: 2px 0 0;
        font-size: 1.15rem;
    }

    .orders-builder-head p:last-child {
        display: none;
    }

    .orders-builder-head .button-link {
        min-height: 36px;
        padding: 7px 11px;
    }

    .orders-builder-form {
        grid-template-rows: auto minmax(0, 1fr);
        align-content: stretch;
        gap: 8px;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .orders-builder-flow {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .orders-builder-flow-step,
    [data-orders-builder-root][data-current-step="photo"] .orders-builder-flow-step,
    [data-orders-builder-root][data-current-step="details"] .orders-builder-flow-step {
        min-height: 52px;
        gap: 2px;
        justify-items: center;
        padding: 7px 4px;
        border-radius: 10px;
        text-align: center;
    }

    .orders-builder-flow-step span {
        font-size: 0.58rem;
        letter-spacing: 0.04em;
    }

    .orders-builder-flow-step strong {
        font-size: 0.72rem;
        line-height: 1.15;
    }

    .orders-builder-flow-step small,
    .orders-builder-topbar,
    .orders-builder-step-copy {
        display: none;
    }

    .orders-builder-inline-error:not([hidden]) {
        padding: 8px 10px;
        font-size: 0.82rem;
    }

    .orders-builder-step-panel {
        min-height: 0;
        max-height: 100%;
        gap: 8px;
        padding: 10px;
        overflow-x: hidden;
        overflow-y: auto;
        border-radius: 14px;
        scrollbar-width: none;
    }

    .orders-builder-step-panel::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .orders-builder-campaign-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .orders-builder-campaign-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .orders-builder-campaign-summary article {
        min-width: 0;
        gap: 3px;
        padding: 8px;
        border-radius: 9px;
    }

    .orders-builder-campaign-summary span {
        font-size: 0.58rem;
        letter-spacing: 0.03em;
    }

    .orders-builder-campaign-summary strong {
        overflow-wrap: anywhere;
        font-size: 0.82rem;
    }

    .orders-builder-student-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
    }

    .orders-builder-photo-search-shell,
    .orders-builder-selected-photo-shell,
    .orders-builder-current-order-shell,
    .orders-builder-review-shell {
        padding: 10px;
        border-radius: 12px;
        box-shadow: none;
    }

    .orders-builder-panel-head {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 8px;
    }

    .orders-builder-panel-head p,
    .orders-builder-review-intro p:last-child,
    .orders-builder-student-search-meta span {
        display: none;
    }

    .orders-builder-panel-index {
        width: 30px;
        height: 30px;
        border-radius: 9px;
    }

    .orders-builder-step-actions,
    .orders-builder-step-actions-group {
        position: sticky;
        z-index: 3;
        bottom: -10px;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
        width: 100%;
        padding-top: 8px;
        background: inherit;
    }

    .orders-builder-step-actions .button-link {
        min-height: 40px;
        padding: 8px 10px;
    }
}

@media (max-width: 520px) {
    .nav-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .topbar {
        display: block;
    }

    .sidebar-nav-group-head {
        padding-inline: 7px;
    }

    .sidebar-nav-group-title {
        overflow: visible;
        font-size: 0.62rem;
        line-height: 1.15;
        text-overflow: clip;
        white-space: normal;
    }

    .school-chip {
        display: none;
    }

    .dashboard-welcome-actions,
    .dashboard-overview-grid,
    .quote-state-strip-compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Production workspace */
.production-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.52fr);gap:22px;align-items:stretch;margin-bottom:16px;padding:26px 28px;border:1px solid #d8e2df;border-radius:22px;background:radial-gradient(circle at 86% 18%,rgba(235,139,45,.14),transparent 28%),linear-gradient(135deg,#fffdf8 0%,#f2f8f6 100%)}
.production-hero h2{margin:4px 0 8px;color:#123b43;font-size:clamp(26px,2.2vw,38px);line-height:1.05}
.production-hero>div>p:last-child{max-width:760px;margin:0;color:#52686c;font-size:15px;line-height:1.55}
.production-night-card{display:flex;gap:14px;align-items:center;padding:18px;border:1px solid #b9d4ce;border-radius:16px;background:rgba(255,255,255,.84)}
.production-night-icon{display:grid;flex:0 0 46px;width:46px;height:46px;place-items:center;border-radius:15px;background:#123b43;color:#fff;font-size:17px;font-weight:900}
.production-night-card div{display:grid;gap:4px}.production-night-card strong{color:#173e45;font-size:15px}
.production-night-card small,.production-night-card span{color:#617579;font-size:13px;line-height:1.35}
.production-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.production-kpis article{display:grid;min-height:116px;gap:5px;align-content:center;padding:17px 19px;border:1px solid #dbe4e2;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(23,62,69,.05)}
.production-kpis article:before{width:34px;height:4px;border-radius:999px;background:#2f8f83;content:""}
.production-kpis article:nth-child(2):before{background:#eb8b2d}.production-kpis article:nth-child(3):before{background:#377fbe}.production-kpis article:nth-child(4):before{background:#7f5af0}.production-kpis article.is-alert:before{background:#c64e4e}
.production-kpis span{color:#687b7e;font-size:13px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.production-kpis strong{color:#123b43;font-size:27px;line-height:1}.production-kpis small{color:#6b7d80;font-size:13px}
.production-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;padding:6px;border:1px solid #d9e3e0;border-radius:16px;background:#edf3f1}
.production-tabs a{display:flex;gap:9px;align-items:center;min-height:48px;padding:9px 13px;border-radius:11px;color:#4d6468;font-size:14px;font-weight:800;text-decoration:none}
.production-tabs a span{display:grid;width:25px;height:25px;place-items:center;border:1px solid #c7d6d2;border-radius:50%;background:#fff;font-size:12px}
.production-tabs a.is-active{background:#123b43;color:#fff;box-shadow:0 7px 18px rgba(18,59,67,.2)}.production-tabs a.is-active span{border-color:#eb8b2d;background:#eb8b2d}
.production-feedback{margin-bottom:14px;padding:12px 15px;border-radius:12px;font-size:14px;font-weight:750}.production-feedback.is-success{background:#e7f5f1;color:#17675d}.production-feedback.is-error{background:#fff0ee;color:#a33e36}
.production-workspace,.production-builder,.production-monitor{border-radius:18px}
.production-campaign-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin:16px 0 10px}
.production-campaign-toolbar input[type=search]{width:min(520px,100%);min-height:42px;padding:9px 13px;border:1px solid #cad8d5;border-radius:11px;background:#fff;font-size:14px}
.production-check-all{display:flex;gap:8px;align-items:center;color:#456166;font-size:14px;font-weight:750}
.production-campaign-list{display:grid;overflow:auto;max-height:470px;border:1px solid #dae4e2;border-radius:14px}
.production-campaign-line{display:grid;grid-template-columns:32px minmax(250px,1.5fr) minmax(120px,.6fr) minmax(140px,.7fr) minmax(110px,.5fr);gap:12px;align-items:center;min-height:62px;padding:8px 14px;border-bottom:1px solid #e3e9e8;background:#fff;cursor:pointer}
.production-campaign-line:last-child{border-bottom:0}.production-campaign-line:hover{background:#f5faf8}.production-campaign-line:has(input:checked){background:#eaf5f2}
.production-campaign-line input{width:18px;height:18px;accent-color:#2f8f83}.production-campaign-line>span{display:grid;gap:3px}.production-campaign-line strong{color:#173e45;font-size:14px}.production-campaign-line small{color:#718184;font-size:12px}
.production-submit-bar{display:flex;gap:18px;align-items:center;justify-content:flex-end;margin-top:16px;padding-top:15px;border-top:1px solid #e0e8e6}
.production-execution-choice{display:flex;gap:6px;padding:5px;border-radius:10px;background:#edf3f1}.production-execution-choice label{display:flex;gap:7px;align-items:center;padding:7px 10px;color:#36545a;font-size:13px;font-weight:750}.production-execution-choice input{accent-color:#2f8f83}
.production-split{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}
.production-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px}.production-form-grid label{display:grid;gap:6px}.production-form-grid label.is-wide{grid-column:1/-1}
.production-form-grid label>span{color:#36545a;font-size:13px;font-weight:800}.production-form-grid input,.production-form-grid select{width:100%;min-height:42px;padding:8px 10px;border:1px solid #cbd9d6;border-radius:10px;background:#fff;color:#193f46;font-size:14px}.production-form-grid select[multiple]{min-height:128px}.production-form-grid small{color:#718184;font-size:12px}
.production-form-grid .production-check-card{display:flex;align-items:flex-start}
.production-form-grid .production-check-card>input{flex:0 0 18px;width:18px;min-width:18px;height:18px;min-height:18px;margin-top:2px;padding:0}
.production-guidance{display:grid;gap:10px;align-content:start}.production-guidance article{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #dbe5e2;border-radius:14px;background:#fff}.production-guidance article>span{display:grid;flex:0 0 39px;width:39px;height:39px;place-items:center;border-radius:11px;background:#173e45;color:#fff;font-size:12px;font-weight:900}.production-guidance strong{color:#173e45;font-size:14px}.production-guidance p{margin:4px 0 0;color:#687b7e;font-size:13px;line-height:1.45}
.production-lab-notice{display:flex;gap:12px;align-items:center;margin-top:15px;padding:12px 14px;border:1px solid #bcd8d1;border-radius:11px;background:#ecf7f4;color:#285e57;font-size:13px}
.production-batch-list{display:grid;gap:9px;margin-top:14px}.production-batch-row{display:grid;grid-template-columns:minmax(230px,1.15fr) minmax(130px,.55fr) minmax(220px,1fr) minmax(180px,.8fr) 76px;gap:14px;align-items:center;min-height:82px;padding:12px 14px;border:1px solid #dce5e3;border-radius:13px;background:#fff}
.production-batch-row[data-batch-status=running]{border-color:#9bc7be;box-shadow:inset 4px 0 #2f8f83}.production-batch-row[data-batch-status=failed]{border-color:#efb5ae;box-shadow:inset 4px 0 #c64e4e}.production-batch-row[data-batch-status=partial]{border-color:#eac38f;box-shadow:inset 4px 0 #d58f37}
.production-batch-kind{display:flex;gap:11px;align-items:center;min-width:0}.production-kind-icon{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:12px;background:#173e45;color:#fff;font-size:11px;font-weight:900}.production-kind-photo_render{background:#2f8f83}.production-kind-order_export{background:#377fbe}.production-kind-campaign_documents{background:#c64e4e}.production-kind-lab_order{background:#7f5af0}.production-kind-campaign_publication{background:#eb8b2d}
.production-auto-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.production-auto-options label{display:flex;gap:9px;align-items:center;min-height:42px;padding:9px 11px;border:1px solid #d6e2df;border-radius:10px;background:#f8fbfa;color:#294f55;font-size:13px;font-weight:750}.production-auto-options input{width:18px;height:18px;accent-color:#2f8f83}
@media(max-width:760px){.production-auto-options{grid-template-columns:1fr}}
.production-batch-kind div,.production-batch-schedule,.production-batch-progress{display:grid;min-width:0;gap:4px}.production-batch-kind strong{overflow:hidden;color:#173e45;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.production-batch-kind small,.production-batch-schedule small,.production-batch-progress small{overflow:hidden;color:#6e8083;font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.production-batch-progress-head{display:flex;justify-content:space-between;color:#36545a;font-size:12px}.production-progress-track{display:block;overflow:hidden;height:7px;border-radius:999px;background:#e4ecea}.production-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f8f83,#62b8aa);transition:width .35s ease}
.production-batch-artifacts{display:flex;flex-wrap:wrap;gap:5px}.production-file-link{padding:5px 7px;border:1px solid #c7d9d5;border-radius:7px;background:#f2f8f6;color:#216d64;font-size:11px;font-weight:800;text-decoration:none}.production-no-file,.production-finished-at{color:#839093;font-size:12px}.production-batch-actions{display:flex;justify-content:flex-end}
.status-chip.status-queued,.status-chip.status-scheduled{background:#edf1f4;color:#53656b}.status-chip.status-running{background:#e3f4ef;color:#17685e}.status-chip.status-success{background:#e7f5e9;color:#28713b}.status-chip.status-partial{background:#fff1da;color:#95600e}.status-chip.status-failed{background:#ffe8e5;color:#a43f37}.status-chip.status-cancelled{background:#efefef;color:#656565}
@media(max-width:1180px){.production-hero,.production-split{grid-template-columns:1fr}.production-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.production-batch-row{grid-template-columns:minmax(220px,1fr) 140px minmax(220px,1fr)}.production-batch-artifacts{grid-column:1/3}}
@media(max-width:760px){.production-hero{padding:20px}.production-kpis,.production-tabs,.production-form-grid{grid-template-columns:1fr}.production-campaign-line{grid-template-columns:28px 1fr}.production-campaign-line>span:not(.production-campaign-main){display:none}.production-submit-bar,.production-campaign-toolbar{align-items:stretch;flex-direction:column}.production-batch-row{grid-template-columns:1fr}.production-batch-artifacts{grid-column:auto}}


/* Suivi unifie des demandes ecoles et parents. */
.secretariat-head-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.integration-state {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 11px;
    border-radius: 999px;
    background: #fff1dc;
    color: #8b591f;
    font-size: 0.78rem;
    font-weight: 800;
}

.integration-state.is-ready {
    background: #e2f3ed;
    color: #17634f;
}

.secretariat-ticket-detail {
    margin-bottom: 16px;
}

.secretariat-conversation {
    display: grid;
    gap: 10px;
    max-height: 420px;
    overflow-y: auto;
    padding: 4px 2px 12px;
}

.secretariat-message {
    width: min(78%, 780px);
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #f4f7f6;
}

.secretariat-message.is-outbound {
    justify-self: end;
    background: #e2f2ee;
    border-color: #bee0d7;
}

.secretariat-message > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.secretariat-message p {
    margin: 8px 0;
}

.secretariat-message small,
.secretariat-message time {
    color: var(--muted);
}

.secretariat-reply-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.secretariat-event-line {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-top: 12px;
}

.secretariat-event-line span {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: #f1f3f2;
    color: var(--muted);
    font-size: 0.75rem;
}

.secretariat-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.secretariat-row-actions form {
    display: flex;
    align-items: center;
    gap: 6px;
}

@media (max-width: 900px) {
    .secretariat-head-actions,
    .secretariat-row-actions {
        justify-content: flex-start;
    }

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

    .secretariat-message {
        width: 92%;
    }
}

/* Accueil simplifie, messagerie par role et secretariat. */
.topbar-actions > a[title="Accueil"],
.topbar-actions > a[title="Planning"],
.topbar-actions > a[title="Commandes"] {
    display: none;
}

.topbar-icon-link {
    position: relative;
}

.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;
}

.topbar-icon-link svg,
.dashboard-school-search svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.topbar-message-link b {
    position: absolute;
    top: -6px;
    right: -6px;
    display: grid;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    background: #c64d42;
    font-size: 0.68rem;
}

.dashboard-simple-shell {
    display: grid;
    gap: 16px;
}

.dashboard-simple-hero,
.message-page-head,
.secretariat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 26px;
    border: 1px solid rgba(20, 52, 59, 0.09);
    border-radius: 22px;
    background: linear-gradient(135deg, #fff 0%, #f0f7f4 100%);
    box-shadow: 0 14px 34px rgba(20, 52, 59, 0.07);
}

.dashboard-simple-hero h2,
.message-page-head h2,
.secretariat-head h2 {
    margin: 3px 0 5px;
    font-size: clamp(1.55rem, 2.4vw, 2.15rem);
}

.dashboard-simple-hero p,
.message-page-head p,
.secretariat-head p {
    margin: 0;
    color: #536b74;
}

.dashboard-school-search {
    display: grid;
    grid-template-columns: 24px minmax(260px, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: min(670px, 58%);
    padding: 8px 8px 8px 14px;
    border: 1px solid rgba(20, 52, 59, 0.14);
    border-radius: 16px;
    background: #fff;
}

.dashboard-school-search input {
    min-height: 40px;
    border: 0;
    outline: 0;
    background: transparent;
}

.dashboard-school-results {
    grid-column: 1 / -1;
    display: grid;
    width: 100%;
    margin-top: 4px;
    border: 1px solid #dbe7e3;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}

.dashboard-school-results a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 15px;
    border-bottom: 1px solid #e7efec;
}

.dashboard-school-results a:last-child { border-bottom: 0; }
.dashboard-school-results span,
.dashboard-school-results strong,
.dashboard-school-results small { display: block; }
.dashboard-school-results small { margin-top: 2px; color: #607477; }
.dashboard-school-results b { color: var(--accent-dark); font-size: 0.86rem; }
.dashboard-school-results p { padding: 15px; }

.dashboard-simple-kpis,
.secretariat-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.dashboard-simple-kpis article,
.secretariat-summary article {
    padding: 17px 18px;
    border: 1px solid rgba(20, 52, 59, 0.08);
    border-radius: 17px;
    background: #fff;
}

.dashboard-simple-kpis span,
.dashboard-simple-kpis strong,
.dashboard-simple-kpis small,
.secretariat-summary span,
.secretariat-summary strong { display: block; }
.dashboard-simple-kpis span,
.secretariat-summary span { color: #607477; font-size: 0.78rem; font-weight: 900; text-transform: uppercase; }
.dashboard-simple-kpis strong,
.secretariat-summary strong { margin-top: 5px; color: #082c36; font-size: 1.55rem; }
.dashboard-simple-kpis small { margin-top: 3px; color: #708187; }

.dashboard-simple-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.dashboard-simple-action-list,
.dashboard-simple-shoot-list { display: grid; gap: 8px; }
.dashboard-simple-action-list > a,
.dashboard-simple-shoot-list > a {
    display: grid;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid #e0e9e6;
    border-radius: 13px;
    background: #fbfdfc;
}
.dashboard-simple-action-list > a { grid-template-columns: 88px minmax(0, 1fr); }
.dashboard-simple-action-list > a > span { color: #8a5c19; font-size: 0.76rem; font-weight: 900; text-transform: uppercase; }
.dashboard-simple-action-list strong,
.dashboard-simple-action-list small,
.dashboard-simple-shoot-list strong,
.dashboard-simple-shoot-list small { display: block; }
.dashboard-simple-action-list small,
.dashboard-simple-shoot-list small { margin-top: 2px; color: #607477; line-height: 1.35; }
.dashboard-simple-shoot-list > a { grid-template-columns: 48px minmax(0, 1fr); }
.dashboard-simple-shoot-list time { display: grid; min-height: 48px; place-content: center; border-radius: 12px; color: #fff; background: #245f60; text-align: center; }
.dashboard-simple-shoot-list time strong { font-size: 1.05rem; }
.dashboard-simple-shoot-list time small { margin: 0; color: #d9efea; text-transform: uppercase; }
.dashboard-simple-shortcuts { display: flex; align-items: center; gap: 9px; }
.dashboard-simple-shortcuts > div { margin-right: auto; }
.dashboard-simple-shortcuts > div strong,
.dashboard-simple-shortcuts > div span { display: block; }
.dashboard-simple-shortcuts > div span { margin-top: 2px; color: #607477; }

.message-page-actions { display: flex; gap: 9px; }
.message-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding-block: 12px; }
.message-toolbar nav { display: flex; gap: 7px; }
.message-toolbar nav a { padding: 9px 13px; border-radius: 11px; color: #536b74; font-weight: 850; }
.message-toolbar nav a.is-active { color: #fff; background: #174f54; }
.message-toolbar form { display: flex; gap: 8px; width: min(560px, 55%); }
.message-toolbar input { flex: 1; }
.message-workspace { display: grid; grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.45fr); gap: 16px; margin-top: 16px; min-height: 610px; }
.message-list-panel,
.message-detail-panel { min-width: 0; }
.message-thread-list { display: grid; gap: 5px; max-height: 690px; overflow-y: auto; }
.message-thread-list > a { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 10px; padding: 11px; border: 1px solid transparent; border-radius: 13px; color: #183c45; }
.message-thread-list > a:hover,
.message-thread-list > a.is-active { border-color: #b8d7d0; background: #edf7f4; }
.message-thread-list > a.is-unread { box-shadow: inset 3px 0 #e18a32; background: #fffaf1; }
.message-avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; color: #fff; background: #2d7771; font-weight: 950; }
.message-thread-list span,
.message-thread-list strong,
.message-thread-list b,
.message-thread-list small { min-width: 0; }
.message-thread-list strong,
.message-thread-list b,
.message-thread-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message-thread-list b { margin-top: 2px; font-size: 0.9rem; }
.message-thread-list small { margin-top: 3px; color: #6b7d82; font-size: 0.76rem; }
.message-empty { padding: 24px 10px; color: #607477; text-align: center; }
.message-detail-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 16px; border-bottom: 1px solid #e1e9e6; }
.message-detail-panel h3 { margin: 3px 0 5px; font-size: 1.35rem; }
.message-detail-panel header span { color: #607477; }
.message-detail-meta { display: flex; flex-wrap: wrap; gap: 7px; padding: 14px 0; }
.message-detail-meta span { padding: 6px 9px; border-radius: 999px; color: #406068; background: #edf3f1; font-size: 0.78rem; font-weight: 800; }
.message-detail-body { min-height: 220px; padding: 20px; border-radius: 15px; color: #173a43; background: #f8fbfa; font-size: 1rem; line-height: 1.65; }
.message-routing-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: 16px; padding: 14px; border-radius: 15px; background: #f1f6f4; }
.message-routing-form label span { display: block; margin-bottom: 5px; color: #536b74; font-size: 0.78rem; font-weight: 900; text-transform: uppercase; }
.message-detail-empty { display: grid; min-height: 360px; place-content: center; color: #607477; text-align: center; }
.message-detail-empty strong { color: #183c45; font-size: 1.1rem; }
.message-detail-empty p { margin-top: 4px; }
.message-compose-dialog .modal-card { width: min(760px, 92vw); }
.message-system-recipient {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid #cce1db;
    border-radius: 14px;
    color: #17454b;
    background: linear-gradient(135deg, #eef8f5, #f9fcfb);
}
.message-system-recipient div,
.message-system-recipient strong,
.message-system-recipient small { display: block; }
.message-system-recipient small { margin-top: 3px; color: #5d7479; }

.secretariat-team { display: grid; min-width: 230px; padding: 14px 16px; border-radius: 15px; color: #17454b; background: #e4f2ee; }
.secretariat-team span { font-size: 0.74rem; font-weight: 900; text-transform: uppercase; }
.secretariat-team strong { margin-top: 3px; font-size: 1.4rem; }
.secretariat-team small { margin-top: 2px; color: #4d6a70; }
.secretariat-summary { margin-top: 16px; }
.secretariat-filter-card { margin-top: 16px; }
.secretariat-filter-card form { display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(2, minmax(150px, 0.7fr)) auto; align-items: end; gap: 10px; }
.secretariat-queue-card { margin-top: 16px; }
.secretariat-request-list { display: grid; gap: 7px; }
.secretariat-request-row { display: grid; grid-template-columns: 76px minmax(0, 1fr) 118px minmax(230px, auto); align-items: center; gap: 12px; padding: 12px; border: 1px solid #e0e9e6; border-radius: 14px; background: #fff; }
.secretariat-request-row.is-urgent { border-left: 4px solid #c64d42; }
.secretariat-request-row.is-high { border-left: 4px solid #df8b31; }
.secretariat-origin { display: inline-flex; justify-content: center; padding: 7px 9px; border-radius: 999px; color: #256b62; background: #e4f2ee; font-size: 0.75rem; font-weight: 900; }
.secretariat-origin.is-parent { color: #78558c; background: #f0e9f5; }
.secretariat-request-copy > div { display: flex; align-items: center; gap: 8px; }
.secretariat-request-copy p { margin: 3px 0; color: #4f6770; line-height: 1.35; }
.secretariat-request-copy small,
.secretariat-request-row time { color: #718288; font-size: 0.76rem; }
.secretariat-request-row form { display: flex; align-items: center; gap: 7px; }
.secretariat-request-row form select { min-width: 120px; }

@media (max-width: 1180px) {
    .dashboard-simple-hero,
    .message-page-head,
    .secretariat-head { align-items: flex-start; flex-direction: column; }
    .dashboard-school-search { width: 100%; }
    .message-workspace { grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr); }
    .secretariat-request-row { grid-template-columns: 70px minmax(0, 1fr) auto; }
    .secretariat-request-row form { grid-column: 2 / -1; justify-content: flex-end; }
}

@media (max-width: 820px) {
    .dashboard-simple-kpis,
    .secretariat-summary,
    .dashboard-simple-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-simple-shortcuts,
    .message-toolbar { align-items: stretch; flex-direction: column; }
    .dashboard-simple-shortcuts > div { margin-right: 0; }
    .message-toolbar form { width: 100%; }
    .message-workspace { grid-template-columns: 1fr; min-height: auto; }
    .message-thread-list { max-height: 390px; }
    .secretariat-filter-card form { grid-template-columns: 1fr 1fr; }
    .secretariat-request-row { grid-template-columns: 66px minmax(0, 1fr); }
    .secretariat-request-row time { grid-column: 2; }
}

@media (max-width: 540px) {
    .dashboard-school-search { grid-template-columns: 22px minmax(0, 1fr); }
    .dashboard-school-search button { grid-column: 1 / -1; }
    .dashboard-simple-kpis,
    .secretariat-summary,
    .dashboard-simple-grid,
    .secretariat-filter-card form { grid-template-columns: 1fr; }
    .message-page-actions,
    .message-toolbar form,
    .secretariat-request-row form { align-items: stretch; flex-direction: column; }
    .message-page-actions > *,
    .dashboard-simple-shortcuts > * { width: 100%; }
    .message-routing-form { grid-template-columns: 1fr; }
}

/* Cohesive photographer redesign inspired by the school interface refresh. */
:root {
    --photo-bg: #f3f6f2;
    --photo-surface: #ffffff;
    --photo-surface-tint: #f8fbf8;
    --photo-line: rgba(25, 49, 60, 0.12);
    --photo-shadow: 0 18px 46px rgba(20, 52, 59, 0.09);
}

body {
    min-width: 0;
    background:
        radial-gradient(circle at 85% 2%, rgba(47, 143, 131, 0.12), transparent 30%),
        linear-gradient(180deg, #f7faf7 0%, var(--photo-bg) 100%);
    font-size: 16px;
}

.app-shell,
.dashboard-body .app-shell {
    grid-template-columns: 268px minmax(0, 1fr);
    background: transparent;
}

.sidebar {
    padding: 18px 12px;
    background: linear-gradient(180deg, #123f46 0%, #0f2f35 100%);
    box-shadow: 10px 0 28px rgba(16, 42, 48, 0.08);
}

.brand {
    min-height: 62px;
    padding: 12px 10px 16px;
    border-bottom-color: rgba(255, 255, 255, 0.14);
}

.brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--accent) 0%, #ffd08a 100%);
    color: #33220d;
    font-size: 0.95rem;
}

.brand strong {
    font-size: 1.02rem;
}

.brand p {
    font-size: 0.82rem;
}

.nav-links {
    gap: 10px;
    padding: 2px 2px 14px;
}

.sidebar-nav-group {
    border-radius: 16px;
}

.sidebar-nav-group.is-active,
.sidebar-nav-group[open] {
    border-color: rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.07);
}

.sidebar-nav-group-head {
    min-height: 46px;
    padding: 11px 12px;
}

.sidebar-nav-group-short {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 0.76rem;
    font-weight: 850;
}

.sidebar-nav-group-title {
    font-size: 0.76rem;
    letter-spacing: 0.07em;
}

.sidebar-nav-links {
    gap: 5px;
    padding: 0 7px 9px;
}

.sidebar-nav-links a {
    min-height: 42px;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 9px;
    padding: 4px 10px 4px 8px;
    border: 1px solid transparent;
    border-radius: 12px;
}

.sidebar-nav-links a::before {
    display: none;
}

.sidebar-nav-link-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: #fdf8ef;
    font-size: 0.82rem;
    font-weight: 850;
}

.sidebar-nav-links a:hover,
.sidebar-nav-links a.active {
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.13);
}

.sidebar-nav-links a.active .sidebar-nav-link-icon {
    background: var(--accent);
    color: #2d1f0c;
}

.sidebar-nav-link-label {
    font-size: 0.92rem;
}

.main-content,
.planning-page .main-content,
.dashboard-body .main-content {
    padding: 26px clamp(22px, 2.3vw, 34px) 34px;
}

.topbar,
.dashboard-body .topbar {
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
}

.topbar h1 {
    font-size: clamp(2rem, 3vw, 2.7rem);
    letter-spacing: -0.035em;
}

.eyebrow {
    font-size: 0.78rem;
    letter-spacing: 0.12em;
}

.topbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.topbar-icon-link,
.topbar-logout-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    border: 1px solid var(--photo-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--ink);
    box-shadow: 0 8px 24px rgba(20, 52, 59, 0.06);
}

.topbar-icon-link {
    width: 42px;
    font-size: 1rem;
    font-weight: 850;
}

.topbar-logout-link {
    padding: 0 14px;
    font-size: 0.86rem;
    font-weight: 800;
}

.topbar-icon-link:hover,
.topbar-logout-link:hover {
    border-color: color-mix(in srgb, var(--accent) 55%, white 45%);
    background: #ffffff;
}

.quick-command-bar {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: -8px 0 22px;
}

.quick-command {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 9px 11px;
    border: 1px solid rgba(20, 52, 59, 0.1);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.78);
    color: var(--ink);
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(20, 52, 59, 0.05);
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}

.quick-command:hover,
.quick-command:focus-visible,
.quick-command.is-active {
    transform: translateY(-1px);
    border-color: color-mix(in srgb, var(--accent) 46%, white 54%);
    background: #ffffff;
    box-shadow: 0 16px 30px rgba(20, 52, 59, 0.1);
}

.quick-command.is-active {
    outline: 2px solid color-mix(in srgb, var(--accent) 22%, transparent);
}

.quick-command-icon {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--sidebar) 92%, white 8%);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 900;
}

.quick-command-copy {
    min-width: 0;
}

.quick-command-copy strong,
.quick-command-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-command-copy strong {
    font-size: 0.92rem;
}

.quick-command-copy small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 700;
}

.school-chip {
    min-width: 210px;
    max-width: 390px;
    padding: 11px 15px;
    border-color: var(--photo-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 8px 24px rgba(20, 52, 59, 0.06);
}

.hero,
body .hero,
.dashboard-welcome,
.section-card,
.stat-card,
.dashboard-overview-card,
.dashboard-status-board,
.dashboard-campaigns-card,
.quote-hub-panel,
.orders-hub-panel,
.billing-hero-card,
.account-hero-card,
.schools-map-hero,
.stats-hero,
.administration-hero,
.quote-ledger-shell,
.orders-ledger-shell,
.school-ledger-shell,
.billing-ledger-card,
.catalog-visual-card,
.education-api-summary-card,
.education-api-reference-detail-card,
.campaign-summary-card,
.campaign-edit-card,
.campaign-schedule-card,
.planning-agenda-card,
.planning-agenda-board,
.planning-agenda-header,
.planning-agenda-detail-board {
    border: 1px solid var(--photo-line);
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 32px rgba(20, 52, 59, 0.06);
}

.hero,
body .hero,
.quote-hub-panel,
.orders-hub-panel,
.billing-hero-card,
.account-hero-card,
.schools-map-hero,
.stats-hero,
.administration-hero {
    padding: 22px 24px;
}

body .hero h2,
.dashboard-welcome h2,
.quote-hub-head h2,
.section-head h2 {
    letter-spacing: -0.025em;
}

body .hero p,
.section-head p,
.quote-hub-head p,
.dashboard-welcome p,
.table-subtext {
    font-size: 0.96rem;
    line-height: 1.48;
}

.stat-card,
.dashboard-stat-grid .stat-card,
.billing-kpi-card,
.quote-state-pill,
.planning-agenda-summary-card {
    min-height: 96px;
    padding: 17px 18px;
    border-radius: 18px;
}

.stat-card strong,
.dashboard-stat-grid .stat-card strong,
.dashboard-overview-card strong,
.quote-state-pill strong {
    font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.section-card,
.quote-ledger-shell,
.orders-ledger-shell,
.school-ledger-shell,
.billing-ledger-card {
    padding: 22px;
}

.table-wrap,
.quote-ledger-table-wrap,
.education-api-table-wrap {
    border: 1px solid var(--photo-line);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: none;
}

.data-table th,
.compact-table th {
    padding: 13px 14px;
    background: #f3f7f5;
    color: #41565d;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
}

.data-table td,
.compact-table td {
    padding: 12px 14px;
    font-size: 0.94rem;
    line-height: 1.38;
}

.interactive-row:hover td,
.interactive-row:focus-visible td {
    background: color-mix(in srgb, var(--mint) 6%, white 94%);
}

.button-link,
.primary-btn,
.secondary-btn,
.quote-row-action,
.billing-action-row,
.planning-agenda-create-button,
.table-action-button {
    min-height: 42px;
    border-radius: 13px;
    font-weight: 800;
}

.quote-row-action-compact,
.table-action-button {
    min-height: 36px;
}

.form-field {
    gap: 7px;
}

.form-field > span,
.form-field > label {
    font-size: 0.86rem;
}

input,
select,
textarea,
.form-field input,
.form-field select,
.form-field textarea {
    min-height: 44px;
    border-radius: 13px;
    font-size: 0.95rem;
}

textarea,
.form-field textarea {
    min-height: 98px;
}

.dashboard-overview-grid,
.dashboard-status-grid,
.quote-state-strip-compact,
.billing-kpi-grid,
.admin-kpi-grid {
    gap: 14px;
}

.dashboard-campaign-row,
.history-register-item,
.campaign-slot-row,
.billing-action-row {
    border: 1px solid var(--photo-line);
    border-radius: 16px;
    background: #ffffff;
}

.modal-dialog,
.modal-dialog-wide,
.education-api-dialog,
.quote-modal-dialog,
.orders-builder-dialog {
    border-radius: 24px;
}

.modal-card,
.education-api-dialog-card,
.quote-modal-card,
.orders-builder-card {
    border-radius: 22px;
    background: #ffffff;
}

.quote-modal-card {
    padding: 22px 24px;
}

.quote-step-panel-lite.is-active {
    border-radius: 18px;
}

.planning-agenda-shell {
    gap: 16px;
}

.planning-agenda-sidebar {
    gap: 14px;
}

.planning-agenda-team-card,
.planning-agenda-mini-card {
    border-radius: 18px;
    background: #ffffff;
}

/* Passe globale photographe : lisibilite, densite et coherence des pages metier. */
.main-content {
    font-size: 16px;
}

.section-head h3,
.quote-hub-head h2,
.modal-head h3 {
    letter-spacing: -0.028em;
}

.section-head p,
.quote-hub-head p,
.modal-head p {
    max-width: 78ch;
}

.form-field span {
    color: #405760;
    font-size: 0.79rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.form-field input,
.form-field select,
.form-field textarea {
    min-height: 42px;
    border-color: rgba(20, 52, 59, 0.14);
    background: rgba(255, 255, 255, 0.96);
    font-size: 0.94rem;
}

.quote-ledger-filters,
.orders-ledger-filters,
.school-ledger-filters,
.global-search-form,
.work-queue-filter-bar {
    border: 1px solid rgba(20, 52, 59, 0.08);
    border-radius: 20px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(246, 250, 249, 0.9));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.table-wrap {
    border: 1px solid rgba(20, 52, 59, 0.08);
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 30px rgba(20, 52, 59, 0.06);
}

.data-table {
    border-collapse: separate;
    border-spacing: 0;
}

.data-table thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f5faf8;
    color: #405760;
    font-size: 0.79rem;
    font-weight: 950;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.data-table td {
    color: #082c36;
    font-size: 0.94rem;
    line-height: 1.38;
}

.table-subtext {
    color: #536b74;
    font-size: 0.84rem;
    line-height: 1.35;
}

.interactive-row {
    transition: background 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.interactive-row:hover td,
.interactive-row:focus-within td {
    background: #f7fbfa;
}

.quote-row-action-compact,
.button-link {
    font-weight: 850;
}

.status-chip,
.quote-state-badge,
.quote-reservation-badge {
    min-height: 28px;
    align-items: center;
}

.modal-dialog {
    padding: 20px;
}

.modal-card {
    box-shadow: 0 28px 80px rgba(20, 52, 59, 0.28);
}

.note-block {
    border-radius: 18px;
    line-height: 1.45;
}

.production-manifest-card {
    border-color: color-mix(in srgb, var(--accent, #1f6f68) 28%, #dce6e4);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--accent, #1f6f68) 7%, white), white 58%);
}

.production-manifest-card .section-head {
    align-items: flex-start;
}

.production-manifest-card .section-head h3 {
    margin-top: 3px;
}

.production-manifest-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.production-manifest-stats .mini-stat-card {
    min-height: 84px;
}

.production-readiness {
    padding: 14px 16px;
    border: 1px solid #d9e5e3;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
}

.production-readiness-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 9px;
}

.production-readiness-track {
    height: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #dfe9e7;
}

.production-readiness-track span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #d38a31, var(--accent, #1f6f68));
}

.production-manifest-actions {
    align-items: center;
    margin-top: 16px;
}

.production-manifest-actions .helper-copy {
    max-width: 760px;
}

.production-warning-list {
    margin-top: 14px;
    padding: 14px 16px;
    border: 1px solid #efd4aa;
    border-radius: 14px;
    background: #fff8ec;
    color: #6b4b21;
}

.production-warning-list ul {
    margin: 8px 0 0;
    padding-left: 20px;
}

.production-warning-list li + li {
    margin-top: 5px;
}

@media (max-width: 1100px) {
    .production-manifest-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .production-manifest-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .production-manifest-actions,
    .production-manifest-actions .selector-list {
        align-items: stretch;
        flex-direction: column;
    }
}

body.sidebar-is-collapsed .app-shell,
body.sidebar-is-collapsed.dashboard-body .app-shell {
    grid-template-columns: 86px minmax(0, 1fr);
}

body.sidebar-is-collapsed .sidebar {
    padding-inline: 10px;
}

body.sidebar-is-collapsed .brand {
    justify-content: center;
    padding-inline: 4px;
}

body.sidebar-is-collapsed .sidebar-nav-group-head {
    justify-content: center;
    padding-inline: 6px;
}

body.sidebar-is-collapsed .sidebar-nav-links a {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    padding-inline: 6px;
}

body.sidebar-is-collapsed .sidebar-nav-link-icon {
    width: 36px;
    height: 36px;
}

@media (max-width: 1180px) {
    .app-shell,
    .dashboard-body .app-shell {
        grid-template-columns: 238px minmax(0, 1fr);
    }

    .topbar {
        align-items: flex-start;
    }

    .topbar-actions {
        flex-wrap: wrap;
    }

    .quick-command-bar {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .topbar-actions {
        justify-content: flex-start;
        margin-top: 12px;
    }

    .school-chip {
        max-width: 100%;
    }

    .quick-command-bar {
        display: flex;
        gap: 8px;
        margin: -4px -18px 18px 0;
        overflow-x: auto;
        padding: 0 18px 6px 0;
        scrollbar-width: thin;
    }

    .quick-command {
        min-width: 190px;
    }
}

@media (max-width: 520px) {
    .topbar-icon-link,
    .topbar-logout-link {
        min-height: 38px;
    }

    .topbar-icon-link {
        width: 38px;
    }

    .topbar-logout-link {
        width: 100%;
    }

    .quick-command {
        min-width: 166px;
    }

    .quick-command-copy small {
        display: none;
    }
}
/* Production formats */
.production-photo-format-field {
  grid-column: 1 / -1;
  border: 1px solid color-mix(in srgb, var(--sidebar) 14%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface) 92%, var(--mint) 8%);
  padding: 14px;
}

/* Recherche globale du bandeau. */
.topbar-search-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 15px;
    border: 1px solid var(--photo-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.9);
    color: var(--ink);
    box-shadow: 0 8px 24px rgba(20, 52, 59, 0.06);
    cursor: pointer;
    font: inherit;
    font-size: 0.86rem;
    font-weight: 850;
    white-space: nowrap;
}

.topbar-search-trigger:hover,
.topbar-search-trigger:focus-visible {
    border-color: color-mix(in srgb, var(--accent) 55%, white 45%);
    background: #fff;
    outline: 0;
}

.topbar-search-trigger svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.global-search-modal-card {
    width: min(980px, calc(100vw - 36px));
    max-height: min(820px, calc(100vh - 44px));
    overflow: hidden;
    padding: 0;
}

.global-search-modal-head {
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(20, 52, 59, 0.09);
    background: linear-gradient(135deg, #fff 0%, #f0f7f4 100%);
}

.global-search-modal-head h3 {
    margin: 3px 0 4px;
    font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.global-search-modal-head p:last-child {
    margin: 0;
    color: #536b74;
}

.global-search-modal-form {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(180px, 230px) auto;
    align-items: end;
    gap: 12px;
    padding: 18px 24px;
    border-bottom: 1px solid rgba(20, 52, 59, 0.08);
    background: #fff;
}

.global-search-modal-form .button-link {
    min-height: 42px;
}

.global-search-dialog-results {
    min-height: 260px;
    max-height: min(56vh, 540px);
    overflow-y: auto;
    padding: 18px 24px 24px;
    background: #f6faf8;
}

.global-search-dialog-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

.global-search-dialog-summary div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.global-search-dialog-summary span,
.global-search-dialog-summary p {
    color: #536b74;
    font-size: 0.86rem;
    font-weight: 750;
}

.global-search-dialog-summary strong {
    display: inline-grid;
    min-width: 30px;
    height: 30px;
    padding: 0 8px;
    place-items: center;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
}

.global-search-dialog-summary p {
    margin: 0;
}

.global-search-dialog-list .global-search-row {
    grid-template-columns: 104px minmax(0, 1fr) auto;
    padding: 12px 14px;
    border-radius: 15px;
    box-shadow: none;
}

.global-search-dialog-empty {
    display: grid;
    justify-items: center;
    align-content: center;
    min-height: 220px;
    padding: 28px;
    text-align: center;
}

.global-search-dialog-empty > span {
    display: grid;
    width: 46px;
    height: 46px;
    margin-bottom: 12px;
    place-items: center;
    border-radius: 16px;
    background: rgba(47, 143, 131, 0.13);
    color: var(--accent-dark);
    font-size: 1.1rem;
    font-weight: 950;
}

.global-search-dialog-empty strong {
    font-size: 1.05rem;
}

.global-search-dialog-empty p {
    max-width: 480px;
    margin: 6px 0 0;
    color: #536b74;
}

.global-search-dialog-empty.is-compact {
    min-height: 190px;
}

.global-search-dialog-empty.is-loading > span {
    animation: global-search-pulse 1s ease-in-out infinite alternate;
}

.global-search-dialog-empty.is-error > span {
    background: #fae6e3;
    color: #a63d33;
}

@keyframes global-search-pulse {
    to { transform: scale(1.08); opacity: 0.66; }
}

@media (max-width: 860px) {
    .topbar-search-trigger span {
        display: none;
    }

    .topbar-search-trigger {
        width: 42px;
        padding: 0;
    }

    .global-search-modal-form {
        grid-template-columns: 1fr;
    }

    .global-search-dialog-results {
        max-height: 50vh;
    }

    .global-search-dialog-list .global-search-row {
        grid-template-columns: 1fr;
    }
}

.production-photo-format-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 11px;
}

.production-photo-format-head > div {
  display: grid;
  gap: 3px;
}

.production-photo-format-head span {
  color: var(--sidebar);
  font-weight: 800;
}

.production-photo-format-head small,
.production-photo-format-option small {
  color: var(--muted, #66757a);
}

.production-photo-format-options {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 9px;
}

.production-photo-format-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--sidebar) 12%, transparent);
  border-radius: 13px;
  background: var(--surface);
  padding: 11px;
  cursor: pointer;
}

.production-photo-format-option:has(input:checked) {
  border-color: var(--mint);
  box-shadow: inset 0 0 0 1px var(--mint);
}

.production-photo-format-option input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--mint);
}

.production-photo-format-option span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.production-photo-format-option strong {
  color: var(--sidebar);
}

.production-admin-format-list > ul,
.production-admin-format-list > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-checkbox-field > .production-admin-format-list {
  display: block;
}

.production-admin-format-list li label,
.production-admin-format-list > div > div > label {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid color-mix(in srgb, var(--sidebar) 12%, transparent);
  border-radius: 12px;
  background: var(--surface);
  padding: 10px 12px;
  font-weight: 750;
  cursor: pointer;
}

.production-admin-format-list li label:has(input:checked),
.production-admin-format-list > div > div > label:has(input:checked) {
  border-color: var(--mint);
  background: color-mix(in srgb, var(--surface) 88%, var(--mint) 12%);
}

.production-admin-format-list input {
  width: 18px;
  height: 18px;
  accent-color: var(--mint);
}

@media (max-width: 720px) {
  .production-photo-format-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .production-photo-format-options,
  .production-admin-format-list > ul,
  .production-admin-format-list > div {
    grid-template-columns: 1fr;
  }
}

/* Cockpit statistique predefini. */
.stats-cockpit {
    --stats-ink: #123b43;
    --stats-muted: #5d747a;
    --stats-line: rgba(18, 59, 67, 0.11);
    --stats-surface: #ffffff;
    --stats-soft: #f3f8f6;
    display: grid;
    gap: 18px;
}

.stats-cockpit h2,
.stats-cockpit h3,
.stats-cockpit p {
    margin-top: 0;
}

.stats-cockpit-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(460px, 0.9fr);
    align-items: stretch;
    gap: 18px;
    padding: 26px;
    overflow: hidden;
    border: 1px solid var(--stats-line);
    border-radius: 26px;
    background:
        radial-gradient(circle at 8% 10%, rgba(245, 170, 73, 0.2), transparent 28%),
        linear-gradient(135deg, #123f47 0%, #0f6264 58%, #1d7c72 100%);
    box-shadow: 0 20px 52px rgba(18, 59, 67, 0.14);
    color: #fff;
}

.stats-cockpit-hero-copy {
    align-self: center;
    max-width: 760px;
}

.stats-cockpit-hero-copy .eyebrow {
    color: #ffd89a;
}

.stats-cockpit-hero-copy h2 {
    margin-bottom: 9px;
    color: #fff;
    font-size: clamp(1.9rem, 3vw, 2.8rem);
    letter-spacing: -0.045em;
}

.stats-cockpit-hero-copy > p:not(.eyebrow) {
    max-width: 720px;
    margin-bottom: 17px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1rem;
    line-height: 1.55;
}

.stats-cockpit-scope {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.stats-cockpit-scope span {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 5px 11px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    font-size: 0.85rem;
    font-weight: 800;
}

.stats-cockpit-filter {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-content: center;
    gap: 12px;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 36px rgba(7, 45, 51, 0.18);
    color: var(--stats-ink);
}

.stats-cockpit-filter label {
    display: grid;
    gap: 6px;
}

.stats-cockpit-filter label span {
    color: #49636a;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.stats-cockpit-filter select {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #cfddda;
    border-radius: 12px;
    background: #fff;
    color: var(--stats-ink);
    font: inherit;
    font-weight: 750;
}

.stats-cockpit-filter > .button-primary {
    align-self: end;
    min-height: 44px;
}

.stats-cockpit-export-actions {
    display: flex;
    align-items: end;
    justify-content: flex-end;
    gap: 7px;
}

.stats-cockpit-export-actions .button-link {
    min-height: 42px;
    padding: 0 10px;
    border: 1px solid rgba(18, 59, 67, 0.16);
    border-radius: 12px;
    background: #fff;
    color: #123b43;
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.stats-cockpit-export-actions .button-link:last-child {
    background: #e8f2ef;
}

.stats-cockpit-kpis {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.stats-cockpit-kpi {
    --kpi-color: #16766f;
    position: relative;
    min-width: 0;
    padding: 17px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--kpi-color) 18%, white);
    border-radius: 19px;
    background: linear-gradient(160deg, color-mix(in srgb, var(--kpi-color) 7%, white), #fff 64%);
    box-shadow: 0 12px 28px rgba(18, 59, 67, 0.07);
}

.stats-cockpit-kpi::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--kpi-color);
    content: "";
}

.stats-cockpit-kpi.is-orders { --kpi-color: #2781a0; }
.stats-cockpit-kpi.is-basket { --kpi-color: #d57d25; }
.stats-cockpit-kpi.is-schools { --kpi-color: #4a7e52; }
.stats-cockpit-kpi.is-conversion { --kpi-color: #8a62c7; }
.stats-cockpit-kpi.is-school-share { --kpi-color: #b6534b; }

.stats-cockpit-kpi-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
}

.stats-cockpit-kpi-head > span {
    color: #526b72;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.stats-cockpit-kpi > strong {
    display: block;
    overflow: hidden;
    color: var(--stats-ink);
    font-size: clamp(1.35rem, 2vw, 1.82rem);
    letter-spacing: -0.04em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stats-cockpit-kpi p {
    min-height: 34px;
    margin: 7px 0 0;
    color: var(--stats-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.stats-cockpit-evolution {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #edf2f1;
    color: #66797e;
    font-size: 0.76rem;
    font-weight: 900;
    white-space: nowrap;
}

.stats-cockpit-evolution.is-up {
    background: #e4f3eb;
    color: #177052;
}

.stats-cockpit-evolution.is-down {
    background: #fbe9e6;
    color: #ad443b;
}

.stats-cockpit-decision-grid {
    display: grid;
    grid-template-columns: minmax(330px, 0.72fr) minmax(0, 1.4fr);
    gap: 14px;
}

.stats-cockpit-score-card,
.stats-cockpit-insights-card,
.stats-cockpit-section {
    border: 1px solid var(--stats-line);
    border-radius: 22px;
    background: var(--stats-surface);
    box-shadow: 0 14px 34px rgba(18, 59, 67, 0.07);
}

.stats-cockpit-score-card {
    display: grid;
    grid-template-columns: 142px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding: 20px;
}

.stats-cockpit-score-card h3 {
    margin-bottom: 7px;
    color: var(--stats-ink);
    font-size: 1.35rem;
}

.stats-cockpit-score-card p:last-child {
    margin-bottom: 0;
    color: var(--stats-muted);
    line-height: 1.45;
}

.stats-cockpit-score-ring {
    display: grid;
    width: 142px;
    height: 142px;
    place-items: center;
    border-radius: 50%;
    background: conic-gradient(#15907e 0 var(--score), #e5eeec var(--score) 100%);
}

.stats-cockpit-score-ring > div {
    display: grid;
    width: 108px;
    height: 108px;
    place-items: center;
    align-content: center;
    border-radius: 50%;
    background: #fff;
    text-align: center;
}

.stats-cockpit-score-ring strong {
    color: var(--stats-ink);
    font-size: 1.45rem;
}

.stats-cockpit-score-ring span {
    color: var(--stats-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.stats-cockpit-insights-card,
.stats-cockpit-section {
    padding: 20px;
}

.stats-cockpit-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.stats-cockpit-section-head h3 {
    margin: 2px 0 4px;
    color: var(--stats-ink);
    font-size: 1.28rem;
    letter-spacing: -0.025em;
}

.stats-cockpit-section-head p:last-child {
    margin-bottom: 0;
    color: var(--stats-muted);
}

.stats-cockpit-section-head > span {
    display: inline-flex;
    min-height: 31px;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    background: #edf5f2;
    color: #2c6866;
    font-size: 0.8rem;
    font-weight: 850;
    white-space: nowrap;
}

.stats-cockpit-insights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.stats-cockpit-insights > article {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid #e0e9e7;
    border-radius: 14px;
    background: #f8fbfa;
}

.stats-cockpit-insights i {
    width: 8px;
    height: 8px;
    margin-top: 5px;
    border-radius: 50%;
    background: #6f858a;
}

.stats-cockpit-insights .is-success i { background: #248565; }
.stats-cockpit-insights .is-warning i { background: #e28a2b; }
.stats-cockpit-insights .is-danger i { background: #c34d43; }
.stats-cockpit-insights .is-info i { background: #2d85a8; }

.stats-cockpit-insights strong,
.stats-cockpit-insights p {
    display: block;
}

.stats-cockpit-insights p {
    margin: 4px 0 0;
    color: var(--stats-muted);
    font-size: 0.85rem;
    line-height: 1.4;
}

.stats-cockpit-ratios {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
}

.stats-cockpit-ratios article {
    padding: 14px;
    border: 1px solid #dfe9e6;
    border-radius: 16px;
    background: #f8fbfa;
}

.stats-cockpit-ratios article.is-good { border-top: 4px solid #248565; }
.stats-cockpit-ratios article.is-watch { border-top: 4px solid #df8a2d; }
.stats-cockpit-ratios article.is-alert { border-top: 4px solid #c34d43; }

.stats-cockpit-ratios span,
.stats-cockpit-ratios strong,
.stats-cockpit-ratios p {
    display: block;
}

.stats-cockpit-ratios span {
    min-height: 34px;
    color: #526b72;
    font-size: 0.8rem;
    font-weight: 900;
    text-transform: uppercase;
}

.stats-cockpit-ratios strong {
    margin: 7px 0;
    color: var(--stats-ink);
    font-size: 1.55rem;
}

.stats-cockpit-ratios p {
    min-height: 34px;
    margin: 0;
    color: var(--stats-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.stats-cockpit-table-wrap {
    overflow-x: auto;
    border: 1px solid #e0e9e7;
    border-radius: 16px;
}

.stats-cockpit-table {
    width: 100%;
    min-width: 940px;
    border-collapse: collapse;
}

.stats-cockpit-table th {
    padding: 11px 13px;
    background: #edf5f2;
    color: #456168;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.055em;
    text-align: left;
    text-transform: uppercase;
}

.stats-cockpit-table td {
    padding: 13px;
    border-top: 1px solid #e6edeb;
    color: var(--stats-ink);
    font-size: 0.9rem;
    font-weight: 800;
    white-space: nowrap;
}

.stats-cockpit-table td:first-child {
    min-width: 290px;
    white-space: normal;
}

.stats-cockpit-table td:first-child strong,
.stats-cockpit-table td:first-child small {
    display: block;
}

.stats-cockpit-table td:first-child small {
    margin-top: 3px;
    color: var(--stats-muted);
    font-weight: 500;
    line-height: 1.35;
}

.stats-cockpit-month-chart {
    display: grid;
    grid-template-columns: repeat(12, minmax(54px, 1fr));
    align-items: end;
    gap: 8px;
    min-height: 300px;
    padding: 12px 4px 0;
    overflow-x: auto;
}

.stats-cockpit-month-chart > article {
    display: grid;
    grid-template-rows: 64px 190px 28px;
    gap: 6px;
    min-width: 54px;
    align-items: end;
    text-align: center;
}

.stats-cockpit-month-tooltip {
    align-self: end;
    opacity: 0.76;
}

.stats-cockpit-month-tooltip strong,
.stats-cockpit-month-tooltip span,
.stats-cockpit-month-tooltip small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stats-cockpit-month-tooltip strong {
    color: var(--stats-ink);
    font-size: 0.78rem;
}

.stats-cockpit-month-tooltip span,
.stats-cockpit-month-tooltip small {
    color: var(--stats-muted);
    font-size: 0.7rem;
}

.stats-cockpit-month-bar {
    display: flex;
    height: 190px;
    align-items: flex-end;
    justify-content: center;
    border-bottom: 1px solid #cad9d5;
    background: repeating-linear-gradient(to top, transparent 0 46px, rgba(18, 59, 67, 0.06) 46px 47px);
}

.stats-cockpit-month-bar span {
    width: min(38px, 72%);
    height: max(5px, var(--month-height));
    border-radius: 9px 9px 2px 2px;
    background: linear-gradient(180deg, #22a38c, #146a69);
    box-shadow: 0 8px 14px rgba(20, 112, 105, 0.18);
}

.stats-cockpit-month-chart > article > b {
    align-self: center;
    color: #50686f;
    font-size: 0.78rem;
}

.stats-cockpit-distributions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.stats-cockpit-distributions > article {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid #e0e9e7;
    border-radius: 18px;
    background: #f8fbfa;
}

.stats-cockpit-donut {
    display: grid;
    width: 126px;
    height: 126px;
    place-items: center;
    border-radius: 50%;
}

.stats-cockpit-donut > div {
    display: grid;
    width: 88px;
    height: 88px;
    place-items: center;
    align-content: center;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(18, 59, 67, 0.06);
}

.stats-cockpit-donut strong,
.stats-cockpit-donut span {
    display: block;
}

.stats-cockpit-donut strong {
    color: var(--stats-ink);
    font-size: 1.2rem;
}

.stats-cockpit-donut span {
    color: var(--stats-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

.stats-cockpit-legend {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.stats-cockpit-legend > div {
    display: grid;
    grid-template-columns: 9px minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
}

.stats-cockpit-legend i,
.stats-cockpit-channel-list i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--legend-color);
}

.stats-cockpit-legend span {
    overflow: hidden;
    color: #4d666d;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stats-cockpit-legend strong {
    color: var(--stats-ink);
}

.stats-cockpit-legend small {
    display: none;
}

.stats-cockpit-flow-grid,
.stats-cockpit-ranking-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.stats-cockpit-channel-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.stats-cockpit-channel-list article {
    padding: 13px;
    border: 1px solid #e0e9e7;
    border-radius: 15px;
    background: #f8fbfa;
}

.stats-cockpit-channel-list article > div:first-child {
    display: flex;
    align-items: center;
    gap: 7px;
}

.stats-cockpit-channel-list b,
.stats-cockpit-channel-list > article > span {
    display: block;
}

.stats-cockpit-channel-list b {
    margin: 11px 0 3px;
    color: var(--stats-ink);
    font-size: 1.1rem;
}

.stats-cockpit-channel-list > article > span {
    color: var(--stats-muted);
    font-size: 0.78rem;
}

.stats-cockpit-progress {
    height: 7px;
    margin-top: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #e1ebe8;
}

.stats-cockpit-progress span {
    display: block;
    width: var(--progress);
    height: 100%;
    border-radius: inherit;
    background: #168275;
}

.stats-cockpit-operation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.stats-cockpit-operation-grid article {
    padding: 13px;
    border: 1px solid #e1eae8;
    border-radius: 14px;
    background: #f7faf9;
}

.stats-cockpit-operation-grid article.is-warning { background: #fff8ed; }
.stats-cockpit-operation-grid article.is-info { background: #eef8fb; }
.stats-cockpit-operation-grid article.is-success { background: #edf8f2; }

.stats-cockpit-operation-grid span,
.stats-cockpit-operation-grid strong {
    display: block;
}

.stats-cockpit-operation-grid span {
    min-height: 34px;
    color: var(--stats-muted);
    font-size: 0.8rem;
    font-weight: 800;
}

.stats-cockpit-operation-grid strong {
    margin-top: 5px;
    color: var(--stats-ink);
    font-size: 1.35rem;
}

.stats-cockpit-finance-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.stats-cockpit-finance-grid article {
    padding: 15px;
    border: 1px solid #e0e9e7;
    border-radius: 16px;
    background: linear-gradient(150deg, #f5faf8, #fff);
}

.stats-cockpit-finance-grid span,
.stats-cockpit-finance-grid strong,
.stats-cockpit-finance-grid p {
    display: block;
}

.stats-cockpit-finance-grid span {
    color: var(--stats-muted);
    font-size: 0.8rem;
    font-weight: 850;
    text-transform: uppercase;
}

.stats-cockpit-finance-grid strong {
    margin: 12px 0 5px;
    color: var(--stats-ink);
    font-size: 1.25rem;
}

.stats-cockpit-finance-grid p {
    margin: 0;
    color: var(--stats-muted);
    font-size: 0.82rem;
}

.stats-cockpit-ranking-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.75fr);
}

.stats-cockpit-ranking-grid-balanced {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.stats-cockpit-campaign-ranking,
.stats-cockpit-compact-ranking {
    display: grid;
    gap: 8px;
}

.stats-cockpit-campaign-ranking > a {
    display: grid;
    grid-template-columns: 32px minmax(220px, 1fr) minmax(400px, 1.2fr);
    align-items: center;
    gap: 11px;
    padding: 11px;
    border: 1px solid #e0e9e7;
    border-radius: 14px;
    background: #fbfdfc;
    color: var(--stats-ink);
    text-decoration: none;
    transition: border-color 0.16s ease, transform 0.16s ease;
}

.stats-cockpit-campaign-ranking > a:hover {
    border-color: #8fc3b8;
    transform: translateY(-1px);
}

.stats-cockpit-campaign-ranking > a > b,
.stats-cockpit-compact-ranking > a > b,
.stats-cockpit-compact-ranking > article > b {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 10px;
    background: #e6f3ef;
    color: #176b65;
}

.stats-cockpit-campaign-ranking > a > div > strong,
.stats-cockpit-campaign-ranking > a > div > span {
    display: block;
}

.stats-cockpit-campaign-ranking > a > div > span {
    margin-top: 2px;
    color: var(--stats-muted);
    font-size: 0.82rem;
}

.stats-cockpit-campaign-ranking i {
    display: block;
    height: 5px;
    margin-top: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e4edeb;
}

.stats-cockpit-campaign-ranking i span {
    display: block;
    width: var(--ranking-width);
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #178378, #e09538);
}

.stats-cockpit-campaign-ranking dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.stats-cockpit-campaign-ranking dl div {
    min-width: 0;
}

.stats-cockpit-campaign-ranking dt,
.stats-cockpit-campaign-ranking dd {
    margin: 0;
}

.stats-cockpit-campaign-ranking dt {
    color: var(--stats-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.stats-cockpit-campaign-ranking dd {
    margin-top: 3px;
    overflow: hidden;
    color: var(--stats-ink);
    font-size: 0.82rem;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stats-cockpit-compact-ranking > a,
.stats-cockpit-compact-ranking > article {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 1px solid #e0e9e7;
    border-radius: 14px;
    background: #fbfdfc;
    color: var(--stats-ink);
    text-decoration: none;
}

.stats-cockpit-compact-ranking > a:hover {
    border-color: #8fc3b8;
}

.stats-cockpit-compact-ranking div strong,
.stats-cockpit-compact-ranking div span {
    display: block;
}

.stats-cockpit-compact-ranking div span {
    margin-top: 2px;
    color: var(--stats-muted);
    font-size: 0.78rem;
}

.stats-cockpit-compact-ranking > a > strong,
.stats-cockpit-compact-ranking > article > strong {
    font-size: 0.9rem;
    white-space: nowrap;
}

.stats-cockpit-method {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 15px 18px;
    border: 1px solid #dce8e5;
    border-radius: 17px;
    background: #eef6f3;
}

.stats-cockpit-method strong {
    flex: 0 0 auto;
    color: var(--stats-ink);
}

.stats-cockpit-method p {
    margin: 0;
    color: var(--stats-muted);
    line-height: 1.45;
}

@media (max-width: 1500px) {
    .stats-cockpit-kpis,
    .stats-cockpit-ratios {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .stats-cockpit-distributions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .stats-cockpit-hero,
    .stats-cockpit-decision-grid,
    .stats-cockpit-flow-grid,
    .stats-cockpit-ranking-grid,
    .stats-cockpit-ranking-grid-balanced {
        grid-template-columns: 1fr;
    }

    .stats-cockpit-finance-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .stats-cockpit-hero,
    .stats-cockpit-section,
    .stats-cockpit-insights-card {
        padding: 16px;
        border-radius: 18px;
    }

    .stats-cockpit-filter,
    .stats-cockpit-kpis,
    .stats-cockpit-ratios,
    .stats-cockpit-insights,
    .stats-cockpit-distributions,
    .stats-cockpit-channel-list,
    .stats-cockpit-operation-grid,
    .stats-cockpit-finance-grid {
        grid-template-columns: 1fr;
    }

    .stats-cockpit-score-card {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .stats-cockpit-distributions > article {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .stats-cockpit-donut {
        width: 112px;
        height: 112px;
    }

    .stats-cockpit-campaign-ranking > a {
        grid-template-columns: 32px minmax(0, 1fr);
    }

    .stats-cockpit-campaign-ranking dl {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stats-cockpit-method {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Actions: daily cockpit focused on work that requires a human decision. */
.work-queue-page .main-content {
    max-width: none;
}

.work-queue-workspace {
    display: grid;
    gap: 16px;
    transition: opacity 0.16s ease;
}

.work-queue-workspace.is-loading {
    opacity: 0.58;
    pointer-events: none;
}

.work-queue-overview {
    display: grid;
    gap: 18px;
    padding: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 94% 5%, rgba(55, 156, 139, 0.13), transparent 27%),
        linear-gradient(135deg, #ffffff 0%, #f5faf8 100%);
}

.work-queue-overview-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.work-queue-overview-copy h2 {
    margin: 3px 0 5px;
    color: #082c36;
    font-size: clamp(1.45rem, 2vw, 1.9rem);
    letter-spacing: -0.035em;
}

.work-queue-overview-copy > div > p:last-child {
    max-width: 720px;
    margin: 0;
    color: #506871;
    font-size: 0.96rem;
}

.work-queue-total {
    display: grid;
    grid-template-columns: auto minmax(90px, 130px);
    align-items: center;
    gap: 10px;
    min-width: 210px;
    padding: 11px 14px;
    border: 1px solid rgba(12, 72, 81, 0.12);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.82);
}

.work-queue-total strong {
    color: #0c4851;
    font-size: 2rem;
    line-height: 1;
}

.work-queue-total span {
    color: #425b64;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.25;
}

.work-queue-focus-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.work-queue-focus-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 10px;
    min-height: 82px;
    padding: 14px 15px;
    overflow: hidden;
    border: 1px solid rgba(20, 52, 59, 0.1);
    border-radius: 17px;
    background: #ffffff;
    color: #173d46;
    text-decoration: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.work-queue-focus-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--queue-accent, #2f8f83);
    content: "";
}

.work-queue-focus-card span {
    align-self: end;
    font-size: 0.92rem;
    font-weight: 900;
}

.work-queue-focus-card strong {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
    color: var(--queue-accent, #2f8f83);
    font-size: 1.9rem;
    line-height: 1;
}

.work-queue-focus-card small {
    color: #657981;
    font-size: 0.82rem;
    font-weight: 700;
}

.work-queue-focus-card:hover,
.work-queue-focus-card.is-active {
    border-color: color-mix(in srgb, var(--queue-accent, #2f8f83) 55%, white);
    box-shadow: 0 12px 25px rgba(20, 52, 59, 0.09);
    transform: translateY(-1px);
}

.work-queue-focus-card.is-active {
    background: color-mix(in srgb, var(--queue-accent, #2f8f83) 8%, white);
}

.work-queue-focus-card.is-overdue {
    --queue-accent: #bb493d;
}

.work-queue-focus-card.is-today {
    --queue-accent: #db7b20;
}

.work-queue-focus-card.is-priority {
    --queue-accent: #0c7280;
}

.work-queue-focus-card.is-waiting {
    --queue-accent: #4974a5;
}

.work-queue-board {
    padding: 20px 22px 22px;
}

.work-queue-board-head {
    align-items: end;
    margin-bottom: 15px;
}

.work-queue-board-head h3 {
    margin: 2px 0 4px;
    font-size: 1.35rem;
}

.work-queue-board-head p:last-child {
    margin: 0;
    color: #5a7078;
    font-size: 0.92rem;
}

.work-queue-result-count {
    padding: 7px 10px;
    border-radius: 999px;
    background: #eef6f3;
    color: #17685e;
    font-size: 0.84rem;
    font-weight: 850;
}

.work-queue-page .work-queue-filter-bar {
    grid-template-columns: minmax(135px, 0.7fr) minmax(155px, 0.85fr) minmax(150px, 0.8fr) minmax(220px, 1.4fr) auto auto;
    margin-bottom: 10px;
    padding: 10px;
    border-radius: 16px;
}

.work-queue-page .work-queue-filter-bar .form-field span {
    font-size: 0.75rem;
}

.work-queue-page .work-queue-filter-bar input,
.work-queue-page .work-queue-filter-bar select {
    min-height: 40px;
}

.work-queue-page .work-queue-kind-strip {
    margin: 0 0 12px;
}

.work-queue-page .work-queue-kind-pill {
    min-height: 32px;
    font-size: 0.85rem;
}

.work-queue-table {
    overflow: hidden;
    border: 1px solid rgba(20, 52, 59, 0.1);
    border-radius: 18px;
    background: #ffffff;
}

.work-queue-table-head,
.work-queue-page .work-action-row {
    display: grid;
    grid-template-columns: 116px minmax(260px, 1fr) 110px 132px 150px minmax(150px, auto);
    grid-template-areas: "priority action source due team open";
    align-items: center;
    gap: 12px;
}

.work-queue-table-head {
    min-height: 42px;
    padding: 0 14px;
    border-bottom: 1px solid rgba(20, 52, 59, 0.1);
    background: #f3f8f6;
    color: #526970;
}

.work-queue-table-head span {
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.work-queue-page .work-action-list {
    gap: 0;
}

.work-queue-page .work-action-row {
    position: relative;
    min-height: 84px;
    padding: 11px 14px;
    border: 0;
    border-bottom: 1px solid rgba(20, 52, 59, 0.08);
    border-left: 5px solid #8ca0a8;
    border-radius: 0;
    box-shadow: none;
}

.work-queue-page .work-action-row:last-child {
    border-bottom: 0;
}

.work-queue-page .work-action-row:hover {
    z-index: 1;
    background: #f9fcfb;
    box-shadow: 0 9px 22px rgba(20, 52, 59, 0.08);
    transform: none;
}

.work-queue-page .work-action-row.is-urgent {
    border-left-color: #bb493d;
}

.work-queue-page .work-action-row.is-high {
    border-left-color: #db7b20;
}

.work-queue-page .work-action-row.is-medium {
    border-left-color: #178579;
}

.work-queue-page .work-action-row.is-low {
    border-left-color: #6c8189;
}

.work-action-priority-cell {
    grid-area: priority;
    display: grid;
    justify-items: start;
    gap: 5px;
}

.work-action-priority {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #edf2f3;
    color: #40555d;
    font-size: 0.8rem;
    font-weight: 900;
}

.is-urgent .work-action-priority {
    background: #fce9e7;
    color: #9c392f;
}

.is-high .work-action-priority {
    background: #fff0df;
    color: #99560e;
}

.is-medium .work-action-priority {
    background: #e8f5f1;
    color: #17685e;
}

.work-action-priority-cell small {
    color: #697d84;
    font-size: 0.8rem;
    font-weight: 750;
}

.work-action-main {
    grid-area: action;
    min-width: 0;
    color: #082c36;
    text-decoration: none;
}

.work-action-main strong,
.work-action-main p,
.work-action-main small {
    display: block;
}

.work-action-main strong {
    overflow: hidden;
    font-size: 0.98rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-action-main p {
    display: -webkit-box;
    margin: 3px 0;
    overflow: hidden;
    color: #506871;
    font-size: 0.87rem;
    line-height: 1.32;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.work-action-main small {
    overflow: hidden;
    color: #2b555d;
    font-size: 0.82rem;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.work-action-source {
    grid-area: source;
    justify-self: start;
    padding: 5px 8px;
    border-radius: 999px;
    background: #eef5f4;
    color: #245d62;
    font-size: 0.82rem;
    font-weight: 850;
}

.work-action-due {
    grid-area: due;
    display: grid;
    gap: 2px;
}

.work-action-due strong {
    color: #294b53;
    font-size: 0.88rem;
}

.work-action-due small {
    color: #72848a;
    font-size: 0.78rem;
}

.due-overdue .work-action-due strong {
    color: #a23d33;
}

.due-today .work-action-due strong {
    color: #a65b11;
}

.work-action-responsible {
    grid-area: team;
    color: #405a62;
    font-size: 0.84rem;
    font-weight: 800;
}

.work-action-buttons {
    grid-area: open;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 5px 8px;
}

.work-action-open {
    justify-self: end;
    min-height: 36px;
    padding: 7px 11px;
    border: 1px solid rgba(12, 72, 81, 0.16);
    border-radius: 11px;
    background: #ffffff;
    color: #0c5960;
    font-size: 0.84rem;
}

.work-action-open:hover {
    border-color: #0c5960;
    background: #0c5960;
    color: #ffffff;
}

.work-action-secondary {
    color: #45616a;
    font-size: 0.78rem;
    font-weight: 850;
    text-decoration: underline;
    text-decoration-color: rgba(69, 97, 106, 0.3);
    text-underline-offset: 3px;
}

.work-action-secondary:hover {
    color: #0c5960;
    text-decoration-color: currentColor;
}

.work-queue-empty {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 104px;
    padding: 18px;
    border: 1px dashed rgba(23, 133, 121, 0.3);
    border-radius: 17px;
    background: #f5faf8;
}

.work-queue-empty > span {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #dff2ec;
    color: #17776c;
    font-size: 1.35rem;
    font-weight: 950;
}

.work-queue-empty strong {
    display: block;
    margin-bottom: 3px;
    color: #173d46;
    font-size: 1rem;
}

.work-queue-empty p {
    margin: 0;
    color: #5a7078;
    font-size: 0.9rem;
}

@media (max-width: 1120px) {
    .work-queue-page .work-queue-filter-bar {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .work-queue-search-field {
        grid-column: span 2;
    }

    .work-queue-table-head {
        display: none;
    }

    .work-queue-page .work-action-row {
        grid-template-columns: 110px minmax(0, 1fr) 120px minmax(145px, auto);
        grid-template-areas:
            "priority action due open"
            "priority source team open";
        min-height: 96px;
    }
}

@media (max-width: 760px) {
    .work-queue-overview,
    .work-queue-board {
        padding: 16px;
    }

    .work-queue-overview-copy {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .work-queue-total {
        min-width: 0;
        width: 100%;
    }

    .work-queue-focus-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .work-queue-page .work-queue-filter-bar {
        grid-template-columns: minmax(0, 1fr);
    }

    .work-queue-search-field {
        grid-column: auto;
    }

    .work-queue-page .work-queue-filter-bar .button-link {
        width: 100%;
    }

    .work-queue-page .work-action-row {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "priority priority"
            "action action"
            "source due"
            "team open";
        gap: 9px 12px;
        min-height: 0;
        padding: 14px;
    }

    .work-action-priority-cell {
        align-items: center;
        grid-template-columns: auto auto;
    }

    .work-action-main strong {
        white-space: normal;
    }

    .work-action-buttons {
        align-self: center;
    }

    .work-queue-empty {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .work-queue-empty .button-link {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .work-queue-focus-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.system-delegation-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid #d7e2df;
    border-radius: 16px;
    background: #fff;
}

.system-delegation-summary > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.system-delegation-summary strong,
.system-delegation-summary small {
    display: block;
}

.system-delegation-summary small {
    margin-top: 3px;
    color: #607477;
}

.system-delegation-summary.is-active {
    border-color: #98d8c8;
    background: #f1fbf7;
}

.system-delegation-summary.is-locked {
    background: #f6f7f6;
}

.mail-avatar.is-system {
    color: #fff;
    background: #0f6d66;
}

.system-delegation-master {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    border: 1px solid #d7e2df;
    border-radius: 13px;
    background: #f7faf9;
}

.system-delegation-master strong,
.system-delegation-master small {
    display: block;
}

.system-delegation-master small {
    margin-top: 3px;
    color: #607477;
}

.system-delegation-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 14px;
    border: 1px solid #d7e2df;
    border-radius: 13px;
}

.system-delegation-actions legend {
    padding: 0 7px;
    font-weight: 800;
}

.system-delegation-actions label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 10px;
    background: #f4f7f6;
}

.system-delegation-campaign-actions {
    border-color: #b8d9d2;
    background: #f3faf7;
}

.system-delegation-scope-note {
    grid-column: 1 / -1;
    margin: 0 0 2px;
    border-radius: 10px;
    padding: 10px 12px;
    color: #315d59;
    background: #e5f4ef;
    font-size: .82rem;
    line-height: 1.45;
}

.mail-routing-label {
    width: fit-content;
    margin-top: 4px;
    padding: 3px 7px;
    border-radius: 999px;
    color: #0f6d66;
    background: #e7f6f2;
}

.mail-routing-label.is-photographer {
    color: #8a5a17;
    background: #fff1d9;
}

.mail-handoff-alert {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    margin: 12px 18px 0;
    padding: 12px 14px;
    border: 1px solid #efc477;
    border-radius: 12px;
    background: #fff8e9;
}

.mail-return-system-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 0 18px 16px;
    color: #607477;
}

@media (max-width: 760px) {
    .system-delegation-summary,
    .system-delegation-summary > div,
    .mail-return-system-form {
        align-items: stretch;
        flex-direction: column;
    }

    .system-delegation-actions {
        grid-template-columns: 1fr;
    }

    .mail-handoff-alert {
        grid-template-columns: 1fr;
    }
}

/* Account, company and simplified administration */
.account-v2,
.administration-root {
    --account-ink: #123b43;
    --account-muted: #60767a;
    --account-line: #d5e1de;
    --account-soft: #edf5f2;
    display: grid;
    gap: 16px;
}

.administration-root.is-loading {
    opacity: 0.72;
    pointer-events: none;
    transition: opacity 120ms ease;
}

.account-v2-hero,
.administration-v2-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    min-height: 176px;
    padding: 28px;
    border: 1px solid rgba(18, 59, 67, 0.08);
    border-radius: 26px;
    color: #fff;
    background:
        radial-gradient(circle at 85% 18%, rgba(255, 255, 255, 0.16), transparent 28%),
        linear-gradient(128deg, #123b43 0%, #0e6965 68%, #16907e 100%);
    box-shadow: 0 18px 40px rgba(18, 59, 67, 0.13);
}

.account-v2-hero h2,
.administration-v2-hero h2 {
    margin: 2px 0 8px;
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}

.account-v2-hero p,
.administration-v2-hero p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
}

.account-v2-hero .eyebrow,
.administration-v2-hero .eyebrow {
    color: #f7c883;
}

.account-v2-identity,
.administration-v2-status {
    display: grid;
    min-width: 235px;
    gap: 4px;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
}

.account-v2-identity span,
.administration-v2-status span {
    color: #f7c883;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.account-v2-identity strong,
.administration-v2-status strong {
    color: #fff;
    font-size: 1.06rem;
}

.account-v2-identity small,
.administration-v2-status small {
    color: rgba(255, 255, 255, 0.72);
}

.account-v2-tabs {
    display: flex;
    width: fit-content;
    gap: 5px;
    padding: 5px;
    border: 1px solid var(--account-line);
    border-radius: 15px;
    background: #fff;
}

.account-v2-tabs a {
    padding: 10px 16px;
    border-radius: 11px;
    color: var(--account-muted);
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
}

.account-v2-tabs a.is-active {
    color: #fff;
    background: var(--account-ink);
}

.account-v2-metrics,
.account-company-contract {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.account-v2-metrics article,
.account-company-contract article {
    display: grid;
    align-content: start;
    min-height: 124px;
    gap: 6px;
    padding: 18px;
    border: 1px solid var(--account-line);
    border-radius: 18px;
    background: linear-gradient(145deg, #fff, #f6faf8);
}

.account-v2-metrics span,
.account-company-contract span {
    color: var(--account-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.account-v2-metrics strong,
.account-company-contract strong {
    color: var(--account-ink);
    font-size: 1.2rem;
}

.account-v2-metrics small,
.account-company-contract small {
    color: var(--account-muted);
    line-height: 1.4;
}

.account-v2-layout,
.account-company-editor {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.75fr);
    align-items: start;
    gap: 16px;
}

.account-v2-side-stack,
.account-preview-stack {
    display: grid;
    gap: 16px;
}

.account-v2-profile-card,
.account-company-form-card {
    min-width: 0;
}

.account-v2-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-v2-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--account-line);
}

.account-v2-form-actions small {
    color: var(--account-muted);
}

.account-v2-access-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.account-v2-access-list span {
    padding: 7px 10px;
    border-radius: 999px;
    color: #17665f;
    background: #e4f2ee;
    font-size: 0.76rem;
    font-weight: 800;
}

.account-company-system-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.account-company-module-list {
    display: grid;
    gap: 8px;
}

.account-company-module-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid var(--account-line);
    border-radius: 13px;
    background: #f8fbfa;
}

.account-company-module-list span {
    display: grid;
    gap: 3px;
}

.account-company-module-list small {
    color: var(--account-muted);
}

.account-company-module-list b {
    color: #17665f;
    white-space: nowrap;
}

.account-license-section {
    margin-top: 16px;
}

.account-license-intro {
    margin: 0 0 14px;
}

.account-license-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-license-card {
    background: linear-gradient(145deg, #f8fcfb, #fff);
    border: 1px solid #d6e5e2;
    border-radius: 16px;
    display: grid;
    gap: 12px;
    padding: 16px;
}

.account-license-card:only-child {
    grid-column: 1 / -1;
    max-width: 760px;
}

.account-license-card > header {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.account-license-card > header div,
.account-license-card > header strong,
.account-license-card > header small {
    display: block;
}

.account-license-card > header small {
    color: #648086;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.account-license-card > header > span {
    background: #e7f5f1;
    border-radius: 999px;
    color: #126d66;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
    white-space: nowrap;
}

.account-license-meter {
    background: #e8efed;
    border-radius: 999px;
    height: 7px;
    overflow: hidden;
}

.account-license-meter i {
    background: linear-gradient(90deg, #1e8f82, #5fd4ad);
    display: block;
    height: 100%;
    width: min(var(--license-progress), 100%);
}

.account-license-card > p {
    color: #60767b;
    margin: 0;
}

.account-license-card > p strong {
    color: #123f48;
}

.account-license-card form {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.account-license-card form label span {
    color: #587278;
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 5px;
}

.account-license-card form input {
    min-height: 40px;
    width: 100%;
}

.account-license-validity {
    align-self: stretch;
    border: 1px solid #d8e5e7;
    border-radius: 10px;
    display: grid;
    gap: 2px;
    min-width: 190px;
    padding: 8px 11px;
}

.account-license-validity span,
.account-license-validity small {
    color: #648086;
    font-size: 11px;
}

.account-license-validity strong {
    color: #123f48;
    font-size: 15px;
}

.account-license-field-wide,
.account-license-form-action {
    grid-column: 1 / -1;
}

.account-license-form-action {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.account-license-form-action small {
    color: #648086;
    font-size: 11px;
}

.account-license-owner-note {
    background: #f1f5f4;
    border-radius: 10px;
    padding: 10px 12px;
}

.account-license-history {
    border-top: 1px solid #dfebe8;
    padding-top: 10px;
}

.account-license-history summary {
    color: #145f60;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}

.account-license-history div {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding-top: 8px;
}

.account-license-history code {
    color: #123f48;
    font-weight: 800;
}

.account-license-history span {
    color: #71858a;
    font-size: 11px;
}

.account-license-feedback {
    background: #fff2ee;
    border: 1px solid #f2c5b8;
    border-radius: 10px;
    color: #9b3f2b;
    margin-bottom: 12px;
    padding: 10px 12px;
}

.account-license-dialog {
    border: 0;
    border-radius: 20px;
    box-shadow: 0 28px 80px rgba(12, 48, 55, .28);
    max-width: 560px;
    padding: 0;
    width: calc(100% - 32px);
}

.account-license-dialog::backdrop {
    background: rgba(8, 35, 41, .64);
}

.account-license-dialog article {
    display: grid;
    gap: 14px;
    padding: 24px;
}

.account-license-dialog h3,
.account-license-dialog p {
    margin: 0;
}

.account-license-dialog-meta {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.account-license-dialog-meta div {
    background: #f0f6f4;
    border-radius: 10px;
    padding: 10px;
}

.account-license-dialog-meta dt {
    color: #688086;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.account-license-dialog-meta dd {
    color: #123f48;
    font-weight: 800;
    margin: 4px 0 0;
}

.account-license-dialog-secret > span {
    color: #587278;
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 5px;
}

.account-license-secret {
    align-items: center;
    background: #0d3942;
    border-radius: 12px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding: 12px;
}

.account-license-secret code {
    color: #dffbf2;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.account-license-secret button {
    background: #62d7b1;
    border: 0;
    border-radius: 8px;
    color: #0b3940;
    cursor: pointer;
    font-weight: 800;
    padding: 8px 11px;
}

.account-theme-chip-row-large {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.administration-v2-hero {
    min-height: 142px;
}

.administration-v2-shell {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
}

.administration-v2-nav {
    position: sticky;
    top: 16px;
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--account-line);
    border-radius: 20px;
    background: #fff;
}

.administration-v2-nav-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 4px 10px;
    color: var(--account-ink);
}

.administration-v2-nav-head span {
    color: var(--account-muted);
    font-size: 0.72rem;
}

.administration-v2-nav nav {
    display: grid;
    gap: 5px;
}

.administration-v2-nav-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 13px;
    color: var(--account-ink);
    text-decoration: none;
}

.administration-v2-nav-item:hover,
.administration-v2-nav-item.is-active {
    background: var(--account-soft);
}

.administration-v2-nav-item.is-active {
    box-shadow: inset 3px 0 #ea8b2d;
}

.administration-v2-nav-item i {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: var(--account-ink);
    font-style: normal;
    font-weight: 900;
}

.administration-v2-nav-item span {
    display: grid;
    gap: 2px;
}

.administration-v2-nav-item small {
    overflow: hidden;
    color: var(--account-muted);
    font-size: 0.68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.administration-v2-primary-action {
    width: 100%;
}

.administration-v2-content {
    display: grid;
    min-width: 0;
    gap: 16px;
}

.administration-v2-content > section {
    margin: 0;
}

.administration-v2-content .admin-team-row {
    grid-template-columns: minmax(155px, 1.15fr) auto minmax(130px, 0.8fr) minmax(140px, 1fr) auto;
}

.administration-v2-content .admin-team-row > * {
    min-width: 0;
}

.administration-v2-content .admin-team-row p,
.administration-v2-content .admin-team-row small {
    overflow-wrap: anywhere;
}

.administration-v2-content .admin-team-row-groups {
    align-content: center;
}

.admin-commercial-assignment-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.admin-commercial-school-search {
    display: grid;
    grid-template-columns: minmax(260px, 420px) auto auto;
    align-items: end;
    gap: 9px;
    min-width: 0;
}

.admin-commercial-school-search .form-field {
    min-width: 0;
}

.admin-commercial-school-search input[type="search"] {
    width: 100%;
}

.admin-commercial-assignment-toolbar .admin-export-actions {
    flex: 0 0 auto;
    margin: 0;
}

.administration-v2-content .table-wrap {
    max-width: 100%;
}

.administration-v2-content .pagination-row {
    margin-top: 14px;
}

.administration-v2-advanced {
    padding: 0;
    overflow: hidden;
}

.administration-v2-advanced > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}

.administration-v2-advanced > summary::-webkit-details-marker {
    display: none;
}

.administration-v2-advanced > summary span {
    display: grid;
    gap: 3px;
}

.administration-v2-advanced > summary small {
    color: var(--account-muted);
}

.administration-v2-advanced > summary b {
    color: #17665f;
    font-size: 0.78rem;
}

.administration-v2-advanced[open] > summary {
    border-bottom: 1px solid var(--account-line);
    background: var(--account-soft);
}

.administration-v2-advanced-body {
    padding: 18px;
}

.school-account-credentials-v2 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.school-account-credentials-v2 > article {
    display: grid;
    align-content: start;
    min-height: 150px;
    gap: 8px;
    padding: 17px;
    border: 1px solid var(--account-line);
    border-radius: 17px;
    background: linear-gradient(145deg, #fff, #f5faf8);
}

.school-account-credentials-v2 > article > span {
    color: var(--account-muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.school-account-credentials-v2 p {
    margin: 0;
    color: var(--account-muted);
    font-size: 0.78rem;
    line-height: 1.45;
}

.school-primary-password-value {
    display: flex;
    align-items: center;
    gap: 10px;
}

.school-primary-password-value strong {
    color: var(--account-ink);
    font-family: "IBM Plex Mono", "Courier New", monospace;
    font-size: 1rem;
    letter-spacing: 0.06em;
}

.school-password-protected {
    color: #17665f;
}

.school-password-missing {
    color: #b55238;
}

@media (max-width: 1180px) {
    .account-v2-metrics,
    .account-company-contract {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .account-v2-layout,
    .account-company-editor,
    .administration-v2-shell {
        grid-template-columns: 1fr;
    }

    .administration-v2-nav {
        position: static;
    }

    .administration-v2-nav nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-commercial-assignment-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-commercial-assignment-toolbar .admin-export-actions {
        justify-content: flex-start;
    }

    .school-account-credentials-v2 {
        grid-template-columns: 1fr 1fr;
    }

    .school-primary-password-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .account-license-grid,
    .account-license-card form {
        grid-template-columns: 1fr;
    }

    .account-license-dialog-meta {
        grid-template-columns: 1fr;
    }

    .account-v2-hero,
    .administration-v2-hero {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .account-v2-identity,
    .administration-v2-status {
        min-width: 0;
    }

    .account-v2-tabs {
        width: 100%;
        overflow-x: auto;
    }

    .account-v2-tabs a {
        flex: 1 0 auto;
        text-align: center;
    }

    .account-v2-metrics,
    .account-company-contract,
    .account-company-system-grid,
    .account-v2-form-grid,
    .school-account-credentials-v2,
    .administration-v2-nav nav {
        grid-template-columns: 1fr;
    }

    .school-primary-password-card {
        grid-column: auto;
    }

    .account-v2-form-actions,
    .school-primary-password-value {
        align-items: stretch;
        flex-direction: column;
    }

    .administration-v2-nav-item small {
        white-space: normal;
    }

    .admin-commercial-school-search {
        grid-template-columns: 1fr;
    }

    .admin-commercial-assignment-toolbar .admin-export-actions {
        align-items: stretch;
        flex-direction: column;
    }
}
