/* Shared interface foundation. Loaded after module styles so all screens agree. */
:root {
  --ui-font: "IRANSansXFaNum", Tahoma, Arial, sans-serif;
  --ui-radius: 16px;
  --ui-control: 44px;
  --ui-hover: color-mix(in srgb, var(--primary) 5%, var(--surface));
  --ui-chrome: color-mix(in srgb, var(--surface) 92%, transparent);
}
body { font-family: var(--ui-font); line-height: 1.75; }
button, input, textarea, select, option, code, pre { font-family: var(--ui-font) !important; }
button, a, input, select, textarea { touch-action: manipulation; }
button, a { transition-property: background-color, color, border-color, box-shadow, opacity, transform; transition-duration: 140ms; }
button:disabled { cursor: not-allowed; opacity: .55; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--primary); outline-offset: 3px;
}
input:focus-visible, textarea:focus-visible, select:focus-visible { outline-offset: 2px; }
.skip-link { position: fixed; top: 12px; inset-inline-start: 16px; z-index: 10000; padding: 10px 18px; background: var(--surface); color: var(--primary); border-radius: 10px; transform: translateY(-180%); }
.skip-link:focus { transform: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Persian text needs comfortable leading and neutral tracking. */
.app-page { font-size: calc(14px * var(--font-scale, 1)); }
.app-page :is(.nav-item, td, label, .form-grid input, .form-grid select, .form-grid textarea) { font-size: calc(13px * var(--font-scale, 1)) !important; }
.app-page :is(small, time) { font-size: calc(12px * var(--font-scale, 1)) !important; line-height: 1.7; }
.app-page :is(.btn, .quick-btn, .row-action, .segmented button, .project-tabs-v4 button) { font-size: calc(13px * var(--font-scale, 1)) !important; font-weight: 500 !important; }
.page-head h1 { font-size: calc(25px * var(--font-scale, 1)); line-height: 1.45; font-weight: 800; }
.page-head p, .dashboard-top-v4 p { font-size: calc(13px * var(--font-scale, 1)); color: var(--muted); line-height: 1.8; }
.app-page :is(.panel-head h2, .modal-head h2) { font-size: calc(17px * var(--font-scale, 1)); font-weight: 700; line-height: 1.6; }
.panel-head p, .modal-head p { font-size: calc(12px * var(--font-scale, 1)); color: var(--muted); line-height: 1.8; }
.content { padding: 28px clamp(16px, 3vw, 36px); }
.page-head { margin-bottom: 24px; align-items: center; }
.panel { min-width: 0; border-radius: var(--ui-radius); box-shadow: 0 2px 10px rgb(20 30 50 / 3%); }
.panel-head { padding: 20px 22px; gap: 16px; }
.panel-head > div, .page-head > div { min-width: 0; }
.panel-head h2, .page-head h1 { overflow-wrap: anywhere; }
.panel-head > a { color: var(--primary); font-weight: 500; font-size: 13px; white-space: nowrap; }

/* Translucency is reserved for floating chrome; content remains solid. */
.topbar { background: var(--ui-chrome) !important; backdrop-filter: blur(20px) saturate(150%); -webkit-backdrop-filter: blur(20px) saturate(150%); border-bottom-color: var(--line); gap: 16px; }
.sidebar { background: var(--surface); }
.sidebar-head { min-height: 80px; }
.nav { padding: 14px 14px 120px; scrollbar-width: thin; }
.nav-title { color: var(--muted); font-size: 12px; padding: 8px 12px; }
.nav-item { min-height: var(--ui-control); height: auto; padding: 10px 12px; margin: 3px 0; color: var(--muted); border-radius: 11px; }
.nav-item.active { color: var(--primary); background: var(--primary-soft); font-weight: 700; }
.nav-item:hover { background: var(--ui-hover); color: var(--text); }
.nav-item .sidebar-icon { width: 23px; height: 23px; }
.sidebar-user { background: var(--bg); border-color: var(--line); }
.sidebar-user strong { font-size: 13px; }
.sidebar-user span { font-size: 11px; }
.global-search, .list-search { min-height: var(--ui-control); background: var(--bg); border: 1px solid var(--line); border-radius: 12px; }
.global-search { flex: 1; max-width: 440px; min-width: 100px; }
.global-search input, .list-search input { font-size: 13px; color: var(--text); min-width: 0; }
.global-search:focus-within, .list-search:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-soft); }
.top-actions { gap: 6px; flex-shrink: 0; }
.icon-btn { min-width: var(--ui-control); min-height: var(--ui-control); color: var(--muted); }
.icon-btn:hover { color: var(--primary); background: var(--primary-soft); }
.btn, .quick-btn { min-height: var(--ui-control); border-radius: 11px; padding: 10px 18px; gap: 8px; line-height: 1.5; }
.btn.primary, .quick-btn { box-shadow: 0 3px 8px rgba(var(--primary-rgb, 1,43,249), .14); }
.btn.primary:hover, .quick-btn:hover { background: var(--primary-hover, var(--primary)); transform: none; }
.btn.secondary, .btn.outline { background: var(--surface); color: var(--text); border: 1px solid var(--line); }
.btn.secondary:hover, .btn.outline:hover { background: var(--ui-hover); border-color: var(--primary); }
:is(.btn, .quick-btn, .icon-btn, .row-action):active { transform: scale(.97); transition-duration: 0ms; }

