/* markit Design System — single source of truth */
:root {
color-scheme: light;
--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", sans-serif;

--color-canvas: #f7f9fc;
--color-surface: #ffffff;
--color-surface-secondary: #f1f4f8;
--color-surface-tertiary: #e7ecf3;
--color-label: #202833;
--color-label-secondary: #5e6876;
--color-label-tertiary: #7d8897;
--color-label-quaternary: #a4afbc;
--color-label-inverse: #ffffff;
--color-separator: #dce3ec;
--color-separator-strong: #c6d0dc;
--color-overlay: rgba(29, 38, 50, .42);
--color-sidebar: #1f2631;
--color-sidebar-deep: #181f29;
--color-sidebar-hover: #2b3441;
--color-sidebar-active: #3b4655;
--color-sidebar-label: #cbd4df;
--color-control-hover: #e8edf4;

--color-brand: #d9343b;
--color-brand-hover: #bd2630;
--color-brand-tint: #fff0f1;
--color-accent: #d9343b;
--color-accent-hover: #bd2630;
--color-accent-tint: #fff0f1;
--color-success: #248a3d;
--color-success-tint: #edf8f0;
--color-warning: #b25000;
--color-warning-tint: #fff5e6;
--color-error: #d70015;
--color-error-tint: #fff0f1;
--color-purple: #6e5ad7;
--color-purple-tint: #f2efff;
--color-blue: #1675b8;
--color-blue-tint: #edf7ff;
--color-message: #637080;
--color-message-hover: #4e5a68;
--color-message-tint: #f1f4f8;
--color-output: #d9343b;
--color-output-hover: #bd2630;
--color-output-tint: #fff0f1;
--color-birthday: #946a00;
--color-birthday-tint: #fff7d6;
--color-folder: #d99a1a;

--font-size-0: .6875rem;
--font-size-1: .75rem;
--font-size-2: .8125rem;
--font-size-3: .9375rem;
--font-size-4: 1.0625rem;
--font-size-5: 1.25rem;
--font-size-6: 1.5rem;
--font-size-7: 2rem;
--font-size-8: 2.5rem;
--font-size-9: 3rem;
--line-tight: 1.12;
--line-title: 1.2;
--line-body: 1.5;
--line-height-relaxed: 1.65;
--weight-regular: 400;
--weight-medium: 500;
--weight-semibold: 600;
--weight-bold: 700;

--space-1: .25rem;
--space-2: .5rem;
--space-3: .75rem;
--space-4: 1rem;
--space-5: 1.25rem;
--space-6: 1.5rem;
--space-8: 2rem;
--space-10: 2.5rem;
--space-12: 3rem;
--space-16: 4rem;
--space-20: 5rem;

--radius-sm: .375rem;
--radius-control: .625rem;
--radius-navigation: var(--radius-control);
--radius-surface: .75rem;
--radius-panel: 1.25rem;
--radius-pill: 999rem;

--shadow-1: 0 .0625rem .125rem rgba(0, 0, 0, .05), 0 .5rem 1.5rem rgba(0, 0, 0, .05);
--shadow-2: 0 1.5rem 4rem rgba(0, 0, 0, .16);
--focus-ring: 0 0 0 .25rem rgba(217, 52, 59, .16);
--color-focus-ring: rgba(217, 52, 59, .16);
--shadow-surface: var(--shadow-1);
--shadow-popover: var(--shadow-2);
--shadow-drawer: var(--shadow-2);

--duration-fast: 140ms;
--duration-standard: 220ms;
--duration-overlay: 320ms;
--duration-normal: var(--duration-standard);
--ease-standard: cubic-bezier(.2, .8, .2, 1);

--control-xs: 1.75rem;
--control-sm: 2.25rem;
--control-md: 2.75rem;
--control-lg: 3rem;
--icon-sm: 1rem;
--icon-md: 1.25rem;
--avatar-sm: 1.75rem;
--avatar-md: 2.5rem;
--avatar-lg: 3.5rem;
--topbar-height: 4.25rem;
--sidebar-width: 15rem;
--content-max: 92rem;
--thread-max: 70rem;
--feed-max: 48rem;
--modal-max: 44rem;
--grid-gutter: var(--space-6);
--page-gutter: clamp(var(--space-6), 3vw, var(--space-12));
--row-height: 4.5rem;
}

/* v146 — calm thread cards, one attachment language and compact upload fields. */
.page-task .feed {
gap: var(--space-3);
padding-top: var(--space-3);
border-top: 0;
}
.page-task .message,
.page-task .message:nth-child(n),
.page-task .message.is-pending-approval,
.page-task .message.message-event-changes_requested,
.page-task .message.message-event-closed {
grid-template-columns: 3.5rem minmax(0, 1fr);
gap: var(--space-4);
margin: 0;
padding: var(--space-4);
border: .0625rem solid color-mix(in srgb, var(--color-separator) 72%, transparent);
border-radius: var(--radius-control);
background: color-mix(in srgb, var(--color-surface-secondary) 72%, var(--color-surface));
}
.page-task .message:last-child { border-bottom: .0625rem solid color-mix(in srgb, var(--color-separator) 72%, transparent); }
.page-task .thread-orders-return { width: fit-content; margin-top: var(--space-8); }
.page-task .thread-orders-return:focus-visible { box-shadow: var(--focus-ring); outline: 0; }
.page-task .message.is-final-output,
.page-task .message.is-pending-approval {
border-color: var(--color-separator);
background: color-mix(in srgb, var(--color-surface-secondary) 82%, var(--color-surface));
}
.page-task .message.message-event-changes_requested,
.page-task .message.message-event-closed { border-left-width: .0625rem; }
.page-task .message-author-rail,
.page-task .message.is-pending-approval .message-author-rail { padding-top: 0; }
.page-task .bubble,
.page-task .message.system .bubble,
.page-task .message:not(.system):not(.is-final-output) .bubble,
.page-task .message.is-final-output .bubble,
.page-task .message.is-pending-approval .bubble {
margin: 0;
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.page-task .bubble-head { margin-bottom: var(--space-5); }
.page-task .final-output-banner { margin: 0 0 var(--space-1); }
.page-task .final-files {
margin-top: var(--space-4);
padding-top: var(--space-4);
border-top: .0625rem solid var(--color-separator);
}

.attachment-preview-grid,
.page-task .final-file-list {
grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 14rem));
align-items: start;
justify-content: start;
gap: var(--space-3);
}
.attachment-preview-card {
width: 100%;
max-width: 14rem;
border-color: var(--color-separator);
background: var(--color-surface);
box-shadow: 0 .0625rem .125rem color-mix(in srgb, var(--color-label) 5%, transparent);
transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
.attachment-preview-card:hover {
border-color: var(--color-separator-strong);
box-shadow: 0 .25rem .75rem color-mix(in srgb, var(--color-label) 9%, transparent);
transform: translateY(-.0625rem);
}
.attachment-preview-media { height: auto; aspect-ratio: 4 / 3; }
.attachment-preview-card.is-image .attachment-preview-media img,
.attachment-pdf-preview > img {
width: 100%;
height: 100%;
padding: var(--space-2);
object-fit: contain;
background: var(--color-surface-secondary);
}
.attachment-preview-card:hover .attachment-preview-media img { transform: none; }
.attachment-preview-info { min-height: 3.5rem; }
.created-brief-assets > strong { display: block; margin-top: var(--space-4); }
.created-brief-assets .message-attachment-previews { margin-top: var(--space-3); }

.composer-assets-heading {
display: flex;
min-height: var(--control-sm);
align-items: center;
justify-content: space-between;
gap: var(--space-3);
}
.composer-assets-heading > span { display: grid; gap: .0625rem; }
.composer-assets-heading > span > strong { color: var(--color-label); font-size: var(--font-size-1); }
.composer-assets-heading > span > small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.workflow-dialog .composer-assets { gap: var(--space-2); }
.workflow-dialog .composer-assets > .app-file-picker { width: 100%; max-width: none; }
.app-file-picker > span {
min-height: 4.25rem;
grid-template-columns: var(--control-sm) minmax(0, 1fr) auto;
border-color: var(--color-separator);
background: var(--color-surface-secondary);
}
.app-file-picker > span > em {
padding: .5rem .75rem;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-sm);
background: var(--color-surface);
color: var(--color-label-secondary);
font-size: var(--font-size-1);
font-style: normal;
font-weight: var(--weight-semibold);
}
.app-file-picker:hover > span { border-color: var(--color-accent); background: color-mix(in srgb, var(--color-accent-tint) 52%, var(--color-surface)); }
.app-file-picker:hover > span > i { background: var(--color-surface); color: var(--color-accent); }
.workflow-opinion-dialog .workflow-dialog-icon { background: var(--color-purple-tint); color: var(--color-purple); }
.workflow-opinion-note > i { color: var(--color-purple); }

.file-preview-modal {
width: min(100%, 58rem);
max-height: min(54rem, calc(100dvh - (var(--space-6) * 2)));
overflow: hidden;
padding: 0;
}
.file-preview-modal .modal-head { margin: 0; padding: var(--space-3) var(--space-4); }
.file-preview-modal .modal-head > div { display: grid; min-width: 0; gap: .125rem; }
.file-preview-modal .modal-title { overflow: hidden; font-size: var(--font-size-3); text-overflow: ellipsis; white-space: nowrap; }
.file-preview-modal .modal-head small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.file-preview-body {
display: grid;
height: min(66vh, 42rem);
min-height: 18rem;
place-items: center;
overflow: hidden;
padding: var(--space-4);
background: var(--color-surface-secondary);
}
.file-preview-body > img {
width: 100%;
height: 100%;
max-height: none;
object-fit: contain;
border-radius: var(--radius-sm);
}
.file-preview-body > :is(iframe, video) { width: 100%; height: 100%; border: 0; border-radius: var(--radius-sm); background: var(--color-surface); object-fit: contain; }
.file-preview-fallback { display: grid; justify-items: center; gap: var(--space-2); color: var(--color-label-secondary); text-align: center; }
.file-preview-fallback > i { font-size: var(--font-size-8); color: var(--color-label-tertiary); }
.file-preview-fallback > small { color: var(--color-label-tertiary); }
.file-preview-actions {
display: flex;
justify-content: flex-end;
gap: var(--space-2);
padding: var(--space-3) var(--space-4);
border-top: .0625rem solid var(--color-separator);
background: var(--color-surface);
}

@media (max-width: 42rem) {
.page-task .message,
.page-task .message:nth-child(n),
.page-task .message.is-pending-approval,
.page-task .message.message-event-changes_requested,
.page-task .message.message-event-closed {
grid-template-columns: var(--control-sm) minmax(0, 1fr);
gap: var(--space-3);
padding: var(--space-3);
}
.attachment-preview-grid,
.page-task .final-file-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.attachment-preview-card { max-width: none; }
.attachment-preview-info { grid-template-columns: minmax(0, 1fr); }
.attachment-preview-actions { display: none; }
.app-file-picker > span { grid-template-columns: var(--control-sm) minmax(0, 1fr); }
.app-file-picker > span > em { display: none; }
.file-preview-modal { width: 100%; max-height: 94dvh; }
.file-preview-body { height: 62dvh; min-height: 14rem; }
.file-preview-actions > .btn { flex: 1; }
}

/* Recurring orders */
.page-recurring .page-header { align-items: center; }
.recurrence-overview { display: grid; gap: var(--space-5); }
.recurrence-empty { display: grid; grid-template-columns: var(--control-lg) minmax(0, 1fr) auto; align-items: center; gap: var(--space-5); padding: var(--space-8); }
.recurrence-empty > i { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-accent-tint); color: var(--color-accent); font-size: var(--font-size-5); }
.recurrence-empty h2 { margin: 0 0 var(--space-1); font-size: var(--font-size-5); }
.recurrence-empty p { margin: 0; color: var(--color-label-secondary); }
.recurrence-list { overflow: hidden; }
.recurrence-row { display: grid; grid-template-columns: var(--control-lg) minmax(18rem, 1fr) minmax(12rem, auto) auto; align-items: center; gap: var(--space-5); padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.recurrence-row:last-child { border-bottom: 0; }
.recurrence-row.is-paused { background: color-mix(in srgb, var(--color-surface-secondary) 45%, white); }
.recurrence-row-icon { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-accent-tint); color: var(--color-accent); }
.recurrence-row.is-paused .recurrence-row-icon { background: var(--color-surface-tertiary); color: var(--color-label-secondary); }
.recurrence-row-main { min-width: 0; }
.recurrence-row-title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.recurrence-row-title > strong { min-width: 0; overflow: hidden; color: var(--color-label); font-size: var(--font-size-4); text-overflow: ellipsis; white-space: nowrap; }
.recurrence-state { display: inline-flex; align-items: center; min-height: 1.5rem; padding: 0 var(--space-2); border-radius: var(--radius-pill); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.recurrence-state.is-live { background: var(--color-success-tint); color: var(--color-success); }
.recurrence-state.is-paused { background: var(--color-surface-tertiary); color: var(--color-label-secondary); }
.recurrence-row-meta, .recurrence-links { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin-top: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.recurrence-row-meta span { display: inline-flex; align-items: center; gap: var(--space-2); }
.recurrence-links a { color: var(--color-accent); font-weight: var(--weight-medium); text-decoration: none; }
.recurrence-links a:hover { text-decoration: underline; }
.recurrence-error { display: flex; align-items: center; gap: var(--space-2); margin: var(--space-2) 0 0; color: var(--color-error); font-size: var(--font-size-2); }
.recurrence-next { display: grid; gap: var(--space-1); text-align: right; }
.recurrence-next small { color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-semibold); letter-spacing: .05em; }
.recurrence-next strong { font-size: var(--font-size-2); }
.recurrence-actions { display: flex; align-items: center; gap: var(--space-1); }
.recurrence-actions form { margin: 0; }
.recurrence-dialog { width: min(50rem, calc(100vw - 2rem)); }
.recurrence-dialog-body { display: grid; gap: var(--space-5); }
.recurrence-source-note { display: grid; grid-template-columns: var(--control-md) minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-4); border-radius: var(--radius-surface); background: var(--color-accent-tint); color: var(--color-accent); }
.recurrence-source-note > i { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-pill); background: white; }
.recurrence-source-note span { display: grid; gap: .125rem; }
.recurrence-source-note small { color: var(--color-label-secondary); line-height: var(--line-body); }
.recurrence-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.recurrence-plan-grid fieldset { min-width: 0; margin: 0; padding: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-surface); }
.recurrence-plan-grid legend { padding: 0 var(--space-2); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.recurrence-form-grid { display: grid; gap: var(--space-4); }
.recurrence-interval-control { display: grid; grid-template-columns: 5rem minmax(0, 1fr); gap: var(--space-2); }
.recurrence-offset-control { display: grid; grid-template-columns: 6rem minmax(0, 1fr); align-items: center; gap: var(--space-3); }
.recurrence-offset-control span { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.recurrence-routing-grid { display: grid; grid-template-columns: minmax(10rem, .65fr) minmax(0, 1.35fr); gap: var(--space-4); }
.recurrence-routing-grid fieldset { min-width: 0; margin: 0; padding: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-surface); }
.recurrence-routing-grid legend { padding: 0 var(--space-2); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.recurrence-routing-grid select { width: 100%; }
.recurrence-assignees { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.recurrence-assignees label { min-width: 0; cursor: pointer; }
.recurrence-assignees input { position: absolute; opacity: 0; pointer-events: none; }
.recurrence-assignees label > span { display: grid; grid-template-columns: var(--control-sm) minmax(0, 1fr) 1.5rem; align-items: center; gap: var(--space-2); min-height: var(--control-lg); padding: var(--space-2); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); }
.recurrence-assignees label > span > strong { overflow: hidden; font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.recurrence-assignees label > span > i { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: var(--radius-pill); color: transparent; font-size: var(--font-size-0); }
.recurrence-assignees input:focus-visible + span { box-shadow: var(--focus-ring); }
.recurrence-assignees input:checked + span { border-color: var(--color-accent); background: var(--color-accent-tint); }
.recurrence-assignees input:checked + span > i { background: var(--color-accent); color: white; }
.task-meta-recurrence { color: var(--color-accent); }

@media (max-width: 62rem) {
.recurrence-row { grid-template-columns: var(--control-lg) minmax(0, 1fr) auto; }
.recurrence-next { grid-column: 2; text-align: left; }
.recurrence-actions { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 42rem) {
.recurrence-empty { grid-template-columns: var(--control-lg) minmax(0, 1fr); padding: var(--space-5); }
.recurrence-empty .btn { grid-column: 1 / -1; }
.recurrence-row { grid-template-columns: var(--control-md) minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4); }
.recurrence-row-icon { width: var(--control-md); height: var(--control-md); }
.recurrence-next { grid-column: 2; }
.recurrence-actions { grid-column: 2; grid-row: auto; justify-content: flex-start; }
.recurrence-plan-grid, .recurrence-routing-grid, .recurrence-assignees { grid-template-columns: minmax(0, 1fr); }
}

/* v148 — shared title axis, readable PDF previews and clearer thread progression. */
.page-task .container > .task-detail-header {
width: 100%;
max-width: none;
margin-top: 0;
margin-inline: 0;
padding-top: 0;
top: auto;
min-height: 0;
}

.page-task .thread-workspace .thread-main > .feed {
gap: 1.75rem;
padding-top: var(--space-4);
}
.page-task .thread-workspace .thread-main > .feed > .message:not(:first-child)::after {
position: absolute;
top: -1.75rem;
left: calc(var(--space-4) + 1.75rem);
z-index: 0;
width: .0625rem;
height: 1.75rem;
background: color-mix(in srgb, var(--color-separator-strong) 64%, transparent);
content: "";
pointer-events: none;
}

body.page-task main.container .thread-workspace .thread-main > .feed > .message,
body.page-task main.container .thread-workspace .thread-main > .feed > .message:nth-child(n),
body.page-task main.container .thread-workspace .thread-main > .feed > .message.is-pending-approval,
body.page-task main.container .thread-workspace .thread-main > .feed > .message.message-event-changes_requested,
body.page-task main.container .thread-workspace .thread-main > .feed > .message.message-event-closed { border: 0; }
body.page-task main.container .thread-workspace .thread-main > .feed > .message:last-child { border-bottom: 0; }
body.page-task main.container .thread-workspace .thread-main > .feed > .message .final-output-actions { padding-top: 0; border-top: 0; }

body.page-task main.container .feed > .message.message-event-closed :is(.bubble-title, .message-time > strong) {
color: var(--color-success) !important;
}
body.page-task main.container .feed > .message.message-event-closed .message-time > span {
color: color-mix(in srgb, var(--color-success) 68%, var(--color-label-secondary)) !important;
}
body.page-task main.container .feed > .message.message-event-changes_requested :is(.bubble-title, .message-time > strong) {
color: var(--color-purple) !important;
}
body.page-task main.container .feed > .message.message-event-changes_requested .message-time > span {
color: color-mix(in srgb, var(--color-purple) 68%, var(--color-label-secondary)) !important;
}
body.page-task main.container .feed > .message.is-final-output :is(.bubble-title, .message-time > strong) {
color: var(--color-warning) !important;
}
body.page-task main.container .feed > .message.is-final-output .message-time > span {
color: color-mix(in srgb, var(--color-warning) 68%, var(--color-label-secondary)) !important;
}
body.page-task main.container .feed > .message:is(.message-event-created,.message-event-brief_updated) .bubble-title {
color: var(--color-label-secondary) !important;
}
body.page-task main.container .feed > .message .bubble > p,
body.page-task main.container .feed > .message .created-brief-list,
body.page-task main.container .feed > .message .created-brief-long-answer > p {
font-size: var(--font-size-3) !important;
line-height: var(--line-body) !important;
}

.page-task .container > .task-detail-header .page-subtitle.task-header-meta {
gap: var(--space-2) var(--space-5);
font-size: var(--font-size-3) !important;
line-height: var(--line-body);
}
.page-task .container > .task-detail-header .task-header-meta > span > i {
width: var(--icon-sm);
font-size: var(--font-size-2);
}
.page-task .thread-workspace > .task-actions-aside {
top: calc(var(--topbar-height) + var(--space-6));
}

.attachment-pdf-preview > .attachment-pdf-canvas {
position: absolute;
z-index: 1;
max-width: calc(100% - (var(--space-2) * 2));
max-height: calc(100% - (var(--space-2) * 2));
border-radius: .25rem;
background: #fff;
}
.attachment-pdf-preview.is-rendered > img,
.attachment-pdf-preview.is-rendered > .attachment-pdf-fallback { display: none; }
.file-preview-body > .file-preview-canvas {
max-width: 100%;
max-height: 100%;
border-radius: var(--radius-sm);
background: #fff;
box-shadow: 0 .125rem .5rem color-mix(in srgb, var(--color-label) 8%, transparent);
}
.file-preview-loading {
display: grid;
justify-items: center;
gap: var(--space-3);
color: var(--color-label-secondary);
font-size: var(--font-size-2);
text-align: center;
}
.file-preview-loading > i { color: var(--color-accent); font-size: var(--font-size-5); }

@media (max-width: 42rem) {
.page-task .thread-workspace .thread-main > .feed { gap: var(--space-6); }
.page-task .thread-workspace .thread-main > .feed > .message:not(:first-child)::after {
top: calc(var(--space-6) * -1);
left: calc(var(--space-3) + 1.25rem);
height: var(--space-6);
}
}

/* v147 — quieter task metadata and status conveyed by the message itself. */
.page-task .task-detail-header .page-subtitle.task-header-meta {
margin-top: var(--space-2);
gap: var(--space-2) var(--space-4);
color: var(--color-label-tertiary);
font-size: var(--font-size-2) !important;
line-height: var(--line-title);
}
.page-task .task-detail-header .task-header-meta > span {
gap: .375rem;
color: var(--color-label-secondary);
font-weight: var(--weight-regular);
white-space: nowrap;
}
.page-task .task-detail-header .task-header-meta > span > i {
width: var(--icon-sm);
color: var(--color-label-tertiary);
font-size: var(--font-size-2);
text-align: center;
}
.page-task .task-detail-header .task-header-meta :is(.task-meta-status, .task-meta-deadline) { font-weight: var(--weight-regular); }
.page-task .task-detail-header .task-header-meta .task-meta-priority { font-weight: var(--weight-medium); }
.page-task .task-detail-header .task-header-meta .task-meta-status.status-waiting_requester,
.page-task .task-detail-header .task-header-meta .task-meta-deadline.deadline-upcoming,
.page-task .task-detail-header .task-header-meta .task-meta-status.status-changes_requested,
.page-task .task-detail-header .task-header-meta .task-meta-status.status-closed { color: var(--color-label-secondary); }
.page-task .task-detail-header .task-header-meta .task-meta-status > i,
.page-task .task-detail-header .task-header-meta .task-meta-deadline.deadline-upcoming > i { color: currentColor; }

.page-task .feed .message.is-final-output.message-event-final_output,
.page-task .feed .message.is-final-output.is-pending-approval {
border-color: #f0d8bd;
background: #fffaf3;
}
.page-task .feed .message.system.message-event-changes_requested {
border-color: #ddd7f6;
background: #f8f6ff;
}
.page-task .feed .message.system.message-event-closed {
border-color: #cee8d4;
background: #f4fbf5;
}
.page-task .feed .message .bubble .bubble-head .bubble-title { font-weight: var(--weight-semibold) !important; }
.page-task .feed .message .thread-event-title.is-output { color: var(--color-warning); }
.page-task .feed .message.system .thread-event-title.is-return { color: var(--color-purple); }
.page-task .feed .message.system .thread-event-title.is-success { color: var(--color-success); }
.page-task .feed .message .thread-event-title:is(.is-output,.is-return,.is-success) { font-weight: var(--weight-semibold); }

.page-task .task-detail-header {
position: static;
z-index: auto;
top: auto;
padding-top: 0;
background: transparent;
box-shadow: none;
-webkit-backdrop-filter: none;
backdrop-filter: none;
}
.page-task .thread-workspace .thread-main .final-files { margin-top: var(--space-3); padding-top: 0; border-top: 0; }
.page-task .thread-workspace .thread-main .final-files-toolbar { display: flex; justify-content: flex-end; margin-top: var(--space-3); margin-bottom: 0; }
.page-task .attachment-preview-card .attachment-preview-media,
.page-task .attachment-preview-card.is-image .attachment-preview-media img,
.page-task .attachment-preview-card.is-pdf .attachment-preview-media img { background: #fff; }
.file-preview-modal .file-preview-body { background: #fff; }

@media (max-width: 42rem) {
.page-task .task-detail-header .page-subtitle.task-header-meta { gap: var(--space-2) var(--space-3); }
.page-task .task-detail-header .task-header-meta > span { white-space: normal; }
.page-task .task-detail-header { top: auto; }
.page-task .task-title-row { align-items: stretch; flex-direction: column; }
.page-task .task-orders-return { align-self: flex-start; margin: 0; }
}

*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; overflow-x: clip; overflow-y: auto; scroll-behavior: smooth; scrollbar-gutter: stable; }
body {
min-height: 100vh;
margin: 0;
overflow-x: clip;
background: var(--color-canvas);
color: var(--color-label);
font-family: var(--font-sans);
font-size: var(--font-size-3);
line-height: var(--line-body);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
body, button, input, select, textarea { font-family: var(--font-sans); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, summary, label { -webkit-tap-highlight-color: transparent; }
:is(a[href], button, summary, select, input[type="checkbox"], input[type="radio"], input[type="file"], label[for], [role="button"], [role="link"], [data-row-href], [data-action-tab], [data-step-jump]) { cursor: pointer; }
:is(a[href], button, summary, [role="button"], [role="link"], [data-row-href]) * { cursor: inherit; }
input[type="file"]::file-selector-button { cursor: pointer; }
:is(button, input, select):disabled { cursor: not-allowed; }
button:disabled { opacity: .48; }
img, svg { max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
::selection { background: var(--color-accent-tint); color: var(--color-label); }

:focus-visible {
outline: none;
box-shadow: var(--focus-ring);
}
.hidden, [hidden] { display: none !important; }
.sr-only {
position: absolute;
width: .0625rem;
height: .0625rem;
padding: 0;
margin: -.0625rem;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}

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

/* Shell and navigation */
.app-shell { min-height: 100vh; }
.app-sidebar {
position: fixed;
inset: 0 auto 0 0;
z-index: 50;
display: flex;
width: var(--sidebar-width);
flex-direction: column;
padding: var(--space-8) var(--space-5) var(--space-6);
background: var(--color-sidebar-deep);
color: var(--color-sidebar-label);
}
.side-brand { display: flex; width: 10.5rem; min-height: var(--control-lg); align-items: center; margin: 0 var(--space-3) var(--space-12); }
.side-brand svg { display: block; width: 100%; height: auto; }
.side-nav { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: var(--space-5); }
.side-nav-section { display: grid; gap: var(--space-1); }
.side-nav-section-label { margin: 0; padding: 0 var(--space-4); color: color-mix(in srgb, var(--color-sidebar-label) 56%, transparent); font-size: .6875rem; font-weight: var(--weight-semibold); letter-spacing: .075em; line-height: var(--line-title); text-transform: uppercase; }
.side-nav-link {
position: relative;
display: grid;
min-height: var(--control-lg);
grid-template-columns: var(--icon-md) minmax(0, 1fr) auto;
align-items: center;
gap: var(--space-3);
padding: 0 var(--space-4);
border-radius: var(--radius-control);
color: var(--color-sidebar-label);
font-size: var(--font-size-4);
font-weight: var(--weight-medium);
transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
}
.side-nav-link i { width: var(--icon-md); color: currentColor; text-align: center; }
.side-nav-link span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.side-nav-link:hover { background: var(--color-sidebar-hover); color: var(--color-label-inverse); }
.side-nav-link.active { background: var(--color-sidebar-active); color: var(--color-label-inverse); font-weight: var(--weight-semibold); }
.side-nav-badge { display: grid; min-width: var(--space-6); height: var(--space-6); place-items: center; padding: 0 var(--space-2); border-radius: var(--radius-pill); background: var(--color-brand); color: var(--color-label-inverse); font-size: var(--font-size-1); font-style: normal; font-weight: var(--weight-bold); }
.side-nav-create { order: 99; margin-top: auto; background: var(--color-brand); color: var(--color-label-inverse); font-weight: var(--weight-semibold); }
.side-nav-create:hover, .side-nav-create.active { background: var(--color-brand-hover); }
.app-content { min-height: 100vh; margin-left: var(--sidebar-width); }
.app-topbar {
position: sticky;
top: 0;
z-index: 40;
display: flex;
height: var(--topbar-height);
align-items: center;
justify-content: space-between;
gap: var(--space-6);
padding: 0 var(--page-gutter);
border-bottom: .0625rem solid var(--color-separator);
background: rgba(245, 245, 247, .86);
-webkit-backdrop-filter: saturate(180%) blur(1.25rem);
backdrop-filter: saturate(180%) blur(1.25rem);
}
.topbar-main, .topbar-page-title, .header-tools { display: flex; align-items: center; }
.topbar-main { min-width: 0; gap: var(--space-4); }
.topbar-page-title { min-width: 0; gap: var(--space-3); }
.topbar-page-title h1 { margin: 0; overflow: hidden; font-size: var(--font-size-5); line-height: var(--line-title); text-overflow: ellipsis; white-space: nowrap; }
.topbar-page-context { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-medium); }
.topbar-orders-link { display: inline-flex; height: var(--control-sm); align-items: center; gap: var(--space-2); padding: 0 var(--space-3); border-radius: var(--radius-sm); color: var(--color-accent); font-weight: var(--weight-semibold); transition: background-color var(--duration-fast) var(--ease-standard); }
.topbar-orders-link:hover { background: var(--color-accent-tint); }
.header-tools { flex: 0 0 auto; gap: var(--space-2); }
.hamburger-btn, .sidebar-backdrop { display: none; }
.icon-btn { position: relative; display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border: 0; border-radius: var(--radius-control); background: transparent; color: var(--color-label); cursor: pointer; list-style: none; transition: background-color var(--duration-fast) var(--ease-standard); }
.icon-btn:hover { background: var(--color-surface-tertiary); }
.top-popover { position: relative; }
.top-popover > summary,
.top-popover > summary * { cursor: pointer; }
.icon-btn::-webkit-details-marker, .user-trigger::-webkit-details-marker { display: none; }
.top-popover-trigger { outline: 0; }
.top-popover-trigger:focus-visible { box-shadow: var(--focus-ring); }
.top-popover[open] > .top-popover-trigger { background: var(--color-surface-tertiary); }
.top-popover-backdrop { display: none; }
.notif-dot { position: absolute; top: -.125rem; right: -.125rem; display: grid; min-width: var(--space-5); height: var(--space-5); place-items: center; padding: 0 var(--space-1); border: .125rem solid var(--color-canvas); border-radius: var(--radius-pill); background: var(--color-brand); color: var(--color-label-inverse); font-size: var(--font-size-1); font-weight: var(--weight-bold); }
.popover-menu { position: absolute; top: calc(100% + var(--space-3)); right: 0; z-index: 70; width: min(25rem, calc(100vw - (var(--page-gutter) * 2))); overflow: hidden; border: .0625rem solid color-mix(in srgb, var(--color-separator-strong) 70%, transparent); border-radius: var(--radius-panel); background: color-mix(in srgb, var(--color-surface) 98%, transparent); box-shadow: 0 1.25rem 3.5rem rgba(18, 22, 33, .16), 0 .25rem .875rem rgba(18, 22, 33, .08); transform-origin: top right; animation: top-popover-in var(--duration-standard) var(--ease-standard) both; -webkit-backdrop-filter: blur(1.25rem); backdrop-filter: blur(1.25rem); }
@keyframes top-popover-in { from { opacity: 0; transform: translateY(calc(var(--space-2) * -1)) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
.notification-center { display: flex; width: min(31rem, calc(100vw - (var(--page-gutter) * 2))); max-height: min(42rem, calc(100dvh - var(--topbar-height) - var(--space-6))); flex-direction: column; }
.notif-head { display: grid; flex: 0 0 auto; grid-template-columns: minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-4); padding: var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.notif-head-copy { display: grid; min-width: 0; gap: .125rem; }
.popover-kicker { color: var(--color-accent); font-size: var(--font-size-0); font-weight: var(--weight-bold); letter-spacing: .065em; text-transform: uppercase; }
.notif-head-copy > strong { font-size: var(--font-size-5); line-height: var(--line-title); }
.notif-head-copy > small { overflow: hidden; color: var(--color-label-secondary); font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.popover-close { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: var(--color-surface-secondary); color: var(--color-label-secondary); cursor: pointer; transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
.popover-close:hover { background: var(--color-control-hover); color: var(--color-label); }
.popover-close:focus-visible { outline: 0; box-shadow: var(--focus-ring); }
.notif-toolbar { display: flex; min-height: var(--control-md); flex: 0 0 auto; align-items: center; justify-content: space-between; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-bottom: .0625rem solid var(--color-separator); background: var(--color-surface-secondary); }
.notif-toolbar[hidden] { display: none; }
.notif-toolbar form { margin: 0; }
.notif-toolbar-action { display: inline-flex; min-height: var(--control-sm); align-items: center; gap: var(--space-2); padding: 0 var(--space-3); border: 0; border-radius: var(--radius-control); background: transparent; color: var(--color-accent); font-size: var(--font-size-2); font-weight: var(--weight-semibold); cursor: pointer; }
.notif-toolbar-action:hover { background: var(--color-accent-tint); }
.notif-toolbar-action.danger { color: var(--color-label-secondary); }
.notif-toolbar-action.danger:hover { background: var(--color-error-tint); color: var(--color-error); }
.notif-toolbar-action:focus-visible { outline: 0; box-shadow: var(--focus-ring); }
.notif-list { min-height: 0; overflow: auto; overscroll-behavior: contain; }
.notif-empty { display: grid; min-height: 18rem; align-content: center; justify-items: center; padding: var(--space-10) var(--space-6); color: var(--color-label-secondary); text-align: center; }
.notif-empty[hidden] { display: none; }
.notif-empty > span { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; margin-bottom: var(--space-4); border-radius: var(--radius-pill); background: var(--color-surface-secondary); color: var(--color-label-tertiary); font-size: var(--font-size-5); }
.notif-empty strong { color: var(--color-label); font-size: var(--font-size-4); }
.notif-empty p { margin: var(--space-1) 0 0; color: var(--color-label-tertiary); }
.notif-item { display: grid; grid-template-columns: minmax(0, 1fr) var(--control-sm); align-items: stretch; border-bottom: .0625rem solid var(--color-separator); background: var(--color-surface); transition: background-color var(--duration-fast) var(--ease-standard); }
.notif-item:last-child { border-bottom: 0; }
.notif-item:hover { background: var(--color-surface-secondary); }
.notif-item.unread { background: color-mix(in srgb, var(--color-accent-tint) 50%, var(--color-surface)); }
.notif-item.unread:hover { background: color-mix(in srgb, var(--color-accent-tint) 72%, var(--color-surface)); }
.notif-item-open { display: grid; min-width: 0; grid-template-columns: .375rem var(--control-md) minmax(0, 1fr); align-items: start; gap: var(--space-3); padding: var(--space-4) 0 var(--space-4) var(--space-4); color: var(--color-label); }
.notif-item-open:focus-visible { position: relative; z-index: 1; outline: 0; box-shadow: inset 0 0 0 .1875rem var(--color-focus-ring); }
.notif-unread-mark { width: .375rem; height: .375rem; margin-top: calc((var(--control-md) - .375rem) / 2); border-radius: var(--radius-pill); background: transparent; }
.notif-item.unread .notif-unread-mark { background: var(--color-accent); box-shadow: 0 0 0 .1875rem color-mix(in srgb, var(--color-accent) 12%, transparent); }
.notif-item-icon { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label-secondary); font-size: var(--font-size-3); }
.notif-item.unread .notif-item-icon { background: var(--color-accent); color: var(--color-label-inverse); }
.notif-item-copy { display: grid; min-width: 0; gap: var(--space-1); }
.notif-item-title { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
.notif-item-title strong { overflow: hidden; font-size: var(--font-size-3); line-height: var(--line-title); text-overflow: ellipsis; white-space: nowrap; }
.notif-item-title time { flex: 0 0 auto; color: var(--color-label-tertiary); font-size: var(--font-size-0); white-space: nowrap; }
.notif-item-body { display: -webkit-box; overflow: hidden; color: var(--color-label-secondary); font-size: var(--font-size-2); line-height: var(--line-body); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.notif-item-copy > small { overflow: hidden; color: var(--color-label-tertiary); font-size: var(--font-size-1); text-overflow: ellipsis; white-space: nowrap; }
.notif-delete-form { display: grid; place-items: center; padding-right: var(--space-2); }
.notif-delete { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-label-tertiary); cursor: pointer; opacity: 0; transition: opacity var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.notif-item:hover .notif-delete,
.notif-item:focus-within .notif-delete { opacity: 1; }
.notif-delete:hover { background: var(--color-error-tint); color: var(--color-error); }
.notif-delete:focus-visible { opacity: 1; outline: 0; box-shadow: var(--focus-ring); }
.user-trigger { display: flex; min-height: var(--control-md); align-items: center; gap: var(--space-2); padding: var(--space-1) var(--space-2) var(--space-1) var(--space-1); border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-label); cursor: pointer; list-style: none; transition: background-color var(--duration-fast) var(--ease-standard); }
.user-trigger:hover { background: var(--color-surface-tertiary); }
.user-trigger-meta { display: grid; min-width: 0; max-width: 11rem; gap: 0; text-align: left; }
.user-trigger-meta strong,
.user-trigger-meta small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-trigger-meta strong { font-size: var(--font-size-2); line-height: var(--line-title); }
.user-trigger-meta small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.user-trigger-chevron { display: grid; width: var(--space-6); height: var(--space-6); place-items: center; color: var(--color-label-tertiary); font-size: var(--font-size-1); transition: transform var(--duration-fast) var(--ease-standard); }
.user-switcher[open] .user-trigger-chevron { transform: rotate(180deg); }
.account-menu { width: min(25rem, calc(100vw - (var(--page-gutter) * 2))); }
.account-menu-head { display: grid; grid-template-columns: var(--avatar-lg) minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-4); padding: var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.avatar.xl { width: var(--avatar-lg); height: var(--avatar-lg); }
.account-menu-head > div { display: grid; min-width: 0; gap: .125rem; }
.account-menu-head > div > strong { overflow: hidden; font-size: var(--font-size-4); text-overflow: ellipsis; white-space: nowrap; }
.account-menu-head > div > span:not(.popover-kicker) { overflow: hidden; color: var(--color-label-secondary); font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.account-identity-meta { display: flex !important; flex-wrap: wrap; gap: var(--space-1) !important; margin-top: var(--space-1); }
.account-identity-meta small { padding: .125rem var(--space-2); border-radius: var(--radius-pill); background: var(--color-surface-secondary); color: var(--color-label-secondary); font-size: var(--font-size-0); }
.account-menu-content { max-height: min(31rem, 62vh); overflow: auto; overscroll-behavior: contain; }
.account-menu-group { padding: var(--space-2); border-bottom: .0625rem solid var(--color-separator); }
.account-menu-group:last-child { border-bottom: 0; }
.account-menu-section { display: block; padding: var(--space-2) var(--space-3) var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-bold); letter-spacing: .06em; text-transform: uppercase; }
.account-menu-link { display: grid; width: 100%; min-height: 3.25rem; grid-template-columns: var(--control-sm) minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border: 0; border-radius: var(--radius-control); background: transparent; color: var(--color-label); text-align: left; transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
.account-menu-link:hover { background: var(--color-surface-secondary); }
.account-menu-link:focus-visible { outline: 0; box-shadow: var(--focus-ring); }
.account-menu-icon { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label-secondary); }
.account-menu-link > span:nth-child(2) { display: grid; min-width: 0; gap: .125rem; }
.account-menu-link strong,
.account-menu-link small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-menu-link strong { font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.account-menu-link small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.account-menu-primary .account-menu-icon { background: var(--color-accent); color: var(--color-label-inverse); }
.account-menu-arrow { color: var(--color-label-tertiary); }
.account-menu-footer { padding: var(--space-2); border-top: .0625rem solid var(--color-separator); background: var(--color-surface-secondary); }
.account-menu-footer form { margin: 0; }
.account-menu-link.logout { color: var(--color-error); }
.account-menu-link.logout .account-menu-icon { background: var(--color-error-tint); color: var(--color-error); }

/* Shared layout */
.container { width: min(100%, calc(var(--content-max) + (var(--page-gutter) * 2))); margin: 0 auto; padding: var(--space-12) var(--page-gutter) var(--space-20); }
.page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-8); }
.page-title { margin: 0 0 var(--space-2); font-size: var(--font-size-8); line-height: var(--line-tight); letter-spacing: -.035em; }
.page-subtitle { max-width: 42rem; margin: 0; color: var(--color-label-secondary); font-size: var(--font-size-4); }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.section-heading h2, .section-title { margin: 0; font-size: var(--font-size-5); line-height: var(--line-title); letter-spacing: -.015em; }
.section-heading > a, .section-heading > span { color: var(--color-accent); font-weight: var(--weight-semibold); }
.empty, .empty-card, .empty-order-state, .team-simple-empty, .news-empty-state, .wall-empty-state, .gallery-empty, .news-admin-empty { padding: var(--space-10) var(--space-6); color: var(--color-label-secondary); text-align: center; }
.alert, .form-error, .login-error { display: flex; align-items: flex-start; gap: var(--space-2); padding: var(--space-3) var(--space-4); border: .0625rem solid currentColor; border-radius: var(--radius-control); background: var(--color-error-tint); color: var(--color-error); font-weight: var(--weight-medium); }

/* Buttons, icons, avatars, badges */
.btn { display: inline-flex; min-height: var(--control-md); align-items: center; justify-content: center; gap: var(--space-2); padding: 0 var(--space-4); border: .0625rem solid transparent; border-radius: var(--radius-control); background: var(--color-surface-tertiary); color: var(--color-label); font-size: var(--font-size-3); font-weight: var(--weight-semibold); white-space: nowrap; transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.btn:hover { background: var(--color-control-hover); }
.btn.primary, .btn.brand { background: var(--color-brand); color: var(--color-label-inverse); }
.btn.primary:hover, .btn.brand:hover { background: var(--color-brand-hover); }
.btn.small { min-height: var(--control-sm); padding: 0 var(--space-3); font-size: var(--font-size-2); }
.btn.danger { background: var(--color-error); color: var(--color-label-inverse); }
.btn.danger:hover { background: color-mix(in srgb, var(--color-error) 88%, #000); color: var(--color-label-inverse); }
.link-button, .final-review-edit, .pipeline-orders-link { min-height: var(--control-sm); padding: 0; border: 0; background: transparent; color: var(--color-accent); font-weight: var(--weight-semibold); }
.link-button:hover, .final-review-edit:hover { color: var(--color-accent-hover); text-decoration: underline; text-underline-offset: var(--space-1); }
.icon-action, .modal-close, .drawer-close, .gallery-panel-close, .panel-close { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border: 0; border-radius: var(--radius-control); background: transparent; color: var(--color-label-secondary); font-size: var(--icon-md); transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.icon-action:hover, .modal-close:hover, .drawer-close:hover, .gallery-panel-close:hover, .panel-close:hover { background: var(--color-surface-tertiary); color: var(--color-label); }
.icon-btn > i,
.icon-action > i,
.modal-close > i,
.drawer-close > i,
.gallery-panel-close > i,
.panel-close > i,
.composer-asset-remove > i,
.workflow-composer-close > i { width: var(--icon-md); font-size: var(--icon-md); line-height: 1; text-align: center; }
.avatar { display: inline-grid; width: var(--avatar-md); height: var(--avatar-md); flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: var(--radius-pill); background: var(--color-surface-tertiary); object-fit: cover; font-weight: var(--weight-semibold); }
.avatar.sm { width: var(--avatar-sm); height: var(--avatar-sm); }
.avatar.lg { width: var(--avatar-lg); height: var(--avatar-lg); }
.avatar-stack { display: flex; align-items: center; }
.avatar-stack .avatar { margin-left: calc(var(--space-2) * -1); border: .125rem solid var(--color-surface); }
.avatar-stack .avatar:first-child { margin-left: 0; }
.chip, .badge, .attachment { display: inline-flex; min-width: 0; max-width: 100%; min-height: 1.75rem; align-items: center; gap: var(--space-2); padding: 0 var(--space-3); overflow: hidden; border: 0; border-radius: var(--radius-pill); background: var(--color-surface-secondary); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); text-overflow: ellipsis; white-space: nowrap; }
.status-open { color: var(--color-label-secondary); }
.status-accepted, .status-in_progress { background: var(--color-warning-tint); color: var(--color-warning); }
.status-changes_requested { background: var(--color-purple-tint); color: var(--color-purple); }
.status-waiting_requester { background: var(--color-accent-tint); color: var(--color-accent); }
.status-closed { background: var(--color-success-tint); color: var(--color-success); }
.deadline-overdue { background: var(--color-error-tint); color: var(--color-error); }
.deadline-soon { background: var(--color-warning-tint); color: var(--color-warning); }

/* Forms */
.form-grid, .form-card, .field, .choice-group { display: grid; gap: var(--space-3); }
.two-col, .compose-row, .profile-password-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--grid-gutter); }
.three-col { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--grid-gutter); }
.field label, .field > strong, .dynamic-question > label, .question-fields label { display: block; margin: 0; color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="url"], input[type="number"], input[type="search"], input[type="tel"], select:not([multiple]), textarea { width: 100%; border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-control); outline: 0; background-color: var(--color-surface); color: var(--color-label); transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="url"], input[type="number"], input[type="search"], input[type="tel"], select:not([multiple]) { height: var(--control-lg); min-height: var(--control-lg); padding: 0 var(--space-4); }
select:not([multiple]) { appearance: none; padding-right: var(--space-10); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236f6258' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right var(--space-4) center; background-size: .75rem .5rem; }
input[type="text"]:disabled, input[type="email"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="time"]:disabled, input[type="datetime-local"]:disabled, input[type="url"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, select:disabled { background-color: var(--color-surface-secondary); color: var(--color-label-secondary); opacity: 1; }
textarea { min-height: 7.5rem; padding: var(--space-3) var(--space-4); resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--color-label-tertiary); }
input:hover, select:hover, textarea:hover { border-color: var(--color-label-tertiary); }
input:focus, select:focus, textarea:focus { border-color: var(--color-accent); box-shadow: var(--focus-ring); }
.file-input { display: flex; min-height: var(--control-lg); align-items: center; gap: var(--space-3); padding: var(--space-2); border: .0625rem dashed var(--color-separator-strong); border-radius: var(--radius-control); background: var(--color-surface); }
.required-mark, .optional { color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.required-mark { color: var(--color-error); }
.section-note, .question-help { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.form-actions, .wizard-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }

/* Modal and drawer */
.modal-backdrop { position: fixed; inset: 0; z-index: 1000; display: none; width: 100%; height: 100dvh; align-items: center; justify-content: center; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-6); background: var(--color-overlay); -webkit-backdrop-filter: blur(var(--space-2)); backdrop-filter: blur(var(--space-2)); }
.modal-backdrop.active { display: flex; animation: modal-overlay-in var(--duration-fast) var(--ease-standard) both; }
.modal, .calendar-dialog-card { width: min(100%, var(--modal-max)); max-height: min(50rem, calc(100dvh - (var(--space-12) * 2))); overflow: auto; overscroll-behavior: contain; padding: var(--space-6); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: var(--shadow-2); animation: modal-in var(--duration-standard) var(--ease-standard) both; }
.modal img { display: block; max-width: 100%; max-height: 70vh; margin: 0 auto; border-radius: var(--radius-surface); }
.modal-head, .calendar-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); }
.modal-title, .calendar-dialog-head h2 { margin: 0; font-size: var(--font-size-5); }
@keyframes modal-overlay-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes modal-in { from { opacity: 0; } to { opacity: 1; } }

/* Login */
.login-body {
min-height: 100vh;
background-color: var(--color-sidebar-deep);
color: var(--color-label-inverse);
color-scheme: dark;
}
.login-minimal-shell { display: grid; min-height: 100vh; place-items: center; padding: var(--space-8); }
.login-minimal-card { display: grid; width: min(100%, 27rem); gap: var(--space-8); padding: var(--space-8); border: .0625rem solid rgba(255,255,255,.12); border-radius: var(--radius-panel); background: var(--color-sidebar); box-shadow: none; }
.login-brand-logo { width: 11rem; margin: 0 auto; }
.login-card { display: grid; gap: var(--space-5); }
.login-card .field label { color: rgba(232,234,240,.7); }
.login-card input { border-color: rgba(224,226,231,.2); background: rgba(242,243,246,.075); color: var(--color-label-inverse); }
.login-card input:hover { border-color: rgba(224,226,231,.36); background: rgba(242,243,246,.11); }
.login-card input:focus { border-color: rgba(224,226,231,.72); box-shadow: 0 0 0 .1875rem rgba(224,226,231,.11); }
.login-card input::placeholder { color: rgba(201,203,211,.52); }
.login-card .login-error { border-color: rgba(255,108,115,.7); background: rgba(217,52,59,.16); color: #ffb3b7; }
.password-field { position: relative; }
.password-field input { padding-right: var(--space-12); }
.password-field button { position: absolute; top: 50%; right: var(--space-2); display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: transparent; color: rgba(201,203,211,.68); transform: translateY(-50%); }
.password-field button:hover { background: var(--color-sidebar-hover); color: var(--color-label-inverse); }
.login-submit { width: 100%; justify-content: space-between; }
.login-security-note { display: flex; align-items: center; justify-content: center; gap: var(--space-2); margin: var(--space-2) 0 0; color: rgba(201,203,211,.58); font-size: var(--font-size-1); }
.login-support, .support-footer, .app-footer { display: none !important; }

/* Dashboard and task rows */
.dashboard-layout { display: grid; gap: var(--space-10); }
.dashboard-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-8); padding-bottom: var(--space-8); }
.dashboard-welcome h2 { margin: 0; font-size: clamp(var(--font-size-8), 4vw, var(--font-size-9)); line-height: var(--line-tight); letter-spacing: -.045em; }
.dashboard-welcome-actions { display: flex; flex: 0 0 auto; gap: var(--space-2); }
.dashboard-overview-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border-radius: var(--radius-panel); background: var(--color-surface); }
.dashboard-stat { display: grid; min-height: 5.75rem; grid-template-columns: var(--control-md) minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-right: .0625rem solid var(--color-separator); background: transparent; cursor: pointer; }
.dashboard-stat:last-child { border-right: 0; }
.dashboard-stat > span { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-control); background: var(--color-surface-tertiary); color: var(--color-label-secondary); }
.dashboard-stat > div { display: flex; min-width: 0; align-items: baseline; gap: var(--space-2); }
.dashboard-stat strong { color: var(--color-label); font-size: var(--font-size-6); line-height: 1; }
.dashboard-stat small { color: var(--color-label-secondary); font-size: var(--font-size-3); }
.dashboard-stat.is-warning > span { background: var(--color-error-tint); color: var(--color-error); }
.dashboard-stat.is-waiting > span { background: var(--color-accent-tint); color: var(--color-accent); }
.dashboard-stat.is-done > span { background: var(--color-success-tint); color: var(--color-success); }
.dashboard-stat:hover small { color: var(--color-label); text-decoration: underline; text-decoration-color: var(--color-separator-strong); text-underline-offset: var(--space-1); }
.dashboard-focus-icon, .order-task-icon { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label-secondary); }
.dashboard-priority-form { position: relative; width: 100%; min-width: 0; }
.dashboard-priority-form select { width: 100%; height: var(--control-sm); min-height: var(--control-sm); padding: 0 var(--space-8) 0 var(--space-3); border: 0; border-radius: var(--radius-pill); background-color: var(--color-surface-secondary); color: var(--color-label-secondary); cursor: pointer; font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.dashboard-priority-form.priority-high select { background-color: var(--color-error-tint); color: var(--color-error); }
.dashboard-priority-form.priority-medium select { background-color: var(--color-warning-tint); color: var(--color-warning); }
.dashboard-priority-form.priority-low select { background-color: var(--color-blue-tint); color: var(--color-blue); }
.dashboard-news-zone { margin: 0; padding: 0; background: transparent; }

/* Orders overview — same visual grammar as dashboard rows */
.orders-commandbar { width: 100%; margin-bottom: var(--space-6); overflow-x: auto; padding: var(--space-2); border: .0625rem solid var(--color-separator); border-radius: var(--radius-surface); background: var(--color-surface); scrollbar-width: none; }
.orders-commandbar::-webkit-scrollbar { display: none; }
.task-tabs { display: flex; width: 100%; min-width: max-content; align-items: center; gap: var(--space-1); }
.task-tab { position: relative; display: inline-flex; min-height: var(--control-lg); flex: 1 0 auto; align-items: center; justify-content: center; gap: var(--space-2); padding: 0 var(--space-4); border-radius: var(--radius-control); color: var(--color-label-secondary); font-size: var(--font-size-3); font-weight: var(--weight-semibold); transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.task-tab::after { display: none; }
.task-tab strong { display: grid; min-width: var(--space-6); height: var(--space-6); place-items: center; padding: 0 var(--space-1); border-radius: var(--radius-pill); background: var(--color-surface-tertiary); color: var(--color-label-secondary); font-size: var(--font-size-1); transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
.task-tab:hover { background: var(--color-surface-secondary); color: var(--color-label); }
.task-tab:hover strong { background: var(--color-brand); color: var(--color-label-inverse); }
.task-tab.is-active { background: var(--color-surface-secondary); color: var(--color-label); }
.task-tab.is-active strong { background: var(--color-brand); color: var(--color-label-inverse); }
.inbox-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-3); }
.inbox-group-title { margin: 0; font-size: var(--font-size-5); }
.inbox-table-head, .inbox-row { display: grid; grid-template-columns: minmax(20rem, 3.2fr) minmax(8rem, 1fr) minmax(8rem, 1fr) minmax(11rem, 1.4fr) minmax(10rem, 1.15fr) var(--control-sm); align-items: center; gap: var(--space-4); }
.inbox-table-head.has-priority-control, .inbox-row.has-priority-control { grid-template-columns: minmax(20rem, 3.2fr) minmax(8rem, 1fr) minmax(8rem, 1fr) minmax(11rem, 1.4fr) minmax(10rem, 1.15fr) minmax(8.5rem, .9fr) var(--control-sm); }
.inbox-table-head { min-height: var(--control-md); padding: 0 var(--space-5); border-bottom: .0625rem solid var(--color-separator); color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); letter-spacing: .04em; text-transform: uppercase; }
.inbox-row { min-height: 6.25rem; padding: var(--space-3) var(--space-5); border-bottom: .0625rem solid var(--color-separator); cursor: pointer; }
.inbox-row:last-child { border-bottom: 0; }
.task-main { display: grid; min-width: 0; grid-template-columns: var(--control-sm) minmax(0, 1fr); column-gap: var(--space-3); }
.task-main .order-task-icon { grid-row: 1 / 4; }
.type-inline { color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-medium); }
.task-title { width: fit-content; max-width: 100%; overflow: hidden; color: var(--color-label); font-size: var(--font-size-3); font-weight: var(--weight-semibold); line-height: var(--line-title); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.task-meta { overflow: hidden; color: var(--color-label-tertiary); font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.requester-name, .assignee-names { display: block; overflow: hidden; font-weight: var(--weight-medium); text-overflow: ellipsis; white-space: nowrap; }
.assignees { display: grid; min-width: 0; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: var(--space-3); }
.assignees .avatar-stack { position: relative; z-index: 1; width: max-content; flex: 0 0 auto; }
.assignees .assignee-names { min-width: 0; }
.free-assignee { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-error); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.deadline-cell .badge, .deadline-cell .badge.deadline-overdue, .deadline-cell .badge.deadline-soon { background: transparent; color: var(--color-label-secondary); }
.chev { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-pill); color: var(--color-label-tertiary); }
.chev:hover { background: var(--color-surface-secondary); color: var(--color-label); }
.inbox-row.is-closed { color: var(--color-label-secondary); }
.inbox-row.is-closed .task-title { color: var(--color-label-secondary); }

/* Task detail and conversation */
.thread-container { width: 100%; }
.thread-top { display: none; }
.thread-hero { margin-bottom: var(--space-8); }
.task-command-center { position: sticky; z-index: 30; top: var(--topbar-height); width: calc(100vw - var(--sidebar-width)); margin-left: calc(50% - 50vw + (var(--sidebar-width) / 2)); padding: 0 var(--page-gutter); border: 0; border-bottom: .0625rem solid var(--color-separator); border-radius: 0; background: rgba(245,245,247,.94); box-shadow: none; -webkit-backdrop-filter: saturate(180%) blur(1.25rem); backdrop-filter: saturate(180%) blur(1.25rem); }
.task-command-inner { width: min(100%, var(--content-max)); margin: 0 auto; padding: var(--space-3) 0; }
.thread-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-2); }
.thread-kicker .badge, .thread-kicker .chip, .hero-assignees { display: inline-flex; min-height: var(--control-sm); align-items: center; gap: var(--space-2); padding: 0 var(--space-3); border-radius: var(--radius-pill); background: var(--color-surface-tertiary); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.task-title-line { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.thread-title { min-width: 0; max-width: 58rem; margin: 0; font-size: clamp(var(--font-size-5), 2.4vw, var(--font-size-7)); line-height: var(--line-title); letter-spacing: -.025em; overflow-wrap: anywhere; }
.task-command-actions { display: grid; align-items: stretch; gap: var(--space-3); }
.task-action-group { display: grid; gap: var(--space-1); }
.task-action-group + .task-action-group { padding-top: var(--space-3); border-top: .0625rem solid var(--color-separator); }
.task-action-group > form { width: 100%; margin: 0; }
.closed-task-actions { display: grid; gap: var(--space-3); padding-top: var(--space-3); border-top: .0625rem solid var(--color-separator); }
.reopen-inline { display: grid; gap: var(--space-2); }
.thread-workspace { display: grid; width: min(100%, var(--content-max)); grid-template-columns: minmax(0, 1fr) 16rem; align-items: start; gap: clamp(var(--space-8), 3vw, var(--space-12)); margin: 0 auto; }
.thread-main { min-width: 0; }
.task-actions-aside { position: sticky; top: calc(var(--topbar-height) + 6rem); min-width: 0; }
.task-actions-rail { display: grid; gap: var(--space-3); }
.task-actions-rail > h2 { margin: 0; padding-bottom: var(--space-3); border-bottom: .0625rem solid var(--color-separator); font-size: var(--font-size-3); font-weight: var(--weight-semibold); }
.task-actions-aside .quick-action { width: 100%; justify-content: flex-start; }
.task-actions-aside .task-action-group > form .quick-action { width: 100%; }
.task-actions-aside .reopen-inline input,
.task-actions-aside .reopen-inline .btn { width: 100%; }
.task-action-status { max-width: 7rem; margin-left: auto; padding: var(--space-1) var(--space-2); overflow: hidden; border-radius: var(--radius-pill); background: var(--color-surface-tertiary); color: var(--color-label-secondary); font-size: var(--font-size-0); font-weight: var(--weight-semibold); text-overflow: ellipsis; white-space: nowrap; }
.task-action-status.priority-high { background: var(--color-error-tint); color: var(--color-error); }
.task-action-status.priority-low { background: var(--color-blue-tint); color: var(--color-blue); }
.task-action-status.priority-medium { background: var(--color-warning-tint); color: var(--color-warning); }
.quick-action { display: inline-flex; flex: 0 0 auto; width: auto; min-height: var(--control-md); align-items: center; gap: var(--space-2); padding: 0 var(--space-4); border: .0625rem solid transparent; border-radius: var(--radius-control); background: transparent; color: var(--color-label); font-size: var(--font-size-3); font-weight: var(--weight-semibold); text-align: left; white-space: nowrap; transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
.quick-action i { width: var(--icon-md); color: var(--color-label-secondary); text-align: center; }
.quick-action:hover { background: var(--color-surface-tertiary); }
.quick-action.active { background: var(--color-accent-tint); color: var(--color-accent); }
.quick-action.active i { color: currentColor; }
.quick-action.muted { color: var(--color-label-secondary); }
.quick-action.is-decision { background: var(--color-brand); color: var(--color-label-inverse); }
.quick-action.is-decision i { color: currentColor; }
.quick-action.is-decision:hover { background: var(--color-brand-hover); }
.quick-action.is-success { color: var(--color-success); }
.quick-action.is-success i { color: currentColor; }
.quick-action.is-danger { color: var(--color-error); }
.quick-action.is-danger i { color: currentColor; }
.quick-action.is-danger:hover { background: var(--color-error-tint); }
.compose-zone { margin-bottom: 0; scroll-margin-top: calc(var(--topbar-height) + 11rem); }
.compose-zone:has(.action-panel.active) { margin-bottom: var(--space-6); }
.compose-empty { display: none; }
.compose-zone.has-open-panel .compose-empty { display: none; }
.action-panel { display: none; padding: var(--space-6); border: .0625rem solid var(--color-separator); border-radius: var(--radius-surface); background: var(--color-surface); box-shadow: none; }
.action-panel.active { display: block; }
.action-panel.active:not(.task-modal-panel) { animation: task-panel-in 280ms var(--ease-standard) both; transform-origin: top center; }
.action-panel .compose-head > span,
.action-panel .form-actions > span { display: none; }
.action-panel .form-actions { justify-content: flex-end; }
.action-panel.task-modal-panel { position: fixed; z-index: 1000; inset: 0; width: 100%; height: 100dvh; margin: 0; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-6); place-items: center; border: 0; border-radius: 0; background: var(--color-overlay); -webkit-backdrop-filter: blur(var(--space-2)); backdrop-filter: blur(var(--space-2)); }
.action-panel.task-modal-panel.active { display: grid; animation: modal-overlay-in var(--duration-fast) var(--ease-standard) both; }
.task-modal-panel > .form-grid { position: relative; width: min(100%, 52rem); max-height: calc(100dvh - (var(--space-12) * 2)); gap: 0; overflow: auto; border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: var(--shadow-2); }
.task-modal-panel.active > .form-grid { animation: modal-in var(--duration-standard) var(--ease-standard) both; }
.task-modal-panel .compose-head { position: sticky; z-index: 3; top: 0; align-items: center; padding: var(--space-5) var(--space-6); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.task-modal-panel > .form-grid > :not(.compose-head):not(.form-actions) { margin: var(--space-5) var(--space-6); }
.task-modal-panel .form-actions { position: sticky; z-index: 3; bottom: 0; justify-content: flex-end; margin: 0; padding: var(--space-4) var(--space-6); border-top: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.task-modal-body { display: grid; gap: var(--space-5); }
.task-title-modal-form,
.task-brief-form { width: min(100%, 52rem) !important; }
.brief-template-identity { display: grid; grid-template-columns: var(--control-md) minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.brief-template-identity > span { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-sm); background: var(--color-brand-tint); color: var(--color-brand); }
.brief-template-identity > div { display: grid; min-width: 0; }
.brief-template-identity small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.brief-edit-question { min-width: 0; margin: 0; padding: 0; border: 0; }
.brief-edit-question > legend { margin-bottom: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.brief-edit-question > legend > span { color: var(--color-error); font-size: var(--font-size-1); }
.brief-edit-question > p,
.brief-edit-question > small { margin: calc(var(--space-1) * -1) 0 var(--space-2); color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.brief-edit-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.brief-edit-options label { position: relative; min-width: 0; cursor: pointer; }
.brief-edit-options label * { cursor: pointer; }
.brief-edit-options input { position: absolute; opacity: 0; pointer-events: none; }
.brief-edit-options label > span { display: flex; min-height: var(--control-lg); align-items: center; padding: 0 var(--space-10) 0 var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); font-weight: var(--weight-medium); }
.brief-edit-options label:hover > span { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); }
.brief-edit-options label > i { position: absolute; right: var(--space-3); top: 50%; display: grid; width: var(--space-5); height: var(--space-5); place-items: center; border-radius: var(--radius-pill); background: var(--color-accent); color: var(--color-label-inverse); font-size: .625rem; opacity: 0; transform: translateY(-50%) scale(.8); }
.brief-edit-options input:checked ~ span { border-color: var(--color-accent); background: var(--color-accent-tint); }
.brief-edit-options input:checked ~ i { opacity: 1; transform: translateY(-50%) scale(1); }
.brief-edit-options input:focus-visible ~ span { box-shadow: var(--focus-ring); }
.task-brief-meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.compose-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); padding-bottom: var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.compose-head strong { display: flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-5); }
.compose-head > span { max-width: 24rem; color: var(--color-label-secondary); font-size: var(--font-size-2); text-align: right; }
.action-panel .form-grid { gap: var(--space-5); }
.action-panel.task-modal-panel > .form-grid { gap: 0; }
.composer-assets { display: grid; gap: var(--space-3); padding: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.composer-assets > small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.composer-asset-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.composer-asset-actions button,
.composer-asset-actions label { display: inline-flex; min-height: var(--control-md); align-items: center; gap: var(--space-2); padding: 0 var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); color: var(--color-label); font-weight: var(--weight-semibold); }
.composer-asset-actions button:hover,
.composer-asset-actions label:hover { border-color: var(--color-separator-strong); background: var(--color-control-hover); }
.composer-asset-actions input { position: absolute; width: .0625rem; height: .0625rem; opacity: 0; }
.composer-file-selection { display: grid; gap: var(--space-2); }
.composer-asset-remove { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border: 0; border-radius: var(--radius-control); background: transparent; color: var(--color-label-secondary); }
.composer-asset-remove:hover { background: var(--color-error-tint); color: var(--color-error); }
.composer-file-selection { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.composer-file-chip { display: grid; min-width: 0; min-height: var(--control-lg); grid-template-columns: var(--icon-md) minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3); border-radius: var(--radius-control); background: var(--color-surface); color: var(--color-label-secondary); }
.composer-file-copy { display: grid; min-width: 0; gap: var(--space-1); }
.composer-file-copy strong { overflow: hidden; color: var(--color-label); font-size: var(--font-size-2); font-weight: var(--weight-semibold); text-overflow: ellipsis; white-space: nowrap; }
.composer-file-copy small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.attachment-dock { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); padding: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.attachment-dock > .field { align-content: start; gap: var(--space-2); min-width: 0; padding: 0; background: transparent; }
.attachment-dock > .field > label { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-label); }
.attachment-dock > .field > label i { width: var(--icon-md); color: var(--color-label-secondary); text-align: center; }
.attachment-dock .link-list { display: grid; gap: var(--space-2); }
.attachment-dock .file-input { width: 100%; min-height: var(--control-lg); padding: var(--space-1); border-style: solid; background: var(--color-surface); color: var(--color-label-secondary); }
.attachment-dock .file-input::file-selector-button { min-height: var(--control-sm); margin-right: var(--space-2); padding: 0 var(--space-3); border: 0; border-radius: var(--radius-sm); background: var(--color-surface-tertiary); color: var(--color-label); font-weight: var(--weight-semibold); cursor: pointer; }
.attachment-dock .file-input:hover::file-selector-button { background: var(--color-control-hover); }
.attachment-dock .link-add { display: inline-flex; width: fit-content; min-height: var(--control-sm); align-items: center; gap: var(--space-2); padding: 0 var(--space-2); border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--color-accent); font-size: var(--font-size-2); font-weight: var(--weight-semibold); cursor: pointer; }
.attachment-dock .link-add:hover { background: var(--color-accent-tint); }
.feed { display: grid; gap: var(--space-5); }
.message { position: relative; display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); align-items: start; gap: var(--space-3); scroll-margin-top: calc(var(--topbar-height) + 11rem); }
.message::before { position: absolute; top: var(--avatar-lg); bottom: calc(var(--space-4) * -1); left: 2.25rem; width: .0625rem; background: var(--color-separator); content: ""; }
.message:last-child::before { display: none; }
.message-author-rail { position: relative; z-index: 1; display: grid; justify-items: center; gap: var(--space-2); }
.message-rail-time { display: grid; justify-items: center; gap: .0625rem; padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: var(--color-canvas); color: var(--color-label-tertiary); font-size: var(--font-size-0); line-height: 1.2; white-space: nowrap; }
.bubble { min-width: 0; padding: var(--space-4) var(--space-5); border: .0625rem solid transparent; border-radius: var(--radius-surface); background: var(--color-surface); }
.message.system .bubble { padding-block: var(--space-4); background: var(--color-surface); }
.message-event-created .bubble,
.message-event-brief_updated .bubble { border-color: var(--color-separator); }
.message-event-created .order-created-brief,
.message-event-brief_updated .order-created-brief { margin-top: var(--space-3); padding-top: var(--space-3); }
.message.is-final-output .bubble { border-color: color-mix(in srgb, var(--color-warning) 30%, var(--color-separator)); background: var(--color-surface); box-shadow: none; }
.final-output-banner { display: inline-flex; width: fit-content; min-height: var(--control-sm); align-items: center; gap: var(--space-2); margin: 0 0 var(--space-3); padding: 0 var(--space-3); border-radius: var(--radius-pill); background: var(--color-warning-tint); color: var(--color-warning); }
.final-output-banner > span { display: inline-grid; width: var(--icon-md); height: var(--icon-md); place-items: center; }
.final-output-banner > div { display: flex; align-items: center; }
.final-output-banner strong { font-size: var(--font-size-2); }
.bubble-head { display: block; margin-bottom: var(--space-2); }
.bubble-title { font-weight: var(--weight-semibold); }
.bubble p { margin: 0; color: var(--color-label); font-size: var(--font-size-3); }
.bubble .work-started-note { margin-top: var(--space-1); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.final-output-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-4); padding-top: var(--space-4); border-top: .0625rem solid var(--color-separator); }
.final-files { margin-top: var(--space-4); border-top: .0625rem solid var(--color-separator); }
.final-files-head { display: flex; min-height: var(--control-lg); align-items: center; justify-content: space-between; gap: var(--space-3); }
.final-files-head > strong { font-size: var(--font-size-2); }
.final-download-all { display: inline-flex; min-height: var(--control-sm); align-items: center; gap: var(--space-2); padding: 0 var(--space-2); border-radius: var(--radius-sm); color: var(--color-accent); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.final-download-all:hover { background: var(--color-accent-tint); }
.final-file-list { display: grid; border-top: .0625rem solid var(--color-separator); }
.final-file-row { display: grid; min-width: 0; grid-template-columns: var(--control-sm) minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: .0625rem solid var(--color-separator); }
.final-file-row:last-child { border-bottom: 0; }
.final-file-icon { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label-secondary); }
.final-file-name { display: grid; min-width: 0; gap: var(--space-1); }
.final-file-name strong { overflow: hidden; font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.final-file-name small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.final-file-name:hover strong { color: var(--color-accent); }
.final-file-actions { display: flex; align-items: center; gap: var(--space-1); }
.final-file-actions a { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-control); color: var(--color-label-secondary); transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.final-file-actions a:hover { background: var(--color-surface-secondary); color: var(--color-accent); transform: translateY(-.0625rem); }
.pipeline-orders-link { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-3); }
.page-task .message-event-closed .pipeline-orders-link { display: none; }
.page-task .closed-task-return {
display: inline-flex;
min-height: var(--control-lg);
align-items: center;
justify-content: center;
gap: var(--space-2);
margin-top: var(--space-5);
padding: 0 var(--space-5);
border-radius: var(--radius-control);
background: var(--color-success);
color: var(--color-label-inverse);
font-weight: var(--weight-semibold);
text-decoration: none;
}
.page-task .closed-task-return:hover { background: color-mix(in srgb, var(--color-success) 86%, black); color: var(--color-label-inverse); }
.task-deadline-layout { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: var(--space-4); }
.task-deadline-picker { width: min(100%, 31rem); margin-inline: auto; padding: var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-surface); background: var(--color-surface-secondary); }
.task-deadline-head, .task-deadline-weekdays, .task-deadline-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.task-deadline-head { grid-template-columns: var(--control-sm) 1fr var(--control-sm); align-items: center; margin-bottom: var(--space-3); text-align: center; }
.task-deadline-head button { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: transparent; }
.task-deadline-head button:hover { background: var(--color-surface-tertiary); }
.task-deadline-weekdays span { padding: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); text-align: center; }
.task-deadline-days button { min-height: 2.25rem; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-label); font-size: var(--font-size-2); }
.task-deadline-days button:hover { background: var(--color-surface-tertiary); }
.task-deadline-days button.is-selected { background: var(--color-accent); color: var(--color-label-inverse); }
.task-deadline-selection { display: flex; align-items: end; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-3); padding-top: var(--space-3); border-top: .0625rem solid var(--color-separator); }
.task-deadline-selection > div { display: grid; }
.task-deadline-selection small { color: var(--color-label-tertiary); }
.task-deadline-selection label { width: 7rem; }
.task-deadline-reason { align-content: start; }
.task-deadline-reason textarea { min-height: 7rem; }
.compact-temporal-field { width: min(100%, 32rem); }
.compact-temporal-range { display: grid; width: min(100%, 42rem); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.compact-temporal-range label { display: grid; gap: var(--space-1); color: var(--color-label-secondary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.compact-temporal-field input[type="datetime-local"],
.compact-temporal-range input[type="datetime-local"] { color-scheme: light; background: var(--color-surface-secondary); }
.compact-calendar-picker { width: min(100%, 52rem); margin-inline: auto; padding: var(--space-3); border-color: var(--color-separator); border-radius: var(--radius-surface); background: var(--color-surface-secondary); }
.compact-calendar-picker .deadline-picker-head,
.compact-calendar-picker .task-deadline-head { margin-bottom: var(--space-2); }
.compact-calendar-picker .deadline-weekdays span,
.compact-calendar-picker .task-deadline-weekdays span { padding: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); text-align: center; }
.compact-calendar-picker .deadline-days button,
.compact-calendar-picker .task-deadline-days button { min-height: 2.25rem; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-label); font-size: var(--font-size-2); }
.compact-calendar-picker .deadline-days button:hover,
.compact-calendar-picker .task-deadline-days button:hover { background: var(--color-surface-tertiary); }
.compact-calendar-picker .deadline-days button.is-selected,
.compact-calendar-picker .task-deadline-days button.is-selected { background: var(--color-accent); color: var(--color-label-inverse); }
.priority-picker { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); }
.priority-option, .priority-option * { cursor: pointer; }
.priority-option { position: relative; }
.priority-option input { position: absolute; opacity: 0; pointer-events: none; }
.priority-option > span { display: grid; min-height: 5.25rem; grid-template-columns: var(--icon-md) 1fr; align-content: center; gap: 0 var(--space-2); padding: var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); cursor: pointer; transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.priority-option:hover > span { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); }
.priority-option i { grid-row: 1 / 3; align-self: center; color: var(--color-label-secondary); }
.priority-option small { color: var(--color-label-secondary); }
.priority-option input:checked + span { border-color: var(--color-accent); background: var(--color-accent-tint); box-shadow: var(--focus-ring); }
.priority-option input:focus-visible + span { box-shadow: var(--focus-ring); }
.priority-save-note { display: inline-flex; align-items: center; gap: var(--space-3); margin-top: var(--space-1); }
.priority-save-note i { flex: 0 0 auto; margin: 0; }
.team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: var(--space-3); }
.person-check, .person-check * { cursor: pointer; }
.person-check { position: relative; display: grid; width: 100%; min-width: 0; min-height: 4.75rem; grid-template-columns: var(--space-5) var(--avatar-md) minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-3); overflow: hidden; border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard); }
.person-check:hover { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); }
.person-check:has(input:checked) { border-color: var(--color-accent); background: var(--color-accent-tint); }
.person-check input { display: grid; width: var(--space-5); height: var(--space-5); margin: 0; padding: 0; place-items: center; appearance: none; border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-sm); background: var(--color-surface); cursor: pointer; }
.person-check input::after { width: .55rem; height: .3rem; border-bottom: .125rem solid var(--color-label-inverse); border-left: .125rem solid var(--color-label-inverse); content: ""; opacity: 0; transform: translateY(-.08rem) rotate(-45deg); }
.person-check input:checked { border-color: var(--color-accent); background: var(--color-accent); }
.person-check input:checked::after { opacity: 1; }
.person-check .avatar { width: var(--avatar-md); height: var(--avatar-md); }
.person-check > span { display: grid; min-width: 0; gap: var(--space-1); }
.person-check br { display: none; }
.person-check strong, .person-check small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.person-check small { color: var(--color-label-secondary); }
@keyframes content-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes task-panel-in { from { opacity: 0; } to { opacity: 1; } }

/* Order wizard */
.order-wizard { width: min(100%, var(--content-max)); margin: 0 auto; }
.order-form { display: grid; gap: var(--space-10); }
.wizard-progress { display: grid; width: min(100%, 34rem); grid-template-columns: repeat(3, 1fr); gap: var(--space-2); margin: 0 auto; padding: var(--space-1); border-radius: var(--radius-control); background: var(--color-surface-tertiary); }
.wizard-dot { display: flex; min-height: var(--control-md); align-items: center; justify-content: center; gap: var(--space-2); padding: 0 var(--space-3); border: 0; border-radius: calc(var(--radius-control) - var(--space-1)); background: transparent; color: var(--color-label-secondary); font-size: var(--font-size-2); }
.wizard-dot span { display: none; }
.wizard-dot strong { font-weight: var(--weight-semibold); }
.wizard-dot.active { background: var(--color-surface); color: var(--color-label); box-shadow: var(--shadow-1); }
.wizard-dot.is-done { color: var(--color-success); }
.wizard-step { display: none; animation: content-in var(--duration-standard) var(--ease-standard) both; }
.wizard-step.active { display: block; }
.step-head, .final-review-heading { margin-bottom: var(--space-8); }
.step-head > div, .final-review-heading { display: grid; gap: var(--space-2); }
.step-head span, .final-review-heading > span { color: var(--color-brand); font-size: var(--font-size-1); font-weight: var(--weight-bold); letter-spacing: .06em; text-transform: uppercase; }
.step-head h2, .final-review-heading h2 { margin: 0; font-size: clamp(var(--font-size-7), 4vw, var(--font-size-8)); line-height: var(--line-tight); letter-spacing: -.035em; }
.final-review-heading p { max-width: 38rem; margin: 0; color: var(--color-label-secondary); font-size: var(--font-size-4); }
.type-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); }
.type-card { position: relative; display: grid; min-height: 8rem; grid-template-columns: var(--control-lg) minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-4); padding: var(--space-6); border-right: .0625rem solid var(--color-separator); border-bottom: .0625rem solid var(--color-separator); background: var(--color-surface); cursor: pointer; transition: background-color var(--duration-fast) var(--ease-standard); }
.type-card:nth-child(2n) { border-right: 0; }
.type-card:nth-last-child(-n + 2) { border-bottom: 0; }
.type-card:hover { background: var(--color-surface-secondary); }
.type-card input { position: absolute; opacity: 0; pointer-events: none; }
.type-icon { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-brand-tint); color: var(--color-brand); font-size: var(--font-size-5); }
.type-card-copy { display: grid; min-width: 0; gap: var(--space-1); }
.type-card-copy strong { font-size: var(--font-size-4); }
.type-card-copy small { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.type-selected { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-pill); color: transparent; }
.type-card input:checked ~ .type-selected { border-color: var(--color-accent); background: var(--color-accent); color: var(--color-label-inverse); }
.type-card:has(input:checked) { background: var(--color-accent-tint); }
.order-spec-surface { overflow: hidden; border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); }
.dynamic-template-spec { display: none; overflow: hidden; border: 0; border-radius: 0; background: transparent; }
.dynamic-template-spec.active, .dynamic-template-spec.is-active { display: block; }
.spec-title { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.spec-title > i { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-brand-tint); color: var(--color-brand); font-size: var(--font-size-5); }
.spec-title > span { display: grid; }
.spec-title strong { font-size: var(--font-size-5); }
.spec-title small { color: var(--color-label-secondary); }
.tile-question { padding: var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.tile-question:last-child { border-bottom: 0; }
.tile-question > strong { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-bottom: var(--space-3); font-size: var(--font-size-4); }
.required-mark { display: inline; padding: 0; border-radius: 0; background: transparent; color: var(--color-error); font-size: 1em; font-style: normal; font-weight: var(--weight-bold); letter-spacing: 0; line-height: 1; text-transform: none; }
.question-help { margin: calc(var(--space-2) * -1) 0 var(--space-3); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.option-grid { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.option-tile { position: relative; display: inline-flex; min-height: var(--control-lg); align-items: center; cursor: pointer; }
.option-tile input { position: absolute; opacity: 0; pointer-events: none; }
.option-tile > span:first-of-type { display: flex; min-height: var(--control-lg); align-items: center; justify-content: center; padding: 0 var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface-secondary); font-weight: var(--weight-medium); transition: border-color var(--duration-fast), background-color var(--duration-fast), padding var(--duration-fast); }
.option-tile:hover > span:first-of-type { border-color: var(--color-separator-strong); background: var(--color-surface-tertiary); }
.option-selected-check { position: absolute; right: var(--space-3); display: grid; width: var(--space-5); height: var(--space-5); place-items: center; border-radius: var(--radius-pill); background: var(--color-accent); color: var(--color-label-inverse); font-size: .625rem; opacity: 0; pointer-events: none; transform: scale(.82); transition: opacity var(--duration-fast), transform var(--duration-fast); }
.option-tile input:checked ~ span:first-of-type { padding-right: calc(var(--space-4) + var(--space-5) + var(--space-2)); border-color: var(--color-accent); background: var(--color-accent-tint); }
.option-tile input:checked ~ .option-selected-check { opacity: 1; transform: scale(1); }
.order-deadline-section { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr); justify-items: start; align-items: start; gap: var(--space-3); margin: 0; padding: var(--space-6); border: 0; border-top: .0625rem solid var(--color-separator); background: transparent; }
.order-deadline-section .deadline-picker { width: min(100%, 32rem); margin-inline: 0; }
.deadline-question-copy { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2) var(--space-4); }
.deadline-question-copy strong { font-size: var(--font-size-5); }
.deadline-question-copy output { color: var(--color-label-secondary); font-size: var(--font-size-3); }
.deadline-picker { width: 100%; padding: var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-surface); background: var(--color-surface-secondary); }
.deadline-picker-head { display: grid; grid-template-columns: var(--control-sm) 1fr var(--control-sm); align-items: center; margin-bottom: var(--space-2); text-align: center; }
.deadline-picker-head button { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: transparent; }
.deadline-picker-head button:hover { background: var(--color-surface-tertiary); }
.deadline-weekdays, .deadline-days { display: grid; grid-template-columns: repeat(7, 1fr); }
.deadline-weekdays span { padding: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); text-align: center; }
.deadline-days button { min-height: 2.25rem; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-label); font-size: var(--font-size-2); }
.deadline-days button:hover { background: var(--color-surface-tertiary); }
.deadline-days button.is-selected { background: var(--color-accent); color: var(--color-label-inverse); }
.deadline-days button:disabled { color: var(--color-label-tertiary); }
.deadline-days button.is-outside,
.task-deadline-days button.is-outside { color: var(--color-label-quaternary); }
.deadline-time-row { display: flex; justify-content: flex-end; margin-top: var(--space-3); padding-top: var(--space-3); border-top: .0625rem solid var(--color-separator); }
.deadline-time-row label { display: flex; align-items: center; gap: var(--space-3); }
.deadline-time-row input { width: 7rem; }
.wizard-actions, .order-submit-bar { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-8); padding-top: var(--space-6); border-top: .0625rem solid var(--color-separator); }
.final-review { display: block; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.final-review-title { display: grid; gap: var(--space-3); margin-bottom: var(--space-6); padding-bottom: var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.final-review-title-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-4); }
.final-review-title-head > div { display: grid; gap: var(--space-1); }
.final-review-title label { font-size: var(--font-size-3); font-weight: var(--weight-semibold); }
.final-review-title small { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.final-review-title input { min-height: var(--control-lg); padding: 0 var(--space-4); border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-control); background: var(--color-surface); font-size: var(--font-size-5); font-weight: var(--weight-semibold); }
.final-review-title input:focus { border-color: var(--color-accent); box-shadow: var(--focus-ring); }
.final-review-title-action,
.final-review-edit { display: inline-flex; min-height: var(--control-sm); align-items: center; justify-content: center; gap: var(--space-2); padding: 0 var(--space-3); border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--color-accent); font-size: var(--font-size-2); font-weight: var(--weight-semibold); white-space: nowrap; }
.final-review-title-action:hover,
.final-review-edit:hover { background: var(--color-accent-tint); color: var(--color-accent-hover); text-decoration: none; }
.final-review-section { padding: var(--space-6); border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); }
.final-review-section + .final-review-section { border-top: .0625rem solid var(--color-separator); }
.final-review-section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-5); }
.final-review-section-head h3 { margin: 0; font-size: var(--font-size-5); }
.order-summary { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
.summary-row { display: grid; min-width: 0; grid-template-columns: minmax(10rem, .55fr) minmax(0, 1fr); align-items: start; gap: var(--space-5); padding: var(--space-1) 0; background: transparent; }
.summary-label { color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.summary-value { font-size: var(--font-size-3); font-weight: var(--weight-semibold); line-height: var(--line-title); }
.summary-row.is-files { grid-column: auto; }
.summary-file-list { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-2); }
.summary-file-list > span { display: inline-flex; min-width: 0; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.summary-file-list > span > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.order-file-selection { margin-top: 1rem; }
.attachment-drop-active { outline: 2px dashed var(--color-accent); outline-offset: 4px; border-radius: var(--radius-control); }
.attachment-drop-active .app-file-picker > span { background: var(--color-accent-tint); }
.order-file-question { display: block; cursor: pointer; }
.order-file-question > input { position: absolute; width: .0625rem; height: .0625rem; overflow: hidden; opacity: 0; }
.order-file-question > span { display: grid; min-height: 7rem; grid-template-columns: var(--control-md) minmax(0, 1fr); align-content: center; align-items: center; gap: var(--space-1) var(--space-3); padding: var(--space-4); border: .0625rem dashed var(--color-separator-strong); border-radius: var(--radius-control); background: var(--color-surface); }
.order-file-question > span > i { grid-row: 1 / span 2; color: var(--color-label-secondary); font-size: var(--font-size-5); text-align: center; }
.order-file-question > span > strong { font-size: var(--font-size-3); }
.order-file-question > span > small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.order-file-question:hover > span { border-color: var(--color-accent); background: var(--color-accent-tint); }
.order-file-question > input:focus-visible + span { box-shadow: var(--focus-ring); }
.brief-files-note { display: grid; grid-template-columns: var(--control-sm) minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.brief-files-note > i { color: var(--color-label-secondary); text-align: center; }
.brief-files-note > span { display: grid; gap: var(--space-1); }
.brief-files-note small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.task-brief-meta-grid.single { grid-template-columns: 1fr; }
.order-success-screen { display: grid; width: min(100%, 44rem); min-height: calc(100dvh - var(--topbar-height) - 8rem); align-content: center; justify-items: center; margin: 0 auto; padding: var(--space-12) var(--space-6); text-align: center; }
.order-success-mark { position: relative; display: grid; width: 5.5rem; height: 5.5rem; place-items: center; margin-bottom: var(--space-6); border-radius: 50%; background: var(--color-brand-tint); color: var(--color-brand); font-size: var(--font-size-7); }
.order-success-mark span { position: absolute; top: -.25rem; right: -.25rem; display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: 50%; background: #fff3c7; color: #9a6b00; font-size: var(--font-size-2); }
.order-success-kicker { margin: 0 0 var(--space-2); color: var(--color-brand); font-size: var(--font-size-1); font-weight: var(--weight-bold); letter-spacing: .08em; text-transform: uppercase; }
.order-success-screen h2 { max-width: 36rem; margin: 0; font-size: clamp(var(--font-size-6), 4vw, var(--font-size-8)); line-height: var(--line-title); letter-spacing: -.03em; }
.order-success-screen > p:not(.order-success-kicker) { max-width: 38rem; margin: var(--space-4) 0 0; color: var(--color-label-secondary); line-height: var(--line-height-relaxed); }
.order-success-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); margin-top: var(--space-8); }

/* Rich task content follows the same surface and separator grammar. */
.order-created-brief,
.brief-update-block { display: grid; gap: var(--space-3); margin-top: var(--space-3); }
.created-brief-title { font-size: var(--font-size-3); font-weight: var(--weight-semibold); }
.created-brief-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); margin: 0; }
.created-brief-grid > div { display: grid; grid-template-columns: minmax(10rem, .55fr) minmax(0, 1fr); gap: var(--space-5); padding: var(--space-1) 0; }
.created-brief-grid dt { color: var(--color-label-secondary); }
.created-brief-grid dd { margin: 0; overflow-wrap: anywhere; font-weight: var(--weight-semibold); }
.created-brief-reference,
.created-asset-row { display: grid; min-width: 0; grid-template-columns: var(--control-sm) minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-3); padding: var(--space-2) 0; color: var(--color-label); }
.created-brief-reference { margin-top: var(--space-2); }
.created-brief-reference:hover strong,
.created-asset-row:hover strong { text-decoration: underline; text-underline-offset: var(--space-1); }
.created-asset-icon { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label-secondary); }
.created-asset-copy { display: grid; min-width: 0; gap: var(--space-1); }
.created-asset-copy strong { overflow: hidden; font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.created-asset-copy small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.created-brief-reference > i:last-child,
.created-asset-row > i:last-child { color: var(--color-label-tertiary); font-size: var(--font-size-1); text-align: center; }
.created-brief-assets { display: grid; gap: var(--space-2); margin-top: var(--space-4); }
.created-brief-assets > strong { font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.created-asset-list { display: grid; gap: var(--space-1); }
.attachments, .meta-row { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.attachment-thumbs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin-top: var(--space-3); }
.attachment-thumb { display: block; min-height: 9rem; overflow: hidden; border-radius: var(--radius-surface); background: var(--color-surface-secondary); }
.attachment-thumb.is-single { grid-column: 1 / -1; }
.attachment-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }

/* Dashboard editorial content */
.marketing-news-section { margin: 0; padding: 0; }
.standalone-news-page .news-empty-state { display: grid; min-height: 18rem; place-content: center; gap: var(--space-3); }
.standalone-news-page .news-empty-state > i { color: var(--color-label-tertiary); font-size: var(--font-size-7); }
.standalone-news-page .news-empty-state > div { display: grid; gap: var(--space-1); }
.standalone-news-page .news-empty-state strong,
.standalone-news-page .news-empty-state span { display: block; }
.standalone-news-page .news-empty-state strong { color: var(--color-label); font-size: var(--font-size-4); }
.standalone-news-page .news-empty-state span { max-width: 34rem; line-height: var(--line-body); }
.marketing-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); }
.marketing-news-card { display: flex; height: 24rem; min-width: 0; flex-direction: column; overflow: hidden; padding: 0; border: 0; border-radius: var(--radius-panel); background: transparent; color: var(--color-label-inverse); text-align: left; cursor: pointer; }
.marketing-news-card:focus-visible { outline: .1875rem solid var(--color-accent); outline-offset: .125rem; }
.marketing-news-cover { position: relative; display: grid; height: 12.5rem; min-height: 0; flex: 0 0 12.5rem; place-items: center; overflow: hidden; background: transparent; }
.marketing-news-cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.marketing-news-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: color-mix(in srgb, var(--color-label-inverse) 72%, transparent); font-size: var(--font-size-8); }
.marketing-news-copy { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: var(--space-5); }
.marketing-news-copy strong { display: -webkit-box; overflow: hidden; margin-bottom: var(--space-2); font-size: var(--font-size-5); line-height: var(--line-title); text-decoration: underline; text-decoration-thickness: .1em; text-underline-offset: .16em; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.marketing-news-copy > span { display: -webkit-box; overflow: hidden; color: color-mix(in srgb, var(--color-label-inverse) 82%, transparent); font-size: var(--font-size-2); line-height: var(--line-height-relaxed); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.news-detail-dialog-card { width: min(100%, 46rem); max-height: calc(100dvh - (var(--space-12) * 2)); padding: 0; }
.calendar-dialog-head.news-detail-dialog-head { position: sticky; z-index: 2; top: 0; grid-template-columns: minmax(0, 1fr) var(--control-sm); margin: 0; padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.news-detail-dialog-head > div { display: grid; gap: var(--space-1); }
.news-detail-dialog-head time { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.news-detail-dialog-head h2 { font-size: var(--font-size-6); line-height: var(--line-title); }
.news-detail-cover { display: grid; min-height: 12rem; place-items: center; overflow: hidden; padding: var(--space-4); border-bottom: .0625rem solid var(--color-separator); background: var(--color-surface-secondary); }
.news-detail-cover img { display: block; width: auto; max-width: 100%; height: auto; max-height: min(68dvh, 42rem); object-fit: contain; }
.news-detail-copy { padding: var(--space-6); font-size: var(--font-size-4); line-height: var(--line-height-relaxed); }
.news-detail-videos { display: grid; gap: var(--space-3); padding: 0 var(--space-6) var(--space-6); }
.news-detail-videos iframe { width: 100%; min-height: 22rem; border: 0; border-radius: var(--radius-surface); }
.news-detail-links { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: 0 var(--space-6) var(--space-6); }
.global-modal-layer { display: contents; }

.app-toast { position: fixed; z-index: 140; bottom: var(--space-6); left: 50%; display: flex; max-width: min(34rem, calc(100vw - (var(--page-gutter) * 2))); align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-4); border: .0625rem solid color-mix(in srgb, var(--color-label-inverse) 14%, transparent); border-radius: var(--radius-control); background: #202a36; color: var(--color-label-inverse); box-shadow: var(--shadow-popover); opacity: 0; pointer-events: none; transform: translate(-50%, var(--space-3)) scale(.96); transition: opacity var(--duration-standard) var(--ease-standard), transform var(--duration-normal) var(--ease-standard); }
.app-toast.is-visible { opacity: 1; transform: translate(-50%, 0) scale(1); }
.app-toast-icon { display: grid; flex: 0 0 var(--control-sm); width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-pill); background: rgba(255,255,255,.14); color: var(--color-label-inverse); }
.app-toast [data-toast-message] { font-weight: var(--weight-semibold); }
.calendar-toast { position: fixed; z-index: 120; right: var(--space-6); bottom: var(--space-6); max-width: min(24rem, calc(100vw - (var(--page-gutter) * 2))); padding: var(--space-3) var(--space-4); border-radius: var(--radius-control); background: var(--color-label); color: var(--color-label-inverse); box-shadow: var(--shadow-popover); opacity: 0; pointer-events: none; transition: opacity var(--duration-standard) var(--ease-standard); }
.calendar-toast.show { opacity: 1; }
.profile-password-grid .wide { grid-column: 1 / -1; }

/* Team overview */
.team-simple-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); margin-bottom: var(--space-4); color: var(--color-label-secondary); }
.team-simple-labels, .team-simple-row { display: grid; grid-template-columns: minmax(14rem, .8fr) minmax(20rem, 1.5fr) minmax(18rem, 1fr); gap: var(--space-4); padding-inline: var(--space-5); }
.team-simple-labels { min-height: var(--control-md); align-items: center; border-bottom: .0625rem solid var(--color-separator); color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); letter-spacing: .04em; text-transform: uppercase; }
.team-simple-row { min-height: 6.25rem; align-items: center; padding-block: var(--space-3); border-bottom: .0625rem solid var(--color-separator); }
.team-simple-row:last-child { border-bottom: 0; }
.team-simple-person { display: flex; align-items: center; gap: var(--space-3); }
.team-simple-person > div, .team-simple-tasks, .team-simple-availability { display: grid; gap: var(--space-2); }
.team-simple-person strong { font-size: var(--font-size-4); }
.team-now { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.team-now.is-office i { color: var(--color-success); font-size: .5rem; }
.team-simple-tasks a { overflow: hidden; font-weight: var(--weight-medium); text-overflow: ellipsis; white-space: nowrap; }
.team-simple-tasks a:hover { text-decoration: underline; text-underline-offset: var(--space-1); }
.team-simple-more { color: var(--color-accent); }
.team-simple-availability > span { display: grid; grid-template-columns: var(--icon-md) minmax(0, 1fr); gap: var(--space-2); }
.team-simple-availability i { margin-top: var(--space-1); }
.team-simple-availability span span { display: grid; }
.team-simple-availability time, .team-simple-empty { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.type-homeoffice { color: var(--color-blue); }
.type-vacation { color: var(--color-brand); }
.type-team_event { color: var(--color-purple); }
.type-birthday { color: var(--color-birthday); }

/* Marketing calendar */
.calendar-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-8); margin-bottom: var(--space-2); }
.calendar-month-heading h2 { margin: 0; font-size: var(--font-size-8); line-height: var(--line-tight); letter-spacing: -.035em; }
.calendar-month-switcher { display: flex; align-items: stretch; gap: var(--space-2); }
.calendar-month-step { display: grid; min-width: 11.5rem; min-height: var(--control-lg); grid-template-columns: var(--control-sm) minmax(0, 1fr); align-items: center; gap: var(--space-2); padding: var(--space-1) var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); color: var(--color-label-secondary); transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard); }
.calendar-month-step.is-next { grid-template-columns: minmax(0, 1fr) var(--control-sm); text-align: right; }
.calendar-month-step > span:not(.calendar-month-step-icon) { display: grid; min-width: 0; }
.calendar-month-step small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.calendar-month-step strong { overflow: hidden; color: var(--color-label); font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.calendar-month-step-icon { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.calendar-month-step:hover { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); color: var(--color-label); }
.calendar-month-step:hover .calendar-month-step-icon { background: var(--color-surface); }
.calendar-toolbox { position: sticky; top: calc(var(--topbar-height) + var(--space-2)); z-index: 20; margin-bottom: var(--space-2); padding: var(--space-2); border: .0625rem solid var(--color-separator); border-radius: var(--radius-surface); background: rgba(255,255,255,.88); box-shadow: none; backdrop-filter: blur(1.25rem); }
.calendar-tools { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-1); }
.calendar-tool { display: flex; min-height: var(--control-md); align-items: center; justify-content: center; gap: var(--space-2); padding: 0 var(--space-3); border: .0625rem solid transparent; border-radius: var(--radius-control); background: transparent; color: var(--color-label); cursor: grab; }
.calendar-tool:hover { background: var(--color-surface-secondary); }
.calendar-tool.is-active { border-color: var(--color-accent); background: var(--color-accent-tint); box-shadow: 0 0 0 .1875rem var(--color-focus-ring); }
.calendar-tool.is-dragging { opacity: .55; cursor: grabbing; }
.calendar-tool-grip { color: var(--color-label-tertiary) !important; font-size: var(--font-size-1); }
.calendar-tool.type-homeoffice i { color: var(--color-blue); }
.calendar-tool.type-vacation i { color: var(--color-brand); }
.calendar-tool.type-team_event i { color: var(--color-purple); }
.calendar-tool.type-birthday i { color: var(--color-birthday); }
.calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); min-height: var(--control-md); align-items: center; border-bottom: .0625rem solid var(--color-separator); color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); text-align: center; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.calendar-day { position: relative; min-height: 8rem; padding: var(--space-3); border-right: .0625rem solid var(--color-separator); border-bottom: .0625rem solid var(--color-separator); }
.calendar-day:nth-child(7n) { border-right: 0; }
.calendar-day:nth-last-child(-n + 7) { border-bottom: 0; }
.calendar-day.is-outside { background: var(--color-surface-secondary); }
.calendar-day.is-drop-target { background: var(--color-blue-tint); box-shadow: inset 0 0 0 .125rem var(--color-accent); }
.calendar-day-number { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; margin-left: auto; border-radius: var(--radius-pill); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.calendar-day.is-today .calendar-day-number { background: var(--color-brand); color: var(--color-label-inverse); }
.calendar-events { position: relative; display: grid; gap: var(--space-1); margin-top: var(--space-2); }
.calendar-event, .calendar-event:hover, .calendar-event:focus-within { position: relative; z-index: 1; display: grid; width: 100%; height: var(--control-md); min-height: var(--control-md); max-height: var(--control-md); grid-template-columns: var(--icon-sm) minmax(0, 1fr); align-items: center; gap: var(--space-1); padding: var(--space-1) var(--space-2); overflow: visible; border-radius: var(--radius-sm); font-size: var(--font-size-1); line-height: var(--line-title); transform: none; }
.calendar-event.continues-before { width: calc(100% + var(--space-3)); margin-left: calc(var(--space-3) * -1); border-top-left-radius: 0; border-bottom-left-radius: 0; }
.calendar-event.continues-after { width: calc(100% + var(--space-3) + .0625rem); border-top-right-radius: 0; border-bottom-right-radius: 0; }
.calendar-event.continues-before.continues-after { width: calc(100% + (var(--space-3) * 2) + .0625rem); }
.calendar-event.continues-before:not(.is-week-start) .calendar-event-leading,
.calendar-event.continues-before:not(.is-week-start) .calendar-event-copy { visibility: hidden; }
.calendar-event.is-own { padding-right: var(--space-4); cursor: grab; }
.calendar-event.is-own.has-resize-handle { padding-right: calc(var(--space-6) + var(--space-3)); }
.calendar-event.is-own:active { cursor: grabbing; }
.calendar-event.is-dragging { opacity: .5; }
.calendar-event.type-homeoffice { background: var(--color-blue-tint); color: var(--color-blue); }
.calendar-event.type-vacation { background: var(--color-brand-tint); color: var(--color-brand); }
.calendar-event.type-team_event { background: var(--color-purple-tint); color: var(--color-purple); }
.calendar-event.type-birthday { background: var(--color-birthday-tint); color: var(--color-birthday); }
.calendar-event span { display: grid; min-width: 0; }
.calendar-event-leading { place-items: center; opacity: .72; }
.calendar-event.is-own .calendar-event-leading { opacity: 1; }
.calendar-event-copy { min-width: 0; overflow: hidden; }
.calendar-event strong, .calendar-event small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.calendar-event small { opacity: .78; }
.calendar-event-delete { position: absolute; top: 50%; right: var(--space-1); z-index: 3; display: grid; width: var(--space-5); height: var(--space-5); place-items: center; border: 0; border-radius: var(--radius-pill); opacity: 0; background: rgba(255,255,255,.86); color: currentColor; pointer-events: none; transform: translateY(-50%); transition: opacity var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); visibility: hidden; }
.calendar-event.has-resize-handle .calendar-event-delete { right: calc(var(--space-6) + var(--space-2)); }
.calendar-resize-handle { position: absolute; z-index: 2; top: 50%; right: var(--space-1); display: grid; width: var(--space-6); height: var(--space-6); place-items: center; padding: 0; border: 0; border-radius: var(--radius-pill); opacity: .64; background: rgba(255,255,255,.82); color: currentColor; cursor: pointer; transform: translateY(-50%); transition: opacity var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.calendar-event.is-own .calendar-resize-handle { pointer-events: auto; visibility: visible; }
.calendar-event.is-own:hover .calendar-event-delete, .calendar-event.is-own:focus-within .calendar-event-delete { opacity: 1; pointer-events: auto; visibility: visible; }
.calendar-event-delete:hover { background: var(--color-surface); }
.calendar-resize-handle:hover, .calendar-resize-handle:focus-visible { opacity: 1; background: var(--color-surface); box-shadow: 0 0 0 .125rem currentColor; }
.calendar-footnote { display: flex; align-items: center; justify-content: center; gap: var(--space-2); padding: var(--space-4); color: var(--color-label-tertiary); font-size: var(--font-size-2); }
.calendar-event-dialog { position: fixed; inset: 0; z-index: 1000; display: grid; width: 100%; height: 100dvh; place-items: center; overflow-y: auto; overscroll-behavior: contain; padding: var(--space-6); background: var(--color-overlay); -webkit-backdrop-filter: blur(var(--space-2)); backdrop-filter: blur(var(--space-2)); }
.calendar-event-dialog:not([hidden]) { animation: modal-overlay-in var(--duration-fast) var(--ease-standard) both; }
.calendar-event-dialog[hidden] { display: none; }
.calendar-dialog-backdrop { position: absolute; z-index: 0; inset: 0; display: block; border: 0; background: transparent; }
.calendar-dialog-card { position: relative; z-index: 1; width: min(100%, var(--modal-max)); padding: var(--space-6); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: var(--shadow-2); }
.calendar-dialog-head { display: grid; grid-template-columns: var(--control-md) 1fr var(--control-sm); align-items: start; gap: var(--space-3); margin-bottom: var(--space-5); }
.calendar-resize-card { width: min(100%, 32rem); }
.calendar-resize-summary { display: grid; grid-template-columns: minmax(0, 1fr) var(--control-sm) minmax(0, 1fr); align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); padding: var(--space-4); border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.calendar-resize-summary > div { display: grid; gap: var(--space-1); }
.calendar-resize-summary > div:last-child { text-align: right; }
.calendar-resize-summary > span { color: var(--color-label-tertiary); text-align: center; }
.calendar-resize-summary small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }

/* Marketing feed */
.wall-layout { width: 100%; }
.wall-main { width: min(100%, var(--feed-max)); margin: 0 auto; }
.wall-composer { margin-bottom: var(--space-6); padding: var(--space-5); }
.wall-composer-author,
.wall-post-head { display: grid; grid-template-columns: var(--avatar-lg) minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); }
.wall-composer-author { margin-bottom: var(--space-4); }
.wall-composer-author div,
.wall-post-head > div { display: grid; gap: var(--space-1); }
.wall-composer-author span,
.wall-post-head time { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.wall-composer textarea { min-height: 7rem; border-color: transparent; background: var(--color-surface-secondary); }
.wall-composer textarea:hover { background: var(--color-surface-tertiary); }
.wall-composer-bottom,
.wall-edit-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-3); }
.wall-photo-picker { display: inline-flex; min-height: var(--control-md); align-items: center; color: var(--color-accent); font-weight: var(--weight-semibold); cursor: pointer; }
.wall-photo-picker input { position: absolute; width: .0625rem; height: .0625rem; overflow: hidden; opacity: 0; }
.wall-photo-picker span { display: inline-flex; align-items: center; gap: var(--space-2); }
.wall-feed { display: grid; gap: var(--space-5); }
.wall-post-head { padding: var(--space-5) var(--space-5) 0; }
.wall-delete { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-label-tertiary); }
.wall-delete:hover { background: var(--color-error-tint); color: var(--color-error); }
.wall-post-copy { padding: var(--space-4) var(--space-5); font-size: var(--font-size-4); line-height: var(--line-height-relaxed); white-space: normal; overflow-wrap: anywhere; }
.wall-post-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .125rem; background: var(--color-separator); }
.wall-post-images.count-1 { grid-template-columns: 1fr; }
.wall-post-images img { width: 100%; height: clamp(14rem, 42vw, 30rem); object-fit: contain; background: var(--color-surface-secondary); }
.wall-post-images:not(.count-1) img { height: clamp(11rem, 25vw, 19rem); object-fit: cover; }
.wall-inline-editor { border-top: .0625rem solid var(--color-separator); }
.wall-inline-editor > summary { display: inline-flex; min-height: var(--control-sm); align-items: center; gap: var(--space-2); margin: var(--space-2) var(--space-5); color: var(--color-accent); cursor: pointer; }
.wall-inline-editor > form { padding: var(--space-4) var(--space-5); border-top: .0625rem solid var(--color-separator); background: var(--color-surface-secondary); }
.wall-post-summary { display: flex; min-height: var(--control-md); align-items: center; justify-content: space-between; gap: var(--space-3); padding: 0 var(--space-5); border-bottom: .0625rem solid var(--color-separator); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.wall-like-people,
.wall-heart-count { display: inline-flex; align-items: center; gap: var(--space-2); min-width: 0; }
.wall-heart-count { color: var(--color-error); }
.wall-post-actions { display: grid; grid-template-columns: 1fr 1fr; padding: var(--space-1) var(--space-3); border-bottom: .0625rem solid var(--color-separator); }
.wall-post-actions button,
.wall-comment-like,
.wall-reply-trigger,
.wall-comment-edit-trigger { display: inline-flex; min-height: var(--control-md); align-items: center; justify-content: center; gap: var(--space-2); padding: 0 var(--space-3); border: 0; border-radius: var(--radius-control); background: transparent; color: var(--color-label-secondary); font-weight: var(--weight-semibold); }
.wall-post-actions button:hover,
.wall-comment-like:hover,
.wall-reply-trigger:hover,
.wall-comment-edit-trigger:hover { background: var(--color-control-hover); color: var(--color-label); }
.wall-primary-reaction.is-active,
.wall-comment-like.is-active { color: var(--color-error); }
.wall-comments { padding: var(--space-3) var(--space-5) 0; }
.wall-comment-thread { position: relative; margin-top: var(--space-3); }
.wall-comment-replies { margin-left: calc(var(--avatar-sm) + var(--space-3)); padding-left: var(--space-3); border-left: .125rem solid var(--color-separator); }
.wall-comment { display: grid; grid-template-columns: var(--avatar-sm) minmax(0, 1fr); align-items: start; gap: var(--space-3); }
.wall-comment-body { min-width: 0; padding: var(--space-3) var(--space-4); border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.wall-comment-body header { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); }
.wall-comment-body header time { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.wall-comment-body p { margin: var(--space-1) 0; overflow-wrap: anywhere; }
.wall-comment-action-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); }
.wall-comment-action-row button { min-height: var(--control-sm); justify-content: flex-start; padding-inline: var(--space-2); font-size: var(--font-size-1); }
.wall-comment-liked-by { display: flex; align-items: center; gap: var(--space-2); color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.wall-comment-liked-by i { color: var(--color-error); }
.wall-comment-form,
.wall-reply-form,
.wall-comment-edit-form { display: grid; grid-template-columns: var(--avatar-sm) minmax(0, 1fr) var(--control-md); align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-5) var(--space-5); }
.wall-reply-form,
.wall-comment-edit-form { grid-template-columns: minmax(0, 1fr) var(--control-sm) auto; padding: var(--space-2) 0 0; }
.wall-comment-form input,
.wall-reply-form input,
.wall-comment-edit-form input { min-height: var(--control-md); border-radius: var(--radius-pill); background: var(--color-surface-secondary); }
.wall-comment-form button,
.wall-reply-form button,
.wall-comment-edit-form button { display: grid; min-width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-accent); font-weight: var(--weight-semibold); }

/* Gallery */
.gallery-library { width: 100%; }
.gallery-head { justify-content: flex-end; margin-bottom: var(--space-4); }
.gallery-breadcrumbs { display: flex; min-height: var(--control-lg); align-items: center; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-6); padding-bottom: var(--space-4); border-bottom: .0625rem solid var(--color-separator); font-size: var(--font-size-4); font-weight: var(--weight-semibold); }
.gallery-breadcrumbs a { display: inline-flex; min-height: var(--control-md); align-items: center; gap: var(--space-2); color: var(--color-accent); }
.gallery-breadcrumbs a:hover { text-decoration: underline; text-underline-offset: var(--space-1); }
.gallery-breadcrumbs > span { color: var(--color-label-quaternary); font-size: var(--font-size-2); }
.gallery-breadcrumbs strong { color: var(--color-label); }
.gallery-section-heading { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: var(--space-4); }
.gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--grid-gutter); }
.gallery-empty { grid-column: 1 / -1; }
.gallery-card { position: relative; min-width: 0; }
.gallery-card-preview { display: grid; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; border-radius: var(--radius-panel); background: var(--color-surface); transition: background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.gallery-card-preview:hover { background: var(--color-control-hover); box-shadow: var(--shadow-surface); }
.folder-preview { align-content: center; gap: var(--space-2); color: var(--color-folder); font-size: 4.5rem; }
.folder-preview span { padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-label-secondary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.image-preview img { width: 100%; height: 100%; object-fit: cover; }
.file-preview { gap: var(--space-2); color: var(--color-label-secondary); font-size: 3.25rem; }
.file-preview span { font-size: var(--font-size-1); font-weight: var(--weight-bold); letter-spacing: .06em; }
.gallery-card-body { display: grid; grid-template-columns: minmax(0, 1fr) var(--control-sm); align-items: start; gap: var(--space-2); padding: var(--space-3) var(--space-1); }
.gallery-card-body h3 { margin: 0; font-size: var(--font-size-3); overflow-wrap: anywhere; }
.gallery-card-body h3 a:hover { text-decoration: underline; text-underline-offset: var(--space-1); }
.gallery-card-body p { margin: var(--space-1) 0 0; color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.gallery-card-menu { position: relative; }
.gallery-card-menu > summary { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-pill); color: var(--color-label-secondary); cursor: pointer; }
.gallery-card-menu > summary:hover { background: var(--color-control-hover); }
.gallery-card-menu > div { position: absolute; z-index: 20; top: calc(100% + var(--space-1)); right: 0; width: 18rem; padding: var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: var(--shadow-popover); }
.gallery-card-menu form + form { margin-top: var(--space-3); padding-top: var(--space-3); border-top: .0625rem solid var(--color-separator); }
.gallery-card-menu label { font-size: var(--font-size-1); }
.gallery-inline-form { display: grid; grid-template-columns: minmax(0, 1fr) var(--control-md); gap: var(--space-2); }
.gallery-inline-form input,
.gallery-inline-form select { height: var(--control-md); min-height: var(--control-md); }
.gallery-inline-form button { display: grid; place-items: center; border: 0; border-radius: var(--radius-control); background: var(--color-accent); color: var(--color-label-inverse); }
.gallery-delete-action { display: flex; width: 100%; min-height: var(--control-md); align-items: center; gap: var(--space-2); border: 0; background: transparent; color: var(--color-error); }
.gallery-add-drawer { position: relative; }
.gallery-add-panel { position: fixed; z-index: 80; inset: var(--topbar-height) 0 0 auto; width: min(34rem, 100%); overflow: auto; padding: var(--space-8); border-left: .0625rem solid var(--color-separator); background: var(--color-surface); box-shadow: var(--shadow-drawer); }
.gallery-panel-close { position: absolute; top: var(--space-4); right: var(--space-4); }
.gallery-add-form { display: grid; grid-template-columns: var(--control-md) minmax(0, 1fr); gap: var(--space-3); padding: var(--space-5) 0; border-bottom: .0625rem solid var(--color-separator); }
.gallery-add-form > span { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-brand); }
.gallery-add-form small { display: block; color: var(--color-label-tertiary); }
.gallery-add-control { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2); }

/* Template administration */
.template-library .section-heading { margin: 0; padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.template-library .section-heading h2 { margin: 0; }
.template-list { display: grid; }
.template-card { display: grid; grid-template-columns: var(--control-sm) var(--control-md) minmax(0, 1fr) var(--control-sm) auto; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-bottom: .0625rem solid var(--color-separator); cursor: pointer; transition: background-color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.template-card:last-child { border-bottom: 0; }
.template-card.is-editing { background: var(--color-accent-tint); }
.template-card.is-dragging { opacity: .46; transform: scale(.985); }
.template-card.is-drop-target { box-shadow: inset 0 .1875rem 0 var(--color-accent); }
.template-card:hover { background: var(--color-surface-secondary); }
.template-drag-handle { display: grid; width: var(--control-sm); height: var(--control-md); place-items: center; color: var(--color-label-quaternary); cursor: grab; }
.template-card:active .template-drag-handle { cursor: grabbing; }
.template-type-icon { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-control); background: var(--color-brand-tint); color: var(--color-brand); }
.template-card-copy { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 var(--space-4); }
.template-card-copy h3 { margin: 0; font-size: var(--font-size-3); }
.template-card-copy p { overflow: hidden; margin: var(--space-1) 0 0; color: var(--color-label-secondary); font-size: var(--font-size-1); text-overflow: ellipsis; white-space: nowrap; }
.template-card-meta { grid-column: 2; grid-row: 1 / span 2; color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.template-open-hint { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; color: var(--color-label-tertiary); transition: transform var(--duration-fast) var(--ease-standard); }
.template-card:hover .template-open-hint { transform: translateX(var(--space-1)); }
.schema-card-actions { display: flex; align-items: center; }
/* Explicit tracks prevent controls from being pushed onto a second row. */
.template-card > .template-drag-handle { grid-column: 1; grid-row: 1; }
.template-card > .template-type-icon { grid-column: 2; grid-row: 1; }
.template-card > .template-card-copy { grid-column: 3; grid-row: 1; }
.template-card > .template-open-hint { grid-column: 4; grid-row: 1; }
.template-card > .schema-card-actions { grid-column: 5; grid-row: 1; }
.template-dialog-card { width: min(100%, 64rem); max-height: calc(100dvh - (var(--space-8) * 2)); padding: 0; }
.template-dialog-head { position: sticky; z-index: 2; top: 0; margin: 0; padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.template-dialog-head h2 { min-width: 0; flex: 1; overflow: hidden; margin: 0; font-size: var(--font-size-5); text-overflow: ellipsis; white-space: nowrap; }
.template-dialog-alert { margin: var(--space-4) var(--space-6) 0; }
.template-dialog-body { display: grid; }
.schema-basics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); padding: var(--space-5) var(--space-6); }
.template-icon-field { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 0; border: 0; }
.template-icon-field legend { margin-bottom: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.template-icon-options { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-2); }
.template-icon-option { min-width: 0; cursor: pointer; }
.template-icon-option input { position: absolute; width: .0625rem; height: .0625rem; overflow: hidden; opacity: 0; pointer-events: none; }
.template-icon-option > span { display: grid; min-height: 4rem; place-items: center; gap: var(--space-1); padding: var(--space-2); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); color: var(--color-label-secondary); cursor: pointer; transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.template-icon-option > span i { font-size: var(--font-size-4); }
.template-icon-option > span small { overflow: hidden; max-width: 100%; font-size: var(--font-size-0); font-weight: var(--weight-semibold); text-overflow: ellipsis; white-space: nowrap; }
.template-icon-option:hover > span { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); color: var(--color-label); }
.template-icon-option input:focus-visible + span { box-shadow: var(--focus-ring); }
.template-icon-option input:checked + span { border-color: var(--color-accent); background: var(--color-accent-tint); color: var(--color-accent); box-shadow: inset 0 0 0 .0625rem var(--color-accent); }
.questions-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) var(--space-6); border-block: .0625rem solid var(--color-separator); background: var(--color-surface-secondary); }
.questions-heading h3 { margin: 0; }
.question-builder-list { display: grid; }
.question-builder-row { display: grid; grid-template-columns: var(--control-sm) minmax(0, 1fr) var(--control-sm); align-items: start; gap: var(--space-3); padding: var(--space-4) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.question-drag { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; color: var(--color-label-quaternary); cursor: grab; }
.question-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.question-fields .wide { grid-column: 1 / -1; }
.required-toggle { display: inline-flex; align-items: center; gap: var(--space-2); }
.question-remove { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-label-tertiary); }
.question-remove:hover { background: var(--color-error-tint); color: var(--color-error); }
.template-dialog-actions { position: sticky; z-index: 2; bottom: 0; display: flex; justify-content: flex-end; gap: var(--space-2); padding: var(--space-4) var(--space-6); border-top: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }

/* Notification and e-mail automation */
.automation-page { display: grid; gap: var(--space-5); }
.automation-hero { display: grid; grid-template-columns: var(--control-lg) minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); padding: var(--space-6); }
.automation-hero-icon { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-accent-tint); color: var(--color-accent); font-size: var(--font-size-5); }
.automation-hero span { color: var(--color-accent); font-size: var(--font-size-1); font-weight: var(--weight-bold); text-transform: uppercase; }
.automation-hero h2 { margin: var(--space-1) 0; font-size: var(--font-size-6); }
.automation-hero p { max-width: 52rem; margin: 0; color: var(--color-label-secondary); }
.automation-hero-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.automation-tabs { display: flex; width: fit-content; gap: var(--space-1); padding: var(--space-1); border-radius: var(--radius-control); background: var(--color-surface-tertiary); }
.automation-tabs a { display: inline-flex; min-height: var(--control-md); align-items: center; gap: var(--space-2); padding: 0 var(--space-4); border-radius: calc(var(--radius-control) - .2rem); color: var(--color-label-secondary); font-weight: var(--weight-semibold); }
.automation-tabs a.active { background: var(--color-surface); color: var(--color-label); box-shadow: var(--shadow-1); }
.automation-list-head { display: flex; align-items: center; justify-content: space-between; padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.automation-list-head h3, .automation-list-head p { margin: 0; }
.automation-list-head p { margin-top: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.automation-rule-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; border-bottom: .0625rem solid var(--color-separator); background: var(--color-surface); }
.automation-rule-row:last-child { border-bottom: 0; }
.automation-rule-row.is-disabled { opacity: .62; }
.automation-rule-open { display: grid; min-width: 0; grid-template-columns: var(--control-md) minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-5); border: 0; background: transparent; color: var(--color-label); text-align: left; }
.automation-rule-open:hover { background: var(--color-surface-secondary); }
.automation-rule-status { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-pill); background: var(--color-success-tint); color: var(--color-success); }
.is-disabled .automation-rule-status { background: var(--color-surface-secondary); color: var(--color-label-tertiary); }
.automation-rule-copy { display: grid; min-width: 0; gap: var(--space-2); }
.automation-rule-title { display: flex; align-items: center; gap: var(--space-2); }
.automation-rule-title strong { font-size: var(--font-size-4); }
.automation-rule-title em { padding: .15rem var(--space-2); border-radius: var(--radius-pill); background: var(--color-success-tint); color: var(--color-success); font-size: var(--font-size-0); font-style: normal; font-weight: var(--weight-bold); }
.is-disabled .automation-rule-title em { background: var(--color-surface-secondary); color: var(--color-label-tertiary); }
.automation-rule-flow { display: flex; min-width: 0; align-items: center; gap: var(--space-3); color: var(--color-label-secondary); }
.automation-rule-flow > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.automation-rule-flow small { margin-right: var(--space-2); color: var(--color-accent); font-size: var(--font-size-0); font-weight: var(--weight-bold); }
.automation-rule-flow > i { color: var(--color-label-quaternary); }
.automation-rule-preview { overflow: hidden; color: var(--color-label-tertiary); font-size: var(--font-size-1); text-overflow: ellipsis; white-space: nowrap; }
.automation-open-hint { color: var(--color-label-tertiary); }
.automation-row-actions { display: flex; align-items: center; gap: var(--space-1); padding-right: var(--space-4); }
.automation-empty { display: grid; place-items: center; padding: var(--space-12) var(--space-6); text-align: center; }
.automation-empty > i { margin-bottom: var(--space-3); color: var(--color-accent); font-size: var(--font-size-7); }
.automation-empty h3, .automation-empty p { margin: 0; }
.automation-empty p { max-width: 34rem; margin: var(--space-2) 0 var(--space-5); color: var(--color-label-secondary); }
.automation-rule-dialog { width: min(100%, 68rem); max-height: calc(100dvh - var(--space-8)); padding: 0; }
.automation-dialog-head { position: sticky; z-index: 3; top: 0; margin: 0; background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.automation-dialog-head p { margin: var(--space-1) 0 0; color: var(--color-label-secondary); font-size: var(--font-size-1); }
.automation-rule-alert { margin: var(--space-4) var(--space-6) 0; }
.automation-rule-body { display: grid; }
.automation-form-section { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--space-6); padding: var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.automation-section-title { display: grid; grid-template-columns: var(--control-sm) minmax(0, 1fr); align-items: start; gap: var(--space-3); }
.automation-section-title > span { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-pill); background: var(--color-accent-tint); color: var(--color-accent); font-size: var(--font-size-1); font-weight: var(--weight-bold); }
.automation-section-title h3, .automation-section-title p { margin: 0; }
.automation-section-title h3 { font-size: var(--font-size-4); }
.automation-section-title h3 em { color: var(--color-label-tertiary); font-size: var(--font-size-1); font-style: normal; font-weight: var(--weight-regular); }
.automation-section-title p { margin-top: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.automation-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
.automation-master-switch { grid-column: 1 / -1; display: flex; align-items: center; gap: var(--space-2); }
.automation-master-switch input { position: absolute; opacity: 0; }
.automation-master-switch > span { position: relative; width: 2.8rem; height: 1.65rem; border-radius: var(--radius-pill); background: var(--color-surface-tertiary); transition: background var(--duration-fast); }
.automation-master-switch > span::after { position: absolute; top: .2rem; left: .2rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: white; box-shadow: 0 .1rem .3rem rgba(0,0,0,.2); content: ''; transition: transform var(--duration-fast); }
.automation-master-switch input:checked + span { background: var(--color-success); }
.automation-master-switch input:checked + span::after { transform: translateX(1.15rem); }
.automation-condition-row { display: grid; grid-template-columns: 1.25fr .65fr 1.25fr; gap: var(--space-2); }
.automation-recipient-group { margin: 0 0 var(--space-4); padding: 0; border: 0; }
.automation-recipient-group legend { margin-bottom: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-1); font-weight: var(--weight-bold); }
.automation-recipient-options { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.automation-recipient-options input { position: absolute; opacity: 0; }
.automation-recipient-options span { display: inline-flex; min-height: 2.35rem; align-items: center; padding: 0 var(--space-3); border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.automation-recipient-options input:checked + span { border-color: var(--color-accent); background: var(--color-accent-tint); color: var(--color-accent); }
.automation-specific-users { margin-top: var(--space-3); border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-control); }
.automation-specific-users summary { padding: var(--space-3) var(--space-4); font-weight: var(--weight-semibold); }
.automation-specific-users > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); padding: 0 var(--space-4) var(--space-4); }
.automation-specific-users label { display: grid; grid-template-columns: auto var(--avatar-sm) minmax(0, 1fr); align-items: center; gap: var(--space-2); padding: var(--space-2); border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.automation-specific-users label > span { display: grid; }
.automation-specific-users small { color: var(--color-label-tertiary); }
.automation-attachment-field { margin-top: var(--space-4); }
.automation-exclude-actor { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: var(--space-3); padding: var(--space-3) var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface-secondary); cursor: pointer; }
.automation-exclude-actor input { width: 1rem; height: 1rem; margin-top: .15rem; accent-color: var(--color-accent); }
.automation-exclude-actor span { display: grid; gap: var(--space-1); }
.automation-exclude-actor strong { color: var(--color-label); font-size: var(--font-size-2); }
.automation-exclude-actor small { color: var(--color-label-secondary); font-size: var(--font-size-1); line-height: var(--line-body); }
.automation-message-editor { min-width: 0; }
.automation-message-editor textarea { width: 100%; resize: vertical; }
.automation-tags { margin-top: var(--space-4); }
.automation-tags > strong { display: block; margin-bottom: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.automation-tags > div { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.automation-tags button { display: inline-grid; gap: .1rem; padding: var(--space-2) var(--space-3); border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-control); background: var(--color-surface); color: var(--color-label); text-align: left; }
.automation-tags button:hover { border-color: var(--color-accent); background: var(--color-accent-tint); }
.automation-tags code { color: var(--color-accent); font-size: var(--font-size-1); font-weight: var(--weight-bold); }
.automation-tags button span { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.automation-rule-actions { position: sticky; z-index: 3; bottom: 0; display: flex; justify-content: flex-end; gap: var(--space-2); padding: var(--space-4) var(--space-6); border-top: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.automation-delivery { overflow: hidden; }
.automation-log-empty { margin: 0; padding: var(--space-8) var(--space-6); color: var(--color-label-secondary); text-align: center; }
.automation-log-list > div { display: grid; grid-template-columns: var(--control-sm) minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.automation-log-list > div:last-child { border-bottom: 0; }
.automation-log-list span:nth-child(2) { display: grid; }
.automation-log-list small { color: var(--color-label-tertiary); }
.automation-log-list em { font-size: var(--font-size-1); font-style: normal; }
.mail-status { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: 50%; }
.mail-status.ok { background: var(--color-success-tint); color: var(--color-success); }
.mail-status.failed { background: var(--color-error-tint); color: var(--color-error); }
.smtp-status-card { display: grid; grid-template-columns: var(--control-lg) minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); padding: var(--space-5) var(--space-6); }
.smtp-status-icon { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-pill); background: var(--color-warning-tint); color: var(--color-warning); }
.smtp-status-card.is-ready .smtp-status-icon { background: var(--color-success-tint); color: var(--color-success); }
.smtp-status-card.is-paused .smtp-status-icon { background: var(--color-surface-secondary); color: var(--color-label-secondary); }
.smtp-status-card small { color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-bold); letter-spacing: .06em; }
.smtp-status-card h3, .smtp-status-card p { margin: 0; }
.smtp-status-card h3 { margin-block: .1rem; font-size: var(--font-size-4); }
.smtp-status-card p { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.smtp-status-actions { display: flex; align-items: center; gap: var(--space-2); }
.smtp-settings-dialog { width: min(100%, 62rem); max-height: calc(100dvh - var(--space-8)); padding: 0; }
.smtp-dialog-head { position: sticky; z-index: 3; top: 0; margin: 0; background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.smtp-settings-alert { margin: var(--space-4) var(--space-6) 0; }
.smtp-settings-body { display: grid; }
.smtp-security-note { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-5) var(--space-6) 0; padding: var(--space-4); border-radius: var(--radius-control); background: var(--color-success-tint); color: var(--color-success); }
.smtp-security-note > i { font-size: var(--font-size-5); }
.smtp-security-note span { display: grid; }
.smtp-security-note small { color: color-mix(in srgb, var(--color-success) 80%, var(--color-label)); }
.smtp-enabled-switch { padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.smtp-form-section { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: var(--space-6); padding: var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.smtp-section-heading { display: grid; grid-template-columns: var(--control-sm) minmax(0, 1fr); align-items: start; gap: var(--space-3); }
.smtp-section-heading > span { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-pill); background: var(--color-accent-tint); color: var(--color-accent); font-size: var(--font-size-1); font-weight: var(--weight-bold); }
.smtp-section-heading h3, .smtp-section-heading p { margin: 0; }
.smtp-section-heading h3 { font-size: var(--font-size-4); }
.smtp-section-heading p { margin-top: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.smtp-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.smtp-host-field { grid-column: 1 / -1; }
.smtp-check-row { display: flex; align-items: center; gap: var(--space-2); min-height: var(--control-md); }
.smtp-check-row.wide { grid-column: 1 / -1; }
.smtp-check-row input { position: absolute; opacity: 0; }
.smtp-check-row > span { display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border: .0625rem solid var(--color-separator-strong); border-radius: .35rem; background: var(--color-surface); color: transparent; font-size: var(--font-size-0); }
.smtp-check-row input:checked + span { border-color: var(--color-accent); background: var(--color-accent); color: white; }
.smtp-timeout-input { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); }
.smtp-timeout-input span { color: var(--color-label-tertiary); font-size: var(--font-size-2); }
.smtp-secret-saved { margin-left: var(--space-2); padding: .1rem var(--space-2); border-radius: var(--radius-pill); background: var(--color-success-tint); color: var(--color-success); font-size: var(--font-size-0); font-weight: var(--weight-bold); }
.smtp-settings-actions { position: sticky; z-index: 3; bottom: 0; display: flex; justify-content: flex-end; gap: var(--space-2); padding: var(--space-4) var(--space-6); border-top: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }

/* Profile and people administration */
.profile-settings-layout { display: grid; grid-template-columns: 18rem minmax(0, 1fr); align-items: start; gap: var(--space-6); }
.profile-identity-card,
.profile-settings-main { border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: var(--shadow-surface); }
.profile-identity-card { position: sticky; top: calc(var(--topbar-height) + var(--space-6)); padding: var(--space-6) var(--space-5); text-align: center; }
.profile-identity-avatar { position: relative; display: inline-block; }
.profile-identity-card h2 { margin: var(--space-4) 0 0; }
.profile-identity-card > p { margin: var(--space-1) 0 var(--space-4); color: var(--color-label-secondary); }
.profile-identity-tags,
.admin-user-tags { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2); }
.profile-identity-tags span,
.admin-user-tags span { display: inline-flex; min-height: var(--control-sm); align-items: center; gap: var(--space-1); padding: 0 var(--space-2); border-radius: var(--radius-pill); background: var(--color-surface-secondary); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.profile-photo-actions { display: grid; gap: var(--space-2); margin-top: var(--space-5); padding-top: var(--space-5); border-top: .0625rem solid var(--color-separator); }
.profile-avatar-form { display: grid; gap: var(--space-2); }
.profile-photo-change { display: flex; min-height: var(--control-md); align-items: center; justify-content: center; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label); cursor: pointer; font-weight: var(--weight-semibold); }
.profile-photo-change:hover { background: var(--color-surface-tertiary); }
.profile-photo-change:focus-within { box-shadow: var(--focus-ring); }
.profile-photo-change input { position: absolute; width: .0625rem; height: .0625rem; opacity: 0; }
.profile-photo-change span { display: inline-flex; align-items: center; gap: var(--space-2); }
.profile-avatar-form small { color: var(--color-label-tertiary); font-size: var(--font-size-1); text-align: center; }
.profile-remove-form { display: flex; justify-content: center; }
.profile-remove-photo { display: inline-flex; min-height: var(--control-sm); align-items: center; gap: var(--space-2); padding: 0 var(--space-2); border: 0; background: transparent; color: var(--color-error); font-size: var(--font-size-1); }
.profile-settings-main { overflow: hidden; }
.profile-setting-section { padding: var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.profile-setting-section:last-child { border-bottom: 0; }
.profile-setting-head { display: grid; grid-template-columns: var(--control-md) minmax(0, 1fr); align-items: center; gap: var(--space-3); margin-bottom: var(--space-5); }
.profile-setting-head > span { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-control); background: var(--color-brand-tint); color: var(--color-brand); }
.profile-setting-head h2 { margin: 0; font-size: var(--font-size-4); }
.profile-setting-head p { margin: var(--space-1) 0 0; color: var(--color-label-secondary); font-size: var(--font-size-1); }
.profile-setting-form { display: grid; gap: var(--space-4); }
.profile-form-actions { display: flex; justify-content: flex-end; }
.profile-setting-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-4); }
.profile-setting-actions > span { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.user-admin-tabs { margin-bottom: var(--space-5); }
.department-settings { width: min(100%, 52rem); overflow: hidden; }
.department-settings-head { display: grid; grid-template-columns: var(--control-lg) minmax(0, 1fr); align-items: center; gap: var(--space-4); padding: var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.department-settings-head > span { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-warning-tint); color: var(--color-warning); font-size: var(--font-size-5); }
.department-settings-head h2,
.department-settings-head p { margin: 0; }
.department-settings-head h2 { font-size: var(--font-size-4); }
.department-settings-head p { margin-top: var(--space-1); color: var(--color-label-secondary); font-size: var(--font-size-2); line-height: var(--line-body); }
.department-settings-alert { margin: var(--space-4) var(--space-6) 0; }
.department-settings-list { display: grid; }
.department-color-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-5); min-height: 5rem; padding: var(--space-3) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.department-color-preview { justify-self: start; margin-right: 0; padding: var(--space-2) var(--space-3); font-size: var(--font-size-2); line-height: var(--line-title); }
.department-color-control { display: inline-flex; align-items: center; gap: var(--space-3); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.department-color-control select { width: 10rem; min-height: var(--control-md); padding-right: var(--space-7); font-size: var(--font-size-2); }
.department-settings-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-5) var(--space-6); }
.department-settings-actions > span { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.department-settings-empty { display: grid; justify-items: center; gap: var(--space-3); padding: var(--space-8) var(--space-6); color: var(--color-label-secondary); text-align: center; }
.department-settings-empty > i { color: var(--color-label-tertiary); font-size: var(--font-size-6); }
.department-settings-empty p { margin: 0; }
.users-directory .section-heading { margin: 0; padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.admin-user-list { display: grid; }
.admin-user-card { border-bottom: .0625rem solid var(--color-separator); }
.admin-user-card:last-child { border-bottom: 0; }
.admin-user-card.is-inactive { opacity: .58; }
.admin-user-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.admin-user-open { display: grid; width: 100%; min-width: 0; grid-template-columns: var(--avatar-lg) minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-3) var(--space-4) var(--space-6); border: 0; background: transparent; color: var(--color-label); text-align: left; transition: background-color var(--duration-fast) var(--ease-standard); }
.admin-user-open:hover { background: var(--color-surface-secondary); }
.admin-user-open:focus-visible { position: relative; z-index: 1; box-shadow: inset 0 0 0 .1875rem var(--color-focus-ring); }
.admin-user-identity { display: grid; min-width: 0; gap: var(--space-1); }
.admin-user-title { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.admin-user-title strong { font-size: var(--font-size-4); }
.admin-user-email { overflow: hidden; color: var(--color-label-secondary); text-overflow: ellipsis; white-space: nowrap; }
.admin-user-tags { justify-content: flex-start; }
.admin-user-open-hint { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-pill); color: var(--color-label-tertiary); transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.admin-user-open:hover .admin-user-open-hint { background: var(--color-surface-tertiary); color: var(--color-label); transform: translateX(var(--space-1)); }
.account-status { display: inline-flex; align-items: center; gap: var(--space-1); color: var(--color-success); font-size: var(--font-size-0); font-weight: var(--weight-bold); text-transform: uppercase; }
.account-status.is-disabled { color: var(--color-label-tertiary); }
.admin-user-actions { display: flex; align-items: center; padding-right: var(--space-5); }
.admin-user-modal { padding: var(--space-4); }
.user-account-dialog-card { width: min(100%, 48rem); max-height: calc(100dvh - (var(--space-8) * 2)); padding: 0; }
.user-account-dialog-head { position: sticky; z-index: 2; top: 0; margin: 0; padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.user-account-dialog-head h2 { margin: 0; font-size: var(--font-size-5); }
.user-account-alert { margin: var(--space-4) var(--space-6) 0; }
.user-account-body { padding: var(--space-5) var(--space-6); }
.user-account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.user-account-grid .wide { grid-column: 1 / -1; }
.user-photo-row { display: grid; grid-template-columns: 9rem minmax(0, 1fr); align-items: center; gap: var(--space-4); margin-top: var(--space-5); padding-top: var(--space-5); border-top: .0625rem solid var(--color-separator); }
.user-photo-row > span { color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.user-photo-row > span small { display: block; margin-top: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-regular); }
.user-photo-field { display: flex; min-width: 0; align-items: center; gap: var(--space-3); }
.user-photo-picker { min-width: 0; flex: 1; cursor: pointer; }
.user-photo-picker > input { position: absolute; width: .0625rem; height: .0625rem; opacity: 0; }
.user-photo-picker > span { display: grid; min-height: var(--control-lg); grid-template-columns: var(--control-sm) minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border: .0625rem dashed var(--color-separator-strong); border-radius: var(--radius-control); background: var(--color-surface); transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.user-photo-picker:hover > span { border-color: var(--color-label-tertiary); background: var(--color-surface-secondary); }
.user-photo-picker:focus-within > span { border-color: var(--color-accent); box-shadow: var(--focus-ring); }
.user-photo-picker > span > i { color: var(--color-label-secondary); text-align: center; }
.user-photo-picker > span > span { display: grid; min-width: 0; }
.user-photo-picker strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-photo-picker small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.user-photo-remove { flex: 0 0 auto; cursor: pointer; }
.user-photo-remove input { position: absolute; opacity: 0; }
.user-photo-remove span { display: inline-flex; min-height: var(--control-md); align-items: center; gap: var(--space-2); padding: 0 var(--space-3); border-radius: var(--radius-control); color: var(--color-error); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.user-photo-remove:hover span { background: var(--color-error-tint); }
.user-photo-remove input:focus-visible + span { box-shadow: var(--focus-ring); }
.user-photo-remove input:checked + span { background: var(--color-error-tint); box-shadow: inset 0 0 0 .0625rem var(--color-error); }
.user-account-actions { position: sticky; z-index: 2; bottom: 0; display: flex; justify-content: flex-end; padding: var(--space-4) var(--space-6); border-top: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.user-account-actions > div { display: flex; gap: var(--space-2); }

/* News administration */
.news-admin-row { display: grid; grid-template-columns: var(--control-sm) minmax(0, 1fr) auto; align-items: stretch; min-height: 7.5rem; border-bottom: .0625rem solid var(--color-separator); background: var(--color-surface); transition: opacity var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.news-admin-row:last-child { border-bottom: 0; }
.news-admin-row.is-dragging { opacity: .45; }
.news-admin-row.is-drop-target { box-shadow: inset 0 .1875rem 0 var(--color-accent); }
.news-drag-handle { display: grid; width: var(--control-sm); place-items: center; align-self: stretch; color: var(--color-label-tertiary); cursor: grab; }
.news-drag-handle:active { cursor: grabbing; }
.news-admin-open { display: grid; min-width: 0; grid-template-columns: 7.5rem minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-3); border: 0; background: transparent; color: var(--color-label); text-align: left; cursor: pointer; }
.news-admin-open:hover { background: var(--color-surface-secondary); }
.news-admin-thumbnail { display: grid; width: 7.5rem; height: 5rem; place-items: center; overflow: hidden; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label-tertiary); font-size: var(--font-size-5); }
.news-admin-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.news-admin-copy { display: grid; min-width: 0; gap: var(--space-1); }
.news-admin-title { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.news-admin-title strong { overflow: hidden; font-size: var(--font-size-4); text-overflow: ellipsis; white-space: nowrap; }
.news-admin-excerpt { overflow: hidden; color: var(--color-label-secondary); text-overflow: ellipsis; white-space: nowrap; }
.news-admin-copy small { color: var(--color-label-tertiary); }
.news-admin-copy em { padding: var(--space-1) var(--space-2); border-radius: var(--radius-pill); background: var(--color-warning-tint); color: var(--color-warning); font-size: var(--font-size-0); font-style: normal; font-weight: var(--weight-bold); }
.news-admin-copy em.is-live { background: var(--color-success-tint); color: var(--color-success); }
.news-admin-open-hint { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-pill); color: var(--color-label-tertiary); transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.news-admin-open:hover .news-admin-open-hint { background: var(--color-surface); color: var(--color-label); transform: translateX(var(--space-1)); }
.news-admin-actions { display: flex; align-items: center; padding-right: var(--space-5); }
.news-editor-modal { padding: var(--space-4); }
.news-editor-dialog-card { width: min(100%, 44rem); max-height: calc(100dvh - (var(--space-8) * 2)); padding: 0; }
.news-editor-dialog-head { position: sticky; z-index: 2; top: 0; margin: 0; padding: var(--space-5) var(--space-6); border-bottom: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.news-editor-alert { margin: var(--space-4) var(--space-6) 0; }
.news-editor-body { padding: var(--space-5) var(--space-6); }
.news-editor-grid { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: var(--space-4); }
.news-editor-grid .wide { grid-column: 1 / -1; }
.news-editor-grid textarea { min-height: 7.5rem; }
.news-editor-grid .news-links-input { min-height: var(--control-lg); }
.news-cover-row { display: grid; grid-template-columns: 9rem minmax(0, 1fr); align-items: center; gap: var(--space-4); margin-top: var(--space-5); padding-top: var(--space-5); border-top: .0625rem solid var(--color-separator); }
.news-cover-row > span { color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.news-cover-row > span small { display: block; margin-top: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-regular); }
.news-cover-field { display: flex; min-width: 0; align-items: center; gap: var(--space-3); }
.news-cover-preview { width: 5rem; height: 3.5rem; flex: 0 0 auto; border-radius: var(--radius-control); object-fit: cover; }
.news-editor-actions { position: sticky; z-index: 2; bottom: 0; display: flex; justify-content: flex-end; gap: var(--space-2); padding: var(--space-4) var(--space-6); border-top: .0625rem solid var(--color-separator); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }

/* Shared structured surface — tables, directories, calendar and feed cards */
.app-data-surface { overflow: hidden; border: .0625rem solid var(--color-separator); border-radius: var(--radius-surface); background: var(--color-surface); box-shadow: none; }
.app-data-surface > .surface-heading { min-height: calc(var(--control-md) + (var(--space-3) * 2)); margin: 0; padding: var(--space-3) var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.app-data-surface > .surface-heading h2 { margin: 0; font-size: var(--font-size-5); }
.app-data-surface > .surface-heading .btn { flex: 0 0 auto; }
.app-data-surface .template-card-copy h3,
.app-data-surface .admin-user-title strong,
.app-data-surface .news-admin-title strong { font-size: var(--font-size-3); font-weight: var(--weight-semibold); line-height: var(--line-title); }
.app-data-surface .template-card-copy p,
.app-data-surface .admin-user-email,
.app-data-surface .news-admin-excerpt { color: var(--color-label-secondary); font-size: var(--font-size-2); line-height: var(--line-body); }
.app-data-surface .template-card-meta,
.app-data-surface .admin-user-tags span,
.app-data-surface .news-admin-copy small { color: var(--color-label-tertiary); font-size: var(--font-size-1); line-height: var(--line-body); }

/* Responsive layout */
@media (max-width: 76rem) {
:root { --page-gutter: var(--space-6); }
.gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.inbox-table-head { display: none; }
.inbox-row,
.inbox-row.has-priority-control { grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--space-2); }
.inbox-row > *:not(.task-main):not(.row-chevron) { grid-column: 1; }
.row-chevron { grid-column: 2; grid-row: 1 / span 5; }
.thread-workspace { width: min(100%, 58rem); grid-template-columns: minmax(0, 1fr); }
.task-actions-aside { position: static; grid-row: 1; }
.thread-main { grid-row: 2; }
.task-actions-rail > h2 { display: none; }
.task-action-group { display: flex; flex-wrap: wrap; }
.task-actions-aside .quick-action,
.task-actions-aside .task-action-group > form .quick-action { width: auto; }
.task-action-group > form { width: auto; }
}
@media (max-width: 62rem) {
.app-sidebar { z-index: 100; width: min(20rem, 86vw); transform: translateX(-100%); box-shadow: var(--shadow-drawer); transition: transform var(--duration-normal) var(--ease-standard); }
body.sidebar-open .app-sidebar { transform: translateX(0); }
body.sidebar-open .sidebar-backdrop { position: fixed; z-index: 90; inset: 0; display: block; border: 0; background: var(--color-overlay); }
.app-content { margin-left: 0; }
.task-command-center { width: 100vw; margin-left: calc(50% - 50vw); }
.hamburger-btn { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border: 0; border-radius: var(--radius-pill); background: transparent; }
.hamburger-btn:hover { background: var(--color-surface-tertiary); }
.dashboard-overview-stats { grid-template-columns: repeat(2, 1fr); }
.dashboard-stat:nth-child(2n) { border-right: 0; }
.dashboard-stat:nth-child(-n+2) { border-bottom: .0625rem solid var(--color-separator); }
.team-simple-labels { display: none; }
.team-simple-row { grid-template-columns: 1fr; }
.calendar-head { align-items: stretch; flex-direction: column; gap: var(--space-4); }
.calendar-month-switcher { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.calendar-month-step { min-width: 0; }
.calendar-day { min-height: 7rem; }
.calendar-event span small { display: none; }
.order-deadline-section,
.task-deadline-layout,
.profile-settings-layout { grid-template-columns: 1fr; }
.attachment-dock,
.team-grid { grid-template-columns: 1fr; }
.compose-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.compose-head > span { max-width: none; text-align: left; }
.profile-identity-card { position: static; }
.gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.template-icon-options { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.marketing-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 42rem) {
:root { --page-gutter: var(--space-4); --topbar-height: 3.75rem; }
body { font-size: var(--font-size-2); }
.topbar-page-title h1 { font-size: var(--font-size-4); }
.page-head h1,
.dashboard-hero h1,
.step-head h2,
.final-review-heading h2 { font-size: var(--font-size-7); }
.user-trigger-meta { display: none; }
.dashboard-hero { grid-template-columns: 1fr; }
.dashboard-hero-actions { justify-content: flex-start; }
.dashboard-overview-stats { grid-template-columns: 1fr; }
.dashboard-stat { border-right: 0; border-bottom: .0625rem solid var(--color-separator); }
.dashboard-stat:last-child { border-bottom: 0; }
.type-grid,
.gallery-grid,
.template-list,
.two-col,
.three-col,
.question-fields,
.profile-password-grid { grid-template-columns: 1fr; }
.type-card { border-right: 0; }
.wizard-progress strong { display: none; }
.order-deadline-section { padding: var(--space-4); }
.deadline-picker { width: 100%; }
.order-summary { grid-template-columns: 1fr; }
.final-review-title-head { align-items: stretch; flex-direction: column; }
.final-review-title-action { width: 100%; justify-content: center; }
.calendar-toolbox { position: static; }
.calendar-tools { grid-template-columns: repeat(2, 1fr); }
.calendar-grid,
.calendar-weekdays { min-width: 46rem; }
.team-calendar { overflow-x: auto; }
.wall-post-copy { font-size: var(--font-size-3); }
.wall-comment-replies { margin-left: var(--space-4); }
.gallery-breadcrumbs { font-size: var(--font-size-3); }
.schema-basics { grid-template-columns: 1fr; }
.template-icon-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-user-modal { padding: var(--space-3); }
.user-account-dialog-card,
.template-dialog-card { max-height: calc(100dvh - (var(--space-3) * 2)); }
.user-account-dialog-head,
.user-account-body,
.user-account-actions { padding-inline: var(--space-4); }
.user-account-grid,
.user-photo-row { grid-template-columns: 1fr; }
.user-photo-field { align-items: stretch; flex-direction: column; }
.user-photo-remove span { width: 100%; justify-content: center; }
.user-account-actions > div { display: grid; grid-template-columns: 1fr 1fr; }
.template-dialog-head,
.schema-basics,
.questions-heading,
.question-builder-row,
.template-dialog-actions { padding-inline: var(--space-4); }
.template-card { grid-template-columns: var(--control-sm) var(--control-md) minmax(0, 1fr) auto; padding-inline: var(--space-3); }
.template-card-copy { display: block; }
.template-card-meta { display: block; margin-top: var(--space-1); }
.template-open-hint { display: none; }
.app-data-surface > .surface-heading { padding-inline: var(--space-4); }
.app-data-surface > .surface-heading .btn { min-height: var(--control-sm); padding-inline: var(--space-3); font-size: var(--font-size-2); }
.admin-user-open { grid-template-columns: var(--avatar-md) minmax(0, 1fr) var(--control-sm); padding-left: var(--space-4); }
.admin-user-open .avatar.lg { width: var(--avatar-md); height: var(--avatar-md); }
.admin-user-tags { display: none; }
.admin-user-actions { padding-right: var(--space-3); }
.user-admin-tabs { margin-inline: calc(var(--page-gutter) * -1); padding-inline: var(--page-gutter); }
.department-settings { width: auto; margin-inline: calc(var(--page-gutter) * -1); border-radius: 0; box-shadow: none; }
.department-settings-head,
.department-settings-actions { padding-inline: var(--page-gutter); }
.department-color-row { gap: var(--space-3); padding-inline: var(--page-gutter); }
.department-settings-actions { align-items: stretch; flex-direction: column; }
.department-settings-actions > .btn { width: 100%; justify-content: center; }
.marketing-news-grid { grid-template-columns: 1fr; }
.marketing-news-card { height: 22rem; }
.marketing-news-cover { height: 11.5rem; min-height: 0; flex-basis: 11.5rem; }
.news-detail-modal,
.news-editor-modal { padding: var(--space-3); }
.news-detail-dialog-card,
.news-editor-dialog-card { max-height: calc(100dvh - (var(--space-3) * 2)); }
.news-detail-dialog-head,
.news-detail-copy,
.news-detail-videos,
.news-detail-links,
.news-editor-dialog-head,
.news-editor-body,
.news-editor-actions { padding-inline: var(--space-4); }
.news-editor-grid,
.news-cover-row { grid-template-columns: 1fr; }
.news-cover-field { align-items: stretch; flex-direction: column; }
.news-cover-preview { width: 100%; height: 9rem; }
.news-admin-row { grid-template-columns: var(--control-sm) minmax(0, 1fr) auto; }
.news-admin-open { grid-template-columns: var(--control-md) minmax(0, 1fr); gap: var(--space-3); padding-inline: var(--space-2); }
.news-admin-thumbnail { width: var(--control-md); height: var(--control-md); }
.news-admin-open-hint,
.news-admin-excerpt { display: none; }
.news-admin-actions { padding-right: var(--space-3); }
.profile-form-actions .btn { width: 100%; }
.profile-setting-actions { align-items: stretch; flex-direction: column; }
.profile-setting-actions .btn { width: 100%; }
.created-brief-grid,
.attachment-thumbs { grid-template-columns: 1fr; }
.task-command-center { top: var(--topbar-height); padding: 0 var(--page-gutter); }
.task-command-inner { padding-block: var(--space-3); }
.action-panel.task-modal-panel { padding: var(--space-3); }
.task-modal-panel > .form-grid { max-height: calc(100dvh - (var(--space-6) * 2)); }
.task-modal-panel .compose-head,
.task-modal-panel .form-actions { padding-inline: var(--space-4); }
.task-modal-panel > .form-grid > :not(.compose-head):not(.form-actions) { margin-inline: var(--space-4); }
.brief-edit-options,
.task-brief-meta-grid,
.composer-file-selection { grid-template-columns: 1fr; }
.task-action-group { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.task-actions-aside .quick-action,
.task-actions-aside .task-action-group > form,
.task-actions-aside .task-action-group > form .quick-action { width: 100%; }
.created-brief-grid > div,
.summary-row,
.compact-temporal-range { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
.thread-kicker .hero-assignees { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.message { grid-template-columns: 3.5rem minmax(0, 1fr); gap: var(--space-2); }
.message-author-rail > .avatar.lg { width: var(--avatar-md); height: var(--avatar-md); }
.message::before { top: var(--avatar-md); left: 1.75rem; }
.message-rail-time { padding-inline: 0; font-size: .625rem; }
.bubble { padding-inline: var(--space-4); }
.final-output-banner { margin-inline: 0; padding-inline: var(--space-3); }
.bubble-head { display: grid; gap: var(--space-1); }
}

@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 1ms !important; animation-duration: 1ms !important; animation-iteration-count: 1 !important; }
}
.calendar-dialog-head > span, .calendar-dialog-head > button { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: var(--color-surface-secondary); }
.calendar-dialog-head h2 { margin-bottom: var(--space-1); }
.calendar-dialog-head p { margin: 0; color: var(--color-label-secondary); }
.calendar-dialog-actions { display: flex; justify-content: flex-end; gap: var(--space-2); margin-top: var(--space-5); }

@media (max-width: 760px) {
.automation-hero { grid-template-columns: var(--control-lg) minmax(0, 1fr); }
.automation-hero-actions { grid-column: 1 / -1; display: grid; width: 100%; grid-template-columns: 1fr; }
.automation-hero-actions .btn { width: 100%; }
.automation-tabs { display: grid; width: 100%; grid-template-columns: 1fr 1fr; }
.automation-tabs a { justify-content: center; padding-inline: var(--space-2); text-align: center; }
.automation-rule-row { grid-template-columns: minmax(0, 1fr); }
.automation-row-actions { justify-content: flex-end; padding: 0 var(--space-4) var(--space-3); }
.automation-rule-flow { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
.automation-rule-flow > i { display: none; }
.automation-form-section { grid-template-columns: 1fr; padding-inline: var(--space-4); }
.automation-form-grid, .automation-condition-row, .automation-specific-users > div { grid-template-columns: 1fr; }
.automation-rule-modal { padding: var(--space-2); }
.automation-rule-dialog { max-height: calc(100dvh - var(--space-4)); }
.automation-rule-actions { padding-inline: var(--space-4); }
.smtp-status-card { grid-template-columns: var(--control-lg) minmax(0, 1fr); padding-inline: var(--space-4); }
.smtp-status-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
.smtp-status-actions form, .smtp-status-actions .btn { width: 100%; }
.smtp-form-section, .smtp-fields { grid-template-columns: 1fr; }
.smtp-form-section, .smtp-security-note, .smtp-enabled-switch, .smtp-settings-actions { padding-inline: var(--space-4); }
.smtp-host-field, .smtp-check-row.wide { grid-column: auto; }
.smtp-settings-modal { padding: var(--space-2); }
.smtp-settings-dialog { max-height: calc(100dvh - var(--space-4)); }
}

/* 2026 unified flat interface
The application is one white workspace. Hierarchy comes from type, spacing
and separators; elevation is reserved for content objects and overlays. */
body:not(.login-body),
.app-content { background: var(--color-surface); }

.app-topbar {
height: var(--topbar-height);
border-color: var(--color-separator);
background: color-mix(in srgb, var(--color-surface) 90%, transparent);
}
.topbar-page-title h1 { font-size: var(--font-size-4); font-weight: var(--weight-semibold); }
.container {
width: min(100%, calc(var(--content-max) + (var(--page-gutter) * 2)));
padding-top: var(--space-8);
}
.dashboard-layout,
.automation-page { gap: var(--space-8); }
.page-head,
.dashboard-welcome { margin: 0; padding-bottom: var(--space-6); }
.dashboard-welcome { align-items: center; flex-wrap: wrap; }
.dashboard-welcome > div:first-child { min-width: 0; }
.dashboard-welcome h2 { font-size: clamp(var(--font-size-7), 3.6vw, var(--font-size-9)); }
.dashboard-eyebrow { display: block; margin-bottom: var(--space-2); color: var(--color-label-tertiary); font-size: var(--font-size-2); font-weight: var(--weight-medium); }

/* Flat sections and data lists */
.app-data-surface {
overflow: visible;
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
:is(.inbox, .team-simple-list, .users-directory, .news-admin, .template-library, .automation-rule-list, .automation-delivery, .smtp-status-card) {
border-block: .0625rem solid var(--color-separator);
background: var(--color-surface);
}
.app-data-surface > .surface-heading,
.users-directory .section-heading {
min-height: 4rem;
padding: var(--space-3) var(--space-5);
}
.inbox-row,
.admin-user-open,
.news-admin-open,
.template-card,
.automation-rule-open { transition: background-color var(--duration-fast) var(--ease-standard); }
.inbox-table-head,
.inbox-row {
grid-template-columns: minmax(14rem, 2.6fr) minmax(6.5rem, .8fr) minmax(7rem, .8fr) minmax(8rem, 1.1fr) minmax(7.5rem, 1fr) var(--control-sm);
}
.inbox-table-head.has-priority-control,
.inbox-row.has-priority-control {
grid-template-columns: minmax(14rem, 2.6fr) minmax(6.5rem, .8fr) minmax(7rem, .8fr) minmax(8rem, 1.1fr) minmax(7.5rem, 1fr) minmax(7.5rem, .85fr) var(--control-sm);
}
.inbox-row:hover,
.admin-user-open:hover,
.news-admin-open:hover,
.template-card:hover,
.automation-rule-open:hover { background: var(--color-surface-secondary); }

/* Controls */
.btn {
border-radius: var(--radius-control);
background: var(--color-surface-secondary);
}
.btn:hover { background: var(--color-surface-tertiary); }
.btn.primary,
.btn.brand { box-shadow: none; }
.icon-action,
.icon-btn,
.modal-close,
.drawer-close,
.gallery-panel-close,
.panel-close { flex: 0 0 auto; }

.field,
.choice-group { gap: var(--space-2); }
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="tel"],
select:not([multiple]),
textarea {
border-color: var(--color-separator-strong);
background-color: var(--color-surface);
}
input:hover,
select:hover,
textarea:hover { border-color: var(--color-separator-strong); }
input:focus,
select:focus,
textarea:focus {
border-color: var(--color-accent);
background-color: var(--color-surface);
}
.file-input,
.user-photo-picker > span { background: var(--color-surface-secondary); }
.login-card input {
border-color: rgba(224, 226, 231, .2);
background: rgba(242, 243, 246, .075);
color: var(--color-label-inverse);
}
.login-card input:hover { border-color: rgba(224, 226, 231, .36); background: rgba(242, 243, 246, .11); }
.login-card input:focus { border-color: rgba(224, 226, 231, .72); background: rgba(242, 243, 246, .11); box-shadow: 0 0 0 .1875rem rgba(224, 226, 231, .11); }
.login-card input::placeholder { color: rgba(201, 203, 211, .52); }

/* Navigation and filters use one underline grammar */
.orders-commandbar {
margin-bottom: var(--space-8);
overflow-x: auto;
padding: 0;
border: 0;
border-bottom: .0625rem solid var(--color-separator);
border-radius: 0;
background: transparent;
}
.task-tabs { gap: var(--space-6); }
.task-tab {
min-height: 3.25rem;
flex: 0 0 auto;
padding: 0;
border-radius: 0;
}
.task-tab::after {
position: absolute;
right: 0;
bottom: -.0625rem;
left: 0;
display: block;
height: .125rem;
background: var(--color-label);
content: "";
opacity: 0;
}
.task-tab:hover,
.task-tab.is-active { background: transparent; color: var(--color-label); }
.task-tab.is-active::after { opacity: 1; }
.task-tab:hover strong { background: var(--color-surface-tertiary); color: var(--color-label-secondary); }
.task-tab.is-active strong { background: var(--color-label); color: var(--color-label-inverse); }

.automation-tabs {
display: flex;
width: 100%;
gap: var(--space-6);
padding: 0;
border-bottom: .0625rem solid var(--color-separator);
border-radius: 0;
background: transparent;
}
.automation-tabs a {
position: relative;
padding: 0;
border-radius: 0;
}
.automation-tabs a::after {
position: absolute;
right: 0;
bottom: -.0625rem;
left: 0;
height: .125rem;
background: var(--color-label);
content: "";
opacity: 0;
}
.automation-tabs a.active { background: transparent; box-shadow: none; }
.automation-tabs a.active::after { opacity: 1; }

/* Dashboard */
.dashboard-overview-stats {
overflow: visible;
border-block: .0625rem solid var(--color-separator);
border-radius: 0;
}
.dashboard-stat { min-height: 5.5rem; padding-inline: var(--space-5); }
.dashboard-stat:first-child { padding-left: 0; }
.dashboard-stat:last-child { padding-right: 0; }
.dashboard-stat > span { border-radius: var(--radius-sm); }
.dashboard-stat:hover { background: var(--color-surface-secondary); }
.inbox-toolbar { margin-bottom: var(--space-3); }
.inbox-table-head { padding-inline: var(--space-5); }
.dashboard-news-zone { padding-top: var(--space-2); }

/* Orders and task detail */
.task-command-center { background: color-mix(in srgb, var(--color-surface) 94%, transparent); }
.thread-workspace { grid-template-columns: minmax(0, 1fr) 15rem; }
.action-panel:not(.task-modal-panel) {
padding: var(--space-5) 0;
border: 0;
border-block: .0625rem solid var(--color-separator);
border-radius: 0;
}
.bubble {
border: 0;
border-bottom: .0625rem solid var(--color-separator);
border-radius: 0;
background: transparent;
box-shadow: none;
}
.message.is-final-output .bubble {
border: 0;
border-block: .0625rem solid var(--color-warning);
border-radius: 0;
}
.brief-template-identity,
.created-brief,
.created-asset,
.summary-row { border-radius: var(--radius-sm); }

/* New order */
.order-wizard,
.order-spec-surface,
.final-review,
.final-review-section {
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.wizard-progress {
width: min(100%, 34rem);
gap: 0;
padding: 0;
border-bottom: .0625rem solid var(--color-separator);
border-radius: 0;
background: transparent;
}
.wizard-dot { position: relative; min-height: 3.25rem; border-radius: 0; }
.wizard-dot::after { position: absolute; right: 0; bottom: -.0625rem; left: 0; height: .125rem; background: var(--color-label); content: ""; opacity: 0; }
.wizard-dot span { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: var(--radius-pill); background: var(--color-surface-secondary); font-size: var(--font-size-1); }
.wizard-dot.active { background: transparent; box-shadow: none; }
.wizard-dot.active::after { opacity: 1; }
.wizard-dot.active span { background: var(--color-label); color: var(--color-label-inverse); }
.type-grid { overflow: hidden; border: 0; border-block: .0625rem solid var(--color-separator); border-radius: 0; }
.type-card { border-radius: 0; }
.tile-question,
.order-deadline-section,
.final-review-section { border-bottom: .0625rem solid var(--color-separator); }
.tile-question,
.order-deadline-section,
.final-review-section,
.final-review-title { padding-inline: 0; }
.final-review-heading > p { display: none; }

/* Team, calendar and gallery */
.team-simple-actions { margin-bottom: var(--space-4); }
.team-simple-row { padding-inline: 0; }
.team-simple-labels { padding-inline: 0; }
.calendar-toolbox {
padding: var(--space-2) 0;
border: 0;
border-block: .0625rem solid var(--color-separator);
border-radius: 0;
background: color-mix(in srgb, var(--color-surface) 92%, transparent);
}
.team-calendar {
overflow: hidden;
border: .0625rem solid var(--color-separator);
border-radius: 0;
}
.calendar-month-step { border-radius: var(--radius-control); }
.gallery-breadcrumbs { border-bottom: .0625rem solid var(--color-separator); }
.gallery-card-preview { border-radius: var(--radius-surface); }
.gallery-card-body { padding-inline: var(--space-1); }

/* Puls is a feed, not a stack of cards */
.wall-composer {
padding: 0 0 var(--space-6);
border-bottom: .0625rem solid var(--color-separator);
}
.wall-feed { gap: 0; }
.wall-post {
padding-block: var(--space-6);
border-bottom: .0625rem solid var(--color-separator);
}
.wall-post-head { padding-top: 0; }
.wall-post-images { overflow: hidden; border-radius: var(--radius-surface); }

/* Administration and settings */
.automation-hero {
grid-template-columns: var(--control-lg) minmax(0, 1fr) auto;
padding: 0 0 var(--space-6);
border-bottom: .0625rem solid var(--color-separator);
}
.automation-rule-row { background: transparent; }
.smtp-status-card { padding-inline: var(--space-5); }
.profile-identity-card,
.profile-settings-main {
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.profile-identity-card { padding: var(--space-2) var(--space-5) var(--space-5) 0; }
.profile-settings-main { border-top: .0625rem solid var(--color-separator); }
.profile-setting-section { padding-inline: 0; }
.profile-setting-head > span { border-radius: var(--radius-sm); }

/* Consistent overlays */
.modal-backdrop,
.calendar-event-dialog,
.action-panel.task-modal-panel { background: rgba(0, 0, 0, .42); }
.modal,
.calendar-dialog-card,
.task-modal-panel > .form-grid {
border: .0625rem solid rgba(0, 0, 0, .08);
border-radius: var(--radius-panel);
box-shadow: 0 1.5rem 4.5rem rgba(0, 0, 0, .2);
}
.calendar-dialog-head,
.user-account-dialog-head,
.news-editor-dialog-head,
.automation-dialog-head,
.smtp-dialog-head,
.template-dialog-head,
.task-modal-panel .compose-head {
border-bottom: .0625rem solid var(--color-separator);
}
.calendar-dialog-card:not(.user-account-dialog-card):not(.news-detail-dialog-card):not(.news-editor-dialog-card):not(.automation-rule-dialog):not(.smtp-settings-dialog):not(.template-dialog-card) > .calendar-dialog-head {
margin: calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-5);
padding: var(--space-5) var(--space-6);
}
.calendar-dialog-card:not(.user-account-dialog-card):not(.news-detail-dialog-card):not(.news-editor-dialog-card):not(.automation-rule-dialog):not(.smtp-settings-dialog):not(.template-dialog-card) > .calendar-dialog-actions {
margin: var(--space-5) calc(var(--space-6) * -1) calc(var(--space-6) * -1);
padding: var(--space-4) var(--space-6);
border-top: .0625rem solid var(--color-separator);
}

/* QR generator follows the same component system (no inline CSS). */
.qr-generator { display: grid; gap: var(--space-10); }
.qr-generator-panel { display: block; padding: 0 0 var(--space-8); border-bottom: .0625rem solid var(--color-separator); }
.qr-generator-copy { width: min(100%, 56rem); }
.qr-generator-copy h2 { margin: 0 0 var(--space-2); font-size: clamp(var(--font-size-6), 2vw, var(--font-size-7)); }
.qr-generator-copy > p { max-width: 44rem; margin: 0 0 var(--space-6); color: var(--color-label-secondary); }
.qr-url-field,
.qr-url-field textarea { width: 100%; }
.qr-url-field textarea { min-height: 11rem; line-height: var(--line-body); }
.qr-options { display: flex; align-items: end; gap: var(--space-4); margin-top: var(--space-5); }
.qr-color-field { display: grid; gap: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.qr-color-control { display: flex; width: 11.5rem; height: var(--control-lg); align-items: center; padding: var(--space-1) var(--space-3) var(--space-1) var(--space-1); border: .0625rem solid transparent; border-radius: var(--radius-control); background: var(--color-surface-secondary); transition: border-color var(--duration-fast), box-shadow var(--duration-fast); }
.qr-color-control:focus-within { border-color: var(--color-accent); box-shadow: var(--focus-ring); }
.qr-color-control:has(.qr-color-value[aria-invalid="true"]) { border-color: var(--color-error); }
.qr-color-swatch { position: relative; width: 2.35rem; height: 2.35rem; flex: 0 0 2.35rem; overflow: hidden; border-radius: var(--radius-sm); background: #000; }
.qr-color-swatch input { position: absolute; inset: -.5rem; width: 3.4rem; height: 3.4rem; padding: 0; border: 0; background: transparent; }
.qr-color-swatch input::-webkit-color-swatch-wrapper { padding: 0; }
.qr-color-swatch input::-webkit-color-swatch { border: 0; }
.qr-color-control::after { width: .0625rem; height: 1.5rem; margin: 0 var(--space-2); background: var(--color-separator-strong); content: ""; }
.qr-color-value { min-width: 0; height: auto !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; font-size: var(--font-size-3); font-weight: var(--weight-semibold); font-variant-numeric: tabular-nums; text-transform: uppercase; }
.qr-error { margin-top: var(--space-3); color: var(--color-error); }
.qr-error:empty { display: none; }
.qr-results-head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-6); }
.qr-results-head h2,
.qr-results-head p { margin: 0; }
.qr-results-head p { margin-top: var(--space-1); color: var(--color-label-secondary); }
.qr-bulk-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--space-2); }
.qr-result-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: var(--space-6); }
.qr-card { min-width: 0; }
.qr-preview { display: grid; aspect-ratio: 1; place-items: center; margin-bottom: var(--space-4); padding: var(--space-4); overflow: hidden; border-radius: var(--radius-surface); background-color: #edf1f6; background-image: linear-gradient(45deg, #fff 25%, transparent 25%), linear-gradient(-45deg, #fff 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #fff 75%), linear-gradient(-45deg, transparent 75%, #fff 75%); background-position: 0 0, 0 .625rem, .625rem -.625rem, -.625rem 0; background-size: 1.25rem 1.25rem; }
.qr-preview svg { display: block; width: 100%; height: 100%; }
.qr-card-copy { min-width: 0; }
.qr-card-copy strong,
.qr-card-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qr-card-copy span { margin-top: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-2); }
.qr-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); margin-top: var(--space-4); }
.qr-empty { padding: var(--space-12) var(--space-6); border-block: .0625rem solid var(--color-separator); color: var(--color-label-tertiary); text-align: center; }
.qr-empty i { display: block; margin-bottom: var(--space-3); font-size: var(--font-size-7); }

/* Responsive: preserve hierarchy, remove secondary noise and keep touch targets. */
@media (max-width: 76rem) {
.inbox-row > .chev.dashboard-open-task { grid-column: 2; grid-row: 1 / span 6; align-self: center; }
.thread-workspace { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 62rem) {
.app-topbar { height: var(--topbar-height); }
.container { padding-top: var(--space-6); }
.dashboard-welcome { align-items: flex-start; }
.automation-hero { grid-template-columns: var(--control-lg) minmax(0, 1fr); }
.automation-hero-actions { grid-column: 1 / -1; justify-content: flex-start; }
.profile-settings-layout { gap: var(--space-8); }
.profile-identity-card { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--space-4); text-align: left; }
.profile-identity-avatar { grid-row: 1 / span 4; }
.profile-identity-card h2 { margin-top: 0; }
.profile-identity-tags { justify-content: flex-start; }
.profile-photo-actions { grid-column: 1 / -1; }
}

@media (max-width: 42rem) {
:root { --page-gutter: var(--space-4); }
.container { padding-top: var(--space-5); padding-bottom: var(--space-12); }
.topbar-page-title h1 { font-size: var(--font-size-4); }
.dashboard-layout,
.automation-page { gap: var(--space-6); }
.dashboard-welcome { gap: var(--space-5); }
.dashboard-welcome { align-items: stretch; flex-direction: column; }
.dashboard-welcome-actions { justify-content: flex-start; }
.dashboard-welcome h2 { font-size: var(--font-size-7); }
.dashboard-welcome-actions .btn:first-child { display: none; }
.dashboard-overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-stat,
.dashboard-stat:first-child,
.dashboard-stat:last-child { min-height: 5.25rem; padding: var(--space-3); }
.dashboard-stat:nth-child(odd) { padding-left: 0; }
.dashboard-stat:nth-child(even) { padding-right: 0; }
.dashboard-stat > div { display: grid; gap: var(--space-1); }
.dashboard-stat small { font-size: var(--font-size-2); line-height: var(--line-title); }
.task-tabs { gap: var(--space-5); }
.task-tab { min-height: 3rem; }
.task-tab i { display: none; }
.inbox { margin-inline: calc(var(--page-gutter) * -1); padding-inline: var(--page-gutter); }
.inbox-row,
.inbox-row.has-priority-control { min-height: 0; grid-template-columns: minmax(0, 1fr) var(--control-sm); gap: var(--space-2); padding: var(--space-4) 0; }
.inbox-row .requester-cell,
.inbox-row .assignees { display: none; }
.inbox-row > .status-cell,
.inbox-row > .deadline-cell,
.inbox-row > .dashboard-priority-form { grid-column: 1; }
.inbox-row > .chev.dashboard-open-task { grid-column: 2; grid-row: 1 / span 4; }
.task-main { grid-template-columns: var(--control-sm) minmax(0, 1fr); }
.task-title { white-space: normal; }
.deadline-cell .badge { padding-left: 0; }
.dashboard-priority-form { max-width: 12rem; }
.thread-workspace { gap: var(--space-5); }
.task-command-actions { display: flex; overflow-x: auto; gap: var(--space-2); padding-bottom: var(--space-2); scrollbar-width: none; }
.task-command-actions::-webkit-scrollbar { display: none; }
.task-action-group,
.task-action-group + .task-action-group { display: flex; width: auto; flex: 0 0 auto; gap: var(--space-1); padding: 0; border: 0; }
.task-action-main { order: -1; }
.task-action-group > form,
.task-actions-aside .task-action-group > form .quick-action,
.task-actions-aside .quick-action { width: auto; }
.task-actions-aside .quick-action { min-height: var(--control-lg); }
.message { grid-template-columns: var(--avatar-md) minmax(0, 1fr); }
.bubble { padding-inline: 0; }
.message::before { left: 1.25rem; }
.type-grid { display: grid; }
.type-card { min-height: 6rem; padding: var(--space-4) 0; border-right: 0; border-bottom: .0625rem solid var(--color-separator); }
.type-card:last-child { border-bottom: 0; }
.wizard-progress strong { display: none; }
.wizard-dot span { display: grid; }
.tile-question,
.order-deadline-section,
.final-review-section { padding-block: var(--space-5); }
.team-simple-list,
.users-directory,
.news-admin,
.template-library,
.automation-rule-list,
.automation-delivery,
.smtp-status-card { margin-inline: calc(var(--page-gutter) * -1); }
.team-simple-row,
.team-simple-labels,
.users-directory .section-heading,
.news-admin .section-heading,
.template-library .surface-heading,
.automation-list-head,
.smtp-status-card { padding-inline: var(--page-gutter); }
.wall-main { width: 100%; }
.wall-post-head,
.wall-post-copy { padding-inline: 0; }
.wall-post-images { border-radius: var(--radius-sm); }
.automation-hero { grid-template-columns: minmax(0, 1fr); }
.automation-hero-icon,
.automation-hero > div > span,
.automation-hero p { display: none; }
.automation-hero-actions { display: grid; grid-template-columns: 1fr; }
.automation-tabs { gap: var(--space-5); overflow-x: auto; }
.automation-tabs a { white-space: nowrap; }
.automation-rule-open { grid-template-columns: var(--control-sm) minmax(0, 1fr) var(--control-sm); padding-inline: var(--page-gutter); }
.automation-rule-preview { display: none; }
.profile-identity-card { grid-template-columns: var(--avatar-lg) minmax(0, 1fr); padding-right: 0; }
.profile-identity-tags { display: none; }
.profile-photo-actions { padding-top: var(--space-4); }
.profile-setting-section { padding-block: var(--space-5); }
.profile-setting-head > span { display: none; }
.profile-setting-head { grid-template-columns: 1fr; }
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="tel"],
select:not([multiple]),
textarea { font-size: 1rem; }
.form-actions,
.wizard-actions { align-items: stretch; }
.calendar-event-dialog,
.modal-backdrop,
.action-panel.task-modal-panel,
.admin-user-modal,
.news-detail-modal,
.news-editor-modal,
.automation-rule-modal,
.smtp-settings-modal { place-items: end center; padding: 0; }
.modal,
.calendar-dialog-card,
.user-account-dialog-card,
.news-detail-dialog-card,
.news-editor-dialog-card,
.automation-rule-dialog,
.smtp-settings-dialog,
.template-dialog-card,
.task-modal-panel > .form-grid {
width: 100%;
max-height: 92dvh;
border-width: .0625rem 0 0;
border-radius: var(--radius-panel) var(--radius-panel) 0 0;
}
.calendar-dialog-actions,
.user-account-actions > div,
.news-editor-actions,
.automation-rule-actions,
.smtp-settings-actions,
.template-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; }
.calendar-dialog-actions .btn,
.user-account-actions .btn,
.news-editor-actions .btn,
.automation-rule-actions .btn,
.smtp-settings-actions .btn,
.template-dialog-actions .btn { width: 100%; }
.qr-generator { gap: var(--space-8); }
.qr-generator-panel { padding-bottom: var(--space-6); }
.qr-options,
.qr-results-head { align-items: stretch; flex-direction: column; }
.qr-color-control { width: 100%; }
.qr-generate-btn { width: 100%; }
.qr-bulk-actions { display: grid; grid-template-columns: 1fr 1fr; }
.qr-bulk-actions .btn { white-space: normal; }
.qr-result-grid { grid-template-columns: 1fr; }
}

/* v126 — unified information architecture, dialogs and temporal controls */
.app-topbar {
height: var(--topbar-height);
padding-inline: var(--page-gutter);
background: color-mix(in srgb, var(--color-surface) 94%, transparent);
}
.topbar-main { min-width: var(--control-md); }
.topbar-page-title,
.topbar-page-context { display: none !important; }

.container { padding-top: var(--space-8); }
.page-header {
display: flex;
min-height: 6.5rem;
align-items: flex-start;
justify-content: space-between;
gap: var(--space-6);
margin: 0 0 var(--space-8);
padding: 0 0 var(--space-6);
}
.page-header-copy { min-width: 0; }
.page-header h1 {
margin: 0;
font-size: clamp(var(--font-size-7), 3vw, var(--font-size-8));
line-height: var(--line-tight);
letter-spacing: -.035em;
}
.page-header p {
max-width: 42rem;
margin: var(--space-2) 0 0;
color: var(--color-label-secondary);
font-size: var(--font-size-3);
}
.page-header-actions {
display: flex;
flex: 0 0 auto;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
gap: var(--space-2);
}
.page-header-actions .page-head,
.page-header-actions .gallery-head { margin: 0; }
.page-header-actions .gallery-head:empty { display: none; }
.dashboard-layout,
.automation-page { gap: var(--space-8); }
.thread-top { display: none; }
.thread-container { margin-top: 0; }
.page-task .page-header { max-width: var(--thread-max); margin-inline: auto; }
.page-task .page-header h1 { font-size: clamp(var(--font-size-6), 2.5vw, var(--font-size-7)); }
.page-gallery .gallery-library > .gallery-breadcrumbs { margin-top: 0; }
.qr-generator-panel { padding-top: 0; }

/* Every modal uses the same title/body/footer rhythm. */
.calendar-event-dialog { padding: var(--space-6); }
.app-dialog,
#calendarEventForm,
#calendarResizeForm {
display: flex;
width: min(100%, var(--modal-max));
max-height: min(52rem, calc(100dvh - (var(--space-12) * 2)));
flex-direction: column;
overflow: hidden;
padding: 0;
}
.app-dialog-header,
#calendarEventForm > .calendar-dialog-head,
#calendarResizeForm > .calendar-dialog-head {
position: sticky;
z-index: 4;
top: 0;
display: grid;
min-height: 4rem;
grid-template-columns: minmax(0, 1fr) var(--control-md);
align-items: center;
gap: var(--space-4);
margin: 0;
padding: var(--space-3) var(--space-6);
border-bottom: .0625rem solid var(--color-separator);
background: color-mix(in srgb, var(--color-surface) 94%, transparent);
backdrop-filter: blur(1rem);
}
.app-dialog-header > span:first-child,
#calendarEventForm > .calendar-dialog-head > span:first-child,
#calendarResizeForm > .calendar-dialog-head > span:first-child { display: none; }
.app-dialog-header > div,
#calendarEventForm > .calendar-dialog-head > div,
#calendarResizeForm > .calendar-dialog-head > div { min-width: 0; }
.app-dialog-header h2,
#calendarEventForm .calendar-dialog-head h2,
#calendarResizeForm .calendar-dialog-head h2 {
overflow: hidden;
margin: 0;
font-size: var(--font-size-5);
line-height: var(--line-title);
text-overflow: ellipsis;
white-space: nowrap;
}
.app-dialog-header p,
.app-dialog-header time,
#calendarEventForm .calendar-dialog-head p,
#calendarResizeForm .calendar-dialog-head p {
display: block;
margin: var(--space-1) 0 0;
color: var(--color-label-secondary);
font-size: var(--font-size-1);
}
.app-dialog-header > button,
#calendarEventForm > .calendar-dialog-head > button,
#calendarResizeForm > .calendar-dialog-head > button {
display: grid;
width: var(--control-md);
height: var(--control-md);
place-items: center;
border: 0;
border-radius: var(--radius-pill);
background: var(--color-surface-secondary);
color: var(--color-label-secondary);
}
.app-dialog-header > button:hover,
#calendarEventForm > .calendar-dialog-head > button:hover,
#calendarResizeForm > .calendar-dialog-head > button:hover { background: var(--color-surface-tertiary); color: var(--color-label); }
.app-dialog-body {
min-height: 0;
flex: 1 1 auto;
overflow: auto;
padding: var(--space-6);
}
.user-account-body,
.news-editor-body,
.template-dialog-body,
.automation-rule-body,
.smtp-settings-body { padding: var(--space-6); }
.app-dialog-footer,
#calendarEventForm > .calendar-dialog-actions,
#calendarResizeForm > .calendar-dialog-actions {
position: sticky;
z-index: 4;
bottom: 0;
display: flex;
min-height: 4.5rem;
align-items: center;
justify-content: flex-end;
gap: var(--space-2);
margin: 0;
padding: var(--space-3) var(--space-6);
border-top: .0625rem solid var(--color-separator);
background: color-mix(in srgb, var(--color-surface) 94%, transparent);
backdrop-filter: blur(1rem);
}
.user-account-actions > div { display: flex; justify-content: flex-end; gap: var(--space-2); }
#calendarEventForm > .field,
#calendarResizeForm > .field,
#calendarResizeForm > .calendar-resize-summary { margin: var(--space-6) var(--space-6) 0; }
#calendarEventForm > .calendar-dialog-actions,
#calendarResizeForm > .calendar-dialog-actions { margin-top: var(--space-6); }
.news-detail-dialog-card { padding: 0; }
.news-detail-dialog-card > :not(.app-dialog-header) { margin-inline: var(--space-6); }
.news-detail-dialog-card > .news-detail-cover { margin-top: var(--space-6); }
.news-detail-dialog-card > :last-child { margin-bottom: var(--space-6); }
.modal-head { min-height: 3.5rem; margin: 0; padding: var(--space-2) var(--space-3); border-bottom: .0625rem solid var(--color-separator); }
.action-panel.task-modal-panel { place-items: center; padding: var(--space-6); }
.task-modal-panel > .form-grid {
display: flex;
width: min(100%, var(--modal-max));
max-height: min(52rem, calc(100dvh - (var(--space-12) * 2)));
flex-direction: column;
gap: 0;
overflow: auto;
padding: 0;
}
.task-modal-panel .compose-head {
position: sticky;
z-index: 3;
top: 0;
display: flex;
min-height: 4rem;
align-items: center;
justify-content: space-between;
gap: var(--space-4);
margin: 0;
padding: var(--space-3) var(--space-6);
background: color-mix(in srgb, var(--color-surface) 94%, transparent);
backdrop-filter: blur(1rem);
}
.task-modal-panel .compose-head > strong { font-size: var(--font-size-5); }
.task-modal-panel .compose-head > strong > i { display: none; }
.task-modal-panel > .form-grid > :not(.compose-head):not(.form-actions):not(input[type="hidden"]) { margin: var(--space-6) var(--space-6) 0; }
.task-modal-panel .form-actions {
position: sticky;
z-index: 3;
bottom: 0;
min-height: 4.5rem;
justify-content: flex-end;
margin: var(--space-6) 0 0;
padding: var(--space-3) var(--space-6);
border-top: .0625rem solid var(--color-separator);
background: color-mix(in srgb, var(--color-surface) 94%, transparent);
backdrop-filter: blur(1rem);
}
.smtp-section-heading p,
.smtp-security-note small { display: none; }

/* Automation form: one reading axis, four compact steps. */
.automation-rule-dialog { width: min(100%, 64rem); }
.automation-rule-body { display: block; padding: 0; }
.automation-form-section {
display: block;
padding: var(--space-6);
border-bottom: .0625rem solid var(--color-separator);
}
.automation-form-section:last-child { border-bottom: 0; }
.automation-section-title {
display: flex;
align-items: center;
gap: var(--space-3);
margin-bottom: var(--space-5);
}
.automation-section-title > span {
width: 1.75rem;
height: 1.75rem;
flex: 0 0 1.75rem;
background: var(--color-surface-secondary);
color: var(--color-label-secondary);
}
.automation-section-title h3 { font-size: var(--font-size-4); }
.automation-form-grid { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.automation-condition-row { grid-template-columns: 1.15fr .65fr 1.15fr; }
.automation-condition-row:not(.has-condition) { grid-template-columns: minmax(0, 1fr); }
.automation-condition-row:not(.has-condition) > :not(:first-child) { display: none; }
.automation-section-content { min-width: 0; }
.automation-recipient-layout { display: grid; gap: var(--space-5); }
.automation-recipient-group { margin: 0; }
.automation-recipient-group + .automation-recipient-group { padding-top: var(--space-4); border-top: .0625rem solid var(--color-separator); }
.automation-recipient-group legend { margin-bottom: var(--space-3); font-size: var(--font-size-2); }
.automation-recipient-options { gap: var(--space-2); }
.automation-recipient-options span { border-radius: var(--radius-control); }
.automation-copy-options {
border-top: .0625rem solid var(--color-separator);
border-bottom: .0625rem solid var(--color-separator);
}
.automation-copy-options > summary {
min-height: var(--control-lg);
padding: var(--space-3) 0;
color: var(--color-accent);
font-weight: var(--weight-semibold);
}
.automation-copy-options > div { display: grid; gap: var(--space-5); padding-bottom: var(--space-5); }
.automation-specific-users,
.automation-attachment-field { margin-top: 0; }
.automation-message-editor { display: grid; gap: var(--space-4); }
.automation-tags { margin-top: 0; }
.automation-tags button span { display: none; }
.automation-tags button { padding: var(--space-2); }
.smtp-status-card > div > small { display: none; }
.automation-empty h3 + .btn { margin-top: var(--space-5); }

/* One calendar grammar everywhere a date or range is selected. */
:is(.deadline-picker, .task-deadline-picker, .compact-calendar-picker) {
width: min(100%, 30rem);
margin-inline: 0;
padding: var(--space-4);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
}
:is(.deadline-picker-head, .task-deadline-head) {
display: grid;
min-height: var(--control-md);
grid-template-columns: var(--control-md) minmax(0, 1fr) var(--control-md);
align-items: center;
margin-bottom: var(--space-2);
text-align: center;
}
:is(.deadline-picker-head, .task-deadline-head) button {
display: grid;
width: var(--control-md);
height: var(--control-md);
place-items: center;
border: 0;
border-radius: var(--radius-pill);
background: transparent;
color: var(--color-label-secondary);
}
:is(.deadline-picker-head, .task-deadline-head) button:hover { background: var(--color-surface-secondary); color: var(--color-label); }
:is(.deadline-weekdays, .task-deadline-weekdays, .deadline-days, .task-deadline-days) { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
:is(.deadline-weekdays, .task-deadline-weekdays) span {
padding: var(--space-2) 0;
color: var(--color-label-tertiary);
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
text-align: center;
}
:is(.deadline-days, .task-deadline-days) button {
display: grid;
width: 2.25rem;
height: 2.25rem;
min-width: 2.25rem;
min-height: 2.25rem;
place-items: center;
justify-self: center;
padding: 0;
border: 0;
border-radius: var(--radius-pill);
background: transparent;
color: var(--color-label);
font-size: var(--font-size-2);
}
:is(.deadline-days, .task-deadline-days) button:hover { background: var(--color-surface-secondary); }
:is(.deadline-days, .task-deadline-days) button.is-selected { background: var(--color-accent); color: var(--color-label-inverse); }
:is(.deadline-days, .task-deadline-days) button.is-outside { color: var(--color-label-quaternary); }
:is(.deadline-time-row, .task-deadline-selection) { margin-top: var(--space-3); padding-top: var(--space-3); border-top: .0625rem solid var(--color-separator); }
.compact-temporal-field,
.compact-temporal-range { width: min(100%, 38rem); }
.compact-temporal-field input[type="date"],
.compact-temporal-field input[type="datetime-local"],
.compact-temporal-range input[type="datetime-local"] { background-color: var(--color-surface); }

@media (max-width: 62rem) {
.page-header { min-height: 5.5rem; }
}

@media (max-width: 42rem) {
.app-topbar { height: var(--topbar-height); }
.container { padding-top: var(--space-5); }
.page-header {
min-height: 0;
align-items: stretch;
flex-direction: column;
gap: var(--space-4);
margin-bottom: var(--space-6);
padding-bottom: var(--space-5);
}
.page-header h1 { font-size: var(--font-size-7); }
.page-header-actions { justify-content: flex-start; }
.page-header-actions .btn { flex: 1 1 auto; }
.page-header-actions .gallery-head { width: 100%; }
.page-header-actions .gallery-add-drawer,
.page-header-actions .gallery-add-drawer > summary { width: 100%; }
.calendar-event-dialog { place-items: end center; padding: 0; }
.app-dialog,
#calendarEventForm,
#calendarResizeForm {
width: 100%;
max-height: 94dvh;
border-width: .0625rem 0 0;
border-radius: var(--radius-panel) var(--radius-panel) 0 0;
}
.app-dialog-header,
#calendarEventForm > .calendar-dialog-head,
#calendarResizeForm > .calendar-dialog-head { padding-inline: var(--space-4); }
.app-dialog-body,
.user-account-body,
.news-editor-body,
.template-dialog-body,
.automation-rule-body,
.smtp-settings-body { padding: var(--space-4); }
.automation-rule-body { padding: 0; }
.app-dialog-footer,
#calendarEventForm > .calendar-dialog-actions,
#calendarResizeForm > .calendar-dialog-actions { padding: var(--space-3) var(--space-4); }
.app-dialog-footer,
.app-dialog-footer > div { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.app-dialog-footer .btn { width: 100%; }
.automation-form-section { padding: var(--space-5) var(--space-4); }
.automation-form-grid,
.automation-condition-row.has-condition { grid-template-columns: minmax(0, 1fr); }
.automation-specific-users > div { grid-template-columns: minmax(0, 1fr); }
.automation-recipient-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.automation-recipient-options span { width: 100%; }
:is(.deadline-picker, .task-deadline-picker, .compact-calendar-picker) { width: 100%; padding: var(--space-3); }
.compact-temporal-range { grid-template-columns: minmax(0, 1fr); }
.action-panel.task-modal-panel { place-items: end center; padding: 0; }
.task-modal-panel > .form-grid {
width: 100%;
max-height: 94dvh;
border-width: .0625rem 0 0;
border-radius: var(--radius-panel) var(--radius-panel) 0 0;
}
.task-modal-panel .compose-head,
.task-modal-panel .form-actions { padding-inline: var(--space-4); }
.task-modal-panel > .form-grid > :not(.compose-head):not(.form-actions):not(input[type="hidden"]) { margin-inline: var(--space-4); }
}

/* Unified interactive item lists
Orders, users, news, templates and automation rules share one row model. */
.app-item-list { display: grid; min-width: 0; }
.app-item-row {
position: relative;
min-width: 0;
border-bottom: .0625rem solid var(--color-separator);
background: var(--color-surface);
transition: background-color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);
}
.app-item-row:last-child { border-bottom: 0; }
.app-item-row:hover,
.app-item-row:focus-within { background: var(--color-surface-secondary); }
.app-item-row:focus-visible { z-index: 1; outline: 0; box-shadow: inset 0 0 0 .1875rem var(--color-focus-ring); }
.app-item-open,
.app-item-row:hover .app-item-open,
.app-item-row:focus-within .app-item-open { background: transparent; }
.app-item-copy { min-width: 0; }
.app-item-title { min-width: 0; }
.app-item-description,
.app-item-meta { min-width: 0; }
.app-item-leading { flex: 0 0 auto; }
.app-item-handle {
display: grid;
width: var(--control-sm);
height: auto;
min-height: var(--control-md);
align-self: stretch;
place-items: center;
color: var(--color-label-quaternary);
cursor: grab;
touch-action: none;
}
.app-item-handle:active { cursor: grabbing; }
.app-item-chevron {
display: grid;
width: var(--control-sm);
height: var(--control-sm);
place-items: center;
border-radius: var(--radius-pill);
color: var(--color-label-tertiary);
transform: none !important;
transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
}
.app-item-row:hover .app-item-chevron,
.app-item-row:focus-within .app-item-chevron { background: var(--color-surface); color: var(--color-label); }
.app-item-actions {
position: relative;
z-index: 1;
display: flex;
align-items: center;
gap: var(--space-1);
padding-right: 0;
padding-left: var(--space-3);
}

/* The row owns horizontal spacing, so its hover surface always reaches edge to edge. */
.admin-user-card,
.news-admin-row,
.automation-rule-row { padding-inline: var(--space-5); }
.admin-user-open,
.news-admin-open,
.automation-rule-open { padding-inline: 0; }
.admin-user-actions,
.news-admin-actions,
.automation-row-actions { padding-right: 0; }
.template-card { padding-inline: var(--space-5); }
.template-card.is-editing,
.template-card.is-editing:hover,
.template-card.is-editing:focus-within { background: var(--color-accent-tint); }

@media (max-width: 42rem) {
.admin-user-card,
.news-admin-row,
.template-card,
.automation-rule-row { padding-inline: var(--page-gutter); }
.app-item-row-order { padding-inline: 0; }
.admin-user-open,
.news-admin-open,
.automation-rule-open { padding-inline: 0; }
.app-item-actions { padding-right: 0; padding-left: var(--space-2); }
/* Keep every template control in one row: the previous auto-placement sent
the delete button below the drag handle and made each item unnecessarily tall. */
.template-card { grid-template-columns: var(--control-sm) var(--control-md) minmax(0, 1fr) var(--control-sm); grid-template-rows: minmax(var(--control-md), auto); align-items: center; gap: var(--space-2); padding-block: var(--space-4); }
.template-card .template-drag-handle { grid-column: 1; grid-row: 1; align-self: center; min-height: var(--control-sm); }
.template-card .template-type-icon { grid-column: 2; grid-row: 1; }
.template-card .template-card-copy { grid-column: 3; grid-row: 1; }
.template-card .template-open-hint { display: none !important; }
.template-card .schema-card-actions { grid-column: 4; grid-row: 1; align-self: center; padding: 0; }
.template-card .schema-card-actions form { display: grid; }
.template-card .schema-card-actions .icon-action { width: var(--control-sm); height: var(--control-sm); }
.automation-row-actions { padding-bottom: var(--space-3); }
.notif-delete { opacity: 1; }
.notif-item-open { padding-left: var(--space-3); }
}

/* Topbar popovers become touch-friendly bottom sheets on phones. */
@media (max-width: 42rem) {
body.notification-drawer-open { overflow: hidden; }
body.notification-drawer-open .app-topbar { -webkit-backdrop-filter: none; backdrop-filter: none; }
.header-tools { gap: var(--space-1); }
.user-trigger { width: var(--control-md); padding: var(--space-1); justify-content: center; }
.user-trigger-meta,
.user-trigger-chevron { display: none; }
.top-popover-backdrop { position: fixed; z-index: 60; inset: 0 auto 0 0; display: block; width: 100vw; border: 0; background: var(--color-overlay); cursor: default; animation: top-popover-backdrop-in var(--duration-standard) var(--ease-standard) both; }
.top-popover .popover-menu { position: fixed; z-index: 70; inset: auto auto 0 0; width: 100vw; max-width: none; max-height: min(88dvh, 46rem); border-width: .0625rem 0 0; border-radius: var(--radius-panel) var(--radius-panel) 0 0; box-shadow: 0 -1rem 3rem rgba(18, 22, 33, .16); transform-origin: bottom center; animation-name: top-sheet-in; }
.notification-center,
.account-menu { width: 100%; }
.account-menu { display: flex; flex-direction: column; }
.account-menu-head,
.account-menu-footer { flex: 0 0 auto; }
.notif-head,
.account-menu-head { padding: var(--space-4); }
.notif-toolbar { padding-inline: var(--space-2); }
.notif-toolbar-action { min-height: var(--control-md); padding-inline: var(--space-2); }
.notif-item-open { grid-template-columns: .375rem var(--control-md) minmax(0, 1fr); padding: var(--space-4) 0 var(--space-4) var(--space-3); }
.notif-item-title { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
.notif-item-title time { order: 2; }
.notif-delete-form { padding-right: var(--space-1); }
.notif-delete { width: var(--control-md); height: var(--control-md); opacity: 1; }
.notif-empty { min-height: 15rem; }
.account-menu-content { min-height: 0; max-height: none; flex: 1 1 auto; overflow: auto; }
.account-menu-footer { padding-bottom: max(var(--space-2), env(safe-area-inset-bottom)); }
.account-menu-link { min-height: 3.5rem; }
}

@keyframes top-sheet-in { from { opacity: .7; transform: translateY(1.5rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes top-popover-backdrop-in { from { opacity: 0; } to { opacity: 1; } }

/* Simpler topbar menus and a full-height notification drawer. */
body.notification-drawer-open { overflow: hidden; }
body.notification-drawer-open .app-topbar { z-index: 130; -webkit-backdrop-filter: none; backdrop-filter: none; }
[data-notification-center] > .top-popover-backdrop { position: fixed; z-index: 120; inset: 0; display: block; width: 100vw; border: 0; background: rgba(0, 0, 0, .28); cursor: default; }
[data-notification-center] > .notification-center { position: fixed; z-index: 130; inset: 0 calc(100% - 100vw) 0 auto; width: min(28rem, 100vw); max-height: none; border: 0; border-left: .0625rem solid var(--color-separator); border-radius: 0; background: var(--color-surface); box-shadow: -.75rem 0 2.5rem rgba(0, 0, 0, .14); -webkit-backdrop-filter: none; backdrop-filter: none; }
@keyframes notification-drawer-in { from { opacity: .65; transform: translateX(2rem); } to { opacity: 1; transform: translateX(0); } }
.notification-center .notif-head { min-height: 5rem; padding: var(--space-4) var(--space-5); }
.notification-center .notif-head-copy { gap: var(--space-1); }
.notification-center .notif-head-copy > strong { font-size: var(--font-size-5); }
.notification-center .notif-toolbar { min-height: 3.25rem; padding: var(--space-2) var(--space-4); background: var(--color-surface); }
.notification-center .notif-toolbar-action { min-height: var(--control-sm); padding: 0 var(--space-2); }
.notification-center .notif-item { grid-template-columns: minmax(0, 1fr) 4.5rem; }
.notification-center .notif-item-open { grid-template-columns: .375rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-4) 0 var(--space-4) var(--space-5); }
.notification-center .notif-unread-mark { margin-top: .45rem; }
.notification-center .notif-item-title { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: var(--space-3); }
.notification-center .notif-item-title strong { white-space: normal; }
.notification-center .notif-delete-form { padding: 0 var(--space-5) 0 var(--space-2); }
.notification-center .notif-delete { width: var(--control-md); height: var(--control-md); opacity: .7; }
.notification-center .notif-item:hover .notif-delete,
.notification-center .notif-item:focus-within .notif-delete,
.notification-center .notif-delete:hover { opacity: 1; }
.notification-center .notif-list { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
.notification-center .notif-empty { min-height: 0; flex: 1 0 auto; }

.user-switcher > .top-popover-backdrop { display: none !important; }
.user-switcher .account-menu { width: min(21rem, calc(100vw - (var(--page-gutter) * 2))); max-height: min(44rem, calc(100dvh - var(--topbar-height) - var(--space-5))); border-radius: var(--radius-control); background: var(--color-surface); box-shadow: var(--shadow-popover); }
.user-switcher .account-menu-head { grid-template-columns: var(--avatar-lg) minmax(0, 1fr) var(--control-sm); gap: var(--space-3); padding: var(--space-4); }
.user-switcher .account-menu-head > div { gap: 0; }
.user-switcher .account-menu-head > div > strong { font-size: var(--font-size-3); }
.user-switcher .account-menu-head > div > span,
.user-switcher .account-menu-head > div > small { overflow: hidden; color: var(--color-label-secondary); font-size: var(--font-size-1); text-overflow: ellipsis; white-space: nowrap; }
.user-switcher .account-menu-content { display: block; padding: var(--space-2); }
.user-switcher .account-menu-section { margin: var(--space-2) calc(var(--space-2) * -1) var(--space-1); padding: var(--space-3) var(--space-4) var(--space-1); border-top: .0625rem solid var(--color-separator); }
.user-switcher .account-menu-link { display: grid; min-height: var(--control-md); grid-template-columns: var(--icon-md) minmax(0, 1fr); gap: var(--space-3); padding: 0 var(--space-3); border-radius: var(--radius-sm); }
.user-switcher .account-menu-link > i { width: var(--icon-md); color: var(--color-label-secondary); text-align: center; }
.user-switcher .account-menu-link > span { display: block; overflow: hidden; font-size: var(--font-size-2); font-weight: var(--weight-medium); text-overflow: ellipsis; white-space: nowrap; }
.user-switcher .account-menu-footer { padding: var(--space-2); background: var(--color-surface); }
.user-switcher .account-menu-link.logout > i { color: var(--color-error); }

/* Plugin registry: plugin views intentionally reuse the global design system. */
.plugin-admin-list { display: grid; gap: var(--space-4); }
.plugin-admin-card { display: grid; grid-template-columns: var(--control-lg) minmax(0, 1fr) auto; align-items: center; gap: var(--space-5); padding: var(--space-5); border-radius: var(--radius-surface); }
.plugin-admin-card.is-disabled { background: var(--color-surface-secondary); }
.plugin-admin-icon { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-accent); color: var(--color-label-inverse); font-size: var(--font-size-5); }
.plugin-admin-card.is-disabled .plugin-admin-icon { background: var(--color-surface-tertiary); color: var(--color-label-secondary); }
.plugin-admin-copy { display: grid; min-width: 0; gap: var(--space-2); }
.plugin-admin-copy > div { display: flex; align-items: center; gap: var(--space-3); }
.plugin-admin-copy h2, .plugin-admin-copy p { margin: 0; }
.plugin-admin-copy h2 { font-size: var(--font-size-4); }
.plugin-admin-copy p, .plugin-admin-copy > a { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.plugin-admin-actions { display: flex; align-items: center; gap: var(--space-2); }
.plugin-admin-actions form { margin: 0; }
.plugin-access-selection { display: grid; gap: var(--space-5); }
.plugin-access-selection fieldset { min-width: 0; padding: 0; border: 0; }
.plugin-access-selection legend { margin-bottom: var(--space-3); font-weight: var(--weight-semibold); }
.plugin-access-selection .check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.plugin-access-selection label { display: flex; min-width: 0; align-items: center; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-sm); background: var(--color-surface-secondary); }
@media (max-width: 48rem) { .plugin-admin-card { grid-template-columns: var(--control-lg) minmax(0, 1fr); } .plugin-admin-actions { grid-column: 1 / -1; flex-wrap: wrap; } .plugin-access-selection .check-grid { grid-template-columns: 1fr; } }

/* Profile settings follow the same full-width clickable-row model as administration lists. */
.profile-page-simple { width: min(100%, 64rem); }
.profile-summary-simple { display: flex; align-items: center; gap: var(--space-5); padding: var(--space-2) 0 var(--space-8); }
.profile-summary-simple .profile-avatar { width: 5rem; height: 5rem; }
.profile-summary-simple > div { min-width: 0; }
.profile-summary-simple h2 { margin: 0; font-size: var(--font-size-6); }
.profile-summary-simple p { margin: var(--space-1) 0 0; color: var(--color-label-secondary); }
.profile-summary-simple span { display: block; margin-top: var(--space-2); color: var(--color-label-tertiary); font-size: var(--font-size-2); }
.profile-settings-list { border-block: .0625rem solid var(--color-separator); }
.profile-setting-row.app-item-row { display: grid; width: 100%; min-height: 6rem; grid-template-columns: var(--control-md) minmax(0, 1fr) var(--control-sm); align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-5); border: 0; border-bottom: .0625rem solid var(--color-separator); color: var(--color-label); text-align: left; }
.profile-setting-row.app-item-row:last-child { border-bottom: 0; }
.profile-setting-icon { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-control); background: var(--color-brand-tint); color: var(--color-brand); }
.profile-setting-row .app-item-copy { display: grid; gap: var(--space-1); }
.profile-setting-row .app-item-title strong { font-size: var(--font-size-3); }
.profile-setting-row .app-item-description { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.profile-setting-row .app-item-meta { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.profile-dialog { width: min(100%, 34rem); }
.profile-modal-alert { margin: var(--space-4) var(--space-6) 0; }
.profile-photo-dialog-body { display: grid; justify-items: center; text-align: center; }
.profile-photo-dialog-body .profile-avatar { width: 6rem; height: 6rem; }
.profile-photo-dialog-body > p { margin: var(--space-4) 0; color: var(--color-label-secondary); }
.profile-photo-upload-form,
.profile-photo-delete-form { width: min(100%, 22rem); }
.profile-photo-delete-form { margin-top: var(--space-2); }
.profile-photo-picker { width: 100%; }
.profile-photo-picker input { position: absolute; width: .0625rem; height: .0625rem; opacity: 0; }
.profile-photo-delete-form .btn { width: 100%; }
.profile-password-fields { display: grid; gap: var(--space-4); }

/* Dialogs keep a restrained corner radius throughout the application. */
.modal,
.calendar-dialog-card,
.task-modal-panel > .form-grid,
.app-dialog,
#calendarEventForm,
#calendarResizeForm { border-radius: var(--radius-control); }

@media (max-width: 42rem) {
[data-notification-center] > .notification-center { inset: 0 calc(100% - 100vw) 0 auto; width: 100vw; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
.notification-center .notif-head { padding-inline: var(--space-4); }
.notification-center .notif-item-open { padding-left: var(--space-4); }
.notification-center .notif-delete-form { padding-right: var(--space-4); }
.user-switcher .account-menu { position: absolute; inset: calc(100% + var(--space-2)) 0 auto auto; display: block; width: min(21rem, calc(100vw - (var(--space-4) * 2))); max-height: calc(100dvh - var(--topbar-height) - (var(--space-4) * 2)); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); animation: top-popover-in var(--duration-standard) var(--ease-standard) both; }
.user-switcher .account-menu-content { max-height: calc(100dvh - 15rem); overflow: auto; }
.profile-summary-simple { gap: var(--space-4); padding-bottom: var(--space-6); }
.profile-summary-simple .profile-avatar { width: var(--avatar-lg); height: var(--avatar-lg); }
.profile-summary-simple h2 { font-size: var(--font-size-5); }
.profile-setting-row.app-item-row { min-height: 5.5rem; grid-template-columns: var(--control-md) minmax(0, 1fr) var(--control-sm); gap: var(--space-3); padding-inline: var(--space-3); }
.profile-setting-row .app-item-meta { display: none; }
.modal,
.calendar-dialog-card,
.task-modal-panel > .form-grid,
.app-dialog,
#calendarEventForm,
#calendarResizeForm { border-radius: var(--radius-control) var(--radius-control) 0 0; }
}

/* Role-aware work overview, shared filters and simplified order rows. */
.app-filter-tabs { display: flex; width: 100%; min-width: max-content; align-items: stretch; gap: var(--space-6); overflow-x: auto; border-bottom: .0625rem solid var(--color-separator); scrollbar-width: none; }
.app-filter-tabs::-webkit-scrollbar { display: none; }
.app-filter-tabs .app-filter-tab { position: relative; display: inline-flex; min-height: 3.25rem; flex: 0 0 auto; align-items: center; gap: var(--space-2); padding: 0; border-radius: 0; background: transparent; color: var(--color-label-secondary); box-shadow: none; font-size: var(--font-size-3); font-weight: var(--weight-semibold); white-space: nowrap; }
.app-filter-tabs .app-filter-tab::after { position: absolute; right: 0; bottom: -.0625rem; left: 0; display: block; height: .125rem; background: var(--color-label); content: ""; opacity: 0; }
.app-filter-tabs .app-filter-tab:hover,
.app-filter-tabs .app-filter-tab:is(.active, .is-active) { background: transparent; color: var(--color-label); box-shadow: none; }
.app-filter-tabs .app-filter-tab:is(.active, .is-active)::after { opacity: 1; }
.app-filter-tabs .app-filter-tab > strong { display: grid; min-width: var(--space-6); height: var(--space-6); place-items: center; padding: 0 var(--space-1); border-radius: var(--radius-pill); background: var(--color-surface-tertiary); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.app-filter-tabs .app-filter-tab:is(.active, .is-active) > strong { background: var(--color-label); color: var(--color-label-inverse); }
.orders-commandbar { margin-bottom: var(--space-8); overflow: visible; border: 0; }
.automation-tabs { width: 100%; gap: var(--space-6); padding: 0; border-radius: 0; background: transparent; }
.automation-tabs .app-filter-tab { padding: 0; border-radius: 0; }

.inbox-toolbar { min-height: var(--control-md); margin-bottom: var(--space-2); }
.inbox-group-count { color: var(--color-label-tertiary); font-size: var(--font-size-2); }
.inbox-table-head { display: none; }
.inbox-row,
.inbox-row.has-priority-control { min-height: 5.5rem; gap: var(--space-4); padding: var(--space-3) var(--space-5); }
.inbox-row { grid-template-columns: minmax(17rem, 2.8fr) minmax(7.5rem, .9fr) minmax(5rem, .65fr) minmax(7rem, .8fr) minmax(7.5rem, .8fr) var(--control-sm); }
.inbox-row.has-priority-control { grid-template-columns: minmax(17rem, 2.8fr) minmax(7.5rem, .9fr) minmax(5rem, .65fr) minmax(7rem, .8fr) minmax(7.5rem, .8fr) var(--control-sm); }
.task-main { display: grid; min-width: 0; grid-template-columns: .5rem minmax(0, 1fr); align-items: start; gap: var(--space-3); }
.task-indicator { display: block; width: .5rem; height: .5rem; border-radius: var(--radius-pill); background: var(--color-label-quaternary); box-shadow: 0 0 0 .1875rem color-mix(in srgb, currentColor 8%, transparent); color: var(--color-label-quaternary); }
.task-main .task-indicator { margin-top: .4rem; }
.task-indicator.tone-danger { background: var(--color-error); color: var(--color-error); }
.task-indicator.tone-warning { background: #ff8a00; color: #ff8a00; }
.task-indicator.tone-accent { background: var(--color-blue); color: var(--color-blue); }
.task-indicator.tone-success { background: var(--color-success); color: var(--color-success); }
.task-indicator.tone-neutral { background: var(--color-label-quaternary); color: var(--color-label-quaternary); }
.login-history { overflow: hidden; }
.login-history-head,
.login-history-row { display: grid; grid-template-columns: minmax(12rem, 1.2fr) minmax(16rem, 1.7fr) minmax(8rem, .9fr) minmax(11rem, 1fr); align-items: center; gap: var(--space-4); }
.login-history-head { min-height: var(--control-md); padding: 0 var(--space-5); border-bottom: .0625rem solid var(--color-separator); color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); letter-spacing: .04em; text-transform: uppercase; }
.login-history-row { min-height: 4.5rem; padding: var(--space-3) var(--space-5); border-bottom: .0625rem solid var(--color-separator); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.login-history-row:last-child { border-bottom: 0; }
.login-history-row > strong { color: var(--color-label); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.login-history-id { color: var(--color-label-tertiary); }
.login-history-time { justify-self: end; color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-regular); white-space: nowrap; }
.login-history-empty { display: flex; min-height: 10rem; align-items: center; justify-content: center; gap: var(--space-4); color: var(--color-label-secondary); text-align: left; }
.login-history-empty > i { color: var(--color-label-tertiary); font-size: var(--font-size-6); }
.login-history-empty > div { display: grid; gap: var(--space-1); }
.login-history-empty strong { color: var(--color-label); }
@media (max-width: 42rem) { .login-history-head { display: none; } .login-history-row { grid-template-columns: minmax(0, 1fr) max-content; gap: var(--space-1) var(--space-3); padding-inline: var(--space-4); } .login-history-row > strong { grid-column: 1; grid-row: 1; } .login-history-email { grid-column: 1; grid-row: 2; } .login-history-id { grid-column: 1; grid-row: 3; } .login-history-time { grid-column: 2; grid-row: 1 / span 3; } }
.dashboard-deadline-legend { display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-4); row-gap: var(--space-2); margin: calc(var(--space-5) * -1) 0 var(--space-5); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.dashboard-deadline-legend-item { display: inline-flex; align-items: center; gap: var(--space-2); }
.dashboard-deadline-legend .task-indicator { display: inline-block; flex: 0 0 auto; width: .4375rem; height: .4375rem; margin-left: var(--space-2); }
.dashboard-deadline-legend .task-indicator:first-child { margin-left: 0; }
.dashboard-priority-form select { min-width: 8.75rem; padding-right: var(--space-3); border: .0625rem solid transparent; transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.dashboard-priority-form:hover select { border-color: color-mix(in srgb, currentColor 20%, transparent); }
.dashboard-priority-form select:focus-visible { border-color: var(--color-accent); box-shadow: var(--focus-ring); outline: 0; }
/* Dashboard rows retain a table hierarchy: task urgency is the only color-coded row signal. */
.dashboard-table .inbox-table-head { display: grid; min-height: var(--control-md); align-items: center; padding: 0; border-bottom: .0625rem solid var(--color-separator); color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); letter-spacing: .04em; text-transform: uppercase; }
.dashboard-table .inbox-table-head,
.dashboard-table .inbox-row { grid-template-columns: minmax(12rem, 1fr) 5.75rem 6.5rem 7rem 6.5rem; column-gap: var(--space-4); }
.dashboard-table .inbox-table-head.has-priority-control,
.dashboard-table .inbox-row.has-priority-control { grid-template-columns: minmax(12rem, 1fr) 5.75rem 6.5rem 7rem 6.5rem 9rem; }
.dashboard-table .inbox-row:hover,
.dashboard-table .inbox-row:focus-within { background: transparent; }
.dashboard-table .status-cell .chip { display: block; min-height: 0 !important; padding: 0 !important; border: 0; border-radius: 0; background: transparent; color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-regular); line-height: var(--line-body); }
.dashboard-table .deadline-cell .badge,
.dashboard-table .deadline-cell .badge.deadline-overdue,
.dashboard-table .deadline-cell .badge.deadline-soon,
.dashboard-table .deadline-cell .badge.deadline-upcoming { min-height: 0; padding: 0; background: transparent; color: var(--color-label-secondary) !important; font-size: var(--font-size-2); font-weight: var(--weight-regular) !important; }
.page-orders .dashboard-priority-form.priority-none { color: var(--color-label-secondary); }
.page-orders .dashboard-priority-form.priority-low { color: var(--color-blue); }
.page-orders .dashboard-priority-form.priority-medium { color: var(--color-warning); }
.page-orders .dashboard-priority-form.priority-high { color: var(--color-error); }
.page-orders .dashboard-priority-form.priority-none select { background-color: var(--color-surface-secondary); }
.page-orders .dashboard-priority-form.priority-low select { border-color: color-mix(in srgb, var(--color-blue) 28%, var(--color-separator)); background-color: var(--color-blue-tint); color: var(--color-blue); }
.page-orders .dashboard-priority-form.priority-medium select { border-color: color-mix(in srgb, var(--color-warning) 28%, var(--color-separator)); background-color: var(--color-warning-tint); color: var(--color-warning); }
.page-orders .dashboard-priority-form.priority-high select { border-color: color-mix(in srgb, var(--color-error) 28%, var(--color-separator)); background-color: var(--color-error-tint); color: var(--color-error); }
@media (max-width: 42rem) { .dashboard-table .inbox-table-head { display: none; } }
.task-main-copy { display: grid; min-width: 0; gap: var(--space-1); }
.task-title-line { display: inline-flex; min-width: 0; align-items: center; gap: var(--space-2); }
.task-title-line .task-title { min-width: 0; }
.dashboard-overdue-warning { display: inline-grid; flex: 0 0 auto; width: 1.5rem; height: 1.5rem; place-items: center; color: var(--color-error); font-size: var(--font-size-3); }
.dashboard-table .deadline-cell { display: flex; align-items: center; gap: var(--space-2); }
.dashboard-table .deadline-cell .badge.deadline-overdue { color: var(--color-error) !important; font-weight: var(--weight-semibold) !important; }
.task-title { color: var(--color-label); font-size: var(--font-size-4); font-weight: var(--weight-bold); letter-spacing: -.012em; white-space: normal; }
.task-requester-meta { overflow: hidden; color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-regular); line-height: var(--line-title); text-overflow: ellipsis; white-space: nowrap; }
.task-department-badge { display: inline-flex; min-height: 0; align-items: baseline; margin-right: calc(var(--space-1) + .125rem); padding: .125rem var(--space-1); border-radius: .1875rem; background: var(--department-badge-color); color: #111827; font-size: var(--font-size-0); font-weight: var(--weight-semibold); line-height: 1; vertical-align: baseline; }
.task-row-details { display: contents; }
.status-cell .chip { min-height: var(--control-sm); padding-inline: var(--space-3); white-space: nowrap; }
.assignees { display: flex; min-width: 0; align-items: center; gap: var(--space-2); }
.assignees .avatar-stack { width: max-content; }
.avatar-more { color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.free-assignee { color: var(--color-error); font-size: var(--font-size-2); white-space: nowrap; }
.deadline-cell .badge { min-height: var(--control-sm); padding: 0; font-size: var(--font-size-2); white-space: nowrap; }
.deadline-cell .badge.deadline-overdue { color: var(--color-error); font-weight: var(--weight-semibold); }
.deadline-cell .badge.deadline-soon { color: var(--color-warning); font-weight: var(--weight-semibold); }
.deadline-cell .badge.deadline-upcoming { color: var(--color-accent); font-weight: var(--weight-semibold); }
.task-priority-readonly { display: flex; align-items: center; }
.priority-badge { display: inline-flex; min-height: var(--control-sm); align-items: center; padding: 0 var(--space-3); border-radius: var(--radius-pill); background: var(--color-surface-secondary); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); white-space: nowrap; }
.priority-badge.priority-low { background: var(--color-blue-tint); color: var(--color-blue); }
.priority-badge.priority-medium { background: var(--color-warning-tint); color: var(--color-warning); }
.priority-badge.priority-high { background: var(--color-error-tint); color: var(--color-error); }
.dashboard-star-form { display: flex; align-items: center; justify-content: center; }
.dashboard-table .inbox-table-head > span:nth-child(2) { text-align: center; }
.dashboard-star-toggle { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; padding: 0; border: 0; border-radius: var(--radius-pill); background: transparent; color: var(--color-label-tertiary); cursor: pointer; font-size: var(--icon-md); transition: color var(--duration-fast) var(--ease-standard); }
.dashboard-star-toggle:hover { color: #d99a1a; }
.dashboard-star-toggle.is-starred { color: #d99a1a; }
.dashboard-star-toggle:focus-visible { box-shadow: var(--focus-ring); outline: 0; }
.dashboard-star-toggle:disabled { cursor: progress; opacity: .55; }
.inbox-row > .dashboard-open-task { justify-self: end; }

.dashboard-layout { gap: 0; }
.dashboard-overview-section { margin-bottom: var(--space-10); }
.dashboard-overview-cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-3); }
.dashboard-overview-card { display: grid; min-height: 8rem; grid-template-rows: auto auto 1fr; gap: var(--space-1); padding: var(--space-5); border: .0625rem solid transparent; border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label); transition: transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard); }
.dashboard-overview-card:hover { box-shadow: var(--shadow-surface); transform: translateY(-.125rem); }
.dashboard-overview-card > strong { align-self: start; font-size: var(--font-size-8); line-height: .95; letter-spacing: -.04em; }
.dashboard-overview-card > span { margin-top: var(--space-3); font-size: var(--font-size-3); font-weight: var(--weight-bold); }
.dashboard-overview-card > small { align-self: end; color: var(--color-label-secondary); font-size: var(--font-size-1); }
.dashboard-overview-card.tone-active { border-color: color-mix(in srgb, var(--color-purple) 14%, transparent); background: var(--color-purple-tint); color: var(--color-label); }
.dashboard-overview-card.tone-active > small { color: var(--color-label-secondary); }
.dashboard-overview-card.tone-new { border-color: color-mix(in srgb, #008f7a 14%, transparent); background: #eefbf8; }
.dashboard-overview-card.tone-work { border-color: color-mix(in srgb, var(--color-blue) 12%, transparent); background: var(--color-blue-tint); }
.dashboard-overview-card.tone-danger { border-color: color-mix(in srgb, var(--color-error) 12%, transparent); background: var(--color-error-tint); }
.dashboard-overview-card.tone-warning { border-color: color-mix(in srgb, var(--color-warning) 14%, transparent); background: var(--color-warning-tint); }
.dashboard-overview-card.tone-success { border-color: color-mix(in srgb, var(--color-success) 12%, transparent); background: var(--color-success-tint); }
.dashboard-attention-intro { display: flex; align-items: end; justify-content: space-between; gap: var(--space-5); margin-bottom: var(--space-4); }
.dashboard-attention-intro h2,
.dashboard-attention-intro p { margin: 0; }
.dashboard-attention-intro h2 { font-size: var(--font-size-6); }
.dashboard-attention-intro p { margin-top: var(--space-1); color: var(--color-label-secondary); }
.dashboard-section-title { display: flex; align-items: center; gap: var(--space-3); }
.dashboard-section-icon { display: grid; width: var(--control-sm); height: var(--control-sm); flex: 0 0 auto; place-items: center; border-radius: var(--radius-control); font-size: var(--icon-sm); }
.dashboard-section-icon.tone-attention { background: var(--color-brand-tint); color: var(--color-brand); }
.dashboard-section-icon.tone-work { background: var(--color-accent-tint); color: var(--color-accent); }
.dashboard-work-group .inbox-group-title { font-size: var(--font-size-6); }
.dashboard-attention-actions { display: flex; flex: 0 0 auto; align-items: center; gap: var(--space-4); }
.dashboard-attention-actions > span { color: var(--color-label-tertiary); font-size: var(--font-size-2); }
.dashboard-attention-group + .dashboard-work-group { margin-top: var(--space-8); }
.dashboard-news-zone { margin-top: var(--space-10); }

/* Task lists use quiet separators, aligned state dots and no field-wide hover fill. */
.dashboard-table .inbox { gap: 0; border-block: 0; }
.dashboard-table .inbox-row { padding-inline: 0; border-bottom: .0625rem solid var(--color-separator); border-radius: 0; }
.dashboard-table .inbox-row:last-child { border-bottom: 0; }
.dashboard-table .task-title { font-size: var(--font-size-4); font-weight: var(--weight-bold); letter-spacing: -.012em; }
.dashboard-table .inbox-row:hover { background: transparent; }
.dashboard-table .inbox-row.is-overdue,
.dashboard-table .inbox-row.is-overdue:hover,
.dashboard-table .inbox-row.is-overdue:focus-within { background: color-mix(in srgb, var(--color-error-tint) 58%, var(--color-surface)); }

/* Team rows combine workload and availability without a table header. */
.team-overview-summary { display: flex; flex-wrap: wrap; gap: var(--space-6); margin-bottom: var(--space-6); padding-bottom: var(--space-5); border-bottom: .0625rem solid var(--color-separator); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.team-overview-summary > span { display: inline-flex; align-items: baseline; gap: var(--space-2); }
.team-overview-summary strong { color: var(--color-label); font-size: var(--font-size-5); }
.team-overview-summary small { color: inherit; font-size: inherit; }
.team-simple-row { min-height: 9rem; grid-template-columns: minmax(14rem, .8fr) minmax(20rem, 1.35fr) minmax(17rem, 1fr); align-items: start; gap: var(--space-6); padding: var(--space-5); }
.team-simple-person { align-items: flex-start; }
.team-simple-person > div { padding-top: var(--space-1); }
.team-simple-tasks,
.team-simple-availability { align-content: start; gap: var(--space-2); }
.team-member-section-head { display: flex; min-height: var(--space-6); align-items: center; justify-content: space-between; gap: var(--space-3); }
.team-member-section-head > strong { color: var(--color-label); font-size: var(--font-size-2); }
.team-member-section-head > span { color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.team-simple-availability .team-member-section-head { justify-content: flex-start; }
.team-simple-availability .team-member-section-head > span { font-weight: var(--weight-regular); }
.team-simple-tasks .team-member-section-head > span { color: var(--color-warning); }
.team-simple-tasks > a:not(.team-simple-more) { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: var(--space-3); }
.team-simple-tasks > a > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-simple-tasks > a time { color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-regular); white-space: nowrap; }
.team-simple-tasks > a time.deadline-overdue { color: var(--color-error); font-weight: var(--weight-semibold); }
.team-simple-tasks > a time.deadline-soon { color: var(--color-warning); font-weight: var(--weight-semibold); }
.team-simple-tasks > a time.deadline-upcoming { color: var(--color-accent); font-weight: var(--weight-semibold); }
.team-simple-availability > .team-availability-item { display: grid; grid-template-columns: var(--icon-md) minmax(0, 1fr); gap: var(--space-2); }
.team-simple-availability > .team-simple-empty { display: block; }
.team-simple-availability .team-simple-more { margin-left: calc(var(--icon-md) + var(--space-2)); }
.team-simple-empty { padding: 0; text-align: left; }

/* Editorial cards use the photograph as the full surface with a quiet text gradient. */
.marketing-news-card { position: relative; display: block; height: 22rem; overflow: hidden; border-radius: var(--radius-control); background: #202936; }
.marketing-news-cover { position: absolute; inset: 0; display: block; width: 100%; height: 100%; background: var(--color-surface-secondary); }
.marketing-news-cover img { object-fit: cover; }
.marketing-news-card.without-cover .marketing-news-cover { background: linear-gradient(145deg, #313c4b 0%, #1d2733 100%); }
.marketing-news-copy { position: absolute; z-index: 1; inset: 0; display: flex; min-height: 0; justify-content: flex-end; padding: var(--space-6); background: linear-gradient(180deg, transparent 24%, rgba(12, 14, 18, .2) 48%, rgba(12, 14, 18, .92) 100%); }
.marketing-news-copy time { margin-bottom: var(--space-2); color: rgba(255, 255, 255, .72); font-size: var(--font-size-1); font-weight: var(--weight-medium); }
.marketing-news-copy strong { margin-bottom: var(--space-2); font-size: var(--font-size-5); }
.marketing-news-copy > span { color: rgba(255, 255, 255, .82); -webkit-line-clamp: 2; }

@media (max-width: 76rem) {
.dashboard-overview-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 62rem) {
.inbox-row { grid-template-columns: minmax(15rem, 2fr) minmax(7rem, .8fr) minmax(5rem, .6fr) minmax(6.5rem, .7fr) minmax(7.5rem, .8fr) var(--control-sm); }
.inbox-row.has-priority-control { grid-template-columns: minmax(15rem, 2fr) minmax(7rem, .8fr) minmax(5rem, .6fr) minmax(6.5rem, .7fr) minmax(7.5rem, .8fr) var(--control-sm); }
.dashboard-table .inbox-table-head,
.dashboard-table .inbox-row { grid-template-columns: minmax(12rem, 1fr) 5.75rem 6.5rem 7rem 6.5rem; }
.dashboard-table .inbox-table-head.has-priority-control,
.dashboard-table .inbox-row.has-priority-control { grid-template-columns: minmax(12rem, 1fr) 5.75rem 6.5rem 7rem 6.5rem 9rem; }
.dashboard-overview-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.team-simple-row { grid-template-columns: minmax(13rem, .75fr) minmax(18rem, 1.25fr) minmax(15rem, 1fr); gap: var(--space-4); }
}

/* Dashboard keeps all of its compact columns in one row until the mobile layout takes over. */
@media (min-width: 42.0625rem) and (max-width: 76rem) {
.dashboard-table .inbox-row > *:not(.task-main):not(.row-chevron) { grid-column: auto; }
}

@media (max-width: 42rem) {
.app-filter-tabs { gap: var(--space-5); }
.app-filter-tabs .app-filter-tab { min-height: 3rem; font-size: var(--font-size-2); }
.app-filter-tabs .app-filter-tab > i { display: none; }
.orders-commandbar { margin-bottom: var(--space-6); overflow-x: auto; }
.inbox-toolbar { margin-bottom: 0; }
.inbox-row,
.inbox-row.has-priority-control { min-height: 0; grid-template-columns: minmax(0, 1fr) var(--control-sm); gap: var(--space-3); padding: var(--space-4) 0; }
.inbox-row > .task-main { grid-column: 1; grid-row: 1; padding-right: calc(var(--control-sm) + var(--space-2)); }
.inbox-row > .dashboard-star-form { grid-column: 1; grid-row: 1; justify-self: end; align-self: start; }
.dashboard-table .inbox-row,
.dashboard-table .inbox-row.has-priority-control { grid-template-columns: minmax(0, 1fr); }
.inbox-row > .task-row-details { grid-column: 1; grid-row: 2; display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); }
.inbox-row > .chev.dashboard-open-task { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.task-title { font-size: var(--font-size-4); }
.task-row-details .status-cell,
.task-row-details .assignees,
.task-row-details .deadline-cell,
.task-row-details .task-priority-readonly,
.task-row-details .dashboard-priority-form { display: flex; width: auto; max-width: none; grid-column: auto; }
.task-row-details .status-cell .chip { min-height: var(--control-xs); padding-inline: var(--space-2); font-size: var(--font-size-1); }
.task-requester-meta { font-size: var(--font-size-1); }
.task-row-details .assignees .avatar { width: 1.5rem; height: 1.5rem; }
.task-row-details .free-assignee,
.task-row-details .deadline-cell .badge { font-size: var(--font-size-1); }
.task-row-details .priority-badge { min-height: var(--control-xs); padding-inline: var(--space-2); font-size: var(--font-size-1); }
.task-row-details .dashboard-priority-form select { height: var(--control-xs); min-height: var(--control-xs); font-size: var(--font-size-1); }
.dashboard-overview-section { margin-bottom: var(--space-8); }
.dashboard-overview-cards { gap: var(--space-2); }
.dashboard-overview-card { min-height: 8rem; padding: var(--space-4); }
.dashboard-overview-card > strong { font-size: var(--font-size-7); }
.dashboard-overview-card > span { margin-top: var(--space-2); font-size: var(--font-size-2); }
.dashboard-attention-intro { align-items: flex-start; }
.dashboard-attention-intro h2 { font-size: var(--font-size-5); }
.dashboard-attention-intro p { font-size: var(--font-size-2); }
.dashboard-work-group .inbox-group-title { font-size: var(--font-size-5); }
.dashboard-attention-group + .dashboard-work-group { margin-top: var(--space-6); }
.dashboard-news-zone { margin-top: var(--space-8); }
.team-overview-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.team-overview-summary > span { display: grid; gap: var(--space-1); line-height: var(--line-title); }
.team-overview-summary strong { font-size: var(--font-size-4); }
.team-simple-list { margin-inline: calc(var(--page-gutter) * -1); }
.team-simple-row { grid-template-columns: 1fr; gap: var(--space-5); padding: var(--space-5) var(--page-gutter); }
.team-simple-person > div { padding-top: 0; }
.team-simple-tasks > a:not(.team-simple-more) { grid-template-columns: minmax(0, 1fr) auto; }
.marketing-news-grid { grid-template-columns: 1fr; }
.marketing-news-card { height: 20rem; }
.marketing-news-copy { padding: var(--space-5); }
}

/* News detail alignment */
.news-detail-dialog-card > .news-detail-copy,
.news-detail-dialog-card > .news-detail-videos,
.news-detail-dialog-card > .news-detail-links { padding-inline: 0; }

/* Modular boards */
.board-jump-nav { display: flex; align-items: center; gap: var(--space-5); margin-bottom: var(--space-8); overflow-x: auto; border-bottom: .0625rem solid var(--color-separator); scrollbar-width: none; }
.board-jump-nav::-webkit-scrollbar { display: none; }
.board-jump-nav a { min-height: var(--control-lg); flex: 0 0 auto; align-content: center; color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); text-decoration: none; white-space: nowrap; }
.board-sections { display: grid; gap: var(--space-12); }
.board-section { min-width: 0; scroll-margin-top: calc(var(--topbar-height) + var(--space-6)); }
.board-section-head { display: flex; min-height: var(--control-lg); align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); border-bottom: .0625rem solid var(--color-separator); }
.board-section-head > div:first-child { display: grid; gap: var(--space-1); padding: var(--space-3) 0; }
.board-section-head h2 { margin: 0; font-size: var(--font-size-6); letter-spacing: -.025em; }
.board-section-head p { max-width: 52rem; margin: 0; color: var(--color-label-secondary); font-size: var(--font-size-2); line-height: var(--line-body); }
.board-section-head > span,
.board-section-head > div > span { color: var(--color-label-tertiary); font-size: var(--font-size-2); }
.board-grid {
--board-gap: var(--space-3);
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
grid-auto-flow: dense;
grid-auto-rows: var(--board-cell, 10rem);
gap: var(--board-gap);
}
.board-tile-shell { position: relative; min-width: 0; min-height: 0; overflow: hidden; border-radius: var(--radius-control); background: var(--board-bg); color: var(--board-text); }
.board-tile-shell.size-large { grid-column: span 2; grid-row: span 2; }
.board-tile-shell.size-wide { grid-column: span 2; grid-row: span 1; }
.board-tile-shell.size-small { grid-column: span 1; grid-row: span 1; }
.board-tile { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.board-tile:focus-visible { outline: .1875rem solid var(--color-accent); outline-offset: -.25rem; }
.board-tile-media,
.board-tile-overlay { position: absolute; inset: 0; display: block; }
.board-tile-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-standard) var(--ease-standard); }
.board-tile:hover .board-tile-media img { transform: scale(1.025); }
.board-tile-overlay { background: transparent; }
.board-tile-shell.has-image .board-tile-overlay { background: linear-gradient(180deg, transparent 25%, rgba(8,10,14,.16) 50%, rgba(8,10,14,.88) 100%); }
.board-tile-copy { position: relative; z-index: 1; display: flex; height: 100%; min-width: 0; flex-direction: column; justify-content: flex-end; gap: var(--space-2); padding: var(--space-5); }
.board-tile-shell.without-image .board-tile-copy { align-items: center; justify-content: center; text-align: center; }
.board-tile-shell.has-image .board-tile-copy { color: #fff; }
.board-tile-copy > i { font-size: var(--font-size-6); }
.board-tile-copy strong { display: -webkit-box; overflow: hidden; font-size: clamp(var(--font-size-4), 1.55vw, var(--font-size-6)); line-height: var(--line-title); letter-spacing: -.025em; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.board-tile:is(:hover, :focus-visible) .board-tile-copy strong { text-decoration: underline; text-underline-offset: .16em; }
.board-tile-copy > span { display: -webkit-box; overflow: hidden; max-width: 34rem; color: color-mix(in srgb, currentColor 78%, transparent); font-size: var(--font-size-2); line-height: var(--line-body); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.board-tile-copy small { overflow: hidden; color: color-mix(in srgb, currentColor 72%, transparent); font-size: var(--font-size-1); text-overflow: ellipsis; white-space: nowrap; }
.board-tile-shell.size-wide .board-tile-copy { padding: var(--space-4) var(--space-5); }
.board-tile-shell.size-wide .board-tile-copy strong { font-size: var(--font-size-5); -webkit-line-clamp: 2; }
.board-tile-shell.size-wide .board-tile-copy > span { -webkit-line-clamp: 1; }
.board-tile-shell.size-small .board-tile-copy { gap: var(--space-1); padding: var(--space-4); }
.board-tile-shell.size-small .board-tile-copy strong { font-size: var(--font-size-3); -webkit-line-clamp: 4; }
.board-tile-shell.size-small .board-tile-copy > span,
.board-tile-shell.size-small .board-tile-copy small { display: none; }
.board-tile-shell.theme-neutral { --board-bg: var(--color-surface-secondary); --board-text: var(--color-label); }
.board-tile-shell.theme-ink { --board-bg: #1e2733; --board-text: #fff; }
.board-tile-shell.theme-red { --board-bg: #d9343b; --board-text: #fff; }
.board-tile-shell.theme-orange { --board-bg: #ff9f0a; --board-text: #1e2733; }
.board-tile-shell.theme-yellow { --board-bg: #ffd60a; --board-text: #1e2733; }
.board-tile-shell.theme-green { --board-bg: #34c759; --board-text: #102b17; }
.board-tile-shell.theme-mint { --board-bg: #64d2ff; --board-text: #0d2a33; }
.board-tile-shell.theme-blue { --board-bg: #007aff; --board-text: #fff; }
.board-tile-shell.theme-indigo { --board-bg: #5856d6; --board-text: #fff; }
.board-tile-shell.theme-pink { --board-bg: #ff375f; --board-text: #fff; }
.board-tile-manage { position: absolute; z-index: 3; top: var(--space-2); right: var(--space-2); display: flex; align-items: center; gap: var(--space-1); padding: var(--space-1); border-radius: var(--radius-control); background: rgba(255,255,255,.92); box-shadow: var(--shadow-1); backdrop-filter: blur(.75rem); }
.board-tile-manage form { display: contents; }
.board-tile-manage button,
.board-tile-drag { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--color-label-secondary); cursor: pointer; }
.board-tile-drag { cursor: grab; touch-action: none; user-select: none; }
.board-tile-drag:active { cursor: grabbing; }
.board-tile-manage button:hover,
.board-tile-drag:hover { background: var(--color-surface-tertiary); color: var(--color-label); }
.board-tile-manage form button:hover { color: var(--color-error); }
.board-tile-shell.is-dragging { opacity: .42; }
.board-tile-shell.is-drop-target { outline: .1875rem solid var(--color-accent); outline-offset: -.1875rem; }
.board-group-empty { min-height: 8rem; display: grid; place-items: center; padding: var(--space-6); background: var(--color-surface-secondary); color: var(--color-label-secondary); text-align: center; }
.board-group-empty.is-admin { border: .0625rem dashed var(--color-separator-strong); background: transparent; }
.board-empty-state { display: grid; min-height: 18rem; place-content: center; justify-items: center; gap: var(--space-2); padding: var(--space-8); color: var(--color-label-secondary); text-align: center; }
.board-empty-state > i { margin-bottom: var(--space-2); color: var(--color-purple); font-size: var(--font-size-7); }
.board-empty-state strong { color: var(--color-label); font-size: var(--font-size-4); }
.board-empty-state span { max-width: 32rem; line-height: var(--line-body); }
.board-directory-row { min-height: 6.5rem; grid-template-columns: var(--control-lg) minmax(0,1fr) var(--control-sm); gap: var(--space-4); padding: var(--space-4) var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.board-directory-row:last-child { border-bottom: 0; }
.board-directory-icon { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-purple-tint); color: var(--color-purple); font-size: var(--font-size-5); }
.board-admin-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; border-bottom: .0625rem solid var(--color-separator); }
.board-admin-row:last-child { border-bottom: 0; }
.board-admin-row > .app-item-open { display: grid; min-height: 6.5rem; grid-template-columns: var(--control-lg) minmax(0,1fr) var(--control-sm); align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-5); }
.board-admin-row > .app-item-actions { display: flex; align-items: center; gap: var(--space-1); padding-right: var(--space-4); }
.board-admin-row .app-item-title { display: flex; align-items: center; gap: var(--space-2); }
.board-admin-row .app-item-title em { padding: .15rem var(--space-2); border-radius: var(--radius-pill); background: var(--color-success-tint); color: var(--color-success); font-size: var(--font-size-0); font-style: normal; }
.board-admin-row .app-item-title em.is-hidden { background: var(--color-surface-secondary); color: var(--color-label-tertiary); }
.board-admin-row .app-item-description { display: -webkit-box; overflow: hidden; line-height: var(--line-body); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.board-admin-group-head > div:first-child { display: grid; gap: var(--space-1); }
.board-group-actions { display: flex; align-items: center; gap: var(--space-1); }
.board-group-actions form { display: contents; }
.board-group-actions button { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--color-label-secondary); }
.board-group-actions button:hover:not(:disabled) { background: var(--color-surface-tertiary); color: var(--color-label); }
.board-group-actions button:disabled { opacity: .28; cursor: default; }
.board-detail-dialog-card { width: min(100%, 54rem); max-height: calc(100dvh - var(--space-8)); padding: 0; }
.board-detail-dialog-card > :not(.app-dialog-header) { margin-inline: var(--space-6); }
.board-detail-cover { margin-top: var(--space-6); overflow: hidden; background: var(--color-surface-secondary); }
.board-detail-cover img { display: block; width: 100%; max-height: 32rem; object-fit: cover; }
.board-detail-copy { padding: var(--space-6) 0 0; font-size: var(--font-size-4); line-height: var(--line-height-relaxed); }
.board-detail-actions { display: flex; justify-content: flex-start; padding: var(--space-6) 0; }
.board-editor-dialog,
.board-tile-editor-dialog { width: min(100%, 58rem); max-height: calc(100dvh - var(--space-8)); padding: 0; }
.board-group-dialog { width: min(100%, 34rem); padding: 0; }
.board-group-dialog textarea { min-height: 7rem; }
.board-editor-alert { margin: var(--space-4) var(--space-6) 0; }
.board-editor-body,
.board-tile-editor-body { display: grid; gap: var(--space-6); }
.board-editor-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); }
.board-editor-grid .wide { grid-column: 1 / -1; }
.board-editor-grid textarea { min-height: 6rem; }
.board-audience-options,
.board-icon-options,
.board-size-options,
.board-theme-options { margin: 0; padding: 0; border: 0; }
.board-audience-options > legend,
.board-icon-options > legend,
.board-size-options > legend,
.board-theme-options > legend { margin-bottom: var(--space-3); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.board-audience-options > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-2); }
.board-audience-options label > input { position: absolute; opacity: 0; }
.board-audience-options label > span { display: flex; min-height: var(--control-lg); align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-control); color: var(--color-label-secondary); }
.board-audience-options label > input:checked + span { border-color: var(--color-accent); background: var(--color-accent-tint); color: var(--color-accent); }
.board-audience-options label > span > span { display: grid; }
.board-audience-options small { color: var(--color-label-tertiary); }
.board-icon-options > div { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: var(--space-2); }
.board-icon-options input { position: absolute; opacity: 0; }
.board-icon-options label > span { display: grid; min-height: 4.5rem; place-items: center; align-content: center; gap: var(--space-1); padding: var(--space-2); border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-control); color: var(--color-label-secondary); text-align: center; }
.board-icon-options label > span > i { font-size: var(--font-size-5); }
.board-icon-options label small { overflow: hidden; width: 100%; color: var(--color-label-tertiary); font-size: var(--font-size-0); text-overflow: ellipsis; white-space: nowrap; }
.board-icon-options input:checked + span { border-color: var(--color-accent); background: var(--color-accent-tint); color: var(--color-accent); }
.board-icon-options input:checked + span small { color: currentColor; }
.board-active-switch { display: grid; grid-template-columns: 2.8rem minmax(0,1fr); align-items: center; gap: var(--space-3); }
.board-active-switch > input { position: absolute; opacity: 0; }
.board-active-switch > span:first-of-type { position: relative; width: 2.8rem; height: 1.65rem; border-radius: var(--radius-pill); background: var(--color-surface-tertiary); transition: background var(--duration-fast); }
.board-active-switch > span:first-of-type::after { position: absolute; top: .2rem; left: .2rem; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: #fff; box-shadow: 0 .1rem .3rem rgba(0,0,0,.2); content: ''; transition: transform var(--duration-fast); }
.board-active-switch > input:checked + span { background: var(--color-success); }
.board-active-switch > input:checked + span::after { transform: translateX(1.15rem); }
.board-active-switch > span:last-child { display: grid; }
.board-active-switch small { color: var(--color-label-tertiary); }
.board-size-options > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-3); }
.board-size-options input,
.board-theme-options input { position: absolute; opacity: 0; }
.board-size-options label > span { display: grid; height: 8rem; place-items: center; gap: var(--space-2); padding: var(--space-3); border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-control); color: var(--color-label-secondary); text-align: center; }
.board-size-options label i { display: block; border-radius: .25rem; background: var(--color-surface-tertiary); }
.board-size-options .size-large i { width: 3.5rem; height: 3.5rem; }
.board-size-options .size-wide i { width: 4.5rem; height: 2.15rem; }
.board-size-options .size-small i { width: 2.15rem; height: 2.15rem; }
.board-size-options input:checked + span { border-color: var(--color-accent); background: var(--color-accent-tint); color: var(--color-accent); }
.board-size-options input:checked + span i { background: var(--color-accent); }
.board-theme-options > div { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: var(--space-2); }
.board-theme-options label > span { display: grid; justify-items: center; gap: var(--space-1); padding: var(--space-2); border: .125rem solid transparent; border-radius: var(--radius-control); color: var(--color-label-secondary); }
.board-theme-options label i { display: grid; width: 100%; height: 3rem; place-items: center; border-radius: var(--radius-sm); background: var(--swatch-bg); color: var(--swatch-text); }
.board-theme-options label i::after { content: 'Aa'; font-size: var(--font-size-2); font-style: normal; font-weight: var(--weight-bold); }
.board-theme-options input:checked + span { border-color: var(--color-accent); background: var(--color-accent-tint); color: var(--color-accent); }
.board-media-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); }
.board-media-field { display: grid; align-content: start; gap: var(--space-3); padding: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); }
.board-media-field > span { font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.board-media-field > span small { color: var(--color-label-tertiary); font-weight: var(--weight-regular); }
.board-image-preview { display: block; width: 100%; height: 10rem; border-radius: var(--radius-sm); object-fit: cover; }
.board-current-file { display: flex; min-width: 0; align-items: center; gap: var(--space-3); color: var(--color-label-secondary); }
.board-current-file > i { font-size: var(--font-size-6); }
.board-current-file > span { display: grid; min-width: 0; }
.board-current-file strong { overflow: hidden; color: var(--color-label); text-overflow: ellipsis; white-space: nowrap; }
.board-current-file small { color: var(--color-label-tertiary); }
.board-url-hint { margin-top: var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.board-url-hint a { color: var(--color-accent); font-weight: var(--weight-semibold); }

/* Lead-only file library for stable tile URLs. */
.shared-file-upload-form { margin: 0; }
.shared-file-upload-button { position: relative; overflow: hidden; }
.shared-file-upload-button input { position: absolute; width: .0625rem; height: .0625rem; opacity: 0; pointer-events: none; }
.shared-file-list { display: grid; }
.shared-file-row { display: grid; min-width: 0; grid-template-columns: var(--control-lg) minmax(0,1fr) auto; align-items: center; gap: var(--space-4); min-height: 6.75rem; padding: var(--space-4) var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.shared-file-row:last-child { border-bottom: 0; }
.shared-file-icon { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-accent-tint); color: var(--color-accent); font-size: var(--font-size-5); }
.shared-file-main { display: grid; min-width: 0; gap: var(--space-2); }
.shared-file-name { display: flex; min-width: 0; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.shared-file-name strong { overflow: hidden; min-width: 0; text-overflow: ellipsis; white-space: nowrap; }
.shared-file-name small { flex: none; color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.shared-file-url { display: grid; min-width: 0; grid-template-columns: minmax(0,1fr) auto; gap: var(--space-2); }
.shared-file-url input { width: 100%; min-width: 0; height: var(--control-sm); padding: 0 var(--space-3); border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-sm); background: var(--color-surface-secondary); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.shared-file-url button { min-height: var(--control-sm); padding: 0 var(--space-3); border: 0; border-radius: var(--radius-sm); background: var(--color-surface-secondary); color: var(--color-accent); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.shared-file-url button:hover { background: var(--color-accent-tint); }
.shared-file-actions { display: flex; align-items: center; gap: var(--space-1); }
.shared-file-actions form { display: contents; }

@media (max-width: 62rem) {
.board-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

@media (max-width: 42rem) {
.news-detail-dialog-card > :not(.app-dialog-header),
.board-detail-dialog-card > :not(.app-dialog-header) { margin-inline: var(--space-4); }
.news-detail-dialog-card > .news-detail-copy,
.news-detail-dialog-card > .news-detail-videos,
.news-detail-dialog-card > .news-detail-links { padding-inline: 0; }
.board-jump-nav { margin-bottom: var(--space-6); }
.board-sections { gap: var(--space-8); }
.board-section-head h2 { font-size: var(--font-size-5); }
.board-grid { --board-gap: var(--space-2); grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--board-gap); }
.board-tile-shell.size-large,
.board-tile-shell.size-wide { grid-column: span 2; }
.board-tile-copy { padding: var(--space-4); }
.board-tile-copy strong { font-size: var(--font-size-4); }
.board-tile-shell.size-small .board-tile-copy { padding: var(--space-3); }
.board-tile-shell.size-small .board-tile-copy strong { font-size: var(--font-size-2); }
.board-tile-manage { top: var(--space-1); right: var(--space-1); }
.board-tile-manage button,
.board-tile-drag { width: 2rem; height: 2rem; }
.board-directory-row { padding-inline: 0; }
.board-directory-row .app-item-description { -webkit-line-clamp: 2; }
.board-admin-row { grid-template-columns: minmax(0,1fr) auto; }
.board-admin-row > .app-item-open { grid-template-columns: var(--control-md) minmax(0,1fr); padding-left: 0; }
.board-admin-row .app-item-chevron { display: none; }
.board-admin-row > .app-item-actions { padding-right: 0; }
.board-admin-group-head { align-items: flex-start; padding-bottom: var(--space-2); }
.board-admin-group-head > div:first-child { display: grid; gap: 0; }
.board-editor-grid,
.board-audience-options > div,
.board-media-fields { grid-template-columns: minmax(0,1fr); }
.board-icon-options > div { grid-template-columns: repeat(4,minmax(0,1fr)); }
.board-size-options > div { gap: var(--space-2); }
.board-size-options label > span { height: 6.75rem; padding: var(--space-2); font-size: var(--font-size-1); }
.board-theme-options > div { grid-template-columns: repeat(5,minmax(0,1fr)); }
.board-theme-options label > span { padding: var(--space-1); }
.board-theme-options label small { display: none; }
.board-detail-dialog-card,
.board-editor-dialog,
.board-tile-editor-dialog,
.board-group-dialog { width: 100%; max-height: 94dvh; border-radius: var(--radius-panel) var(--radius-panel) 0 0; }
.board-detail-cover { margin-top: var(--space-4); }
.board-detail-copy { padding-top: var(--space-4); font-size: var(--font-size-3); }
.shared-file-row { grid-template-columns: var(--control-md) minmax(0,1fr) auto; gap: var(--space-3); padding-inline: 0; }
.shared-file-icon { width: var(--control-md); height: var(--control-md); font-size: var(--font-size-4); }
.shared-file-name { display: grid; gap: 0; }
.shared-file-name small { font-size: var(--font-size-0); }
.shared-file-url { grid-template-columns: minmax(0,1fr); }
.shared-file-url button { justify-self: start; }
}

@media (max-width: 30rem) {
.board-icon-options > div { grid-template-columns: repeat(3,minmax(0,1fr)); }
.shared-file-row { grid-template-columns: minmax(0,1fr) auto; }
.shared-file-icon { display: none; }
}

/* v140 — one continuous order journey: request, confirmation and conversation. */
.page-new .page-header,
.page-new .order-wizard { width: min(100%, 76rem); }
.page-new .page-header { min-height: 0; margin: 0 auto var(--space-6); padding-bottom: var(--space-5) }
.page-new .page-header h1 { font-size: clamp(var(--font-size-7), 3vw, var(--font-size-8)); }
.page-new .order-form { gap: var(--space-8); }
.page-new .wizard-progress { width: 100%; margin: 0; }
.page-new .wizard-dot { min-height: 3.5rem; gap: var(--space-3); color: var(--color-label-tertiary); }
.page-new .wizard-dot::after { background: var(--color-brand); }
.page-new .wizard-dot span { display: grid; width: 1.75rem; height: 1.75rem; flex: 0 0 auto; place-items: center; background: var(--color-surface-secondary); color: var(--color-label-secondary); }
.page-new .wizard-dot.active,
.page-new .wizard-dot.is-done { color: var(--color-label); }
.page-new .wizard-dot.active span { background: var(--color-brand); color: var(--color-label-inverse); }
.page-new .wizard-dot.is-done span { background: var(--color-color-surface-secondary); color: var(--color-label-secondary); }
.page-new .step-head,
.page-new .final-review-heading { margin-bottom: var(--space-6); }
.page-new .step-head > div,
.page-new .final-review-heading { gap: var(--space-1); }
.page-new .step-head h2,
.page-new .final-review-heading h2 { font-size: clamp(var(--font-size-6), 2.5vw, var(--font-size-7)); }
.page-new .step-head p,
.page-new .final-review-heading p { display: block; max-width: 42rem; margin: var(--space-1) 0 0; color: var(--color-label-secondary); font-size: var(--font-size-3); line-height: var(--line-body); }
.page-new .type-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-3); overflow: visible; border: 0; }
.page-new .type-grid:has(> .type-card:only-child) { grid-template-columns: minmax(0,32rem); }
.page-new .type-grid:has(> .type-card:nth-child(2):last-child),
.page-new .type-grid:has(> .type-card:nth-child(4):last-child) { grid-template-columns: repeat(2,minmax(0,1fr)); }
.page-new .type-card,
.page-new .type-card:nth-child(2n),
.page-new .type-card:nth-last-child(-n + 2) { min-height: 8rem; grid-template-columns: var(--control-lg) minmax(0,1fr); grid-template-rows: auto 1fr; align-content: start; align-items: start; gap: var(--space-4); padding: var(--space-5); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); }
.page-new .type-card:hover { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); }
.page-new .type-card:has(input:checked) { border-color: color-mix(in srgb,var(--color-brand) 44%,var(--color-separator)); background: var(--color-brand-tint); }
.page-new .type-card-copy { align-self: stretch; gap: var(--space-2); padding-right: calc(var(--control-sm) + var(--space-2)); }
.page-new .type-card-copy strong { font-size: var(--font-size-5); line-height: var(--line-title); }
.page-new .type-card-copy small { line-height: var(--line-body); }
.page-new .type-selected { position: absolute; top: var(--space-5); right: var(--space-5); }
.page-new .type-card input:checked ~ .type-selected { border-color: var(--color-brand); background: var(--color-brand); }
.page-new .order-spec-surface { display: grid; grid-template-columns: minmax(0,1fr) 21rem; align-items: start; gap: var(--space-10); overflow: visible; }
.page-new .dynamic-template-spec.active,
.page-new .dynamic-template-spec.is-active { display: block; min-width: 0; border-top: .0625rem solid var(--color-separator); }
.page-new .spec-title { padding: var(--space-5) 0; }
.page-new .tile-question { padding: var(--space-6) 0; }
.page-new .tile-question > strong { font-size: var(--font-size-3); }
.page-new .order-deadline-section { position: sticky; top: calc(var(--topbar-height) + var(--space-6)); align-self: start; margin: 0; padding: var(--space-5); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); }
.page-new .deadline-question-copy { display: grid; gap: var(--space-1); }
.page-new .deadline-question-copy strong { font-size: var(--font-size-4); }
.page-new .deadline-question-copy output { min-height: 1.25rem; font-size: var(--font-size-2); }
.page-new .order-deadline-section .deadline-picker { width: 100%; padding: var(--space-2); border: 0; border-radius: var(--radius-sm); background: transparent; }
.page-new .option-tile > span:first-of-type { background: var(--color-surface); }
.page-new .option-tile input:checked ~ span:first-of-type { border-color: var(--color-brand); background: var(--color-brand-tint); }
.page-new .option-selected-check { background: var(--color-brand); }
.page-new .wizard-actions,
.page-new .order-submit-bar { margin-top: var(--space-6); }
.page-new .final-review { width: min(100%, 52rem); }
.page-new .final-review-section { padding: 0 0 var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.page-new .final-review-title input { border-radius: var(--radius-sm); background: var(--color-surface-secondary); }
.page-new .order-submit-bar { width: min(100%, 52rem); }

.page-new .order-success-screen { width: min(100%, 52rem); min-height: calc(100dvh - var(--topbar-height) - var(--space-16)); align-content: center; justify-items: start; gap: 0; padding: var(--space-12) 0; text-align: left; }
.page-new .order-success-mark { width: var(--control-lg); height: var(--control-lg); margin-bottom: var(--space-6); border-radius: var(--radius-control); background: var(--color-success-tint); color: var(--color-success); font-size: var(--font-size-5); }
.page-new .order-success-copy { display: grid; gap: var(--space-2); }
.page-new .order-success-copy h1 { max-width: 42rem; margin: 0; font-size: clamp(var(--font-size-7),4vw,var(--font-size-8)); line-height: var(--line-tight); letter-spacing: -.035em; }
.page-new .order-success-copy > p:last-child { max-width: 42rem; margin: 0; color: var(--color-label-secondary); font-size: var(--font-size-4); line-height: var(--line-height-relaxed); }
.page-new .order-success-receipt { display: grid; width: 100%; gap: var(--space-2); margin-top: var(--space-8); padding: var(--space-5) 0; border-block: .0625rem solid var(--color-separator); }
.page-new .order-success-receipt > small { color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); letter-spacing: .04em; text-transform: uppercase; }
.page-new .order-success-receipt > strong { overflow-wrap: anywhere; font-size: var(--font-size-5); line-height: var(--line-title); }
.page-new .order-success-receipt dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-5); margin: var(--space-3) 0 0; }
.page-new .order-success-receipt dl > div { display: grid; gap: var(--space-1); }
.page-new .order-success-receipt dt { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.page-new .order-success-receipt dd { margin: 0; font-weight: var(--weight-semibold); }
.page-new .order-success-actions { justify-content: flex-start; margin-top: var(--space-6); }
.page-new .order-success-new { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-5); color: var(--color-accent); font-weight: var(--weight-semibold); }

.page-task .page-header,
.page-task .thread-workspace { width: min(100%, 84rem); max-width: none; }
.page-task .page-header { min-height: 0; margin-bottom: var(--space-8); padding-bottom: var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.page-task .page-header p { margin-top: var(--space-2); }
.page-task .task-back-link { color: var(--color-label-secondary); }
.task-header-meta { display: flex; max-width: none !important; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-5); color: var(--color-label-secondary); font-size: var(--font-size-2) !important; line-height: var(--line-title); }
.task-header-meta > span { display: inline-flex; min-width: 0; align-items: center; gap: var(--space-2); }
.task-header-meta .task-meta-status { padding: 0; border-radius: 0; background: transparent; color: var(--color-label); font-weight: var(--weight-semibold); }
.task-header-meta .task-meta-deadline { padding: 0; background: transparent; font-weight: var(--weight-regular); }
.task-header-meta .task-meta-priority { padding: 0; background: transparent; font-weight: var(--weight-semibold); }
.task-header-meta .task-meta-deadline.deadline-overdue { color: var(--color-error); font-weight: var(--weight-medium); }
.task-header-meta .task-meta-deadline.deadline-soon { color: var(--color-warning); font-weight: var(--weight-medium); }
.task-header-meta .task-meta-deadline.deadline-upcoming { color: var(--color-label-secondary); }
.task-header-meta .task-meta-priority.priority-high { color: var(--color-error); }
.page-task .thread-workspace { grid-template-columns: minmax(0,1fr) 17rem; gap: var(--space-12); }
.page-task .task-actions-aside { top: calc(var(--topbar-height) + var(--space-6)); }
.page-task .task-actions-rail { gap: var(--space-4); }
.page-task .task-actions-rail > h2 { padding-bottom: var(--space-4); font-size: var(--font-size-4); }
.page-task .task-orders-return {
position: static;
display: inline-flex;
width: auto;
min-height: var(--control-md);
flex: 0 0 auto;
align-self: flex-start;
align-items: center;
justify-content: center;
gap: var(--space-2);
margin: 0 0 var(--space-5);
padding: 0 var(--space-3);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: transparent;
color: var(--color-label);
font-size: var(--font-size-2);
font-weight: var(--weight-semibold);
transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}
.page-task .task-orders-return:hover { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); color: var(--color-label); }
.page-task .task-orders-return > i { color: var(--color-label-secondary); }
.page-task .task-detail-header .page-header-copy { display: grid; width: 100%; justify-items: start; }
.page-task .task-title-row { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-4); }
.page-task .task-title-row,
.page-task .task-title-row > h1 { width: 100%; min-width: 0; }
.task-action-group-label { display: block; padding: var(--space-2) var(--space-3) var(--space-1); color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-semibold); letter-spacing: .06em; text-transform: uppercase; }
.page-task .task-action-group { gap: var(--space-1); }
.page-task .task-action-group + .task-action-group { padding-top: var(--space-2); }
.page-task .quick-action { min-height: var(--control-md); padding-inline: var(--space-3); border-radius: var(--radius-control); font-size: var(--font-size-2); }
.page-task .quick-action:hover { background: var(--color-surface-secondary); }
.page-task .quick-action.is-decision:hover { background: var(--color-brand-hover); }
.page-task .feed { gap: 0; border-top: .0625rem solid var(--color-separator); }
.page-task .message { grid-template-columns: 3.5rem minmax(0,1fr); gap: var(--space-4); }
.page-task .message::before { z-index: 0; top: 2.5rem; bottom: -2.5rem; left: 1.75rem; background: var(--color-separator-strong); }
.page-task .message:last-child::before { display: none; }
.page-task .message-author-rail { padding-top: var(--space-5); }
.page-task .message-author-rail > .avatar.lg { width: var(--avatar-md); height: var(--avatar-md); }
.page-task .message-rail-time { padding-inline: 0; background: transparent; font-weight: var(--weight-regular); }
.page-task .message-rail-time > span:first-child { color: var(--color-label-secondary); font-weight: var(--weight-bold); }
.page-task .message-rail-time > span:last-child { color: var(--color-label-tertiary); font-weight: var(--weight-regular); }
.page-task .bubble { padding: var(--space-5) 0 var(--space-6); border-bottom: .0625rem solid var(--color-separator); }
.page-task .message.system .bubble { padding-block: var(--space-4); }
.page-task .bubble-head { margin-bottom: var(--space-2); }
.page-task .bubble-title { font-size: var(--font-size-3); }
.page-task .message:not(.system):not(.is-final-output) .bubble { margin-block: var(--space-3); padding: var(--space-4) var(--space-5); border: 0; border-left: .1875rem solid var(--color-brand); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--color-surface-secondary); }
.page-task .message:not(.system) .bubble-title { font-size: var(--font-size-4); font-weight: var(--weight-bold); }
.page-task .message:not(.system) .bubble p { font-size: var(--font-size-4); line-height: var(--line-body); }
.page-task .message.system:not(.message-event-created):not(.message-event-brief_updated) .bubble-title { color: var(--color-label-secondary); font-weight: var(--weight-medium); }
.page-task .message.system:not(.message-event-created):not(.message-event-brief_updated) .bubble p { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.page-task .message-event-created .bubble,
.page-task .message-event-brief_updated .bubble { padding-top: var(--space-5); }
.page-task .message.is-final-output .bubble { padding-inline: var(--space-4); border-top: 0; border-bottom-color: color-mix(in srgb,var(--color-warning) 32%,var(--color-separator)); background: var(--color-warning-tint); }
.page-task .created-brief-grid { gap: var(--space-1); }
.page-task .created-brief-grid > div { padding-block: var(--space-2); border-bottom: .0625rem solid var(--color-separator); }
.page-task .created-brief-grid > div:last-child { border-bottom: 0; }

@media (max-width: 76rem) {
.page-task .page-header,
.page-task .thread-workspace { width: min(100%, 62rem); }
.page-task .thread-workspace { grid-template-columns: minmax(0,1fr); gap: var(--space-6); }
.page-task .thread-workspace > .task-actions-aside { position: static; grid-row: 1; }
.page-task .thread-main { grid-row: 2; }
.page-task .task-actions-rail > h2 { display: block; }
.page-task .task-command-actions { display: flex; overflow-x: auto; gap: var(--space-3); padding-bottom: var(--space-2); scrollbar-width: none; }
.page-task .task-action-group,
.page-task .task-action-group + .task-action-group { display: flex; width: auto; flex: 0 0 auto; flex-wrap: nowrap; align-items: center; gap: var(--space-1); padding: 0 var(--space-3) 0 0; border: 0; border-right: .0625rem solid var(--color-separator); }
.page-task .task-action-group:last-child { border-right: 0; }
.page-task .task-action-group-label { padding: 0 var(--space-2) 0 0; }
.page-task .task-action-group > form { width: auto; }
.page-task .task-actions-aside .quick-action,
.page-task .task-actions-aside .task-action-group > form .quick-action { width: auto; }
}

@media (max-width: 62rem) {
.page-new .type-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.page-new .order-spec-surface { grid-template-columns: minmax(0,1fr); gap: var(--space-6); }
.page-new .order-deadline-section { position: static; }
}

@media (max-width: 42rem) {
.page-new .page-header { margin-bottom: var(--space-4); }
.page-new .page-header p { font-size: var(--font-size-2); }
.page-new .order-form { gap: var(--space-6); }
.page-new .wizard-dot { min-height: 3rem; padding-inline: var(--space-2); }
.page-new .wizard-dot strong { display: block; overflow: hidden; font-size: var(--font-size-1); text-overflow: ellipsis; white-space: nowrap; }
.page-new .wizard-dot span { width: 1.5rem; height: 1.5rem; font-size: var(--font-size-0); }
.page-new .step-head h2,
.page-new .final-review-heading h2 { font-size: var(--font-size-7); }
.page-new .type-grid,
.page-new .type-grid:has(> .type-card:only-child),
.page-new .type-grid:has(> .type-card:nth-child(2):last-child),
.page-new .type-grid:has(> .type-card:nth-child(4):last-child) { grid-template-columns: minmax(0,1fr); gap: var(--space-2); }
.page-new .type-card,
.page-new .type-card:nth-child(2n),
.page-new .type-card:nth-last-child(-n + 2) { min-height: 7.25rem; padding: var(--space-4); }
.page-new .type-selected { top: var(--space-4); right: var(--space-4); }
.page-new .tile-question { padding-block: var(--space-5); }
.page-new .order-deadline-section { padding: var(--space-4); }
.page-new .option-grid { display: grid; grid-template-columns: minmax(0,1fr); }
.page-new .option-tile,
.page-new .option-tile > span:first-of-type { width: 100%; justify-content: flex-start; }
.page-new .wizard-actions,
.page-new .order-submit-bar { position: sticky; z-index: 4; bottom: 0; margin-inline: calc(var(--page-gutter) * -1); padding: var(--space-3) var(--page-gutter); border-top: .0625rem solid var(--color-separator); background: color-mix(in srgb,var(--color-surface) 94%,transparent); backdrop-filter: blur(1rem); }
.page-new .order-success-screen { min-height: calc(100dvh - var(--topbar-height) - var(--space-8)); padding-block: var(--space-8); }
.page-new .order-success-copy > p:last-child { font-size: var(--font-size-3); }
.page-new .order-success-receipt dl { grid-template-columns: minmax(0,1fr); gap: var(--space-3); }
.page-new .order-success-receipt dl > div { grid-template-columns: 5rem minmax(0,1fr); align-items: baseline; }
.page-new .order-success-actions { width: 100%; display: grid; grid-template-columns: minmax(0,1fr); }
.page-new .order-success-actions .btn { width: 100%; }
.page-task .page-header { display: grid; gap: var(--space-4); }
.page-task .page-header-actions { justify-content: flex-start; }
.task-header-meta { gap: var(--space-2) var(--space-4); }
.page-task .task-actions-rail { gap: var(--space-2); }
.page-task .task-actions-rail > h2 { padding-bottom: var(--space-2); }
.page-task .task-action-group-label { display: none; }
.page-task .message { grid-template-columns: var(--control-sm) minmax(0,1fr); gap: var(--space-3); }
.page-task .message::before { left: 1.25rem; }
.page-task .bubble { padding-block: var(--space-4) var(--space-5); }
.page-task .message:not(.system):not(.is-final-output) .bubble { padding: var(--space-4); }
.page-task .message:not(.system) .bubble-title,
.page-task .message:not(.system) .bubble p { font-size: var(--font-size-3); }
.page-task .created-brief-grid > div { grid-template-columns: minmax(0,1fr); gap: var(--space-1); }
.page-task .summary-label,
.page-task .created-brief-grid dt { font-size: var(--font-size-1); }
}

/* v143 — consistent content width, quiet task history and compact team planning. */
.page-header {
min-height: 0;
margin-bottom: var(--space-6);
padding-bottom: var(--space-4);
}

.page-new .page-header,
.page-new .order-wizard,
.page-task .page-header,
.page-task .thread-workspace {
width: 100%;
max-width: none;
}
.page-new .page-header,
.page-task .page-header {
margin-inline: 0;
margin-bottom: var(--space-6);
}
.page-task .page-header h1 {
font-size: clamp(var(--font-size-7), 3vw, var(--font-size-8));
}

/* The chronology reads as a list; avatars identify authors without a decorative axis. */
.page-task .feed { border-top: .0625rem solid var(--color-separator); }
.page-task .message,
.page-task .message:nth-child(n) {
grid-template-columns: 3.75rem minmax(0, 1fr);
gap: var(--space-5);
}
.page-task .message::before { display: none; }
.page-task .message-author-rail { padding-top: var(--space-5); }
.page-task .message-author-rail > .avatar.lg {
width: var(--avatar-md);
height: var(--avatar-md);
}
.page-task .message-rail-time {
padding: 0;
background: transparent;
}
.page-task .message-rail-time > span:first-child {
color: var(--color-label-secondary);
font-weight: var(--weight-bold);
}
.page-task .message-rail-time > span:last-child {
color: var(--color-label-tertiary);
font-weight: var(--weight-regular);
}
.page-task .bubble,
.page-task .message.system .bubble,
.page-task .message:not(.system):not(.is-final-output) .bubble,
.page-task .message.is-final-output .bubble {
margin: 0;
padding: var(--space-5) 0 var(--space-6);
border: 0;
border-bottom: .0625rem solid var(--color-separator);
border-radius: 0;
background: transparent;
box-shadow: none;
}
.page-task .message:not(.system) .bubble-title,
.page-task .bubble-title {
color: var(--color-label);
font-size: var(--font-size-3);
font-weight: var(--weight-semibold);
}
.page-task .message:not(.system) .bubble p {
margin-top: var(--space-2);
font-size: var(--font-size-3);
line-height: var(--line-body);
}
.page-task .message.system:not(.message-event-created):not(.message-event-brief_updated) .bubble-title {
color: var(--color-label-secondary);
font-weight: var(--weight-medium);
}
.page-task .message.is-final-output .bubble {
padding-top: var(--space-5);
border-bottom-color: var(--color-separator);
}
.page-task .final-output-banner {
margin-bottom: var(--space-3);
border-radius: var(--radius-sm);
}
.page-task .final-output-actions {
padding-top: var(--space-4);
border-top: .0625rem solid var(--color-separator);
}

.created-brief-list {
display: grid;
gap: var(--space-2);
margin: var(--space-3) 0 0;
padding: 0;
list-style: none;
}
.created-brief-list li {
position: relative;
display: flex;
min-width: 0;
align-items: baseline;
gap: var(--space-2);
padding-left: var(--space-4);
color: var(--color-label-secondary);
line-height: var(--line-body);
}
.created-brief-list li::before {
position: absolute;
top: .65em;
left: 0;
width: .3rem;
height: .3rem;
border-radius: var(--radius-pill);
background: var(--color-label-tertiary);
content: "";
}
.created-brief-list span { flex: 0 0 auto; }
.created-brief-list strong {
min-width: 0;
overflow-wrap: anywhere;
color: var(--color-label);
font-weight: var(--weight-semibold);
}
.created-brief-long-answers { display: grid; gap: var(--space-5); margin-top: var(--space-5); }
.created-brief-long-answers + .created-brief-list { margin-top: var(--space-5); padding-top: var(--space-5); border-top: .0625rem solid var(--color-separator); }
.created-brief-long-answer > p { margin: 0; color: var(--color-label); font-weight: var(--weight-regular); overflow-wrap: anywhere; }

/* Priority modal has a real body and footer, so its explanatory note never hugs an edge. */
.task-modal-panel .priority-form-compact > .priority-modal-body,
.task-modal-panel .priority-form-compact > .priority-modal-footer { margin: 0 !important; }
.priority-modal-body { padding: var(--space-6); }
.priority-modal-footer {
padding: var(--space-4) var(--space-6) var(--space-5);
border-top: .0625rem solid var(--color-separator);
}
.priority-modal-footer .priority-save-note { margin: 0; }

/* Team: every task and every planned absence remains visible. */
.team-simple-row {
min-height: 0;
align-items: start;
padding-block: var(--space-6);
}
.team-simple-tasks > a:not(.team-simple-more) {
display: block;
padding-block: .125rem;
}
.team-simple-tasks > a > span {
display: block;
overflow: visible;
text-overflow: clip;
white-space: normal;
line-height: var(--line-title);
}
.team-simple-availability { gap: var(--space-3); }

/* A denser, calmer planning surface matching the rest of the application. */
.page-calendar .page-header { align-items: center; }
.calendar-month-switcher { gap: var(--space-2); }
.calendar-month-step {
min-width: 10.5rem;
min-height: var(--control-md);
padding-block: 0;
border-radius: var(--radius-sm);
}
.calendar-month-step-icon {
width: var(--control-sm);
height: var(--control-sm);
background: transparent;
}
.calendar-toolbox {
top: calc(var(--topbar-height) + var(--space-2));
margin-bottom: var(--space-4);
padding: var(--space-2) 0;
border: 0;
border-block: .0625rem solid var(--color-separator);
background: color-mix(in srgb, var(--color-surface) 94%, transparent);
box-shadow: none;
}
.calendar-tool {
min-height: var(--control-md);
justify-content: flex-start;
border-radius: var(--radius-sm);
}
.team-calendar {
border: .0625rem solid var(--color-separator);
border-radius: 0;
background: var(--color-surface);
}
.calendar-weekdays { min-height: var(--control-md); }
.calendar-day {
min-height: 7.25rem;
padding: var(--space-2);
}
.calendar-day-number {
width: 2rem;
height: 2rem;
font-size: var(--font-size-1);
}
.calendar-event,
.calendar-event:hover,
.calendar-event:focus-within {
height: 2.35rem;
min-height: 2.35rem;
max-height: 2.35rem;
border-radius: var(--radius-sm);
}

/* A native swatch plus an explicit HEX value is clearer than the former compound picker. */
.qr-color-control {
width: 12.5rem;
height: var(--control-lg);
gap: var(--space-3);
padding: var(--space-1) var(--space-3) var(--space-1) var(--space-1);
border-color: var(--color-separator-strong);
background: var(--color-surface);
}
.qr-color-control::after { display: none; }
.qr-color-picker {
width: 2.5rem;
height: 2.5rem;
flex: 0 0 2.5rem;
padding: .125rem;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-sm);
background: var(--color-surface);
cursor: pointer;
}
.qr-color-picker::-webkit-color-swatch-wrapper { padding: 0; }
.qr-color-picker::-webkit-color-swatch { border: 0; border-radius: calc(var(--radius-sm) - .1875rem); }
.qr-color-value { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }

/* The notification drawer travels from the edge and its backdrop fades in. */
[data-notification-center] > .top-popover-backdrop {
background: rgba(12, 14, 18, .38);
}
[data-notification-center] > .notification-center {
inset: 0 0 0 auto;
width: min(28rem, 100%);
max-width: 100%;
}
@keyframes notification-backdrop-in {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes notification-drawer-in {
from { transform: translateX(100%); }
to { transform: translateX(0); }
}

@media (max-width: 62rem) {
.team-simple-row {
grid-template-columns: minmax(11rem, .75fr) minmax(16rem, 1.25fr) minmax(14rem, 1fr);
}
}

@media (max-width: 42rem) {
.page-header { margin-bottom: var(--space-4); }
.page-task .page-header h1 { overflow-wrap: anywhere; }
.page-task .message,
.page-task .message:nth-child(n) {
grid-template-columns: var(--control-sm) minmax(0, 1fr);
gap: var(--space-3);
}
.created-brief-list li {
display: block;
padding-left: var(--space-4);
}
.created-brief-list span { margin-right: var(--space-1); }
.page-calendar .page-header { align-items: flex-start; }
.calendar-month-switcher {
display: grid;
width: 100%;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.calendar-month-step { min-width: 0; }
.calendar-tools {
display: flex;
overflow-x: auto;
scrollbar-width: none;
}
.calendar-tool { flex: 0 0 auto; }
.calendar-day { min-height: 5.75rem; }
.team-simple-row {
grid-template-columns: minmax(0, 1fr);
gap: var(--space-5);
}
}

/* v144 — a calmer thread and one upload-field language. */

.page-task .page-subtitle.task-header-meta {
max-width: none;
margin-top: var(--space-2);
gap: var(--space-1) var(--space-4);
color: var(--color-label-secondary);
font-size: var(--font-size-3) !important;
line-height: var(--line-body);
}

.page-task .feed { border-top: .0625rem solid var(--color-separator); }
.page-task .message,
.page-task .message:nth-child(n) {
grid-template-columns: 3.5rem minmax(0, 1fr);
gap: var(--space-4);
border-bottom: .0625rem solid var(--color-separator);
}
.page-task .message:last-child { border-bottom: 0; }
.page-task .message::before { display: none; }
.page-task .message-author-rail {
padding-top: var(--space-5);
align-self: start;
}
.page-task .bubble,
.page-task .message.system .bubble,
.page-task .message:not(.system):not(.is-final-output) .bubble,
.page-task .message.is-final-output .bubble {
margin: 0;
padding: var(--space-5) 0 var(--space-6);
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.page-task .bubble-head {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
gap: var(--space-4);
margin-bottom: var(--space-2);
}
.page-task .bubble-heading-stack {
display: grid;
min-width: 0;
gap: var(--space-2);
}
.page-task .message-time {
display: inline-flex;
flex: 0 0 auto;
align-items: baseline;
gap: var(--space-2);
color: var(--color-label-tertiary);
font-size: var(--font-size-1);
line-height: var(--line-title);
white-space: nowrap;
}
.page-task .message-time strong {
color: var(--color-label-secondary);
font-weight: var(--weight-bold);
}
.page-task .message-time span { font-weight: var(--weight-regular); }
.page-task .message-read-time { position: relative; cursor: default; outline: none; }
.page-task .message-read-tooltip {
position: absolute;
z-index: 30;
top: calc(100% + var(--space-2));
right: 0;
display: grid;
min-width: 14rem;
max-width: min(19rem, calc(100vw - var(--space-6)));
gap: var(--space-2);
padding: var(--space-3);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-md);
background: var(--color-surface);
box-shadow: 0 .75rem 2rem rgb(28 40 58 / 16%);
color: var(--color-label) !important;
font-size: var(--font-size-1);
line-height: var(--line-title);
text-align: left;
white-space: normal;
opacity: 0;
pointer-events: none;
transform: translateY(-.25rem);
transition: opacity .16s ease, transform .16s ease;
}
.page-task .message-read-tooltip > strong { color: var(--color-label) !important; font-weight: var(--weight-semibold) !important; }
.page-task .message-read-tooltip > small { color: var(--color-label-secondary) !important; font-weight: var(--weight-regular) !important; }
.page-task .message-read-list { display: grid; gap: var(--space-2); }
.page-task .message-read-list > span { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.page-task .message-read-list b { color: var(--color-label) !important; font-weight: var(--weight-medium) !important; }
.page-task .message-read-list small { color: var(--color-label-secondary) !important; font-size: var(--font-size-0); font-weight: var(--weight-regular) !important; white-space: nowrap; }
.page-task .message-read-time:is(:hover, :focus-visible) .message-read-tooltip { opacity: 1; pointer-events: auto; transform: translateY(0); }
.page-task .message:not(.system) .bubble-title,
.page-task .bubble-title {
color: var(--color-label);
font-size: var(--font-size-3);
font-weight: var(--weight-semibold);
}
.page-task .message:not(.system) .bubble p {
margin-top: var(--space-2);
font-size: var(--font-size-3);
line-height: var(--line-body);
}
.page-task .message.system:not(.message-event-created):not(.message-event-brief_updated) .bubble-title {
color: var(--color-label-secondary);
font-weight: var(--weight-medium);
}

.page-task .message.is-pending-approval {
margin-block: var(--space-3);
padding-inline: var(--space-4);
border: .0625rem solid color-mix(in srgb, var(--color-warning) 30%, var(--color-separator));
border-left: .25rem solid var(--color-warning);
border-radius: var(--radius-sm);
background: color-mix(in srgb, var(--color-warning-tint) 64%, var(--color-surface));
}
.page-task .message.is-pending-approval .message-author-rail { padding-top: var(--space-5); }
.page-task .message.is-pending-approval .bubble { padding-right: var(--space-1); }
.page-task .message.is-pending-approval + .message { border-top: 0; }
.page-task .final-output-banner {
margin: 0;
border-radius: var(--radius-sm);
font-weight: var(--weight-semibold);
}
.page-task .is-pending-approval .final-output-banner {
background: color-mix(in srgb, var(--color-warning) 13%, var(--color-surface));
}
.page-task .final-files {
margin-top: var(--space-5);
padding-top: var(--space-1);
border-top: .0625rem solid var(--color-separator);
}
.page-task .final-files-head {
min-height: 0;
padding-block: var(--space-3);
}
.page-task .final-files-head > div {
display: grid;
gap: .125rem;
}
.page-task .final-files-head > div > small {
color: var(--color-label-tertiary);
font-size: var(--font-size-1);
}
.page-task .final-file-list {
gap: var(--space-2);
border-top: 0;
}
.page-task .final-file-row {
padding: var(--space-3);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-sm);
background: var(--color-surface);
}
.page-task .final-file-row:last-child { border-bottom: .0625rem solid var(--color-separator); }
.page-task .final-file-actions a {
display: inline-flex;
width: auto;
min-width: var(--control-sm);
height: var(--control-sm);
align-items: center;
gap: var(--space-2);
padding-inline: var(--space-2);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-sm);
color: var(--color-label-secondary);
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
}
.page-task .final-file-actions a:hover {
border-color: var(--color-separator-strong);
background: var(--color-surface-secondary);
color: var(--color-accent);
transform: none;
}
.page-task .final-output-actions { margin-top: var(--space-5); }

.app-file-picker {
position: relative;
display: block;
min-width: 0;
flex: 1;
cursor: pointer;
}
.app-file-picker > input[type="file"] {
position: absolute;
width: .0625rem;
height: .0625rem;
overflow: hidden;
opacity: 0;
}
.app-file-picker > span {
display: grid;
min-height: 4.5rem;
grid-template-columns: var(--control-sm) minmax(0, 1fr);
align-items: center;
gap: var(--space-3);
padding: var(--space-2) var(--space-3);
border: .0625rem dashed var(--color-separator-strong);
border-radius: var(--radius-control);
background: var(--color-surface);
transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}
.app-file-picker > span > i {
display: grid;
width: var(--control-sm);
height: var(--control-sm);
place-items: center;
border-radius: var(--radius-sm);
background: var(--color-surface-secondary);
color: var(--color-label-secondary);
}
.app-file-picker > span > span {
display: grid;
min-width: 0;
gap: .125rem;
}
.app-file-picker strong {
overflow: hidden;
color: var(--color-label);
font-size: var(--font-size-2);
font-weight: var(--weight-semibold);
text-overflow: ellipsis;
white-space: nowrap;
}
.app-file-picker small {
color: var(--color-label-tertiary);
font-size: var(--font-size-1);
line-height: var(--line-title);
}
.app-file-picker:hover > span {
border-color: var(--color-label-tertiary);
background: var(--color-surface-secondary);
}
.app-file-picker:focus-within > span {
border-color: var(--color-accent);
box-shadow: var(--focus-ring);
}
.app-file-picker > input:disabled + span {
cursor: not-allowed;
opacity: .52;
}
.order-file-question.app-file-picker > span { min-height: 4.5rem; }
.order-file-question.app-file-picker > span > i {
grid-row: auto;
font-size: inherit;
}
.composer-asset-actions .app-file-picker {
width: min(24rem, 100%);
flex: 0 1 24rem;
min-height: 0;
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
}
.composer-asset-actions .app-file-picker > span { min-height: 4.5rem; }
.composer-asset-actions > button { min-height: 4.5rem; }
.app-file-picker-action {
width: auto;
flex: 0 0 auto;
}
.app-file-picker-action > span {
min-height: var(--control-lg);
grid-template-columns: var(--icon-md) auto;
gap: var(--space-2);
padding: 0 var(--space-4);
border-style: solid;
border-color: var(--color-brand);
background: var(--color-brand);
}
.app-file-picker-action > span > i {
width: var(--icon-md);
height: var(--icon-md);
background: transparent;
color: var(--color-surface);
}
.app-file-picker-action strong { color: var(--color-surface); }
.app-file-picker-action:hover > span {
border-color: var(--color-brand-hover);
background: var(--color-brand-hover);
}

@media (max-width: 42rem) {
.page-task .message,
.page-task .message:nth-child(n) {
grid-template-columns: var(--control-sm) minmax(0, 1fr);
gap: var(--space-3);
}
.page-task .bubble-head { gap: var(--space-2); }
.page-task .message-time { gap: var(--space-1); }
.page-task .message.is-pending-approval { padding-inline: var(--space-3); }
.page-task .final-file-row { grid-template-columns: var(--control-sm) minmax(0, 1fr); }
.page-task .final-file-actions {
grid-column: 2;
flex-wrap: wrap;
}
.composer-asset-actions {
display: grid;
grid-template-columns: minmax(0, 1fr);
}
.composer-asset-actions .app-file-picker { width: 100%; }
}

/* v145 — one compact workflow language for messages, outputs and decisions. */
.action-panel.task-modal-panel.workflow-dialog { padding: var(--space-4); }
.task-modal-panel.workflow-dialog > .form-grid {
width: min(100%, 48rem);
max-height: min(48rem, calc(100dvh - var(--space-8)));
overflow-x: hidden;
}
.workflow-dialog .compose-head {
display: grid;
min-height: 4.75rem;
grid-template-columns: var(--control-md) minmax(0, 1fr) var(--control-sm);
align-items: center;
gap: var(--space-3);
padding-block: var(--space-3);
}
.workflow-dialog-icon {
display: grid;
width: var(--control-md);
height: var(--control-md);
place-items: center;
border-radius: var(--radius-control);
background: var(--color-accent-tint);
color: var(--color-accent);
font-size: var(--font-size-4);
}
.workflow-dialog .compose-head > .workflow-dialog-icon { display: grid; }
.workflow-output-dialog .workflow-dialog-icon { background: var(--color-warning-tint); color: var(--color-warning); }
.workflow-close-dialog .workflow-dialog-icon { background: var(--color-success-tint); color: var(--color-success); }
.workflow-return-dialog .workflow-dialog-icon { background: var(--color-purple-tint); color: var(--color-purple); }
.workflow-dialog-title { grid-column: 2; display: grid; min-width: 0; gap: .125rem; }
.workflow-dialog-title strong { font-size: var(--font-size-4); line-height: var(--line-title); }
.workflow-dialog-title small { color: var(--color-label-secondary); font-size: var(--font-size-1); line-height: var(--line-body); }
.workflow-dialog .panel-close {
position: static;
grid-column: 3;
grid-row: 1;
justify-self: end;
}
.task-modal-panel.workflow-dialog > .form-grid > .workflow-message-field {
margin: var(--space-5) var(--space-6) 0;
}
.workflow-message-field { gap: var(--space-2); }
.workflow-message-field > label { font-size: var(--font-size-1); }
.workflow-message-field textarea {
min-height: 7.5rem;
padding: var(--space-4);
border-color: var(--color-separator-strong);
background: var(--color-surface);
resize: vertical;
}
.workflow-message-field textarea::placeholder { color: var(--color-label-tertiary); }
.task-modal-panel.workflow-dialog > .form-grid > .composer-assets {
margin: var(--space-4) var(--space-6) 0;
}
.workflow-dialog .composer-assets {
gap: var(--space-3);
padding: 0;
border: 0;
background: transparent;
}
.workflow-dialog .composer-asset-actions {
display: grid;
grid-template-columns: minmax(0, 1fr) 10rem;
gap: var(--space-2);
}
.workflow-dialog .composer-asset-actions .app-file-picker { width: auto; max-width: none; }
.workflow-dialog .composer-asset-actions .app-file-picker > span,
.workflow-dialog .composer-asset-actions > button {
min-height: 4.25rem;
border-radius: var(--radius-control);
}
.workflow-dialog .composer-asset-actions .app-file-picker > span {
border-color: var(--color-separator-strong);
background: var(--color-surface-secondary);
}
.workflow-dialog .composer-asset-actions .app-file-picker:hover > span,
.workflow-dialog .composer-assets.is-dragging .app-file-picker > span {
border-color: var(--color-accent);
background: var(--color-accent-tint);
}
.workflow-dialog .composer-file-selection {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-3);
}
.workflow-dialog .composer-file-chip {
position: relative;
display: grid;
min-height: 9.5rem;
grid-template-columns: minmax(0, 1fr) var(--control-sm);
grid-template-rows: 6.5rem auto;
gap: 0;
overflow: hidden;
padding: 0;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
}
.composer-file-preview {
position: relative;
grid-column: 1 / -1;
display: grid;
min-width: 0;
place-items: center;
overflow: hidden;
border-bottom: .0625rem solid var(--color-separator);
background: var(--color-surface-secondary);
color: var(--color-label-tertiary);
font-size: var(--font-size-6);
}
.composer-file-preview img,
.composer-file-preview object,
.composer-file-preview iframe { width: 100%; height: 100%; border: 0; object-fit: cover; pointer-events: none; }
.workflow-dialog .composer-file-copy { align-self: center; padding: var(--space-2) 0 var(--space-2) var(--space-3); }
.workflow-dialog .composer-file-copy strong { font-size: var(--font-size-1); }
.workflow-dialog .composer-file-copy small { font-size: var(--font-size-0); }
.workflow-dialog .composer-file-chip > .composer-asset-remove {
align-self: center;
justify-self: center;
width: var(--control-sm);
height: var(--control-sm);
}
.workflow-state-note {
display: grid;
grid-template-columns: var(--control-sm) minmax(0, 1fr);
align-items: center;
gap: var(--space-3);
padding: var(--space-3);
border-radius: var(--radius-control);
background: var(--color-surface-secondary);
color: var(--color-label-secondary);
}
.task-modal-panel.workflow-dialog > .form-grid > .workflow-state-note { margin: var(--space-4) var(--space-6) 0; }
.workflow-state-note > i { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-accent); }
.workflow-state-note > span { display: grid; gap: .125rem; }
.workflow-state-note strong { color: var(--color-label); font-size: var(--font-size-2); }
.workflow-state-note small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.workflow-state-note.is-success { background: var(--color-success-tint); }
.workflow-state-note.is-success > i { color: var(--color-success); }
.workflow-state-note.is-return { background: var(--color-purple-tint); }
.workflow-state-note.is-return > i { color: var(--color-purple); }
.workflow-dialog .form-actions { min-height: 4.5rem; }

.attachment-preview-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-3);
}
.message-attachment-previews { margin-top: var(--space-4); }
.attachment-preview-card {
min-width: 0;
overflow: hidden;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
}
.attachment-preview-media {
position: relative;
display: grid;
width: 100%;
height: 10.5rem;
place-items: center;
overflow: hidden;
border-bottom: .0625rem solid var(--color-separator);
background: var(--color-surface-secondary);
}
.attachment-preview-media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--duration-standard) var(--ease-standard); }
.attachment-preview-card:hover .attachment-preview-media img { transform: scale(1.015); }
.attachment-pdf-preview :is(object, iframe) { width: 100%; height: 100%; border: 0; pointer-events: none; }
.attachment-pdf-preview > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.attachment-pdf-fallback { display: grid; justify-items: center; gap: var(--space-2); color: var(--color-label-secondary); }
.attachment-pdf-fallback > i { font-size: var(--font-size-7); }
.attachment-pdf-fallback > small { font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.attachment-pdf-preview .attachment-preview-shield { z-index: 2; }
.attachment-preview-shield { position: absolute; inset: 0; }
.attachment-file-preview > span,
.attachment-pdf-preview object > span { display: grid; justify-items: center; gap: var(--space-2); color: var(--color-label-secondary); }
.attachment-file-preview i,
.attachment-pdf-preview object i { font-size: var(--font-size-7); }
.attachment-file-preview small,
.attachment-pdf-preview object small { font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.attachment-preview-info {
display: grid;
min-height: 3.75rem;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: var(--space-2);
padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3);
}
.attachment-preview-info > span { display: grid; min-width: 0; gap: .125rem; }
.attachment-preview-info strong { overflow: hidden; font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.attachment-preview-info small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.attachment-preview-actions { display: flex; gap: var(--space-1); }
.attachment-preview-actions a { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-sm); color: var(--color-label-secondary); }
.attachment-preview-actions a:hover { background: var(--color-surface-secondary); color: var(--color-accent); }
.page-task .final-files { padding-top: 0; border-top: 0; }
.page-task .final-files-head { padding-block: var(--space-4) var(--space-3); }
.page-task .final-file-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.page-task .final-download-all { padding-inline: var(--space-3); border: .0625rem solid var(--color-separator); background: var(--color-surface); }
.page-task .final-download-all:hover { border-color: var(--color-separator-strong); }
.page-task .final-output-banner,
.workflow-event-banner {
display: inline-grid;
width: fit-content;
min-height: var(--control-md);
grid-template-columns: var(--control-sm) auto;
align-items: center;
gap: var(--space-2);
padding: var(--space-1) var(--space-3) var(--space-1) var(--space-1);
border-radius: var(--radius-control);
}
.page-task .final-output-banner > span,
.workflow-event-banner > i { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-sm); background: color-mix(in srgb, currentColor 10%, var(--color-surface)); }
.page-task .final-output-banner > div,
.workflow-event-banner > span { display: grid; gap: .0625rem; }
.page-task .final-output-banner strong,
.workflow-event-banner strong { font-size: var(--font-size-2); line-height: var(--line-title); }
.page-task .final-output-banner small,
.workflow-event-banner small { color: color-mix(in srgb, currentColor 72%, var(--color-label-secondary)); font-size: var(--font-size-0); line-height: var(--line-title); }
.workflow-event-banner.is-return { background: var(--color-purple-tint); color: var(--color-purple); }
.workflow-event-banner.is-success { background: var(--color-success-tint); color: var(--color-success); }
.page-task .message.message-event-changes_requested,
.page-task .message.message-event-closed { margin-block: var(--space-2); padding-inline: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface-secondary); }
.page-task .message.message-event-changes_requested { border-left: .25rem solid var(--color-purple); }
.page-task .message.message-event-closed { border-left: .25rem solid var(--color-success); }

@media (max-width: 42rem) {
.action-panel.task-modal-panel.workflow-dialog { place-items: end center; padding: 0; }
.task-modal-panel.workflow-dialog > .form-grid { width: 100%; max-height: 94dvh; border-radius: var(--radius-panel) var(--radius-panel) 0 0; }
.workflow-dialog .compose-head { grid-template-columns: var(--control-md) minmax(0, 1fr) var(--control-sm); padding-inline: var(--space-4); }
.task-modal-panel.workflow-dialog > .form-grid > .workflow-message-field,
.task-modal-panel.workflow-dialog > .form-grid > .composer-assets,
.task-modal-panel.workflow-dialog > .form-grid > .workflow-state-note { margin-inline: var(--space-4); }
.workflow-dialog .composer-asset-actions { grid-template-columns: minmax(0, 1fr); }
.workflow-dialog .composer-file-selection,
.attachment-preview-grid,
.page-task .final-file-list { grid-template-columns: minmax(0, 1fr); }
.attachment-preview-media { height: 11.5rem; }
.page-task .message.message-event-changes_requested,
.page-task .message.message-event-closed { padding-inline: var(--space-3); }
}

/* v146 final overrides — deliberately last in the cascade. */
.page-task .feed { gap: var(--space-3); padding-top: var(--space-3); border-top: 0; }
.page-task .message,
.page-task .message:nth-child(n),
.page-task .message.is-pending-approval,
.page-task .message.message-event-changes_requested,
.page-task .message.message-event-closed {
grid-template-columns: 3.5rem minmax(0, 1fr);
gap: var(--space-4);
margin: 0;
padding: var(--space-4);
border: .0625rem solid color-mix(in srgb, var(--color-separator) 72%, transparent);
border-radius: var(--radius-control);
background: color-mix(in srgb, var(--color-surface-secondary) 72%, var(--color-surface));
}
.page-task .message:last-child { border-bottom: .0625rem solid color-mix(in srgb, var(--color-separator) 72%, transparent); }
.page-task .message.is-final-output,
.page-task .message.is-pending-approval { border-color: var(--color-separator); background: color-mix(in srgb, var(--color-surface-secondary) 82%, var(--color-surface)); }
.page-task .message.message-event-changes_requested,
.page-task .message.message-event-closed { border-left-width: .0625rem; }
.page-task .message-author-rail,
.page-task .message.is-pending-approval .message-author-rail { padding-top: 0; }
.page-task .bubble,
.page-task .message.system .bubble,
.page-task .message:not(.system):not(.is-final-output) .bubble,
.page-task .message.is-final-output .bubble,
.page-task .message.is-pending-approval .bubble { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.page-task .bubble-head { margin-bottom: var(--space-5); }
.page-task .final-output-banner { margin: 0 0 var(--space-1); }
.page-task .final-files { margin-top: var(--space-4); padding-top: var(--space-4); border-top: .0625rem solid var(--color-separator); }

/* The author/action line and an order brief are separate reading units. */
body.page-task main.container .feed > .message:is(.message-event-created, .message-event-brief_updated) .message-display-content {
padding-top: var(--space-4);
border-top: .0625rem solid var(--color-separator);
}

.attachment-preview-grid,
.page-task .final-file-list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 14rem)); align-items: start; justify-content: start; gap: var(--space-3); }
.attachment-preview-card { width: 100%; max-width: 14rem; border-color: var(--color-separator); background: var(--color-surface); box-shadow: 0 .0625rem .125rem color-mix(in srgb, var(--color-label) 5%, transparent); transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.attachment-preview-card:hover { border-color: var(--color-separator-strong); box-shadow: 0 .25rem .75rem color-mix(in srgb, var(--color-label) 9%, transparent); transform: translateY(-.0625rem); }
.attachment-preview-media { height: auto; aspect-ratio: 4 / 3; }
.attachment-preview-card.is-image .attachment-preview-media img,
.attachment-pdf-preview > img { width: 100%; height: 100%; padding: var(--space-2); object-fit: contain; background: var(--color-surface-secondary); }
.attachment-preview-card:hover .attachment-preview-media img { transform: none; }
.attachment-preview-info { min-height: 3.5rem; }
.created-brief-assets > strong { display: block; margin-top: var(--space-4); }
.created-brief-assets .message-attachment-previews { margin-top: var(--space-3); }

.composer-assets-heading { display: flex; min-height: var(--control-sm); align-items: center; justify-content: space-between; gap: var(--space-3); }
.composer-assets-heading > span { display: grid; gap: .0625rem; }
.composer-assets-heading > span > strong { color: var(--color-label); font-size: var(--font-size-1); }
.composer-assets-heading > span > small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.workflow-dialog .composer-assets { gap: var(--space-2); }
.workflow-dialog .composer-assets > .app-file-picker { width: 100%; max-width: none; }
.app-file-picker > span { min-height: 4.25rem; grid-template-columns: var(--control-sm) minmax(0, 1fr) auto; border-color: var(--color-separator); background: var(--color-surface-secondary); }
.app-file-picker > span > em { padding: .5rem .75rem; border: .0625rem solid var(--color-separator); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-label-secondary); font-size: var(--font-size-1); font-style: normal; font-weight: var(--weight-semibold); }
.app-file-picker:hover > span { border-color: var(--color-accent); background: color-mix(in srgb, var(--color-accent-tint) 52%, var(--color-surface)); }
.app-file-picker:hover > span > i { background: var(--color-surface); color: var(--color-accent); }
.workflow-opinion-dialog .workflow-dialog-icon { background: var(--color-purple-tint); color: var(--color-purple); }
.workflow-opinion-note > i { color: var(--color-purple); }

.file-preview-modal { display: grid; width: min(100%, 58rem); height: min(54rem, calc(100dvh - (var(--space-6) * 2))); max-height: min(54rem, calc(100dvh - (var(--space-6) * 2))); grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; padding: 0; }
.file-preview-modal .modal-head { margin: 0; padding: var(--space-3) var(--space-4); }
.file-preview-modal .modal-head > div { display: grid; min-width: 0; gap: .125rem; }
.file-preview-modal .modal-title { overflow: hidden; font-size: var(--font-size-3); text-overflow: ellipsis; white-space: nowrap; }
.file-preview-modal .modal-head small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.file-preview-body { position: relative; display: grid; height: auto; min-height: 0; place-items: center; overflow: hidden; padding: var(--space-4); background: var(--color-surface-secondary); }
.file-preview-body > img {
position: absolute;
inset: 0;
width: 100%;
max-width: none;
height: 100%;
max-height: none;
padding: var(--space-4);
object-fit: contain;
object-position: center;
border-radius: calc(var(--radius-sm) + var(--space-4));
}
.file-preview-body > iframe { width: 100%; height: 100%; border: 0; border-radius: var(--radius-sm); background: var(--color-surface); }
.file-preview-nav {
position: absolute;
top: 50%;
z-index: 4;
display: grid;
width: var(--control-lg);
height: var(--control-lg);
place-items: center;
padding: 0;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-pill);
background: color-mix(in srgb, var(--color-surface) 92%, transparent);
color: var(--color-label);
box-shadow: var(--shadow-1);
transform: translateY(-50%);
-webkit-backdrop-filter: blur(.75rem);
backdrop-filter: blur(.75rem);
}
.file-preview-nav.is-prev { left: var(--space-6); }
.file-preview-nav.is-next { right: var(--space-6); }
.file-preview-nav:hover:not(:disabled) { border-color: var(--color-separator-strong); background: var(--color-surface); }
.file-preview-nav:disabled { opacity: .32; cursor: default; }
.file-preview-counter {
position: absolute;
top: var(--space-6);
left: 50%;
z-index: 4;
padding: .375rem .625rem;
border-radius: var(--radius-pill);
background: color-mix(in srgb, var(--color-label) 76%, transparent);
color: var(--color-label-inverse);
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
line-height: 1;
transform: translateX(-50%);
}
.file-preview-fallback { display: grid; justify-items: center; gap: var(--space-2); color: var(--color-label-secondary); text-align: center; }
.file-preview-fallback > i { font-size: var(--font-size-8); color: var(--color-label-tertiary); }
.file-preview-fallback > small { color: var(--color-label-tertiary); }
.file-preview-actions { display: flex; justify-content: flex-end; gap: var(--space-2); padding: var(--space-3) var(--space-4); border-top: .0625rem solid var(--color-separator); background: var(--color-surface); }

/* Task history — keep the current phase prominent while older context remains one click away. */
.page-task .task-detail-header .task-header-meta .task-meta-deadline.deadline-overdue {
color: var(--color-error) !important;
font-weight: var(--weight-bold) !important;
}
.page-task .task-detail-header .task-header-meta .task-meta-deadline.deadline-overdue > i { color: currentColor; }
.thread-message-details { margin-top: var(--space-2); }
.thread-message-details > summary {
display: inline-flex;
min-height: var(--control-xs);
align-items: center;
gap: var(--space-2);
color: var(--color-label-secondary);
cursor: pointer;
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
list-style: none;
}
.thread-message-details > summary::-webkit-details-marker { display: none; }
.thread-message-details > summary::marker { content: ''; }
.thread-message-details > summary > i { width: .75rem; color: var(--color-label-tertiary); font-size: var(--font-size-0); text-align: center; transition: transform var(--duration-fast) var(--ease-standard); }
.thread-message-details[open]:not(.is-closing) > summary > i { transform: rotate(180deg); }
.thread-message-details > summary:hover { color: var(--color-label); }
.thread-message-details > summary:focus-visible { border-radius: var(--radius-xs); outline: .125rem solid color-mix(in srgb, var(--color-accent) 40%, transparent); outline-offset: .1875rem; }
.thread-message-collapsible-body { display: grid; grid-template-rows: 1fr; padding-top: var(--space-3); }
.thread-message-collapsible-content { min-height: 0; }
.page-task .feed > .message.is-collapsible-closed { cursor: pointer; }
.page-task .feed > .message.is-collapsible-closed .bubble-head { pointer-events: none; }
.page-task .feed > .message.has-collapsible-message { transition: box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.thread-message-collapsible-body.is-animating {
contain: layout paint;
will-change: grid-template-rows, padding-top;
}
.thread-message-collapsible-body.is-animating > .thread-message-collapsible-content { overflow: hidden; }
.thread-message-collapsible-content.is-fading { will-change: opacity; }
@media (prefers-reduced-motion: reduce) {
.page-task .feed > .message.has-collapsible-message { transition: none; }
}
body.page-task main.container .feed > .message .thread-message-collapsible-content > p {
font-size: var(--font-size-2) !important;
line-height: var(--line-body) !important;
}

/* Roles, archive actions and routing on newly created marketing orders. */
.admin-delegate-control { display: block; margin-top: var(--space-5); cursor: pointer; }
.admin-delegate-control[hidden] { display: none; }
.admin-delegate-control > input { position: absolute; opacity: 0; pointer-events: none; }
.admin-delegate-control > span { display: grid; grid-template-columns: var(--control-md) minmax(0, 1fr); align-items: center; gap: var(--space-3); padding: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface-secondary); transition: border-color var(--duration-fast) var(--ease-standard), background var(--duration-fast) var(--ease-standard); }
.admin-delegate-control > span > i { display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-label-tertiary); }
.admin-delegate-control > span > span { display: grid; gap: var(--space-1); }
.admin-delegate-control strong { font-size: var(--font-size-2); }
.admin-delegate-control small { color: var(--color-label-secondary); font-size: var(--font-size-1); line-height: var(--line-body); }
.admin-delegate-control > input:checked + span { border-color: color-mix(in srgb, var(--color-accent) 32%, var(--color-separator)); background: var(--color-accent-tint); }
.admin-delegate-control > input:checked + span > i { background: var(--color-accent); color: var(--color-label-inverse); }
.admin-delegate-control > input:focus-visible + span { box-shadow: var(--focus-ring); }
.admin-user-tags .admin-delegate-badge { background: var(--color-accent-tint); color: var(--color-accent); }

.task-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-1); }
.task-row-actions .dashboard-open-task { width: var(--control-sm); height: var(--control-sm); }

.page-new .order-routing-section { display: grid; gap: var(--space-5); margin-top: var(--space-6); }
.page-new .order-routing-section .final-review-section-head { margin: 0; }
.page-new .order-routing-section .final-review-section-head > div { display: grid; gap: var(--space-1); }
.page-new .order-routing-section .final-review-section-head p { margin: 0; color: var(--color-label-secondary); font-size: var(--font-size-2); }
.order-routing-grid { display: grid; gap: var(--space-6); }
.order-routing-fieldset { display: grid; min-width: 0; gap: var(--space-3); margin: 0; padding: 0; border: 0; }
.order-routing-fieldset > legend { margin-bottom: var(--space-3); color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.order-priority-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); }
.order-priority-option { min-width: 0; cursor: pointer; }
.order-priority-option > input,
.order-assignee-option > input { position: absolute; opacity: 0; pointer-events: none; }
.order-priority-option > span { display: flex; min-height: var(--control-lg); align-items: center; justify-content: center; gap: var(--space-2); padding: 0 var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.order-priority-option > input:checked + span { border-color: color-mix(in srgb, var(--color-accent) 35%, var(--color-separator)); background: var(--color-accent-tint); color: var(--color-accent); }
.order-priority-option.priority-low > input:checked + span { border-color: color-mix(in srgb, var(--color-blue) 30%, var(--color-separator)); background: var(--color-blue-tint); color: var(--color-blue); }
.order-priority-option.priority-medium > input:checked + span { border-color: color-mix(in srgb, var(--color-warning) 30%, var(--color-separator)); background: var(--color-warning-tint); color: var(--color-warning); }
.order-priority-option.priority-high > input:checked + span { border-color: color-mix(in srgb, var(--color-error) 30%, var(--color-separator)); background: var(--color-error-tint); color: var(--color-error); }
.order-priority-option > input:focus-visible + span,
.order-assignee-option > input:focus-visible + span { box-shadow: var(--focus-ring); }
.order-assignee-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.order-assignee-option { min-width: 0; cursor: pointer; }
.order-assignee-option > span { display: grid; min-height: 4rem; grid-template-columns: var(--control-sm) minmax(0, 1fr) 1.375rem; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard); }
.order-assignee-option > span > span { display: grid; min-width: 0; gap: var(--space-1); }
.order-assignee-option strong { overflow: hidden; font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.order-assignee-option small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.order-assignee-option > span > i { display: grid; width: 1.375rem; height: 1.375rem; place-items: center; border: .0625rem solid var(--color-separator-strong); border-radius: 50%; background: var(--color-surface); color: transparent; font-size: .6875rem; line-height: 1; }
.order-assignee-option:hover > span { border-color: var(--color-separator-strong); }
.order-assignee-option > input:checked + span { border-color: color-mix(in srgb, var(--color-brand) 32%, var(--color-separator)); background: var(--color-brand-tint); }
.order-assignee-option > input:checked + span > i { border-color: var(--color-brand); background: var(--color-brand); color: var(--color-label-inverse); }

@media (max-width: 42rem) {
.inbox-row > .task-row-actions { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.inbox-row > .task-row-actions .dashboard-open-task { grid-column: auto; grid-row: auto; }
.order-priority-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.order-assignee-options { grid-template-columns: minmax(0, 1fr); }
.page-task .message,
.page-task .message:nth-child(n),
.page-task .message.is-pending-approval,
.page-task .message.message-event-changes_requested,
.page-task .message.message-event-closed { grid-template-columns: var(--control-sm) minmax(0, 1fr); gap: var(--space-3); padding: var(--space-3); }
.attachment-preview-grid,
.page-task .final-file-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.attachment-preview-card { max-width: none; }
.attachment-preview-info { grid-template-columns: minmax(0, 1fr); }
.attachment-preview-actions { display: none; }
.app-file-picker > span { grid-template-columns: var(--control-sm) minmax(0, 1fr); }
.app-file-picker > span > em { display: none; }
.file-preview-modal { width: 100%; height: 94dvh; max-height: 94dvh; }
.file-preview-body { height: auto; min-height: 0; }
.file-preview-actions > .btn { flex: 1; }
}
/* v151 — checkout-style order flow. */
.page-new .page-header,
.page-new .order-wizard { width: min(100%, 72rem); margin-inline: auto; }
.page-new .page-header { margin-bottom: var(--space-4); padding-bottom: 0; border: 0; }
.page-new .page-header h1 { font-size: clamp(var(--font-size-7), 3vw, var(--font-size-8)); }
.page-new .order-form { gap: 0; }

.page-new .wizard-progress { position: relative; display: grid; width: min(100%, 38rem); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0 0 var(--space-4); padding: 0; border: 0; background: transparent; }
.page-new .wizard-dot { position: relative; min-height: var(--control-md); justify-content: flex-start; gap: var(--space-2); padding: 0; border: 0; background: transparent; color: var(--color-label-tertiary); box-shadow: none; }
.page-new .wizard-dot::after { display: none; }
.page-new .wizard-dot:not(:last-child)::before { position: absolute; z-index: 0; top: 50%; right: var(--space-3); left: 2rem; height: .0625rem; background: var(--color-separator); content: ''; }
.page-new .wizard-dot span { position: relative; z-index: 1; display: grid; width: 1.75rem; height: 1.75rem; flex: 0 0 1.75rem; place-items: center; border: .0625rem solid var(--color-separator); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-label-secondary); font-size: var(--font-size-1); }
.page-new .wizard-dot strong { position: relative; z-index: 1; padding-right: var(--space-2); background: var(--color-surface); font-size: var(--font-size-1); }
.page-new .wizard-dot.active,
.page-new .wizard-dot.is-done { background: transparent; color: var(--color-label); box-shadow: none; }
.page-new .wizard-dot.active span { border-color: var(--color-brand); background: var(--color-brand); color: var(--color-label-inverse); }
.page-new .wizard-dot.is-done span { border-color: var(--color-label); background: var(--color-label); color: var(--color-label-inverse); }
.page-new .wizard-dot:disabled { cursor: default; opacity: 1; }

.page-new .order-step-heading { display: grid; gap: var(--space-1); margin-bottom: var(--space-5); }
.page-new .order-step-heading > span { color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-bold); letter-spacing: .06em; text-transform: uppercase; }
.page-new .order-step-heading h2 { margin: 0; font-size: clamp(var(--font-size-5), 2vw, var(--font-size-6)); line-height: var(--line-title); letter-spacing: -.02em; }
.page-new .order-step-heading p { margin: 0; color: var(--color-label-secondary); font-size: var(--font-size-2); }

.page-new .type-grid,
.page-new .type-grid:has(> .type-card:only-child),
.page-new .type-grid:has(> .type-card:nth-child(2):last-child),
.page-new .type-grid:has(> .type-card:nth-child(4):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); overflow: visible; border: 0; background: transparent; }
.page-new .type-card,
.page-new .type-card:nth-child(2n),
.page-new .type-card:nth-last-child(-n + 2) { min-height: 7rem; grid-template-columns: var(--control-md) minmax(0, 1fr); grid-template-rows: auto; align-content: center; align-items: center; gap: var(--space-3); padding: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); box-shadow: 0 .125rem .35rem rgb(20 22 29 / .03); }
.page-new .type-card:hover { border-color: color-mix(in srgb, var(--color-brand) 34%, var(--color-separator)); background: var(--color-surface); box-shadow: 0 .4rem 1rem rgb(20 22 29 / .07); }
.page-new .type-card:has(input:checked) { border-color: var(--color-brand); background: var(--color-brand-tint); box-shadow: 0 0 0 .125rem color-mix(in srgb, var(--color-brand) 12%, transparent); }
.page-new .type-icon { width: var(--control-md); height: var(--control-md); font-size: var(--font-size-4); }
.page-new .type-card-copy { align-self: center; gap: var(--space-1); padding-right: var(--space-5); }
.page-new .type-card-copy strong { font-size: var(--font-size-3); line-height: var(--line-title); }
.page-new .type-card-copy small { display: -webkit-box; overflow: hidden; color: var(--color-label-secondary); font-size: var(--font-size-1); line-height: var(--line-body); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-new .type-selected { top: var(--space-3); right: var(--space-3); width: 1.5rem; height: 1.5rem; font-size: var(--font-size-0); }

.page-new .order-spec-surface { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; gap: var(--space-5); overflow: visible; border: 0; background: transparent; }
.page-new .order-spec-main { min-width: 0; overflow: hidden; border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); }
.page-new .order-name-field { display: grid; gap: var(--space-2); padding: var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.page-new .order-name-field label { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; color: var(--color-label); font-size: var(--font-size-2); font-weight: var(--weight-bold); line-height: var(--line-title); }
.page-new .order-name-field input { width: 100%; min-height: var(--control-lg); padding: 0 var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-sm); background: var(--color-surface-secondary); font-size: var(--font-size-3); font-weight: var(--weight-semibold); }
.page-new .order-name-field input:focus { border-color: var(--color-accent); background: var(--color-surface); box-shadow: var(--focus-ring); }
.page-new .dynamic-template-spec.active,
.page-new .dynamic-template-spec.is-active { display: block; border: 0; }
.page-new .spec-title { position: relative; display: grid; min-height: var(--control-lg); grid-template-columns: 1.5rem minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-5); border-bottom: .0625rem solid var(--color-separator); background: var(--color-surface); }
.page-new .spec-title > i { display: grid; width: 1.5rem; height: 1.5rem; place-items: center; border-radius: var(--radius-pill); background: var(--color-brand-tint); font-size: var(--font-size-1); }
.page-new .spec-title strong { font-size: var(--font-size-3); }
.page-new .spec-change-service { min-height: var(--control-sm); padding: 0 var(--space-3); border: .0625rem solid var(--color-separator); border-radius: var(--radius-pill); background: var(--color-surface); color: var(--color-label-secondary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.page-new .spec-change-service:hover { border-color: var(--color-separator-strong); color: var(--color-label); }
.page-new .tile-question { padding: var(--space-5); border-bottom: .0625rem solid var(--color-separator); }
.page-new .tile-question:last-child { border-bottom: 0; }
.page-new .tile-question > strong { margin-bottom: var(--space-2); font-size: var(--font-size-2); }
.page-new .question-help { margin-top: calc(var(--space-1) * -1); font-size: var(--font-size-1); }
.page-new .option-tile > span:first-of-type { min-height: var(--control-md); background: var(--color-surface); font-size: var(--font-size-2); }

.page-new .order-deadline-section { position: sticky; top: calc(var(--topbar-height) + var(--space-5)); margin: 0; padding: var(--space-4); border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: 0 .25rem 1rem rgb(20 22 29 / .05); }
.page-new .deadline-question-copy { display: grid; gap: 0; }
.page-new .deadline-question-copy strong { font-size: var(--font-size-3); }
.page-new .deadline-question-copy output { min-height: 1.25rem; color: var(--color-brand); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.page-new .order-deadline-section .deadline-picker { width: 100%; padding: var(--space-1); border: 0; background: transparent; }
.page-new .wizard-actions { margin-top: var(--space-5); padding-top: var(--space-4); }

.page-new .order-checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; gap: var(--space-5); }
.page-new .final-review.order-checkout-main { display: grid; width: auto; gap: var(--space-4); }
.page-new .final-review-section { padding: var(--space-5); border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); }
.page-new .order-review-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); padding-bottom: var(--space-4); border-bottom: .0625rem solid var(--color-separator); }
.page-new .order-review-heading h3 { overflow-wrap: anywhere; margin: 0; font-size: var(--font-size-5); line-height: var(--line-title); }
.page-new .order-summary { display: grid; gap: 0; }
.page-new .summary-row { display: grid; grid-template-columns: minmax(9rem, .55fr) minmax(0, 1fr); gap: var(--space-4); padding: var(--space-3) 0; border-bottom: .0625rem solid var(--color-separator); border-radius: 0; }
.page-new .summary-row:last-child { border-bottom: 0; }
.page-new .summary-label { color: var(--color-label-secondary); font-size: var(--font-size-1); }
.page-new .summary-value { font-size: var(--font-size-2); font-weight: var(--weight-semibold); line-height: var(--line-body); }

.page-new details.order-routing-section { display: block; margin: 0; padding: 0; }
.page-new .order-routing-section > summary { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: 0 var(--space-5); cursor: pointer; list-style: none; }
.page-new .order-routing-section > summary::-webkit-details-marker { display: none; }
.page-new .order-routing-section > summary > span { display: flex; align-items: center; gap: var(--space-3); }
.page-new .order-routing-section > summary > span > i { color: var(--color-label-secondary); }
.page-new .order-routing-section > summary > span > span { display: grid; gap: var(--space-1); }
.page-new .order-routing-section > summary strong { font-size: var(--font-size-2); }
.page-new .order-routing-section > summary small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.page-new .order-routing-section > summary > i { color: var(--color-label-tertiary); transition: transform var(--duration-fast) var(--ease-standard); }
.page-new .order-routing-section[open] > summary > i { transform: rotate(180deg); }
.page-new .order-routing-section .order-routing-grid { gap: var(--space-5); padding: 0 var(--space-5) var(--space-5); border-top: .0625rem solid var(--color-separator); }
.page-new .order-routing-fieldset { padding-top: var(--space-4); }

.page-new .order-checkout-aside { position: sticky; top: calc(var(--topbar-height) + var(--space-5)); display: grid; gap: var(--space-4); padding: var(--space-5); border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: 0 .35rem 1.2rem rgb(20 22 29 / .06); }
.page-new .order-checkout-aside > span { color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-bold); letter-spacing: .06em; text-transform: uppercase; }
.page-new .order-checkout-aside dl { display: grid; gap: 0; margin: 0; }
.page-new .order-checkout-aside dl > div { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--space-3); padding: var(--space-3) 0; border-bottom: .0625rem solid var(--color-separator); }
.page-new .order-checkout-aside dt { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.page-new .order-checkout-aside dd { overflow-wrap: anywhere; margin: 0; font-size: var(--font-size-1); font-weight: var(--weight-semibold); text-align: right; }
.page-new .order-checkout-submit { width: 100%; justify-content: space-between; }
.page-new .order-checkout-back { display: inline-flex; min-height: var(--control-sm); align-items: center; justify-content: center; gap: var(--space-2); border: 0; background: transparent; color: var(--color-label-secondary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.page-new .order-checkout-back:hover { color: var(--color-label); }

body.page-new:has(.order-success-screen) main.container { min-height: calc(100dvh - var(--topbar-height)); padding-block: 0; }
.page-new .order-success-screen { display: grid; width: min(100%, 36rem); min-height: calc(100dvh - var(--topbar-height)); align-content: center; justify-items: stretch; margin: 0 auto; padding: var(--space-6) 0; box-sizing: border-box; text-align: left; }
.page-new .order-success-card { display: grid; justify-items: center; padding: var(--space-6) 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; }
.page-new .order-success-mark { display: grid; width: 3.5rem; height: 3.5rem; place-items: center; margin: 0 0 var(--space-4); border-radius: var(--radius-pill); background: var(--color-success-tint); color: var(--color-success); font-size: var(--font-size-5); }
.page-new .order-success-copy { display: grid; justify-items: center; gap: var(--space-1); }
.page-new .order-success-copy h1 { margin: 0; font-size: var(--font-size-6); line-height: var(--line-title); letter-spacing: -.025em; }
.page-new .order-success-copy > p:last-child { max-width: 29rem; margin: var(--space-3) 0 0; color: var(--color-label-secondary); font-size: var(--font-size-2); line-height: 1.6; }
.page-new .order-success-kicker { margin: 0; color: var(--color-success); font-size: var(--font-size-0); }
.page-new .order-success-actions { display: flex; width: 100%; justify-content: center; gap: var(--space-3); margin-top: var(--space-6); }
.page-new .order-success-new { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-4); color: var(--color-label-secondary); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.page-new .order-success-new:hover { color: var(--color-label); }
.page-new :is(.deadline-days, .task-deadline-days) button.is-selected { background: var(--color-brand); color: var(--color-label-inverse); }
.page-new :is(.deadline-days, .task-deadline-days) button.is-today:not(.is-selected) { background: transparent; box-shadow: inset 0 0 0 .0625rem color-mix(in srgb, var(--color-label-tertiary) 30%, transparent); color: var(--color-label); font-weight: var(--weight-medium); }

@media (max-width: 62rem) {
.page-new .type-grid,
.page-new .type-grid:has(> .type-card:only-child),
.page-new .type-grid:has(> .type-card:nth-child(2):last-child),
.page-new .type-grid:has(> .type-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-new .order-spec-surface,
.page-new .order-checkout-layout { grid-template-columns: minmax(0, 1fr); }
.page-new .order-deadline-section,
.page-new .order-checkout-aside { position: static; }
.page-new .order-checkout-aside { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.page-new .order-checkout-aside > span { grid-column: 1 / -1; }
.page-new .order-checkout-aside dl { grid-column: 1; }
.page-new .order-checkout-submit { grid-column: 2; grid-row: 2; min-width: 14rem; }
.page-new .order-checkout-back { grid-column: 2; }
}

@media (max-width: 42rem) {
.page-new .page-header { margin-bottom: var(--space-3); }
.page-new .wizard-progress { width: 100%; }
.page-new .wizard-dot { min-height: var(--control-sm); }
.page-new .wizard-dot strong { font-size: var(--font-size-0); }
.page-new .wizard-dot:not(:last-child)::before { right: var(--space-2); left: 1.75rem; }
.page-new .type-grid,
.page-new .type-grid:has(> .type-card:only-child),
.page-new .type-grid:has(> .type-card:nth-child(2):last-child),
.page-new .type-grid:has(> .type-card:nth-child(4):last-child) { grid-template-columns: minmax(0, 1fr); }
.page-new .type-card,
.page-new .type-card:nth-child(2n),
.page-new .type-card:nth-last-child(-n + 2) { min-height: 6.25rem; }
.page-new .wizard-actions { position: sticky; z-index: 4; bottom: 0; margin-inline: calc(var(--page-gutter) * -1); padding: var(--space-3) var(--page-gutter); background: color-mix(in srgb, var(--color-surface) 94%, transparent); backdrop-filter: blur(1rem); }
.page-new .wizard-actions .btn { min-width: 0; }
.page-new .summary-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); }
.page-new .order-priority-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-new .order-checkout-aside { grid-template-columns: minmax(0, 1fr); }
.page-new .order-checkout-aside > span,
.page-new .order-checkout-aside dl,
.page-new .order-checkout-submit,
.page-new .order-checkout-back { grid-column: 1; grid-row: auto; }
.page-new .order-checkout-submit { min-width: 0; }
.page-new .order-success-screen { min-height: calc(100dvh - var(--topbar-height) - var(--space-6)); padding-block: var(--space-5); }
.page-new .order-success-card { padding: var(--space-5); }
.page-new .order-success-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
.page-new .order-success-actions .btn { width: 100%; }
}

/* Task deadline dialog follows the same calendar states as the order checkout. */
.page-task #panel-deadline .task-deadline-layout { width: auto; max-width: none; }
.page-task #panel-deadline .task-deadline-picker { width: 100%; max-width: none; }
.page-task #panel-deadline .task-deadline-picker { margin-inline: 0; }
.page-task #panel-deadline .task-deadline-form,
.page-task #panel-deadline .task-deadline-layout,
.page-task #panel-deadline .task-deadline-picker,
.page-task #panel-deadline .task-deadline-selection,
.page-task #panel-deadline .task-deadline-selection > * { min-width: 0; }
.page-task #panel-deadline .task-deadline-selection {
display: grid;
grid-template-columns: minmax(0, 1fr) 8rem;
align-items: end;
}
.page-task #panel-deadline .task-deadline-selection label {
width: auto;
min-width: 0;
max-width: 8rem;
}
.page-task #panel-deadline .task-deadline-selection input[type="time"] {
width: 100%;
min-width: 0;
max-width: 100%;
padding-inline: var(--space-3);
}
.page-task #panel-deadline .task-deadline-days button.is-selected { background: var(--color-brand); color: var(--color-label-inverse); }
.page-task #panel-deadline .task-deadline-days button.is-today:not(.is-selected) { background: transparent; box-shadow: inset 0 0 0 .0625rem color-mix(in srgb, var(--color-label-tertiary) 30%, transparent); color: var(--color-label); font-weight: var(--weight-medium); }

/* Safari stability: avoid stacking costly blur/compositing layers during repeated UI interactions. */
html.is-safari :is(.app-topbar, .top-popover .popover-menu, .template-dialog-head, .template-dialog-actions, .automation-dialog-head, .automation-rule-actions, .smtp-dialog-head, .smtp-settings-actions, .user-account-dialog-head, .user-account-actions, .news-editor-dialog-head, .news-editor-actions, .board-tile-manage) {
-webkit-backdrop-filter: none !important;
backdrop-filter: none !important;
}
html.is-safari :is(.top-popover-backdrop, .top-popover .popover-menu, [data-notification-center] > .notification-center) { animation: none !important; }
.user-switcher .account-menu { animation: none !important; will-change: transform, opacity; }
html.is-safari .thread-message-collapsible-body,
html.is-safari .thread-message-collapsible-content { will-change: auto; }

/* v153 — clearer order flow, compact dashboard filters and focused UI fixes. */
.page-new .order-spec-main { display: flex; flex-direction: column; }
.page-new .dynamic-template-spec.active,
.page-new .dynamic-template-spec.is-active { display: contents; }
.page-new .dynamic-template-spec.active > .spec-title,
.page-new .dynamic-template-spec.is-active > .spec-title { order: 1; }
.page-new .order-name-field { order: 2; }
.page-new .dynamic-template-spec.active > .tile-question,
.page-new .dynamic-template-spec.active > .empty-card,
.page-new .dynamic-template-spec.is-active > .tile-question,
.page-new .dynamic-template-spec.is-active > .empty-card { order: 3; }
.page-new .tile-question.is-inline-labeled > strong {
position: absolute;
width: .0625rem;
height: .0625rem;
overflow: hidden;
clip: rect(0 0 0 0);
clip-path: inset(50%);
white-space: nowrap;
}
.page-new .order-name-field { gap: var(--space-2); }
.page-new .order-name-note { color: var(--color-label-secondary); font-weight: var(--weight-regular); }
.page-new .tile-question.is-inline-labeled .question-help { margin: 0 0 var(--space-3); }
.page-new .order-name-field input::placeholder,
.page-new .tile-question.is-inline-labeled :is(input, textarea)::placeholder { color: var(--color-label-tertiary); font-weight: var(--weight-medium); opacity: 1; }
.page-new .order-routing-section .order-routing-grid { padding-top: var(--space-6); }
.page-new .order-routing-fieldset { padding-top: 0; }

.orders-commandbar { margin-bottom: var(--space-10); overflow-x: auto; padding: var(--space-1); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface-secondary); scrollbar-width: none; }
.orders-commandbar::-webkit-scrollbar { display: none; }
.orders-commandbar .task-tabs { width: max-content; min-width: 100%; align-items: center; gap: var(--space-1); overflow: visible; border: 0; }
.orders-commandbar .task-tab { min-height: var(--control-md); gap: var(--space-2); padding: 0 var(--space-3); border-radius: var(--radius-sm); font-size: var(--font-size-2); }
.orders-commandbar .task-tab::after { display: none; }
.orders-commandbar .task-tab:hover { background: color-mix(in srgb, var(--color-surface) 68%, transparent); }
.orders-commandbar .task-tab:is(.active, .is-active) { background: var(--color-surface); color: var(--color-label); box-shadow: 0 .0625rem .25rem rgb(20 22 29 / .08); }
.orders-commandbar .task-tab > strong { min-width: 1.4rem; height: 1.4rem; }

.shared-file-upload-button.app-file-picker-action > span { min-height: var(--control-lg); grid-template-columns: var(--icon-md) auto; gap: var(--space-2); padding: 0 var(--space-4); border: .0625rem solid var(--color-brand); background: var(--color-brand); }
.shared-file-upload-button.app-file-picker-action > span > i { width: var(--icon-md); height: var(--icon-md); background: transparent; color: var(--color-label-inverse); }
.shared-file-upload-button.app-file-picker-action strong { color: var(--color-label-inverse); }
.shared-file-upload-button.app-file-picker-action:hover > span { border-color: var(--color-brand-hover); background: var(--color-brand-hover); }
.shared-file-upload-button.app-file-picker-action:hover > span > i { background: transparent; color: var(--color-label-inverse); }

.profile-photo-delete-form .btn.danger:hover { border-color: color-mix(in srgb, var(--color-error) 88%, #000); background: color-mix(in srgb, var(--color-error) 88%, #000); color: var(--color-label-inverse); box-shadow: none; }

.news-detail-dialog-card > .news-detail-cover { padding: 0; border: 0; border-radius: var(--radius-control); background: transparent; }
.news-detail-dialog-card > .news-detail-cover img { border: 0; border-radius: var(--radius-control); }

@media (max-width: 42rem) {
.orders-commandbar { margin-bottom: var(--space-8); }
.orders-commandbar .task-tab > i { display: inline-block; }
}

/* v154 — approved output delivery by e-mail. */
.workflow-mail-delivery-option {
position: relative;
display: grid;
grid-template-columns: var(--control-sm) minmax(0, 1fr);
align-items: center;
gap: var(--space-3);
margin: var(--space-4) var(--space-6) 0;
padding: var(--space-3);
border: .0625rem solid var(--color-separator-strong);
border-radius: var(--radius-control);
background: var(--color-surface);
cursor: pointer;
transition: border-color var(--motion-fast), background-color var(--motion-fast);
}
.workflow-mail-delivery-option:hover { border-color: color-mix(in srgb, var(--color-accent) 45%, var(--color-separator-strong)); background: var(--color-accent-tint); }
.workflow-mail-delivery-option > input { position: absolute; width: .0625rem; height: .0625rem; opacity: 0; pointer-events: none; }
.workflow-mail-delivery-check { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: .0625rem solid var(--color-separator-strong); border-radius: var(--radius-sm); background: var(--color-surface); color: transparent; }
.workflow-mail-delivery-option > input:checked + .workflow-mail-delivery-check { border-color: var(--color-accent); background: var(--color-accent); color: var(--color-label-inverse); }
.workflow-mail-delivery-option > input:focus-visible + .workflow-mail-delivery-check { outline: .125rem solid color-mix(in srgb, var(--color-accent) 35%, transparent); outline-offset: .125rem; }
.workflow-mail-delivery-option > span:last-child { display: grid; gap: .125rem; }
.workflow-mail-delivery-option strong { color: var(--color-label); font-size: var(--font-size-2); }
.workflow-mail-delivery-option small { color: var(--color-label-tertiary); font-size: var(--font-size-1); }
.workflow-mail-delivery-option.is-disabled { background: var(--color-surface-secondary); cursor: not-allowed; }
.workflow-mail-delivery-option.is-disabled:hover { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); }
.workflow-mail-delivery-option.is-disabled .workflow-mail-delivery-check { background: var(--color-separator); }

.output-mail-template-card { display: grid; grid-template-columns: var(--control-lg) minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); padding: var(--space-5) var(--space-6); }
.output-mail-template-icon { display: grid; width: var(--control-lg); height: var(--control-lg); place-items: center; border-radius: var(--radius-control); background: var(--color-accent-tint); color: var(--color-accent); }
.output-mail-template-card > div { min-width: 0; }
.output-mail-template-card small { color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-bold); letter-spacing: .06em; }
.output-mail-template-card h3, .output-mail-template-card p { margin: 0; }
.output-mail-template-card h3 { margin-block: .1rem; font-size: var(--font-size-4); }
.output-mail-template-card p { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.output-mail-template-card code { display: block; margin-top: var(--space-2); overflow: hidden; color: var(--color-label-tertiary); font-size: var(--font-size-1); text-overflow: ellipsis; white-space: nowrap; }
.output-template-dialog { width: min(100%, 50rem); max-height: calc(100dvh - var(--space-8)); padding: 0; }
.output-template-head { margin: 0; }
.output-template-head > div { min-width: 0; }
.output-template-head p { margin: .125rem 0 0; color: var(--color-label-secondary); font-size: var(--font-size-1); }
.output-template-alert { margin: var(--space-4) var(--space-6) 0; }
.output-template-body { display: grid; gap: var(--space-4); padding: var(--space-6); }
.output-template-body .field small { color: var(--color-label-tertiary); }
.output-template-actions { display: flex; justify-content: flex-end; gap: var(--space-2); }

@media (max-width: 48rem) {
.workflow-mail-delivery-option { margin-inline: var(--space-4); }
.output-mail-template-card { grid-template-columns: var(--control-lg) minmax(0, 1fr); padding-inline: var(--space-4); }
.output-mail-template-card > .btn { grid-column: 1 / -1; width: 100%; }
.output-template-body { padding: var(--space-4); }
}

/* v155 — real first-page thumbnails for PDF and Word attachments. */
.attachment-document-preview > img {
position: absolute;
z-index: 1;
inset: 0;
width: 100%;
height: 100%;
padding: var(--space-2);
object-fit: contain;
background: var(--color-surface-secondary);
}
.attachment-document-fallback {
display: grid;
justify-items: center;
gap: var(--space-2);
color: var(--color-label-secondary);
}
.attachment-document-fallback > i { color: #2b579a; font-size: var(--font-size-7); }
.attachment-document-fallback > small { font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.attachment-document-preview.is-rendered > .attachment-document-fallback { display: none; }
.attachment-document-preview .attachment-preview-shield { z-index: 2; }
.attachment-video-preview > video { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.attachment-video-play { position: absolute; z-index: 1; display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--color-label) 72%, transparent); color: var(--color-label-inverse); box-shadow: var(--shadow-1); }
.attachment-video-preview .attachment-preview-shield { z-index: 2; }

/* Keep the progress state above an embedded PDF without changing modal layout. */
.file-preview-loading {
position: absolute;
z-index: 3;
inset: 0;
place-content: center;
background: var(--color-surface-secondary);
}
/* v157 — feed-first order detail with a social-style composer. */
.page-task .compose-zone {
display: grid;
gap: var(--space-4);
margin-top: var(--space-8);
margin-bottom: var(--space-10);
}
.page-task .task-feed-composer {
display: block;
}
.task-feed-composer-avatar { position: absolute; z-index: 1; top: var(--space-4); left: var(--space-4); }
.task-feed-composer-avatar .avatar { width: var(--avatar-md); height: var(--avatar-md); }
.task-feed-composer-shell {
position: relative;
min-width: 0;
overflow: visible;
border: .0625rem solid var(--color-separator-strong);
border-radius: var(--radius-control);
background: var(--color-surface);
box-shadow: 0 .125rem .5rem color-mix(in srgb, var(--color-label) 4%, transparent);
transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}
.task-feed-composer-shell:focus-within {
border-color: color-mix(in srgb, var(--color-accent) 58%, var(--color-separator));
box-shadow: 0 0 0 .125rem color-mix(in srgb, var(--color-accent) 10%, transparent), 0 .375rem 1rem color-mix(in srgb, var(--color-label) 7%, transparent);
}
.task-feed-composer[data-kind="final"] .task-feed-composer-shell:focus-within { border-color: color-mix(in srgb, var(--color-brand) 58%, var(--color-separator)); box-shadow: 0 0 0 .125rem color-mix(in srgb, var(--color-brand) 10%, transparent), 0 .375rem 1rem color-mix(in srgb, var(--color-label) 7%, transparent); }
.task-feed-composer[data-kind="opinion"] .task-feed-composer-shell:focus-within { border-color: color-mix(in srgb, var(--color-purple) 58%, var(--color-separator)); box-shadow: 0 0 0 .125rem color-mix(in srgb, var(--color-purple) 10%, transparent), 0 .375rem 1rem color-mix(in srgb, var(--color-label) 7%, transparent); }
.task-feed-composer textarea {
display: block;
width: 100%;
min-height: 6rem;
max-height: 15rem;
padding: var(--space-4) var(--space-5) var(--space-3) calc(var(--avatar-md) + var(--space-8));
overflow-y: auto;
border: 0;
border-radius: inherit;
outline: 0;
box-shadow: none;
background: transparent;
color: var(--color-label);
font: inherit;
font-size: var(--font-size-3);
line-height: 1.5;
resize: none;
}
.task-feed-composer textarea::placeholder { color: var(--color-label-tertiary); }
.task-feed-composer-assets { display: grid; min-width: 0; gap: 0; padding: 0; }
:is(.task-feed-composer, .dynamic-question) .composer-file-selection {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
gap: var(--space-2);
padding: 0 var(--space-4) var(--space-3);
}
:is(.task-feed-composer, .dynamic-question) .composer-file-chip {
position: relative;
display: grid;
width: min(18rem, 100%);
min-height: 4.5rem;
flex: 0 1 18rem;
grid-template-columns: 4.5rem minmax(0, 1fr) var(--control-sm);
grid-template-rows: 4.5rem;
gap: 0;
overflow: hidden;
padding: 0;
border: .0625rem solid var(--color-separator);
background: var(--color-surface-secondary);
}
:is(.task-feed-composer, .dynamic-question) .composer-file-preview {
grid-column: 1;
grid-row: 1;
width: 4.5rem;
height: 4.5rem;
border-right: .0625rem solid var(--color-separator);
border-bottom: 0;
}
:is(.task-feed-composer, .dynamic-question) .composer-file-preview img,
:is(.task-feed-composer, .dynamic-question) .composer-file-preview object,
:is(.task-feed-composer, .dynamic-question) .composer-file-preview iframe,
:is(.task-feed-composer, .dynamic-question) .composer-file-preview video { width: 100%; height: 100%; object-fit: cover; }
:is(.task-feed-composer, .dynamic-question) .composer-file-copy { align-self: center; padding: var(--space-2) var(--space-3); }
:is(.task-feed-composer, .dynamic-question) .composer-file-chip > .composer-asset-remove { align-self: center; justify-self: center; width: var(--control-sm); height: var(--control-sm); }
.dynamic-question .order-file-selection { padding: 0; }
.dynamic-question .order-file-selection[hidden] { display: none; }
.task-feed-composer-toolbar {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: var(--space-3);
min-height: 3.75rem;
padding: .5rem .625rem .5rem .75rem;
border-top: .0625rem solid var(--color-separator);
border-radius: 0 0 var(--radius-surface) var(--radius-surface);
background: color-mix(in srgb, var(--color-surface-secondary) 52%, var(--color-surface));
}
.task-composer-attach-actions,
.task-composer-send-controls {
display: flex;
min-width: 0;
align-items: center;
gap: var(--space-2);
}
.task-composer-send-controls { gap: var(--space-3); }
.task-composer-tool,
.task-composer-kind-static,
.task-composer-kind-picker > summary {
display: inline-flex;
min-width: 0;
min-height: var(--control-md);
align-items: center;
justify-content: center;
gap: var(--space-2);
padding: 0 var(--space-3);
border: .0625rem solid transparent;
border-radius: var(--radius-control);
background: transparent;
color: var(--color-label-secondary);
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
cursor: pointer;
white-space: nowrap;
transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}
.task-composer-tool:hover { border-color: var(--color-separator); background: var(--color-surface); color: var(--color-label); }
.task-composer-kind-picker > summary,
.task-composer-kind-static { border-color: transparent; background: transparent; color: var(--color-label-secondary); }
.task-composer-kind-picker > summary:hover,
.task-composer-kind-picker[open] > summary { border-color: var(--color-separator); background: var(--color-surface); color: var(--color-label); }
.task-composer-tool input { position: absolute; width: .0625rem; height: .0625rem; opacity: 0; pointer-events: none; }
.task-composer-tool > i { width: var(--icon-sm); text-align: center; }
.task-composer-kind-static { cursor: default; }
.task-composer-kind-picker { position: relative; }
.task-composer-kind-picker > summary { min-width: 0; justify-content: flex-start; gap: .375rem; padding-inline: .625rem; list-style: none; }
.task-composer-kind-picker > summary::-webkit-details-marker { display: none; }
.task-composer-kind-picker > summary > i:first-child { width: var(--icon-sm); margin-right: .125rem; color: var(--color-label-tertiary); text-align: center; }
.task-composer-kind-picker > summary > i:last-child { margin-left: 0; color: var(--color-label-tertiary); font-size: var(--font-size-0); transition: transform var(--duration-fast) var(--ease-standard); }
.task-composer-kind-picker[open] > summary > i:last-child { transform: rotate(180deg); }
.task-composer-kind-menu {
position: absolute;
z-index: 12;
top: calc(100% + var(--space-6));
right: 0;
display: grid;
width: min(23rem, calc(100vw - 3rem));
max-height: min(32rem, calc(100vh - 8rem));
gap: var(--space-1);
overflow: auto;
padding: var(--space-2);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-surface);
background: var(--color-surface);
box-shadow: var(--shadow-popover);
}
.task-composer-kind-menu > button {
display: grid;
width: 100%;
min-height: 3.75rem;
min-width: 0;
grid-template-columns: 2.25rem minmax(0, 1fr);
align-items: center;
gap: var(--space-3);
padding: var(--space-2) var(--space-3);
border: 0;
border-radius: var(--radius-control);
background: transparent;
color: var(--color-label-secondary);
text-align: left;
}
.task-composer-kind-menu > button:hover,
.task-composer-kind-menu > button.is-active { background: var(--color-surface-secondary); color: var(--color-label); }
.task-composer-kind-menu > button > i { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: var(--radius-control); background: var(--color-label-secondary); color: var(--color-label-inverse); }
.task-composer-kind-menu > button[data-composer-mode="final"] > i { background: var(--color-brand); color: var(--color-label-inverse); }
.task-composer-kind-menu > button[data-composer-mode="opinion"] > i { background: var(--color-purple); color: var(--color-label-inverse); }
.task-composer-kind-menu > button > span { display: grid; min-width: 0; gap: .125rem; }
.task-composer-kind-menu strong { font-size: var(--font-size-1); }
.task-composer-kind-menu small { color: var(--color-label-tertiary); font-size: var(--font-size-0); font-weight: var(--weight-regular); }
.task-composer-action-picker { position: relative; }
.task-composer-action-picker > summary {
display: inline-flex;
min-width: 0;
min-height: var(--control-md);
align-items: center;
justify-content: flex-start;
gap: .375rem;
padding: 0 .625rem;
border: .0625rem solid transparent;
border-radius: var(--radius-control);
background: transparent;
color: var(--color-brand);
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
cursor: pointer;
list-style: none;
white-space: nowrap;
transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}
.task-composer-action-picker > summary::-webkit-details-marker { display: none; }
.task-composer-action-picker > summary::marker { content: ''; }
.task-composer-action-picker > summary:hover,
.task-composer-action-picker[open] > summary { border-color: var(--color-separator); background: var(--color-surface); }
.task-composer-action-picker > summary > i:first-child { width: var(--icon-sm); text-align: center; }
.task-composer-action-picker > summary > i:last-child {
color: var(--color-brand);
font-size: var(--font-size-0);
transition: transform var(--duration-fast) var(--ease-standard);
}
.task-composer-action-picker[open] > summary > i:last-child { transform: rotate(180deg); }
.task-composer-action-menu {
position: absolute;
z-index: 40;
top: calc(100% + var(--space-6));
left: 0;
display: grid;
width: min(23rem, calc(100vw - 3rem));
max-height: min(32rem, calc(100vh - 8rem));
gap: var(--space-1);
overflow: auto;
padding: var(--space-2);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-surface);
background: var(--color-surface);
box-shadow: var(--shadow-popover);
}
.task-composer-action-menu > button {
display: grid;
width: 100%;
min-height: 3.75rem;
grid-template-columns: 2.25rem minmax(0, 1fr) auto;
align-items: center;
gap: var(--space-3);
padding: var(--space-2) var(--space-3);
border: 0;
border-radius: var(--radius-control);
background: transparent;
color: var(--color-label);
text-align: left;
transform: none;
}
.task-composer-action-menu > button:hover { background: var(--color-surface-secondary); transform: none; }
.task-composer-action-menu > button:hover > i:first-child { background: var(--color-brand); color: var(--color-label-inverse); }
.task-composer-action-menu > button > i:first-child {
display: grid;
width: 2.25rem;
height: 2.25rem;
place-items: center;
border-radius: var(--radius-control);
background: var(--color-brand);
color: var(--color-label-inverse);
}
.task-composer-action-menu > button > span { display: grid; min-width: 0; gap: .125rem; }
.task-composer-action-menu > button strong { overflow: hidden; font-size: var(--font-size-1); text-overflow: ellipsis; white-space: nowrap; }
.task-composer-action-menu > button small { overflow: hidden; color: var(--color-label-secondary); font-size: var(--font-size-0); font-weight: var(--weight-regular); text-overflow: ellipsis; white-space: nowrap; }
.task-composer-action-menu > button > i:last-child { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.task-composer-action-menu > button.is-danger > i:first-child { background: var(--color-brand); color: var(--color-label-inverse); }
.task-composer-action-menu > button.is-danger strong { color: var(--color-error); }
.task-composer-action-menu > button.is-success > i:first-child { background: var(--color-success); color: var(--color-label-inverse); }
.task-composer-action-menu > button.is-success strong { color: var(--color-success); }
.task-composer-submit {
display: grid;
width: var(--control-md);
height: var(--control-md);
flex: 0 0 auto;
place-items: center;
border: 0;
border-radius: var(--radius-control);
background: var(--color-label);
color: var(--color-label-inverse);
box-shadow: 0 .125rem .375rem color-mix(in srgb, var(--color-label) 18%, transparent);
transition: background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}
.task-composer-submit:hover { background: var(--color-label-secondary); box-shadow: 0 .25rem .625rem color-mix(in srgb, var(--color-label) 22%, transparent); }
.task-feed-composer[data-kind="final"] .task-composer-submit { background: var(--color-brand); }
.task-feed-composer[data-kind="final"] .task-composer-submit:hover { background: var(--color-brand-hover); }
.task-feed-composer[data-kind="opinion"] .task-composer-submit { background: var(--color-purple); }
.task-feed-composer[data-kind="opinion"] .task-composer-submit:hover { background: color-mix(in srgb, var(--color-purple) 86%, black); }
.task-feed-composer[data-kind="final"] .task-composer-kind-picker > summary > i:first-child { color: var(--color-brand); }
.task-feed-composer[data-kind="opinion"] .task-composer-kind-picker > summary > i:first-child { color: var(--color-purple); }
.page-task .compose-zone > .action-panel.active:not(.task-modal-panel) {
margin: 0;
padding: var(--space-5);
overflow: hidden;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
}
.page-task .compose-zone > .workflow-dialog.action-panel:not(.task-modal-panel) .compose-head > .workflow-dialog-icon { display: grid; }

.page-task .task-command-actions { display: grid; gap: var(--space-3); overflow: visible; }
.page-task .task-settings-menu {
overflow: hidden;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
}
.page-task .task-settings-menu > summary {
display: grid;
min-height: var(--control-lg);
grid-template-columns: var(--control-sm) minmax(0, 1fr) var(--control-xs);
align-items: center;
gap: var(--space-2);
padding: var(--space-2) var(--space-3);
color: var(--color-label);
cursor: pointer;
list-style: none;
transition: background-color var(--duration-fast) var(--ease-standard);
}
.page-task .task-settings-menu > summary::-webkit-details-marker { display: none; }
.page-task .task-settings-menu > summary:hover { background: var(--color-surface-secondary); }
.page-task .task-settings-summary-icon {
display: grid;
width: var(--control-sm);
height: var(--control-sm);
place-items: center;
border-radius: var(--radius-sm);
background: var(--color-surface-secondary);
color: var(--color-label-secondary);
}
.page-task .task-settings-menu > summary > span:nth-child(2) { display: grid; min-width: 0; gap: .125rem; }
.page-task .task-settings-menu > summary strong { overflow: hidden; font-size: var(--font-size-2); text-overflow: ellipsis; white-space: nowrap; }
.page-task .task-settings-menu > summary small { overflow: hidden; color: var(--color-label-tertiary); font-size: var(--font-size-0); text-overflow: ellipsis; white-space: nowrap; }
.page-task .task-settings-menu > summary > i:last-child { color: var(--color-label-tertiary); font-size: var(--font-size-1); transition: transform var(--duration-fast) var(--ease-standard); }
.page-task .task-settings-menu[open] > summary > i:last-child { transform: rotate(180deg); }
.page-task .task-settings-actions {
display: grid;
gap: var(--space-1);
padding: var(--space-2);
border-top: .0625rem solid var(--color-separator);
}
.page-task .task-settings-actions .quick-action,
.page-task .task-direct-actions .quick-action,
.page-task .task-direct-actions > form,
.page-task .task-direct-actions > form .quick-action { width: 100%; }
.page-task .task-direct-actions { display: grid; gap: var(--space-1); }
.page-task .task-direct-actions > form { margin: 0; }
.page-task .task-direct-actions .quick-action { justify-content: flex-start; }
.page-task .task-direct-actions .quick-action.is-decision { justify-content: center; }

@media (max-width: 76rem) {
.page-task .task-command-actions { display: grid; overflow: visible; gap: var(--space-3); padding-bottom: 0; }
.page-task .task-direct-actions { grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--space-2); }
.page-task .task-actions-aside .task-settings-actions .quick-action,
.page-task .task-actions-aside .task-direct-actions .quick-action,
.page-task .task-actions-aside .task-direct-actions > form .quick-action { width: 100%; }
}
@media (max-width: 42rem) {
.page-task .task-feed-composer { display: block; padding: 0; }
.task-feed-composer-avatar { top: var(--space-3); left: var(--space-3); }
.task-feed-composer-avatar .avatar { width: var(--control-sm); height: var(--control-sm); }
.task-feed-composer textarea { min-height: 4rem; padding: var(--space-3) var(--space-3) var(--space-2) calc(var(--control-sm) + var(--space-6)); font-size: var(--font-size-2); }
.task-feed-composer-toolbar { align-items: center; gap: var(--space-2); padding-inline: var(--space-2); }
.task-composer-tool > span { display: none; }
.task-composer-kind-picker > summary { min-width: 0; }
.task-composer-kind-menu { right: calc(var(--control-md) * -1 - var(--space-2)); }
.task-composer-action-picker > summary > span { display: none; }
.task-composer-action-menu {
position: fixed;
top: auto;
right: var(--space-3);
bottom: var(--space-3);
left: var(--space-3);
width: auto;
max-height: 70vh;
}
}

/* v158 — author controls and inline editing for thread posts. */
.page-task .message-head-actions {
display: flex;
flex: 0 0 auto;
align-items: center;
gap: var(--space-3);
}
.page-task .message-owner-menu { position: relative; z-index: 8; order: -1; }
.page-task .message-owner-menu > summary {
display: grid;
width: var(--control-xs);
height: var(--control-xs);
place-items: center;
border-radius: var(--radius-pill);
color: var(--color-label-tertiary);
cursor: pointer;
list-style: none;
transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
}
.page-task .message-owner-menu > summary::-webkit-details-marker { display: none; }
.page-task .message-owner-menu > summary::marker { content: ''; }
.page-task .message-owner-menu > summary > i { display: none; }
.page-task .message-owner-menu > summary::before {
content: "\f044";
font-family: "Font Awesome 6 Free";
font-weight: 400;
}
.page-task .message-owner-menu > summary:hover,
.page-task .message-owner-menu[open] > summary { background: transparent; color: var(--color-label); }
.page-task .message-owner-menu-popover {
position: absolute;
top: calc(100% + var(--space-1));
right: 0;
display: grid;
width: 10rem;
gap: var(--space-1);
padding: var(--space-1);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
box-shadow: var(--shadow-popover);
}
.page-task .message-owner-menu-popover form { margin: 0; }
.page-task .message-owner-menu-popover button {
display: flex;
width: 100%;
min-height: var(--control-sm);
align-items: center;
gap: var(--space-2);
padding: 0 var(--space-3);
border: 0;
border-radius: var(--radius-sm);
background: transparent;
color: var(--color-label);
font-size: var(--font-size-2);
text-align: left;
}
.page-task .message-owner-menu-popover button:hover { background: var(--color-surface-secondary); }
.page-task .message-owner-menu-popover button.is-danger { color: var(--color-error); }
.page-task .message-owner-menu-popover button.is-danger:hover { background: var(--color-error-tint); }
.page-task .message.is-editing .message-display-content { display: none; }
.page-task .message.is-editing .message-owner-menu { visibility: hidden; }
.page-task .message-inline-editor {
display: grid;
gap: var(--space-3);
margin-top: var(--space-3);
padding-top: var(--space-3);
border-top: .0625rem solid color-mix(in srgb, var(--color-separator-strong) 70%, transparent);
}
.page-task .message-inline-editor[hidden] { display: none; }
.page-task .message-inline-editor > textarea {
width: 100%;
min-height: 7rem;
max-height: 18rem;
padding: var(--space-3) var(--space-4);
border: .0625rem solid var(--color-separator-strong);
border-radius: var(--radius-control);
background: var(--color-surface);
color: var(--color-label);
font: inherit;
font-size: var(--font-size-3);
line-height: var(--line-body);
resize: vertical;
}
.page-task .message-edit-error {
display: flex;
align-items: center;
gap: var(--space-2);
padding: var(--space-2) var(--space-3);
border-radius: var(--radius-sm);
background: var(--color-error-tint);
color: var(--color-error);
font-size: var(--font-size-2);
font-weight: var(--weight-semibold);
}
.page-task .message-edit-existing-assets { display: grid; gap: var(--space-2); }
.page-task .message-edit-existing-assets > strong { color: var(--color-label-secondary); font-size: var(--font-size-1); }
.page-task .message-edit-existing-assets > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.page-task .message-edit-existing-asset { position: relative; cursor: pointer; }
.page-task .message-edit-existing-asset > input { position: absolute; opacity: 0; pointer-events: none; }
.page-task .message-edit-existing-asset > span {
display: grid;
min-height: var(--control-lg);
grid-template-columns: var(--control-sm) minmax(0, 1fr) auto;
align-items: center;
gap: var(--space-2);
padding: var(--space-2);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard);
}
.page-task .message-edit-existing-asset:hover > span { border-color: var(--color-separator-strong); }
.page-task .message-edit-existing-asset > span > i { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border-radius: var(--radius-sm); background: var(--color-surface-secondary); color: var(--color-label-secondary); }
.page-task .message-edit-existing-asset > span > span { display: grid; min-width: 0; gap: .125rem; }
.page-task .message-edit-existing-asset strong,
.page-task .message-edit-existing-asset small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-task .message-edit-existing-asset strong { font-size: var(--font-size-1); }
.page-task .message-edit-existing-asset small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.page-task .message-edit-existing-asset em { color: var(--color-error); font-size: var(--font-size-0); font-style: normal; font-weight: var(--weight-semibold); }
.page-task .message-edit-existing-asset em::before { content: 'Odebrat'; }
.page-task .message-edit-existing-asset > input:not(:checked) + span { border-color: color-mix(in srgb, var(--color-error) 34%, var(--color-separator)); background: var(--color-error-tint); opacity: .7; }
.page-task .message-edit-existing-asset > input:not(:checked) + span em::before { content: 'Vrátit'; }
.page-task .message-edit-existing-asset > input:focus-visible + span { box-shadow: var(--focus-ring); }
.page-task .message-edit-additions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.page-task .message-edit-file-picker,
.page-task .message-edit-additions > button {
display: inline-flex;
min-height: var(--control-sm);
align-items: center;
gap: var(--space-2);
padding: 0 var(--space-3);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
color: var(--color-label-secondary);
font-size: var(--font-size-2);
font-weight: var(--weight-semibold);
cursor: pointer;
}
.page-task .message-edit-file-picker:hover,
.page-task .message-edit-additions > button:hover { border-color: var(--color-separator-strong); background: var(--color-surface-secondary); color: var(--color-label); }
.page-task .message-edit-file-picker { position: relative; }
.page-task .message-edit-file-picker > input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.page-task .message-edit-file-picker.has-files { border-color: var(--color-purple); background: var(--color-purple-tint); color: var(--color-purple); }
.page-task .message-edit-file-picker:focus-within { box-shadow: var(--focus-ring); }
.page-task .message-edit-links { display: grid; gap: var(--space-2); }
.page-task .message-edit-link-row { display: grid; grid-template-columns: minmax(0, 1fr) var(--control-sm); gap: var(--space-2); }
.page-task .message-edit-link-row input { min-height: var(--control-md); }
.page-task .message-edit-link-row button { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; border: 0; border-radius: var(--radius-pill); background: var(--color-surface-secondary); color: var(--color-label-secondary); }
.page-task .message-edit-link-row button:hover { background: var(--color-error-tint); color: var(--color-error); }
.page-task .message-edit-actions { display: flex; justify-content: flex-end; gap: var(--space-2); padding-top: var(--space-1); }
.page-task .message-event-petr_opinion_requested .message-inline-editor .message-edit-actions .btn:not(.primary),
.page-task .workflow-close-dialog .form-actions .btn:not(.brand) { background: #fff; border-color: var(--color-separator-strong); }
.page-task .message-event-petr_opinion_requested .message-inline-editor .message-edit-actions .btn:not(.primary):hover,
.page-task .workflow-close-dialog .form-actions .btn:not(.brand):hover { background: var(--color-surface-secondary); }

@media (max-width: 42rem) {
.page-task .message-head-actions { gap: 0; }
.page-task .message-owner-menu-popover { right: calc(var(--space-2) * -1); }
.page-task .message-edit-existing-assets > div { grid-template-columns: minmax(0, 1fr); }
.page-task .message-edit-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-task .message-edit-actions .btn { width: 100%; }
}

/* v160 — one readable thread scale and light form fields. */
.page-task .thread-event-title,
.page-task .message:not(.system) .bubble-title,
.page-task .message.system:not(.message-event-created):not(.message-event-brief_updated) .bubble-title {
font-size: var(--font-size-3);
font-weight: var(--weight-semibold);
line-height: 1.35;
}
.page-task .message .message-display-content > p,
.page-task .message .thread-message-collapsible-content > p {
font-size: var(--font-size-3);
line-height: var(--line-body);
}
body.page-task main.container .feed > .message .created-brief-list,
body.page-task main.container .feed > .message .created-brief-long-answer > p {
font-size: var(--font-size-3);
line-height: var(--line-body);
}
.page-task .message.system:not(.message-event-created):not(.message-event-brief_updated) .message-display-content > p {
font-size: var(--font-size-3);
}
.page-task .created-brief-list strong { font-weight: var(--weight-semibold); }
.page-task .created-brief-long-answer > p { font-weight: var(--weight-regular); }

body:not(.login-body) :is(
input:not([type]),
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="tel"],
select:not([multiple]),
textarea
) {
background-color: var(--color-surface) !important;
}

/* v161 — lighter, brand-led dashboard filters. */
.page-orders .orders-commandbar {
gap: var(--space-4);
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
}
.page-orders .orders-commandbar .task-tabs {
gap: var(--space-2);
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
}
.page-orders .orders-commandbar .task-tab {
min-height: 2.75rem;
gap: .5rem;
padding: 0 .875rem;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-navigation);
background: var(--color-surface);
color: var(--color-label-secondary);
transition: border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}
.page-orders .orders-commandbar .task-tab > i {
color: var(--color-label-tertiary);
transition: color var(--duration-fast) var(--ease-standard);
}
.page-orders .orders-commandbar .task-tab > strong {
min-width: 1.5rem;
height: 1.5rem;
padding-inline: .375rem;
background: color-mix(in srgb, var(--color-label-tertiary) 12%, transparent);
color: var(--color-label-secondary);
font-size: var(--font-size-0);
}
.page-orders .orders-commandbar .task-tab:hover {
border-color: var(--color-separator-strong);
background: var(--color-surface-secondary);
color: var(--color-label);
}
.page-orders .orders-commandbar .task-tab:hover > i { color: var(--color-label-secondary); }
.page-orders .orders-commandbar .task-tab:is(.active, .is-active),
.page-orders .orders-commandbar .task-tab:is(.active, .is-active):hover {
border-color: var(--color-brand);
background: var(--color-brand);
color: var(--color-label-inverse);
box-shadow: 0 .125rem .375rem color-mix(in srgb, var(--color-brand) 24%, transparent);
}
.page-orders .orders-commandbar .task-tab:is(.active, .is-active) > i { color: var(--color-label-inverse); }
.page-orders .orders-commandbar .task-tab:is(.active, .is-active) > strong {
background: color-mix(in srgb, var(--color-label-inverse) 20%, transparent);
color: var(--color-label-inverse);
}
@media (max-width: 42rem) {
.page-orders .orders-commandbar { gap: var(--space-2); }
.page-orders .orders-commandbar .task-tab { min-height: 2.625rem; padding-inline: .75rem; }
}

/* v164 — quiet AJAX loading with a staggered reveal of dashboard orders. */
.orders-dashboard-panel {
position: relative;
}
.orders-dashboard-panel.is-loading .dashboard-table {
opacity: .58;
pointer-events: none;
transition: opacity 140ms var(--ease-standard);
}
.orders-dashboard-panel.is-revealing .task-list-row {
animation: orders-dashboard-item-in 300ms var(--ease-standard) both;
animation-delay: calc(var(--dashboard-row-index, 0) * 48ms);
}
.orders-dashboard-panel .task-tab[aria-disabled="true"] { cursor: progress; }
@keyframes orders-dashboard-item-in {
from { opacity: 0; }
to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
.orders-dashboard-panel.is-revealing .task-list-row { animation: none; }
}

/* v162 — one corner language for navigational controls. */
.side-nav-link,
.account-menu-link,
.user-switcher .account-menu-link,
.page-task .task-orders-return,
.page-task .task-settings-menu,
.task-composer-kind-picker > summary,
.task-composer-kind-menu > button {
border-radius: var(--radius-navigation);
}

@media (max-width: 42rem) {
.page-task .compose-zone { margin-top: var(--space-6); margin-bottom: var(--space-8); }
}

/* v164 — the brief begins directly below its author; only parameters are separated. */
.page-task :is(.message-event-created, .message-event-brief_updated) .order-created-brief,
.page-task :is(.message-event-created, .message-event-brief_updated) .created-brief-long-answers {
margin-top: 0;
padding-top: 0;
border-top: 0;
}

/* A brief snapshot starts with the order name, without a separator competing with its author line. */
.page-task .created-brief-order-title {
margin: 0;
color: var(--color-label);
font-size: var(--font-size-5);
font-weight: var(--weight-semibold);
line-height: var(--line-title);
}
body.page-task main.container .feed > .message.message-event-brief_updated .message-display-content {
padding-top: 0;
border-top: 0;
}

/* v165 — keep the task header broad, but shorten reading lines on wide desktops. */
@media (min-width: 80rem) {
.page-task .thread-workspace .thread-main {
width: min(100%, 49rem);
justify-self: center;
}
}

/* v166 — people mentions and one typographic language across the task feed. */
.task-composer-mention-menu {
position: absolute;
z-index: 14;
bottom: 4.5rem;
left: var(--space-4);
display: grid;
width: min(21rem, calc(100% - (2 * var(--space-4))));
max-height: 18rem;
gap: var(--space-1);
overflow-y: auto;
padding: var(--space-2);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-navigation);
background: var(--color-surface);
box-shadow: var(--shadow-popover);
}
.task-composer-mention-menu[hidden] { display: none; }
.task-composer-mention-menu > button {
display: grid;
min-width: 0;
grid-template-columns: var(--avatar-sm) minmax(0, 1fr);
align-items: center;
gap: var(--space-3);
padding: var(--space-2);
border: 0;
border-radius: var(--radius-sm);
background: transparent;
color: var(--color-label);
text-align: left;
}
.task-composer-mention-menu > button:is(:hover, .is-active) { background: var(--color-surface-secondary); }
.task-composer-mention-menu > button > span { display: grid; min-width: 0; gap: .125rem; }
.task-composer-mention-menu > button strong,
.task-composer-mention-menu > button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-composer-mention-menu > button strong { font-size: var(--font-size-1); }
.task-composer-mention-menu > button small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }

body.page-task main.container .feed > .message .thread-event-title {
color: var(--color-label) !important;
font-weight: var(--weight-regular) !important;
}
body.page-task main.container .feed > .message .thread-event-author { font-weight: var(--weight-semibold) !important; }
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) .thread-event-assignee { color: #b77900; font-weight: var(--weight-bold); }
body.page-task main.container .feed > .message.message-event-created .thread-event-author { color: var(--color-label) !important; }
body.page-task main.container .feed > .message.message-event-created .thread-event-action { color: var(--color-label) !important; }
body.page-task main.container .feed > .message .thread-event-action {
color: inherit;
font-weight: var(--weight-regular);
}
body.page-task main.container .feed > .message .message-time > strong { font-weight: var(--weight-regular) !important; }
@media (hover: hover) {
.page-task .feed > .message .message-owner-menu { opacity: 0; transform: translateX(.25rem); transition: opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.page-task .feed > .message:is(:hover, :focus-within) .message-owner-menu { opacity: 1; transform: none; }
}
body.page-task main.container .feed > .message :is(.message-time, .message-time > strong, .message-time > span),
body.page-task main.container .feed > .message .message-display-content > p,
body.page-task main.container .feed > .message .thread-message-collapsible-content > p,
body.page-task main.container .feed > .message .created-brief-title,
body.page-task main.container .feed > .message .created-brief-long-answer > p,
body.page-task main.container .feed > .message .created-brief-list,
body.page-task main.container .feed > .message .created-brief-list :is(span, strong),
body.page-task main.container .feed > .message .work-started-note {
color: var(--color-label) !important;
}
.page-task .thread-mention {
color: var(--color-accent) !important;
font-weight: var(--weight-semibold);
}

@media (max-width: 42rem) {
.task-composer-mention-menu { right: var(--space-2); bottom: 4.25rem; left: var(--space-2); width: auto; }
}

/* v167 — calmer task controls and a footer that remains in document flow. */
.app-content {
display: flex;
flex-direction: column;
}
.app-content > .container { flex: 1 0 auto; }
.app-site-footer {
flex: 0 0 auto;
padding: 0 var(--page-gutter) var(--space-8);
color: var(--color-label-tertiary);
font-size: var(--font-size-1);
}
.app-site-footer-inner {
display: flex;
width: min(100%, var(--content-max));
align-items: center;
justify-content: space-between;
gap: var(--space-4) var(--space-8);
margin: 0 auto;
padding-top: var(--space-5);
border-top: .0625rem solid var(--color-separator);
}
.app-site-footer p { margin: 0; }
.app-support-contact,
.app-beta-note { display: flex; align-items: center; gap: var(--space-2); }
.app-support-contact > i { color: var(--color-label-secondary); }
.app-support-contact a {
color: var(--color-label-secondary);
font-weight: var(--weight-semibold);
text-decoration: none;
}
.app-support-contact a:hover { color: var(--color-accent); text-decoration: underline; }
.app-beta-badge {
display: inline-flex;
min-height: 1.5rem;
align-items: center;
padding: 0 var(--space-2);
border-radius: var(--radius-pill);
background: var(--color-warning-tint);
color: var(--color-warning);
font-size: var(--font-size-0);
font-weight: var(--weight-bold);
letter-spacing: .04em;
text-transform: uppercase;
}

.page-task .task-actions-rail { gap: var(--space-3); }
.page-task .task-settings-menu {
border-color: color-mix(in srgb, var(--color-separator-strong) 72%, transparent);
background: color-mix(in srgb, var(--color-surface) 96%, var(--color-surface-secondary));
box-shadow: 0 .0625rem .125rem rgba(18, 22, 33, .025);
}
.page-task .task-settings-menu > summary {
min-height: 4.25rem;
gap: var(--space-3);
padding: var(--space-3);
}
.page-task .task-settings-summary-icon {
width: auto;
height: auto;
border-radius: 0;
background: transparent;
color: var(--color-label-secondary);
transition: color var(--duration-fast) var(--ease-standard);
}
.page-task .task-settings-menu > summary:hover .task-settings-summary-icon,
.page-task .task-settings-menu[open] > summary .task-settings-summary-icon {
background: transparent;
color: var(--color-brand);
}
.page-task .task-settings-menu[open] > summary { background: var(--color-surface-secondary); }
.page-task .task-settings-actions {
gap: .125rem;
padding: var(--space-2);
background: var(--color-surface);
}
.page-task .task-settings-actions .quick-action {
min-height: 2.875rem;
gap: var(--space-3);
padding-inline: var(--space-2) var(--space-3);
font-weight: var(--weight-medium);
}
.page-task .task-settings-actions .quick-action > i {
display: grid;
width: var(--control-xs);
height: var(--control-xs);
flex: 0 0 auto;
place-items: center;
border-radius: var(--radius-control);
background: var(--color-surface-secondary);
color: var(--color-label-secondary);
font-size: var(--font-size-1);
}
.page-task .task-settings-actions .quick-action:hover > i {
background: var(--color-surface);
color: var(--color-accent);
}
.page-task .task-direct-actions {
gap: var(--space-2);
padding-top: var(--space-1);
}
.page-task .task-direct-actions .quick-action.is-decision {
min-height: var(--control-lg);
box-shadow: 0 .125rem .35rem color-mix(in srgb, var(--color-brand) 14%, transparent);
}
.page-task .task-direct-actions .quick-action:not(.is-decision) {
color: var(--color-label-secondary);
font-weight: var(--weight-medium);
}

@media (max-width: 48rem) {
.app-site-footer-inner { align-items: flex-start; flex-direction: column; }
.app-beta-note { align-items: flex-start; }
}

/* Composer surfaces softly reflect the message type without competing with the text. */
.page-task .task-feed-composer {
--composer-accent: var(--color-message);
--composer-tint: var(--color-surface-secondary);
--composer-surface: var(--color-surface);
--composer-border: color-mix(in srgb, var(--color-separator-strong) 68%, var(--color-surface));
}
.page-task .task-feed-composer[data-kind="final"] {
--composer-accent: var(--color-output);
--composer-tint: color-mix(in srgb, var(--color-output-tint) 84%, var(--color-surface));
--composer-surface: color-mix(in srgb, var(--color-output-tint) 42%, var(--color-surface));
--composer-border: color-mix(in srgb, var(--color-output) 20%, var(--color-surface));
}
.page-task .task-feed-composer[data-kind="opinion"] {
--composer-accent: var(--color-purple);
--composer-tint: color-mix(in srgb, var(--color-purple-tint) 84%, var(--color-surface));
--composer-surface: color-mix(in srgb, var(--color-purple-tint) 42%, var(--color-surface));
--composer-border: color-mix(in srgb, var(--color-purple) 20%, var(--color-surface));
}
.page-task .workflow-message-composer.workflow-petr-reply {
--composer-tint: color-mix(in srgb, var(--color-purple-tint) 84%, var(--color-surface));
--composer-surface: color-mix(in srgb, var(--color-purple-tint) 42%, var(--color-surface));
--composer-border: color-mix(in srgb, var(--color-purple) 20%, var(--color-surface));
}
.page-task .task-feed-composer-shell {
border-color: var(--composer-border);
background: var(--composer-surface);
box-shadow: none;
}
.page-task .task-feed-composer:not(.workflow-message-composer) .task-feed-composer-shell:focus-within,
.page-task .task-feed-composer[data-kind="final"] .task-feed-composer-shell:focus-within,
.page-task .task-feed-composer[data-kind="opinion"] .task-feed-composer-shell:focus-within {
border-color: var(--composer-border);
box-shadow: 0 .25rem .75rem color-mix(in srgb, var(--color-label) 5%, transparent);
}
.page-task .task-feed-composer-toolbar {
border-top-color: var(--color-separator);
background: var(--composer-tint);
border-radius: 0 0 var(--radius-control) var(--radius-control);
}
.page-task .task-feed-composer .task-composer-tool,
.page-task .task-feed-composer .task-composer-kind-static,
.page-task .task-feed-composer .task-composer-kind-picker > summary,
.page-task .task-feed-composer .task-composer-action-picker > summary { color: var(--composer-accent); }
.page-task .task-feed-composer .task-composer-tool:hover,
.page-task .task-feed-composer .task-composer-kind-picker > summary:hover,
.page-task .task-feed-composer .task-composer-kind-picker[open] > summary,
.page-task .task-feed-composer .task-composer-action-picker > summary:hover,
.page-task .task-feed-composer .task-composer-action-picker[open] > summary {
border-color: var(--composer-border);
background: var(--color-surface);
color: var(--composer-accent);
}
.page-task .task-feed-composer .task-composer-kind-picker > summary > i:first-child,
.page-task .task-feed-composer .task-composer-kind-picker > summary > i:last-child,
.page-task .task-feed-composer .task-composer-action-picker > summary > i:first-child,
.page-task .task-feed-composer .task-composer-action-picker > summary > i:last-child { color: var(--composer-accent); }
.page-task .task-feed-composer .task-composer-submit,
.page-task .task-feed-composer[data-kind="final"] .task-composer-submit,
.page-task .task-feed-composer[data-kind="opinion"] .task-composer-submit { background: var(--composer-accent); }
.page-task .task-feed-composer .task-composer-submit:hover,
.page-task .task-feed-composer[data-kind="final"] .task-composer-submit:hover,
.page-task .task-feed-composer[data-kind="opinion"] .task-composer-submit:hover { background: color-mix(in srgb, var(--composer-accent) 86%, black); }
.page-task .task-feed-composer .composer-file-chip { border-color: var(--composer-border); background: var(--color-surface); }
body.page-task:not(.login-body) .task-feed-composer[data-kind="final"] textarea,
body.page-task:not(.login-body) .task-feed-composer[data-kind="opinion"] textarea,
body.page-task:not(.login-body) .workflow-message-composer.workflow-petr-reply textarea {
background: var(--composer-surface) !important;
}

/* v169 — semantic color roles replace gray as the system's visual foundation. */
body.page-task main.container .feed > .message.is-final-output :is(.bubble-title, .message-time > strong),
.page-task .feed .message .thread-event-title.is-output { color: var(--color-output) !important; }
body.page-task main.container .feed > .message.is-final-output .message-time > span { color: color-mix(in srgb, var(--color-output) 68%, var(--color-label-secondary)) !important; }
.page-task .feed .message.is-final-output.message-event-final_output,
.page-task .feed .message.is-final-output.is-pending-approval {
border-color: color-mix(in srgb, var(--color-output) 28%, var(--color-surface));
background: var(--color-output-tint);
}
.page-task .message.is-final-output .bubble { border-color: color-mix(in srgb, var(--color-output) 30%, var(--color-separator)); }
.page-task .task-composer-kind-menu > button[data-composer-mode="standard"] > i { background: var(--color-message); }
.page-task .task-composer-kind-menu > button[data-composer-mode="final"] > i { background: var(--color-output); }

/* v170 — ordinary messages and their composer share the neutral communication tone. */
.page-task .feed > .message:not(.is-final-output):not(.message-event-changes_requested):not(.message-event-closed):not(.message-event-petr_opinion_requested) {
border-color: color-mix(in srgb, var(--color-message) 13%, var(--color-surface));
background: color-mix(in srgb, var(--color-message-tint) 58%, var(--color-surface));
}
.page-task .feed > .message:not(.system):not(.is-final-output) {
border-color: color-mix(in srgb, var(--color-message) 16%, var(--color-surface));
background: color-mix(in srgb, var(--color-message-tint) 78%, var(--color-surface));
}

/* v171 — one control grammar and explicit semantic color ownership. */
.status-waiting_requester,
.dashboard-stat.is-waiting > span {
background: var(--color-blue-tint);
color: var(--color-blue);
}
body:not(.login-body) :is(
input:not([type]),
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="tel"],
select,
textarea
) {
border: .0625rem solid var(--color-separator-strong) !important;
border-radius: var(--radius-control) !important;
background-color: var(--color-surface) !important;
color: var(--color-label);
box-shadow: none;
}
body:not(.login-body) :is(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="url"], input[type="number"], input[type="search"], input[type="tel"], select, textarea):hover {
border-color: color-mix(in srgb, var(--color-label-secondary) 34%, var(--color-separator-strong)) !important;
}
body:not(.login-body) :is(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="url"], input[type="number"], input[type="search"], input[type="tel"], select, textarea):focus {
border-color: color-mix(in srgb, var(--color-label-secondary) 58%, var(--color-separator-strong)) !important;
box-shadow: 0 0 0 .1875rem color-mix(in srgb, var(--color-label-secondary) 12%, transparent) !important;
}
body:not(.login-body) :is(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="time"], input[type="datetime-local"], input[type="url"], input[type="number"], input[type="search"], input[type="tel"], select, textarea):disabled {
background-color: var(--color-surface-secondary) !important;
color: var(--color-label-tertiary);
}
body.page-task:not(.login-body) .task-feed-composer textarea,
body.page-task:not(.login-body) .task-feed-composer textarea:is(:hover, :focus),
body:not(.login-body) .qr-color-control .qr-color-value,
body:not(.login-body) .qr-color-control .qr-color-value:is(:hover, :focus) {
border: 0 !important;
box-shadow: none !important;
}
body.page-task:not(.login-body) .task-feed-composer textarea,
body.page-task:not(.login-body) .task-feed-composer textarea:is(:hover, :focus) {
border-radius: var(--radius-control) var(--radius-control) 0 0 !important;
background: var(--color-surface) !important;
}
body:not(.login-body) .qr-color-control .qr-color-value,
body:not(.login-body) .qr-color-control .qr-color-value:is(:hover, :focus) {
background: transparent !important;
}

/* v172 — the writing surface joins the toolbar cleanly; Peter requests own purple semantics. */
.page-task .feed > .message.message-event-petr_opinion_requested {
border-color: color-mix(in srgb, var(--color-purple) 24%, var(--color-surface));
background: color-mix(in srgb, var(--color-purple-tint) 82%, var(--color-surface));
}
body.page-task main.container .feed > .message.message-event-petr_opinion_requested :is(.bubble-title, .message-time > strong) {
color: var(--color-purple) !important;
}
body.page-task main.container .feed > .message.message-event-petr_opinion_requested .message-time > span {
color: color-mix(in srgb, var(--color-purple) 68%, var(--color-label-secondary)) !important;
}
.page-task .petr-opinion-reply {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: .5rem;
margin: .65rem 0 0 4rem;
}
.page-task .petr-opinion-reply input { min-width: 0; height: var(--control-lg); }
.page-task .petr-opinion-reply .btn { min-height: var(--control-lg); }
.page-task .petr-opinion-answer { margin: .65rem 0 0 4rem; }
.page-task .petr-opinion-answer strong { display: block; margin-bottom: .25rem; color: var(--color-purple); font-weight: var(--weight-semibold); }
.page-task .petr-opinion-answer p { margin: 0; }
.page-task .petr-opinion-followup { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: var(--space-4); width: calc(100% + 3.5rem + var(--space-4)); margin-top: var(--space-5); margin-left: calc(-1 * (3.5rem + var(--space-4))); padding-top: var(--space-5); border-top: .0625rem solid #fff; }
.page-task .petr-opinion-followup-rail { display: flex; justify-content: center; margin-top: -.9375rem; padding-top: 0; transform: none; }
.page-task .petr-opinion-followup-rail > .avatar.lg { width: var(--avatar-md); height: var(--avatar-md); }
.page-task .petr-opinion-followup-body { min-width: 0; margin-top: 1rem; transform: none; }
.page-task .petr-opinion-followup .petr-opinion-reply { margin: 0; }
.page-task .petr-opinion-followup .bubble-head { margin-bottom: var(--space-1); }
.page-task .petr-opinion-followup .message-display-content { margin-top: calc(var(--space-3) * -1); }
.page-task .petr-opinion-followup .message-display-content > p { margin: 0; }
.page-task .petr-opinion-followup .bubble-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.page-task .petr-opinion-followup .message-head-actions { display: flex; align-items: center; gap: var(--space-3); }
.page-task .petr-opinion-reply-edit-trigger { display: grid; width: var(--control-sm); height: var(--control-sm); place-items: center; order: -1; border: 0; background: transparent; color: var(--color-label-tertiary); cursor: pointer; }
.page-task .petr-opinion-reply-edit-trigger:hover { color: var(--color-purple); }
.page-task .petr-opinion-reply-edit-form { grid-template-columns: minmax(0, 1fr) auto auto; margin-top: var(--space-3) !important; padding-top: var(--space-3); border-top: 0; }
.page-task .petr-opinion-reply-edit-form .btn:not(.primary) { background: #fff; border-color: var(--color-separator-strong); }
@media (hover: hover) {
.page-task .petr-opinion-reply-edit-trigger { opacity: 0; transition: opacity var(--duration-fast) var(--ease-standard); }
.page-task .message:is(.message-event-petr_opinion_requested, .message-event-petr_opinion_reply):is(:hover, :focus-within) .petr-opinion-reply-edit-trigger { opacity: 1; }
}
.page-task .final-output-actions .btn:not(.primary) { background: #fff; border-color: var(--color-separator-strong); }
.page-task .final-output-actions .btn:not(.primary):hover { background: var(--color-surface-secondary); }

/* Opinion requests keep the standard message geometry; only their semantic color is purple. */
.page-task .opinion-thread-row { display: grid; grid-template-columns: var(--avatar-md) minmax(0, 1fr); align-items: start; column-gap: calc(var(--space-4) * 2); }
.page-task .opinion-thread-rail { display: flex; justify-content: center; padding: 0; margin: 0; transform: none; }
.page-task .opinion-thread-rail > .avatar.lg { width: var(--avatar-md); height: var(--avatar-md); }
.page-task .opinion-thread-body { min-width: 0; padding: 0; margin: 0; transform: none; }
.page-task .opinion-thread-row .bubble-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; margin-bottom: var(--space-1); }
.page-task .petr-opinion-followup { width: auto; margin: var(--space-5) 0 0; padding: var(--space-5) 0 0; border-top: .0625rem solid #fff; }

.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) {
border-color: #f1c65a !important;
background: #fff8df !important;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .bubble {
display: flex;
min-height: var(--avatar-md);
align-items: center;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .bubble-head {
width: 100%;
align-items: center;
margin: 0;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail > .avatar { display: none; }
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail::before {
display: grid;
width: var(--avatar-md);
height: var(--avatar-md);
place-items: center;
border-radius: var(--radius-pill);
background: #fff1bd;
color: #b77900;
content: "\f0ae";
font-family: "Font Awesome 6 Free";
font-size: var(--font-size-3);
font-weight: 900;
}
.page-task .feed > .message.message-event-priority_updated .message-author-rail::before { content: "\f024"; }
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .thread-event-title { color: #b77900 !important; }
.page-task main.container:has(.task-meta-priority.priority-none) .feed > .message.message-event-priority_updated { border-color: var(--color-separator-strong) !important; background: var(--color-surface-secondary) !important; }
.page-task main.container:has(.task-meta-priority.priority-none) .feed > .message.message-event-priority_updated .message-author-rail::before { background: var(--color-surface); color: var(--color-label-secondary); }
.page-task main.container:has(.task-meta-priority.priority-none) .feed > .message.message-event-priority_updated .thread-event-title { color: var(--color-label-secondary) !important; }
.page-task main.container:has(.task-meta-priority.priority-low) .feed > .message.message-event-priority_updated { border-color: color-mix(in srgb, var(--color-blue) 35%, var(--color-surface)) !important; background: var(--color-blue-tint) !important; }
.page-task main.container:has(.task-meta-priority.priority-low) .feed > .message.message-event-priority_updated .message-author-rail::before { background: color-mix(in srgb, var(--color-blue-tint) 72%, white); color: var(--color-blue); }
.page-task main.container:has(.task-meta-priority.priority-low) .feed > .message.message-event-priority_updated .thread-event-title { color: var(--color-blue) !important; }
.page-task main.container:has(.task-meta-priority.priority-high) .feed > .message.message-event-priority_updated { border-color: color-mix(in srgb, var(--color-error) 35%, var(--color-surface)) !important; background: var(--color-error-tint) !important; }
.page-task main.container:has(.task-meta-priority.priority-high) .feed > .message.message-event-priority_updated .message-author-rail::before { background: color-mix(in srgb, var(--color-error-tint) 72%, white); color: var(--color-error); }
.page-task main.container:has(.task-meta-priority.priority-high) .feed > .message.message-event-priority_updated .thread-event-title { color: var(--color-error) !important; }
.page-task .task-detail-header .task-header-meta .task-meta-priority.priority-none { color: var(--color-label-secondary) !important; }
.page-task .task-detail-header .task-header-meta .task-meta-priority.priority-low { color: var(--color-blue) !important; }
.page-task .task-detail-header .task-header-meta .task-meta-priority.priority-medium { color: var(--color-warning) !important; }
.page-task .task-detail-header .task-header-meta .task-meta-priority.priority-high { color: var(--color-error) !important; }
.page-task .task-detail-header .task-header-meta .task-meta-priority > i { color: currentColor !important; }
.page-task .task-title-modal-form label[for="taskTitleInput"] { display: none; }
.page-task .task-actions-aside .task-settings-menu,
.page-task .task-actions-aside .task-direct-actions > :not(form:has(input[name="action"][value="join_task"]), form:has(input[name="action"][value="leave_task"])) { display: none; }

/* "Bez priority" is neutral, so it uses the exact neutral card tint as ordinary messages. */
.page-task main.container:has(.task-meta-priority.priority-none) .feed > .message.message-event-priority_updated {
border-color: color-mix(in srgb, var(--color-message) 13%, var(--color-surface)) !important;
background: color-mix(in srgb, var(--color-message-tint) 58%, var(--color-surface)) !important;
}

/* A direct reply is its own normal message card; the former nested renderer stays hidden. */
.page-task .petr-opinion-followup { display: none !important; }
.page-task .feed > .message.message-event-petr_opinion_reply {
border-color: color-mix(in srgb, var(--color-purple) 24%, var(--color-surface));
background: color-mix(in srgb, var(--color-purple-tint) 82%, var(--color-surface));
}
body.page-task main.container .feed > .message.message-event-petr_opinion_reply :is(.bubble-title, .message-time > strong) { color: var(--color-purple) !important; }
body.page-task main.container .feed > .message.message-event-petr_opinion_reply .message-time > span { color: color-mix(in srgb, var(--color-purple) 68%, var(--color-label-secondary)) !important; }

/* v173 — URLs live in message text; order actions expand inside the composer. */
.thread-auto-link {
color: var(--color-blue, #006edc);
font-weight: 700;
text-decoration: none;
overflow-wrap: anywhere;
}
.thread-auto-link:hover { text-decoration: underline; }

.task-composer-stage { min-width: 0; }
.task-composer-stage > .task-feed-composer.hidden,
.task-composer-inline-action[hidden] { display: none !important; }
.task-composer-inline-action { min-width: 0; }
.task-composer-inline-action > .action-panel.composer-inline-panel {
display: block;
position: static;
inset: auto;
width: 100%;
height: auto;
margin: 0;
padding: 0;
overflow: visible;
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
animation: none;
}
.task-composer-inline-action > .action-panel.composer-inline-panel > .form-grid {
position: relative;
width: 100%;
max-width: none;
max-height: none;
gap: 0;
margin: 0;
overflow: hidden;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
background: var(--color-surface);
box-shadow: none;
isolation: isolate;
}
.task-composer-inline-action .composer-inline-panel .compose-head {
position: relative;
top: auto;
padding: var(--space-5) var(--space-6);
border-bottom: .0625rem solid var(--color-separator);
background: var(--color-surface);
backdrop-filter: none;
}
.task-composer-inline-action .composer-inline-panel > .form-grid > :not(.compose-head):not(.form-actions):not(input[type="hidden"]) {
margin: var(--space-5) var(--space-6);
}
.task-composer-inline-action .composer-inline-panel .form-actions {
position: static;
margin: 0;
padding: var(--space-4) var(--space-6);
border-top: .0625rem solid var(--color-separator);
background: var(--color-surface);
backdrop-filter: none;
}
.page-task .opinion-thread-row.petr-opinion-followup:not(:has(.message-display-content)) { display: none; }
.page-task .workflow-message-composer {
--composer-accent: var(--color-label-secondary);
--composer-tint: var(--color-surface-secondary);
--composer-surface: var(--color-surface);
--composer-border: color-mix(in srgb, var(--color-separator-strong) 68%, var(--color-surface));
}
.page-task .workflow-message-composer.workflow-approve,
.page-task .workflow-message-composer.workflow-close {
--composer-accent: var(--color-success);
}
.page-task .workflow-message-composer.workflow-petr-reply {
--composer-accent: var(--color-purple);
}
.page-task .workflow-message-composer.workflow-return {
--composer-accent: var(--color-error);
}
.task-composer-inline-action > .workflow-dialog.composer-inline-panel > .workflow-message-composer { display: block; }
.workflow-message-composer .task-feed-composer-shell { overflow: hidden; border-color: var(--composer-border); background: var(--composer-surface); }
.workflow-message-composer .task-feed-composer-shell:focus-within { border-color: var(--composer-border); box-shadow: none; }
.workflow-message-composer textarea { min-height: 6rem; padding-inline-end: calc(var(--control-md) + var(--space-5)); background: transparent !important; }
.workflow-composer-close { position: absolute; z-index: 2; top: var(--space-3); right: var(--space-3); display: grid; width: var(--control-md); height: var(--control-md); place-items: center; border: 0; border-radius: var(--radius-control); background: transparent; color: var(--color-label-secondary); cursor: pointer; font-size: var(--icon-md); }
.workflow-composer-close:hover { background: var(--color-surface); color: var(--color-label); }
.workflow-composer-settings { padding: 0 var(--space-4) var(--space-3); }
.workflow-message-composer .workflow-mail-delivery-option { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.workflow-message-composer .workflow-mail-delivery-option:hover { border-color: transparent; background: transparent; }
.workflow-message-composer .workflow-mail-delivery-option strong { font-size: var(--font-size-1); }
.workflow-message-composer .workflow-mail-delivery-option small { font-size: var(--font-size-0); }
.workflow-composer-toolbar { min-height: 3.75rem; padding-left: var(--space-4); }
.workflow-composer-label { display: inline-flex; align-items: center; gap: var(--space-2); color: color-mix(in srgb, var(--composer-accent) 72%, var(--color-label)); font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
.workflow-composer-submit { display: inline-flex; width: auto; min-width: var(--control-md); align-items: center; justify-content: center; gap: var(--space-2); padding: 0 var(--space-4); border-radius: var(--radius-control); background: var(--composer-accent) !important; }
.workflow-composer-submit:hover { background: color-mix(in srgb, var(--composer-accent) 86%, black) !important; }
.workflow-composer-submit span { font-size: var(--font-size-1); font-weight: var(--weight-semibold); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus { outline: none; }
:focus-visible { outline: none !important; box-shadow: none !important; }
.workflow-message-composer .workflow-composer-settings { background: var(--color-surface); }
.page-task .task-feed-composer-shell:focus-within,
.page-task .task-feed-composer[data-kind="final"] .task-feed-composer-shell:focus-within,
.page-task .task-feed-composer[data-kind="opinion"] .task-feed-composer-shell:focus-within { border-color: var(--color-label-secondary); box-shadow: var(--shadow-1); }
.page-task .task-feed-composer-shell { box-shadow: none; }
.priority-option input:checked + span,
.priority-option input:focus-visible + span { box-shadow: none !important; }
.marketing-news-copy strong,
.board-jump-nav a { text-decoration: none; }
.marketing-news-card:is(:hover, :focus-within) .marketing-news-copy strong,
.board-jump-nav a:is(:hover, :focus-visible) {
text-decoration: underline;
text-decoration-thickness: .08em;
text-underline-offset: .16em;
transition: none;
}
.task-composer-action-menu > button {
min-height: var(--control-lg);
grid-template-columns: var(--control-sm) minmax(0, 1fr) auto;
gap: var(--space-2);
padding: var(--space-2);
}
.task-composer-action-menu > button > i:first-child {
width: var(--control-sm);
height: var(--control-sm);
border-radius: var(--radius-control);
}
.task-composer-action-menu > button > span { display: block !important; }
.task-composer-action-menu > button small { display: none !important; }
.dashboard-task-link { text-decoration: none; }
.task-list-row:is(:hover, :focus-within) .dashboard-task-link {
text-decoration: underline;
text-decoration-thickness: .08em;
text-underline-offset: .14em;
transition: none;
}
.task-composer-inline-action > .calendar-event-dialog.composer-inline-form-modal {
position: static;
inset: auto;
display: block;
width: 100%;
height: auto;
padding: 0;
overflow: visible;
background: transparent;
}
.task-composer-inline-action > .composer-inline-form-modal[hidden] { display: none !important; }
.task-composer-inline-action > .composer-inline-form-modal > .calendar-dialog-backdrop { display: none; }
.task-composer-inline-action > .composer-inline-form-modal > .calendar-dialog-card {
position: static;
width: 100%;
max-width: none;
max-height: none;
margin: 0;
overflow: hidden;
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-control);
box-shadow: none;
}

/* v174 — one template for every timeline entry.
Only the rail content (person avatar or state icon) and semantic colour may vary. */
.page-task .feed > .message,
.page-task .feed > .message:nth-child(n),
.page-task .feed > .message:is(.is-pending-approval, .message-event-changes_requested, .message-event-closed) {
display: grid;
grid-template-columns: 3.5rem minmax(0, 1fr);
align-items: start;
gap: var(--space-4);
margin: 0;
padding: var(--space-4);
border-width: .0625rem;
border-radius: var(--radius-control);
}
.page-task .feed > .message .message-author-rail,
.page-task .feed > .message.is-pending-approval .message-author-rail {
display: grid;
width: 3.5rem;
min-height: var(--avatar-md);
align-self: start;
place-items: center;
padding: 0;
}
.page-task .feed > .message .message-author-rail > .avatar,
.page-task .feed > .message .message-author-rail > .avatar.lg,
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail::before {
width: var(--avatar-md);
height: var(--avatar-md);
}
.page-task .feed > .message .bubble,
.page-task .feed > .message.system .bubble,
.page-task .feed > .message.is-pending-approval .bubble,
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .bubble {
display: grid !important;
min-height: 0;
align-content: start;
gap: var(--space-3);
margin: 0;
padding: 0;
}
.page-task .feed > .message .bubble-head,
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .bubble-head {
display: grid;
width: 100%;
grid-template-columns: minmax(0, 1fr) auto;
align-items: start;
gap: var(--space-4);
margin: 0;
}
.page-task .feed > .message .bubble-heading-stack { gap: 0; }
.page-task .feed > .message .message-head-actions { align-self: start; }
.page-task .feed > .message .message-display-content > p { margin: 0; }

/* The template is neutral for every entry.  An event only swaps the avatar for an icon. */
body.page-task main.container .feed > .message {
border-color: color-mix(in srgb, var(--color-message) 13%, var(--color-surface)) !important;
background: color-mix(in srgb, var(--color-message-tint) 58%, var(--color-surface)) !important;
}
body.page-task main.container .feed > .message :is(.bubble-title, .thread-event-title, .message-time > strong) {
color: var(--color-label) !important;
}
body.page-task main.container .feed > .message .message-time > span {
color: var(--color-label-secondary) !important;
}
body.page-task main.container .feed > .message .thread-event-assignee {
color: inherit !important;
}
body.page-task main.container .feed > .message.message-event-petr_opinion_requested :is(.bubble-title, .thread-event-title, .message-time > strong),
body.page-task main.container .feed > .message.message-event-petr_opinion_reply :is(.bubble-title, .thread-event-title, .message-time > strong) {
color: var(--color-label) !important;
}
body.page-task main.container .feed > .message.message-event-petr_opinion_requested .message-time > span,
body.page-task main.container .feed > .message.message-event-petr_opinion_reply .message-time > span {
color: var(--color-label-secondary) !important;
}
.page-task .petr-opinion-reply-compose-trigger {
display: grid;
width: var(--control-xs);
height: var(--control-xs);
place-items: center;
padding: 0;
border: 0;
background: transparent;
color: var(--color-label-secondary);
cursor: pointer;
}
.page-task .petr-opinion-reply-compose-trigger:hover { color: var(--color-label); }
.page-task .feed > .message[data-petr-reply-compose-card][hidden] { display: none !important; }
@media (hover: hover) {
.page-task .petr-opinion-reply-edit-trigger { opacity: 1; }
}

/* State notices keep an icon in the same-size rail slot, never a different card layout. */
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail > .avatar {
display: none;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail::before {
background: var(--color-surface) !important;
color: var(--color-label-secondary) !important;
}
@media (max-width: 42rem) {
.page-task .feed > .message,
.page-task .feed > .message:nth-child(n) {
grid-template-columns: var(--avatar-md) minmax(0, 1fr);
gap: var(--space-3);
padding: var(--space-3);
}
.page-task .feed > .message .message-author-rail { width: var(--avatar-md); }
}

/* Semantic colours only — every card continues to use the shared timeline template above. */
.page-task .feed > .message .closed-task-return {
width: fit-content;
max-width: 100%;
justify-self: start;
}

body.page-task main.container .feed > .message[data-message-semantic^="petr-opinion-"] {
border-color: color-mix(in srgb, var(--color-purple) 30%, var(--color-surface)) !important;
background: var(--color-purple-tint) !important;
}
body.page-task main.container .feed > .message[data-message-semantic^="petr-opinion-"] :is(.bubble-title, .thread-event-title, .message-time > strong) {
color: var(--color-purple) !important;
}

/* Marketing idea boards */
.idea-boards { display:grid; gap:var(--space-5); }
.idea-board-tabs { display:flex; align-items:stretch; gap:var(--space-2); overflow-x:auto; padding-bottom:var(--space-1); scrollbar-width:thin; }
.idea-board-tab { display:grid; min-width:11rem; grid-template-columns:auto minmax(0,1fr); column-gap:var(--space-2); align-items:center; padding:var(--space-3) var(--space-4); border:.0625rem solid var(--color-separator); border-radius:var(--radius-control); background:var(--color-surface); color:var(--color-label-secondary); text-decoration:none; }
.idea-board-tab > span { grid-row:span 2; color:var(--color-brand); font-size:var(--icon-md); }
.idea-board-tab strong { overflow:hidden; color:var(--color-label); font-size:var(--font-size-2); text-overflow:ellipsis; white-space:nowrap; }
.idea-board-tab small { color:var(--color-label-tertiary); font-size:var(--font-size-0); }
.idea-board-tab:is(:hover,.is-active) { border-color:color-mix(in srgb,var(--color-brand) 38%,var(--color-separator)); background:var(--color-brand-tint); }
.idea-board-add { display:grid; width:var(--control-lg); min-width:var(--control-lg); place-items:center; align-self:center; border:.0625rem dashed var(--color-separator-strong); border-radius:var(--radius-control); background:transparent; color:var(--color-brand); cursor:pointer; font-size:var(--icon-md); }
.idea-board-workspace { min-width:0; padding:var(--space-6); border:.0625rem solid var(--color-separator); border-radius:var(--radius-panel); background:linear-gradient(135deg,var(--color-surface-secondary),var(--color-surface)); }
.idea-board-head { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--space-5); margin-bottom:var(--space-6); }
.idea-board-head h2 { margin:var(--space-2) 0 0; font-size:var(--font-size-6); letter-spacing:-.025em; }
.idea-board-head p { margin:var(--space-1) 0 0; color:var(--color-label-secondary); }
.idea-board-scope { display:inline-flex; min-height:var(--control-xs); align-items:center; gap:var(--space-2); padding:0 var(--space-2); border-radius:var(--radius-pill); font-size:var(--font-size-0); font-weight:var(--weight-semibold); }
.idea-board-scope.is-team { background:var(--color-accent-tint); color:var(--color-accent); }.idea-board-scope.is-personal { background:var(--color-surface-tertiary); color:var(--color-label-secondary); }
.idea-board-head-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:var(--space-2); }
.idea-sticky-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(15rem,1fr)); align-items:start; gap:var(--space-4); }
.idea-sticky { --sticky-bg:#fff1a8; --sticky-text:#352d0c; position:relative; display:flex; min-height:15rem; flex-direction:column; overflow:hidden; padding:var(--space-5); background:var(--sticky-bg); box-shadow:.125rem .375rem .875rem color-mix(in srgb,#1f2937 15%,transparent); color:var(--sticky-text); transform:rotate(-.45deg); }
.idea-sticky:nth-child(2n) { transform:rotate(.35deg); }.idea-sticky:nth-child(3n) { transform:rotate(-.15deg); }.idea-sticky:hover { z-index:1; transform:translateY(-.1875rem) rotate(0); }
.idea-sticky.tone-yellow { --sticky-bg:#fff1a8; --sticky-text:#352d0c; }.idea-sticky.tone-pink { --sticky-bg:#ffd3e2; --sticky-text:#4b1931; }.idea-sticky.tone-blue { --sticky-bg:#cceaff; --sticky-text:#14354e; }.idea-sticky.tone-mint { --sticky-bg:#c7f3df; --sticky-text:#153b2c; }.idea-sticky.tone-purple { --sticky-bg:#e0d5ff; --sticky-text:#30234e; }
.idea-sticky-fold { position:absolute; top:0; right:0; width:2.3rem; height:2.3rem; background:color-mix(in srgb,var(--sticky-bg) 72%,#4a4020); clip-path:polygon(0 0,100% 100%,100% 0); opacity:.28; }.idea-sticky-copy { min-width:0; }.idea-sticky-copy h3 { margin:0 0 var(--space-2); color:inherit; font-size:var(--font-size-4); }.idea-sticky-copy p { margin:0; color:inherit; font-size:var(--font-size-2); line-height:1.55; }.idea-sticky footer { display:flex; min-width:0; align-items:center; gap:var(--space-2); margin-top:auto; padding-top:var(--space-5); color:color-mix(in srgb,var(--sticky-text) 70%,transparent); font-size:var(--font-size-0); }.idea-sticky footer .avatar { width:1.35rem; height:1.35rem; }.idea-sticky footer time { margin-left:auto; white-space:nowrap; }
.idea-sticky-actions { position:absolute; z-index:2; top:var(--space-3); right:var(--space-3); display:flex; padding:.125rem; border-radius:var(--radius-sm); background:color-mix(in srgb,white 56%,transparent); opacity:0; }.idea-sticky:is(:hover,:focus-within) .idea-sticky-actions { opacity:1; }.idea-sticky-actions button { display:grid; width:var(--control-xs); height:var(--control-xs); place-items:center; padding:0; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--sticky-text); cursor:pointer; }
.idea-empty-state { display:grid; min-height:18rem; place-content:center; justify-items:center; gap:var(--space-3); padding:var(--space-6); border:.125rem dashed color-mix(in srgb,var(--color-brand) 24%,var(--color-separator)); color:var(--color-label-secondary); text-align:center; }.idea-empty-state > span { color:var(--color-brand); font-size:var(--font-size-8); }.idea-empty-state h3,.idea-empty-state p { margin:0; }.idea-empty-state h3 { color:var(--color-label); font-size:var(--font-size-4); }
.idea-scope-choice,.idea-color-choice { display:grid; gap:var(--space-2); margin:0; padding:0; border:0; }.idea-scope-choice legend,.idea-color-choice legend { padding:0; color:var(--color-label); font-size:var(--font-size-1); font-weight:var(--weight-semibold); }.idea-scope-choice > label,.idea-color-choice label { position:relative; cursor:pointer; }.idea-scope-choice input,.idea-color-choice input { position:absolute; opacity:0; }.idea-scope-choice span { display:grid; grid-template-columns:var(--control-sm) 1fr; column-gap:var(--space-3); align-items:center; padding:var(--space-3); border:.0625rem solid var(--color-separator); border-radius:var(--radius-control); }.idea-scope-choice span > i { grid-row:span 2; color:var(--color-brand); }.idea-scope-choice small { font-size:var(--font-size-0); }.idea-scope-choice input:checked + span { border-color:var(--color-brand); background:var(--color-brand-tint); }.idea-note-form { display:grid; gap:var(--space-4); }.idea-color-choice > div { display:flex; flex-wrap:wrap; gap:var(--space-2); }.idea-color-choice span { display:inline-flex; min-height:var(--control-sm); align-items:center; gap:var(--space-2); padding:0 var(--space-3); border:.0625rem solid transparent; border-radius:var(--radius-pill); background:var(--color-surface-secondary); }.idea-color-choice i { width:.875rem; height:.875rem; border-radius:50%; background:#fff1a8; }.idea-color-choice .tone-pink i { background:#ffd3e2; }.idea-color-choice .tone-blue i { background:#cceaff; }.idea-color-choice .tone-mint i { background:#c7f3df; }.idea-color-choice .tone-purple i { background:#e0d5ff; }.idea-color-choice input:checked + span { border-color:var(--color-label-secondary); box-shadow:inset 0 0 0 .0625rem var(--color-label-secondary); }

/* Compact windows use the same drawer navigation as phones before content can
become narrower than the sidebar. */
@media (max-width:82rem) {
.app-sidebar { z-index:100; width:min(20rem,86vw); transform:translateX(-100%); box-shadow:var(--shadow-drawer); transition:transform var(--duration-normal) var(--ease-standard); }
body.sidebar-open .app-sidebar { transform:translateX(0); }.app-content { margin-left:0; }
body.sidebar-open .sidebar-backdrop { position:fixed; z-index:90; inset:0; display:block; border:0; background:var(--color-overlay); }
.app-topbar > .topbar-main { display:flex !important; }.hamburger-btn { display:grid; width:var(--control-md); height:var(--control-md); place-items:center; border:0; border-radius:var(--radius-control); background:var(--color-brand-tint); color:var(--color-brand); cursor:pointer; }
}
@media (max-width:42rem) { .idea-board-workspace { margin-inline:calc(var(--space-4) * -1); padding:var(--space-4); border-inline:0; border-radius:0; }.idea-board-head { align-items:flex-start; flex-direction:column; }.idea-board-head-actions,.idea-board-head-actions .btn { width:100%; }.idea-sticky-grid { grid-template-columns:1fr; gap:var(--space-3); }.idea-sticky,.idea-sticky:nth-child(n) { min-height:13rem; transform:none; }.idea-sticky-actions { opacity:1; } }
body.page-task main.container .feed > .message[data-message-semantic^="petr-opinion-"] .message-time > span {
color: color-mix(in srgb, var(--color-purple) 76%, var(--color-label-secondary)) !important;
}

body.page-task main.container:has(.task-meta-priority.priority-none) .feed > .message.message-event-priority_updated {
/* "Bez priority" is visually neutral, just like regular entries in the feed. */
border-color: color-mix(in srgb, var(--color-message) 13%, var(--color-surface)) !important;
background: color-mix(in srgb, var(--color-message-tint) 58%, var(--color-surface)) !important;
--timeline-priority-color: var(--color-label-secondary);
--timeline-priority-icon-bg: var(--color-surface);
}
body.page-task main.container:has(.task-meta-priority.priority-low) .feed > .message.message-event-priority_updated {
border-color: color-mix(in srgb, var(--color-blue) 35%, var(--color-surface)) !important;
background: var(--color-blue-tint) !important;
--timeline-priority-color: var(--color-blue);
--timeline-priority-icon-bg: color-mix(in srgb, var(--color-blue-tint) 72%, white);
}
body.page-task main.container:has(.task-meta-priority.priority-medium) .feed > .message.message-event-priority_updated {
border-color: color-mix(in srgb, var(--color-warning) 35%, var(--color-surface)) !important;
background: var(--color-warning-tint) !important;
--timeline-priority-color: var(--color-warning);
--timeline-priority-icon-bg: color-mix(in srgb, var(--color-warning-tint) 72%, white);
}
body.page-task main.container:has(.task-meta-priority.priority-high) .feed > .message.message-event-priority_updated {
border-color: color-mix(in srgb, var(--color-error) 35%, var(--color-surface)) !important;
background: var(--color-error-tint) !important;
--timeline-priority-color: var(--color-error);
--timeline-priority-icon-bg: color-mix(in srgb, var(--color-error-tint) 72%, white);
}
body.page-task main.container .feed > .message.message-event-priority_updated .message-author-rail::before {
background: var(--timeline-priority-icon-bg) !important;
color: var(--timeline-priority-color) !important;
}
body.page-task main.container .feed > .message.message-event-priority_updated :is(.bubble-title, .thread-event-title, .message-time > strong) {
color: var(--timeline-priority-color) !important;
}
body.page-task main.container .feed > .message.message-event-priority_updated .message-time > span {
color: color-mix(in srgb, var(--timeline-priority-color) 76%, var(--color-label-secondary)) !important;
}

.page-task .feed > .message .deadline-change-lines { display: grid; gap: var(--space-1); }
.page-task .feed > .message .deadline-change-lines > p { margin: 0; }

/* Remaining semantic states share the same card geometry; only their visual role changes. */
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) {
border-color: color-mix(in srgb, var(--color-blue) 30%, var(--color-surface)) !important;
background: var(--color-blue-tint) !important;
}
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) :is(.bubble-title, .thread-event-title, .message-time > strong, .thread-event-assignee) {
color: var(--color-blue) !important;
}
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) .message-time > span {
color: color-mix(in srgb, var(--color-blue) 76%, var(--color-label-secondary)) !important;
}
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) .message-author-rail::before {
background: color-mix(in srgb, var(--color-blue) 12%, var(--color-surface)) !important;
color: var(--color-blue) !important;
}
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) .thread-event-assignee {
font-weight: var(--weight-bold) !important;
}

body.page-task main.container .feed > .message.is-final-output {
border-color: color-mix(in srgb, var(--color-output) 30%, var(--color-surface)) !important;
background: var(--color-output-tint) !important;
}
body.page-task main.container .feed > .message.is-final-output :is(.bubble-title, .thread-event-title, .message-time > strong) {
color: var(--color-output) !important;
}
body.page-task main.container .feed > .message.is-final-output .message-time > span {
color: color-mix(in srgb, var(--color-output) 76%, var(--color-label-secondary)) !important;
}

body.page-task main.container .feed > .message.message-event-closed {
border-color: color-mix(in srgb, var(--color-success) 30%, var(--color-surface)) !important;
background: var(--color-success-tint) !important;
}
body.page-task main.container .feed > .message.message-event-closed :is(.bubble-title, .thread-event-title, .message-time > strong) {
color: var(--color-success) !important;
}
body.page-task main.container .feed > .message.message-event-closed .message-time > span {
color: color-mix(in srgb, var(--color-success) 76%, var(--color-label-secondary)) !important;
}

/* Compact state rows: icon and line of text share one vertical centre, without icon badges. */
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .bubble {
min-height: var(--avatar-md) !important;
align-content: center !important;
position: relative;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .bubble-head {
align-items: center !important;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-head-actions {
position: absolute;
top: 0;
right: 0;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail::before {
border-radius: 0 !important;
background: transparent !important;
}
.page-task .feed > .message .closed-task-return {
min-height: var(--control-md);
margin-top: var(--space-3);
padding-inline: var(--space-4);
font-size: var(--icon-sm);
}

.page-task .petr-opinion-reply-compose-trigger { display: none !important; }
.page-task .petr-opinion-reply-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin-top: var(--space-4); }
.page-task .petr-opinion-pending-notice { display: flex; align-items: flex-start; gap: var(--space-3); margin-bottom: var(--space-5); padding: var(--space-4); border: .0625rem solid color-mix(in srgb, var(--color-purple) 28%, var(--color-surface)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--color-purple-tint) 72%, var(--color-surface)); color: var(--color-purple); }
.page-task .petr-opinion-pending-notice > i { flex: 0 0 auto; margin-top: .125rem; font-size: var(--font-size-4); }
.page-task .petr-opinion-pending-notice > div { display: grid; gap: var(--space-1); }
.page-task .petr-opinion-pending-notice strong { font-weight: var(--weight-semibold); }
.page-task .petr-opinion-pending-notice span { color: var(--color-label-secondary); font-size: var(--font-size-2); }
.page-task .petr-opinion-reply-action {
background: var(--color-purple);
color: var(--color-label-inverse);
}
.page-task .petr-opinion-reply-action:hover {
background: color-mix(in srgb, var(--color-purple) 86%, black);
color: var(--color-label-inverse);
}
.page-task .petr-opinion-quick-reply { display: contents; }
.page-task .petr-opinion-quick-reply-action {
border-color: color-mix(in srgb, var(--color-purple) 34%, var(--color-surface));
background: color-mix(in srgb, var(--color-purple-tint) 72%, var(--color-surface));
color: var(--color-purple);
}
.page-task .petr-opinion-quick-reply-action:hover {
border-color: color-mix(in srgb, var(--color-purple) 48%, var(--color-surface));
background: var(--color-purple-tint);
color: var(--color-purple);
}

.page-task .task-actions-rail.is-closed .closed-task-actions { border-top: 0; }

.page-task .task-direct-actions .quick-action.muted {
border-color: var(--color-separator-strong);
background: var(--color-surface);
}
.page-task .task-direct-actions .quick-action.muted:hover {
border-color: var(--color-label-secondary);
background: var(--color-surface-secondary);
color: var(--color-label);
}

.page-task .task-direct-actions > form:has(input[name="action"][value="join_task"]) .quick-action,
.page-task .task-direct-actions > form:has(input[name="action"][value="leave_task"]) .quick-action {
min-height: var(--control-lg);
justify-content: center;
}

.page-task .task-actions-aside :is(.quick-action, .reopen-inline .btn, .reopen-inline input) {
border-radius: var(--radius-control) !important;
}
.page-task .task-actions-aside .closed-task-actions .reopen-inline button.btn.primary {
border-radius: var(--radius-control) !important;
}

/* One shared control geometry for every text action in the app. Icon-only controls stay compact. */
body :is(.btn, .quick-action, .shared-file-upload-button.app-file-picker-action > span) {
min-height: var(--control-md) !important;
margin: 0 !important;
padding-inline: var(--space-4) !important;
border-radius: var(--radius-control) !important;
font-size: var(--font-size-3) !important;
}

/* The type picker must sit above the composer and the feed while it is open. */
.page-task .task-composer-kind-picker[open] { z-index: 60; }
.page-task .task-composer-kind-picker[open] .task-composer-kind-menu { z-index: 61; }
/* Attachments belong to the message body; only the toolbar carries the selected composer colour. */
.page-task .task-feed-composer .composer-file-selection { background: var(--color-surface); }
.page-task .task-feed-composer .composer-file-chip { padding-right: var(--space-2); }

/* Final outputs use the direct output red everywhere, including the composer label and full timestamp. */
.page-task .task-feed-composer[data-kind="final"] .task-composer-kind-picker > summary,
.page-task .task-feed-composer[data-kind="final"] .task-composer-kind-static {
color: var(--color-output);
}

/* One compact menu pattern for task actions and post types. */
.task-composer-action-menu,
.task-composer-kind-menu {
width: min(20rem, calc(100vw - 3rem));
gap: .125rem;
padding: .375rem;
border: 0;
}
.task-composer-action-menu > button,
.task-composer-kind-menu > button {
min-height: 2.875rem;
grid-template-columns: 1.75rem minmax(0, 1fr) auto;
gap: var(--space-2);
padding: .375rem;
}
.task-composer-action-menu > button > i:first-child,
.task-composer-kind-menu > button > i:first-child {
width: 1.75rem;
height: 1.75rem;
border-radius: var(--radius-control);
}
.task-composer-action-menu > button > span,
.task-composer-kind-menu > button > span { display: block; }
.task-composer-action-menu > button small,
.task-composer-kind-menu > button small { display: none; }
.task-composer-action-menu > button > i:last-child,
.task-composer-kind-menu > button > i:last-child {
color: var(--color-label-tertiary);
font-size: var(--font-size-0);
}
.task-composer-kind-menu > button[data-composer-mode="standard"] > i:first-child { background: var(--color-message); }
.task-composer-kind-menu > button[data-composer-mode="final"] > i:first-child { background: var(--color-output); }
.task-composer-kind-menu > button[data-composer-mode="opinion"] > i:first-child { background: var(--color-purple); }
.task-composer-kind-menu > button { grid-template-columns: 1.75rem minmax(0, 1fr); }
.page-task .task-feed-composer[data-kind="final"] .task-composer-tool {
color: var(--color-output);
}
body.page-task main.container .feed > .message.is-final-output :is(.bubble-title, .message-time, .message-time > strong, .message-time > span) {
color: var(--color-output) !important;
}

/* The two output decisions use the same semantics as their composers. */
.page-task .final-output-actions .btn {
min-height: var(--control-md);
align-items: center;
justify-content: center;
}
.page-task .final-output-actions .btn.primary {
border-color: var(--color-success);
background: var(--color-success);
color: var(--color-label-inverse);
}
.page-task .final-output-actions .btn.primary:hover {
border-color: color-mix(in srgb, var(--color-success) 86%, black);
background: color-mix(in srgb, var(--color-success) 86%, black);
}
.page-task .final-output-actions .btn:not(.primary) {
border-color: var(--color-output);
background: var(--color-surface);
color: var(--color-output);
}
.page-task .final-output-actions .btn:not(.primary):hover {
border-color: var(--color-output-hover);
background: var(--color-output);
color: var(--color-label-inverse);
}

/* Purple is reserved for Petr's consultation flow; returned outputs remain output-red. */
.page-task .workflow-return-dialog .workflow-dialog-icon {
background: var(--color-output-tint);
color: var(--color-output);
}
.page-task .workflow-petr-opinion-dialog .workflow-dialog-icon {
background: var(--color-purple-tint);
color: var(--color-purple);
}
.page-task .workflow-state-note.is-return,
.page-task .workflow-event-banner.is-return {
background: var(--color-output-tint);
color: var(--color-output);
}
.page-task .workflow-state-note.is-return > i { color: var(--color-output); }
.page-task .feed .message.system .thread-event-title.is-return { color: var(--color-output); }
.page-task .message.message-event-changes_requested { border-left-color: var(--color-output); }

/* Feed attachments may react on hover, but they never move or zoom. */
.page-task .feed .attachment-preview-card {
transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}
.page-task .feed .attachment-preview-card:hover { transform: none; }
.page-task .feed .attachment-preview-card .attachment-preview-media img,
.page-task .feed .attachment-preview-card:hover .attachment-preview-media img {
transform: none;
transition: none;
}

/* The state glyph is a bare icon, and every message keeps its text directly below its heading. */
.page-task .feed > .message .bubble { gap: 0 !important; }
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail {
background: transparent !important;
border: 0 !important;
box-shadow: none !important;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail::before {
width: auto !important;
height: auto !important;
padding: 0 !important;
border: 0 !important;
border-radius: 0 !important;
background: none !important;
box-shadow: none !important;
}

/* State icons are real, bare glyphs — never generated badge boxes. */
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail::before {
content: none !important;
display: none !important;
}
.page-task .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated, .message-event-priority_updated) .message-author-rail > i {
display: block;
width: auto;
height: auto;
padding: 0;
border: 0;
border-radius: 0;
background: none;
box-shadow: none;
color: currentColor;
font-size: var(--font-size-3);
line-height: 1;
}
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) .message-author-rail > i { color: #b77900; }
body.page-task main.container .feed > .message.message-event-priority_updated .message-author-rail > i { color: var(--timeline-priority-color); }

/* Work-state rows are calm, but visibly distinct from ordinary messages. */
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) {
border-color: #f1d58a !important;
background: #fff8df !important;
}
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) :is(.bubble-title, .thread-event-title, .message-time > strong, .thread-event-assignee) {
color: #8a5b00 !important;
}
body.page-task main.container .feed > .message:is(.message-event-joined, .message-event-left, .message-event-team_updated) .message-time > span {
color: #9b6c16 !important;
}

body.page-task main.container .feed > .message[data-message-semantic^="petr-opinion-"] {
border-color: color-mix(in srgb, var(--color-purple) 28%, var(--color-surface)) !important;
background: color-mix(in srgb, var(--color-purple-tint) 78%, var(--color-surface)) !important;
}
body.page-task main.container .feed > .message[data-message-semantic^="petr-opinion-"] :is(.bubble-title, .thread-event-title, .message-time > strong) {
color: var(--color-purple) !important;
}

/* A closed task has no composer, so authorised deletion remains available in its sidebar. */
.page-task .task-actions-aside .task-actions-rail.is-closed .task-direct-actions > form:has(input[name="action"][value="delete_task"]) {
display: block !important;
}

/* Search has the same fixed left edge on every page. The task context belongs to its action rail. */
@media (min-width: 42.0625rem) {
.app-topbar { gap: 0; }
.app-topbar > .topbar-main { display: none; }
.app-topbar > .header-tools { margin-left: var(--space-6); }
}
.app-topbar { background: var(--color-surface); }
.global-task-search { position: relative; display: flex; width: auto; min-width: 0; min-height: 0; margin-left: 0; flex: 1 1 auto; align-items: center; gap: var(--space-2); padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--color-label-tertiary); transition: color var(--duration-fast) var(--ease-standard); }
.global-task-search:focus-within { color: var(--color-accent); }
.global-task-search > i { flex: 0 0 auto; font-size: var(--font-size-4); }
.global-task-search input,
body:not(.login-body) .global-task-search input,
body:not(.login-body) .global-task-search input:hover,
body:not(.login-body) .global-task-search input:focus { width: 100%; min-width: 0; height: calc(var(--control-md) - .125rem); padding: 0; border: 0 !important; border-radius: 0 !important; outline: 0; background: transparent !important; background-color: transparent !important; color: var(--color-label); font: inherit; font-size: var(--font-size-4); box-shadow: none !important; }
.global-task-search input::placeholder { color: var(--color-label-tertiary); }
.global-task-search-results { position: absolute; z-index: 70; top: calc(100% + var(--space-2)); right: 0; left: 0; overflow: auto; max-height: min(31rem, calc(100dvh - var(--topbar-height) - var(--space-6))); padding: var(--space-2); border: .0625rem solid var(--color-separator); border-radius: var(--radius-panel); background: var(--color-surface); box-shadow: var(--shadow-popover); }
.global-task-search-results { padding: var(--space-2); border-color: var(--color-separator-strong); box-shadow: 0 1rem 2.5rem rgba(20,22,29,.14), 0 .125rem .5rem rgba(20,22,29,.08); }
.global-task-search-result { display: block; padding: var(--space-3) var(--space-4); border: .0625rem solid transparent; border-radius: var(--radius-control); color: var(--color-label); text-decoration: none; transition: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard); }
.global-task-search-result + .global-task-search-result { margin-top: var(--space-1); }
.global-task-search-result:hover, .global-task-search-result[aria-selected="true"] { border-color: color-mix(in srgb, var(--color-brand) 20%, transparent); background: var(--color-brand-tint); }
.global-task-search-result > span { display: grid; gap: .1875rem; }
.global-task-search-result strong { overflow: hidden; font-size: var(--font-size-3); font-weight: var(--weight-semibold); line-height: var(--line-title); text-overflow: ellipsis; white-space: nowrap; }
.global-task-search-result small { color: var(--color-label-tertiary); font-size: var(--font-size-1); font-weight: var(--weight-medium); }
.global-task-search-result em { display: -webkit-box; overflow: hidden; margin-top: var(--space-1); color: var(--color-label-secondary); font-size: var(--font-size-2); font-style: normal; line-height: var(--line-body); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.global-task-search-highlight { padding: 0 .08em; border-radius: .2em; background: #fff0a6; color: #493800; font: inherit; font-weight: inherit; }
.global-task-search-empty { margin: 0; padding: var(--space-4); color: var(--color-label-secondary); font-size: var(--font-size-2); text-align: center; }

.page-task .task-side-calendar-wrap { padding-top: var(--space-4); border-top: .0625rem solid var(--color-separator); }
.page-task .task-side-context { display: grid; max-height: 0; gap: var(--space-3); overflow: hidden; opacity: 0; pointer-events: none; transform: translateY(-.5rem); transition: max-height var(--duration-standard) var(--ease-standard), opacity var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard); }
.page-task .task-side-context.is-visible { max-height: 32rem; padding-top: var(--space-4); opacity: 1; pointer-events: auto; transform: translateY(0); }
.page-task .task-side-context > h2 { display: -webkit-box; margin: 0; overflow: hidden; color: var(--color-label); font-size: var(--font-size-5); font-weight: var(--weight-semibold); line-height: var(--line-title); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.page-task .task-detail-header { margin-bottom: 0; }
.page-task .task-header-orders-row { width: 100%; margin: 0 0 var(--space-8); padding-top: var(--space-4); }
.page-task .task-header-orders-link { display: inline-flex; width: fit-content; align-items: center; gap: var(--space-2); color: var(--color-blue); font-size: var(--font-size-2); font-weight: var(--weight-semibold); text-decoration: none; }
.page-task .task-header-orders-link:hover { color: var(--color-blue); text-decoration: underline; text-underline-offset: .1875rem; }
.task-scroll-calendar { --calendar-tone: var(--color-label-secondary); --calendar-tint: var(--color-surface-secondary); display: grid; width: min(100%, 7.5rem); overflow: hidden; justify-self: start; border: 0; border-radius: var(--radius-control); background: color-mix(in srgb, var(--calendar-tint) 56%, var(--color-surface)); color: var(--color-label); text-align: center; box-shadow: none; }
.task-scroll-calendar.tone-danger { --calendar-tone: var(--color-error); --calendar-tint: var(--color-error-tint); }
.task-scroll-calendar.tone-warning { --calendar-tone: var(--color-warning); --calendar-tint: var(--color-warning-tint); }
.task-scroll-calendar.tone-accent { --calendar-tone: var(--color-blue); --calendar-tint: var(--color-blue-tint); }
.task-scroll-calendar.tone-success { --calendar-tone: var(--color-success); --calendar-tint: var(--color-success-tint); }
.task-scroll-calendar-day { padding: var(--space-2) var(--space-3); background: var(--calendar-tone); color: var(--color-label-inverse); font-size: var(--font-size-0); font-weight: var(--weight-bold); letter-spacing: .12em; line-height: var(--line-title); }
.task-scroll-calendar strong { padding: var(--space-2) var(--space-3) 0; color: var(--calendar-tone); font-size: clamp(2.125rem, 2.7vw, 2.75rem); font-weight: var(--weight-bold); line-height: .95; }
.task-scroll-calendar-month { padding: 0 var(--space-3) var(--space-3); color: color-mix(in srgb, var(--calendar-tone) 72%, var(--color-label-secondary)); font-size: var(--font-size-2); font-weight: var(--weight-bold); letter-spacing: .08em; }
.task-scroll-calendar-time { padding: var(--space-2) var(--space-3); border-top: .0625rem solid color-mix(in srgb, var(--calendar-tone) 22%, var(--color-separator)); color: color-mix(in srgb, var(--calendar-tone) 72%, var(--color-label-secondary)); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.page-task .task-side-meta { display: grid; gap: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-2); line-height: var(--line-body); }
.page-task .task-side-meta > span { display: grid; grid-template-columns: var(--icon-sm) minmax(0, 1fr); align-items: start; gap: var(--space-2); }
.page-task .task-side-meta > span > i { width: var(--icon-sm); margin-top: .125rem; color: var(--color-label-tertiary); text-align: center; }
.page-task .task-side-meta .task-meta-priority.priority-high { color: var(--color-error); font-weight: var(--weight-semibold); }
.page-task .task-side-orders-link { display: inline-flex; width: fit-content; max-height: 0; align-items: center; gap: var(--space-2); overflow: hidden; padding-top: 0; border-top: .0625rem solid transparent; opacity: 0; color: var(--color-blue); font-size: var(--font-size-2); font-weight: var(--weight-semibold); text-decoration: none; transform: translateY(-.25rem); transition: max-height var(--duration-standard) var(--ease-standard) .14s, padding-top var(--duration-standard) var(--ease-standard) .14s, border-color var(--duration-standard) var(--ease-standard) .14s, opacity var(--duration-standard) var(--ease-standard) .14s, transform var(--duration-standard) var(--ease-standard) .14s; }
.page-task .task-side-context.is-visible .task-side-orders-link { max-height: var(--control-md); padding-top: var(--space-3); border-top-color: var(--color-separator); opacity: 1; transform: translateY(0); }
.page-task .task-side-orders-link:hover { color: var(--color-blue); text-decoration: underline; text-underline-offset: .1875rem; }

/* The task rail is deliberately limited to joining work, the deadline and navigation. */
.page-task .task-command-actions > .task-settings-menu,
.page-task .task-direct-actions > button,
.page-task .task-direct-actions > form:not(:has(input[name="action"][value="join_task"], input[name="action"][value="leave_task"])) { display: none !important; }

/* A closed order can be reopened directly from its action rail. */
.page-task .task-actions-rail.is-closed .closed-task-actions {
display: grid !important;
}
.page-task .task-side-context {
display: block;
max-height: none;
padding-top: var(--space-4);
overflow: visible;
opacity: 1;
pointer-events: auto;
transform: none;
}
.page-task .task-side-context > :not(.task-side-orders-link) { display: none; }
.page-task .task-side-context .task-side-orders-link {
max-height: var(--control-md);
padding-top: var(--space-3);
border-top-color: var(--color-separator);
opacity: 1;
transform: none;
transition: none;
}

/* The navigation link belongs to the compact scrolled context, not the initial rail. */
.page-task .task-side-context {
display: grid;
max-height: 0;
gap: var(--space-3);
padding-top: 0;
overflow: hidden;
opacity: 0;
pointer-events: none;
transform: translateY(-.5rem);
transition: max-height var(--duration-standard) var(--ease-standard), opacity var(--duration-standard) var(--ease-standard), transform var(--duration-standard) var(--ease-standard);
}
.page-task .task-side-context.is-visible {
max-height: 8rem;
padding-top: var(--space-4);
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}
.page-task .task-side-context .task-side-orders-link {
max-height: 0;
padding-top: 0;
border-top-color: transparent;
opacity: 0;
transform: translateY(-.25rem);
transition: max-height var(--duration-standard) var(--ease-standard) .14s, padding-top var(--duration-standard) var(--ease-standard) .14s, border-color var(--duration-standard) var(--ease-standard) .14s, opacity var(--duration-standard) var(--ease-standard) .14s, transform var(--duration-standard) var(--ease-standard) .14s;
}
.page-task .task-side-context.is-visible .task-side-orders-link {
max-height: var(--control-md);
padding-top: var(--space-3);
border-top-color: var(--color-separator);
opacity: 1;
transform: translateY(0);
}

/* Parameters remain separated from the assignment, but without an oversized void. */
.page-task .created-brief-long-answers + .created-brief-list {
margin-top: var(--space-3);
padding-top: var(--space-3);
}

/* The return to all orders is an outlined navigation action, scaled to its context. */
.page-task :is(.task-header-orders-link, .task-side-orders-link) {
min-height: var(--control-sm);
padding: 0 var(--space-2);
border: .0625rem solid color-mix(in srgb, var(--color-blue) 48%, var(--color-separator));
border-radius: var(--radius-sm);
background: transparent;
color: var(--color-blue);
}
.page-task :is(.task-header-orders-link, .task-side-orders-link):hover {
border-color: var(--color-blue);
background: var(--color-blue-tint);
color: var(--color-blue);
text-decoration: none;
}
.page-task .task-header-orders-link {
min-width: 17rem;
justify-content: center;
}
.page-task .task-side-orders-link {
align-self: start;
justify-content: center;
}

/* A message body starts as a new reading unit beneath its author line. */
.page-task .feed > .message:is(.message-event-standard, .message-event-deadline_updated, .message-event-brief_updated, .message-event-closed, .message-event-reopened) .bubble-head {
margin-bottom: var(--space-4);
}
@media (max-width: 42rem) {
.app-topbar { gap: var(--space-2); }
.topbar-main { flex: 0 1 auto; }
.global-task-search { min-width: 0; flex: 1 1 auto; padding-inline: 0; }
.global-task-search input { font-size: var(--font-size-3); }
.global-task-search-results { position: fixed; top: calc(var(--topbar-height) + var(--space-2)); right: var(--space-3); left: var(--space-3); max-height: min(31rem, calc(100dvh - var(--topbar-height) - var(--space-6))); }
}

/* Keep the active composer quiet: its tint, rather than a heavy outline, signals the action. */
.page-task .task-feed-composer-shell:focus-within,
.page-task .task-feed-composer[data-kind="final"] .task-feed-composer-shell:focus-within,
.page-task .task-feed-composer[data-kind="opinion"] .task-feed-composer-shell:focus-within,
.page-task .workflow-message-composer.workflow-petr-reply .task-feed-composer-shell:focus-within {
border-color: var(--composer-border);
box-shadow: 0 .25rem .75rem color-mix(in srgb, var(--color-label) 5%, transparent);
}
.page-task .workflow-message-composer.workflow-petr-reply textarea {
background: var(--composer-surface) !important;
}

/* Task navigation remains available in the fixed header. */
.page-task .topbar-task-context,
.page-new .topbar-task-context {
display: flex;
flex: 0 0 auto;
width: auto;
max-width: none;
min-width: 0;
align-items: center;
gap: var(--space-3);
overflow: visible;
}
.page-task .topbar-task-orders-link,
.page-new .topbar-task-orders-link {
display: inline-flex;
min-height: var(--control-sm);
flex: 0 0 auto;
align-items: center;
gap: var(--space-2);
padding: 0 var(--space-3);
border: .0625rem solid color-mix(in srgb, var(--color-blue) 48%, var(--color-separator));
border-radius: var(--radius-sm);
background: transparent;
color: var(--color-blue);
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
text-decoration: none;
white-space: nowrap;
}
.page-task .topbar-task-orders-link:hover { border-color: var(--color-blue); background: var(--color-blue-tint); color: var(--color-blue); }
.page-task .topbar-task-context + .global-task-search,
.page-new .topbar-task-context + .global-task-search { margin-left: var(--space-6); }

/* The task rail now focuses exclusively on the workflow action and deadline. */
.page-task .task-side-context { display: none !important; }

@media (max-width: 42rem) {
.page-task .topbar-task-context,
.page-new .topbar-task-context { display: none !important; }
}

/* Let the composer and the workflow rail begin on one shared horizontal axis. */
.page-task .page-header {
padding-bottom: var(--space-4);
border-bottom: 0;
}
.page-task .task-side-calendar-wrap {
border-top: 0;
}
@media (max-width: 63.9375rem) {
.page-task .task-side-calendar-wrap { display: none; }
}
.page-task .thread-workspace {
margin-top: var(--space-6);
}
@media (min-width: 42.0625rem) {
.page-task .compose-zone { margin-top: 0; }
}

/* The header uses one calm, legible text scale. */
.app-topbar .global-task-search input,
.app-topbar .user-trigger-meta strong,
.page-task .topbar-task-orders-link,
.page-new .topbar-task-orders-link {
font-size: var(--font-size-3);
}
.app-topbar .user-trigger { border-radius: var(--radius-control); }

@media (min-width: 42.0625rem) {
:root { --topbar-height: 7rem; }
.app-content > .container { padding-top: var(--space-10); }
}

/* Detail title, composer and timeline share the same content axis. */
.page-task .container > .task-detail-header {
width: min(100%, 84rem);
margin-inline: auto;
}

/* The return action is a quiet outline button; search remains the visual centre. */
.page-task .topbar-task-orders-link,
.page-new .topbar-task-orders-link {
min-height: var(--control-sm);
padding: 0 var(--space-3);
border: .0625rem solid var(--color-separator-strong);
border-radius: var(--radius-sm);
background: transparent;
color: var(--color-label-secondary);
}
.page-task .topbar-task-orders-link:hover,
.page-new .topbar-task-orders-link:hover {
border-color: var(--color-label-secondary);
background: var(--color-surface-secondary);
color: var(--color-label);
text-decoration: none;
}
@media (min-width: 42.0625rem) {
.app-topbar .global-task-search {
position: absolute;
left: 50%;
width: min(34rem, 34vw);
min-height: var(--control-md);
margin-left: 0 !important;
padding: 0 var(--space-4);
border-radius: var(--radius-control);
background: var(--color-surface-secondary);
transform: translateX(-50%);
}

/* Account controls are pinned to the same right-hand action zone on every page. */
.app-topbar > .header-tools { margin-left: auto; }
}

/* On wide screens the title follows the feed's centred reading column, not the full workspace. */
@media (min-width: 80rem) {
body.page-task main.container > header.task-detail-header {
display: grid;
width: 100% !important;
max-width: none !important;
grid-template-columns: minmax(0, 1fr) 17rem;
column-gap: var(--space-12);
margin-inline: 0 !important;
}
body.page-task main.container > header.task-detail-header > .page-header-copy {
grid-column: 1;
width: min(100%, 49rem);
justify-self: center;
}
body.page-task main.container > header.task-detail-header .task-header-meta {
width: calc(100% + 17rem + var(--space-12));
max-width: none !important;
flex-wrap: nowrap;
}
}

/* Timestamps are metadata, not a semantic-state accent. */
body.page-task main.container .feed > .message .message-time,
body.page-task main.container .feed > .message .message-time > :is(strong, span) {
color: var(--color-label-secondary) !important;
font-weight: var(--weight-regular) !important;
}

/* A multi-day event receives one lane for the whole week, so its coloured bar remains continuous. */
.page-calendar .calendar-events { grid-auto-rows: 2.35rem; }
.page-calendar .calendar-event { grid-row: var(--calendar-event-lane, auto); }

/* The event types read as a compact, colour-coded picker rather than a technical toolbar. */
.page-calendar .calendar-toolbox { padding: var(--space-2); border: .0625rem solid var(--color-separator); border-radius: var(--radius-control); background: var(--color-surface); box-shadow: var(--shadow-1); }
.page-calendar .calendar-tools { gap: var(--space-2); }
.page-calendar .calendar-tool { min-height: var(--control-lg); justify-content: center; gap: var(--space-2); border: .0625rem solid transparent; border-radius: var(--radius-control); font-weight: var(--weight-semibold); }
.page-calendar .calendar-tool-grip { display: none; }
.page-calendar .calendar-tool > i:not(.calendar-tool-grip) { font-size: var(--font-size-3); }
.page-calendar .calendar-tool.type-homeoffice { background: var(--color-blue-tint); color: var(--color-blue); }
.page-calendar .calendar-tool.type-vacation { background: var(--color-brand-tint); color: var(--color-brand); }
.page-calendar .calendar-tool.type-team_event { background: var(--color-purple-tint); color: var(--color-purple); }
.page-calendar .calendar-tool.type-birthday { background: var(--color-birthday-tint); color: var(--color-birthday); }
.page-calendar .calendar-tool:is(:hover, .is-active) { border-color: currentColor; box-shadow: none; }

@media (max-width: 42rem) {
.page-calendar .calendar-tools { display: grid; overflow: visible; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-calendar .calendar-tool { width: 100%; min-width: 0; padding-inline: var(--space-2); font-size: var(--font-size-1); }
.page-calendar .team-calendar { overflow: visible; border-radius: var(--radius-control); }
.page-calendar .calendar-weekdays { display: none; min-width: 0; }
.page-calendar .calendar-grid { display: block; min-width: 0; }
.page-calendar .calendar-day { display: grid; min-height: 0; grid-template-columns: minmax(0, 1fr) var(--control-sm); gap: var(--space-2); padding: var(--space-3); border: 0; border-bottom: .0625rem solid var(--color-separator); }
.page-calendar .calendar-day.is-outside { display: none; }
.page-calendar .calendar-day::before { content: attr(data-calendar-weekday); align-self: center; color: var(--color-label-secondary); font-size: var(--font-size-2); font-weight: var(--weight-semibold); }
.page-calendar .calendar-day-number { margin-left: 0; }
.page-calendar .calendar-events { grid-column: 1 / -1; margin-top: 0; }
.page-calendar .calendar-event { grid-row: auto; }
.page-calendar .calendar-event.continues-before,
.page-calendar .calendar-event.continues-after,
.page-calendar .calendar-event.continues-before.continues-after { width: 100%; margin-left: 0; border-radius: var(--radius-sm); }
.page-calendar .calendar-event.continues-before .calendar-event-leading,
.page-calendar .calendar-event.continues-before .calendar-event-copy { visibility: visible; }
.page-calendar .calendar-event,
.page-calendar .calendar-event:hover,
.page-calendar .calendar-event:focus-within { height: auto; min-height: var(--control-lg); max-height: none; }
.page-calendar .calendar-event span small { display: block; }
}

/* The reserved non-detail header slot becomes the primary order action without shifting search. */
@media (min-width: 42.0625rem) {
.app-topbar .topbar-search-spacer { pointer-events: auto; }
.app-topbar .topbar-search-spacer .topbar-new-order-link {
min-height: var(--control-sm);
padding: 0 var(--space-3);
border: .0625rem solid var(--color-brand);
border-radius: var(--radius-sm);
background: var(--color-brand);
color: var(--color-label-inverse);
text-decoration: none;
}
.app-topbar .topbar-search-spacer .topbar-new-order-link:hover { border-color: var(--color-brand-hover); background: var(--color-brand-hover); color: var(--color-label-inverse); }
}

/* Mobile dashboard navigation and rows keep their desktop hierarchy without collisions. */
@media (max-width: 42rem) {
.app-topbar {
will-change: transform;
transition: transform var(--duration-standard) var(--ease-standard);
}
.app-topbar.is-mobile-hidden {
pointer-events: none;
transform: translateY(calc(-100% - .0625rem));
}
.app-topbar.is-mobile-hidden ~ main .task-command-center,
.app-topbar.is-mobile-hidden ~ main .calendar-toolbox { top: 0; }

.page-orders .orders-commandbar {
scroll-snap-type: x proximity;
scroll-padding-inline: calc(50% - var(--page-gutter));
}
.page-orders .orders-commandbar .task-tab { scroll-snap-align: center; }

.dashboard-table .inbox-row > .task-row-details {
display: grid;
grid-template-areas:
"status priority"
"assignees deadline";
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
column-gap: var(--space-3);
row-gap: var(--space-2);
}
.dashboard-table .task-row-details > .status-cell { grid-area: status; }
.dashboard-table .task-row-details > .assignees { grid-area: assignees; }
.dashboard-table .task-row-details > .deadline-cell { grid-area: deadline; justify-self: end; }
.dashboard-table .task-row-details > :is(.dashboard-priority-form, .task-priority-readonly) { grid-area: priority; justify-self: end; }
.dashboard-table .task-row-details .dashboard-priority-form select { min-width: min(9.5rem, 48vw); }
}

@media (max-width: 42rem) and (prefers-reduced-motion: reduce) {
.app-topbar { transition: none; }
}

/* Phone type scale: compact enough for dense work, while fields stay at 16 px for Safari. */
@media (max-width: 42rem) {
:root {
--font-size-0: .625rem;
--font-size-1: .6875rem;
--font-size-2: .75rem;
--font-size-3: .875rem;
--font-size-4: 1rem;
--font-size-5: 1.125rem;
--font-size-6: 1.25rem;
--font-size-7: 1.5rem;
--font-size-8: 1.875rem;
--font-size-9: 2.25rem;
}

.page-orders .page-header {
gap: var(--space-1);
margin-bottom: var(--space-4);
padding-bottom: var(--space-3);
}
.page-orders .page-header-copy { display: grid; gap: .125rem; }
.page-orders .page-header h1 {
font-size: var(--font-size-6);
letter-spacing: -.025em;
}
.page-orders .page-header p {
margin: 0;
font-size: var(--font-size-1);
line-height: var(--line-title);
}
.page-orders .orders-commandbar { margin-bottom: var(--space-4); }
.page-orders .dashboard-deadline-legend {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: var(--space-2) var(--space-3);
margin: 0 0 var(--space-4);
padding: var(--space-3) 0;
border-block: .0625rem solid var(--color-separator);
font-size: var(--font-size-1);
line-height: var(--line-title);
}
.page-orders .dashboard-deadline-legend-item {
display: inline-flex;
min-width: 0;
align-items: center;
gap: var(--space-2);
white-space: nowrap;
}
.page-orders .dashboard-deadline-legend .task-indicator {
width: .375rem;
height: .375rem;
margin: 0;
}
.page-orders .dashboard-table .task-title { font-size: var(--font-size-3); }
.page-orders .dashboard-table .task-requester-meta,
.page-orders .dashboard-table .task-row-details { font-size: var(--font-size-1); }
}

/* Mobile reliability pass — preserve the desktop visual language while making
every screen safe to operate with a narrow viewport and touch input. */
@media (max-width: 42rem) {
:root {
--page-gutter: 1rem;
--mobile-safe-bottom: max(1rem, env(safe-area-inset-bottom));
}

html,
body,
.app-shell,
.app-content,
main.container,
.page-header,
.page-header-copy,
.app-data-surface,
.app-item-copy,
.field,
.form-grid { min-width: 0; }

body { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
main.container { padding-right: var(--page-gutter); padding-bottom: calc(var(--space-10) + var(--mobile-safe-bottom)); padding-left: var(--page-gutter); }
.page-header { align-items: stretch; gap: var(--space-3); }
.page-header-copy h1 { overflow-wrap: anywhere; font-size: clamp(var(--font-size-5), 8vw, var(--font-size-7)); }
.page-header-copy > p { overflow-wrap: anywhere; }
.page-header-actions { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; gap: var(--space-2); }
.page-header-actions > :is(.btn, a, button) { width: 100%; justify-content: center; }

/* Safari otherwise zooms the viewport whenever a smaller text field gains focus. */
:is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: max(1rem, var(--font-size-2)); }
:is(button, .btn, .icon-btn, .icon-action, .app-item-open, .task-tab, .calendar-tool, .task-composer-tool) { touch-action: manipulation; }
:is(.btn, .icon-btn, .icon-action, .task-composer-tool, .calendar-tool, .app-item-open) { min-height: 2.75rem; }
:is(button, a, label, input, select, textarea) { max-width: 100%; }

/* Tabs, chips and jump links may stay horizontal, but never push the page wide. */
:is(.task-tabs, .app-filter-tabs, .automation-tabs, .board-jump-nav, .calendar-month-switcher, .recurrence-links) {
width: calc(100% + (var(--page-gutter) * 2));
max-width: none;
margin-inline: calc(var(--page-gutter) * -1);
padding-inline: var(--page-gutter);
overflow-x: auto;
overscroll-behavior-x: contain;
scrollbar-width: none;
-webkit-overflow-scrolling: touch;
}
:is(.task-tabs, .app-filter-tabs, .automation-tabs, .board-jump-nav, .calendar-month-switcher, .recurrence-links)::-webkit-scrollbar { display: none; }
:is(.task-tabs, .app-filter-tabs, .automation-tabs, .board-jump-nav, .calendar-month-switcher, .recurrence-links) > * { flex: 0 0 auto; }

/* One-column form rhythm for all administration pages and settings screens. */
:is(.form-grid, .automation-form-grid, .automation-recipient-layout, .automation-recipient-options, .smtp-fields, .recurrence-form-grid, .recurrence-routing-grid, .recurrence-plan-grid, .board-editor-grid, .board-media-fields, .board-audience-options, .board-size-options, .board-theme-options, .profile-password-fields, .user-account-grid, .news-editor-grid, .schema-basics, .question-fields, .task-brief-meta-grid, .task-deadline-layout) {
grid-template-columns: minmax(0, 1fr) !important;
}
:is(.form-actions, .app-dialog-footer, .template-dialog-actions, .news-editor-actions, .user-account-actions, .automation-rule-actions, .smtp-settings-actions, .calendar-dialog-actions, .recurrence-actions) {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: var(--space-2);
}
:is(.form-actions, .app-dialog-footer, .template-dialog-actions, .news-editor-actions, .user-account-actions, .automation-rule-actions, .smtp-settings-actions, .calendar-dialog-actions, .recurrence-actions) > :is(.btn, button, a) { width: 100%; justify-content: center; }
:is(.field, .automation-form-section, .smtp-form-section, .recurrence-routing-grid, .board-editor-body, .board-tile-editor-body, .news-editor-body, .user-account-body) { min-width: 0; }

/* A single, scrollable dialog body avoids clipped controls behind browser chrome. */
:is(.calendar-event-dialog, .template-form-modal, .news-editor-modal, .news-detail-modal, .board-editor-modal, .board-group-modal, .board-tile-editor-modal, .recurrence-editor-modal, .profile-setting-modal, .smtp-settings-modal, .automation-rule-modal) { padding: var(--space-2); }
:is(.calendar-dialog-card, .app-dialog, .template-dialog-card, .news-editor-dialog-card, .news-detail-dialog-card, .board-editor-dialog, .board-group-dialog, .board-tile-editor-dialog, .recurrence-dialog, .user-account-dialog-card, .smtp-settings-dialog, .automation-rule-dialog) {
width: 100%;
max-width: none;
max-height: calc(100dvh - var(--space-4) - env(safe-area-inset-bottom));
overflow: auto;
overscroll-behavior: contain;
}
:is(.app-dialog-header, .calendar-dialog-head, .template-dialog-head, .news-editor-dialog-head, .news-detail-dialog-head, .board-detail-dialog-head, .user-account-dialog-head, .automation-dialog-head, .smtp-dialog-head) { gap: var(--space-3); }
:is(.app-dialog-header, .calendar-dialog-head, .template-dialog-head, .news-editor-dialog-head, .news-detail-dialog-head, .board-detail-dialog-head, .user-account-dialog-head, .automation-dialog-head, .smtp-dialog-head) > div { min-width: 0; }
:is(.app-dialog-header, .calendar-dialog-head, .template-dialog-head, .news-editor-dialog-head, .news-detail-dialog-head, .board-detail-dialog-head, .user-account-dialog-head, .automation-dialog-head, .smtp-dialog-head) :is(h2, p) { overflow-wrap: anywhere; }

/* Reusable rows remain scannable without assuming room for desktop actions. */
:is(.app-item-row, .shared-file-row, .recurrence-row, .automation-rule-row, .board-admin-row, .news-admin-row, .template-card, .team-simple-row) { min-width: 0; }
:is(.shared-file-row, .recurrence-row, .automation-rule-row, .board-admin-row) { grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-3); }
:is(.shared-file-main, .recurrence-row-main, .automation-rule-copy, .board-detail-copy, .news-admin-copy) { min-width: 0; }
:is(.shared-file-name, .shared-file-url, .recurrence-row-title, .automation-rule-title, .app-item-description, .app-item-meta, .board-detail-copy, .news-admin-meta) { overflow-wrap: anywhere; white-space: normal; }
:is(.app-item-actions, .shared-file-actions, .recurrence-actions, .automation-row-actions, .board-group-actions, .news-admin-actions) { align-self: start; }

/* Content cards use a stable one-column rhythm; media never exceeds its card. */
:is(.board-grid, .board-sections, .marketing-news-grid, .gallery-grid, .attachment-preview-grid, .attachment-thumbs, .team-simple-list, .dashboard-overview-cards) { grid-template-columns: minmax(0, 1fr); }
:is(.board-tile, .marketing-news-card, .attachment-preview-card, .news-detail-cover, .board-detail-cover, .board-image-preview, .news-cover-preview) { max-width: 100%; }
:is(.board-tile-copy, .news-detail-copy, .board-detail-copy, .message-display-content, .created-brief-content) { min-width: 0; overflow-wrap: anywhere; }
:is(.board-tile-copy, .news-detail-copy, .board-detail-copy, .message-display-content) :is(img, video, iframe, table) { max-width: 100%; }

/* Keep dense dashboard information visible as compact wrapping metadata. */
.dashboard-table .inbox-row { padding-block: var(--space-4); }
.dashboard-table .task-row-details { row-gap: var(--space-2); }
.dashboard-table .task-requester-meta { white-space: normal; overflow: visible; text-overflow: clip; }
.dashboard-table .dashboard-priority-form { max-width: 100%; }
.dashboard-table .dashboard-priority-form select { width: auto; min-width: 7.5rem; }
.dashboard-overdue-warning { width: 1.5rem; height: 1.5rem; }

/* Phone calendar is intentionally an agenda; long titles need two readable lines. */
.page-calendar .calendar-event { min-width: 0; }
.page-calendar .calendar-event-copy { min-width: 0; }
.page-calendar .calendar-event-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-calendar .calendar-month-step { min-width: 12rem; }
.page-calendar .calendar-resize-summary { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }

/* The composer keeps its familiar desktop hierarchy, with every action reachable. */
.page-task .task-feed-composer-toolbar { gap: var(--space-2); }
.page-task .task-composer-attach-actions { min-width: 0; overflow-x: auto; scrollbar-width: none; }
.page-task .task-composer-attach-actions::-webkit-scrollbar { display: none; }
.page-task .task-composer-attach-actions > * { flex: 0 0 auto; }
.page-task .message-read-tooltip { right: 0; max-width: min(20rem, calc(100vw - (var(--page-gutter) * 2))); }

/* Bottom fixed UI and sheets respect the iPhone home indicator. */
:is(.wizard-actions, .notification-center, .top-popover .popover-menu) { padding-bottom: max(var(--space-3), env(safe-area-inset-bottom)); }
}

/* Read receipts deliberately stay neutral, even when the timeline card is a
coloured system event. */
body.page-task main.container .feed > .message .message-read-tooltip,
body.page-task main.container .feed > .message .message-read-tooltip > :is(strong, small, span, b) {
color: var(--color-label) !important;
}
body.page-task main.container .feed > .message .message-read-tooltip > small,
body.page-task main.container .feed > .message .message-read-list small {
color: var(--color-label-secondary) !important;
}

/* Match the established status-message information bubble. */
.page-task .message-read-tooltip {
min-width: 0;
width: max-content;
max-width: min(20rem, calc(100vw - var(--space-8)));
padding: var(--space-3);
border: 0;
border-radius: var(--radius-control);
background: var(--color-surface);
box-shadow: var(--shadow-popover);
color: var(--color-label-secondary) !important;
font-weight: var(--weight-medium);
line-height: var(--line-body);
transform: translateY(calc(var(--space-1) * -1));
transition: opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
@media (hover: hover) {
.page-task .feed > .message:has(.message-read-time:hover) { position: relative; z-index: 2; }
.page-task .message-read-time:hover .message-read-tooltip { opacity: 1; pointer-events: auto; transform: translateY(0); }
}

/* News administration uses the same compact row language as order tiles. */
.news-admin-row {
display: grid;
min-height: 0;
grid-template-columns: var(--control-sm) var(--control-md) minmax(0, 1fr) auto;
align-items: center;
gap: var(--space-3);
padding: var(--space-4) var(--space-5);
cursor: pointer;
}
.news-admin-row > .news-drag-handle { grid-column: 1; grid-row: 1; align-self: center; min-height: var(--control-sm); }
.news-admin-row > .news-admin-thumbnail { display: grid; width: var(--control-md); height: var(--control-md); grid-column: 2; grid-row: 1; place-items: center; overflow: hidden; border-radius: var(--radius-control); background: var(--color-brand-tint); color: var(--color-brand); font-size: var(--font-size-3); }
.news-admin-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.news-admin-row > .news-admin-copy { display: grid; min-width: 0; grid-column: 3; grid-row: 1; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 var(--space-4); }
.news-admin-copy h3 { margin: 0; overflow: hidden; font-size: var(--font-size-3); font-weight: var(--weight-semibold); line-height: var(--line-title); text-overflow: ellipsis; white-space: nowrap; }
.news-admin-copy p { overflow: hidden; margin: var(--space-1) 0 0; color: var(--color-label-secondary); font-size: var(--font-size-2); line-height: var(--line-body); text-overflow: ellipsis; white-space: nowrap; }
.news-admin-meta { grid-column: 2; grid-row: 1 / span 2; color: var(--color-label-tertiary); font-size: var(--font-size-1); line-height: var(--line-body); }
/* Templates and news use one shared trailing control group. The arrow can no longer
drift independently from the delete action. */
.template-card,
.news-admin-row { grid-template-columns: var(--control-sm) var(--control-md) minmax(0, 1fr) auto; }
.management-item-row > .app-item-trailing { display: flex; grid-column: 4; grid-row: 1; align-items: center; gap: var(--space-3); }
.management-item-trailing > .app-item-chevron { flex: 0 0 var(--control-sm); }
.management-item-trailing > .app-item-actions { display: flex; width: var(--control-lg); align-items: center; justify-content: flex-end; padding: 0; }

@media (max-width: 42rem) {
.news-admin-row { grid-template-columns: var(--control-sm) var(--control-md) minmax(0, 1fr) var(--control-sm); grid-template-rows: minmax(var(--control-md), auto); gap: var(--space-2); padding: var(--space-4) var(--page-gutter); }
.news-admin-row > .news-admin-copy { display: block; }
.news-admin-meta { display: block; margin-top: var(--space-1); }
.management-item-trailing > .app-item-chevron { display: none !important; }
.management-item-row > .app-item-trailing { grid-column: 4; }
.management-item-trailing > .app-item-actions { width: var(--control-sm); }
.news-admin-actions .icon-action { width: var(--control-sm); height: var(--control-sm); }
}

/* Search stays broad, but its type and icon match the compact action beside it. */
@media (min-width: 42.0625rem) {
.app-topbar .global-task-search {
width: min(40rem, 40vw) !important;
height: calc(var(--control-sm) + .25rem) !important;
min-height: calc(var(--control-sm) + .25rem) !important;
max-height: calc(var(--control-sm) + .25rem) !important;
}
.app-topbar .global-task-search > i { font-size: var(--font-size-3); }
.app-topbar .global-task-search input,
body:not(.login-body) .app-topbar .global-task-search input,
body:not(.login-body) .app-topbar .global-task-search input:hover,
body:not(.login-body) .app-topbar .global-task-search input:focus {
font-size: var(--font-size-3);
height: calc(var(--control-sm) + .25rem) !important;
min-height: calc(var(--control-sm) + .25rem) !important;
max-height: calc(var(--control-sm) + .25rem) !important;
}
}

/* Keep search as tall as the primary action and comfortably wide. */
@media (min-width: 42.0625rem) {
.app-topbar .global-task-search {
width: min(40rem, 40vw);
min-height: var(--control-sm);
}
.app-topbar .global-task-search input,
body:not(.login-body) .app-topbar .global-task-search input {
height: var(--control-sm);
}
}

/* Match the primary action's compact height while giving search more breathing room. */
@media (min-width: 42.0625rem) {
.app-topbar .global-task-search {
width: min(40rem, 40vw);
min-height: var(--control-sm);
}
.app-topbar .global-task-search input,
body:not(.login-body) .app-topbar .global-task-search input {
height: var(--control-sm);
}
}

/* A small visitor occasionally peeks from below the application. */
.ambient-effect {
--ambient-effect-left: 50%;
position: fixed;
z-index: 45;
bottom: 0;
left: var(--ambient-effect-left);
display: block;
width: clamp(4.5rem, 8vw, 7.5rem);
max-height: min(11rem, 26dvh);
object-fit: contain;
object-position: bottom center;
opacity: 0;
pointer-events: none;
transform: translate(-50%, 110%);
user-select: none;
}
.ambient-effect.is-active { animation: ambient-effect-peek 3.4s var(--ease-standard) both; }
@keyframes ambient-effect-peek {
0%, 100% { opacity: 0; transform: translate(-50%, 110%) rotate(0); }
10% { opacity: 1; transform: translate(-50%, 32%) rotate(-2deg); }
22% { transform: translate(-50%, 4%) rotate(3deg); }
34% { transform: translate(-50%, 10%) rotate(-3deg); }
46% { transform: translate(-50%, 2%) rotate(2deg); }
62% { transform: translate(-50%, 8%) rotate(0); }
78% { opacity: 1; transform: translate(-50%, 18%) rotate(1deg); }
90% { opacity: 0; transform: translate(-50%, 80%) rotate(0); }
}
@media (prefers-reduced-motion: reduce) { .ambient-effect { display: none; } }

/* Global appearance settings */
.appearance-settings { max-width: 42rem; }
.appearance-settings-form { display: grid; gap: var(--space-5); padding: var(--space-6); }
.appearance-font-preview { display: grid; gap: var(--space-2); padding: var(--space-5); border-radius: var(--radius-control); background: var(--color-surface-secondary); color: var(--color-label); }
.appearance-font-preview strong { font-size: var(--font-size-4); }
.appearance-font-preview span { color: var(--color-label-secondary); font-size: var(--font-size-3); }
.appearance-settings-actions { display: flex; justify-content: flex-end; }
.appearance-sidebar-image-field { display: grid; gap: var(--space-3); }
.appearance-sidebar-image-preview { width: min(100%, 18rem); max-height: 14rem; border-radius: var(--radius-control); object-fit: cover; }
.appearance-sidebar-image-remove { display: inline-flex; width: fit-content; align-items: center; gap: var(--space-2); color: var(--color-label-secondary); font-size: var(--font-size-2); }
.sidebar-bottom-image-trigger { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; display: block; width: auto; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: 0; background: transparent; cursor: pointer; }
.sidebar-bottom-image { display: block; width: 100%; height: auto; max-height: none; border-radius: 0; object-fit: contain; object-position: center bottom; }
.sidebar-bottom-image-placeholder { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--control-lg); width: 100%; border-radius: var(--radius-control); color: var(--color-label-secondary); font-size: var(--font-size-1); font-weight: var(--weight-medium); }
.sidebar-image-picker-dialog { width: min(100%, 38rem); padding: 0; }
.sidebar-image-picker-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); padding: var(--space-5) var(--space-6); }
.sidebar-image-choice { display: grid; gap: var(--space-2); padding: var(--space-2); border: .125rem solid transparent; border-radius: var(--radius-control); background: transparent; color: var(--color-label); font: inherit; font-size: var(--font-size-1); font-weight: var(--weight-medium); text-align: left; }
.sidebar-image-choice:hover { background: var(--color-surface-secondary); }
.sidebar-image-choice.is-selected { border-color: var(--color-accent); background: var(--color-accent-tint); }
.sidebar-image-choice img { display: block; width: 100%; aspect-ratio: 1; border-radius: calc(var(--radius-control) - var(--space-1)); object-fit: cover; }
.sidebar-image-choice > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-image-choice-placeholder { display: grid; width: 100%; aspect-ratio: 1; place-items: center; border-radius: calc(var(--radius-control) - var(--space-1)); background: var(--color-surface-secondary); color: var(--color-label-secondary); font-size: var(--font-size-5); }
@media (max-width: 42rem) { .sidebar-image-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: var(--space-4); } }
@media (max-width: 42rem) { .appearance-settings-form { padding: var(--space-4); } .appearance-settings-actions .btn { width: 100%; } }

/* Opinion requests keep their purple meaning even though they use the normal message layout. */
body.page-task main.container .feed > .message[data-message-semantic="petr-opinion-request"] {
border-color: color-mix(in srgb, var(--color-purple) 28%, var(--color-surface)) !important;
background: color-mix(in srgb, var(--color-purple-tint) 78%, var(--color-surface)) !important;
}
body.page-task main.container .feed > .message[data-message-semantic="petr-opinion-request"] :is(.bubble-title, .thread-event-title, .thread-event-author, .thread-event-action) {
color: var(--color-purple) !important;
}
body.page-task main.container .feed > .message[data-message-semantic="petr-opinion-reply"] :is(.bubble-title, .thread-event-title, .thread-event-author, .thread-event-action) {
color: var(--color-purple) !important;
}
body.page-task main.container .feed > .message.message-event-standard[data-message-semantic^="petr-opinion-"] .thread-event-action {
color: var(--color-purple) !important;
}

/* Outside a task detail, reserve the same header footprint as the orders return button. */
@media (min-width: 42.0625rem) {
.app-topbar .topbar-search-spacer .topbar-page-icon-balance {
display: inline-flex;
min-height: var(--control-sm);
align-items: center;
gap: var(--space-2);
padding: 0 var(--space-3);
border: .0625rem solid transparent;
border-radius: var(--radius-sm);
}
}

/* Delivery is a submission choice, so it belongs in the approval composer's footer. */
.page-task .workflow-composer-toolbar .workflow-composer-settings {
flex: 1;
min-width: 0;
margin-left: var(--space-2);
padding: 0;
background: transparent;
}
.page-task .workflow-composer-toolbar .workflow-mail-delivery-option {
display: inline-grid;
grid-template-columns: var(--control-xs) minmax(0, 1fr);
gap: var(--space-2);
align-items: center;
min-height: var(--control-sm);
}
.page-task .workflow-composer-toolbar .workflow-mail-delivery-check {
width: var(--control-xs);
height: var(--control-xs);
}
.page-task .workflow-composer-toolbar .workflow-mail-delivery-option > span:last-child {
display: flex;
min-width: 0;
align-items: baseline;
gap: var(--space-2);
}
.page-task .workflow-composer-toolbar .workflow-mail-delivery-option strong,
.page-task .workflow-composer-toolbar .workflow-mail-delivery-option small { white-space: nowrap; }
.page-task .workflow-composer-toolbar .workflow-mail-delivery-option small { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 48rem) {
.page-task .workflow-composer-toolbar { flex-wrap: wrap; }
.page-task .workflow-composer-toolbar .workflow-composer-settings { flex-basis: 100%; order: 3; margin: 0; }
.page-task .workflow-composer-toolbar .workflow-mail-delivery-option > span:last-child { display: grid; gap: 0; }
.page-task .workflow-composer-toolbar .workflow-composer-submit { margin-left: auto; }
}

/* Existing files stay editable when their message is opened in the composer again. */
.page-task .task-feed-composer .composer-existing-attachments {
display: flex;
flex-wrap: wrap;
gap: var(--space-2);
padding: 0 var(--space-4) var(--space-3);
}
.page-task .task-feed-composer .composer-existing-file {
display: grid;
width: min(18rem, 100%);
min-height: var(--control-md);
flex: 0 1 18rem;
grid-template-columns: var(--control-sm) minmax(0, 1fr) var(--control-sm);
align-items: center;
gap: var(--space-2);
padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3);
border: .0625rem solid var(--composer-border);
border-radius: var(--radius-control);
background: var(--color-surface);
color: var(--color-label-secondary);
}
.page-task .composer-existing-file-toggle { position: absolute; inline-size: .0625rem; block-size: .0625rem; opacity: 0; pointer-events: none; }
.page-task .composer-existing-file > i { color: var(--color-label-secondary); font-size: var(--icon-sm); }
.page-task .composer-existing-file-copy { display: grid; min-width: 0; gap: .0625rem; }
.page-task .composer-existing-file-copy strong,
.page-task .composer-existing-file-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-task .composer-existing-file-copy strong { color: var(--color-label); font-size: var(--font-size-2); }
.page-task .composer-existing-file-copy small { color: var(--color-label-tertiary); font-size: var(--font-size-0); }
.page-task .composer-existing-file-remove {
display: grid;
width: var(--control-sm);
height: var(--control-sm);
place-items: center;
border: 0;
border-radius: var(--radius-pill);
background: transparent;
color: var(--color-label-secondary);
cursor: pointer;
}
.page-task .composer-existing-file-remove:hover { background: var(--color-error-tint); color: var(--color-error); }
.page-task .composer-existing-file.is-removed { border-color: color-mix(in srgb, var(--color-error) 34%, var(--color-separator)); background: var(--color-error-tint); opacity: .72; }
.page-task .composer-existing-file.is-removed .composer-existing-file-copy strong { color: var(--color-label-secondary); text-decoration: line-through; }
.page-task .composer-existing-file.is-removed .composer-existing-file-remove { color: var(--color-error); }

/* The desktop header keeps controls in stable edge zones. */
@media (min-width: 42.0625rem) {
.app-topbar {
display: grid;
grid-template-columns: max-content minmax(0, 1fr) max-content;
column-gap: var(--space-6);
align-items: center;
justify-content: initial;
}
.page-task .topbar-task-context,
.page-new .topbar-task-context {
grid-column: 1;
justify-self: start;
}
.app-topbar .global-task-search {
/* Centre against the whole topbar, not the free space between its side controls. */
position: absolute;
left: 50%;
width: min(34rem, 34vw);
grid-column: auto;
justify-self: auto;
margin-left: 0 !important;
transform: translateX(-50%);
}
.app-topbar > .header-tools {
grid-column: 3;
justify-self: end;
margin-left: 0;
}
}

/* A blocked composer must not leave a phantom gap above the timeline. */
.page-task .compose-zone:not(:has(> .task-composer-stage > .task-feed-composer)):not(:has(.action-panel.active)) {
display: none;
}
.page-task .thread-main:not(:has(> .task-composer-stage > .task-feed-composer)):not(:has(> .compose-zone > .task-composer-stage > .task-feed-composer)):not(:has(.action-panel.active)) > .feed {
padding-top: 0;
}

/* The reserved non-detail header slot becomes the primary order action without shifting search. */
@media (min-width: 42.0625rem) {
.app-topbar .topbar-search-spacer { pointer-events: auto; }
.app-topbar .topbar-search-spacer .topbar-new-order-link {
min-height: var(--control-sm);
padding: 0 var(--space-3);
border: .0625rem solid var(--color-brand);
border-radius: var(--radius-sm);
background: var(--color-brand);
color: var(--color-label-inverse);
text-decoration: none;
}
.app-topbar .topbar-search-spacer .topbar-new-order-link:hover { border-color: var(--color-brand-hover); background: var(--color-brand-hover); color: var(--color-label-inverse); }
}

.app-topbar .user-trigger { padding-left: var(--space-3); }

/* Keep the composer avatar on the exact same desktop grid as feed avatars. */
@media (min-width: 42.0625rem) {
.page-task .task-feed-composer-avatar {
top: var(--space-5);
left: var(--space-6);
}
/* Match the feed's padded avatar rail before the first text column. */
.page-task .task-feed-composer textarea {
padding-left: calc(var(--avatar-md) + var(--space-8) + var(--space-4));
}
}

/* A hidden copy of the detail return control keeps search on one fixed desktop axis. */
@media (min-width: 42.0625rem) {
.app-topbar .topbar-search-spacer {
display: flex;
grid-column: 1;
justify-self: start;
position: relative;
visibility: visible;
pointer-events: none;
}
.app-topbar .topbar-search-spacer .topbar-task-orders-link {
display: inline-flex;
min-height: 0;
align-items: center;
gap: var(--space-2);
padding: 0;
font-size: var(--font-size-3);
font-weight: var(--weight-semibold);
white-space: nowrap;
}
.app-topbar .topbar-search-spacer .topbar-page-icon {
position: absolute;
top: 50%;
left: 0;
display: grid;
place-items: center;
color: var(--color-blue);
font-size: var(--font-size-3);
transform: translateY(-50%);
}
.app-topbar .topbar-search-spacer .topbar-page-icon-balance { visibility: hidden; }
}
@media (max-width: 42rem) {
.app-topbar .topbar-search-spacer { display: none !important; }
}

/* Safari's password AutoFill must retain the dark login surface instead of its yellow tint. */
.login-card input:-webkit-autofill,
.login-card input:-webkit-autofill:hover,
.login-card input:-webkit-autofill:focus,
.login-card input:-webkit-autofill:active {
-webkit-text-fill-color: var(--color-label-inverse);
-webkit-box-shadow: 0 0 0 100rem rgb(47 50 58) inset !important;
box-shadow: 0 0 0 100rem rgb(47 50 58) inset !important;
caret-color: var(--color-label-inverse);
}

/* Timeline metadata uses one neutral tone; brief edits follow the normal author hierarchy. */
body.page-task main.container .feed > .message .message-time,
body.page-task main.container .feed > .message .message-time > :is(strong, span) {
color: var(--color-label-secondary) !important;
}
/* A timestamp is one metadata value: date and time never use semantic card colours. */
body.page-task main.container .feed .message-time,
body.page-task main.container .feed .message-time > :is(strong, span) {
color: var(--color-label-secondary) !important;
font-weight: var(--weight-regular) !important;
}
body.page-task main.container .feed > .message.message-event-brief_updated .bubble-title,
body.page-task main.container .feed > .message.message-event-brief_updated .thread-event-author {
color: var(--color-label) !important;
}
body.page-task main.container .feed > .message.message-event-brief_updated .thread-event-action {
color: var(--color-label-secondary) !important;
}

/* The writing canvas is always white; message type is conveyed by the toolbar only. */
.page-task .task-feed-composer .task-feed-composer-shell,
.page-task .task-feed-composer .task-feed-composer-shell:focus-within,
body.page-task:not(.login-body) .task-feed-composer textarea,
body.page-task:not(.login-body) .task-feed-composer textarea:is(:hover, :focus) {
background: var(--color-surface) !important;
}
/* Do not let an inactive mode reset the writing canvas through its custom property. */
.page-task .task-feed-composer[data-kind],
.page-task .workflow-message-composer {
--composer-surface: var(--color-surface) !important;
}

/* The toolbar divider is part of the composer frame, not a neutral page separator. */
.page-task .task-feed-composer .task-feed-composer-toolbar {
border-top-color: var(--composer-border) !important;
}

/* Title and deadline changes follow the same author-to-content spacing as every message. */
.page-task .feed > .message:is(.message-event-title_updated, .message-event-deadline_updated) .bubble-head {
margin-bottom: var(--space-4) !important;
}

/* Collapsed history has one deliberate author-to-summary gap for every message type. */
.page-task .feed > .message.is-collapsed-history .bubble {
gap: 0;
}
.page-task .feed > .message.is-collapsed-history .bubble-head {
margin-bottom: 0 !important;
}
.page-task .feed > .message.is-collapsed-history .thread-message-details {
margin-top: var(--space-4);
}

/* Status changes use one compact, icon-led treatment instead of a regular message card. */
.page-task .feed > .message:is(.message-event-priority_updated, .message-event-title_updated, .message-event-deadline_updated) .message-author-rail > .avatar {
display: none;
}
.page-task .feed > .message:is(.message-event-priority_updated, .message-event-title_updated, .message-event-deadline_updated) .message-author-rail > i {
display: block;
width: auto;
height: auto;
padding: 0;
background: transparent;
color: var(--state-change-color, var(--timeline-priority-color));
font-size: var(--font-size-3);
line-height: 1;
}
.page-task .feed > .message:is(.message-event-priority_updated, .message-event-title_updated, .message-event-deadline_updated) .bubble {
min-height: var(--avatar-md) !important;
align-content: center !important;
position: relative;
}
.page-task .feed > .message:is(.message-event-priority_updated, .message-event-title_updated, .message-event-deadline_updated) .bubble-head {
align-items: center !important;
margin: 0 !important;
}
.page-task .feed > .message:is(.message-event-priority_updated, .message-event-title_updated, .message-event-deadline_updated) .message-head-actions {
position: absolute;
top: 0;
right: 0;
}
.page-task .feed > .message:is(.message-event-title_updated, .message-event-deadline_updated) {
--state-change-color: var(--color-blue);
border-color: color-mix(in srgb, var(--color-blue) 32%, var(--color-surface)) !important;
background: var(--color-blue-tint) !important;
}
.page-task .feed > .message:is(.message-event-title_updated, .message-event-deadline_updated) :is(.bubble-title, .thread-event-title, .message-time, .message-time > strong, .message-time > span) {
color: var(--color-blue) !important;
}
.page-task .feed > .message.message-event-priority_updated :is(.bubble-title, .thread-event-title, .message-time, .message-time > strong, .message-time > span) {
color: var(--timeline-priority-color) !important;
}

/* Deadline changes live in their dedicated action, never in the brief editor. */
.page-task .task-brief-form .task-brief-meta-grid.single {
display: none;
}

/* Name and deadline provenance is available on demand, without competing with the state value. */
.page-task .feed > .message:is(.message-event-title_updated, .message-event-deadline_updated) .message-author-rail > i {
color: var(--color-label-secondary) !important;
cursor: default;
}

/* The brief editor may update its deadline again; the timeline records that as its own state row. */
.page-task .task-brief-form .task-brief-meta-grid.single {
display: grid;
}

/* Provenance is revealed only by hovering its dedicated indicator. */
.page-task .feed > .message:is(.message-event-priority_updated, .message-event-title_updated, .message-event-deadline_updated) .bubble-heading-stack {
display: flex;
align-items: center;
gap: var(--space-2);
}
.page-task .state-change-provenance {
position: relative;
flex: 0 0 auto;
}
.page-task .state-change-provenance-icon {
display: grid;
width: 1rem;
height: 1rem;
place-items: center;
border-radius: var(--radius-pill);
background: color-mix(in srgb, #fff 72%, transparent);
color: var(--color-label);
font-size: .625rem;
box-shadow: 0 .0625rem .1875rem color-mix(in srgb, var(--color-label) 10%, transparent);
}
.page-task .state-change-provenance-copy {
position: absolute;
z-index: 10;
top: calc(100% + var(--space-2));
left: 0;
width: max-content;
max-width: min(20rem, calc(100vw - var(--space-8)));
padding: var(--space-3);
border: 0;
border-radius: var(--radius-control);
background: var(--color-surface);
box-shadow: var(--shadow-popover);
color: var(--color-label-secondary);
font-size: var(--font-size-1);
font-weight: var(--weight-medium);
line-height: var(--line-body);
opacity: 0;
pointer-events: none;
transform: translateY(calc(var(--space-1) * -1));
transition: opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);
}
@media (hover: hover) {
.page-task .feed > .message:is(.message-event-priority_updated, .message-event-title_updated, .message-event-deadline_updated):has(.state-change-provenance:hover) {
position: relative;
z-index: 2;
}
.page-task .state-change-provenance:hover .state-change-provenance-icon {
background: color-mix(in srgb, #fff 88%, transparent);
box-shadow: 0 .125rem .375rem color-mix(in srgb, var(--color-label) 16%, transparent);
}
.page-task .state-change-provenance:hover .state-change-provenance-copy {
opacity: 1;
transform: translateY(0);
}
}

/* Editing a text post happens in the single composer at the top of the thread. */
.page-task .task-composer-edit-notice {
display: flex;
min-height: var(--control-sm);
align-items: center;
justify-content: space-between;
gap: var(--space-3);
padding: 0 var(--space-4);
border: .0625rem solid var(--composer-border);
border-bottom: 0;
border-radius: var(--radius-control) var(--radius-control) 0 0;
background: var(--composer-tint);
color: var(--color-label);
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
}
.page-task .task-composer-edit-notice > span { display: inline-flex; align-items: center; gap: var(--space-2); }
.page-task .task-composer-edit-notice > button {
border: 0;
background: transparent;
color: var(--composer-accent);
font: inherit;
cursor: pointer;
}
.page-task .task-composer-edit-notice > button:hover { text-decoration: underline; }
.page-task .task-feed-composer:has(.task-composer-edit-notice:not([hidden])) .task-feed-composer-shell {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.page-task .task-feed-composer[data-editing="true"] :is(.task-composer-action-picker, .task-composer-kind-picker) { display: none; }
.page-task .task-feed-composer[data-edit-only="true"]:not([data-editing="true"]) { display: none; }
/* The owner can act directly on the single newest post they sent. */
.page-task .message-owner-actions {
display: inline-flex;
align-items: center;
gap: var(--space-1);
order: -1;
}
.page-task .message-owner-actions form { margin: 0; }
.page-task .message-owner-action {
display: grid;
width: var(--control-xs);
height: var(--control-xs);
place-items: center;
padding: 0;
border: 0;
border-radius: var(--radius-pill);
background: transparent;
color: var(--color-label-tertiary);
cursor: pointer;
}
.page-task .message-owner-action:hover,
.page-task .message-owner-action.is-danger:hover { background: transparent; color: var(--color-label); }
.page-task .message.is-editing .message-owner-actions { visibility: hidden; }
@media (hover: hover) {
.page-task .feed > .message .message-owner-actions { opacity: 0; transform: translateX(.25rem); transition: opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard); }
.page-task .feed > .message:is(:hover, :focus-within) .message-owner-actions { opacity: 1; transform: none; }
}

/* Every entry uses the same author-to-content rhythm, regardless of its event type. */
.page-task .feed > .message .bubble {
gap: 0 !important;
}
.page-task .feed > .message .bubble-head {
margin-bottom: 0 !important;
}
.page-task .feed > .message .message-display-content {
padding-top: 0 !important;
border-top: 0 !important;
}
.page-task .feed > .message .message-display-content:not(:empty) {
margin-top: var(--space-3);
}

/* One fixed header-to-content rhythm for every thread item.  Older variants
added their own margins (and, for opinion replies, even a negative one),
which made the same author line look different when actions were present. */
.page-task .feed > .message .bubble-head,
.page-task .opinion-thread-row .bubble-head {
grid-template-columns: minmax(0, 1fr) auto;
min-height: var(--control-xs);
align-items: center;
margin-bottom: 0 !important;
}
.page-task .feed > .message .bubble-heading-stack,
.page-task .opinion-thread-row .bubble-heading-stack {
align-self: center;
gap: 0;
}
.page-task .feed > .message .message-head-actions,
.page-task .opinion-thread-row .message-head-actions {
min-height: var(--control-xs);
align-items: center;
}
.page-task .feed > .message .message-display-content:not(:empty),
.page-task .opinion-thread-row .message-display-content:not(:empty) {
margin-top: var(--space-3) !important;
padding-top: 0 !important;
border-top: 0 !important;
}
.page-task .petr-opinion-followup .message-display-content {
margin-top: var(--space-3) !important;
}

/* Author names stay prominent; their action text is one neutral secondary tone. */
body.page-task main.container .feed > .message:is(.message-event-created, .message-event-standard, .message-event-reopened, .message-event-brief_updated) .thread-event-action {
color: var(--color-label-secondary) !important;
}

/* The timestamp stays neutral even on coloured status cards. */
body.page-task main.container .feed > .message .message-time,
body.page-task main.container .feed > .message .message-time > :is(strong, span) {
color: var(--color-label-secondary) !important;
font-weight: var(--weight-regular) !important;
}

/* State-change values always use one weight, regardless of the event type. */
body.page-task main.container .feed > .message:is(
.message-event-joined,
.message-event-left,
.message-event-team_updated,
.message-event-priority_updated,
.message-event-title_updated,
.message-event-deadline_updated
) :is(.thread-event-assignee, .thread-event-author) {
font-weight: var(--weight-semibold) !important;
}

/* All modal close controls use the profile-photo dialog's quiet circular treatment. */
:is(
[data-form-modal] :is(.app-dialog-header, .calendar-dialog-head) > button[data-form-modal-close],
#calendarEventForm > .calendar-dialog-head > button[data-calendar-dialog-close],
#calendarResizeForm > .calendar-dialog-head > button[data-calendar-resize-close],
.modal-backdrop .modal-close,
.action-panel .panel-close,
.workflow-composer-close
) {
display: grid;
width: var(--control-md);
height: var(--control-md);
place-items: center;
padding: 0;
border: 0;
border-radius: var(--radius-pill);
background: var(--color-surface-secondary);
color: var(--color-label-secondary);
cursor: pointer;
font-size: var(--icon-md);
line-height: 1;
transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
}
:is(
[data-form-modal] :is(.app-dialog-header, .calendar-dialog-head) > button[data-form-modal-close],
#calendarEventForm > .calendar-dialog-head > button[data-calendar-dialog-close],
#calendarResizeForm > .calendar-dialog-head > button[data-calendar-resize-close],
.modal-backdrop .modal-close,
.action-panel .panel-close,
.workflow-composer-close
):hover {
background: var(--color-surface-tertiary);
color: var(--color-label);
}

/* The reserved non-detail header slot becomes the primary order action without shifting search. */
@media (min-width: 42.0625rem) {
.app-topbar .topbar-search-spacer { pointer-events: auto; }
.app-topbar .topbar-search-spacer .topbar-new-order-link {
min-height: var(--control-sm);
padding: 0 var(--space-3);
border: .0625rem solid var(--color-brand);
border-radius: var(--radius-sm);
background: var(--color-brand);
color: var(--color-label-inverse);
text-decoration: none;
}
.app-topbar .topbar-search-spacer .topbar-new-order-link:hover { border-color: var(--color-brand-hover); background: var(--color-brand-hover); color: var(--color-label-inverse); }
}

/* Final mobile dashboard rhythm: every control shares one compact, touch-safe scale. */
@media (max-width: 42rem) {
.hamburger-btn {
width: 2.5rem;
height: 2.5rem;
border: .0625rem solid color-mix(in srgb, var(--color-brand) 22%, transparent);
border-radius: var(--radius-sm);
background: var(--color-brand-tint);
color: var(--color-brand);
box-shadow: none;
}
.hamburger-btn:hover,
.hamburger-btn:focus-visible { background: color-mix(in srgb, var(--color-brand-tint) 76%, var(--color-surface)); color: var(--color-brand-hover); }

.page-orders .orders-dashboard { min-width: 0; }
.page-orders .orders-commandbar { margin-bottom: var(--space-3); }
.page-orders .orders-commandbar .task-tab {
min-height: 2.5rem;
gap: .375rem;
padding-inline: .625rem;
font-size: var(--font-size-2);
}
.page-orders .orders-commandbar .task-tab > strong {
min-width: 1.375rem;
height: 1.375rem;
padding-inline: .25rem;
font-size: var(--font-size-0);
}

.page-orders .dashboard-table .inbox-row { padding-block: .875rem; }
.page-orders .dashboard-table .task-title { font-size: 1rem; line-height: 1.2; }
.page-orders .dashboard-table .task-requester-meta { font-size: var(--font-size-2); }
.page-orders .dashboard-table .task-row-details { row-gap: .5rem; }
.page-orders .dashboard-table .status-cell .chip,
.page-orders .dashboard-table .deadline-cell .badge,
.page-orders .dashboard-table .free-assignee { font-size: var(--font-size-2); }
.page-orders .dashboard-table .task-row-details .assignees .avatar { width: 1.625rem; height: 1.625rem; }
.page-orders .dashboard-table .task-row-details .dashboard-priority-form select {
width: 8.5rem;
min-width: 8.5rem;
height: 2.5rem;
min-height: 2.5rem;
padding: 0 var(--space-3);
border-radius: var(--radius-control);
font-size: 1rem;
line-height: 1;
}
.page-orders .dashboard-table .task-row-details .task-priority-readonly .priority-badge {
min-height: 2.5rem;
padding-inline: var(--space-3);
border-radius: var(--radius-control);
font-size: 1rem;
}
.page-orders .dashboard-table .dashboard-star-toggle { width: 2.25rem; height: 2.25rem; font-size: 1.125rem; }
}

/* Airier order brief: hierarchy and spacing replace the former card dividers. */
.page-new .order-spec-surface {
gap: clamp(2rem, 3vw, 3.5rem);
}
.page-new .order-spec-main {
overflow: visible;
border: 0;
border-radius: 0;
background: transparent;
}
.page-new .order-name-field {
gap: var(--space-3);
padding: var(--space-6);
border: 0;
border-radius: var(--radius-panel);
background: color-mix(in srgb, var(--color-surface-secondary) 72%, var(--color-surface));
}
.page-new .order-name-field label {
font-size: var(--font-size-3);
letter-spacing: -.01em;
}
.page-new .order-name-field input {
border-color: transparent;
background: var(--color-surface);
box-shadow: 0 .0625rem .1875rem rgb(20 22 29 / .05);
}
.page-new .order-name-field input:hover {
border-color: color-mix(in srgb, var(--color-label-tertiary) 28%, transparent);
}
.page-new .dynamic-template-spec.active,
.page-new .dynamic-template-spec.is-active {
margin-top: var(--space-8);
}
.page-new .spec-title {
min-height: 0;
padding: 0 0 var(--space-4);
border-bottom: 0;
background: transparent;
}
.page-new .spec-title strong {
font-size: var(--font-size-2);
letter-spacing: 0;
}
.page-new .spec-change-service {
min-height: auto;
padding: var(--space-1) 0;
border: 0;
border-radius: 0;
background: transparent;
color: var(--color-label-secondary);
font-weight: var(--weight-semibold);
}
.page-new .spec-change-service:hover,
.page-new .spec-change-service:focus-visible {
background: transparent;
color: var(--color-brand);
}
.page-new .tile-question {
padding: var(--space-6) 0 0;
border-bottom: 0;
}
.page-new .tile-question + .tile-question {
margin-top: var(--space-6);
padding-top: var(--space-6);
}
.page-new .tile-question > strong {
margin-bottom: var(--space-3);
font-size: var(--font-size-3);
letter-spacing: -.01em;
}
.page-new .question-help {
margin-top: 0;
}
.page-new .option-grid {
gap: var(--space-3);
}
.page-new .option-tile > span:first-of-type {
border-color: transparent;
background: var(--color-surface-secondary);
transition: border-color var(--duration-fast), background-color var(--duration-fast), box-shadow var(--duration-fast);
}
.page-new .option-tile:hover > span:first-of-type {
background: var(--color-surface-tertiary);
}
.page-new .option-tile input:checked + span:first-of-type {
padding-right: var(--space-4);
border-color: transparent;
box-shadow: inset 0 0 0 .0625rem var(--color-brand);
}
.page-new .option-selected-check {
top: -.3125rem;
right: -.3125rem;
width: 1.125rem;
height: 1.125rem;
font-size: .5rem;
}
.page-new .dynamic-question-input {
border-color: transparent;
background: var(--color-surface-secondary);
}
.page-new .dynamic-question-input:hover {
border-color: color-mix(in srgb, var(--color-label-tertiary) 28%, transparent);
background: var(--color-surface-tertiary);
}
.page-new .dynamic-question-input:focus {
border-color: var(--color-accent);
background: var(--color-surface);
}
.page-new .order-deadline-section {
padding: var(--space-5);
border: 0;
background: color-mix(in srgb, var(--color-surface-secondary) 76%, var(--color-surface));
box-shadow: none;
}
.page-new .deadline-question-copy {
gap: var(--space-1);
}
.page-new .deadline-question-copy strong {
font-size: var(--font-size-4);
letter-spacing: -.015em;
}
.page-new .order-deadline-section .deadline-picker {
margin-top: var(--space-3);
}
.page-new .wizard-actions {
margin-top: var(--space-8);
padding-top: 0;
border-top: 0;
}

@media (max-width: 42rem) {
.page-new .order-name-field { padding: var(--space-4); }
.page-new .dynamic-template-spec.active,
.page-new .dynamic-template-spec.is-active { margin-top: var(--space-6); }
.page-new .spec-title strong,
.page-new .deadline-question-copy strong { font-size: var(--font-size-3); }
.page-new .tile-question { padding-top: var(--space-5); }
.page-new .tile-question + .tile-question {
margin-top: var(--space-5);
padding-top: var(--space-5);
}
.page-new .order-deadline-section { padding: var(--space-4); }
.page-new .wizard-actions { margin-top: var(--space-6); }
}

/* Text and URL fields keep the same explicit question heading as every other field. */
.page-new .tile-question.is-inline-labeled > strong {
position: static;
width: auto;
height: auto;
overflow: visible;
clip: auto;
clip-path: none;
white-space: normal;
}
.page-new .tile-question.is-inline-labeled .question-help {
margin: 0 0 var(--space-3);
}

/* The generated title follows the same quiet label-and-field rhythm as every other question. */
.page-new .order-name-field {
gap: var(--space-3);
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
overflow: visible;
}
.page-new .order-name-field label {
width: auto;
max-width: none;
padding: 0;
border-radius: 0;
background: transparent;
}
.page-new .order-name-field input {
min-height: var(--control-lg);
padding: 0 var(--space-4);
border: .0625rem solid transparent;
border-radius: var(--radius-sm);
background: var(--color-surface-secondary) !important;
box-shadow: none;
}
.page-new .order-name-field input:focus {
border-color: var(--color-accent);
background: var(--color-surface) !important;
box-shadow: var(--focus-ring);
}
.page-new .order-name-field:focus-within {
box-shadow: none;
}
.page-new .order-name-field {
margin-bottom: var(--space-6);
}

/* A calmer order introduction and a stepper that makes the current stage obvious. */
.page-new .page-header {
padding-top: clamp(var(--space-4), 3vw, var(--space-8));
margin-bottom: clamp(var(--space-6), 3vw, var(--space-8));
}
.page-new .page-header h1 {
line-height: 1.02;
letter-spacing: -.035em;
}
.page-new .wizard-progress {
width: min(100%, 44rem);
gap: var(--space-1);
margin-bottom: clamp(var(--space-8), 4vw, 3.25rem);
padding: var(--space-1);
border-radius: var(--radius-panel);
background: var(--color-surface-secondary);
}
.page-new .wizard-dot {
min-height: 3.25rem;
align-items: center;
gap: var(--space-2);
padding: var(--space-2) var(--space-3);
border-radius: var(--radius-sm);
}
.page-new .wizard-dot:not(:last-child)::before {
display: none;
}
.page-new .wizard-dot span {
width: 1.625rem;
height: 1.625rem;
flex-basis: 1.625rem;
}
.page-new .wizard-dot strong {
padding: 0;
background: transparent;
font-size: var(--font-size-1);
line-height: var(--line-title);
text-align: left;
}
.page-new .wizard-dot.active {
background: var(--color-surface);
box-shadow: 0 .0625rem .25rem rgb(20 22 29 / .08);
}
.page-new .wizard-dot.is-done {
background: color-mix(in srgb, var(--color-surface) 62%, transparent);
}

@media (max-width: 42rem) {
.page-new .page-header {
padding-top: var(--space-4);
margin-bottom: var(--space-6);
}
.page-new .wizard-progress {
width: 100%;
margin-bottom: var(--space-6);
}
.page-new .wizard-dot {
min-height: 3.5rem;
flex-direction: column;
justify-content: center;
gap: .25rem;
padding: var(--space-1);
}
.page-new .wizard-dot strong {
font-size: .6875rem;
line-height: 1.1;
text-align: center;
}
}

/* Flat step navigation: the order flow needs hierarchy, not another container. */
.page-new .wizard-progress {
display: flex;
width: fit-content;
max-width: 100%;
gap: var(--space-8);
padding: 0;
border-radius: 0;
background: transparent;
}
.page-new .wizard-dot {
min-height: 2.5rem;
flex: 0 0 auto;
padding: 0 0 var(--space-2);
border: 0;
border-bottom: .125rem solid transparent;
border-radius: 0;
background: transparent !important;
box-shadow: none !important;
}
.page-new .wizard-dot span {
width: 1.875rem;
height: 1.875rem;
flex-basis: 1.875rem;
}
.page-new .wizard-dot strong {
font-size: var(--font-size-2);
}
.page-new .wizard-dot.active {
border-bottom-color: transparent;
color: var(--color-brand);
}
.page-new .wizard-dot.active strong { color: var(--color-label); }
.page-new .wizard-dot.is-done { background: transparent !important; }

@media (max-width: 42rem) {
.page-new .wizard-progress {
display: grid;
width: 100%;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: var(--space-2);
}
.page-new .wizard-dot {
min-height: 3.75rem;
flex-direction: column;
justify-content: center;
padding: var(--space-1) 0 var(--space-2);
}
.page-new .wizard-dot strong {
font-size: .6875rem;
text-align: center;
}
}

/* The chosen service is a clear context bar, separated from the editable brief. */
.page-new .spec-title {
min-height: 3.75rem;
margin-bottom: var(--space-8);
padding: 0 0 var(--space-3);
border: 0;
border-bottom: .1875rem solid var(--color-brand);
border-radius: 0;
background: transparent;
}
.page-new .spec-title strong {
font-size: var(--font-size-3);
letter-spacing: -.01em;
}
.page-new .spec-title > i {
width: 2rem;
height: 2rem;
border-radius: 0;
background: transparent;
color: var(--color-brand);
font-size: var(--font-size-3);
}
.page-new .spec-change-service {
padding: var(--space-2) var(--space-3);
border-radius: var(--radius-sm);
color: var(--color-label-secondary);
}
.page-new .spec-change-service:hover,
.page-new .spec-change-service:focus-visible {
background: var(--color-surface);
color: var(--color-brand);
}

@media (max-width: 42rem) {
.page-new .spec-title {
min-height: 3.5rem;
margin-bottom: var(--space-6);
padding: 0 0 var(--space-2);
}
.page-new .order-name-field { margin-bottom: var(--space-5); }
}

/* The chosen service lives in the page header, leaving the brief uncluttered. */
.page-new .dynamic-template-spec > .spec-title { display: none; }
.page-new .order-page-header .page-header-copy h1 {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: var(--space-3);
}
.page-new .order-selected-service-heading {
color: var(--color-label-secondary);
font-size: clamp(var(--font-size-3), 2vw, var(--font-size-5));
font-weight: var(--weight-regular);
letter-spacing: -.015em;
}
.page-new .order-selected-service-heading::before {
margin-right: var(--space-3);
color: var(--color-label-tertiary);
content: '·';
}
.page-new .order-header-change-service {
min-height: var(--control-sm);
padding: 0 var(--space-3);
border: .0625rem solid var(--color-separator);
border-radius: var(--radius-sm);
background: var(--color-surface-secondary);
color: var(--color-label-secondary);
font: inherit;
font-size: var(--font-size-1);
font-weight: var(--weight-semibold);
cursor: pointer;
}
.page-new .order-header-change-service:hover,
.page-new .order-header-change-service:focus-visible {
border-color: color-mix(in srgb, var(--color-brand) 38%, var(--color-separator));
background: var(--color-surface);
color: var(--color-brand);
}
@media (max-width: 42rem) {
.page-new .order-page-header .page-header-copy h1 { display: block; }
.page-new .order-selected-service-heading {
display: block;
margin-top: var(--space-1);
font-size: var(--font-size-3);
}
.page-new .order-selected-service-heading::before { display: none; }
}

/* Keep a compact desktop window usable: the full navigation becomes a drawer
before it crowds the page, and the menu trigger remains available. */
@media (min-width:42.0625rem) and (max-width:82rem) {
.app-topbar > .topbar-main { display:flex !important; }
.app-topbar > .header-tools { margin-left:var(--space-4); }
}

/* The blank sticky is always ready. It becomes a real note after the first
text is entered; existing notes switch to the same editor on double-click. */
.page-idea-boards [data-form-modal-open="createIdeaNote"] { display:none; }
.idea-sticky-draft-grid { margin-top:var(--space-4); }
.idea-sticky-draft { min-height:12rem; border:.125rem dashed color-mix(in srgb,var(--color-brand) 42%,var(--color-separator)); box-shadow:none; transform:rotate(.2deg); }
.idea-sticky-draft:hover { transform:rotate(.2deg); }
.idea-sticky-title-input,.idea-sticky-body-input { display:block; width:100%; padding:0; border:0; border-radius:0; outline:0; background:transparent; color:inherit; font:inherit; resize:none; }
.idea-sticky-title-input { margin-bottom:var(--space-2); font-size:var(--font-size-4); font-weight:var(--weight-semibold); line-height:var(--line-title); }
.idea-sticky-body-input { min-height:7rem; font-size:var(--font-size-2); line-height:1.55; }
.idea-sticky :is(.idea-sticky-title-input,.idea-sticky-body-input)::placeholder { color:color-mix(in srgb,var(--sticky-text) 55%,transparent); opacity:1; }
.idea-sticky.is-saving::after { position:absolute; right:var(--space-3); bottom:var(--space-3); color:color-mix(in srgb,var(--sticky-text) 72%,transparent); content:'Ukládám…'; font-size:var(--font-size-0); }
.idea-sticky.is-save-error { outline:.125rem solid var(--color-danger); }
.idea-sticky-draft-hint { color:color-mix(in srgb,var(--sticky-text) 60%,transparent); }
.idea-sticky[draggable="true"] { cursor:grab; }.idea-sticky.is-dragging { opacity:.45; cursor:grabbing; }

/* Inspection visits: an operational log that stays quick to scan on both desktop
and mobile, without borrowing the visual weight of an order card. */
.inspection-visits { max-width: 68rem; }
.inspection-list { display:grid; gap:var(--space-4); }
.inspection-visit { display:grid; grid-template-columns:5.5rem minmax(0,1fr); overflow:hidden; border:.0625rem solid var(--color-separator); border-radius:var(--radius-lg); background:var(--color-surface); box-shadow:0 .5rem 1.5rem rgba(24,38,57,.04); }
.inspection-date { display:flex; flex-direction:column; align-items:center; align-self:stretch; justify-content:center; gap:.125rem; min-height:10rem; padding:var(--space-4) var(--space-2); border-right:.0625rem solid var(--color-separator); background:var(--color-surface-secondary); color:var(--color-label-secondary); text-align:center; }
.inspection-date strong { color:var(--color-brand); font-size:2rem; font-weight:var(--weight-bold); line-height:1; }
.inspection-date span { color:var(--color-label-primary); font-size:var(--font-size-1); font-weight:var(--weight-semibold); text-transform:capitalize; }
.inspection-date small { font-size:var(--font-size-0); }
.inspection-visit-content { min-width:0; padding:var(--space-5) var(--space-6); }
.inspection-visit-content > header { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-4); }
.inspection-eyebrow { margin:0 0 var(--space-1); color:var(--color-brand); font-size:var(--font-size-0); font-weight:var(--weight-bold); letter-spacing:.06em; text-transform:uppercase; }
.inspection-visit h2 { margin:0; color:var(--color-label-primary); font-size:var(--font-size-4); letter-spacing:-.02em; }
.inspection-visit-actions { display:flex; flex:0 0 auto; align-items:center; gap:var(--space-2); }
.inspection-visit-actions form { margin:0; }
.inspection-visit-actions .btn.compact { min-height:2.25rem; padding:0 var(--space-3); font-size:var(--font-size-1); }
.inspection-visit-actions .icon-button { display:grid; width:2.25rem; height:2.25rem; place-items:center; border:.0625rem solid var(--color-separator); border-radius:var(--radius-sm); background:var(--color-surface); color:var(--color-label-secondary); cursor:pointer; }
.inspection-visit-actions .icon-button:hover { color:var(--color-danger); border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-separator)); background:color-mix(in srgb,var(--color-danger) 5%,var(--color-surface)); }
.inspection-report { margin-top:var(--space-4); color:var(--color-label-primary); font-size:var(--font-size-2); line-height:1.65; white-space:normal; }
.inspection-visit footer { display:flex; align-items:center; gap:var(--space-2); margin-top:var(--space-5); color:var(--color-label-secondary); font-size:var(--font-size-0); }
.inspection-visit footer .avatar { flex:0 0 auto; }
.inspection-visit footer time { margin-left:auto; }
.inspection-empty-state { display:flex; min-height:18rem; align-items:center; justify-content:center; flex-direction:column; padding:var(--space-8); border:.0625rem dashed var(--color-separator); border-radius:var(--radius-lg); background:var(--color-surface-secondary); color:var(--color-label-secondary); text-align:center; }
.inspection-empty-state > span { display:grid; width:3.5rem; height:3.5rem; margin-bottom:var(--space-3); place-items:center; border-radius:50%; background:color-mix(in srgb,var(--color-brand) 10%,var(--color-surface)); color:var(--color-brand); font-size:var(--font-size-4); }
.inspection-empty-state h2 { margin:0; color:var(--color-label-primary); font-size:var(--font-size-4); }
.inspection-empty-state p { max-width:30rem; margin:var(--space-2) 0 var(--space-5); }
.inspection-dialog .app-dialog-body { display:grid; gap:var(--space-4); }
.inspection-dialog textarea { min-height:11rem; resize:vertical; }
@media (max-width:42rem) {
.inspection-visit { grid-template-columns:4.25rem minmax(0,1fr); }
.inspection-date { min-height:8.5rem; padding:var(--space-3) var(--space-1); }
.inspection-date strong { font-size:1.6rem; }
.inspection-visit-content { padding:var(--space-4); }
.inspection-visit-content > header { gap:var(--space-3); }
.inspection-visit h2 { font-size:var(--font-size-3); }
.inspection-visit-actions .btn.compact { padding:0 var(--space-2); font-size:0; }
.inspection-visit-actions .btn.compact svg { margin:0; font-size:var(--font-size-1); }
.inspection-report { font-size:var(--font-size-1); }
.inspection-visit footer { flex-wrap:wrap; margin-top:var(--space-4); }
.inspection-visit footer time { width:100%; margin-left:0; }
}
/* Mobile web dashboard: keep horizontal scrolling in one container only. */
@media (max-width: 42rem) {
  .page-orders .orders-commandbar { overflow: visible; padding: 0; scroll-snap-type: none; }
  .page-orders .orders-commandbar .task-tabs {
    width: 100%; max-width: 100%; margin-inline: 0; padding: 2px 0 6px;
    overflow-x: auto; gap: 8px; scroll-padding-inline: 0; scroll-snap-type: x proximity;
  }
  .page-orders .orders-commandbar .task-tab { scroll-snap-align: start; min-height: 44px; }
  .page-orders .dashboard-deadline-legend { padding-block: 8px; gap: 6px 12px; margin-bottom: 12px; }
  .page-orders .dashboard-table .inbox-row { padding-block: 12px; gap: 8px; }
  .page-orders .dashboard-table .task-title { line-height: 1.35; overflow-wrap: anywhere; }
  .page-orders .dashboard-table .inbox-row > .task-row-details {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "assignees status status" "deadline deadline priority";
    gap: 4px 8px;
  }
  .page-orders .dashboard-table .task-row-details > .status-cell { justify-self: start; }
  .page-orders .dashboard-table .task-row-details > .deadline-cell { justify-self: start; min-width: 0; }
  .page-orders .dashboard-table .task-row-details .dashboard-priority-form select {
    width: 8rem; min-width: 0; min-height: 44px; height: 44px;
    padding-inline: 8px 26px; border-color: transparent; background-color: transparent;
    box-shadow: none; font-size: 16px; font-weight: 500;
  }
  .page-orders .dashboard-table .dashboard-star-toggle { width: 44px; height: 44px; }
  .page-orders .app-topbar .global-task-search { min-width: 0; flex: 1 1 0; }
  .page-orders .app-topbar .global-task-search input { min-width: 0; width: 100%; text-overflow: ellipsis; }
}
