@font-face{font-family:UISans;src:local("Inter"),local("Arial")}*{box-sizing:border-box}html{--bg:#f8f8f5;--surface:#fff;--sidebar:#f0f1ec;--text:#242b26;--muted:#747b71;--line:#e6e8e0;--green:#355b45;--green-soft:#e9f0e7;--orange:#b27635;--orange-soft:#fcf2e1;--red:#ad5345;--red-soft:#faece7;--shadow:0 16px 70px #22301c16;color-scheme:light}html[data-theme=dark]{--bg:#181d19;--surface:#212821;--sidebar:#1c231d;--text:#e6eadd;--muted:#a0ac9b;--line:#343e32;--green:#b6d0a5;--green-soft:#2b3b2d;--orange:#e4b97d;--orange-soft:#3f3527;--red:#edac97;--red-soft:#422d27;--shadow:0 16px 70px #0006;color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 UISans,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.55;cursor:wait}a{color:var(--green);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:36px;line-height:1.18;font-weight:600;letter-spacing:-1.1px}h2{font-size:20px;font-weight:600;letter-spacing:-.4px}p{color:var(--muted)}small{font-size:12px}.muted{color:var(--muted);font-size:12px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.9px;color:var(--muted);margin-bottom:14px}.workspace{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:32px 20px 20px;background:var(--sidebar);border-right:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:12px;color:var(--text);margin:0 7px 45px}.brand{display:inline-flex;justify-content:center;align-items:center;width:40px;height:40px;background:var(--green);color:var(--bg);border-radius:12px;font-size:26px;font-family:Georgia,serif;font-weight:600;position:relative}.brand span{position:absolute;right:3px;top:0;font:17px UISans,sans-serif}.wordmark b{font-size:15px;letter-spacing:3px;font-weight:600}.wordmark small{display:block;letter-spacing:1.4px;font-size:8px;margin-top:2px;color:var(--muted)}.workspace-label{font-size:9px;letter-spacing:1.7px;color:var(--muted);margin:0 12px 15px}.sidebar nav{display:grid;gap:7px}.nav{display:flex;align-items:center;gap:12px;text-align:left;border:0;background:none;color:var(--muted);padding:12px 13px;border-radius:8px;font-size:13px}.nav span{font-size:20px;width:20px;text-align:center;line-height:1}.nav b{margin-left:auto;background:var(--surface);border-radius:5px;font-size:10px;padding:1px 6px}.nav:hover,.nav.active{background:var(--green-soft);color:var(--green)}.nav.active{font-weight:600}.sidebar-bottom{margin:auto 10px 27px}.preview-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--green);display:flex;align-items:center;gap:8px}.preview-label i,.dot{width:6px;height:6px;display:inline-block;background:var(--green);border-radius:100%}.sidebar-bottom p{font-size:13px;margin:14px 0 17px;line-height:1.65}.sidebar-bottom a{font-size:10px}.account{display:flex;gap:10px;align-items:center;padding-top:20px;border-top:1px solid var(--line)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:600}.account strong{font-size:12px;display:block}.account small{font-size:10px;display:block;color:var(--muted)}.icon-btn{border:0;background:transparent;color:var(--muted);padding:7px;font-size:20px;border-radius:6px}.icon-btn:hover{background:var(--green-soft);color:var(--green)}main{min-width:0}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 45px;font-size:12px}.slash{margin:0 9px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:16px;color:var(--muted);flex:none}.top-actions .icon-btn{font-size:20px;padding:4px 6px;line-height:1}.page{padding:14px 45px 30px;max-width:1500px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:14px}.page>p{margin-top:12px;font-size:13px;line-height:1.7}.primary,.secondary{border:1px solid transparent;border-radius:7px;padding:10px 15px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}.primary{background:var(--green);color:var(--bg)}.secondary{background:var(--surface);border-color:var(--line)}.primary:hover{filter:brightness(1.12)}.secondary:hover{border-color:var(--muted)}.heading .primary,.heading .secondary{padding:6px 12px}.notice{display:flex;gap:10px;align-items:center;margin-bottom:20px;padding:12px 16px;background:var(--orange-soft);border:1px solid var(--line);color:var(--orange);border-radius:7px;font-size:12px}.notice a{margin-left:auto;white-space:nowrap;color:inherit;text-decoration:underline}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0 34px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.stat{border:0;border-right:1px solid var(--line);background:none;padding:20px 23px;text-align:left;position:relative}.stat:last-child{border:0}.stat span{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.stat i{font-style:normal;color:var(--muted)}.stat strong{display:block;font-size:35px;font-weight:500;letter-spacing:-1px;margin:8px 0 1px}.stat small{color:var(--muted);font-size:11px}.stat.selected{background:var(--green-soft)}.stat.selected strong{color:var(--green)}.queue-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.queue-heading h2{font-size:17px}.queue-heading h2 span{font-size:11px;color:var(--muted);margin-left:8px;font-weight:400}.filters{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}.tabs{display:flex;gap:4px}.tabs button{border:0;border-radius:6px;background:none;padding:8px 12px;font-size:11px;color:var(--muted)}.tabs button.active{background:var(--text);color:var(--bg)}.filter-inputs{display:flex;gap:9px;align-items:center}input,select,textarea{border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);padding:9px 11px;max-width:100%}select{font-size:11px;max-width:180px}.search{display:flex;align-items:center;position:relative}.search span{position:absolute;left:10px;color:var(--muted);font-size:20px;pointer-events:none}.search input{padding-left:31px;width:163px;font-size:11px}.mine{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.mine input{accent-color:var(--green)}.task-list{display:grid;gap:12px}.task-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}.task-card.urgent:before{content:"";position:absolute;inset:17px auto 17px 0;width:3px;border-radius:0 3px 3px 0;background:var(--red)}.task-main{padding:19px 23px;display:grid;grid-template-columns:40px 1fr;gap:15px}.task-symbol{width:37px;height:37px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--green-soft);color:var(--green);font-size:20px}.urgent .task-symbol{background:var(--red-soft);color:var(--red)}.task-eyebrow{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-bottom:8px}.task-eyebrow .badge{margin-left:auto}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:3px 7px;background:var(--green-soft);color:var(--green);font-size:10px;white-space:nowrap}.badge.urgent{background:var(--red-soft);color:var(--red)}.badge.warn{background:var(--orange-soft);color:var(--orange)}.task-title{background:none;border:0;padding:0;text-align:left;font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.2px}.task-title:hover{color:var(--green)}.task-why{font-size:12px;margin-top:6px;color:var(--muted);line-height:1.6}.task-next{display:flex;gap:9px;font-size:12px;margin-top:13px;line-height:1.6;color:var(--text)}.task-next span{color:var(--green);font-weight:600}.task-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 23px;background:var(--bg);border-top:1px solid var(--line)}.task-meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:10px;flex-wrap:wrap}.task-meta .person{display:flex;align-items:center;gap:6px}.task-meta .person:before{content:"";width:5px;height:5px;background:var(--muted);border-radius:50%}.task-actions{display:flex;align-items:center;gap:7px}.task-actions .primary,.task-actions .secondary{padding:7px 12px;font-size:11px}.text-btn{border:0;background:none;padding:5px;color:var(--muted);font-size:11px}.text-btn:hover{color:var(--text);text-decoration:underline}.queue-footer{display:flex;justify-content:space-between;gap:12px;margin-top:22px;color:var(--muted);font-size:10px}.queue-footer .dot{margin-right:5px;width:5px;height:5px}.empty{padding:55px 22px;text-align:center;background:var(--surface);border:1px dashed var(--line);border-radius:10px}.empty .empty-icon{font-size:28px;color:var(--green);margin-bottom:10px}.empty h3{font-size:16px;margin-bottom:8px;font-weight:500}.empty p{font-size:12px;max-width:430px;margin:auto}.source-list,.results{margin-top:30px;display:grid;gap:12px}.source-item,.info-panel,.result-item{background:var(--surface);padding:22px 25px;border:1px solid var(--line);border-radius:10px}.source-item header,.result-item header{display:flex;justify-content:space-between;gap:20px;align-items:center}.source-item h3,.result-item h3{font-size:14px}.source-item p,.result-item p{font-size:12px;margin-top:10px}.source-item small{display:block;color:var(--muted);margin-top:10px}.info-panel{margin-top:22px;font-size:12px;line-height:1.8;color:var(--muted)}.info-panel strong{color:var(--text)}dialog{width:min(650px,calc(100vw - 24px));max-height:90vh;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);padding:27px}dialog::backdrop{background:#14211766;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-top .eyebrow{margin:0}.dialog-top .icon-btn{font-size:25px}.detail-product{font-size:12px;color:var(--muted);margin:12px 0 22px}.detail-section{margin:22px 0}.detail-section h3{font-size:12px;letter-spacing:.2px;margin-bottom:8px}.detail-section p{font-size:13px;line-height:1.7}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-metric{padding:14px;background:var(--bg);border-radius:8px}.detail-metric span{font-size:11px;color:var(--muted);display:block}.detail-metric strong{font-size:23px;font-weight:500;display:block;margin-top:5px}.detail-values{display:grid;gap:5px}.detail-values div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:6px 0;font-size:12px}.sparkline{width:100%;height:100px;color:var(--green)}.ai-panel{background:var(--green-soft);padding:18px;border-radius:9px}.ai-panel h3{color:var(--green)}.ai-panel p{color:var(--text)}.ai-panel ol{font-size:12px;line-height:1.8;padding-left:18px}.history-item{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}#action-form h2{font-size:19px;margin:12px 0 22px}#action-form label{font-size:12px;display:block;margin-bottom:8px}textarea{display:block;width:100%;resize:vertical}#action-hint{margin-top:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:12px 22px;background:var(--text);color:var(--bg);border-radius:8px;box-shadow:var(--shadow);z-index:60;font-size:13px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px;background:var(--sidebar)}.login-card{max-width:430px;width:100%;padding:35px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.login-card .brand{margin-bottom:25px}.login-card h1{font-size:33px}.login-card p{font-size:13px;margin:18px 0 25px}.login-card label{display:block;font-size:12px;margin-top:14px}.login-card input{display:block;width:100%;margin-top:6px;padding:12px}.login-card .primary{width:100%;margin-top:23px;justify-content:space-between;padding:12px 15px}.login-card small{font-size:11px;color:var(--muted)}.error{font-size:12px;color:var(--red);margin:12px 0}.loading{padding:45px;color:var(--muted);text-align:center}
@media(min-width:1600px){.page{padding:18px 65px 40px}.topbar{padding:0 65px}.task-main{padding:23px 26px}.task-title{font-size:18px}}
@media(max-width:1180px){.workspace{grid-template-columns:195px 1fr}.sidebar{padding:28px 14px 18px}.topbar{padding:0 28px}.page{padding:12px 28px 30px}.filter-inputs{width:100%}.search{flex:1}.search input{width:100%}.task-bottom{align-items:flex-start}.task-meta{gap:7px}.queue-footer{flex-direction:column;gap:4px}}
@media(max-width:720px){.workspace{display:block}.sidebar{position:relative;height:auto;padding:10px 16px 8px;border-right:0;border-bottom:1px solid var(--line)}.wordmark{margin:0 0 8px;gap:9px}.brand{width:31px;height:31px;font-size:23px;border-radius:9px}.wordmark b{font-size:13px}.wordmark small{font-size:7px}.workspace-label,.sidebar-bottom{display:none}.account{display:flex;position:absolute;top:7px;right:16px;padding:0;border:0}.account-who,.account-gear{display:none}.sidebar nav{display:flex;gap:8px}.nav{flex:1;justify-content:center;padding:9px 6px;gap:7px;font-size:12px}.nav span{font-size:16px;width:17px}.nav b{margin:0;font-size:9px}.topbar{padding:0 16px;gap:10px;font-size:11px}.top-actions{gap:8px}.page{padding:10px 16px 25px}.heading{gap:8px 10px;margin-bottom:10px}.heading .secondary{padding:5px 9px;line-height:1.2}.heading .secondary:has(>span){font-size:17px}.heading .secondary>span{display:none}.stats{margin:14px 0 18px;border-radius:9px}.stat{padding:10px}.stat span{font-size:10px;line-height:1.4;min-height:14px}.stat span i{display:none}.stat strong{font-size:24px;margin-top:2px}.stat small{font-size:9px;line-height:1.4;display:block;min-height:26px}.queue-heading{margin-bottom:13px}.queue-heading h2{font-size:16px}.queue-heading>.muted{display:none}.tabs{width:100%;gap:3px}.tabs button{flex:1;padding:8px 7px;font-size:11px}.filters{gap:12px;margin-bottom:16px}.filter-inputs{gap:7px;flex-wrap:wrap}.search{min-width:140px}select{max-width:160px;font-size:10px}.mine{font-size:10px}.task-main{padding:15px 15px 15px 18px;grid-template-columns:1fr;gap:0}.task-symbol{display:none}.task-eyebrow{font-size:9px;gap:6px}.task-title{font-size:16px}.task-next{font-size:11px;margin-top:10px;gap:6px}.task-why{font-size:11px}.task-bottom{padding:11px 15px 11px 18px;flex-direction:column;gap:10px}.task-meta{font-size:9px;gap:10px}.task-actions{width:100%;justify-content:flex-end}.task-actions .primary{margin-left:auto}.notice{font-size:10px;padding:8px 10px;display:block;margin-bottom:14px}.notice a{margin-left:7px}.source-item,.result-item,.info-panel{padding:17px}.source-item h3,.result-item h3{font-size:12px}.page>h1{font-size:29px}.source-item header{align-items:flex-start;gap:10px}.queue-footer{font-size:9px}dialog{padding:20px}.detail-grid{gap:7px}.detail-metric{padding:12px}.detail-metric strong{font-size:20px}.login-card{padding:28px}.login-card h1{font-size:30px}}
/* Imported history remains an archive alongside the current decision queue. */
.history-filters{display:flex;gap:12px;margin:26px 0 18px}.history-filters .search{flex:1}.history-filters .search input{width:100%;min-width:190px}.history-filters select{max-width:none;min-width:235px}.history-summary{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px;color:var(--muted);font-size:11px}.history-summary>span:first-child{color:var(--text);font-weight:600}.archive-list{display:grid;gap:12px}.archive-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:19px 22px;min-width:0}.archive-top{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);margin-bottom:10px}.archive-title{border:0;background:none;padding:0;text-align:left;font-size:16px;font-weight:600;line-height:1.5;color:var(--text);overflow-wrap:anywhere}.archive-title:hover{color:var(--green);text-decoration:underline}.archive-product{font-size:11px;margin-top:6px;overflow-wrap:anywhere}.archive-note{font-size:12px;margin-top:10px;white-space:pre-line;overflow-wrap:anywhere}.archive-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.history-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:12px;color:var(--muted)}.page>.archive-footnote{font-size:11px;margin-top:20px}.legacy-original{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;max-width:100%;font:11px/1.65 monospace;background:var(--bg);padding:14px;border-radius:8px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.detail-metric b{display:block;font-size:13px;margin-top:7px}
@media(max-width:720px){.sidebar nav{gap:4px}.nav{font-size:11px;padding:9px 4px;gap:4px}.nav span{display:none}.history-filters{flex-direction:column;gap:9px;margin-top:19px}.history-filters select{width:100%;min-width:0}.history-summary{font-size:10px;gap:12px}.history-summary>span:last-child{text-align:right;max-width:130px}.archive-card{padding:15px}.archive-top{font-size:9px;gap:10px}.archive-title{font-size:14px}.archive-product{font-size:10px}.archive-note{font-size:11px}.archive-bottom{align-items:flex-start;gap:8px}.archive-bottom .badge{white-space:normal;max-width:60%}.history-pagination{font-size:10px}.history-pagination .secondary{font-size:11px;padding:8px 12px}.detail-metric b{font-size:12px}.legacy-original{padding:10px;font-size:10px}}
.run-panel{margin-top:26px}.run-panel header{display:flex;justify-content:space-between;align-items:center;gap:16px}.run-panel h3{font-size:14px}.run-panel p{font-size:12px;margin-top:12px}.run-meta{display:flex;gap:6px 20px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:13px}.run-panel .run-coverage{color:var(--text);font-size:11px}.run-steps li{flex-wrap:wrap}.run-problem{color:var(--orange);font-size:12px;line-height:1.6;margin-top:8px}.run-steps .run-problem{flex-basis:100%;margin-top:0;font-size:11px}.run-panel details{margin-top:14px}.run-panel summary{cursor:pointer;color:var(--green);font-size:12px}.run-steps{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.run-steps li{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;border-top:1px solid var(--line);padding-top:8px}.badge.quiet{background:var(--bg);color:var(--muted)}
@media(max-width:720px){.run-panel{padding:17px 16px}.run-panel header{gap:10px}.run-panel h3{font-size:13px}.run-panel p{font-size:11px}.run-meta{font-size:10px}.run-steps li{font-size:11px}.run-panel .badge{font-size:9px}.run-panel summary{font-size:11px}}
.result-item header{flex-wrap:wrap}.result-item .badge{white-space:normal}.rule-statistics>p{font-size:12px;margin-top:12px}.rule-stat{display:grid;gap:3px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.rule-stat b{color:var(--text);font-weight:500}.rule-stat span{color:var(--muted)}
@media(max-width:720px){.rule-statistics>p,.rule-stat{font-size:11px}.result-item header{gap:8px}}
.dynamics-panel header{display:flex;justify-content:space-between;align-items:center;gap:14px}.dynamics-panel h3{font-size:14px;color:var(--text)}.dynamics-panel .badge{white-space:normal}.dynamics-counts{display:flex;gap:10px 26px;flex-wrap:wrap;margin-top:14px}.dynamics-counts>span{display:grid;gap:2px;font-size:11px}.dynamics-counts strong{font-size:19px;font-weight:500}.dynamics-panel p{font-size:12px;margin-top:12px}.dynamics-panel details{margin-top:13px}.dynamics-panel summary,.dynamics-evidence summary{cursor:pointer;color:var(--green);font-size:12px}.dynamics-reasons{padding-left:18px;margin-top:12px}.dynamics-products{max-height:380px;overflow:auto;overscroll-behavior:contain;margin-top:12px;padding-right:6px}.dynamics-product{padding:13px 0;border-top:1px solid var(--line)}.dynamics-product>div{display:flex;justify-content:space-between;gap:10px}.dynamics-product strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.dynamics-product .badge{flex-shrink:0;align-self:flex-start}.dynamics-product small{display:block;margin-top:5px;overflow-wrap:anywhere}.dynamics-product p{margin-top:7px}.dynamics-evidence p{margin-top:12px}.dynamics-evidence ul{padding-left:18px;font-size:12px;line-height:1.7;margin-top:12px}.evidence-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:16px}.evidence-table caption{text-align:left;color:var(--muted);font-size:11px;margin-bottom:8px}.evidence-table th{font-weight:500;color:var(--muted)}.evidence-table th,.evidence-table td{text-align:right;padding:7px 5px;border-bottom:1px solid var(--line)}.evidence-table th:first-child,.evidence-table td:first-child{text-align:left}
@media(max-width:720px){.dynamics-panel header{gap:8px}.dynamics-panel h3{font-size:13px}.dynamics-panel p,.dynamics-panel summary,.dynamics-reasons,.dynamics-product strong,.dynamics-evidence summary{font-size:11px}.dynamics-panel .badge{font-size:9px}.dynamics-counts{gap:10px 20px}.dynamics-counts strong{font-size:18px}.dynamics-counts>span{font-size:10px}.dynamics-product small{font-size:10px}.evidence-table{font-size:11px}.detail-metric span{overflow-wrap:anywhere}}
/* Боковая панель сворачивается в рельсу (06.10.2026). Только десктоп: на ≤720px сайдбар это верхняя полоса меню. */
.nav em,.sidebar-toggle em{font-style:normal}.sidebar-toggle{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 14px;padding:10px 13px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:12px;text-align:left}.sidebar-toggle span{font-size:17px;width:20px;text-align:center;line-height:1}.sidebar-toggle:hover{background:var(--green-soft);color:var(--green)}
@media(min-width:721px){html.nav-collapsed .workspace{grid-template-columns:64px minmax(0,1fr)}html.nav-collapsed main{grid-column:2;grid-row:1}html.nav-collapsed .sidebar{grid-column:1;grid-row:1;transition:width .16s ease,box-shadow .16s ease}html.nav-collapsed:not(.nav-peek) .sidebar{width:64px;padding:26px 10px 16px;overflow:hidden}html.nav-collapsed:not(.nav-peek) .wordmark{justify-content:center;margin:0 0 34px}html.nav-collapsed:not(.nav-peek) .wordmark b,html.nav-collapsed:not(.nav-peek) .workspace-label,html.nav-collapsed:not(.nav-peek) .sidebar-bottom,html.nav-collapsed:not(.nav-peek) .nav em,html.nav-collapsed:not(.nav-peek) .sidebar-toggle em,html.nav-collapsed:not(.nav-peek) .account-who,html.nav-collapsed:not(.nav-peek) .account-gear{display:none}html.nav-collapsed:not(.nav-peek) .nav{justify-content:center;padding:12px 0;position:relative}html.nav-collapsed:not(.nav-peek) .nav b{position:absolute;top:3px;right:2px;margin:0;min-width:18px;padding:1px 4px;border-radius:9px;background:var(--green);color:var(--bg);font-size:9px;line-height:14px;text-align:center}html.nav-collapsed:not(.nav-peek) .nav b.zero{display:none}html.nav-collapsed:not(.nav-peek) .sidebar-toggle{justify-content:center;padding:10px 0;margin-top:auto}html.nav-collapsed:not(.nav-peek) .account{justify-content:center;padding-top:16px}html.nav-collapsed.nav-peek .sidebar{position:fixed;left:0;top:0;z-index:40;width:228px;height:100vh;height:100dvh;box-shadow:var(--shadow)}}
@media(max-width:720px){.sidebar-toggle{display:none}}
.data-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;line-height:1.3;white-space:nowrap}.data-chip:hover{color:var(--text);border-color:var(--muted)}.data-chip i{width:7px;height:7px;flex:none;border-radius:50%;background:var(--green)}.data-chip.warn i,.data-chip.run i{background:var(--orange)}.data-chip.bad i{background:var(--red)}.data-chip.run i{animation:chip-pulse 1.2s ease-in-out infinite}.data-chip b{font-weight:inherit}@keyframes chip-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.data-chip.run i{animation:none}}
.data-sources{display:grid;gap:8px;margin-top:10px}.data-source{padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.data-source header{display:flex;gap:10px;align-items:center}.data-source h4{margin:0;font-size:13px;font-weight:600}.data-source small{color:var(--muted)}.data-source p{font-size:12px;margin-top:4px}#detail-body>[data-refresh]{margin-top:14px}
@media(min-width:721px){.sidebar-toggle{margin-top:auto}}@media(max-width:720px){.data-chip{padding:5px 9px}.data-chip b{display:none}}
.notice [data-open-data]{margin-left:auto;padding:0;white-space:nowrap;color:inherit;font-size:inherit;text-decoration:underline}@media(max-width:720px){.notice [data-open-data]{margin-left:7px}}
/* Профиль внизу слева открывает меню настроек (07.10.2026): «Сотрудники» у кого открыт раздел, тема, выход.
   Отдельного пункта «Настройки» в меню разделов нет. Цвета только через переменные темы: обе темы читаются. */
@media(min-width:721px){.account{position:relative}}   /* ≤720px .account уже absolute в шапке справа */
/* Мелкий вторичный текст профиля и меню: --muted на белом 4.36, на зелёной подложке 3.76 - ниже 4.5. Подмешиваем
   цвет текста темы: светлая темнеет, тёмная светлеет, контраст ≥ 5 в обеих. Общий --muted сайта не трогаем. */
html{--muted-strong:color-mix(in srgb,var(--muted) 75%,var(--text))}
.account small,.account-theme .seg button:not([aria-pressed=true]){color:var(--muted-strong)}
.account-button{display:flex;align-items:center;gap:10px;flex:1;min-width:0;margin:-6px;padding:6px;border:0;border-radius:9px;background:none;color:var(--text);text-align:left;cursor:pointer}
.account-button:hover,.account-button[aria-expanded=true],.account-button.active{background:var(--green-soft)}
.account-button .avatar{flex:none}
.account-who{flex:1;min-width:0}
.account-who strong,.account-who small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-gear{flex:none;width:20px;text-align:center;font-size:15px;line-height:1;color:var(--muted)}
.account-button:hover .account-gear,.account-button[aria-expanded=true] .account-gear,.account-button.active .account-gear{color:var(--green)}
.account-menu{position:absolute;left:0;bottom:calc(100% + 10px);z-index:60;width:272px;display:grid;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.account-menu[hidden]{display:none}
.account-head{display:grid;gap:3px;padding:9px 10px 11px;margin-bottom:2px;border-bottom:1px solid var(--line)}
.account .account-head strong{font-size:13px;color:var(--text)}
.account .account-head small{font-size:11px;word-break:break-all}
.account-label{font-size:10px;letter-spacing:1.6px;color:var(--muted-strong);padding:9px 10px 4px}
.account-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:none;color:var(--text);font-size:13px;text-align:left;text-decoration:none}
.account-item>span{flex:none;width:18px;text-align:center;font-size:15px;line-height:1;color:var(--muted)}
.account-item>em{flex:1;min-width:0;font-style:normal}
.account .account-item em small{font-size:11px;margin-top:2px;line-height:1.4}
a.account-item:hover,button.account-item:hover,a.account-item:focus-visible,button.account-item:focus-visible{background:var(--green-soft);color:var(--green)}
a.account-item:hover>span,button.account-item:hover>span{color:var(--green)}
.account-theme{cursor:default}
.account-theme .seg{flex:none}
.account-logout{position:relative;margin-top:6px}
.account-logout::before{content:"";position:absolute;left:10px;right:10px;top:-4px;border-top:1px solid var(--line)}
.account-open .sidebar{z-index:45}
@media(min-width:721px){html.nav-collapsed:not(.nav-peek) .account-button{justify-content:center;flex:none;margin:0;padding:3px}}
@media(max-width:720px){.account-button{position:relative;flex:none;margin:0;padding:3px;border-radius:50%}
.account-button .account-gear{display:grid;place-items:center;position:absolute;right:-3px;bottom:-3px;width:17px;height:17px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-size:10px}
.account-menu{left:auto;right:0;bottom:auto;top:calc(100% + 8px);width:min(288px,calc(100vw - 32px))}}
/* Меню из групп (07.10.2026, msg 18465): группа → подразделы по карте nav.py. Раскрыта только активная группа,
   подпункты с отступом; в свёрнутой рельсе и на телефоне подразделы — строкой вкладок над экраном (#subnav),
   с переносом: ничего не уезжает за край. Цвета только через переменные темы. */
.sidebar nav{display:grid;gap:4px}
/* Серый текст пунктов: --muted на фоне панели 3.84 — ниже 4.5; --muted-strong (секция профиля выше) даёт ≥ 5 в обеих темах. */
.nav{color:var(--muted-strong)}
.nav-group{display:grid;gap:2px;min-width:0}
a.nav,a.nav-subitem,.subnav a{text-decoration:none}
.nav.open{background:none;color:var(--green);font-weight:600}
.nav.open:hover{background:var(--green-soft)}
.nav-sub{display:grid;gap:1px;margin:0 0 6px}
.nav-subitem{display:flex;align-items:center;gap:8px;padding:7px 10px 7px 45px;border-radius:7px;color:var(--muted-strong);font-size:12.5px;line-height:1.35}
.nav-subitem:hover,.nav-subitem.active{background:var(--green-soft);color:var(--green)}
.nav-subitem.active{font-weight:600}
.nav-badge{margin-left:auto;background:var(--orange-soft);color:var(--orange);border-radius:5px;font-size:10px;padding:1px 6px;font-weight:600;line-height:1.5}
.nav-badge[hidden]{display:none}
.nav em.nav-short{display:none}
.subnav{display:none;flex-wrap:wrap;gap:6px;padding:10px 45px 0;max-width:1500px;margin:0 auto}
.subnav a{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted-strong);font-size:12px;white-space:nowrap}
.subnav a:hover{color:var(--text)}
.subnav a.active{background:var(--green);border-color:var(--green);color:var(--bg);font-weight:600}
.subnav a.active .nav-badge{background:var(--bg);color:var(--green)}
@media(min-width:1600px){.subnav{padding:12px 65px 0}}
@media(max-width:1180px){.subnav{padding:10px 28px 0}}
@media(min-width:721px){
  html.nav-collapsed:not(.nav-peek) .nav-sub{display:none}
  html.nav-collapsed .subnav:not([hidden]){display:flex}
  html.nav-collapsed:not(.nav-peek) .nav.open{background:var(--green-soft)}
}
@media(max-width:720px){
  /* Телефон: пять групп строкой «значок + подпись» равной ширины — «Продвижение» влезает и в 390 px.
     Длиннее — короткая подпись из nav.py (msg 18568): «РНП» вместо «Рука на пульсе», которая шла в две строки.
     Перенос и значки по верху оставлены на случай новой длинной подписи без short. */
  .sidebar nav{display:flex;gap:2px}
  .nav-group{flex:1 1 0;min-width:0;display:flex}
  .nav-group .nav{flex:1;min-width:0;flex-direction:column;justify-content:flex-start;gap:3px;padding:7px 1px 6px;font-size:clamp(8.5px,2.6vw,10px);line-height:1.15;text-align:center;position:relative}
  .nav-group .nav span{display:block;width:auto;font-size:16px}
  .nav-group .nav em{display:block;max-width:100%;text-wrap:balance}
  /* Явно, а не порядком правил: .nav em.nav-short{display:none} той же специфичности, что .nav-group .nav em. */
  .nav-group .nav em.nav-long{display:none}
  .nav-group .nav em.nav-short{display:block}
  /* Шесть групп («Задачи» отдельной группой, msg 19983): «Продвижение» влезает в шестую часть строки и на 360 px. */
  .sidebar nav:has(> .nav-group:nth-child(6)) .nav-group .nav{font-size:clamp(8px,2.3vw,10px);letter-spacing:-.2px}
  .nav-group .nav b{position:absolute;top:2px;left:calc(50% + 7px);margin:0;min-width:16px;padding:0 4px;border-radius:8px;background:var(--green);color:var(--bg);font-size:9px;line-height:14px}
  .nav-group .nav b.zero{display:none}
  .nav-sub{display:none!important}
  .nav.open{background:var(--green-soft)}
  .subnav:not([hidden]){display:flex}
  /* вкладки подразделов плотнее (msg 21634): четыре вкладки «Руки на пульсе» - одной строкой на 390 px */
  .subnav{padding:8px 16px 0;gap:4px}
  .subnav a{padding:5px 9px;font-size:11px}
}