/* Lists and forms retain density without tiny targets or faint text. */
.table-toolbar { padding: 18px 22px; gap: 16px; flex-wrap: wrap; }
.table-toolbar strong { font-size: 15px; font-weight: 700; }
.responsive-table { scrollbar-width: thin; overscroll-behavior-inline: contain; }
.responsive-table table { width: 100%; }
.responsive-table :is(th, td) { padding: 15px 16px; line-height: 1.8; vertical-align: middle; border-color: var(--line); }
.responsive-table th { color: var(--muted); background: var(--bg); font-size: 12px; font-weight: 500; white-space: nowrap; }
.responsive-table tbody tr:hover > td { background: var(--ui-hover); }
.responsive-table td strong { font-weight: 600; }
.responsive-table td small { color: var(--muted); }
.row-actions { gap: 7px; flex-wrap: wrap; }
.row-action { width: auto; min-width: 38px; min-height: 38px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--text); display: inline-flex; justify-content: center; align-items: center; gap: 5px; }
.row-action.danger { color: #b42332; background: #fff4f5; border-color: #f3cbd0; }
.status-badge { font-size: calc(12px * var(--font-scale, 1)); padding: 5px 10px; border-radius: 8px; line-height: 1.5; white-space: nowrap; font-weight: 500; }
.form-grid { padding: 22px; gap: 20px 18px; }
.form-grid label { color: var(--text); font-weight: 500; line-height: 1.7; min-width: 0; }
.form-grid :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) { min-height: var(--ui-control); height: auto; padding: 11px 12px; background: var(--surface); border-color: var(--line); border-radius: 10px; color: var(--text); margin-top: 8px; }
.form-grid textarea { min-height: 110px; line-height: 1.9; resize: vertical; }
.form-grid input::placeholder, .form-grid textarea::placeholder { color: var(--muted); opacity: 1; }
.form-grid :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--primary); }
.field-error { display: block; margin-top: 6px; font-size: 12px; font-weight: 400; color: #b42332; }
[aria-invalid="true"] { border-color: #b42332 !important; }
.form-submitting { cursor: progress; }
.form-submitting button[type="submit"] { opacity: .7; }
.empty { padding: 48px 24px; gap: 12px; color: var(--muted); }
.empty strong { color: var(--text); font-size: 16px; font-weight: 600; }
.empty span, .empty p { max-width: 440px; font-size: 13px; line-height: 1.9; }
.alert { border-radius: 12px; padding: 14px 18px; font-size: 14px; line-height: 1.9; }
.table-result-status { color: var(--muted); font-size: 12px; padding: 0 22px 12px; margin: 0; }
.responsive-table .table-empty-message { text-align: center; padding: 32px 16px; color: var(--muted); }
.error-page { min-height: 100dvh; display: grid; place-items: center; padding: 24px; }
.error-card { width: min(520px, 100%); padding: 36px; }
.error-code { font-size: 14px; color: var(--primary); font-weight: 700; }
.error-card h1 { font-size: 24px; line-height: 1.6; margin: 12px 0; }
.error-card p { color: var(--muted); line-height: 1.9; margin: 0 0 24px; }
.error-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Dialogs keep their title and actions visible as long forms scroll. */
dialog.modal { border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: 0 24px 80px rgb(0 0 0 / 22%); max-height: calc(100dvh - 32px); }
dialog.modal > form { max-height: calc(100dvh - 32px); }
dialog.modal .modal-head { position: sticky; top: 0; z-index: 4; padding: 20px 22px; background: var(--surface); border-color: var(--line); }
dialog.modal .modal-footer { position: sticky; bottom: 0; z-index: 4; background: var(--surface); padding: 16px 22px; border-color: var(--line); gap: 10px; }
.modal-footer .btn { min-height: var(--ui-control); }
dialog.modal::backdrop { background: rgb(15 23 42 / 40%); backdrop-filter: blur(5px); }
.notifications-panel, .theme-picker-panel-v637 { border-radius: 16px; background: var(--surface); border-color: var(--line); box-shadow: 0 12px 36px rgb(15 23 42 / 16%); }

/* Dashboard and workspaces share a calmer visual hierarchy. */
.dashboard-top-v4 { margin-bottom: 24px; gap: 20px; }
.dashboard-top-v4 h2 { font-size: calc(24px * var(--font-scale, 1)); line-height: 1.5; font-weight: 800; }
.dashboard-top-v4 > div > span { font-size: 12px; font-weight: 500; }
.metric-card, .dashboard-cards-v4 article { border: 1px solid var(--line); border-radius: var(--ui-radius); background: var(--surface); padding: 20px; box-shadow: 0 2px 8px rgb(15 23 42 / 3%); }
.metric-card span, .dashboard-cards-v4 article span { font-size: 13px; color: var(--muted); }
.metric-card strong, .dashboard-cards-v4 article strong { font-size: 28px; line-height: 1.4; font-weight: 800; }
.dashboard-finance-picker-v631 label { color: #d5dff5; }
.dashboard-finance-picker-v631 select { min-height: 44px; padding: 8px 12px; border: 1px solid #647495; border-radius: 10px; background: #172649; color: #fff; font: inherit; }
.project-card.modern:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgb(15 23 42 / 8%); }
.project-card h2, .project-card h3, .kanban-task strong { font-size: 15px; line-height: 1.7; }
.project-tabs-v4, .settings-tabs-v64, .business-switcher-v626 { scrollbar-width: thin; }
.business-switcher-v626 { box-shadow: none; padding: 6px; border-radius: 14px; }
.business-switcher-v626 a { min-height: 44px; box-shadow: none; font-size: 14px; }
.business-switcher-v626 a.active { background: var(--primary-soft); border-color: transparent; }
.finance-filter-tabs-v635 button, .settings-tabs-v64 a, .project-tabs-v4 button { min-height: 40px; font-size: 13px; }
.task-check { min-width: 28px; min-height: 28px; }
.login-card label, .login-note, .login-heading p { font-size: 13px; line-height: 1.9; }
.login-card input { min-height: 46px; font-size: 14px; }
.login-heading h1 { font-weight: 800; line-height: 1.5; }
.login-card .btn { font-size: 14px; font-weight: 500; }

html[data-theme="dark"] { --ui-hover: color-mix(in srgb, var(--primary) 12%, var(--surface)); --ui-chrome: rgb(24 33 49 / 92%); }
html[data-theme="dark"] :is(.nav-item.active, .panel-head > a, .client-access-link) { color: color-mix(in srgb, var(--primary) 40%, white) !important; }
html[data-theme="dark"] .row-action.danger { color: #ffb1b8 !important; background: #35232d !important; border-color: #6c3542 !important; }
html[data-theme="dark"] .field-error { color: #ffb1b8; }
html[data-theme="dark"] :is(.empty strong, .form-grid label) { color: var(--text); }
html[data-theme="dark"] .sidebar-logo-v65 { filter: brightness(0) invert(1); opacity: .95; }

@media (max-width: 1100px) {
  .topbar { padding-inline: 16px; gap: 10px; }
  .header-attendance .attendance-time { display: none; }
}
@media (max-width: 900px) {
  body.sidebar-open { overflow: hidden; }
  .sidebar { width: min(300px, calc(100vw - 48px)); box-shadow: -12px 0 40px rgb(0 0 0 / 12%); }
  .sidebar-overlay { backdrop-filter: blur(3px); }
  .topbar { height: auto; min-height: 72px; }
  .content { padding: 24px 18px; }
}
@media (max-width: 640px) {
  .topbar { flex-wrap: wrap; padding: 10px 12px; gap: 8px; }
  .top-actions { flex: 1; justify-content: flex-end; gap: 3px; flex-wrap: wrap; }
  .header-attendance { display: flex !important; }
  .attendance-button { min-height: 44px; min-width: 44px; padding: 8px 10px; }
  .global-search { order: 3; width: 100%; max-width: none; flex: 1 0 100%; }
  .global-search input, .form-grid :is(input, select, textarea) { font-size: max(16px, calc(13px * var(--font-scale, 1))) !important; }
  .top-actions .icon-btn { min-width: 40px; width: 40px; }
  .page-head { flex-wrap: wrap; gap: 14px; }
  .page-head .btn { width: 100%; }
  .content { padding: 20px 12px; }
  .panel-head, .table-toolbar { padding: 16px; }
  .table-toolbar .list-search { width: 100%; }
  .row-action { min-height: 44px; min-width: 44px; }
  .dashboard-top-v4 { flex-wrap: wrap; align-items: flex-start; }
  .dashboard-cards-v4, .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .dashboard-cards-v4 article, .metric-card { padding: 15px; min-width: 0; }
  .metric-card { flex-wrap: wrap; }
  .metric-card span, .dashboard-cards-v4 article span { white-space: normal; }
  .metric-card strong, .dashboard-cards-v4 article strong { font-size: 24px; }
  .form-grid { padding: 18px 16px; gap: 18px; }
  dialog.modal { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 16px; }
  dialog.modal > form { max-height: calc(100dvh - 16px); }
  dialog.modal .modal-head, dialog.modal .modal-footer { padding: 16px; }
  .modal-footer .btn { flex: 1; }
  .business-switcher-v626 { display: flex; overflow-x: auto; gap: 4px; }
  .business-switcher-v626 a { flex: 0 0 auto; padding-inline: 16px; }
  .notifications-panel { max-width: calc(100vw - 24px); }
  .empty { padding: 36px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  :is(.btn, .quick-btn, .icon-btn, .row-action, .project-card.modern):active, .project-card.modern:hover { transform: none; }
}
@media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
  .topbar { background: var(--surface) !important; backdrop-filter: none; -webkit-backdrop-filter: none; }
  dialog.modal::backdrop, .sidebar-overlay { backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  .panel, .btn, .row-action, input, textarea, select { border-color: var(--text); }
}
@media print {
  .sidebar, .topbar, .skip-link, .page-head > .btn { display: none !important; }
  .main { margin: 0 !important; }
  .content { padding: 0; }
  .panel { box-shadow: none; }
}

/* 4.8 — shared controls, spacing and motion */
:root{--ui-space:24px;--ui-ease:cubic-bezier(.2,.8,.2,1)}
[hidden]{display:none!important}
.content> :is(.panel,.tasks-v2,.dashboard-grid,.metric-grid,.pipeline,.business-switcher-v626){margin-bottom:24px}
.form-grid{gap:24px 20px;padding:24px}.modal-head{padding:24px}.modal-footer{padding:18px 24px;gap:12px}
.ui-field{position:relative;display:flex!important;flex-direction:column;gap:6px!important;min-width:0}
.ui-field> :is(input,textarea,select){min-height:58px!important;padding:25px 14px 9px!important;border-radius:12px!important;background:var(--surface);transition:border-color 180ms,box-shadow 180ms,background 180ms}
.ui-field>.ui-field-label{position:absolute;inset-inline-start:14px;top:17px;z-index:1;pointer-events:none;color:var(--muted);font-size:13px;line-height:20px;transform-origin:right top;transition:transform 180ms var(--ui-ease),color 180ms;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-field:focus-within>.ui-field-label,.ui-field-fixed>.ui-field-label,.ui-field:has(>input:not(:placeholder-shown))>.ui-field-label,.ui-field:has(>textarea:not(:placeholder-shown))>.ui-field-label{transform:translateY(-11px) scale(.82)}
.ui-field:focus-within>.ui-field-label{color:var(--primary)}
.ui-field-label.is-required:after{content:' ·';color:var(--primary)}
.ui-field>textarea{min-height:112px!important;resize:vertical}
.ui-field>small{position:static;line-height:1.8;color:var(--muted)}
.ui-field:has([aria-invalid="true"])>.ui-field-label{color:#c43d48}
input[type=checkbox],input[type=radio]{appearance:none;display:inline-grid!important;place-content:center;vertical-align:middle;width:21px!important;height:21px!important;min-height:21px!important;flex:0 0 21px;padding:0!important;margin:0 0 0 8px;border:1.5px solid var(--border);border-radius:6px;background:var(--surface);cursor:pointer;transition:background 160ms,border-color 160ms,box-shadow 160ms}
input[type=radio]{border-radius:50%}
input[type=checkbox]:checked,input[type=radio]:checked{background:var(--primary);border-color:var(--primary)}
input[type=checkbox]:checked:after{content:'';width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
input[type=radio]:checked:after{content:'';width:7px;height:7px;border-radius:50%;background:white}
input[type=checkbox]:indeterminate:after{content:'';width:10px;height:2px;background:var(--primary)}
select{cursor:pointer;border-radius:12px!important;padding-inline-end:34px!important;color:var(--text);background-color:var(--surface)}
@supports (appearance:base-select){select:not([multiple]),select:not([multiple])::picker(select){appearance:base-select}select:not([multiple])::picker(select){border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 16px 48px #10204020;padding:6px;max-height:320px}select option{padding:10px 12px;border-radius:8px;min-height:40px}select option:checked{background:var(--primary-soft);color:var(--primary)}select option:hover{background:var(--ui-hover)}select::picker-icon{color:var(--muted);transition:rotate 180ms}select:open::picker-icon{rotate:180deg}}
.profile-menu{position:relative;flex:none;margin-inline-start:6px;order:10}.profile-trigger{display:grid;place-items:center;border:2px solid var(--surface);outline:1px solid var(--border);padding:0;width:42px;height:42px;border-radius:50%;background:var(--primary-soft);cursor:pointer;overflow:hidden}.profile-trigger .profile-menu-avatar{width:38px;height:38px;border-radius:50%;font-size:16px}.profile-trigger img{width:100%;height:100%;object-fit:cover}.profile-trigger[aria-expanded=true]{outline-color:var(--primary)}
.profile-popover{position:absolute;top:calc(100% + 14px);left:0;width:268px;max-width:calc(100vw - 24px);padding:8px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 16px 54px #13213b24;z-index:100;animation:ui-popover 200ms var(--ui-ease);transform-origin:top left}.profile-identity{padding:12px 12px 16px;border-bottom:1px solid var(--border);margin-bottom:6px;display:grid;gap:3px}.profile-identity span{font-size:12px;color:var(--muted);text-align:right;overflow-wrap:anywhere}.profile-popover button{width:100%;display:flex;align-items:center;gap:12px;min-height:44px;padding:10px 12px;background:none;border:0;border-radius:10px;text-align:start;color:var(--text);cursor:pointer}.profile-popover button:hover{background:var(--ui-hover)}.profile-popover svg{width:18px;height:18px}.profile-popover form{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.profile-popover .profile-logout{color:#c43d48}.sidebar .nav{padding-bottom:24px}.top-actions{margin-inline-start:auto}
.access-overview{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(120deg,var(--surface),var(--primary-soft));margin:24px 0}.eyebrow{font-size:12px;color:var(--primary);font-weight:600}.access-overview h2{font-size:22px;margin:8px 0}.access-overview p{color:var(--muted);margin:0}.access-stats{display:flex;gap:28px;flex-shrink:0}.access-stats>div{display:grid;gap:4px}.access-stats strong{font-size:30px;line-height:1.3;font-weight:700}.access-stats span{font-size:12px;color:var(--muted)}.access-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between}.access-toolbar .list-search{width:min(100%,420px);min-height:48px;margin:0}.access-toolbar input{width:100%}.access-result{font-size:12px;color:var(--muted);margin:16px 0}.access-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:20px}.access-site{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:22px;transition:border-color 180ms,box-shadow 180ms}.access-site:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));box-shadow:0 6px 24px #13213b0a}.access-site header{display:flex;align-items:center;gap:12px}.access-site header>div{min-width:0;flex:1}.access-site h2{font-size:16px;margin:0;overflow-wrap:anywhere}.access-site header>div>span{font-size:12px;color:var(--muted)}.access-monogram{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;color:var(--primary);background:var(--primary-soft);font-size:21px;flex:none}.access-site-url{padding:16px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere;text-align:right;font-size:13px}.access-site dl{display:grid;gap:14px;margin:18px 0}.access-site dl>div{display:flex;justify-content:space-between;gap:12px}.access-site dt{color:var(--muted);font-size:12px}.access-site dd{margin:0;font-size:13px;font-weight:500;overflow-wrap:anywhere;text-align:end}.access-destinations{display:flex;gap:8px;margin-bottom:20px;direction:ltr;justify-content:flex-end}.access-destinations span{padding:3px 9px;background:var(--ui-hover);border-radius:6px;font-size:11px}.access-site footer{display:flex;gap:8px}.access-site footer .primary{flex:1}.access-detail-body{padding:24px}.access-detail-body .client-access-details{margin:0}
.tasks-v2{gap:24px!important;align-items:start}.person-tasks>header{padding:20px 24px!important;border-bottom:1px solid var(--border)}.team-task-board .task-row{padding:20px 24px!important;gap:14px!important;align-items:center}.team-task-board .task-row>div>strong{line-height:1.8}.task-row time{white-space:nowrap;color:var(--muted)}.personal-list>form{padding:18px 22px!important;gap:12px}.personal-list>form>span{flex:1;min-width:0}.personal-tasks-v2{position:sticky;top:92px}.personal-archive-v69{margin-top:28px}.task-planning-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.task-planning-summary>div{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.task-planning-summary strong{font-size:26px;color:var(--primary)}.task-planning-summary span{color:var(--muted)}.task-search{max-width:360px;flex:1}.tasks-toolbar{gap:16px;flex-wrap:wrap;margin-bottom:20px}.task-filter-empty{padding:40px;text-align:center;color:var(--muted)}
/* Page-specific rhythm: dense data stays readable without competing panels. */
.route-dashboard .metric-grid{gap:18px}.route-dashboard .dashboard-grid{gap:24px}.route-projects .kanban-board{gap:18px}.route-projects .kanban-task{border-radius:14px;padding:18px}.route-calendar .calendar-day{min-height:110px}.route-reports .report-grid{gap:24px}.route-finance .finance-cards-v64{gap:18px;margin:24px 0}.route-team .member-card{border-radius:18px}.route-messages .chat-message{line-height:1.9}.route-settings .settings-grid{gap:24px}.route-letters .panel,.route-leaves .panel,.route-contracts .panel,.route-logs .panel{overflow:hidden}.client-access-card{padding:20px!important;border-radius:14px!important}.client-access-grid{gap:18px!important}
.ui-skeleton{padding:20px;display:grid;gap:12px;min-width:160px}.ui-skeleton i{display:block;height:14px;border-radius:6px;background:linear-gradient(100deg,var(--border) 15%,var(--surface) 45%,var(--border) 75%);background-size:220% 100%;animation:ui-shimmer 1.6s ease-in-out infinite}.ui-skeleton i:nth-child(3){width:78%}.ui-skeleton i:last-child{width:55%}.client-secret.is-loading input{opacity:.4}.form-submitting button[type=submit],button:disabled{cursor:progress}.btn:active:not(:disabled),.icon-btn:active:not(:disabled),.row-action:active:not(:disabled){transform:scale(.97)}.notifications-panel:not([hidden]),.theme-picker-panel-v637:not([hidden]){animation:ui-popover 200ms var(--ui-ease)}.nav-item{transition:background 180ms,color 180ms}.modal::backdrop{animation:ui-backdrop 220ms ease}.content{animation:ui-enter 260ms var(--ui-ease)}
@keyframes ui-popover{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}@keyframes ui-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes ui-backdrop{from{opacity:0}to{opacity:1}}@keyframes ui-shimmer{to{background-position:-220% 0}}
@media(max-width:1100px){.access-overview{align-items:start;flex-direction:column}.personal-tasks-v2{position:static}}
@media(max-width:600px){.content{padding:20px 14px}.form-grid{padding:20px;gap:22px}.modal-head{padding:20px}.modal-footer{padding:16px 20px}.access-overview{padding:22px}.access-overview h2{font-size:19px}.access-stats{width:100%;justify-content:space-between;gap:12px}.access-stats strong{font-size:25px}.access-toolbar{align-items:stretch;flex-direction:column}.access-toolbar .list-search{width:100%}.task-planning-summary{gap:8px}.task-planning-summary>div{padding:14px 10px;flex-direction:column;gap:4px}.task-planning-summary span{font-size:11px}.task-planning-summary strong{font-size:22px}.team-task-board .task-row{padding:18px 14px!important;flex-wrap:wrap}.tasks-toolbar .segmented{width:100%;display:flex}.tasks-toolbar .segmented button{flex:1;padding:8px}.profile-menu{margin-inline-start:0}.top-actions{gap:7px}.profile-trigger{width:36px;height:36px}.profile-trigger .profile-menu-avatar{width:32px;height:32px}.access-detail-body{padding:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.btn:active,.icon-btn:active,.row-action:active{transform:none!important}}
@media(forced-colors:active){input[type=checkbox],input[type=radio]{appearance:auto}.access-site,.profile-popover{border:1px solid CanvasText}}
.dashboard-cards-v4{gap:18px!important;margin-bottom:24px!important}.dashboard-main-v64,.dashboard-bottom-v4{gap:24px!important}.dashboard-cards-v4>article{padding:24px!important;border-radius:18px!important}.project-grid.enhanced-grid{gap:24px}.project-page-tools{gap:16px;margin-bottom:24px}.calendar-v5>header{padding:22px;gap:14px}.calendar-v5>header a{padding:10px 14px;border-radius:10px;background:var(--ui-hover)}.calendar-day-v5{min-height:112px;transition:background 180ms,box-shadow 180ms}.calendar-day-v5:hover{background:var(--ui-hover)}.calendar-day-v5.today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-day-v5>span{border-radius:6px;padding:5px 7px}.calendar-week-v5{padding-block:12px;color:var(--muted)}.attendance-report-grid-v65{gap:24px}.attendance-filters-v65{padding:20px;gap:16px}.settings-tabs-v64{gap:8px;margin-bottom:24px}.settings-card>form{gap:20px}.settings-card .service-list{padding:12px 20px}.messenger .conversation-list{padding:12px}.messenger .conversation-list>a{border-radius:12px;padding:16px}.search-page-form-v67{gap:12px;margin-bottom:24px}.search-results-v67{gap:20px}.telephony-settings-v622{padding:24px}.pipeline{gap:12px}.pipeline>div{border:1px solid var(--border);border-radius:14px;padding:18px;background:var(--surface)}
@media(max-width:600px){.top-actions{flex-wrap:nowrap!important}.top-actions>.top-badge-wrap-v64,.top-actions>.personal-quick{display:none}.topbar{column-gap:10px}.calendar-day-v5{min-height:72px}.calendar-v5>header{padding:14px;gap:8px}.calendar-v5>header a{font-size:11px;padding:8px}.calendar-week-v5{font-size:10px}.calendar-day-v5>span{font-size:10px!important;padding:2px}.dashboard-cards-v4>article{padding:18px!important}.profile-popover{max-height:calc(100dvh - 130px);overflow:auto}}
@supports (appearance:base-select){select:not([multiple]){display:flex!important;align-items:center;justify-content:space-between;gap:10px}select::picker-icon{flex:none;margin-inline-start:auto}}
.task-row[data-task-overdue="1"]>time{color:#bf3f4a;font-weight:600}.task-row[data-task-overdue="1"]{border-inline-start:3px solid #df6972}.task-row[data-task-status="done"]>div>strong{color:var(--muted)}
.ui-secret-field .client-secret input{min-height:58px!important;padding:25px 14px 9px!important;border-radius:12px!important}.ui-secret-field .client-secret{margin:0}.ui-secret-field .client-secret button{align-self:center;margin-inline:6px}.ui-secret-field>.ui-field-label{z-index:1}
html[data-theme=dark] .access-overview{background:linear-gradient(120deg,var(--surface),color-mix(in srgb,var(--primary) 14%,var(--surface)))}
html[data-theme=dark] :is(.access-monogram,.profile-trigger){background:color-mix(in srgb,var(--primary) 16%,var(--surface));color:#b6c3ff}
html[data-theme=dark] :is(.eyebrow,.task-planning-summary strong,.ui-field:focus-within>.ui-field-label){color:#b6c3ff}
html[data-theme=dark] .sidebar-logo-v65{filter:brightness(0) invert(1)}
html[data-theme=dark] select option:checked{background:color-mix(in srgb,var(--primary) 18%,var(--surface));color:#c1cbff}
.access-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr))}
html[data-theme=dark] .profile-trigger .profile-menu-avatar{background:transparent;color:#b6c3ff}

/* 4.9: labels sit inside controls; each dialog owns exactly one scroll area. */
.ui-field>.ui-field-label{top:20px;line-height:18px;transform:none!important;transition:top 180ms var(--ui-ease),font-size 180ms,color 180ms}
.ui-field:focus-within>.ui-field-label,.ui-field-fixed>.ui-field-label,.ui-field:has(>input:not(:placeholder-shown))>.ui-field-label,.ui-field:has(>textarea:not(:placeholder-shown))>.ui-field-label{top:10px;font-size:11px!important;transform:none!important;line-height:16px}
.ui-field> :is(input,textarea,select),.ui-secret-field .client-secret input{min-height:64px!important;padding:29px 14px 10px!important}
.ui-field>textarea{min-height:120px!important}.ui-field>.ui-field-label{inset-inline-start:15px}
body:has(dialog[open]){overflow:hidden}
dialog.modal{--dialog-width:840px;width:min(var(--dialog-width),calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:auto;padding:0;border-radius:22px}
dialog.modal.small-modal{--dialog-width:540px}
dialog.modal:has(.client-access-editor){--dialog-width:1060px}
dialog.modal:has(.access-detail-body){--dialog-width:920px}
dialog.modal.project-modal{--dialog-width:960px}
dialog.modal>form{display:flex;flex-direction:column;max-height:none!important;overflow:visible!important;min-width:0}
dialog.modal>form>*{flex-shrink:0}
dialog.modal .form-grid,dialog.modal .client-access-editor,dialog.modal .access-detail-body{max-height:none;overflow:visible}
dialog.modal .modal-head{padding:24px 28px;gap:20px;background:var(--surface);isolation:isolate}
dialog.modal .modal-head>div{min-width:0}.modal-head h2{margin:0}.modal-head p{margin:6px 0 0;max-width:64ch}
dialog.modal .modal-head>[data-modal-close]{flex:none;background:var(--bg);border:1px solid var(--border);width:36px;min-height:36px;border-radius:50%;font-size:21px}
dialog.modal .form-grid{padding:28px;gap:24px}
dialog.modal .modal-footer{padding:18px 28px;gap:12px;background:var(--surface);box-shadow:0 -6px 16px #10204004}
dialog.modal .client-access-form-grid{gap:22px}.client-access-form-card{padding:22px}.client-access-form-card>label{margin-bottom:18px}
@media(max-width:600px){dialog.modal,dialog.modal.small-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:18px}dialog.modal .modal-head{padding:20px}dialog.modal .form-grid{padding:20px;gap:22px}dialog.modal .modal-footer{padding:16px 20px}.client-access-form-card{padding:16px}.ui-field>.ui-field-label{max-width:calc(100% - 30px)}}

/* Dashboard: actionable overview, with data density balanced by clear sections. */
.route-dashboard .page-head{display:none}.workspace-dashboard{--dash-blue:#4b6bfb;--dash-teal:#149782;--dash-amber:#bb791a;--dash-violet:#8964d7;display:grid;gap:24px}
.dash-welcome{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 0 4px}.dash-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);font-weight:500}.dash-eyebrow i{width:4px;height:4px;border-radius:50%;background:var(--muted)}.dash-welcome h2{font-size:28px;line-height:1.6;margin:8px 0;font-weight:800}.dash-welcome p{margin:0;max-width:65ch;color:var(--muted);font-size:13px}.dash-welcome-actions{display:flex;gap:10px;flex-shrink:0}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.dash-kpi{padding:20px 22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text);display:grid;gap:10px;transition:border-color 180ms,transform 180ms,box-shadow 180ms}.dash-kpi:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));transform:translateY(-2px);box-shadow:0 8px 24px #14264b08}.dash-kpi-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.dash-kpi-head i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--dash-color) 10%,var(--surface));color:var(--dash-color)}.dash-kpi-head svg{width:19px;height:19px}.dash-kpi>strong{font-size:34px;font-weight:700;line-height:1.2}.dash-kpi small{color:var(--muted)}.dash-kpi.blue{--dash-color:var(--dash-blue)}.dash-kpi.amber{--dash-color:var(--dash-amber)}.dash-kpi.violet{--dash-color:var(--dash-violet)}.dash-kpi.teal{--dash-color:var(--dash-teal)}
.dash-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px;align-items:start}.dash-layout>.panel{margin:0}.workspace-dashboard .panel-head{padding:22px 24px;border-bottom:1px solid var(--border);align-items:center}.workspace-dashboard .panel-head h2{margin:0;font-size:16px}.workspace-dashboard .panel-head p{margin:5px 0 0}.workspace-dashboard .panel-head>a{font-size:12px;white-space:nowrap;color:var(--primary)}.workspace-dashboard .panel-head .dash-eyebrow{color:var(--primary);font-size:11px;margin-bottom:5px}.dash-side-stack{display:grid;gap:24px}.dash-task-tabs{display:flex;gap:6px;padding:16px 24px 8px}.dash-task-tabs button{border:0;background:transparent;border-radius:9px;color:var(--muted);padding:8px 14px;min-height:38px;cursor:pointer;font-size:12px}.dash-task-tabs button.selected{background:color-mix(in srgb,var(--primary) 9%,var(--surface));color:var(--primary);font-weight:600}.dash-priority-list{padding:0 24px}.dash-priority-row{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--border);color:var(--text)}.dash-priority-row:last-child{border-bottom:0}.dash-priority-row:hover strong{color:var(--primary)}.dash-priority-row>div:first-of-type{min-width:0;flex:1}.dash-priority-row strong{display:block;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.dash-priority-row>div>span:not(.status-badge){display:block;color:var(--muted);font-size:12px;margin-top:4px}.dash-priority-mark{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--bg);color:var(--muted)}.dash-priority-mark svg{width:17px;height:17px}.dash-priority-row.is-overdue .dash-priority-mark{color:#bd5c31;background:color-mix(in srgb,#e9a05d 12%,var(--surface))}.dash-priority-meta{display:grid;justify-items:end;gap:6px;flex:none}.dash-priority-meta time{color:var(--muted);font-size:11px!important}.dash-priority-row.is-overdue time{color:#ad6134}.dash-priority-meta .status-badge{font-size:10px!important;padding:3px 7px}.dash-panel-foot{border-top:1px solid var(--border);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.dash-panel-foot a{color:var(--primary);white-space:nowrap}.dash-empty{padding:28px 24px;text-align:center;display:grid;justify-items:center;gap:8px;color:var(--muted)}.dash-empty>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bg)}.dash-empty strong{color:var(--text);font-size:13px;font-weight:500}.dash-empty p{font-size:12px;line-height:1.9;margin:0;max-width:40ch}.dash-empty svg{width:20px;height:20px}
.dash-presence-dot{width:10px;height:10px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 5px var(--bg)}.dash-presence-dot.is-present{background:#149782;box-shadow:0 0 0 5px #14978218}.dash-presence-content{padding:20px 24px;display:grid;gap:14px}.dash-presence-content>strong{font-size:20px;font-weight:600}.dash-presence-content>div{display:flex;justify-content:space-between;gap:12px;font-size:12px}.dash-presence-content>div>span{color:var(--muted)}.dash-presence-content b{font-weight:500}.dash-agenda-item{display:flex;gap:16px;align-items:center;margin:0 24px;padding:17px 0;border-bottom:1px solid var(--border);color:var(--text)}.dash-agenda-item:last-child{border:0}.dash-agenda-item>time{color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--surface));padding:7px 10px;border-radius:8px;font-weight:600;direction:ltr}.dash-agenda-item strong{display:block;font-size:13px}.dash-agenda-item span{color:var(--muted);font-size:11px}
.dash-project-list{padding:0 24px}.dash-project-row{display:block;padding:20px 0;border-bottom:1px solid var(--border);color:var(--text)}.dash-project-row:last-child{border:0}.dash-project-title{display:flex;gap:12px;justify-content:space-between;align-items:center}.dash-project-title strong{font-size:13px}.dash-project-progress{display:flex;gap:16px;align-items:center;margin:14px 0 7px}.dash-project-progress b{width:36px;text-align:end;font-size:12px;color:var(--muted);font-weight:500}.workspace-dashboard progress{appearance:none;-webkit-appearance:none;border:0;border-radius:99px;overflow:hidden;background:var(--bg);height:6px;width:100%;accent-color:var(--primary)}.workspace-dashboard progress::-webkit-progress-bar{background:var(--bg);border-radius:99px}.workspace-dashboard progress::-webkit-progress-value{background:var(--progress-color,var(--primary));border-radius:99px}.workspace-dashboard progress::-moz-progress-bar{background:var(--progress-color,var(--primary));border-radius:99px}.dash-project-caption{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}.dash-project-caption time{font-size:11px!important}
.dash-finance-source{display:flex;gap:8px;padding:16px 24px 0}.dash-finance-source label{min-width:0;flex:1}.dash-finance-source select{width:100%;min-height:44px;border:1px solid var(--border);padding:9px 12px;background:var(--surface)}.dash-balance{margin:20px 24px;padding:20px;border-radius:14px;background:color-mix(in srgb,var(--primary) 7%,var(--surface));display:grid;gap:8px}.dash-balance>span{color:var(--muted);font-size:12px}.dash-balance strong{font-size:27px;line-height:1.5;overflow-wrap:anywhere}.dash-balance small{font-weight:400;color:var(--muted)}.dash-money-lines{padding:0 24px 24px;display:grid;gap:17px}.dash-money-lines>div>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin-bottom:6px}.dash-money-lines span{color:var(--muted)}.dash-money-lines b{font-weight:600}.dash-money-lines .green{--progress-color:#149782}.dash-money-lines .red{--progress-color:#d96c75}.dash-money-lines .amber{--progress-color:#cd983b}.dash-money-lines .violet{--progress-color:#8c77cd}
.dash-coverage{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:26px 24px}.dash-coverage>div{display:grid;gap:8px;text-align:center}.dash-coverage strong{font-size:25px;font-weight:600}.dash-coverage span{color:var(--muted);font-size:11px}.dash-sales-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px}.dash-sales-stages>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.dash-sales-stages span{font-size:12px;color:var(--muted)}.dash-sales-stages b{font-size:17px;font-weight:600}.dash-sales-stages progress{grid-column:1/-1;height:4px}.dash-personal-wrap{min-width:0}.dash-personal-wrap .personal-dashboard-v4{margin:0}.dash-personal-wrap .dash-task-v4{margin:0 24px;padding:18px 0;gap:12px}.dash-personal-wrap .dash-task-v4 strong{font-size:13px}.dash-personal-wrap .dash-task-v4 time{font-size:11px!important}.dash-activity-row{display:flex;align-items:center;gap:12px;margin:0 24px;padding:16px 0;border-bottom:1px solid var(--border)}.dash-activity-row:last-child{border:0}.dash-activity-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--bg);font-size:13px;color:var(--muted);flex:none}.dash-activity-row>div{display:grid;gap:3px;flex:1;min-width:0}.dash-activity-row strong{font-size:12px;font-weight:500}.dash-activity-row>div>span,.dash-activity-row time{font-size:11px!important;color:var(--muted)}
html[data-theme=dark] .workspace-dashboard{--dash-blue:#a4b4ff;--dash-teal:#72cbb8;--dash-amber:#ebba74;--dash-violet:#c5a2fa}html[data-theme=dark] .workspace-dashboard :is(.panel-head>a,.panel-head .dash-eyebrow,.dash-panel-foot a,.dash-task-tabs button.selected,.dash-agenda-item>time){color:#b6c3ff}html[data-theme=dark] .dash-priority-row.is-overdue time{color:#ebba74}
@media(min-width:1500px){.dash-layout{grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr)}}
@media(max-width:1100px){.dash-welcome{align-items:start;flex-direction:column}.dash-kpis{gap:12px}.dash-kpi{padding:18px}.dash-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:18px}.dash-priority-row{flex-wrap:wrap}.dash-priority-meta{width:100%;display:flex;justify-content:space-between;padding-inline-start:46px}.dash-coverage{grid-template-columns:repeat(2,1fr);row-gap:22px}}
@media(max-width:760px){.workspace-dashboard{gap:20px}.dash-layout{grid-template-columns:1fr;gap:20px}.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-welcome h2{font-size:23px}.dash-welcome-actions{width:100%}.dash-welcome-actions .btn{flex:1}.dash-kpi-head{font-size:12px}.dash-kpi-head i{width:30px;height:30px}.dash-kpi>strong{font-size:29px}.dash-kpi small{font-size:10px!important}.workspace-dashboard .panel-head{padding:20px}.dash-priority-list,.dash-project-list{padding-inline:20px}.dash-panel-foot{padding:16px 20px;flex-wrap:wrap}.dash-task-tabs{padding-inline:20px}.dash-coverage{grid-template-columns:repeat(4,1fr);padding:22px 16px;gap:8px}.dash-coverage span{font-size:10px}.dash-coverage strong{font-size:22px}.dash-activity-row{margin-inline:20px;flex-wrap:wrap}.dash-activity-row time{margin-inline-start:44px}.dash-sales-stages{gap:16px}.dash-project-title{align-items:start}.dash-project-title strong{line-height:1.9}}
/* Legacy fields had an 8px top margin, which offset captions toward the border. */
.ui-field> :is(input,textarea,select),.ui-secret-field .client-secret input{margin-top:0!important}
.dash-welcome h1{font-size:28px;line-height:1.6;margin:8px 0;font-weight:800}
@media(max-width:760px){.dash-welcome h1{font-size:23px}}
:root{--border:var(--line)}
dialog.modal{scrollbar-color:var(--line) transparent}
dialog.modal::-webkit-scrollbar{width:6px}dialog.modal::-webkit-scrollbar-track{background:transparent}dialog.modal::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.dash-kpis:empty{display:none}.dash-layout>.dash-project-overview{grid-column:auto}

/* 4.10 Task signals and client follow-up */
.task-followup-fields{margin:4px 0;border:1px solid var(--line);border-radius:16px;background:var(--bg);padding:20px;min-width:0}.task-followup-fields legend{padding:0 8px;font-size:14px;font-weight:600}.followup-switch{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px!important;cursor:pointer}.followup-switch>input{margin-top:3px!important}.followup-switch strong{display:block;font-size:13px;font-weight:500}.followup-switch small{display:block;color:var(--muted);font-size:11px!important;line-height:1.9;margin-top:4px}.followup-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.followup-escalation{margin-top:20px}.task-signals{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.task-signal{font-size:11px!important;line-height:1.7;padding:4px 9px;border-radius:7px;font-weight:500}.task-signal.urgent{background:#fff0ef;color:#ad3038;border:1px solid #f1cac9}.task-signal.waiting{background:#fff7e7;color:#875c13;border:1px solid #efdfb7}.task-signal.followup{background:var(--bg);color:var(--muted);border:1px solid var(--line)}.task-signal.followup.due{color:#ad3038}.kanban-task .task-signals{margin:12px 0}.team-task-board .task-row .task-signals{flex-basis:100%;order:4;padding-inline-start:36px}.team-task-board .task-followup-button{font-size:11px!important;padding:6px 10px;min-height:34px}.task-row[data-task-urgent="1"]{border-inline-start:3px solid #d55860;background:color-mix(in srgb,#d55860 3%,var(--surface))}.tasks-toolbar .segmented{flex-wrap:wrap}.tasks-toolbar .segmented button{white-space:nowrap}.dash-priority-meta .task-signals{justify-content:flex-end;max-width:220px}.dash-priority-meta .task-signal{font-size:10px!important}
html[data-theme=dark] .task-signal.urgent{background:#41252c;color:#ffc1c7;border-color:#67333f}html[data-theme=dark] .task-signal.waiting{background:#3c3220;color:#f2d39a;border-color:#615032}html[data-theme=dark] .task-signal.followup.due{color:#ffc1c7}
/* A two-position appearance switch: thumb follows the chosen mode. */
.appearance-switch{direction:ltr;position:relative;display:flex;align-items:center;justify-content:space-around;flex:none;width:78px;height:40px;border:1px solid var(--line);padding:3px;border-radius:99px;background:var(--bg);color:var(--muted);cursor:pointer;isolation:isolate;box-shadow:inset 0 1px 3px #13213b05}.appearance-switch svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;z-index:1;transition:color 220ms,transform 280ms}.appearance-thumb{position:absolute;left:4px;top:4px;width:30px;height:30px;border-radius:50%;background:var(--surface);box-shadow:0 2px 6px #13213b20;transition:transform 260ms cubic-bezier(.2,.8,.2,1),background 220ms}.appearance-switch[aria-checked=true] .appearance-thumb{transform:translateX(38px);background:#43527b}.appearance-switch[aria-checked=false] .appearance-sun{color:#b17b18}.appearance-switch[aria-checked=true] .appearance-moon{color:#e9eeff;transform:rotate(-12deg)}.appearance-switch:active .appearance-thumb{width:32px}.appearance-switch:hover{border-color:var(--primary)}
/* Select2 keeps actual native controls for POST, with local assets and RTL UI. */
.select2-container{font-family:var(--ui-font);font-size:13px;max-width:100%;min-width:0}.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple{border:1px solid var(--line);border-radius:12px;background:var(--surface);min-height:46px;height:auto;color:var(--text)}.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text);line-height:24px;padding:10px 14px;padding-inline-end:34px}.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%;left:10px!important;right:auto!important}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-top-color:var(--muted)}.ui-field.has-search-select>.select2 .select2-selection--single{min-height:64px}.ui-field.has-search-select>.select2 .select2-selection__rendered{padding:29px 14px 10px;padding-inline-end:34px}.ui-field.has-search-select .ui-field-label{z-index:1}.has-search-select>select.select2-hidden-accessible{min-height:1px!important;height:1px!important;padding:0!important;max-width:1px!important;margin:0!important}.select2-container--default.select2-container--focus .select2-selection,.select2-container--open .select2-selection{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.select2-dropdown{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px!important;overflow:hidden;box-shadow:0 16px 40px #10204020;z-index:10010}.select2-search--dropdown{padding:10px}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid var(--line);border-radius:8px;padding:10px 12px!important;background:var(--bg);color:var(--text);min-height:42px;outline-offset:0;font-family:var(--ui-font)}.select2-container--default .select2-results>.select2-results__options{max-height:240px;padding:5px}.select2-results__option{padding:10px 12px;border-radius:7px;min-height:40px;line-height:1.8}.select2-container--default .select2-results__option[aria-selected=true]{background:var(--bg);color:var(--text)}.select2-container--default .select2-results__option--highlighted[aria-selected]{background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--text)}.select2-container--default .select2-selection--multiple{padding:6px;min-height:48px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:5px 9px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:var(--muted);margin-inline-end:6px}.select2-container .select2-search--inline .select2-search__field{color:var(--text);font-family:var(--ui-font);min-height:28px;padding:0!important;margin:5px 0!important}.select2-container--disabled .select2-selection{opacity:.55}.select2-selection[aria-invalid=true]{border-color:#c43d48!important}.select2-results__message{color:var(--muted);text-align:center;padding:16px}
@media(max-width:600px){.followup-fields-grid{grid-template-columns:1fr}.task-followup-fields{padding:16px}.tasks-toolbar .segmented button{flex:1 0 30%;font-size:11px!important}.appearance-switch{width:68px;height:36px}.appearance-thumb{width:26px;height:26px}.appearance-switch[aria-checked=true] .appearance-thumb{transform:translateX(32px)}.appearance-switch svg{width:16px;height:16px}.select2-container--default .select2-results>.select2-results__options{max-height:200px}}
@media(prefers-reduced-motion:reduce){.appearance-thumb,.appearance-switch svg{transition:none!important}}
/* Keep follow-up controls and signals independent of legacy form/row rules. */
.form-grid>.task-followup-fields{grid-column:1/-1;width:100%;box-sizing:border-box}
.task-followup-fields [hidden]{display:none!important}
.route-tasks .team-task-board .task-row{flex-wrap:wrap}
.route-tasks .team-task-board .task-row>.task-signals{flex:1 0 100%;min-width:0;flex-direction:row;gap:6px;padding-inline-start:36px;box-sizing:border-box}
@media(max-width:760px){.tasks-v2>.personal-tasks-v2{order:1}.route-tasks .team-task-board{height:auto;overflow:visible;padding-inline-end:0;scrollbar-gutter:auto}}
