/* «Маршрут»: самостоятельный каркас и компоненты. Цвета — только tokens.css. */
:root {--radius-control:10px;--radius-panel:18px;--space:24px;--motion-fast:140ms;--motion-panel:280ms;--ease-out:cubic-bezier(.22,1,.36,1)}
* {box-sizing:border-box}body {margin:0;background:var(--bg);color:var(--text);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,select,input,textarea {font:inherit}button,a,summary {touch-action:manipulation;-webkit-tap-highlight-color:transparent}button {cursor:pointer}button:disabled {cursor:not-allowed;opacity:.5}a {color:var(--accent)}svg {flex-shrink:0}h1,h2,h3,p {margin:0}h2 {font-size:18px;line-height:1.25;font-weight:600;letter-spacing:-.025em}h3 {font-size:15px;font-weight:600}:focus-visible {outline:2px solid var(--accent);outline-offset:3px}.mono {font-family:'IBM Plex Mono',monospace;font-variant-numeric:tabular-nums}.lbl {font-size:12px;color:var(--muted);font-weight:500}.muted,.norm {color:var(--muted)}.ok,.free {color:var(--ok)}.bad,.late {color:var(--bad)}.today {color:var(--accent)}.n {color:var(--text2)}.late,.today {font-weight:600}
.app {display:flex;height:100dvh;overflow:hidden;min-height:0}.main {flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.mark {display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:var(--brand);color:var(--brand-ink);flex-shrink:0}.ava {display:grid;place-items:center;width:34px;height:34px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-weight:600;flex-shrink:0}
/* Navigation is an application surface, not a second toolbar. */
.route-sidebar {width:216px;flex:0 0 216px;padding:26px 14px 16px;display:flex;flex-direction:column;background:var(--rail);border-right:1px solid var(--line);min-height:0;z-index:20}.route-brand {display:flex;align-items:center;gap:12px;border:0;padding:0 10px 26px;background:none;color:var(--text);text-align:left}.brand-name {display:flex;flex-direction:column;line-height:1.2}.brand-name small {font-size:11px;color:var(--muted)}.brand-name strong {font-size:19px;letter-spacing:-.04em;font-weight:600}.route-wordmark {font-weight:400;letter-spacing:-.03em}.route-wordmark strong {font-weight:600}.route-nav {display:flex;flex-direction:column;gap:4px;overflow:auto;scrollbar-width:thin;min-height:0}.nav-caption {font-size:11px;color:var(--muted);padding:14px 12px 8px;line-height:1.5}.navi {display:flex;align-items:center;gap:12px;min-height:44px;border:0;border-radius:12px;padding:10px 12px;background:none;color:var(--muted);text-align:left;position:relative;white-space:nowrap}.navi:hover {background:var(--soft);color:var(--text)}.navi.on {color:var(--accent);background:var(--accent-soft);font-weight:600}.navi.on:before {content:'';position:absolute;left:-14px;top:12px;bottom:12px;width:3px;background:var(--accent);border-radius:0 3px 3px 0}.nav-count {margin-left:auto;min-width:22px;font-size:11px;border-radius:7px;text-align:center;padding:2px 5px;background:var(--panel);color:var(--accent)}.route-sidebar-footer {margin-top:auto;padding:16px 8px 12px;display:flex;gap:8px;align-items:center}.route-sidebar-footer .nav-caption {padding:0;font-size:10px}.route-account {display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:16px 6px 0;min-height:60px}.route-account-name {font-size:12px;min-width:0;flex:1;display:flex;flex-direction:column;overflow-wrap:anywhere}.route-account-name small {font-size:11px;color:var(--muted)}.route-account .iconbtn {border:0;width:28px;min-width:28px}.nav-scrim,.mobile-nav-toggle,.mobile-nav-close {display:none}
.app[data-nav-compact=true] .route-sidebar {width:76px;flex-basis:76px;padding-left:10px;padding-right:10px}.app[data-nav-compact=true] .brand-name,.app[data-nav-compact=true] .nav-label,.app[data-nav-compact=true] .nav-count,.app[data-nav-compact=true] .nav-caption,.app[data-nav-compact=true] .route-account-name,.app[data-nav-compact=true] .route-account .ava {display:none}.app[data-nav-compact=true] .route-brand {padding-left:9px}.app[data-nav-compact=true] .navi {justify-content:center}.app[data-nav-compact=true] .route-account {justify-content:center}.app[data-nav-compact=true] .route-nav {overflow:visible}.app[data-nav-compact=true] .navi.on:before {left:-10px}
.top {display:flex;align-items:center;gap:24px;height:76px;flex-shrink:0;padding:0 32px;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:12}.workspace-name {display:flex;gap:10px;align-items:center;font-size:13px;color:var(--text2);white-space:nowrap}.workspace-name svg {color:var(--muted)}.search {margin-left:auto;display:flex;align-items:center;gap:10px;width:min(340px,30vw);border:1px solid transparent;border-radius:10px;padding:9px 12px;background:var(--panel);color:var(--muted)}.search:focus-within {border-color:var(--accent)}.search input {width:100%;min-width:0;border:0;outline:0;background:none;color:var(--text);font-size:13px}.search kbd {white-space:nowrap;font-size:10px;color:var(--muted);font-family:inherit;padding:1px 4px;border:1px solid var(--line);border-radius:4px}.top-tools {display:flex;align-items:center;gap:10px}.segs {display:flex;gap:2px;background:var(--soft);padding:3px;border-radius:11px}.seg {border:0;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:8px;padding:7px;color:var(--muted);background:none;min-width:30px}.seg.on {background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
/* Shared interactive primitives. */
.btn {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:600;padding:9px 15px;text-decoration:none;line-height:1.3;transition:background var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}.btn:hover {box-shadow:var(--shadow);background:var(--brand);color:var(--brand-ink)}.btn:active {opacity:.8}.btn.ghost {border-color:var(--line);background:var(--panel);color:var(--text2);font-weight:500}.btn.ghost:hover {border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.btn.sm {min-height:32px;padding:5px 10px;font-size:12px;border-radius:8px}.btn.ghost.danger {color:var(--bad);border-color:var(--line)}.btn.ghost.danger:hover {background:var(--bad-soft);border-color:var(--bad)}.iconbtn {display:inline-flex;align-items:center;justify-content:center;min-width:36px;width:36px;min-height:36px;height:36px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text2);text-decoration:none;transition:background var(--motion-fast),border-color var(--motion-fast)}.iconbtn:hover {background:var(--soft);border-color:var(--muted)}.iconbtn.solid {background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.link {border:0;padding:0;background:none;display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:12px;text-decoration:none}.link:hover {text-decoration:underline}.link.muted {color:var(--muted)}.link.bad {color:var(--bad)}.fld,.sel-input {width:100%;min-width:0;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--field);padding:10px 12px;color:var(--text);font-size:13px;outline:none;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.fld:focus,.sel-input:focus,.mfld:focus {border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sel-input {min-height:34px;width:auto;max-width:210px;padding:6px 10px;font-size:12px}.fld::placeholder,.mfld::placeholder {color:var(--muted);opacity:.75}.fld[type=date],.fld[type=datetime-local] {font-variant-numeric:tabular-nums}textarea.fld {resize:vertical;min-height:100px;line-height:1.6}.form2 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.route-field {display:flex;flex-direction:column;gap:7px;min-width:0}.cb {width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.chip {display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text2);font-size:12px;transition:background var(--motion-fast),border-color var(--motion-fast)}.chip.on {background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}.chip:hover {border-color:var(--accent)}.p {display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:7px;font-size:11px;font-weight:600}.p.a {color:var(--accent);background:var(--accent-soft)}.p.b {color:var(--blue);background:var(--blue-soft)}.p.c {color:var(--muted);background:var(--soft)}.pill,.status-badge {display:inline-flex;gap:6px;padding:4px 9px;border-radius:7px;background:var(--soft);font-size:11px;font-weight:500;white-space:nowrap}.status-badge:before {content:'';width:5px;height:5px;border-radius:50%;background:currentColor;align-self:center}.toast,.err {padding:12px 14px;border-radius:10px;font-size:13px}.toast {background:var(--ok-soft);color:var(--ok)}.err {background:var(--bad-soft);color:var(--bad)}.route-help {font-size:12px;color:var(--muted);line-height:1.6}
/* Companies: directory, usable filters and full selection preview. */
.work {display:flex;flex:1;min-height:0;padding:0 32px 24px;gap:20px}.list {display:flex;flex:1;flex-direction:column;min-width:0;position:relative}.directory-heading {display:flex;justify-content:space-between;align-items:center;padding:24px 0 18px;gap:16px}.directory-heading h1 {font-size:30px;font-weight:600;letter-spacing:-.04em}.directory-heading p {font-size:13px;color:var(--muted);margin-top:4px}.directory-actions {display:flex;gap:10px;align-items:center}.bar {display:flex;flex-wrap:wrap;gap:16px;padding:18px 0;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.grp {display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-drawer {padding:0}.filter-drawer>summary {list-style:none;cursor:pointer}.filter-drawer>summary::-webkit-details-marker {display:none}.filter-drawer .bar {border:0;background:var(--panel);border-radius:14px;padding:20px;margin:0 0 14px}.list-controls {display:flex;align-items:center;gap:10px;padding:0 0 16px}.list-controls .filter-count {margin-left:4px;border-radius:5px;background:var(--accent-soft);color:var(--accent);padding:1px 5px}.scroll {flex:1;overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel);min-height:0}.grid {display:grid;grid-template-columns:24px minmax(210px,2fr) minmax(120px,1fr) minmax(90px,.8fr) minmax(115px,1fr) 36px minmax(110px,1fr) minmax(105px,1fr) minmax(145px,1.3fr);gap:12px;align-items:center;padding:0 20px;min-width:1100px}.grid.head {min-height:46px;background:var(--rail);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1;font-size:11px;color:var(--muted)}.grid.row {min-height:66px;border-bottom:1px solid var(--soft);border-left:3px solid transparent;cursor:pointer}.row:hover {background:var(--hover)}.row.sel {border-left-color:var(--accent);background:var(--sel)}.row.picked {background:var(--accent-soft)}.row.taken {opacity:.65}.cell {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.company-cell {display:flex;gap:10px;align-items:center}.company-cell .company-initial {display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--soft);color:var(--accent);font-weight:600;flex-shrink:0}.cell small {display:block;font-size:10px;color:var(--muted);margin-top:3px}.linkname {display:block;min-width:0;font:inherit;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);text-decoration:none;border:0;background:none;text-align:left;padding:0}.linkname:hover {color:var(--accent)}.sorth {display:inline-flex;gap:4px;align-items:center;padding:0;background:none;color:inherit;border:0;font:inherit}.sorth.on {color:var(--accent)}.sorth.on:after {content:'↓'}.bulk {position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;display:flex;gap:12px;align-items:center;padding:12px 16px;max-width:calc(100% - 24px);overflow:auto;white-space:nowrap;background:var(--panel);box-shadow:var(--lift);border:1px solid var(--accent);border-radius:14px}.rail {width:272px;flex:0 0 272px;margin-top:24px;background:var(--rail);border:1px solid var(--line);border-radius:16px;overflow:auto;min-height:0}.rail>div {padding:22px}.card {display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
/* Company dossier + continuous activity line + independent composer. */
.daymain,.page {flex:1;min-height:0;overflow:auto}.page {padding:28px 32px 40px}.sheet {display:flex;flex-direction:column;gap:24px;width:100%;max-width:1680px;margin:0 auto;padding:24px 32px 40px}.chead {display:flex;flex-direction:column;gap:24px;padding:0;border-bottom:0}.card-backline {display:flex;align-items:center;gap:16px}.back {display:inline-flex;gap:6px;align-items:center;background:none;border:0;padding:0;color:var(--muted);font-size:12px}.back:hover {color:var(--accent)}.company-heading {display:flex;align-items:center;gap:16px;min-width:0}.company-monogram {display:grid;place-items:center;flex-shrink:0;width:64px;height:64px;border-radius:21px;background:var(--accent-soft);color:var(--accent);font-size:32px;font-weight:500}.company-identity {min-width:0;flex:1}.company-title-line {display:flex;align-items:center;gap:10px;flex-wrap:wrap}.route-company-title {font-size:34px;letter-spacing:-.045em;font-weight:600;line-height:1.15;overflow-wrap:anywhere}.company-legal,.company-location {color:var(--muted);font-size:12px;line-height:1.55;margin-top:4px}.company-location {font-size:13px}.route-company-actions {display:flex;align-items:center;gap:8px;flex-shrink:0}.route-company-menu {position:relative}.route-company-menu>summary {display:flex;align-items:center;justify-content:center;gap:7px;list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:9px 12px;min-height:40px;color:var(--text2);font-size:12px;background:var(--panel)}.route-company-menu>summary::-webkit-details-marker {display:none}.route-company-menu[open]>summary {background:var(--soft)}.route-company-tools {display:flex;flex-direction:column;gap:8px;position:absolute;top:calc(100% + 8px);right:0;min-width:240px;border:1px solid var(--line);border-radius:15px;padding:12px;background:var(--panel);box-shadow:var(--lift);z-index:13}.route-company-tools .btn {justify-content:flex-start}.company-maps {display:flex;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--line)}.srv {display:inline-flex;gap:6px;align-items:center;min-height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--accent);padding:6px 11px;font-size:12px;text-decoration:none}.srv.off {border-style:dashed;color:var(--muted)}
.company-layout {display:grid;grid-template-columns:216px minmax(0,1fr);gap:32px;align-items:start}.route-details {position:sticky;top:0;min-width:0}.dossier-contacts {display:flex;flex-direction:column;gap:18px}.dossier-contacts h2,.journey-heading h2 {font-size:14px;color:var(--text2)}.dossier-item {display:flex;align-items:flex-start;gap:10px;min-width:0}.dossier-item>svg {color:var(--muted);margin-top:3px}.dossier-item>div {display:flex;flex-direction:column;gap:4px;min-width:0}.dossier-item strong {font-size:13px;font-weight:500;overflow-wrap:anywhere}.dossier-owner {display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:18px}.dossier-owner>div {display:flex;flex-direction:column;gap:3px}.dossier-owner strong {font-size:12px;font-weight:500}.dossier-stats {display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.dossier-stats strong {color:var(--text);font-size:16px}.dossier-toggle {justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%}.dossier-extra {display:flex;flex-direction:column;gap:4px}.fact {display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.fact>span:first-child {color:var(--muted);flex:1}.fact>span:last-child {max-width:60%;text-align:right;overflow-wrap:anywhere}.facts {display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}/* Горизонтальный маршрут из выбранного третьего макета. */
.route-journey {min-width:0;width:100%}
.route-journey ol {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.route-journey li {position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:60px;padding:10px 16px;border-bottom:2px solid var(--line);color:var(--muted);font-size:12px;line-height:1.35}
.route-stop {width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-family:"IBM Plex Mono",monospace;font-size:10px;flex-shrink:0;z-index:1}
.route-step-label {min-width:0;overflow-wrap:anywhere}
.route-journey .passed {color:var(--text2);border-bottom-color:var(--accent)}
.route-journey .passed .route-stop {border-color:var(--accent);color:var(--accent)}
.route-journey .current {color:var(--accent);font-weight:600;background:var(--accent-soft);border-bottom-color:var(--accent);border-radius:10px 10px 0 0}
.route-journey .current .route-stop {background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.route-journey .current small {display:block;font-weight:400;font-size:10px;color:var(--muted);margin-top:3px}
.route-status {font-size:12px;background:var(--soft);border-radius:8px;padding:8px 12px;margin-top:10px;color:var(--text2)}
.company-workspace {min-width:0}.tabs {display:flex;gap:4px;padding:5px;background:var(--soft);border:1px solid var(--line);border-radius:12px;overflow-x:auto;scrollbar-width:thin;margin-bottom:26px}.tab {border:0;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:9px 12px;min-height:36px;white-space:nowrap;color:var(--muted);background:none;font-size:12px;flex:1}.tab.on {background:var(--panel);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.tab .cnt {font-size:10px;min-width:17px;text-align:center;padding:1px 4px;border-radius:4px;color:var(--muted);background:var(--bg)}.card-tab-content {display:flex;flex-direction:column;gap:24px;min-width:0}.overview-grid {display:grid;grid-template-columns:minmax(260px,1fr) minmax(330px,.98fr);gap:28px;align-items:start}.route-activity-column {display:flex;flex-direction:column;gap:28px;min-width:0}.route-card-work {display:flex;flex-direction:column;gap:16px;min-width:0}.route-panel-head {display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:24px}.route-panel-head h2 {font-size:17px}.route-panel-head .link {white-space:nowrap}.route-history {min-width:0}.activity-entry {position:relative;display:flex;gap:14px;padding:0 0 22px;min-width:0}.activity-entry:not(:last-child):before {content:'';position:absolute;left:17px;top:36px;bottom:0;width:1px;background:var(--line)}.activity-node {display:grid;place-items:center;width:36px;height:36px;border-radius:11px;border:1px solid var(--line);background:var(--panel);color:var(--muted);flex-shrink:0;z-index:1}.activity-body {flex:1;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:0 14px 14px 14px;padding:16px}.activity-body header {display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.activity-body header strong {font-size:13px;font-weight:600}.activity-body time {font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.activity-meta {display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:8px}.activity-result {font-size:11px;border-radius:5px;background:var(--soft);padding:2px 6px;color:var(--text2)}.activity-result.ok {color:var(--ok);background:var(--ok-soft)}.activity-note {font-size:13px;line-height:1.6;color:var(--text2);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px}.activity-plan {font-size:11px;padding:8px;border-radius:7px;background:var(--rail);margin-top:10px}.activity-body footer {display:flex;justify-content:space-between;margin-top:14px;padding-top:10px;border-top:1px solid var(--soft)}.hist {display:flex;flex-direction:column;gap:5px;padding:12px 0 12px 16px;border-left:1px solid var(--line)}
.route-composer {border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden;min-width:0}.composer-header {display:flex;align-items:center;gap:12px;padding:20px 22px;background:var(--brand);color:var(--brand-ink)}.composer-header h2 {font-size:17px;color:var(--brand-ink)}.composer-header p {font-size:11px;opacity:.75;margin-top:3px}.composer-icon {display:grid;place-items:center;width:38px;height:38px;border:1px solid currentColor;border-radius:12px}.composer-body {display:flex;flex-direction:column;gap:20px;padding:22px}.contact-picker {margin:0;padding:0;border:0;min-width:0}.contact-picker legend {margin-bottom:8px}.contact-options {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.contact-option {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:65px;border:1px solid var(--line);border-radius:10px;padding:8px 4px;background:var(--panel);color:var(--muted);font-size:11px;transition:background var(--motion-fast),color var(--motion-fast),border-color var(--motion-fast)}.contact-option:hover {background:var(--hover);border-color:var(--muted)}.contact-option.on {background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.contact-option span {overflow-wrap:anywhere;text-align:center}.result-field {display:flex;flex-direction:column;gap:8px}.route-result-switch {align-self:flex-end;font-size:11px}.planned-context {padding:12px;background:var(--rail);border:1px dashed var(--line);border-radius:10px;font-size:12px;display:flex;flex-direction:column;gap:8px}.planned-caption {display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;flex-wrap:wrap}.planned-caption time {margin-left:auto}.planned-context strong {font-weight:500}.outcome-options {display:flex;gap:5px;flex-wrap:wrap}.outcome-options .chip {font-size:10px;padding:5px 7px;min-height:28px}.route-actions {display:flex;align-items:center;gap:10px;flex-wrap:wrap}.composer-save {flex:1;min-height:44px}.composer-body .route-actions .iconbtn {width:44px;height:44px}.sale-hint {display:flex;gap:8px;align-items:flex-start;color:var(--ok);font-size:12px;padding:10px;background:var(--ok-soft);border-radius:8px}.route-saved {display:flex;align-items:center;flex-direction:column;text-align:center;gap:12px;padding:10px 0 14px}.saved-check {width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--ok);border-radius:50%;background:var(--ok-soft);color:var(--ok)}.saved-check svg path {stroke-dasharray:35;stroke-dashoffset:0;animation:check-draw 420ms var(--ease-out)}.route-saved strong {font-size:17px}.saved-result {background:var(--ok-soft);color:var(--ok);padding:4px 12px;border-radius:7px;font-size:13px}.route-saved p {color:var(--text2);font-size:13px;white-space:pre-wrap;line-height:1.6;overflow-wrap:anywhere}.route-planner {border:1px solid var(--line);border-radius:16px;padding:20px 22px;display:flex;flex-direction:column;gap:12px;background:var(--rail)}.planner-heading {display:flex;align-items:center;gap:10px}.planner-icon {display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--soft);color:var(--accent)}.planner-heading h2 {font-size:15px}.planner-heading p {font-size:11px;color:var(--muted);margin-top:3px}.planner-heading .iconbtn {margin-left:auto;border:0;background:none}.plan-description {font-size:13px;padding-left:44px;line-height:1.5;overflow-wrap:anywhere}.route-plan-fields {display:flex;flex-direction:column;gap:16px;padding-top:16px;border-top:1px solid var(--line)}.route-plan-fields .form2:first-child {grid-template-columns:1fr}
/* Related entities and service pages use the same controls, not nested identical boxes. */
.box {display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--panel);min-width:0}.box .box {border-radius:10px;background:var(--rail);padding:16px}.box>span[style*="font-weight:600"] {font-size:16px}.page-heading {display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-heading h1 {font-size:30px;letter-spacing:-.04em;font-weight:600;line-height:1.2}.page-heading>span {color:var(--muted);font-size:12px}.cols {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.kpis {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-bottom:28px}.metric {display:flex;flex-direction:column;gap:12px;padding:22px 24px;border-bottom:2px solid var(--line);background:var(--panel);border-radius:12px 12px 0 0}.metric>strong {font-size:38px;font-weight:500;letter-spacing:-.05em;line-height:1.15;font-variant-numeric:tabular-nums}.metric>span {font-size:12px;color:var(--muted)}.metric.due {border-bottom-color:var(--accent)}.metric.late {border-bottom-color:var(--bad)}.metric svg {color:var(--muted)}.funnel {display:grid;grid-template-columns:minmax(104px,144px) 1fr 34px;align-items:center;gap:12px;min-height:32px}.load {display:grid;grid-template-columns:1fr 62px 70px 70px;gap:12px;align-items:center}.daysplit {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.subtabs {display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.subtab {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--muted);padding:8px 13px;font-size:12px}.subtab.on {background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}.task {display:flex;flex-direction:column;gap:6px;width:100%;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel);color:var(--text);text-align:left;font-size:13px}.task:hover {border-color:var(--accent)}.task.on {border-color:var(--accent);background:var(--sel)}.task.done,.mrow.done {background:var(--done-bg);border-color:var(--done-line);box-shadow:inset 3px 0 0 var(--done-bar)}.donetick {display:flex;align-items:center;color:var(--done-ink)}.work-column {border:0;background:var(--rail);padding:18px;border-radius:14px}.work-column-header {display:flex;gap:12px;align-items:center;justify-content:space-between;padding-bottom:12px;font-size:13px;font-weight:600}.work-column-header .mono {display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--panel);font-size:11px;font-weight:400}.work-card {padding:16px}.work-card-header {display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.work-card-header strong {font-size:15px;font-weight:600}.work-card-header .p {min-width:22px}.work-card-plan {font-size:12px;color:var(--text2);line-height:1.5}.work-card-meta {display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:11px}.work-card-footer {display:flex;justify-content:space-between;border-top:1px solid var(--soft);padding-top:10px;margin-top:6px}.dealrow {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}.dealrow.lbl {display:none}.route-deal-people {grid-column:1/-1;display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.route-deal-people .route-field {min-width:160px}.grid.deals {grid-template-columns:minmax(150px,1.4fr) minmax(140px,1.3fr) minmax(110px,1fr) 118px 110px 104px 110px minmax(90px,.9fr)}.route-stage-row,.route-task-row,.route-sub-row,.route-access-row {min-width:0}.cmt {display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
/* Focused dialogs. Original confirmation handlers and permissions are unchanged. */
.modal-backdrop {position:fixed;inset:0;background:color-mix(in srgb,var(--text) 28%,transparent);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:90}.route-dialog {width:min(540px,100%);max-height:calc(100dvh - 48px);overflow:auto;border-radius:20px;box-shadow:var(--lift);outline:none}.route-dialog>.box {border-radius:20px;padding:30px;gap:20px}.route-dialog input {font-size:14px}
/* Authentication is kept fully functional, with a more deliberate surface. */
.gate {display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:28px;background:var(--bg)}.gate-card {width:100%;padding:34px;display:flex;flex-direction:column;gap:22px;background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.gate .segs .seg {padding:8px 12px}.gate-card input {font-size:16px}
.phone {zoom:1!important;width:100%!important;height:100dvh!important;max-height:none;max-width:none;box-shadow:none;border:0;border-radius:0}.stage {padding:0}.mbody {padding:20px;gap:20px}.msec {border-radius:16px}.mnav {padding-bottom:env(safe-area-inset-bottom)}.mtop {min-height:64px}
@keyframes check-draw {from {stroke-dashoffset:35}to {stroke-dashoffset:0}}
@media(min-width:761px) and (max-width:1400px) {.route-sidebar {width:76px;flex-basis:76px;padding:24px 10px 16px}.route-sidebar .brand-name,.route-sidebar .nav-label,.route-sidebar .nav-count,.route-sidebar .nav-caption,.route-sidebar .route-account-name,.route-sidebar .route-account .ava,.route-sidebar .nav-fold {display:none}.route-brand {padding-left:9px}.route-nav {overflow:visible}.navi {justify-content:center}.navi.on:before {left:-10px}.route-account {justify-content:center}.top {gap:16px}.rail {display:none}.company-layout {grid-template-columns:190px minmax(0,1fr);gap:24px}.overview-grid {gap:20px;grid-template-columns:minmax(230px,1fr) minmax(300px,1fr)}.company-legal {max-width:65ch}.route-company-menu>summary>span {display:none}}
@media(max-width:1150px) {.company-layout {grid-template-columns:180px minmax(0,1fr);gap:20px}.overview-grid {display:flex;flex-direction:column}.route-card-work {order:0;width:100%}.route-activity-column {order:1;width:100%}.composer-body .contact-options {grid-template-columns:repeat(6,minmax(0,1fr))}.chead .company-monogram {display:none}.daysplit {grid-template-columns:1fr}.top,.page {padding-left:24px;padding-right:24px}.sheet {padding:24px}.work {padding:0 24px 24px}.company-heading {flex-wrap:wrap}.company-identity {flex-basis:50%}.kpis {grid-template-columns:repeat(2,minmax(0,1fr))}.route-sub-row,.route-access-row {grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;padding:20px 0!important}.route-sub-head,.route-access-head {display:none!important}}
@media(max-width:760px) {
 .app {height:100dvh}.route-sidebar {position:fixed;inset:0 auto 0 0;width:min(286px,85vw);padding:24px 14px calc(16px + env(safe-area-inset-bottom));transform:translateX(-101%);visibility:hidden;z-index:70}.route-sidebar.open {transform:none;visibility:visible}.mobile-nav-close {display:flex;position:absolute;top:24px;right:14px;border:0}.nav-scrim {display:block;position:fixed;inset:0;border:0;background:color-mix(in srgb,var(--text) 28%,transparent);backdrop-filter:blur(3px);z-index:65}.nav-fold {display:none}.mobile-nav-toggle {display:flex;border:0;background:none;min-width:36px}.route-brand {padding-right:34px}.top {padding:10px 12px;gap:8px;height:62px}.workspace-name {display:none}.search {width:auto;min-width:0;flex:1;padding:8px 10px;margin:0}.search kbd {display:none}.search input {font-size:16px}.top-tools {gap:4px}.top-create {min-width:36px;padding:9px}.top-create span {display:none}.top .segs {padding:0;background:none}.top .seg.on {display:none}.top .seg {width:32px;height:36px}.top .iconbtn {min-width:32px;width:32px}.top .bell-panel {right:-45px}.route-account-name {font-size:13px}.route-nav .navi {min-height:46px}.route-nav {overflow:auto}.sheet {padding:18px 16px 32px;gap:22px}.chead {gap:20px;padding-bottom:0}.card-backline {gap:10px}.card-backline>div>span:last-child {display:none}.company-heading {gap:14px}.company-identity {flex-basis:100%}.route-company-title {font-size:30px}.company-legal {font-size:11px}.company-location {font-size:12px}.route-company-menu>summary {min-height:44px}.route-company-tools {left:0;right:auto;max-width:calc(100vw - 32px);min-width:250px}.company-layout {display:flex;flex-direction:column;gap:32px}.company-workspace {width:100%;order:0}.route-details {position:static;width:100%;order:1}.dossier-contacts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dossier-contacts h2,.dossier-toggle,.dossier-extra {grid-column:1/-1}.dossier-owner {border:0;padding:0}.dossier-stats {justify-content:center}.route-journey ol {grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 0}.route-journey li {flex-direction:column;justify-content:center;min-height:74px;padding:8px 6px;gap:6px;font-size:11px;text-align:center}.route-journey .current small {display:none}.tabs {margin-bottom:22px;padding:4px;gap:3px}.tab {padding:10px;min-height:40px}.overview-grid {gap:28px}.composer-header {padding:18px}.composer-body {padding:18px;gap:18px}.composer-body .contact-options {grid-template-columns:repeat(3,minmax(0,1fr))}.contact-option {min-height:66px;font-size:12px}.outcome-options .chip {font-size:11px;min-height:36px}.route-planner {padding:18px}.route-plan-fields .form2 {grid-template-columns:repeat(2,minmax(0,1fr))}.route-plan-fields .form2:first-child {grid-template-columns:1fr}.route-plan-fields .btn {min-height:44px;width:100%}.activity-body {padding:14px}.activity-body footer .link {min-height:30px}.page {padding:22px 16px 32px}.page-heading {gap:10px}.page-heading h1 {font-size:28px}.cols {grid-template-columns:1fr}.box {padding:18px;gap:16px}.page input,.page select,.fld,.sel-input,.mfld {max-width:100%;font-size:16px}.form2 {grid-template-columns:1fr}.page .box {overflow-wrap:anywhere}.kpis {gap:12px}.metric {padding:18px}.metric>strong {font-size:32px}.work {padding:0 12px 16px}.directory-heading {padding:20px 4px}.directory-heading h1 {font-size:28px}.directory-actions .btn span {display:none}.list-controls {flex-wrap:wrap;padding:0 4px 14px}.list-controls .sel-input {flex:1;max-width:none;min-width:130px}.filter-drawer .bar {padding:16px;gap:14px}.filter-drawer .grp {width:100%;gap:8px}.filter-drawer .grp>.lbl {flex-basis:100%}.bar .sel-input {max-width:100%}.directory-heading p {font-size:12px}.grid {min-width:1060px}.task {padding:12px}.task[data-act=taskOpen] {grid-template-columns:42px minmax(0,1fr) auto!important;gap:8px!important}.task>.btn {font-size:11px;padding:7px}.task .donetick {grid-column:3}.subtabs>span {flex-basis:100%;justify-content:flex-end}.dealrow {grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.route-deal-people .route-field {min-width:0;flex:1}.route-stage-row,.route-task-row {grid-template-columns:24px minmax(0,1fr) 36px!important;gap:10px!important;padding:14px 0!important}.route-stage-row>input[type=date] {grid-column:2;grid-row:2;width:100%;font-size:16px!important}.route-stage-row>span:nth-child(4),.route-task-row>span:nth-child(3) {grid-column:2;grid-row:3}.route-task-row>span:nth-child(4) {grid-column:2;grid-row:2}.route-stage-row>button,.route-task-row>button {grid-column:3;grid-row:1}.route-sub-row,.route-access-row {grid-template-columns:repeat(2,minmax(0,1fr))!important}.route-access-row>span,.route-access-row>input[data-key=note] {grid-column:1/-1}.route-sub-row input,.route-access-row input {min-width:0;font-size:16px!important}.load.user-row {grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:18px 0!important;gap:12px}.load.user-row>span:first-child,.load.user-row>span:last-child {grid-column:1/-1}.load.user-head {display:none}.modal-backdrop {padding:16px}.route-dialog {max-height:calc(100dvh - 32px)}.route-dialog>.box {padding:24px}.gate {padding:20px}.gate-card {padding:26px}.cmt {overflow-wrap:anywhere}
}

@media(max-width:380px) {.top {gap:4px;padding-left:8px;padding-right:8px}.search {padding:8px}.search input {font-size:14px}.top .search svg {width:15px;height:15px}.route-company-menu>summary>span {font-size:11px}.company-title-line {gap:8px}.company-title-line .status-badge {font-size:10px}.contact-option {font-size:11px}.activity-meta {gap:6px}}
@media(prefers-reduced-motion:reduce) {*,*:before,*:after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.route-nav,.tabs,.contact-options {position:relative}.selection-glider {position:absolute;pointer-events:none;background:var(--accent-soft);border-radius:10px;transform-origin:0 0;z-index:0}.tabs .selection-glider {background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.navi,.tab,.contact-option {position:relative;z-index:1}.navi.on.selection-in-motion,.tab.on.selection-in-motion,.contact-option.on.selection-in-motion {background:transparent;box-shadow:none}
.route-service-box {container-type:inline-size}
.route-service-entry {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:12px!important;align-items:end!important}
.route-service-entry>label {min-width:0}
.route-service-entry>button {justify-self:start}
.route-custom-kind {display:flex;min-width:0;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--accent-soft);animation:route-custom-kind-in var(--motion-panel) var(--ease-out) both}
.route-custom-kind .fld {background:var(--panel)}
.route-custom-kind .route-help,.route-field-error {font-size:12px;line-height:1.4}
.route-field-error {color:var(--bad)}
.route-custom-kind [aria-invalid=true] {border-color:var(--bad)}
.route-service-entry>.route-custom-kind {grid-column:1/-1;order:1;display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center}
.route-service-entry>.route-custom-kind .route-help,.route-service-entry>.route-custom-kind .route-field-error {grid-column:2}
.route-kind-actions {display:flex;gap:6px;flex-wrap:wrap}
@keyframes route-custom-kind-in {from {opacity:0;transform:translateY(-6px)}to {opacity:1;transform:none}}
@container (max-width:1000px) {.route-sub-row,.route-access-row {grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start!important}.route-sub-head,.route-access-head {display:none!important}}
@container (max-width:480px) {.route-sub-row,.route-access-row {grid-template-columns:repeat(2,minmax(0,1fr))!important}.route-service-entry>.route-custom-kind {grid-template-columns:1fr}.route-service-entry>.route-custom-kind .route-help,.route-service-entry>.route-custom-kind .route-field-error {grid-column:1}}
@media (prefers-reduced-motion:reduce) {.route-custom-kind {animation:none}}
.directory-footnote {padding:12px 0 0;font-size:10px;color:var(--muted)}.list-controls .segs .seg {padding:7px 13px}.day-quote {display:flex;flex-direction:column;gap:12px;margin-bottom:26px;padding:18px 22px;border-left:3px solid var(--accent);border-radius:0 12px 12px 0;background:var(--accent-soft)}.day-quote>p {font-size:17px;color:var(--accent);line-height:1.5;max-width:70ch;text-wrap:pretty}.project-card {padding:26px}.project-title {border-color:transparent;background:var(--rail);min-height:50px;font-size:20px!important;font-weight:600;letter-spacing:-.025em}.project-title:focus {background:var(--field)}.project-progress {flex:1;min-width:120px;max-width:300px}.route-stage-row {padding:14px 0!important}.route-activity-column>.box {padding:18px;background:var(--rail)}.route-activity-column .route-task-row {grid-template-columns:24px minmax(0,1fr) 32px!important;gap:8px!important}.route-activity-column .route-task-row>span:nth-child(3) {grid-column:2;grid-row:2}.route-activity-column .route-task-row>span:nth-child(4) {grid-column:2;grid-row:3}.route-activity-column .route-task-row>button {grid-column:3;grid-row:1}.page[data-page=work] .cols {align-items:start}
@media(min-width:761px) {.mobile-nav-toggle.iconbtn,.mobile-nav-close.iconbtn {display:none}}
.edit-card {gap:24px}.edit-section {display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:24px 0;border-top:1px solid var(--line);align-items:start}.edit-section>header {display:flex;flex-direction:column;gap:6px}.edit-section>header p {font-size:12px;color:var(--muted);line-height:1.5;max-width:24ch}.edit-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.edit-fields>label {gap:7px!important}.form-title {font-size:30px;font-weight:600;letter-spacing:-.04em}.audit-row {padding:18px 20px!important}.lookup-row {padding:16px 0!important}
@media(max-width:1000px) {.edit-section {grid-template-columns:1fr;gap:16px}.edit-section>header p {max-width:none}}
@media(max-width:760px) {.edit-fields {grid-template-columns:1fr}.lookup-head {display:none!important}.lookup-row {grid-template-columns:1fr!important;gap:10px!important}.lookup-row>span:nth-child(3) {justify-content:flex-start!important}.audit-row {grid-template-columns:1fr!important;gap:6px!important;padding:16px!important}.edit-section {padding:20px 0}}
.calendar-panel {padding:22px;position:sticky;top:0}.calendar-heading {display:flex;align-items:center;gap:12px;justify-content:space-between}.calendar-heading h2 {text-transform:capitalize;font-size:19px;margin-top:4px}.calendar-arrows {display:flex;gap:5px}.calendar-arrows .iconbtn {width:30px;min-width:30px;height:30px;min-height:30px;border:0;background:var(--rail)}.calendar-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekday {text-align:center;font-size:11px;color:var(--muted);padding:6px 0}.calendar-day {display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:42px;border-radius:11px;border:1px solid transparent;background:none;color:var(--text);font-size:12px}.calendar-day:hover {background:var(--soft)}.calendar-day.outside {color:var(--muted);opacity:.5}.calendar-day.is-today {border-color:var(--accent);font-weight:600}.calendar-day.picked {background:var(--accent);color:var(--on-accent);font-weight:600}.calendar-dot {width:4px;height:4px;background:var(--accent);border-radius:50%}.calendar-dot.late {background:var(--bad)}.calendar-day.picked .calendar-dot {background:var(--on-accent)}.calendar-dot.empty {background:none}.calendar-footer {display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid var(--line)}.plan-row {display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:14px}.plan-row-main {display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px;align-items:start;border:0;background:none;color:var(--text);padding:0;text-align:left;width:100%;min-width:0}.plan-row-main>span:last-child {overflow-wrap:anywhere}.plan-row>.btn {align-self:start}.work-column .plan-row {background:var(--panel)}
@media(max-width:760px) {.calendar-panel {position:static}.calendar-day {min-height:44px}.plan-row {gap:6px;padding:12px}.plan-row-main {grid-template-columns:38px minmax(0,1fr)}.plan-row>.btn {font-size:11px;padding:7px 8px}.plan-row>.donetick {grid-column:2}.calendar-arrows .iconbtn {width:36px;min-width:36px;height:36px;min-height:36px}}

/* «Мой день»: компактные рабочие карточки вместо разнесённых панелей действий. */
.day-page {padding-top:28px}
.day-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.day-heading>div:first-child {display:flex;flex-direction:column-reverse;gap:4px}
.day-heading h1 {font-size:34px;letter-spacing:-.045em;line-height:1.1}
.day-eyebrow {color:var(--muted);font-size:12px}
.day-heading-stats {display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.day-heading-stats>span {display:inline-flex;align-items:baseline;gap:5px;padding:7px 10px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:11px}
.day-heading-stats strong {font-size:14px;color:var(--text);font-weight:600}
.day-heading-stats .bad {background:var(--bad-soft);color:var(--bad)}
.day-heading-stats .bad strong {color:var(--bad)}
.day-control-deck {position:sticky;top:0;z-index:24;display:flex;align-items:stretch;gap:9px;margin:0 0 24px;padding:7px;width:max-content;max-width:100%;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--bg) 91%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(16px)}
.day-tool-card {min-width:0;min-height:92px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);text-align:left;overflow:hidden}
.day-tool-switch {display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:9px}
.day-tool-switch:nth-child(1),.day-tool-switch:nth-child(2) {width:300px}
.day-tool-heading,.day-tool-action {display:flex;align-items:center;gap:10px}
.day-tool-heading>div,.day-tool-copy {display:flex;flex-direction:column;gap:2px;min-width:0}
.day-tool-heading strong,.day-tool-copy strong {font-size:12px;font-weight:600;line-height:1.25}
.day-tool-heading>div>span,.day-tool-copy>span {color:var(--muted);font-size:10px;line-height:1.3}
.day-tool-icon {display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--soft);color:var(--accent);flex-shrink:0}
.day-tool-action {justify-content:flex-start;width:170px;transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast)}
.day-tool-action:hover {transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow)}
.day-tool-action:active {transform:translateY(0)}
.day-tool-arrow {display:flex;margin-left:auto;color:var(--muted)}
.day-tool-action.primary {border-color:var(--accent);background:var(--accent);color:var(--on-accent);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 18%,transparent)}
.day-tool-action.primary:hover {background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.day-tool-action.primary .day-tool-icon {background:color-mix(in srgb,var(--on-accent) 14%,transparent);color:var(--on-accent)}
.day-tool-action.primary .day-tool-copy>span {color:color-mix(in srgb,var(--on-accent) 72%,transparent)}
.day-tool-action.primary .day-tool-arrow {color:var(--on-accent)}
.day-segment {position:relative;display:flex;width:100%;min-width:0;gap:3px;padding:3px;border-radius:11px;background:var(--soft);overflow:hidden}
.day-switch {position:relative;z-index:1;display:inline-flex;flex:1;min-width:0;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 11px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}
.day-switch:hover {color:var(--text);background:var(--rail)}
.day-switch.on {background:var(--panel);color:var(--accent);box-shadow:var(--shadow);font-weight:600}
.day-segment .selection-glider {background:var(--panel);border-radius:8px;box-shadow:var(--shadow)}
.day-switch.on.selection-in-motion {background:transparent;box-shadow:none}
.day-switch b {display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:6px;background:var(--bg);color:var(--muted);font-size:10px;font-weight:500}
.day-switch.on b {background:var(--accent-soft);color:var(--accent)}
.day-page .calendar-panel {top:112px}
.day-groups {display:flex;flex-direction:column;gap:26px}
.day-groups.wide {display:flex;flex-direction:column;gap:26px}
.day-bucket {display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:10px;min-width:0;padding-top:14px;border-top:2px solid var(--line)}
.day-bucket-bad {border-top-color:var(--bad)}
.day-bucket-today {border-top-color:var(--accent)}
.day-bucket-header {grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 5px;font-size:12px;font-weight:600}
.day-bucket-header .mono {display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:8px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:500}
.day-bucket .plan-row {display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;gap:8px;min-height:112px;padding:13px 14px;border-radius:13px;box-shadow:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.day-bucket .plan-row-main {grid-column:1/-1;align-self:start}
.day-bucket .plan-row>.btn {grid-column:2;grid-row:2;align-self:end}
.day-bucket .plan-row>.donetick {grid-column:1;grid-row:2;align-self:center}
.day-bucket .plan-row:hover {transform:translateY(-1px)}
.day-bucket .plan-row-main>span:first-child {display:grid;place-items:center;min-height:32px;padding:4px;border-radius:8px;background:var(--soft);font-size:11px!important}
.day-bucket .plan-row>.btn {opacity:.78}
.day-bucket .plan-row:hover>.btn,.day-bucket .plan-row>.btn:focus-visible {opacity:1}
.day-page .day-quote {margin-bottom:16px;padding:14px 18px;gap:8px}
.day-page .day-quote>p {font-size:15px}
@media(max-width:1150px) and (min-width:761px) {.day-control-deck {width:100%;flex-wrap:wrap}.day-tool-switch:nth-child(1),.day-tool-switch:nth-child(2) {flex:1 1 300px}.day-tool-action {flex:1 1 150px}.day-page .calendar-panel {top:174px}.day-heading {align-items:flex-start}}
@media(max-width:760px) {
 .day-page {padding-top:20px}
 .day-heading {align-items:flex-start;gap:12px;margin-bottom:14px}
 .day-heading h1 {font-size:30px}
 .day-heading-stats {max-width:130px;gap:5px}
 .day-heading-stats>span {padding:5px 7px;font-size:9px}
 .day-heading-stats strong {font-size:12px}
 .day-control-deck {display:grid;width:auto;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;top:0;margin:0 -4px 18px;padding:7px;border-radius:15px}
 .day-tool-card {min-height:68px;padding:10px}
 .day-tool-switch,.day-tool-switch:nth-child(1),.day-tool-switch:nth-child(2) {grid-column:1/-1;width:auto;min-height:58px;flex-direction:row;align-items:center;gap:8px}
 .day-tool-heading {min-width:138px}
 .day-tool-heading>div>span {display:none}
 .day-tool-icon {width:30px;height:30px}
 .day-tool-action {width:auto;gap:8px}
 .day-tool-action .day-tool-icon {display:none}
 .day-tool-arrow {display:none}
 .day-segment {width:100%}
 .day-switch {flex:1;min-width:0;min-height:42px;padding:7px 8px;font-size:11px}
 .day-switch svg {display:none}
 .day-switch b {min-width:18px;padding:0 4px}
 .day-page .day-quote {margin-bottom:14px;padding:13px 15px}
 .day-page .day-quote>p {font-size:14px}
 .day-page .calendar-panel {top:0}
 .day-bucket {gap:8px;padding-top:12px}
 .day-bucket .plan-row {min-height:110px}
 .day-bucket .plan-row:hover {transform:none}
}
@media(max-width:420px) {.route-company-menu>summary>span {display:none}.route-company-menu>summary {width:42px;padding:10px}.route-company-actions .iconbtn {flex-shrink:0;min-width:40px;width:40px}}
.planned-toggle {font-size:11px;align-self:flex-start}.route-journey .selection-glider {border-radius:50%;background:var(--accent);width:24px;height:24px}.route-journey .current .route-stop.selection-in-motion {background:transparent;box-shadow:none}
.file-card {display:flex;align-items:center;gap:22px;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.file-icon {display:grid;place-items:center;width:62px;height:72px;border:1px solid var(--line);border-radius:9px 18px 9px 9px;background:var(--rail);color:var(--accent);flex-shrink:0}.file-info {flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.file-info h2 {font-size:18px;overflow-wrap:anywhere}.file-info p {font-size:12px;color:var(--muted)}.file-info .pill {align-self:flex-start}.file-actions {display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lead-card {border-left:3px solid var(--accent)}.empty-leads {align-items:center;text-align:center;padding:56px 24px;gap:16px}.empty-leads>svg {color:var(--ok)}
@media(max-width:1000px) {.file-card {flex-wrap:wrap}.file-info {flex:1}.file-actions {flex-basis:100%;padding-top:16px;border-top:1px solid var(--line)}}
@media(max-width:760px) {.file-card {padding:20px;gap:16px}.file-icon {width:42px;height:52px}.file-info h2 {font-size:16px}.file-actions .btn {flex:1}}

/* Единый верхний каркас CRM. На телефоне остаётся выезжающее меню. */
@media(min-width:761px) {
 .app {flex-direction:column}
 .route-sidebar,.app[data-nav-compact=true] .route-sidebar {width:100%;height:68px;flex:0 0 68px;display:flex;flex-direction:row;align-items:center;gap:14px;padding:9px 24px;border:0;border-bottom:1px solid var(--line);background:var(--rail);overflow:hidden;z-index:30}
 .route-brand,.app[data-nav-compact=true] .route-brand {display:flex;align-items:center;gap:9px;flex:0 0 auto;padding:0;background:none}
 .route-brand .mark {width:38px;height:38px;border-radius:12px}
 .brand-name,.app[data-nav-compact=true] .brand-name {display:flex}
 .brand-name small {display:none}
 .brand-name strong {font-size:17px}
 .route-nav,.app[data-nav-compact=true] .route-nav {display:flex;flex:1;flex-direction:row;align-items:center;gap:3px;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
 .route-nav::-webkit-scrollbar {display:none}
 .route-nav .nav-caption,.route-sidebar-footer {display:none!important}
 .navi,.app[data-nav-compact=true] .navi {display:flex;justify-content:center;gap:7px;min-height:42px;padding:9px 10px;border-radius:11px;flex:0 0 auto}
 .navi svg {width:17px;height:17px}
 .nav-label,.app[data-nav-compact=true] .nav-label {display:inline;font-size:12px}
 .nav-count,.app[data-nav-compact=true] .nav-count {display:inline-grid;place-items:center;margin-left:1px;min-width:18px;height:18px;padding:0 4px}
 .navi.on:before,.app[data-nav-compact=true] .navi.on:before {left:10px;right:10px;top:auto;bottom:-9px;width:auto;height:3px;border-radius:3px 3px 0 0}
 .route-account,.app[data-nav-compact=true] .route-account {display:flex;justify-content:flex-start;flex:0 0 auto;gap:8px;min-height:42px;padding:0 0 0 12px;border:0;border-left:1px solid var(--line)}
 .route-account .ava,.app[data-nav-compact=true] .route-account .ava {display:grid;width:30px;height:30px;border-radius:9px}
 .route-account-name,.app[data-nav-compact=true] .route-account-name {display:flex;max-width:105px;font-size:11px;line-height:1.25}
 .route-account-name small {font-size:9px}
 .route-account .iconbtn {width:30px;min-width:30px;height:30px;min-height:30px}
 .main {width:100%}
 .top {height:58px;padding:0 32px;background:var(--bg)}
 .workspace-name {font-size:12px}
 .search {width:min(420px,38vw)}
}
@media(min-width:761px) and (max-width:1180px) {
 .route-sidebar {padding-left:16px;padding-right:16px;gap:9px}
 .brand-name {display:none!important}
 .navi {padding-left:9px;padding-right:9px}
 .route-account-name {display:none!important}
 .route-account {padding-left:8px}
 .nav-label {display:none!important}
 .navi {width:42px;padding-left:0;padding-right:0}
 .nav-count {position:absolute;right:1px;top:1px;min-width:16px;height:16px;padding:0 3px;font-size:9px}
}
@media(min-width:1181px) and (max-width:1500px) {
 .route-sidebar {gap:9px;padding-left:18px;padding-right:18px}
 .navi {gap:5px;padding-left:7px;padding-right:7px}
 .nav-label {font-size:11px}
 .route-account-name {display:none}
 .route-account {padding-left:8px}
}

/* Ровные интерактивные поверхности и спокойная обратная связь. */
.navi,.task,.work-card,.file-card,.lead-card,.metric,.calendar-panel,.day-tool-card {transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast)}
.work-card:hover,.file-card:hover,.lead-card:hover {transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow)}
.navi:active,.task:active,.work-card:active,.file-card:active,.lead-card:active,.day-tool-card:active {transform:scale(.985)}
.page-heading>span,.directory-heading p {text-wrap:pretty}

@media(max-width:760px) {
 .deals-scroll {flex:initial;overflow:visible;border:0;border-radius:0;background:transparent}
 .deals-scroll .grid.deals.head {display:none}
 .deals-scroll .grid.deals.row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;min-width:0;min-height:0;margin-bottom:10px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:none}
 .deals-scroll .grid.deals.row:hover {border-color:var(--accent);background:var(--panel)}
 .deals-scroll .cell {display:flex;flex-direction:column;gap:3px;min-width:0;overflow:visible;white-space:normal;overflow-wrap:anywhere;text-align:left!important;font-size:12px}
 .deals-scroll .cell:before {content:attr(data-label);color:var(--muted);font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:10px;font-weight:400}
 .deals-scroll .deal-company,.deals-scroll .deal-name {grid-column:1/-1}
 .deals-scroll .deal-company {font-size:15px}
 .deal-totals {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;padding:14px 4px!important;border:0!important;background:transparent!important}
 .deal-totals>span:last-child {grid-column:1/-1}
}

/* Компактная адаптивная раскладка: панели не перекрывают работу при прокрутке. */
.list-controls {flex-wrap:wrap}
.list-pager {display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.list-pager-top {margin-left:auto;padding:3px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}
.list-pager-top .iconbtn {width:32px;min-width:32px;height:32px;min-height:32px;border:0;background:transparent}
.list-pager-top .mono {min-width:54px;text-align:center;font-size:11px}
.list-pager-bottom {padding:12px 18px}

.day-page {width:100%;max-width:1480px;margin:0 auto}
.day-control-deck {position:relative;top:auto;min-height:0;padding:6px;gap:7px;border-radius:15px;backdrop-filter:none}
.day-tool-card {min-height:78px;padding:9px 10px}
.day-tool-switch:nth-child(1),.day-tool-switch:nth-child(2) {width:260px}
.day-tool-action {width:150px}
.day-page .calendar-panel {top:12px}
.daysplit {grid-template-columns:minmax(0,1fr) 300px;gap:20px}
.calendar-panel {padding:18px}
.day-bucket,.day-groups.wide .day-bucket {grid-template-columns:repeat(auto-fill,minmax(285px,390px));align-items:start}
.day-bucket .plan-row {min-height:104px}

.company-sheet {max-width:1440px;padding-top:20px}
.overview-grid {grid-template-columns:minmax(280px,1fr) minmax(420px,600px);gap:24px}
.route-composer {width:100%;max-width:600px;justify-self:end}
.composer-header {padding:16px 18px}
.composer-body {gap:16px;padding:18px}
.contact-option {min-height:58px}
.composer-body textarea.fld {min-height:88px}
.tabs {margin-bottom:20px}

@media(max-width:1150px) and (min-width:761px) {
 .day-control-deck {width:100%;flex-wrap:wrap}
 .day-tool-switch:nth-child(1),.day-tool-switch:nth-child(2) {flex:1 1 280px;width:auto}
 .day-tool-action {flex:1 1 145px;width:auto}
 .day-page .calendar-panel {top:12px}
 .route-composer {max-width:none}
}

/* Низкая рабочая панель дня вместо четырёх высоких карточек. */
.day-page {padding-top:18px}
.day-heading {margin-bottom:10px}
.day-heading h1 {font-size:30px}
.day-page .day-quote {gap:4px;margin-bottom:12px;padding:10px 14px}
.day-page .day-quote>p {font-size:14px;line-height:1.4}
.day-control-deck {display:grid;grid-template-columns:minmax(260px,1fr) minmax(230px,.86fr) 132px 142px;align-items:stretch;width:min(100%,1020px);margin-bottom:16px}
.day-tool-card {min-height:56px;padding:7px 9px}
.day-tool-switch,.day-tool-switch:nth-child(1),.day-tool-switch:nth-child(2) {display:flex;flex-direction:row;align-items:center;width:auto;gap:8px}
.day-tool-heading {flex:0 0 auto;gap:7px}
.day-tool-heading>div>span,.day-tool-copy>span {display:none}
.day-tool-icon {width:28px;height:28px;border-radius:8px}
.day-segment {flex:1}
.day-switch {min-height:34px;padding:5px 8px}
.day-tool-action {width:auto;min-width:0;min-height:56px}
.day-tool-action .day-tool-arrow {display:none}

.day-new-form {display:grid!important;grid-template-columns:minmax(240px,1fr) minmax(120px,145px) minmax(220px,.8fr) auto;align-items:center;gap:8px!important;padding:12px!important;background:var(--soft)!important}
.day-new-schedule {display:contents}
.day-new-actions {display:flex;gap:6px;white-space:nowrap}
.day-new-form .fld,.day-new-form .sel-input {min-height:40px}
.day-new-form .sel-input {width:100%;max-width:none}
.day-new-actions .btn {min-height:40px;padding:8px 12px}

/* На компьютере список прокручивается как страница, без маленького окна внутри. */
@media(min-width:761px) {
 .app[data-page=companies] .main {overflow-y:auto;overflow-x:hidden}
 .app[data-page=companies] .work {flex:0 0 auto;min-height:0;align-items:flex-start;padding-bottom:32px}
 .app[data-page=companies] .list {display:block;flex:1 1 auto}
 .app[data-page=companies] .scroll {overflow-x:auto;overflow-y:visible;min-height:0}
 .app[data-page=companies] .rail {position:sticky;top:18px;max-height:calc(100dvh - 112px);margin-top:18px}
 .app[data-page=companies] .directory-heading {padding:16px 0 10px}
 .app[data-page=companies] .directory-heading h1 {font-size:28px}
 .app[data-page=companies] .list-controls {padding-bottom:10px}
 .app[data-page=companies] .directory-footnote {padding-top:8px}
}

@media(max-width:1050px) and (min-width:761px) {
 .day-control-deck {grid-template-columns:minmax(250px,1fr) minmax(220px,1fr) 116px 126px}
 .day-tool-heading>div {display:none}
 .day-new-form {grid-template-columns:minmax(240px,1fr) 130px minmax(210px,1fr)}
 .day-new-actions {grid-column:1/-1;justify-content:flex-end}
}

@media(max-width:760px) {
 .day-page {padding-top:16px}
 .day-page .day-quote {padding:10px 12px}
 .day-control-deck {display:grid;width:auto;grid-template-columns:repeat(2,minmax(0,1fr))}
 .day-tool-switch,.day-tool-switch:nth-child(1),.day-tool-switch:nth-child(2) {grid-column:1/-1}
 .day-new-form {display:flex!important;flex-direction:column;align-items:stretch}
 .day-new-schedule,.day-new-actions {display:flex;gap:8px;flex-wrap:wrap}
 .day-new-schedule>*,.day-new-actions>* {flex:1 1 130px}
}

@media(max-width:760px) {
 .list-pager-top {width:100%;margin-left:0;justify-content:center}
 .list-pager-bottom {justify-content:center;padding:12px 8px}
 .day-control-deck {position:relative;top:auto}
 .day-page .calendar-panel {top:0}
 .day-bucket,.day-groups.wide .day-bucket {grid-template-columns:1fr}
 .route-composer {max-width:none}
}
/* Платежи, быстрые действия и единая история клиента. */
.card-tab-content {container-type:inline-size}
.payment-toolbar,.payment-schedule-head,.payment-draft-footer,.deal-explanation {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0}
.payment-toolbar {margin-bottom:0}
.payment-toolbar h2,.payment-schedule h2,.payment-draft h2,.communication-history h2 {font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.payment-toolbar .segs,.history-filters {max-width:100%;flex-wrap:wrap}
.payment-toolbar .seg,.history-filters .seg {min-height:40px;white-space:normal}
.payment-schedule,.payment-draft {gap:18px;min-width:0;padding:20px}
.payment-schedule-head {align-items:start;padding-bottom:14px;border-bottom:1px solid var(--line)}
.payment-schedule-head>div {min-width:0}
.payment-balance {display:flex;gap:20px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.payment-balance strong {display:block;font-size:16px;color:var(--text);margin-top:4px;font-variant-numeric:tabular-nums}
.payment-installments {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}
.payment-installment {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;align-content:start;min-width:0;background:var(--panel)}
.payment-installment.overdue {border-color:var(--bad)}
.payment-installment.paid {background:var(--ok-soft)}
.payment-installment-title {display:flex;gap:10px;align-items:center;grid-column:1/-1;min-width:0;padding-bottom:4px}
.payment-installment-title>div {display:flex;flex-direction:column;gap:3px;min-width:0}
.payment-installment-title strong {font-size:13px;overflow-wrap:anywhere}
.payment-number {display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;background:var(--soft);color:var(--accent);border-radius:10px;font-size:12px;font-weight:600}
.payment-installment>.route-field:nth-last-of-type(1),.payment-installment>.btn {grid-column:1/-1}
.payment-installment>.btn {justify-self:start;min-height:40px}
.payment-draft {animation:route-custom-kind-in var(--motion-panel) var(--ease-out)}
.payment-draft .form2 {margin-bottom:0}
.payment-draft-rows {display:grid;gap:12px}
.payment-draft-row {display:grid;grid-template-columns:76px minmax(100px,.8fr) minmax(136px,.9fr) minmax(150px,1.5fr) 36px;gap:12px;align-items:center;padding:14px;background:var(--soft);border-radius:12px;min-width:0}
.payment-row-label {font-size:12px}
.payment-draft-footer {padding-top:12px;border-top:1px solid var(--line)}
.payment-total {margin-left:auto;font-size:13px;color:var(--muted)}
.payment-total strong {color:var(--text);padding-left:6px}
.payment-empty {align-items:start;gap:10px;padding:24px}
.payment-empty>svg {color:var(--accent)}
.payment-empty strong {font-size:15px}
.payment-empty p {max-width:460px;margin:0}
.team-note-form {display:flex;flex-direction:column;gap:10px;background:var(--soft);border-radius:12px;padding:16px}
.team-note-form p {margin:0}
.team-note .activity-node {background:var(--soft);color:var(--muted)}
.history-filters {align-self:start}
.deal-explanation {align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}
.deal-explanation p {flex:1 1 260px;margin:0;max-width:540px}
.planned-actions {display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:6px}
.plan-description {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
@container (max-width: 740px) {
 .payment-draft-row {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .payment-row-label {grid-column:1/-1}
 .payment-draft-row>.route-field:nth-last-of-type(1) {grid-column:1/-1}
 .payment-draft-row>.iconbtn {grid-row:1;grid-column:2;justify-self:end}
 .payment-draft-footer>.btn:last-child {flex:1 1 100%}
 .payment-draft,.payment-schedule {padding:16px}
}
@container (max-width: 430px) {
 .payment-draft>.form2 {grid-template-columns:minmax(0,1fr)}
 .payment-toolbar>.segs {width:100%}
 .payment-toolbar .seg {padding:8px;font-size:12px}
 .payment-installment {padding:12px}
 .payment-installment>.route-field {grid-column:1/-1}
 .payment-draft-row {padding:12px}
}
@media (prefers-reduced-motion:reduce) {.payment-draft {animation:none}}

.route-composer .contact-option {min-height:44px;padding:9px 8px;flex-direction:row;gap:7px;font-size:12px}
.route-composer .composer-header {padding:16px 18px}
.route-composer .composer-icon {width:36px;height:36px}
.route-composer .contact-options {gap:8px}
.route-composer .composer-body {gap:14px}
@container (max-width:430px) {.route-composer .contact-options {grid-template-columns:repeat(2,minmax(0,1fr))}}

.payment-draft-row.invalid {outline:1px solid var(--bad)}

.payment-task-short {display:flex;align-items:center;gap:10px;min-width:0;padding:12px 0;border-bottom:1px solid var(--line)}
.payment-task-short>div {display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;overflow-wrap:anywhere}
.payment-task-short strong {font-size:12px;font-weight:500}
.payment-task-short>.btn {flex-shrink:0}

@media (max-width:760px) {.payment-toolbar .seg,.payment-draft-footer .btn,.payment-installment>.btn,.payment-draft .iconbtn {min-height:44px}}
:root {color-scheme:light}
:root[data-app-theme="dark"] {color-scheme:dark}

/* Название и все действия занимают одну строку; сведения не создают отдельные полосы. */
.company-heading-compact {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px}
.company-heading-compact .company-identity-heading {display:flex;gap:10px;align-items:center;min-width:0}
.company-heading-compact .company-monogram {display:grid;width:36px;height:36px;border-radius:11px;font-size:20px}
.company-heading-compact .route-company-title {font-size:28px;line-height:1.15}
.company-heading-compact .company-title-line {gap:8px;min-width:0}
.route-company-meta {display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0}
.route-company-meta .link {min-height:28px;font-size:12px;padding:3px 0;white-space:nowrap}
.route-company-meta .company-close {color:var(--bad)}
.company-description,.company-notice {grid-column:1/-1;margin-left:46px;min-width:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.company-description {color:var(--muted)}
.company-description:empty {display:none}
.company-heading-compact .route-company-actions {display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px;min-width:0;max-width:none;margin:0;flex-basis:auto;flex-wrap:nowrap}
.company-heading-compact .route-company-tools,.company-heading-compact .route-company-primary,.company-heading-compact .company-maps {display:contents}
.company-heading-compact .route-company-tools .btn {justify-content:center;min-height:36px;padding:8px 10px;font-size:12px;white-space:nowrap}
.company-heading-compact .route-company-tools .srv {min-height:36px;padding:7px 9px;white-space:nowrap}
.company-heading-compact .route-company-primary .iconbtn {width:36px;min-width:36px;height:36px}
.company-heading-compact .route-company-primary>.btn {min-height:36px;padding:8px 12px;white-space:nowrap}
.company-sheet .chead {gap:12px}
@media(max-width:1100px) and (min-width:761px) {
 .company-heading-compact {gap:4px 12px}
 .company-heading-compact .route-company-title {font-size:26px}
 .company-heading-compact .route-company-tools .btn {padding:8px}
}
@media(max-width:900px) and (min-width:761px) {
 .company-heading-compact {grid-template-columns:minmax(0,1fr)}
 .company-heading-compact .route-company-actions {grid-row:3;justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:760px) {
 .company-heading-compact {grid-template-columns:minmax(0,1fr);gap:8px}
 .company-heading-compact .route-company-title {font-size:26px}
 .company-heading-compact .route-company-actions {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;grid-row:3}
 .company-heading-compact .route-company-primary {grid-column:1/-1;grid-row:1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
 .route-company-primary>.btn:last-child {margin-left:auto}
 .company-heading-compact .route-company-primary>.btn,.company-heading-compact .route-company-primary .iconbtn {min-height:44px;height:44px}
 .company-heading-compact .route-company-primary .iconbtn {width:44px;min-width:44px}
 .company-heading-compact .route-company-tools .btn,.company-heading-compact .route-company-tools .srv {justify-content:center;min-height:44px;white-space:normal;text-align:center;overflow-wrap:anywhere;padding:8px;font-size:12px}
 .route-company-meta .link {min-height:36px}
}

/* ── Дашборд: доска дел ─────────────────────────────────────────────────────
   Четыре колонки: Сделать сегодня → Делаю сейчас → Ждём клиента → Сделано.
   На телефоне колонки не помещаются рядом, поэтому сверху вкладки, а видна
   одна выбранная колонка (.sel). Цвета — только из tokens.css. */
.board-summary {display:flex;flex-wrap:wrap;gap:16px 40px;padding:16px 24px;margin-bottom:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.board-summary div {display:flex;flex-direction:column}
.board-summary strong {font-size:24px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.board-summary span {font-size:13px;color:var(--muted)}
.board-summary .s-late strong {color:var(--bad)}
.board-summary .s-warn strong {color:var(--warn)}
.board-summary .s-ok strong {color:var(--done-ink)}
.page .err,.page .toast {margin-bottom:16px;padding:10px 14px;border-radius:10px;font-size:13px;font-weight:500}
.board {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.board-tabs {display:none}
.bcol {display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:var(--soft);border:1px solid transparent;min-width:0}
.bcol.full {background:var(--warn-soft);border-color:var(--warn-line)}
.bcol-done {background:var(--done-bg);border-color:var(--done-line)}
.bcol-head {display:flex;flex-direction:column;gap:4px;padding:2px 4px 6px}
.bcol-title {display:flex;align-items:center;gap:8px}
.bcol-title h2 {font-size:15px;letter-spacing:-.01em}
.bcount {margin-left:auto;font-size:12px;font-weight:600;color:var(--text2);background:var(--panel);border-radius:6px;padding:1px 8px;font-variant-numeric:tabular-nums}
.bcol.full .bcount {color:var(--warn);background:var(--panel)}
.bcol-done .bcount {color:var(--done-ink)}
.bcol-head p {font-size:12px;line-height:1.4;color:var(--text2)}
.bfull {font-size:12px;font-weight:600;color:var(--warn);padding:0 4px 2px}
.bempty {font-size:13px;color:var(--muted);padding:10px 4px}
.bcard {display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);min-width:0}
.bcard.own {border-style:dashed;border-color:var(--muted)}
.bcard.done {background:var(--done-bg);border-color:var(--done-line);box-shadow:none}
.bcard-top {display:flex;align-items:center;gap:8px}
.bkind {font-size:11px;font-weight:600;color:var(--muted);background:var(--soft);border-radius:6px;padding:1px 6px}
.bwhen {margin-left:auto;font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap}
.bwhen.late {color:var(--bad);font-weight:600}
.bwhen.today {color:var(--accent);font-weight:600}
.bwhen.done {color:var(--done-ink);font-weight:600}
.bcard-title {font:inherit;font-size:14px;font-weight:600;line-height:1.3;color:var(--text);text-align:left;background:none;border:0;padding:0;overflow-wrap:anywhere}
button.bcard-title:hover {color:var(--accent);text-decoration:underline}
.bcard-where {display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.bwho {font-size:11px;font-weight:600;color:var(--warn);background:var(--warn-soft);border-radius:6px;padding:0 6px}
.bnote {font-size:12px;font-weight:600;color:var(--warn)}
.bcard-acts {display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid var(--soft)}
@media(max-width:1180px) {.board {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px) {
 .board-summary {gap:12px 24px;padding:14px 16px}
 .board-summary strong {font-size:20px}
 .board-tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px}
 .board-tabs .seg {flex-direction:column;gap:0;min-height:48px;font-size:12px}
 .board-tabs .seg b {font-size:13px}
 .board {grid-template-columns:minmax(0,1fr)}
 .bcol:not(.sel) {display:none}
 .bcard-acts .btn {flex:1 1 auto;min-height:44px}
}

/* ── Мой день, вариант А: плотный список ────────────────────────────────────
   Шапка одной строкой, дела строками таблицы, календарь всегда справа.
   Строка — .dense-row (calendar.js → denseRow), открытая на правку —
   прежняя карточка planRow внутри .dense-open. */
.day-head-a {display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.day-head-a h1 {font-size:30px;letter-spacing:-.04em;line-height:1.15}
.day-date {color:var(--muted)}
.day-counts {margin-left:auto;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px}
.day-counts span {display:inline-flex;align-items:center;gap:6px}
.day-counts i {width:8px;height:8px;border-radius:50%;background:var(--line)}
.day-counts .c-late {color:var(--bad);font-weight:600}
.day-counts .c-late i {background:var(--bad)}
.day-counts .c-today {color:var(--accent);font-weight:600}
.day-counts .c-today i {background:var(--accent)}
.day-counts .c-soon {color:var(--muted)}
.day-controls {display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.day-controls .seg {padding:7px 14px;gap:6px}
.seg-n {font-size:12px;color:var(--muted)}
.day-new {margin-left:auto}
.kbd-hint {font-size:12px;font-weight:500;opacity:.7}
.day-main {display:flex;flex-direction:column;gap:12px;min-width:0}
.day-aside {display:flex;flex-direction:column;gap:16px;min-width:0}
.day-list {border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.dl-head,.dense-main {display:grid;grid-template-columns:64px minmax(0,1fr) 180px 128px;gap:14px;align-items:center}
.dl-head {grid-template-columns:64px minmax(0,1fr) 180px 128px 80px;padding:10px 18px;font-size:12px;font-weight:500;color:var(--muted);background:var(--rail)}
.dl-group {display:flex;align-items:center;gap:8px;padding:14px 18px 6px;font-size:13px;font-weight:600}
.dl-group span {color:var(--muted);font-weight:500}
.dl-group.bad {color:var(--bad)}
.dl-group.today {color:var(--accent)}
.dl-group.norm {color:var(--text2)}
.dense-row {display:grid;grid-template-columns:minmax(0,1fr) 80px;align-items:center;gap:14px;padding:9px 18px;border-top:1px solid var(--soft)}
.dense-row:hover {background:var(--hover)}
.dense-row.done {background:var(--done-bg);box-shadow:inset 3px 0 0 var(--done-bar)}
.dense-main {border:0;background:none;padding:0;width:100%;min-width:0;font:inherit;color:var(--text);text-align:left;cursor:pointer}
.dr-time {font-size:13px;color:var(--text2)}
.dr-time.late {color:var(--bad);font-weight:600}
.dr-time.done {color:var(--done-ink)}
.dr-what {display:flex;flex-direction:column;gap:2px;min-width:0}
.dr-what strong {font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-sub {display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;color:var(--text2)}
.dr-sub .t {white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.dr-kind {flex-shrink:0;font-size:11px;font-weight:600;color:var(--muted);background:var(--soft);border-radius:6px;padding:1px 6px}
.dr-note {font-size:12px;color:var(--text2)}
.dr-who {display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}
.dr-who span {white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dr-who .mono {font-size:12px;color:var(--muted)}
.dr-status {min-width:0}
.dr-acts {display:flex;align-items:center;justify-content:flex-end;gap:6px}
.dr-acts .donetick {color:var(--done-ink);display:flex}
.dense-open {padding:10px 18px;border-top:1px solid var(--soft)}
.dl-more {display:flex;align-items:center;gap:8px;width:100%;padding:13px 18px;border:0;border-top:1px solid var(--soft);background:var(--rail);color:var(--text2);font-size:13px;font-weight:500;text-align:left}
.dl-more:hover {background:var(--hover)}
.day-quote.compact {margin:0;padding:0 4px;border:0;background:none}
.day-quote.compact>p {font-size:13px;font-style:italic;color:var(--muted)}
@media(max-width:1260px) {
 .dl-head,.dense-main {grid-template-columns:56px minmax(0,1fr) 160px}
 .dl-head {grid-template-columns:56px minmax(0,1fr) 160px 80px}
 .dr-status,.dl-head .h-status {display:none}
}
@media(max-width:760px) {
 .day-head-a h1 {font-size:26px}
 .day-counts {margin-left:0;width:100%}
 .day-controls .segs {flex:1 1 150px}
 .day-controls .seg {flex:1}
 .day-new {margin-left:0;flex:1 1 100%;min-height:44px;justify-content:center}
 .kbd-hint {display:none}
 .dl-head {display:none}
 .dense-main {grid-template-columns:48px minmax(0,1fr)}
 .dr-who,.dr-status {display:none}
 .dense-row {grid-template-columns:minmax(0,1fr) auto;padding:8px 12px 8px 14px;gap:8px}
 .dr-acts .iconbtn {width:44px;min-width:44px;height:44px}
 .dense-open {padding:10px 12px}
}
/* Узкий экран: список и календарь друг под другом, а не рядом. Раньше
   календарь фиксированной ширины наезжал на список дел. */
@media(max-width:1100px) {
 .day-a .daysplit {grid-template-columns:minmax(0,1fr)}
 .day-a .day-aside {max-width:520px}
}

/* ── Компании, вариант А: плотная таблица ───────────────────────────────────
   Рубрика под названием, приоритет значком рядом, статус плашкой,
   ответственный с инициалами, шаг в две строки. Шесть колонок вместо восьми. */
.grid.dense {grid-template-columns:24px minmax(220px,1.7fr) minmax(100px,.8fr) minmax(110px,.9fr) 128px minmax(130px,1fr) minmax(170px,1.3fr)}
.grid.dense.row {min-height:56px}
.co-cell {display:flex;flex-direction:column;gap:2px;white-space:normal}
.co-line {display:flex;align-items:center;gap:6px;min-width:0}
.co-line .linkname {font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.co-sub {font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.owner-cell {display:flex;align-items:center;gap:6px}
.owner-cell .ini {display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:600;flex-shrink:0}
.owner-cell .t,.step-cell .t {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text2)}
.step-cell {display:flex;flex-direction:column;gap:2px;white-space:normal}
.step-cell .mono {font-size:11px}
.active-filters {display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px}
.af-chip {display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:3px 4px 3px 10px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600}
.af-chip button {display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:6px;background:none;color:inherit}
.af-chip button:hover {background:var(--panel)}
@media(max-width:760px) {
 /* Телефон: строка таблицы — карточка. Порядок ячеек: 1 отметка, 2 компания,
    3 город, 4 ЛПР, 5 статус, 6 ответственный, 7 шаг. */
 .grid.dense {min-width:0}
 .grid.dense.head {display:none}
 .grid.dense.row {grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 16px;min-height:0;align-items:start}
 .grid.dense.row>.cell:nth-child(1),.grid.dense.row>.cell:nth-child(3),.grid.dense.row>.cell:nth-child(5) {display:none}
 .grid.dense.row>.cell:nth-child(2) {grid-column:1;grid-row:1}
 .grid.dense.row>.cell:nth-child(6) {grid-column:2;grid-row:1}
 .grid.dense.row>.cell:nth-child(4) {grid-column:1;grid-row:2;font-size:12px}
 .grid.dense.row>.cell:nth-child(4):before {content:'ЛПР: ';color:var(--muted)}
 .grid.dense.row>.cell:nth-child(7) {grid-column:1/-1;grid-row:3;font-size:12px}
 .grid.dense.row .btn.sm {min-height:40px}
 .active-filters {padding:0 16px 12px}
}
@media(max-width:760px) {
 /* Превью компании на телефоне не помещалось рядом со списком и сжимало его
    в узкую полоску. Прячем: нажатие на строку открывает карточку сразу. */
 .work {padding:0 0 24px;flex-direction:column;gap:0}
 .work .rail {display:none}
 .directory-heading,.list-controls {padding-inline:16px}
}

/* ── Карточка компании, вариант А ───────────────────────────────────────────
   В шапке две главные кнопки, остальное — в меню «Ещё». Этапы — тонкой
   полосой. */
.route-actions-a {display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.more-wrap {position:relative}
.more-menu {position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:240px;display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--lift)}
.more-maps {display:flex;gap:6px;padding:4px 4px 8px;border-bottom:1px solid var(--soft);margin-bottom:4px}
.more-item {display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--text);font-size:13px;text-align:left;text-decoration:none}
.more-item:hover {background:var(--hover)}
.more-item svg {color:var(--muted)}
.more-item.danger {color:var(--bad)}
.more-item.danger svg {color:var(--bad)}
.route-strip {list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px}
.route-strip li {display:flex;flex-direction:column;gap:6px;min-width:0}
.route-strip .strip-bar {height:6px;border-radius:3px;background:var(--line)}
.route-strip li.passed .strip-bar {background:var(--accent)}
.route-strip li.current .strip-bar {background:color-mix(in srgb,var(--accent) 55%,var(--panel))}
.route-strip .lbl-s {font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-strip li.passed .lbl-s {color:var(--text2)}
.route-strip li.current .lbl-s {color:var(--text);font-weight:600}
.chead .company-description,.chead .company-notice {margin-left:0}
@media(max-width:760px) {
 /* Телефон: «Позвонить» и «Записать действие» в ряд, «Ещё» — квадратной
    кнопкой справа, меню раскрывается вдоль правого края. */
 .company-heading-compact .route-company-actions.route-actions-a {width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 44px;gap:8px}
 .route-actions-a>.btn,.route-actions-a>a.btn {min-height:44px;justify-content:center;padding:8px 10px;white-space:nowrap}
 .route-actions-a>[data-act=take] {grid-column:1/-1;grid-row:2}
 .more-wrap .btn {min-height:44px;width:44px;padding:0;justify-content:center;font-size:0;gap:0}
 .more-wrap .btn svg {width:18px;height:18px}
 .more-menu {min-width:min(260px,calc(100vw - 32px))}
 .route-strip .lbl-s {display:none}
 .route-strip li.current .lbl-s {display:block;overflow:visible}
}

/* ── «В работе», вариант А: плотный список с группами ───────────────────── */
.work-a .page-heading {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wk-count {color:var(--muted);font-size:13px}
.wk-list {border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.wk-head,.wk-main {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) 190px 136px;gap:16px;align-items:center}
.wk-head {grid-template-columns:minmax(0,1.3fr) minmax(0,1.5fr) 190px 136px 34px;padding:10px 18px;font-size:12px;font-weight:500;color:var(--muted);background:var(--rail)}
.wk-gh {display:flex;align-items:baseline;gap:8px;margin:0;padding:14px 18px 6px;font-size:13px;font-weight:600}
.wk-gh.bad {color:var(--bad)}
.wk-gh.today {color:var(--accent)}
.wk-gh.norm {color:var(--text2)}
.wk-gh .n {font-weight:500;color:var(--muted)}
.wk-gh .hint {font-weight:400;color:var(--muted)}
.wk-row {display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:16px;align-items:center;padding:9px 18px;border-top:1px solid var(--soft)}
.wk-row:hover {background:var(--hover)}
.wk-main {border:0;background:none;padding:0;min-width:0;font:inherit;color:var(--text);text-align:left;cursor:pointer}
.wk-co,.wk-step,.wk-who {display:flex;flex-direction:column;min-width:0}
.wk-name {display:flex;align-items:center;gap:6px;min-width:0}
.wk-name strong,.wk-sub,.wk-step .t,.wk-who .t {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-sub {font-size:12px;color:var(--muted)}
.wk-owner {color:var(--text2)}
.wk-step .t {font-size:13px}
.wk-step .t.bad {color:var(--bad)}
.wk-when {font-size:12px;font-weight:600;color:var(--text2)}
.wk-when.late {color:var(--bad)}
.wk-when.today {color:var(--accent)}
.wk-who .t {font-size:13px}
.wk-who .muted {color:var(--muted)}
.wk-who .mono {font-size:12px;color:var(--muted)}
.wk-row .iconbtn {width:34px;height:34px}
@media(max-width:1180px) {
 .wk-head,.wk-main {grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) 170px}
 .wk-head {grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr) 170px 34px}
 .wk-head span:nth-child(4),.wk-status {display:none}
}
@media(max-width:760px) {
 .wk-list {border-radius:14px}
 .wk-head {display:none}
 .wk-gh {padding:14px 16px 6px;flex-wrap:wrap}
 .wk-gh .hint {flex-basis:100%;font-size:12px}
 .wk-row {grid-template-columns:minmax(0,1fr) 44px;gap:10px;padding:12px 16px}
 .wk-main {grid-template-columns:minmax(0,1fr);gap:4px}
 .wk-who {flex-direction:row;gap:8px;font-size:12px}
 .wk-who .t {font-size:12px}
 .wk-row .iconbtn {width:44px;height:44px}
}

/* ── «Заявки», вариант А: таблица ───────────────────────────────────────── */
.leads-a .page-heading {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.leads-a .segs .seg {padding:7px 14px;font-size:13px;min-height:36px}
.leads-a .segs .seg.on {font-weight:600}
.ld-note {color:var(--muted);font-size:13px}
.ld-list {border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.ld-head,.ld-row {display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1.4fr) 190px 280px;gap:16px}
.ld-head {padding:10px 18px;font-size:12px;font-weight:500;color:var(--muted);background:var(--rail)}
.ld-row {align-items:center;padding:12px 18px;border-top:1px solid var(--soft)}
.ld-row.is-late {background:color-mix(in srgb,var(--bad) 5%,var(--panel))}
.ld-when,.ld-who,.ld-what,.ld-assignee {display:flex;flex-direction:column;gap:2px;min-width:0}
.ld-when .ago {font-size:13px;font-weight:600;color:var(--text2)}
.ld-when .ago.bad {color:var(--bad)}
.ld-when .src {align-self:flex-start;font-size:11px;font-weight:600;color:var(--text2);background:var(--soft);border-radius:5px;padding:0 6px}
.ld-who strong {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-contacts {display:flex;flex-direction:column;font-size:12px;color:var(--text2);min-width:0}
.ld-contacts>* {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-what .msg {font-size:13px;white-space:pre-line;overflow-wrap:anywhere}
.ld-what .match {font-size:12px;font-weight:500;color:var(--warn)}
.ld-what .match.new {color:var(--muted)}
.ld-what .utm {font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-assignee {font-size:13px;color:var(--text2)}
.ld-assignee small {display:block;font-size:12px;color:var(--muted)}
.ld-assignee .bad small {color:var(--bad)}
.ld-acts {display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;align-items:center;font-size:13px}
.ld-acts .ok {color:var(--ok);font-weight:500}
.ld-foot {margin:12px 0 0;font-size:13px;color:var(--muted)}
@media(max-width:1180px) {
 .ld-head {display:none}
 .ld-row {grid-template-columns:110px minmax(0,1fr) minmax(0,1.3fr);row-gap:10px}
 .ld-assignee {grid-column:2}
 .ld-acts {grid-column:3;justify-content:flex-start}
}
@media(max-width:760px) {
 .ld-list {background:none;border:0;display:flex;flex-direction:column;gap:10px}
 .ld-row {grid-template-columns:minmax(0,1fr);gap:8px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
 .ld-row.is-late {border-color:var(--bad-line,var(--bad))}
 .ld-when {flex-direction:row-reverse;justify-content:space-between;align-items:center}
 .ld-assignee,.ld-acts {grid-column:1}
 .ld-acts {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px}
 .ld-acts .btn {min-height:44px;justify-content:center}
 .ld-acts .btn:first-child:nth-last-child(3) {grid-column:1/-1}
}

/* ── «Сделки», вариант А ────────────────────────────────────────────────── */
.grid.deals {grid-template-columns:minmax(200px,1.5fr) minmax(140px,1fr) 130px 150px minmax(120px,.9fr) 110px}
.grid.deals .deal-name {display:flex;flex-direction:column;min-width:0}
.grid.deals .deal-name strong,.grid.deals .deal-name small {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grid.deals .deal-name small {font-size:12px;color:var(--muted);font-weight:400}
.grid.deals .deal-company,.grid.deals .deal-who {color:var(--text2)}
.grid.deals .deal-sum {text-align:right;font-variant-numeric:tabular-nums}
.grid.deals.row.closed {opacity:.6}
.grid.deals .late {color:var(--bad);font-weight:600}
.grid.deals .muted {color:var(--muted)}
.stage-pill {background:var(--blue-soft);color:var(--blue)}
.stage-pill.closed {background:var(--soft);color:var(--text2)}
@media(max-width:760px) {
 .deals-scroll .deal-sum {text-align:left}
 .deals-scroll .deal-name small {white-space:normal}
}

/* ── Общее для служебных экранов варианта А ─────────────────────────────── */
.sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.users-a .page-heading,.lookups-a .page-heading,.materials-a .page-heading {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.us-note,.lk-note,.mt-note {color:var(--muted);font-size:13px}
.users-a .tag,.lookups-a .tag,.materials-a .tag {display:inline-block;margin-left:6px;padding:0 6px;border-radius:5px;background:var(--soft);color:var(--text2);font-size:11px;font-weight:600;line-height:1.6;vertical-align:1px}
.materials-a .tag {background:var(--accent-soft);color:var(--accent)}
.us-list,.lk-panel,.mt-list {border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden}
.us-foot,.mt-foot {margin:12px 0 0;font-size:13px;color:var(--muted);line-height:1.55;max-width:900px}

/* «Сотрудники» */
.users-a {max-width:1240px}
.us-form {margin-bottom:14px;border-color:var(--accent)}
.us-head,.us-row {display:grid;grid-template-columns:minmax(0,1.4fr) 170px 90px 150px 260px;gap:16px;align-items:center}
.us-head {padding:10px 18px;font-size:12px;font-weight:500;color:var(--muted);background:var(--rail)}
.us-row {padding:12px 18px;border-top:1px solid var(--soft)}
.us-row.off {background:var(--rail)}
.us-row.off .us-name strong {color:var(--muted)}
.us-who {display:flex;align-items:center;gap:10px;min-width:0}
.us-ini,.au-ini {display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:600;flex-shrink:0}
.us-name {display:flex;flex-direction:column;min-width:0}
.us-name .mono {font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.us-role .sel-input {max-width:none;width:100%;min-height:36px;font-size:13px}
.us-role-fixed {font-size:13px;color:var(--text2)}
.us-work {font-size:13px;color:var(--text2);font-variant-numeric:tabular-nums}
.us-totp {display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500}
.us-totp i {width:7px;height:7px;border-radius:50%;background:currentColor}
.us-totp.on {color:var(--ok)}
.us-totp.off {color:var(--bad)}
.us-acts {display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:1100px) {
 .us-head {display:none}
 .us-row {grid-template-columns:minmax(0,1fr) 170px;row-gap:10px}
 .us-work,.us-totp {grid-column:auto}
 .us-acts {grid-column:1/-1;justify-content:flex-start}
}
@media(max-width:760px) {
 .us-row {grid-template-columns:minmax(0,1fr) auto;padding:14px 16px}
 .us-role {grid-column:1/-1}
 .us-acts .btn {min-height:44px;flex:1 1 auto}
 .users-a .page-heading .btn {min-height:44px}
}

/* «Справочники» */
.lookups-a {max-width:1160px}
.lk-split {display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.lk-nav {display:flex;flex-direction:column;gap:2px;padding:8px;border:1px solid var(--line);border-radius:16px;background:var(--panel);position:sticky;top:12px}
.lk-nav-item {display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:none;color:var(--text2);font-size:13px;text-align:left}
.lk-nav-item:hover {background:var(--hover)}
.lk-nav-item.on {background:var(--sel);color:var(--text);font-weight:600}
.lk-nav-item .n {margin-left:auto;font-size:12px;font-weight:400;color:var(--muted)}
.lk-title {display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:16px 20px}
.lk-title h2 {margin:0;font-size:17px;letter-spacing:-.02em}
.lk-title span {font-size:13px;color:var(--muted)}
.lk-head,.lk-row {display:grid;grid-template-columns:minmax(0,1fr) 150px 200px;gap:16px;align-items:center}
.lk-head {padding:10px 20px;font-size:12px;font-weight:500;color:var(--muted);background:var(--rail);border-top:1px solid var(--soft)}
.lk-row {padding:9px 20px;border-top:1px solid var(--soft)}
.lk-row>span:nth-child(3) {display:flex;gap:6px;justify-content:flex-end}
.lk-used {font-size:13px;color:var(--text2);font-variant-numeric:tabular-nums}
.lk-add {display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:var(--rail)}
.lk-add-field {flex:1;display:flex}
.lk-foot {margin:0;padding:0 20px 16px;background:var(--rail);font-size:12px;color:var(--muted);line-height:1.5}
@media(max-width:860px) {
 .lk-split {grid-template-columns:minmax(0,1fr);gap:14px}
 .lk-nav {position:static;flex-direction:row;overflow-x:auto;border-radius:12px;padding:4px}
 .lk-nav-item {flex-shrink:0;white-space:nowrap}
 .lk-head {display:none}
 .lk-row {grid-template-columns:minmax(0,1fr) auto;row-gap:6px;padding:12px 16px}
 .lk-row>span:nth-child(3) {grid-column:1/-1;justify-content:flex-start}
 .lk-row .btn {min-height:40px}
 .lk-title,.lk-add {padding-left:16px;padding-right:16px}
}

/* «Журнал аудита» */
.au-list {background:var(--panel)}
.au-head,.au-row {display:grid;grid-template-columns:130px 200px minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:center}
.au-head {padding:10px 20px;font-size:12px;font-weight:500;color:var(--muted);background:var(--rail);position:sticky;top:0;z-index:1}
.au-row {padding:9px 20px;border-top:1px solid var(--soft)}
.au-when {font-size:12px;color:var(--muted)}
.au-who {display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}
.au-who .t {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.au-ini {width:24px;height:24px;border-radius:8px;font-size:10px}
.au-what {display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}
.au-details {font-size:12px;color:var(--muted);line-height:1.45}
.au-obj {font-size:13px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px) {
 .au-head {display:none}
 .au-row {grid-template-columns:minmax(0,1fr) auto;row-gap:4px;padding:12px 16px}
 .au-when {grid-column:2;grid-row:1}
 .au-who {grid-column:1;grid-row:1}
 .au-what,.au-obj {grid-column:1/-1}
}

/* «Материалы» */
.materials-a {max-width:1160px}
.mt-row {display:grid;grid-template-columns:44px minmax(0,1fr) 90px 170px auto;gap:16px;align-items:center;padding:12px 20px;border-top:1px solid var(--soft)}
.mt-row:first-child {border-top:0}
.mt-ext {display:grid;place-items:center;width:40px;height:40px;border-radius:10px;font-size:11px;font-weight:700;background:var(--soft);color:var(--text2)}
.mt-ext.pdf {background:var(--bad-soft);color:var(--bad)}
.mt-ext.ppt {background:var(--warn-soft);color:var(--warn)}
.mt-ext.xls {background:var(--ok-soft);color:var(--ok)}
.mt-name {display:flex;flex-direction:column;min-width:0}
.mt-name .t {overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-name small {font-size:12px;color:var(--muted)}
.mt-size {font-size:13px;color:var(--text2)}
.mt-date {font-size:13px;color:var(--muted)}
.mt-acts {display:flex;gap:6px;justify-content:flex-end;align-items:center}
.mt-acts .iconbtn {width:32px;height:32px;min-height:32px;min-width:32px}
@media(max-width:900px) {
 .mt-row {grid-template-columns:44px minmax(0,1fr) auto}
 .mt-size,.mt-date {display:none}
}
@media(max-width:760px) {
 .mt-row {grid-template-columns:44px minmax(0,1fr);padding:14px 16px}
 .mt-name .t {white-space:normal}
 .mt-acts {grid-column:1/-1;justify-content:flex-start}
 .mt-acts .btn {min-height:44px;flex:1}
 .mt-acts .iconbtn {width:44px;height:44px}
}
.grid.deals .deal-sum {padding-right:12px}
@media(max-width:760px) {
 .deals-bar {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 4px}
 .deals-bar .grp {display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0!important;min-width:0}
 .deals-bar .sel-input {max-width:none;width:100%;min-height:44px}
 .deals-bar .chip {min-height:44px;align-self:end}
 .deals-scroll .deal-company {font-size:13px;color:var(--text2)}
 .deals-scroll .deal-name strong {font-size:15px}
}
@media(max-width:760px) {
 .audit-bar .grp:last-child {grid-column:1/-1;align-items:flex-end}
}

/* Все телефоны в досье: столбиком, номер не переносится, цифры одной ширины. */
.fact.fact-phones {align-items:flex-start}
.fact .phone-list {display:flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:none!important}
.phone-list a {white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text);text-decoration:none;padding:3px 0}
.phone-list a:hover {color:var(--accent);text-decoration:underline}
@media(max-width:760px) {
 .phone-list a {display:flex;align-items:center;min-height:40px;padding:0;font-size:15px;color:var(--accent)}
}
@media(max-width:760px) {
 .phone-list a {font-size:14px}
 .fact.fact-phones>span:first-child {padding-top:11px}
}

/* ── Форма записи действия: компактнее, следующий шаг внутри ────────────── */
.composer-header {padding:14px 18px}
.composer-header h2 {font-size:16px}
.composer-body {gap:14px;padding:16px 18px}
.composer-body .contact-options {display:flex;flex-wrap:wrap;gap:6px}
.composer-body .contact-option {flex:1 1 auto;flex-direction:row;min-height:40px;padding:6px 12px;gap:6px;font-size:13px}
.composer-body .contact-option svg {width:16px;height:16px}
.composer-body textarea.fld {min-height:64px}
.next-picker {border:0;margin:0;padding:12px 0 0;border-top:1px solid var(--soft);display:flex;flex-direction:column;gap:10px;min-width:0}
.next-picker legend {padding:0 0 8px;float:left;width:100%}
.next-chips {display:flex;flex-wrap:wrap;gap:6px;clear:both}
.next-chips .chip {min-height:34px}
.next-fields {display:grid;grid-template-columns:minmax(120px,1fr) 150px 110px minmax(160px,1.6fr);gap:10px}
.saved-next {margin:6px 0 0;font-size:13px;color:var(--text2)}
@media(max-width:1180px) {
 .next-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px) {
 .composer-body .contact-option {flex:1 1 30%;min-height:44px;justify-content:center}
 .next-chips .chip {min-height:40px;flex:1 1 auto}
 .next-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
 .next-fields .route-field:first-child,.next-fields .route-field:last-child {grid-column:1/-1}
}

/* ── Шапка карточки: все действия в один ряд (по просьбе — как было) ─────── */
.company-heading-compact .route-company-actions.route-actions-row {display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-end}
.route-actions-row .company-maps {display:flex;gap:6px;padding:0;border:0}
.route-actions-row .actions-gap {width:1px;height:24px;background:var(--line);margin:0 4px}
.route-actions-row .btn,.route-actions-row .iconbtn {flex-shrink:0;white-space:nowrap}
.route-actions-row .iconbtn {width:40px;height:40px;min-width:40px}
@media(max-width:1380px) {
 .route-actions-row .btn.ghost span {display:none}
 .route-actions-row .btn.ghost {width:40px;min-width:40px;padding:0}
}
@media(max-width:760px) {
 .company-heading-compact .route-company-actions.route-actions-row {flex-wrap:wrap;justify-content:flex-start;width:100%;grid-row:3}
 .route-actions-row .actions-gap {display:none}
 .route-actions-row .srv {min-height:44px;display:inline-flex;align-items:center}
 .route-actions-row .btn,.route-actions-row .iconbtn {min-height:44px;height:44px}
 .route-actions-row .btn.ghost,.route-actions-row .iconbtn {width:44px;min-width:44px}
 .route-actions-row .btn:not(.ghost) {flex:1 1 auto}
}

/* Переименование графика оплаты */
.payment-title {display:flex;align-items:center;gap:6px}
.payment-rename-btn {width:30px;height:30px;min-width:30px;min-height:30px;border-color:transparent;color:var(--muted)}
.payment-rename-btn:hover {border-color:var(--line);color:var(--accent)}
.payment-rename {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:10px;align-items:end;flex:1;min-width:0}
.payment-rename-acts {display:flex;gap:6px}
@media(max-width:760px) {
 .payment-rename {grid-template-columns:minmax(0,1fr)}
 .payment-rename-acts .btn {min-height:44px;flex:1}
 .payment-rename-btn {width:44px;height:44px}
}
/* Поля шага — по два в ряд: форма узкая, четыре колонки в неё не влезают. */
.next-fields {grid-template-columns:repeat(2,minmax(0,1fr))}
.next-chips .chip {padding:6px 10px}
@media(max-width:760px) {
 .composer-body .contact-option {flex:1 1 28%;flex-direction:column;gap:4px;min-height:56px;padding:6px 4px;font-size:12px}
 /* Шапка карточки на телефоне: сверху справочники и КП, снизу связь и «Действие». */
 .route-actions-row .actions-gap {display:block;flex-basis:100%;height:0;margin:0;background:none}
}

/* ── «Мой день» плитками (вариант 1 с доски дизайна) ─────────────────────
   Плитки — daytiles.js → dayTile, панель справа — dayPanel. Цвета только
   из токенов: тёмная тема получается сама. */
.day-tiles .daysplit {grid-template-columns:minmax(0,1fr) 340px;gap:22px}
.day-tiles .day-aside {position:sticky;top:0;gap:12px}
.day-tiles .calendar-panel {position:static;padding:16px}
.day-tiles .calendar-day {min-height:36px}
.day-tiles .day-aside .day-quote {margin:0}
.day-tiles .day-main {gap:14px}
.dt-group {display:flex;flex-direction:column;gap:10px}
.dt-gh {display:flex;align-items:baseline;gap:6px;font-size:14px;font-weight:600}
.dt-gh span {color:var(--muted);font-weight:500}
.dt-gh.bad {color:var(--bad)}
.dt-gh.today {color:var(--accent)}
.dt-gh.norm {color:var(--text2)}
.dt-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.dtile {display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
.dtile:hover {border-color:var(--muted)}
.dtile.on {border:2px solid var(--muted);background:var(--sel);box-shadow:var(--shadow)}
.dtile.done {background:var(--done-bg);border-color:var(--done-line)}
.dtile-main {display:flex;flex-direction:column;gap:6px;padding:13px 13px 8px;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;min-width:0}
.dt-top {display:flex;align-items:center;gap:6px;width:100%;min-width:0;flex-wrap:wrap}
.dt-when {font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;padding:1px 6px;border-radius:5px;background:var(--soft);color:var(--text2)}
.dt-when.today {background:var(--accent-soft);color:var(--accent)}
.dt-when.late {background:var(--bad-soft);color:var(--bad)}
.dt-when.done {background:var(--ok-soft);color:var(--ok)}
.dt-kind {font-size:11px;font-weight:600;color:var(--text2);background:var(--soft);border-radius:5px;padding:1px 6px}
.dt-mark {font-size:11px;font-weight:600;border-radius:5px;padding:1px 6px}
.dt-mark.solo {color:var(--muted);background:var(--rail)}
.dt-mark.other {color:var(--warn);background:var(--warn-soft)}
.dt-status {margin-left:auto;font-size:11px;font-weight:600;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}
.dt-status.bad {color:var(--bad)}
.dt-title {font-size:14px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.dt-sub {font-size:12px;color:var(--text2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.dt-who {font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dtile-foot {margin-top:auto;display:flex;align-items:center;gap:6px;padding:8px 13px 12px;border-top:1px solid var(--soft)}
.dtile-foot .iconbtn {width:32px;min-width:32px;height:32px;min-height:32px;border-radius:8px;color:var(--accent)}
.dt-done {margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--done-ink)}
.dt-empty {padding:18px;border-radius:12px;background:var(--panel);border:1px dashed var(--line);color:var(--muted);font-size:13px}
.dt-more {display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:36px;padding:6px 12px;border:1px dashed var(--line);border-radius:10px;background:none;color:var(--text2);font-size:13px}
.dt-more:hover {border-color:var(--accent);color:var(--accent)}
.dt-picked {display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:var(--panel);border:1px solid var(--line)}
.dt-picked>span {color:var(--muted);font-size:12px}
.dt-picked>.btn:first-of-type {margin-left:auto}

/* панель дела справа */
.day-panel {position:relative;gap:10px;padding:16px}
.dp-top {display:flex;align-items:center;gap:6px}
.dp-h {font-size:15px;font-weight:600}
.dp-x {margin-left:auto;width:28px;min-width:28px;height:28px;min-height:28px;border:0;background:var(--rail)}
.dp-when {font-size:12px;font-weight:600;color:var(--text2)}
.dp-when.late {color:var(--bad)}
.dp-when.done {color:var(--ok)}
.dp-co {font-size:12px;color:var(--muted)}
.dp-title {font-size:17px;letter-spacing:-.02em;line-height:1.3;overflow-wrap:anywhere}
.dp-body {display:flex;flex-direction:column;gap:10px;min-width:0}
.dp-note {font-size:13px;line-height:1.6;color:var(--text2);white-space:pre-line;overflow-wrap:anywhere;max-height:280px;overflow:auto}
.dp-note.muted {color:var(--muted)}
.dp-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 0;border-top:1px solid var(--soft);border-bottom:1px solid var(--soft);font-size:13px}
.dp-facts .wide {grid-column:1/-1}
.dp-facts dt {font-size:11px;color:var(--muted)}
.dp-facts dd {margin:0;overflow-wrap:anywhere}
.dp-donebadge {display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:7px 10px;border-radius:9px;background:var(--ok-soft);color:var(--ok);font-weight:600;font-size:13px}
.dp-acts {display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--soft)}
.dp-acts.row {flex-direction:row;flex-wrap:wrap}
.dp-acts.row .btn:first-child {flex:1}
.dp-main {display:flex;gap:6px}
.dp-main .btn {flex:1 1 auto;min-height:42px}
.dp-tel {width:42px;min-width:42px;height:42px;min-height:42px;color:var(--accent)}
.dp-more {display:flex;gap:6px;flex-wrap:wrap}
.dp-form {gap:9px}
.dp-field {display:flex;flex-direction:column;gap:4px;min-width:0}
.dp-field>span {font-size:11px;font-weight:600;color:var(--muted)}
.dp-form .fld {min-height:38px;padding:7px 10px}
.dp-form textarea.fld {min-height:90px}
.dp-two {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dp-step {display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px}
.dp-hint {font-size:11px;color:var(--accent)}

/* своё выпадающее меню */
.dd {position:relative;min-width:0}
.dd-btn {display:flex;align-items:center;gap:6px;width:100%;min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.dd-btn svg {color:var(--muted);flex-shrink:0}
.dd-btn.open,.dd-btn:focus-visible {border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}
.dd-cur {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dd-list {position:absolute;left:0;min-width:100%;top:calc(100% + 4px);z-index:45;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:1px;padding:4px;border-radius:10px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--lift)}
.dd-item {display:flex;align-items:center;gap:8px;min-height:32px;padding:0 9px;border:0;border-radius:7px;background:none;color:var(--text);font:inherit;font-size:13px;text-align:left;white-space:nowrap;cursor:pointer;flex-shrink:0}
.dd-item span {flex:1}
.dd-item:hover {background:var(--soft)}
.dd-item.on {background:var(--accent-soft);color:var(--accent);font-weight:600}

/* окно «когда»: месяц, колонки часов и минут */
.wp {position:relative;display:inline-flex;flex:1 1 200px;min-width:0}
.wp-btn {display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;width:100%}
.wp-btn>span {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wp-btn.open {border-color:var(--accent)}
.wp-pop {position:absolute;top:calc(100% + 6px);left:0;z-index:40;width:310px;display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:var(--panel);border:1px solid var(--line);box-shadow:var(--lift)}
.wp-pop.right {left:auto;right:0}
.wp-pop.up {top:auto;bottom:calc(100% + 6px)}
.wp-cols {display:flex;gap:10px}
.wp-month {flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.wp-head {display:flex;align-items:center;gap:4px}
.wp-head strong {font-size:12px;text-transform:capitalize;margin-right:auto}
.wp-head .iconbtn {width:24px;min-width:24px;height:24px;min-height:24px;border-radius:6px}
.wp-grid {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;text-align:center}
.wp-grid>span {font-size:9px;color:var(--muted)}
.wp-day {height:26px;padding:0;border:1px solid transparent;border-radius:6px;background:none;color:var(--text);font:inherit;font-size:11px;cursor:pointer}
.wp-day:hover {background:var(--soft)}
.wp-day.out {color:var(--muted);opacity:.5}
.wp-day.today {border-color:var(--accent);font-weight:600}
.wp-day.on {background:var(--accent);color:var(--on-accent);font-weight:600}
.wp-time {width:92px;display:flex;flex-direction:column;gap:6px}
.wp-time>strong {font-size:12px;text-align:center}
.wp-tcols {display:flex;gap:4px;height:178px}
.wp-col {flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:3px;border-radius:8px;background:var(--rail);scrollbar-width:thin}
.wp-t {flex-shrink:0;height:26px;padding:0;border:0;border-radius:6px;background:none;color:var(--text2);font-family:'IBM Plex Mono',monospace;font-size:12px;cursor:pointer}
.wp-t:hover {background:var(--soft)}
.wp-t.on {background:var(--accent);color:var(--on-accent);font-weight:600}
.wp-foot {display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--soft)}
.wp-allday {padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text2);font:inherit;font-size:12px;cursor:pointer}
.wp-allday.on {border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.wp-label {flex:1;min-width:0;font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.day-new-form .dd {min-width:0}
.day-new-form .dd-btn {min-height:40px}

@media(max-width:1150px) {
 .day-tiles .daysplit {grid-template-columns:1fr}
 .day-tiles .day-aside {position:static}
}
/* Компактный календарь рядом с плитками: открытое дело должно помещаться под ним. */
.day-tiles .calendar-panel {gap:8px;padding:12px 14px}
.day-tiles .calendar-heading .lbl,.day-tiles .calendar-panel>.route-help {display:none}
.day-tiles .calendar-heading h2 {font-size:15px;margin:0}
.day-tiles .calendar-grid {gap:2px}
.day-tiles .calendar-weekday {padding:2px 0}
.day-tiles .calendar-day {min-height:30px;gap:2px;border-radius:8px}
.day-tiles .calendar-footer {padding-top:8px}
.dp-form .wp {flex:none;width:100%}
.dp-acts.row .btn {white-space:nowrap}
.dp-acts.row .btn.ghost {padding:9px 11px}
.dp-acts.row .btn:first-child {flex:1 1 100%}
.dp-acts.row .btn.ghost {flex:1 1 0}

/* ── дашборд по направлениям (dirboard.js) ─────────────────────────────── */
.db-page {display:flex;flex-direction:column}
.db-head {margin-bottom:16px}
.db-head>span:nth-of-type(1) {color:var(--muted);font-size:13px}
.db-head .seg {padding:7px 14px}
.db-tot {margin-left:auto;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text2)}
.db-tot b {font-weight:700}
.db-page .bad {color:var(--bad)}
.db-page .ok {color:var(--ok)}
.db-ro {display:inline-flex;align-items:center;gap:5px;color:var(--muted)}
.db-cols {display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;align-items:start}
.db-col {display:flex;flex-direction:column;border:1px solid var(--line);border-top:4px solid var(--dir);border-radius:16px;background:var(--panel);min-width:0}
.db-col-head {display:flex;flex-direction:column;gap:6px;padding:14px 16px 10px}
.db-col-title {display:flex;align-items:baseline;gap:8px;padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}
.db-col-title h2 {font-size:17px;letter-spacing:-.02em}
.db-col-title>span {margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap}
.db-stats {font-size:12px;color:var(--muted)}
.db-note {margin:4px 0 0;padding:9px 11px;border-radius:10px;font-size:12px;line-height:1.45;background:var(--bad-soft);color:var(--bad)}
.db-note.wait {background:var(--warn-soft);color:var(--warn)}
.db-col-list {display:flex;flex-direction:column;gap:8px;padding:2px 12px 14px}
.db-card {display:flex;flex-direction:column;width:100%;border:1px solid var(--soft);border-radius:12px;background:var(--panel);overflow:hidden;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}
.db-card-head {display:flex;flex-direction:column;gap:6px;width:100%;padding:11px 12px;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}
.db-card:hover {border-color:var(--muted)}
.db-card.late {border-color:var(--bad-soft);box-shadow:inset 3px 0 0 var(--bad)}
.db-card-top {display:flex;align-items:center;gap:8px;width:100%;min-width:0}
.db-card-top strong {flex:1;min-width:0;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.db-draft {flex-shrink:0;font-size:11px;font-weight:600;border-radius:6px;padding:0 6px;white-space:nowrap;color:var(--draft);background:var(--draft-soft);border:1px solid var(--draft-line)}
.db-chip {flex-shrink:0;font-size:11px;font-weight:600;border-radius:6px;padding:1px 7px;white-space:nowrap}
.db-chip.go {background:var(--ok-soft);color:var(--ok)}
.db-chip.late {background:var(--bad-soft);color:var(--bad)}
.db-chip.wait {background:var(--warn-soft);color:var(--warn)}
.db-chip.none {background:var(--soft);color:var(--muted)}
.db-card-prog,.db-item-prog {display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:var(--text2)}
.db-track {flex:1;display:flex;gap:3px;min-width:60px}
.db-track i {flex:1;height:6px;border-radius:3px;background:var(--soft)}
.db-next {font-size:12px;color:var(--text2)}
.db-next>span {color:var(--muted)}
.db-next.bad {color:var(--bad)}
.db-last {font-size:11px;color:var(--muted)}
.db-empty {padding:12px;color:var(--muted);font-size:12px}

.db-focus {display:grid;grid-template-columns:270px minmax(0,1fr) 320px;gap:16px;align-items:start}
.db-rail {display:flex;flex-direction:column;gap:8px;position:sticky;top:0}
.db-rail-item {display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--rail);color:var(--text);text-align:left;cursor:pointer}
.db-rail-item.on {border:2px solid var(--dir);background:var(--panel)}
.db-ring {flex-shrink:0;width:50px;height:50px;border-radius:50%;background:conic-gradient(var(--dir) var(--pct),var(--soft) 0);display:grid;place-items:center}
.db-ring span {width:38px;height:38px;border-radius:50%;background:var(--panel);display:grid;place-items:center;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600}
.db-rail-text {display:flex;flex-direction:column;gap:2px;min-width:0;font-size:12px;color:var(--muted)}
.db-rail-text strong {font-size:14px;color:var(--text);line-height:1.25}
.db-flag {font-weight:600;color:var(--bad)}
.db-loose {display:flex;flex-direction:column;gap:3px;padding:12px;border:1px dashed var(--line);border-radius:14px;font-size:12px;color:var(--muted)}
.db-loose strong {color:var(--text2)}
.db-loose p {margin-top:4px}
.db-main {gap:12px;padding:18px;min-width:0}
.db-main-head {display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.db-main-head i {width:12px;height:12px;border-radius:4px;background:var(--dir)}
.db-main-head h2 {font-size:22px;letter-spacing:-.03em}
.db-strip {display:grid;gap:6px}
.db-strip {position:relative}
.db-strip button {position:relative;z-index:1;display:flex;align-items:baseline;gap:6px;min-height:40px;padding:9px 11px;border:1px solid transparent;border-radius:12px;background:var(--rail);font:inherit;font-size:12px;color:var(--muted);text-align:left;cursor:pointer;box-shadow:inset 0 -3px 0 var(--soft);transition:border-color var(--motion-fast),background var(--motion-fast)}
.db-strip button:disabled {cursor:default;opacity:.6}
.db-strip button.has {color:var(--text2);box-shadow:inset 0 -3px 0 var(--dir)}
.db-strip button.bad {color:var(--bad);box-shadow:inset 0 -3px 0 var(--bad)}
.db-strip button.go {box-shadow:inset 0 -3px 0 var(--ok)}
.db-strip button.wait,.db-strip button.warn {color:var(--warn);box-shadow:inset 0 -3px 0 var(--warn)}
.db-strip button.has:hover {border-color:var(--muted)}
.db-strip button.on {background:var(--panel);border-color:var(--dir);font-weight:600}
.db-strip button.on.selection-in-motion {background:transparent;border-color:transparent}
.db-strip .selection-glider {background:var(--panel);border:1px solid var(--dir);border-radius:12px}
.db-strip b {margin-left:auto;font-size:18px;color:inherit}
.db-items {display:flex;flex-direction:column;gap:8px}
.db-item {border:1px solid var(--soft);border-radius:14px;overflow:hidden}
.db-item.open {border-color:var(--muted)}
.db-item-head {width:100%;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:16px;align-items:center;padding:11px 14px;border:0;background:var(--panel);color:var(--text);text-align:left;cursor:pointer}
.db-item.open .db-item-head {background:var(--rail)}
.db-item-main {display:flex;flex-direction:column;gap:3px;min-width:0}
.db-item-prog {flex-direction:column;align-items:stretch;gap:4px}
.db-item-prog .db-track i {height:8px;border-radius:4px}
.db-item-body {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:10px 14px 14px;border-top:1px solid var(--soft)}
.db-item-body h3 {font-size:11px;font-weight:600;color:var(--muted);margin-bottom:5px}
.db-item-body ul {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.db-item-body li {display:grid;grid-template-columns:52px minmax(0,1fr);gap:6px;font-size:12px}
.db-item-body time {font-family:'IBM Plex Mono',monospace;color:var(--text2);font-weight:600}
.db-item-body em {font-style:normal;color:var(--muted)}
.db-item-body p {font-size:12px;color:var(--muted)}
.db-item-foot {grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.db-feed {gap:6px;padding:16px;position:sticky;top:0}
.db-feed h2 {font-size:15px}
.db-feed>p {font-size:12px;color:var(--muted)}
.db-feed ol {list-style:none;margin:6px 0 0;padding:0}
.db-feed li {display:flex;flex-direction:column;gap:1px;padding:0 0 12px 18px;position:relative;font-size:12px;color:var(--text2)}
.db-feed li:before {content:'';position:absolute;left:2px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--dir)}
.db-feed li:after {content:'';position:absolute;left:6px;top:16px;bottom:0;width:1px;background:var(--soft)}
.db-feed time {font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--muted)}
.db-feed strong {color:var(--text);font-size:12px}
@media(max-width:1200px) {.db-focus {grid-template-columns:240px minmax(0,1fr)}.db-feed {grid-column:1/-1;position:static}}
@media(max-width:900px) {
 .db-cols,.db-focus {grid-template-columns:1fr}
 .db-rail {position:static;flex-direction:row;overflow-x:auto;padding-bottom:4px}
 .db-rail-item {flex:0 0 240px}
 .db-loose {flex:0 0 240px}
 .db-item-head {grid-template-columns:1fr}
 .db-item-body {grid-template-columns:1fr}
 .db-tot {margin-left:0}
}

/* «Справочники» → «Направления дашборда» */
.dir-ed {display:flex;flex-direction:column;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 var(--dir);padding-left:14px}
.dir-ed-head {display:flex;align-items:center;gap:8px}
.dir-ed-head .fld {font-weight:600;font-size:15px}
.dir-ed-items {display:flex;flex-direction:column;gap:6px}
.dir-ed-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr) auto auto;gap:8px;align-items:center}
.dir-ed-row.head {font-size:11px;color:var(--muted)}
.dir-ed-draft {display:inline-flex;align-items:center;gap:6px;min-height:36px;font-size:13px;color:var(--text2);white-space:nowrap;cursor:pointer}
.dir-ed-draft input {width:18px;height:18px;accent-color:var(--draft)}
.dir-ed-row .fld {min-height:36px;padding:7px 10px}
.dir-ed-new {display:flex;gap:8px;padding-top:16px}
@media(max-width:760px) {.dir-ed-row {grid-template-columns:1fr}.dir-ed-row.head {display:none}}
@media(max-width:760px) {
 .db-rail {align-items:flex-start}
 .db-rail-item {flex:0 0 232px;padding:10px}
 .db-loose {flex:0 0 232px}
 .db-strip {display:flex!important;overflow-x:auto;scrollbar-width:none}
 .db-strip button {flex:0 0 auto;white-space:nowrap}
 .db-main {padding:14px}
 .db-main-head h2 {font-size:19px}
}

/* интерактив дашборда: «Колонки» */
.db-col-title {width:100%}
.db-col-chev {margin-left:auto;display:inline-flex;color:var(--muted);transition:transform 260ms cubic-bezier(.22,1,.36,1)}
.db-col-chev.on {transform:rotate(180deg);color:var(--dir)}
.db-colsum {display:flex;flex-direction:column;gap:8px;margin-top:6px;padding:10px 12px;border-radius:12px;background:var(--rail)}
.db-colsum-bar {display:flex;gap:3px;height:8px}
.db-colsum-bar i {border-radius:4px;background:var(--muted);transform-origin:left center}
.db-colsum i.bad {background:var(--bad)} .db-colsum i.go {background:var(--ok)} .db-colsum i.wait,.db-colsum i.warn {background:var(--warn)}
.db-colsum ul {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.db-colsum li {display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2)}
.db-colsum li>i {width:8px;height:8px;border-radius:50%;background:var(--muted)}
.db-colsum li b {margin-left:auto;font-weight:700}
.db-colsum li span {width:36px;text-align:right;color:var(--muted);font-family:'IBM Plex Mono',monospace;font-size:11px}
.db-card:hover {border-color:var(--muted)}
.db-card.open {border-color:var(--dir);box-shadow:var(--shadow)}
.db-card-body {display:flex;flex-direction:column;gap:6px;padding:4px 12px 12px;border-top:1px solid var(--soft)}
.db-card-body h3 {font-size:11px;font-weight:600;color:var(--muted);margin-top:6px}
.db-card-body ul {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.db-card-body li {display:grid;grid-template-columns:52px minmax(0,1fr);gap:6px;font-size:12px}
.db-card-body time {font-family:'IBM Plex Mono',monospace;font-weight:600;color:var(--text2)}
.db-card-body time.bad {color:var(--bad)} .db-card-body time.ok {color:var(--ok)}
.db-card-body em {font-style:normal;color:var(--muted)}
.db-card-body p {font-size:12px;color:var(--muted)}
.db-card-body .btn {align-self:flex-start;margin-top:4px}
/* интерактив дашборда: «Фокус» */
.db-rail {position:relative}
.db-rail .selection-glider {border:2px solid var(--dir);background:var(--panel);border-radius:16px}
.db-rail-item {position:relative;z-index:1}
.db-rail-item.on.selection-in-motion {border-color:transparent;background:transparent}
.db-rail-item:hover {border-color:var(--muted)}
.db-item:hover:not(.open) {border-color:var(--line)}
.db-item-body time.bad {color:var(--bad)} .db-item-body time.ok {color:var(--ok)}
.db-filter-note {display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text2)}
.db-filter-note .link {margin-left:auto}
.db-feed li button {display:flex;flex-direction:column;gap:1px;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.db-feed li button:hover strong {color:var(--dir)}
.db-item.flash {animation:db-flash 1.2s cubic-bezier(.22,1,.36,1)}
@keyframes db-flash {0% {box-shadow:0 0 0 0 color-mix(in srgb,var(--dir) 55%,transparent)}40% {box-shadow:0 0 0 6px color-mix(in srgb,var(--dir) 25%,transparent)}100% {box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion: reduce) {.db-item.flash {animation:none}.db-col-chev {transition:none}}

/* ссылки «ведётся в …» */
.db-refs {display:flex;flex-direction:column;gap:6px;padding-top:4px}
.db-refs h3 {font-size:11px;font-weight:600;color:var(--muted)}
.db-refs button {display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 11px;border:1px dashed var(--line);border-radius:10px;background:none;font:inherit;font-size:12px;color:var(--text2);text-align:left;cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast)}
.db-refs button:hover {border-color:var(--dir);background:var(--rail)}
.db-refs strong {color:var(--text);font-size:13px}
.db-refs em {margin-left:auto;display:inline-flex;align-items:center;gap:3px;font-style:normal;color:var(--accent);white-space:nowrap}
.db-card.flash {animation:db-flash 1.2s cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion: reduce) {.db-card.flash {animation:none}}

/* «Записать действие» в карточке — компактно, как панель «Моего дня» */
.route-composer .composer-body.dp-form {gap:12px;padding:16px 18px 18px}
.route-composer .composer-header {padding:14px 18px}
.rec-two {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.route-composer .route-result-switch {align-self:flex-end;margin-top:-6px;font-size:11px}
.route-composer textarea.fld {min-height:64px;resize:vertical}
.rec-next {display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--soft)}
.rec-next .dp-step {grid-template-columns:150px minmax(0,1fr)}
.route-composer .composer-save {min-height:42px}
.route-composer .route-actions .iconbtn {width:42px;height:42px;min-height:42px}
.route-composer .planned-context {padding:10px 12px}
@media(max-width:760px) {.rec-two,.rec-next .dp-step {grid-template-columns:1fr}}
/* всплывающие меню и окно «когда» не должны обрезаться краем формы */
.route-composer {overflow:visible}
.route-composer .composer-header {border-radius:17px 17px 0 0}

/* Единый вид: форма в карточке одного размера с панелью дела в «Моём дне» (360px). */
.overview-grid {grid-template-columns:minmax(0,1fr) 360px}
.route-composer {border-radius:16px}
.route-composer .composer-header {gap:10px;padding:10px 14px;border-radius:15px 15px 0 0}
.route-composer .composer-icon {width:30px;height:30px;border-radius:9px}
.route-composer .composer-icon svg {width:16px;height:16px}
.route-composer .composer-header h2 {font-size:15px;letter-spacing:-.01em}
.route-composer .composer-header p {font-size:11px;margin-top:1px}
.route-composer .composer-body.dp-form {gap:10px;padding:14px 16px 16px}
.route-composer textarea.fld {min-height:56px}
.route-composer .rec-next {gap:8px;padding-top:10px}
.route-composer .rec-next .dp-step {grid-template-columns:110px minmax(0,1fr)}
.route-composer .planned-context {padding:9px 11px;font-size:12px;gap:6px}
.route-composer .route-saved {gap:8px;padding:4px 0 8px}
.route-composer .saved-check {width:44px;height:44px}
.route-composer .saved-check svg {width:20px;height:20px}
.route-composer .route-saved strong {font-size:15px}
.route-composer .sale-hint {padding:8px 10px}

/* ── единый вид полей (uikit.js) ─────────────────────────────────────────
   Системный список или поле даты остаётся в разметке скрытым, рядом — наше
   меню или окно «когда». Окна выводятся поверх страницы (position:fixed),
   поэтому их не обрезают таблицы и диалоги. */
.ux-hidden {position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden;clip-path:inset(50%)}
.ux-wrap {position:relative;display:inline-flex;min-width:0;flex:1 1 auto;vertical-align:middle}
.route-field>.ux-wrap,label>.ux-wrap,.dp-field>.ux-wrap {display:flex;width:100%}
.ux-wrap>.ux-btn {width:100%}
.dd-btn.ux-btn.sm {min-height:34px;padding:0 9px;font-size:12px;border-radius:8px}
.wp-btn.ux-btn {min-height:38px;padding:0 10px;font-size:13px}
.ux-btn:disabled {opacity:.55;cursor:not-allowed}
.ux-pop {position:fixed!important;right:auto!important;bottom:auto!important;z-index:300}
.dd-list.ux-pop {max-height:300px;max-width:min(420px,calc(100vw - 16px))}
.wp-pop.ux-pop {width:auto;max-width:calc(100vw - 16px)}
.wp-pop.ux-pop .wp-month {width:208px;flex:none}
.wp-foot .link {font-size:12px}

@media(min-width:761px) {
 .fld,.sel-input {min-height:38px;padding:7px 10px;border-radius:9px;font-size:13px}
 .sel-input {min-height:34px;padding:5px 9px;font-size:12px;border-radius:8px}
 textarea.fld {min-height:72px;line-height:1.5}
 .lbl {font-size:11px;font-weight:600}
 .route-field {gap:4px}
 .form2 {gap:12px}
 .box {padding:18px;gap:14px}
 .box .box {padding:14px}
}

/* «Команда» → кнопка с тремя полосками: дела одного сотрудника */
.day-who {position:relative}
.day-who-btn {display:inline-flex;align-items:center;gap:7px;min-width:40px;min-height:40px;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text2);font:inherit;font-size:13px;cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast)}
.day-who-btn:hover,.day-who-btn.open {border-color:var(--accent)}
.day-who-btn.on {background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}
.day-who-list {min-width:220px;right:auto}
.dd-list:not(.ux-pop) {animation:dd-in 200ms cubic-bezier(.22,1,.36,1)}
@keyframes dd-in {from {opacity:0;transform:translateY(-6px) scale(.98)}to {opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce) {.dd-list:not(.ux-pop) {animation:none}}

/* Закрытие своего дела с итогом: плитка раскрывается на две колонки */
.dtile.closing {grid-column:span 2;border:2px solid var(--accent);box-shadow:var(--lift)}
.dt-close {display:flex;flex-direction:column;gap:8px;padding:10px 13px 13px;border-top:1px solid var(--soft);background:var(--rail);animation:dt-close-in 260ms cubic-bezier(.22,1,.36,1)}
@keyframes dt-close-in {from {opacity:0;transform:translateY(-6px)}to {opacity:1;transform:none}}
.dt-close-lbl {font-size:11px;font-weight:600;color:var(--muted)}
.dt-close-res {display:flex;gap:6px;flex-wrap:wrap}
.dt-close-res button {min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text2);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.dt-close-res button.on {background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.dt-close textarea.fld {min-height:56px;resize:none;border-color:var(--accent)}
.dt-close-acts {display:flex;align-items:center;gap:6px}
.dt-close-acts .link {margin-left:auto}
.dt-result {font-size:12px;color:var(--ok);overflow-wrap:anywhere}
.dt-result b {font-weight:700}
/* «Просрочено N» вместо «К плану» */
.dt-late-btn {display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:4px 12px;border:1px solid var(--bad);border-radius:8px;background:var(--panel);color:var(--bad);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.dt-late-btn i {width:7px;height:7px;border-radius:50%;background:var(--bad)}
.dt-late-btn.on {background:var(--bad);color:#FFFFFF}
.dt-late-btn.on i {background:#FFFFFF}
.dt-late-btn:disabled {opacity:.45;cursor:default}
.dt-late-block {display:flex;flex-direction:column;gap:6px;animation:dt-close-in 260ms cubic-bezier(.22,1,.36,1)}
.dt-late-block>.link {align-self:flex-start}
@media (prefers-reduced-motion: reduce) {.dt-close,.dt-late-block {animation:none}}
@media(max-width:760px) {.dtile.closing {grid-column:auto}}
.card-section-title {font-size:17px;margin:8px 0 -8px}
.dt-company {cursor:pointer;border-radius:3px}.dt-company:hover {text-decoration:underline;text-underline-offset:3px;color:var(--accent,inherit)}
.next-plan {display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:14px;background:var(--panel)}.next-plan.late,.next-plan.bad {border-left-color:var(--bad)}.next-plan-icon {display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--accent-soft);color:var(--accent);flex-shrink:0}.next-plan-body {display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.next-plan-body strong {font-size:15px;font-weight:600;overflow-wrap:anywhere}.next-plan-meta {font-size:12px;color:var(--muted)}.next-plan-meta time {font-variant-numeric:tabular-nums;color:var(--text2)}.next-plan-meta time.late,.next-plan-meta time.bad {color:var(--bad)}
@media (max-width:560px){.next-plan {flex-wrap:wrap}.next-plan .btn {width:100%}}
.next-plan-body strong {color:var(--text)}
.next-plan {flex-direction:column;align-items:stretch;gap:12px}.next-plan-row {display:flex;align-items:center;gap:14px}.next-plan-body strong {font-size:16px}.next-plan-step {font-size:13px;color:var(--text2)}.next-plan-meta .late {color:var(--bad)}.next-plan-why {margin:0;padding:10px 12px;border-radius:10px;background:var(--soft);font-size:13px;line-height:1.5;color:var(--text2);overflow-wrap:anywhere}
.plan-shift {display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 18px 50px;border:1px dashed var(--line);border-radius:10px;font-size:12.5px;color:var(--text2)}.plan-shift svg {flex-shrink:0;color:var(--muted)}
@media (max-width:760px){.plan-shift {margin-left:0}}
/* Окно дела в «Моём дне»: компактное, поверх экрана */
.dp-modal {position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--text) 32%,transparent);backdrop-filter:blur(3px);animation:dp-fade .18s ease-out}
.dp-modal .day-panel {width:min(560px,100%);max-height:calc(100dvh - 48px);overflow:auto;padding:22px 24px;gap:14px;border-radius:20px;box-shadow:var(--lift);animation:dp-rise .22s cubic-bezier(.22,1,.36,1)}
.dp-modal .dp-title {font-size:20px;line-height:1.3}
.dp-strip {display:flex;flex-wrap:wrap;gap:8px;margin:0}
.dp-strip>div {display:flex;flex-direction:column;gap:3px;padding:9px 12px;border-radius:10px;background:var(--soft);min-width:0;flex:1 1 140px}
.dp-strip dt {font-size:11px;color:var(--muted)}
.dp-strip dd {margin:0;font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:1px;overflow-wrap:anywhere}
.dp-strip dd small {font-weight:400;font-size:12px;color:var(--muted)}
.dp-strip dd.ok {color:var(--ok);flex-direction:row;flex-wrap:wrap;align-items:center;gap:5px}
.dp-strip dd.ok small {color:var(--ok);font-weight:500}
.dp-strip dd.late {color:var(--bad)}
.dp-modal .dp-note {font-size:14px;line-height:1.6}
@keyframes dp-fade {from{opacity:0}}
@keyframes dp-rise {from{opacity:0;transform:translateY(10px) scale(.98)}}
@media (prefers-reduced-motion:reduce){.dp-modal,.dp-modal .day-panel {animation:none}}
/* Незаполненное «Что было»: красная рамка и понятная подпись, а не серая строка */
.dp-field.invalid>span:first-child {color:var(--bad)}
.dp-field.invalid .dd-btn {border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 18%,transparent)}
.dp-field>.route-field-error {font-size:12.5px;font-weight:500;color:var(--bad);line-height:1.4}

/* «Мой день»: блок сотрудника с рядами «Сегодня / Просрочено / Выполнено» */
.day-counts .c-done {display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-weight:600}
.dl-person {display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);overflow:hidden;margin-bottom:16px}
.dl-head {display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--soft)}
.dl-av {display:grid;place-items:center;width:38px;height:38px;border-radius:50%;flex-shrink:0;background:hsl(var(--hue) 38% 42%);color:#fff;font-size:13px;font-weight:700}
.dl-name {font-size:16px;font-weight:700}
.dl-counts {display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.dl-counts span {font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--text2)}
.dl-counts .bad {background:var(--bad-soft);color:var(--bad)}
.dl-counts .ok {background:var(--ok-soft);color:var(--ok)}
.dl-prog {width:120px;height:6px;border-radius:99px;background:var(--soft);overflow:hidden}
.dl-prog i {display:block;height:100%;border-radius:99px;background:var(--ok)}
.dl-lane {display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:14px 18px;border-bottom:1px solid var(--soft)}
.dl-lane:last-child {border-bottom:0}
.dl-lbl {display:flex;flex-direction:column;gap:2px;padding-top:4px}
.dl-lbl b {font-size:14px;font-weight:600}
.dl-lbl span {font-size:12px;color:var(--muted)}
.dl-lane.today .dl-lbl b {color:var(--accent)}
.dl-lane.bad {background:linear-gradient(90deg,var(--bad-soft),transparent 70%)}
.dl-lane.bad .dl-lbl b {color:var(--bad)}
.dl-lane.ok .dl-lbl b {color:var(--ok)}
.dl-lane .dt-empty {padding:6px 0}
.dt-grid.small {grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.dtile.late {border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}
.dt-band {display:block;height:7px;background:repeating-linear-gradient(-45deg,var(--bad) 0 2px,transparent 2px 7px);opacity:.5}
.dt-late {margin-left:auto;font-size:11px;font-weight:600;white-space:nowrap;padding:1px 6px;border-radius:5px;background:var(--bad-soft);color:var(--bad)}
.dt-kind {display:inline-flex;align-items:center;gap:4px}
.dt-setby {font-size:11.5px;color:var(--muted);padding-top:6px;border-top:1px dashed var(--line)}
.dt-setby b {color:var(--text2);font-weight:600}
.dt-small .dtile-main {padding:10px 11px;gap:4px;cursor:default}
.dt-small button.dtile-main {cursor:pointer}
.dt-small .dt-title {font-size:13.5px}
.dt-small .dt-when {display:inline-flex;align-items:center;gap:3px}
.dt-small .dt-result {color:var(--text2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dt-small .dt-result b {color:var(--ok)}
.dt-small .dt-result.miss b {color:var(--bad)}
.day-who-btn {font-weight:500;color:var(--text)}
.dd-late {margin-left:auto;padding-left:12px;font-style:normal;font-size:11.5px;font-weight:700;color:var(--bad);white-space:nowrap}
.day-who-list {min-width:280px}
.day-who-list .dd-item {white-space:nowrap}
@media(max-width:760px) {
  .dl-head {padding:12px 14px}
  .dl-counts {margin-left:0;width:100%}
  .dl-lane {grid-template-columns:1fr;gap:8px;padding:12px 14px}
  .dl-lbl {flex-direction:row;align-items:baseline;gap:8px;padding-top:0}
  .dl-lane .dt-grid {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -14px;padding:0 14px 4px}
  .dl-lane .dt-grid>.dtile {flex:0 0 80%;scroll-snap-align:start}
  .dl-lane .dt-grid.small>.dtile {flex:0 0 64%}
}
.next-plan-acts {display:flex;gap:8px;flex-wrap:wrap}
.next-plan-acts .btn {min-height:40px}
.next-plan-edit {display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.next-plan-edit .rec-next {display:flex;flex-direction:column;gap:10px}
.next-plan-edit .wp {flex:none}
.next-plan-edit .next-plan-acts {margin-top:0}
@media(max-width:760px) {.next-plan-acts .btn {flex:1 1 auto}}