/* Ландшафт телефона (07.10.2026, msg 18608): при ≥721 px панель липкая высотой в экран и не прокручивается,
   поэтому меню групп выталкивало «Свернуть» и профиль за нижний край — при 844×390 кнопку не достать.
   Прокручивается СЕРЕДИНА (nav), а не панель: overflow на .sidebar обрезал бы меню профиля (272 px шире
   панели 195/228 px). Высота в dvh: на iOS 100vh — большой вьюпорт, низ уходит под панель браузера. */
@media(min-width:721px){
  /* min-height:0 — иначе флекс-элемент не даёт себя сжать ниже содержимого и прокрутки не будет.
     overscroll-behavior:contain тут был и его пришлось убрать: Chrome гасит им прокрутку страницы колесом,
     даже когда прокручивать в меню нечего, и на обычном десктопе страница под курсором вставала колом. */
  .sidebar nav{min-height:0;overflow-y:auto;
    /* обводка фокуса пункта (outline 3px + offset 3px) выходит на 6 px за край: отступ под неё,
       отрицательное поле той же величины — пункты остаются на прежнем месте до пикселя.
       scroll-padding — чтобы Tab не подводил пункт впритык к краю и не срезал обводку: padding виден
       только в крайних положениях прокрутки. */
    margin:-6px;padding:6px;scroll-padding-block:6px}
  /* Меню профиля целиком в окне: не хватило высоты — прокрутка внутри меню (6 px отступа = обводка фокуса). */
  .account-menu{max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);overflow-y:auto;scroll-padding-block:6px}
}
/* Низкое окно (ландшафт телефона): отступы шапки панели ужаты — меню групп влезает больше. */
@media(min-width:721px) and (max-height:540px){
  /* у рельсы свой padding (0,3,1), парное правило обязательно — иначе ужимается только раскрытая панель */
  .sidebar{padding-top:16px;padding-bottom:12px}
  html.nav-collapsed:not(.nav-peek) .sidebar{padding-top:16px;padding-bottom:12px}
  .wordmark,html.nav-collapsed:not(.nav-peek) .wordmark{margin-bottom:18px}
  .workspace-label{margin-bottom:9px}
  .sidebar-toggle,html.nav-collapsed:not(.nav-peek) .sidebar-toggle{margin-bottom:8px}
  .account,html.nav-collapsed:not(.nav-peek) .account{padding-top:12px}
}
/* Артикул товара (art() в app.js, msg 18795): артикул продавца - ссылка в карточку РНП в той же вкладке; на Wildberries
   ведут шапка карточки РНП (.art-wb с ↗) и «Карточка на WB ↗» в SEO. --green: контраст ссылки ≥ 6.6 на всех подложках. */
