/* Общие рабочие экраны. Палитра и геометрия опираются на токены style.css. */
[hidden] { display: none !important; }
.eyebrow { display: block; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; font-weight: 750; color: var(--d2-soft); margin-bottom: var(--sp-2); }
.muted { color: var(--d2-soft); font-size: 12px; line-height: 1.65; }
.inline-error { color: #b53e32; font-size: 12px; }
.pill.confirm { background: var(--d2-ink); color: #fff; border-color: var(--d2-ink); }
.pill.danger { color: #b53e32; border: 1px solid #dcb7b2; background: transparent; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--d2-accent); outline-offset: 3px; }
select { width: 100%; padding: 12px; border: 1px solid var(--d2-line); border-radius: var(--r-control); background: #fff; color: var(--d2-ink); font: inherit; }
.task-spaces { display: flex; gap: var(--sp-2); margin-bottom: var(--sp-5); border-bottom: 1px solid var(--d2-line); }
.task-spaces a { padding: var(--sp-3) var(--sp-4); color: var(--d2-soft); text-decoration: none; border-bottom: 2px solid transparent; font-size: 14px; font-weight: 650; }
.task-spaces a span { font-size: 11px; margin-left: var(--sp-2); font-weight: 400; }
.task-spaces a.on { color: var(--d2-ink); border-bottom-color: var(--d2-accent); }
.tasks-page .task-toolbar { margin-bottom: var(--sp-4); }
.tasks-page .board { gap: var(--sp-4); height: clamp(420px, calc(100dvh - 280px), 900px); align-items: stretch; padding: 0 0 var(--sp-2); overflow-y: hidden; }
.tasks-page .kb-col { flex: 0 0 320px; max-width: none; width: 320px; height: 100%; min-height: 0; padding: 0; border: 1px solid var(--d2-line); border-radius: var(--r-card); background: #e9edf0; overflow: hidden; }
.tasks-page .kb-head { flex: none; padding: var(--sp-4); border-bottom: 1px solid rgba(23,25,26,.05); }
.tasks-page .kb-head b { text-transform: uppercase; letter-spacing: .07em; font-size: 11px; color: var(--d2-soft); }
.tasks-page .kb-head::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #a3aab0; }
.tasks-page .kb-col[data-status="doing"] .kb-head::before { background: #668bb1; }
.tasks-page .kb-col[data-status="done"] .kb-head::before { background: #599673; }
.tasks-page .kb-count { margin-left: auto; }
.tasks-page .kb-drop { min-height: 0; flex: 1; overflow-y: auto; overscroll-behavior-y: contain; padding: var(--sp-2); scrollbar-width: thin; scrollbar-color: #c0c6cb transparent; border-radius: 0; }
.tasks-page .kb-card { flex-shrink: 0; padding: var(--sp-4); border-radius: var(--r-card); box-shadow: 0 2px 4px rgba(23,25,26,.025); }
.tasks-page .kb-card:hover { border-color: #b6bec5; box-shadow: 0 4px 12px rgba(23,25,26,.055); }
.tasks-page .kb-card-title { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.tasks-page .kb-card-foot { margin-top: var(--sp-3); }
.kb-create { flex: none; padding: var(--sp-2); border-top: 1px solid rgba(23,25,26,.06); }
.kb-add { width: 100%; display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-3); border: none; border-radius: var(--r-control); color: var(--d2-soft); background: transparent; text-align: left; font: inherit; font-size: 13px; cursor: pointer; }
.kb-add:hover { background: rgba(255,255,255,.8); color: var(--d2-ink); }
.kb-add span { font-size: 20px; line-height: 1; }
.kb-create-form input { font-size: 13px; background: #fff; margin-bottom: var(--sp-2); }
.kb-create-form > div { display: flex; gap: var(--sp-2); }
.kb-empty { text-align: center; color: #8c969f; font-size: 13px; padding: var(--sp-6) var(--sp-3); border: 1px dashed #cbd2d8; border-radius: var(--r-card); }
.kb-empty span { display: block; margin-top: var(--sp-2); font-size: 11px; line-height: 1.5; }
.kb-drop:has(.kb-card) .kb-empty { display: none; }
.series-more { display: flex; justify-content: space-between; gap: 8px; color: var(--d2-soft); font-size: 10px; text-decoration: none; margin-top: var(--sp-3); padding-top: var(--sp-3); border-top: 1px solid var(--d2-line); }
.repeat-mark { color: #68809b; background: #eef2f7; }
.task-drawer { justify-content: flex-end; align-items: stretch; padding: 0; background: rgba(24,31,37,.18); backdrop-filter: blur(2px); }
.task-drawer .modal-card.wide { width: min(520px, 100%); max-width: 520px; max-height: 100dvh; height: 100dvh; border-radius: 0; display: flex; flex-direction: column; margin: 0; box-shadow: -12px 0 64px rgba(23,25,26,.12); animation: drawer-enter .22s ease-out; }
.task-drawer .modal-head { flex: none; padding: var(--sp-4) var(--sp-6); border-bottom: 1px solid var(--d2-line); }
.task-drawer .modal-head h2 { font-size: 13px; color: var(--d2-soft); font-weight: 500; }
.task-drawer .modal-body { flex: 1; min-height: 0; overflow-y: auto; padding: var(--sp-5) var(--sp-6); }
.task-drawer #task-title { font-size: 21px; font-weight: 650; letter-spacing: -.025em; padding: var(--sp-2) 0; border: 0; border-radius: 0; box-shadow: none; }
.drawer-context { font-size: 11px; color: var(--d2-soft); padding-bottom: var(--sp-4); }
.drawer-footer { padding: var(--sp-4) var(--sp-6); border-top: 1px solid var(--d2-line); background: #fff; flex: none; }
.drawer-buttons { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
.task-properties { margin-top: var(--sp-5); }
.task-property { display: grid; grid-template-columns: 108px minmax(0, 1fr); align-items: start; min-height: 36px; position: relative; }
.task-property-label { padding: 8px var(--sp-2); color: var(--d2-soft); font-size: 13px; line-height: 20px; }
.task-property-value { display: flex; align-items: center; gap: var(--sp-2); min-width: 0; min-height: 36px; padding: 6px var(--sp-2); border: 0; border-radius: var(--r-control); background: transparent; color: var(--d2-ink); font: inherit; font-size: 14px; line-height: 20px; text-align: left; cursor: pointer; }
.task-property-value > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.task-property-value:hover, .task-property-value[aria-expanded="true"] { background: var(--d2-fill); }
.property-chevron { flex: none; margin-left: auto; color: var(--d2-soft); font-size: 15px; line-height: 1; transition: transform .16s var(--d2-out); }
.task-property-value[aria-expanded="true"] .property-chevron { transform: rotate(180deg); }
.task-property-panel { grid-column: 2; min-width: 0; margin: var(--sp-1) 0 var(--sp-3); padding: var(--sp-2); border: 1px solid var(--d2-line); border-radius: var(--r-card); background: #fff; box-shadow: var(--d2-shadow); }
.task-property-panel .who-pick { display: grid; gap: var(--sp-1); margin: 0; max-height: 260px; overflow-y: auto; }
.task-property-panel .who-pick-item, .who-pick-clear { width: 100%; height: 36px; justify-content: flex-start; padding: 0 var(--sp-2); border: 0; border-radius: var(--r-control); background: transparent; font: inherit; font-size: 13px; font-weight: 500; text-align: left; color: var(--d2-ink); cursor: pointer; }
.task-property-panel .who-pick-item:hover, .who-pick-clear:hover { background: var(--d2-fill); }
.task-property-panel .who-pick-item.on { background: #fff7f3; color: var(--d2-ink); }
.task-property-panel .who-pick-item.on::after { content: "✓"; margin-left: auto; color: var(--d2-accent); font-weight: 750; }
.who-pick-clear { display: flex; align-items: center; margin-bottom: var(--sp-1); color: var(--d2-soft); }
.who-pick-clear.on { background: var(--d2-fill); color: var(--d2-ink); }
.who-pick-clear.on::after { content: "✓"; margin-left: auto; color: var(--d2-accent); font-weight: 750; }
.deadline-panel { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: var(--sp-2); }
.deadline-panel label { margin: 0; color: var(--d2-soft); font-size: 11px; }
.deadline-panel input { margin-top: var(--sp-1); height: 38px; padding: 0 var(--sp-2); font-size: 13px; }
.repeat-choice-list { display: grid; gap: var(--sp-1); }
.repeat-choice-list button { width: 100%; min-height: 36px; padding: var(--sp-2); border: 0; border-radius: var(--r-control); background: transparent; color: var(--d2-ink); font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.repeat-choice-list button:hover { background: var(--d2-fill); }
.repeat-choice-list button.on { background: #fff7f3; }
.repeat-choice-list button.on::after { content: "✓"; float: right; color: var(--d2-accent); font-weight: 750; }
#task-repeat-existing { color: var(--d2-ink); font-size: 13px; }
.weekday-pick { display: flex; gap: var(--sp-1); margin: var(--sp-3) 0; }
.weekday-pick label { margin: 0; position: relative; flex: 1; cursor: pointer; }
.weekday-pick input { position: absolute; opacity: 0; width: 1px; }
.weekday-pick span { display: block; text-align: center; padding: var(--sp-2) var(--sp-1); border: 1px solid var(--d2-line); border-radius: var(--r-control); font-size: 12px; }
.weekday-pick input:checked + span { background: var(--d2-ink); color: white; border-color: var(--d2-ink); }
.weekday-pick input:focus-visible + span { outline: 2px solid var(--d2-accent); outline-offset: 2px; }
.repeat-intro { display: flex; justify-content: space-between; align-items: center; padding: var(--sp-5) 0 var(--sp-6); }
.repeat-intro h2 { font-size: 20px; font-weight: 600; margin: 0 0 var(--sp-2); }
.repeat-intro p { font-size: 13px; color: var(--d2-soft); max-width: 500px; line-height: 1.65; margin: 0; }
.repeat-symbol { font-size: 60px; color: #bcc5cd; line-height: 1; }
.repeat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(275px, 1fr)); gap: var(--sp-4); }
.repeat-card { padding: var(--sp-5); }
.repeat-card h2 { font-size: 17px; margin: var(--sp-3) 0; overflow-wrap: anywhere; }
.repeat-schedule { color: #617c97; font-size: 13px; }
.repeat-actions { display: flex; gap: var(--sp-2); margin-top: var(--sp-5); }
.empty-workspace { grid-column: 1/-1; text-align: center; padding: var(--sp-8); }
.empty-workspace > span { font-size: 48px; color: #99a9b8; }
.empty-workspace h2 { font-size: 19px; }
.empty-workspace p { font-size: 13px; max-width: 420px; margin: var(--sp-3) auto var(--sp-5); color: var(--d2-soft); line-height: 1.7; }
.rule-editor { border: 1px solid var(--d2-line); border-radius: var(--r-hero); padding: 0; width: min(480px, calc(100vw - 32px)); max-height: 90dvh; color: var(--d2-ink); }
.rule-editor::backdrop { background: rgba(23,25,26,.25); backdrop-filter: blur(3px); }
@keyframes drawer-enter { from { transform: translateX(30px); opacity: .4; } to { transform: translateX(0); opacity: 1; } }
/* Главная: данные, действия и результаты. */
.dashboard-metrics { display: grid; grid-template-columns: 1fr 1.3fr .85fr; gap: var(--sp-4); margin-bottom: var(--sp-5); }
.dashboard-metrics > .card { padding: var(--sp-5); margin: 0; min-width: 0; }
.activity-card { text-decoration: none; color: var(--d2-ink); position: relative; overflow: hidden; }
.metric-heading { display: flex; gap: var(--sp-3); align-items: center; }
.metric-heading b { display: block; font-size: 13px; font-weight: 650; }
.metric-heading small { display: block; font-size: 10px; color: var(--d2-soft); margin-top: var(--sp-1); }
.metric-heading > strong { margin-left: auto; font-size: 24px; font-weight: 550; }
.metric-icon { border-radius: var(--r-control); width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--d2-line); background: #f6f7f9; font-size: 20px; }
.metric-arrow { margin-left: auto; color: var(--d2-soft); }
.metric-number { font-size: 48px; line-height: 1.2; font-weight: 550; letter-spacing: -.06em; margin-top: var(--sp-4); }
.metric-number small { font-size: 13px; letter-spacing: 0; color: var(--d2-soft); font-weight: 400; }
.metric-trend { font-size: 11px; color: var(--d2-soft); position: relative; z-index: 1; }
.metric-trend.up { color: #40805f; }
.metric-trend.down { color: #9a735d; }
.activity-spark { display: block; width: 100%; height: 42px; margin-top: var(--sp-3); }
.week-chart { display: flex; gap: var(--sp-3); height: 142px; padding-top: var(--sp-3); }
.week-day { display: flex; flex: 1; flex-direction: column; align-items: center; gap: var(--sp-2); min-width: 0; }
.week-day b { font-size: 11px; font-weight: 500; color: var(--d2-soft); }
.week-day small { font-size: 10px; color: var(--d2-soft); }
.week-track { width: min(100%, 28px); flex: 1; background: #f1f3f5; border-radius: var(--r-control); display: flex; align-items: flex-end; overflow: hidden; }
.week-track span { width: 100%; background: #a8b7c5; border-radius: var(--r-control); }
.week-day.today .week-track span { background: #56866e; }
.week-day.today small { font-weight: 750; color: var(--d2-ink); }
.workload-number { font-size: 42px; font-weight: 550; letter-spacing: -.05em; margin-top: var(--sp-3); }
.workload-number small { display: block; font-size: 11px; color: var(--d2-soft); letter-spacing: 0; font-weight: 400; }
.workload-foot { display: flex; gap: var(--sp-2); align-items: center; font-size: 12px; color: var(--d2-ink); padding-top: var(--sp-5); text-decoration: none; }
.workload-foot > span:last-child { margin-left: auto; }
.late-dot { width: 6px; height: 6px; border-radius: 50%; background: #b85b44; }
.my-work { display: block; font-size: 10px; color: var(--d2-soft); text-decoration: none; margin-top: var(--sp-3); }
.dashboard-page .home-dash { display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--sp-5); }
.dashboard-page .home-grid { grid-column: 1/-1; grid-row: auto; display: grid; grid-template-columns: repeat(3,1fr); gap: var(--sp-4); margin: 0; }
.dashboard-page .home-tile { min-height: 150px; padding: var(--sp-5); }
@media (min-width: 900px) {
  /* На десктопе плитка сканирования скрыта: две оставшиеся занимают обе колонки. */
  .dashboard-page .home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.dashboard-page .scan-feed { grid-column: 1; grid-row: auto; margin: 0; align-self: start; }
.links-feed { padding: var(--sp-5); min-width: 0; margin: 0; }
.links-feed h2, .rights-history-panel h2 { font-size: 16px; }
.links-feed .scan-feed-head { align-items: start; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.links-feed .scan-feed-head p { margin: var(--sp-1) 0 0; font-size: 11px; }
.link-feed-row { display: flex; gap: var(--sp-3); align-items: center; padding: var(--sp-4) 0; border-bottom: 1px solid var(--d2-line); }
.link-feed-row:last-child { border: 0; padding-bottom: 0; }
.link-icon { flex: none; width: 32px; height: 32px; border-radius: var(--r-control); display: grid; place-items: center; background: #edf3f0; color: #567e69; }
.link-feed-main { min-width: 0; flex: 1; }
.link-feed-main > a:first-child { font-size: 12px; color: var(--d2-ink); text-decoration: none; }
.link-feed-main small { display: block; font-size: 10px; color: var(--d2-soft); margin: var(--sp-1) 0; }
.link-url { display: block; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: #687f97; }
.empty-links { padding: var(--sp-6) var(--sp-4); text-align: center; }
.empty-links > span { font-size: 38px; color: #adbcc8; }
.empty-links h3 { font-size: 15px; font-weight: 550; }
.empty-links p { font-size: 12px; line-height: 1.6; color: var(--d2-soft); }
/* Права: полноценная рабочая страница. */
.rights-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: var(--sp-5); align-items: start; }
.rights-composer, .rights-guide, .rights-history-panel { padding: var(--sp-6); margin: 0; min-width: 0; }
.section-heading { display: flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-5); }
.section-heading h2 { font-size: 17px; margin: 0 0 var(--sp-1); }
.section-heading p { margin: 0; font-size: 12px; color: var(--d2-soft); }
.step-number { border-radius: var(--r-control); background: #edf0f3; color: #6d7e8c; padding: var(--sp-3); font-size: 12px; }
.rights-page .rm-drop { margin: 0 0 var(--sp-5); padding: var(--sp-5); display: flex; flex-direction: column; align-items: center; gap: var(--sp-2); border: 1px dashed #c3cbd3; border-radius: var(--r-card); background: #f8fafb; }
.rights-page .rm-drop.dragover { border-color: var(--d2-accent); background: #fff7f2; }
.upload-icon { font-size: 28px; color: #8b9ba9; }
.rights-page .rm-drop > span { font-size: 11px; color: var(--d2-soft); }
.rights-page .rm-drop > .upload-icon { font-size: 28px; }
.rights-page .rm-drop strong { font-size: 13px; }
.serial-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--sp-2); }
.serial-label label { margin: 0; }
.rights-page #rm-input { resize: vertical; min-height: 180px; font-family: ui-monospace, monospace; font-size: 13px; line-height: 1.7; }
.rights-submit-row { display: flex; gap: var(--sp-4); align-items: center; padding-top: var(--sp-3); }
.rights-submit-row .pill { padding-left: var(--sp-5); padding-right: var(--sp-5); }
.rights-page #rm-result:not(:empty) { padding-top: var(--sp-5); margin-top: var(--sp-4); border-top: 1px solid var(--d2-line); }
.rights-guide { background: #e7ecf0; border-color: #dce3e9; }
.rights-guide h2 { font-size: 21px; font-weight: 600; letter-spacing: -.03em; }
.rights-guide ol { list-style: none; counter-reset: steps; padding: 0; margin: var(--sp-6) 0; }
.rights-guide li { counter-increment: steps; position: relative; padding: 0 0 var(--sp-5) 38px; }
.rights-guide li::before { content: counter(steps); position: absolute; left: 0; top: 0; border-radius: 50%; width: 24px; height: 24px; display: grid; place-items: center; background: #f5f7f9; color: #6c7d8b; font-size: 10px; }
.rights-guide li b { display: block; font-size: 13px; margin-bottom: var(--sp-2); }
.rights-guide li span { display: block; font-size: 12px; color: #6a7a89; line-height: 1.7; }
.rights-support { font-size: 11px; color: #6a7a89; border-top: 1px solid #d2dce4; padding-top: var(--sp-4); }
.rights-support a { display: block; margin-top: var(--sp-2); color: var(--d2-ink); font-size: 12px; text-decoration: none; }
.rights-history-panel { grid-column: 1/-1; }
.rights-history-panel .rm-history-list { margin: 0; }
.rights-history-panel .request-history-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; column-gap: var(--sp-4); padding: var(--sp-4) 0; border-bottom: 1px solid var(--d2-line); }
.request-actions { grid-column: 3; grid-row: 1/3; display: flex; gap: var(--sp-2); }
.request-history-row .rm-history-date { grid-column: 1; grid-row: 1; }
.request-history-row .rm-history-link { grid-column: 2; grid-row: 1/3; }
.request-history-row .rm-history-meta { grid-column: 1; grid-row: 2; }
.history-empty-state { padding: var(--sp-5) 0; color: var(--d2-soft); font-size: 13px; }
/* История: светлая таблица, крупные результаты и понятные фильтры. */
.history-page .page-head { margin-bottom: var(--sp-5); }
.history-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); margin-bottom: var(--sp-5); }
.history-summary .card { margin: 0; padding: var(--sp-4) var(--sp-5); display: flex; align-items: center; justify-content: space-between; }
.history-summary b { font-size: 30px; font-weight: 550; letter-spacing: -.04em; }
.history-summary span { color: var(--d2-soft); font-size: 12px; }
.history-page .history-filters { display: grid; grid-template-columns: minmax(200px,1fr) 180px auto auto; align-items: end; gap: var(--sp-3); padding: var(--sp-5); margin-bottom: var(--sp-5); }
.history-page .history-filters input { background: #f8fafb; }
.history-page .history-filters label { margin-top: 0; font-size: 11px; }
.history-page .history-filters .btn { margin: 0; width: auto; }
.history-page .history-head { padding-top: var(--sp-3); padding-bottom: var(--sp-3); border-bottom: 1px solid var(--d2-line); }
.history-page #history-list { background: #fff; border-radius: var(--r-card); border: 1px solid var(--d2-line); overflow: hidden; }
.history-page .history-row { border-bottom: 1px solid var(--d2-line); margin: 0; }
.history-page .history-row:last-child { border-bottom: 0; }
.history-page .history-card { margin: 0; border: 0; border-radius: 0; box-shadow: none; padding-top: var(--sp-5); padding-bottom: var(--sp-5); }
.history-page .history-card:hover { background: #f8fafb; transform: none; }
.history-page .history-card-title { font-size: 14px; letter-spacing: -.01em; }
.history-page .history-col-date { font-size: 11px; color: var(--d2-soft); font-variant-numeric: tabular-nums; }
.history-page .history-col-creator { display: flex; align-items: center; gap: var(--sp-2); font-size: 12px; }
.history-page .history-card-count { font-size: 20px; font-weight: 550; color: var(--d2-ink); }
.history-page .type-badge { font-size: 10px; border-radius: var(--r-full); padding: 4px 8px; background: #edf2f6; color: #6c8092; border: 0; }
.history-status { display: block; margin-top: var(--sp-1); font-size: 10px; color: #8b949c; }
.history-status.rights_ready { color: #4e896b; }
.history-status.rights_failed { color: #b56a5e; }
.history-page .history-delete { color: #b1b7bc; }
.history-page .history-delete:hover { color: #b53e32; background: #fbefed; }
.copy-toast { position: fixed; bottom: 90px; left: 50%; transform: translateX(-50%); background: var(--d2-ink); color: white; border-radius: var(--r-full); padding: var(--sp-3) var(--sp-5); z-index: 100; font-size: 12px; box-shadow: var(--d2-shadow); }
@media (min-width: 1500px) { .tasks-page .kb-col { width: 360px; flex-basis: 360px; } }
@media (max-width: 1000px) {
  .dashboard-metrics { grid-template-columns: 1fr 1fr; }
  .workload-card { grid-column: 1/-1; display: flex; align-items: center; gap: var(--sp-5); }
  .workload-card .eyebrow { margin: 0; }
  .workload-number { margin: 0; font-size: 28px; }
  .workload-foot { padding: 0; }
  .my-work { margin: 0 0 0 auto; }
  .dashboard-page .home-dash { grid-template-columns: 1fr; }
  .dashboard-page .scan-feed { grid-column: 1; }
  .rights-layout { grid-template-columns: minmax(0, 1fr) 260px; }
  .rights-composer, .rights-guide { padding: var(--sp-4); }
}
@media (max-width: 767px) {
  .task-spaces a { padding: var(--sp-3); }
  .task-spaces a span { display: none; }
  .tasks-page .board { height: clamp(360px, calc(100dvh - 310px), 650px); gap: var(--sp-3); }
  .tasks-page .kb-col { flex-basis: 78vw; width: 78vw; max-width: 320px; }
  .tasks-page .task-toolbar { gap: var(--sp-2); }
  .tasks-page .seg { max-width: 100%; }
  .tasks-page .seg-item { font-size: 11px; padding-left: var(--sp-3); padding-right: var(--sp-3); }
  .task-drawer { align-items: flex-end; }
  .task-drawer .modal-card.wide { height: 94dvh; max-height: 94dvh; border-radius: var(--r-hero) var(--r-hero) 0 0; max-width: 100%; }
  .task-drawer .modal-body, .task-drawer .modal-head, .drawer-footer { padding-left: var(--sp-4); padding-right: var(--sp-4); }
  .task-property { grid-template-columns: 96px minmax(0, 1fr); }
  .task-property-panel { grid-column: 1 / -1; }
  .deadline-panel { grid-template-columns: minmax(0, 1fr) 112px; }
  .drawer-footer { padding-bottom: max(var(--sp-4), env(safe-area-inset-bottom)); }
  .dashboard-metrics { gap: var(--sp-3); }
  .dashboard-metrics > .card { padding: var(--sp-4); }
  .metric-heading { gap: var(--sp-2); }
  .metric-icon { display: none; }
  .metric-heading b { font-size: 12px; }
  .metric-heading small { font-size: 9px; }
  .metric-heading > strong { font-size: 20px; }
  .metric-number { font-size: 38px; }
  .metric-number small { font-size: 10px; }
  .metric-trend { font-size: 10px; min-height: 28px; }
  .week-chart { gap: var(--sp-1); }
  .workload-card { flex-wrap: wrap; gap: var(--sp-3); }
  .workload-card .eyebrow { display: none; }
  .workload-number small { font-size: 10px; }
  .my-work { width: 100%; }
  .dashboard-page .home-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
  .dashboard-page .home-grid .accent { grid-column: 1/-1; min-height: 125px; }
  .dashboard-page .home-tile { padding: var(--sp-4); min-height: 140px; }
  .links-feed { padding: var(--sp-4); }
  .link-feed-row { gap: var(--sp-2); flex-wrap: wrap; }
  .link-feed-main { min-width: 160px; }
  .link-icon { display: none; }
  .link-feed-row > button { font-size: 10px; }
  .rights-layout { grid-template-columns: 1fr; }
  .rights-aside { order: 3; }
  .rights-history-panel { padding: var(--sp-4); }
  .rights-guide ol { margin-bottom: 0; }
  .rights-history-panel .request-history-row { grid-template-columns: 1fr auto; gap: var(--sp-2); }
  .request-actions { grid-column: 1/-1; grid-row: 3; }
  .request-history-row .rm-history-date { grid-column: 1; grid-row: 1; }
  .request-history-row .rm-history-link { grid-column: 1/-1; grid-row: 2; }
  .request-history-row .rm-history-meta { grid-column: 2; grid-row: 1; }
  .rights-submit-row { flex-wrap: wrap; gap: var(--sp-2); }
  .history-summary { gap: var(--sp-2); }
  .history-summary .card { padding: var(--sp-3); align-items: start; flex-direction: column; }
  .history-summary span { font-size: 10px; }
  .history-summary b { font-size: 25px; }
  .history-page .history-filters { grid-template-columns: 1fr 1fr; padding: var(--sp-4); }
  .history-page .history-filters > div:first-child { grid-column: 1/-1; }
  .history-page .history-filters .pill { width: 100%; }
  .history-page .history-col-creator { display: none; }
  .history-page .history-card { padding: var(--sp-4); }
  .history-page .history-date-group { padding: var(--sp-3) var(--sp-4); background: #f4f6f8; font-size: 10px; margin: 0; }
}
@media (prefers-reduced-motion: reduce) { .task-drawer .modal-card.wide { animation: none; } }
.dashboard-page .home-dash > *, .dashboard-page .home-grid > * { min-width: 0; }
@media (max-width: 1000px) { .dashboard-page .home-dash { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .dashboard-page .home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-page .scan-row-type { display: none; }
}
button.series-more { width: 100%; border: 0; border-top: 1px solid var(--d2-line); background: transparent; text-align: left; padding-left: 0; padding-right: 0; cursor: pointer; }
button.series-more:hover { color: var(--d2-ink); }
.task-drawer .modal-card.wide { background: #fff; }