.art{font-weight:600;white-space:nowrap}   /* артикул - одно слово: в тесной строке сжимается соседний текст, а не он */
/* Артикул с миниатюрой фото (art(…, {thumb}), msg 19680): фото и артикул - одна ссылка, по центру строки. Размер задан
   у .thumb (rnp.css, у .sm 24×32): строка не прыгает, пока грузится картинка. «+N» - артикулы сверх трёх, они в подсказке. */
.art-pic,.art-pic>a{display:inline-flex;align-items:center;vertical-align:middle}
.art-more{color:var(--muted-strong);font-weight:600;white-space:nowrap}
.art-rnp,.art-ads,.art-wb,.xw-link{color:var(--green)}
.art-rnp:hover,.art-ads:hover,.art-wb:hover,.xw-link:hover{text-decoration:underline;text-underline-offset:2px}
.xw-link{white-space:nowrap;font-weight:600}   /* «Открыть в X-Way» (msg 19444): ссылка в строке артикулов, не кнопка */
/* Цифра-ссылка в «Рекламу» (adsNum в app.js, msg 18929): число не перекрашиваем - раскраска, пометки и подчёркивание
   расхождения остаются у ячейки (ссылка строчная: подчёркивание ячейки переходит на неё). Видно при наведении и фокусе,
   поле нажатия шире числа за счёт отступов (на раскладку не влияют). */
.ads-num{color:inherit;text-decoration:none;cursor:pointer;border-radius:3px;padding:4px 3px;margin:0 -3px}
.ads-num:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.ads-num:focus-visible{outline:2px solid var(--green);outline-offset:0}
/* на таче наведения нет: тихое пунктирное подчёркивание говорит, что цифра нажимается; там, где ячейка уже подчёркнута
   (расхождение кампаний, предварительное значение), своё не добавляем - пометка ячейки важнее */
@media (hover:none){.ads-num{text-decoration:underline dotted;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:3px}}
td.mis .ads-num,td.mk-pre .ads-num{text-decoration:none}
.art-go{display:inline-block;margin-left:2px;font-weight:400;font-size:.82em;line-height:1;color:inherit}
/* Строка-переход с артикулом внутри: кнопка или ссылка строки растянута под содержимым, артикул поверх неё. */
.hit-row{position:relative;isolation:isolate}   /* своя стопка: z-index артикула не выходит за строку (закреплённое «Все товары» РНП) */
.hit-row .art{position:relative;z-index:1;pointer-events:none}   /* артикул текстом и пустое место блока - щелчок по строке */
.hit-row .art a{pointer-events:auto}
.hit{position:absolute;inset:0;z-index:0;display:block;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:inherit;background:none;color:inherit;font:inherit;cursor:pointer}
/* Динамика к прошлому периоду (msg 18950, fx.js FX.dyn): подпись под цифрой справа, мелко, без переноса. Цвета свои: не ниже
   4,9:1 на поверхности, фоне итога, «неполно» и всех заливках «Раскраски» в обеих темах (расчёт 09.10, DYNAMICS_PROGRESS.md). */
html{--dyn-good:#355b45;--dyn-bad:#923f32;--dyn-flat:#555c52}
html[data-theme=dark]{--dyn-good:#c4dcb3;--dyn-bad:#f3bba8;--dyn-flat:#bcc6b6}
.dyn{display:block;margin-top:1px;font-size:.9em;line-height:1.25;font-weight:400;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--dyn-flat)}   /* мельче цифры ячейки (таблицы 11px - опровергатель 09.10) и не жирнее её */
.dyn.good{color:var(--dyn-good)}.dyn.bad{color:var(--dyn-bad)}.dyn i{font-style:normal}
/* на заливке раскраски (heat.css, «Раскраска» финансов) подпись - цветом текста ступени: тона выше рассчитаны на бледный
   фон, смысл несут знак и слова (msg 20767) */
:is(.funnel,.heat-on) td:is(.h0,.h1,.h2,.h3,.h4,.h5,.h6,.h7,.h8,.h9,.h10) :is(.dyn,.dyn-new){color:var(--heat-text)}
.dyn-new{display:inline-block;margin-left:6px;font-size:.9em;font-style:normal;font-weight:400;color:var(--dyn-flat);white-space:nowrap;cursor:help}
.dyn-box{position:relative;display:inline-flex}
.dyn-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 2px;border:0;background:none;font-size:11px;color:var(--muted);white-space:nowrap}
.dyn-btn[aria-pressed=true]{color:var(--text);font-weight:600}
.dyn-btn .i{width:15px;height:15px}
.dyn-lbl{font-style:normal;font-weight:500;color:var(--muted)}
.dyn-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:40;display:grid;gap:7px;width:max-content;max-width:min(300px,86vw);padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);font-size:13px;color:var(--text)}
.dyn-pop label{display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap}
.dyn-pop input{accent-color:var(--green)}
.dyn-hint{max-width:270px;color:var(--muted);font-size:11px;line-height:1.35;white-space:normal}
.notice.dyn-none{margin:0 0 10px}
.fx-kpi small .dyn{display:inline;margin:0;font-size:inherit}   /* плитки: подпись в строке, а не под цифрой */
/* «Как это работает» (howto.js): общий блок внизу «Цен» и «Продавец рекомендует», свёрнут; цвета - переменными темы */
.howto-wrap{margin:20px 0 8px}
.howto{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.howto summary{cursor:pointer;color:var(--green);width:fit-content;max-width:100%;font-weight:600}
.howto[open] summary{margin-bottom:8px}
.howto-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px 20px}
.howto-part h4{margin:0 0 6px;font-size:13px;color:var(--text)}
.howto-part ul{margin:0;padding-left:18px}
.howto-part li{margin:0 0 4px;font-size:13px;line-height:1.45;color:var(--text)}
/* Шапка экранов (19.10.2026, msg 21634): полезное поднято вверх, крупного заголовка над экраном больше нет.
   Полоса одной высоты на всех экранах (--topbar-h: 48 px, телефон 40) - от неё же считает высоту доска (board.css).
   Название экрана живёт в полосе: крошки «Группа / Раздел / заголовок экрана» (app.js renderCrumbs берёт h1 видимой
   страницы). Сам h1 остаётся в DOM (aria-labelledby разделов, тесты), но визуально скрыт; надзаголовок повторял
   крошки - скрыт. Описание - одна приглушённая строка: не влезла - «…», полный текст в подсказке и по нажатию
   (app.js fitHeading). Кнопки и переключатели шапки - в той же строке справа. */
html{--topbar-h:48px}
.crumbs{display:flex;align-items:baseline;min-width:0;white-space:nowrap;color:var(--muted-strong)}
.crumbs>span{overflow:hidden;text-overflow:ellipsis}
.crumbs .slash{flex:none;color:var(--muted-strong)}   /* --muted на фоне 4,1:1 - ниже порога (опровергатель 19.10) */
#today-date{color:var(--muted-strong)}
.crumbs .crumb{flex:0 1 auto}
.crumbs .crumb-now{flex:0 1 auto;min-width:0;color:var(--text);font-weight:600;font-size:13px}
.heading .eyebrow{display:none}
.heading h1{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* строка описания берёт остаток ряда (основа 0, а не её длина в одну строку - иначе выдавит кнопки в столбик),
   кнопки и переключатели справа не сжимаются; не влезли рядом - уходят строкой ниже */
.heading{flex-wrap:wrap}
.heading>div:first-child{flex:1 1 0;min-width:min(100%,240px)}
.heading>:not(:first-child){flex:none}
/* не шире ряда: строка в одну строку (nowrap) иначе раздувает колонку - у экранов, где на телефоне шапка столбиком
   (flex-direction:column + wrap), ширина ряда берётся по самому широкому элементу, и «…» не появлялось */
.heading>*{max-width:100%}
.heading p{position:relative;margin:0;padding-right:14px;font-size:12px;line-height:1.5;color:var(--muted-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.heading p+p{margin-top:2px}
.heading p.cut{cursor:pointer}
/* видно, что строка раскрывается: на телефоне наведения и подсказки нет, одного «…» мало (опровергатель 19.10) */
.heading p.cut:after{content:"▾";position:absolute;right:0;bottom:0;font-size:11px;color:var(--green)}
.heading p.cut.open:after{content:"▴"}
.heading p.open{white-space:normal}
.page .heading.void{margin-bottom:0}   /* в строке шапки пусто (app.js fitHeading) */
.today-year{white-space:nowrap}
@media(max-width:720px){
  html{--topbar-h:38px}
  /* группа видна в меню, подраздел - во вкладках над экраном: в полосе остаётся только экран */
  .crumbs .crumb,.crumbs .slash{display:none}
  .crumbs .crumb-now{font-size:12px}
  .today-year{display:none}
  /* телефон: две строки, а не одна - в одну влезало ~50 знаков, и счётчики «Сегодня» уходили под «…» (опровергатель 19.10) */
  .heading p{font-size:11.5px;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .heading p.open{display:block;-webkit-line-clamp:none}
  /* крупный значок вместо подписи - только у кнопок «значок + <span>подпись</span>» (подпись прячется выше);
     кнопка с одной подписью («Проверить полки сейчас») остаётся обычного размера (msg 21634) */
}
/* Перетаскивание столбцов в шапке таблицы (coldrag.js, голосовое msg 23565): линия места, ярлык у курсора, источник
   приглушён, полоса «… на новом месте · Отменить» на месте #toast. Цвета - переменные темы: читается в обеих. */
@media(hover:hover) and (pointer:fine){table[data-cd] th[data-cd-g],table[data-cd] th[data-cd-c],table[data-cd] th[data-cd-in]{cursor:grab}}
@media(pointer:coarse){table[data-cd] thead th[data-cd-g],table[data-cd] thead th[data-cd-c],table[data-cd] thead th[data-cd-in]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}
html.cd-drag,html.cd-drag *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}
table[data-cd] .cd-src{opacity:.4}
.cd-line{position:fixed;left:0;top:0;z-index:70;width:3px;height:0;border-radius:2px;background:var(--green);box-shadow:0 0 0 1px var(--surface);pointer-events:none}
.cd-line.y{width:0;height:3px}
.cd-line.noop{opacity:.35}
.cd-ghost{position:fixed;left:0;top:0;z-index:71;max-width:260px;padding:5px 10px;border-radius:7px;background:var(--text);color:var(--bg);font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow);pointer-events:none}
.cd-undo{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:61;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:8px 8px 8px 18px;border-radius:8px;background:var(--text);color:var(--bg);box-shadow:var(--shadow);font-size:13px}
.cd-undo span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-undo button{flex:none;padding:5px 10px;border:1px solid color-mix(in srgb,var(--bg) 45%,transparent);border-radius:6px;background:none;color:var(--bg);font-weight:600}
.cd-undo button:hover{background:color-mix(in srgb,var(--bg) 14%,transparent)}
/* Публичная версия (PUBLIC_PILOT_PLAN.md этап 4): пункт без нужной интеграции - серый, не ссылка, с подписью.
   Текст --muted-strong (≥ 5 к фону панели в обеих темах), без hover-подсветки: не кликается. */
.nav-off{cursor:default;opacity:.62}.nav-off:hover{background:none;color:var(--muted-strong)}
/* подпись под названием, а не сбоку: сбоку она сжимала название («Рука / на / пульсе») и обрезалась («не подкл») */
.nav-off-text{display:flex;flex-direction:column;font-style:normal;min-width:0;line-height:1.3}
.nav-off-note{display:block;font-size:10px;font-weight:400;color:var(--muted-strong);white-space:nowrap}
.off-card{max-width:560px;margin:40px auto;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.off-card h1{font-size:26px;margin-bottom:10px}.off-card p{font-size:13px;margin-bottom:16px}
.integ-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-bottom:12px}
.integ-card .wbk-actions{margin-top:12px}.integ-detail{font-size:12px;color:var(--text);margin-top:6px;overflow-wrap:anywhere}
.integ-form{display:grid;gap:8px;margin-top:10px}.integ-form label{display:grid;gap:4px;font-size:12px}
.integ-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}.integ-list li{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px}
.integ-list span{color:var(--muted-strong)}
.onboarding-note{margin:12px 45px 0}.onboarding-note a{margin-left:8px}
@media(max-width:760px){.onboarding-note{margin:10px 14px 0}}
