/* Светлая рабочая среда Switch On AI: навигация, таблицы, формы и мобильный просмотр. */
:root{--ink:#0b1320;--muted:#5e6877;--line:#dce4ee;--blue:#006cff;--blue-dark:#004ebd;--soft:#eaf3ff;--canvas:#f5f7fa;--surface:#fff;--green:#0b7148;--green-bg:#e8f7ef;--amber:#815400;--amber-bg:#fff4d9;--red:#a22634;--red-bg:#fff0f2;--radius:9px;--sidebar:236px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--blue-dark);text-underline-offset:3px}a:hover{color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #94bfff;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}button{transition:background .16s ease,color .16s ease}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{font-size:28px;line-height:1.25;letter-spacing:-.025em;font-weight:650}h2{font-size:18px;line-height:1.4;font-weight:650;letter-spacing:-.015em}h3{font-size:15px;font-weight:650}p{line-height:1.6;text-wrap:pretty}small,.small{font-size:12px;line-height:1.5}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.num{font-variant-numeric:tabular-nums}.skip{position:fixed;top:-70px;left:16px;background:white;padding:12px;z-index:30}.skip:focus{top:12px}.initial{max-width:600px;margin:20vh auto;padding:28px}.skeleton{height:90px;background:#e6ecf4;border-radius:10px;margin-bottom:20px}
.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 16px 18px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:750;font-size:18px;letter-spacing:-.035em;padding:0 10px}.brand img{height:30px;width:30px}.project-name{padding:27px 12px 18px;line-height:1.5;font-size:13px}.project-name strong{display:block;font-size:14px}.nav{display:grid;gap:5px}.nav button{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;padding:11px 13px;text-align:left;border-radius:7px;color:#4c596b;font-weight:550}.nav button:hover{background:var(--canvas)}.nav button.active{background:var(--soft);color:var(--blue-dark)}.icon{width:18px;height:18px;flex:0 0 18px;vertical-align:middle}.nav-group{padding:23px 13px 7px;font-size:12px;color:var(--muted)}.sidebar-bottom{margin-top:auto;padding:28px 12px 0}.sidebar-bottom p{font-size:12px;line-height:1.6}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);display:inline-block;margin-right:6px}
.workspace{min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;gap:12px}.crumb{font-size:13px;color:var(--muted)}.account{display:flex;align-items:center;gap:10px}.avatar{height:32px;width:32px;border-radius:50%;background:var(--soft);color:var(--blue-dark);display:grid;place-items:center;font-size:12px;font-weight:700}.account strong{font-size:12px;font-weight:600;display:block}.account small{display:block;color:var(--muted)}.demo-banner{padding:9px 36px;background:#eef3fa;color:#435369;font-size:12px;line-height:1.5;border-bottom:1px solid #e1e8f2}.content{padding:32px 36px 56px;max-width:1540px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.page-head p{color:var(--muted);margin-top:7px;max-width:70ch}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cbd5e2;border-radius:7px;background:white;color:#28364a;min-height:38px;padding:9px 13px;font-size:13px;text-decoration:none;font-weight:550;line-height:1.35}.btn:hover{background:#f4f7fb;color:var(--ink)}.btn.primary{background:var(--blue);border-color:var(--blue);color:white}.btn.primary:hover{background:var(--blue-dark)}.btn.quiet{background:transparent;border-color:transparent;min-height:32px;padding:6px 8px}.btn.danger{color:var(--red)}.toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:22px}.toolbar label{min-width:190px}.toolbar .spacer{flex:1}.field{display:grid;gap:7px;color:#344154;font-size:12px;font-weight:550}.field input,.field select,.field textarea,.control{border:1px solid #cbd5e2;border-radius:7px;background:white;color:var(--ink);min-height:40px;padding:9px 11px;width:100%;font-size:13px;font-weight:400}.field textarea{min-height:85px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field input[type=checkbox]{width:17px;min-height:17px;accent-color:var(--blue)}.check{display:flex;align-items:flex-start;gap:9px;font-size:13px;line-height:1.5;font-weight:400}.check input{margin:3px 0 0;accent-color:var(--blue)}
.notice{padding:13px 16px;background:var(--amber-bg);border:1px solid #eddfba;border-radius:var(--radius);font-size:13px;color:#6f4c0a;line-height:1.65;margin-bottom:22px}.notice.info{background:var(--soft);border-color:#cbddf7;color:#244d7e}.notice.error{background:var(--red-bg);border-color:#edc5cc;color:var(--red)}.notice strong{font-weight:650}.panel{border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden;margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:19px 22px;border-bottom:1px solid var(--line)}.panel-head p{font-size:12px;color:var(--muted);margin-top:3px}.panel-body{padding:22px}.panel-body>*+*{margin-top:17px}.summary-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;margin-bottom:18px;font-size:12px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:4px 7px;font-size:11px;line-height:1.3;font-weight:550;background:#edf1f6;color:#526074;white-space:nowrap}.pill.blue{color:#174f98;background:var(--soft)}.pill.green{color:var(--green);background:var(--green-bg)}.pill.amber{color:var(--amber);background:var(--amber-bg)}.pill.red{color:var(--red);background:var(--red-bg)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:24px;overflow:hidden}.metric{padding:22px;min-width:0;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.metric:last-child{border:0}.metric-top{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:13px}.metric h2{font-size:14px;letter-spacing:0}.metric .value{font-size:32px;font-weight:620;letter-spacing:-.03em;margin:12px 0;line-height:1.2;overflow-wrap:anywhere}.metric .value span{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0;margin-left:5px}.metric p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:16px}.metric .btn{margin-top:auto;margin-left:-8px;color:var(--blue-dark)}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:22px}.split>.panel{align-self:start}.progress{display:flex;height:7px;background:#e7edf5;border-radius:5px;overflow:hidden;margin:15px 0}.progress>span{background:var(--blue);height:100%}.list{list-style:none;padding:0;margin:0}.list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5}.list li:last-child{border:0;padding-bottom:0}.list li:first-child{padding-top:0}.row-between{display:flex;justify-content:space-between;gap:15px;align-items:center}.table-wrap{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{font-weight:550;font-size:11px;color:#5a6576;background:#f8fafc;white-space:nowrap}th,td{padding:13px 20px;border-bottom:1px solid #e8edf3;vertical-align:top}td{line-height:1.5}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafbfd}td small{display:block;color:var(--muted);margin-top:3px}td .btn{min-height:30px;padding:5px 8px;white-space:nowrap}.nowrap{white-space:nowrap}.cell-main{font-weight:550}.table-wrap .num{text-align:right;white-space:nowrap}details{border-top:1px solid var(--line)}summary{cursor:pointer;padding:17px 22px;font-size:13px;font-weight:550;line-height:1.5}details[open] summary{background:#f8fafc}.detail-content{padding:0 22px 20px}.detail-content p{margin-top:12px;font-size:13px}.empty{padding:35px 24px;text-align:center}.empty h2{margin-bottom:9px}.empty p{max-width:58ch;margin:0 auto 18px;color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}.form-note{font-size:12px;color:var(--muted);line-height:1.55}.flow{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.flow span{padding:7px 0;font-size:12px;color:var(--muted)}.flow span+span:before{content:'→';padding-right:12px;color:#9ba6b6}.flow strong{color:var(--blue-dark);font-weight:600}.footer-note{font-size:12px;color:var(--muted);margin-top:26px;line-height:1.6}.error-text{font-size:13px;color:var(--red);line-height:1.6;margin-bottom:15px}.toast{position:fixed;bottom:25px;right:25px;z-index:50;max-width:440px;background:#17263e;color:white;border-radius:9px;padding:15px 20px;box-shadow:0 6px 30px #15223a26;font-size:13px;line-height:1.5}.toast[hidden]{display:none}.login{max-width:800px;margin:8vh auto;padding:28px}.login .brand{padding:0;margin-bottom:45px}.login h1{font-size:30px;max-width:520px;margin-bottom:12px}.login>p{color:var(--muted);max-width:60ch}.login-options{margin:30px 0;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.login-choice{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px;border-bottom:1px solid var(--line)}.login-choice:last-child{border:0}.login-choice p{font-size:13px;color:var(--muted);margin-top:6px}.data-legend{display:flex;flex-wrap:wrap;gap:9px 22px;font-size:12px;margin:16px 0}.break{overflow-wrap:anywhere}dl{display:grid;grid-template-columns:155px minmax(0,1fr);gap:12px;font-size:13px;margin:0}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.subtle{background:#f8fafc;padding:16px;border-radius:7px}.filter-search{max-width:280px}.source-links{display:flex;gap:8px;flex-wrap:wrap}.role-switch{min-width:145px;font-size:12px}.scroll-hint{display:none}
@media(min-width:1600px){.content{padding-top:40px}.metrics .metric{padding:27px}.topbar{padding:0 48px}}
@media(max-width:1100px){:root{--sidebar:205px}.content{padding:28px 24px}.topbar{padding:0 24px}.demo-banner{padding:9px 24px}.split{grid-template-columns:1fr}.metric{padding:18px}.metric .value{font-size:29px}.page-head{flex-wrap:wrap}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:static;padding:15px 16px 8px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0;font-size:16px}.brand img{width:26px;height:26px}.project-name{position:absolute;right:16px;top:17px;padding:0;font-size:11px;text-align:right}.project-name strong{font-size:12px}.project-name span{display:none}.nav{display:flex;overflow-x:auto;gap:5px;margin-top:17px;padding-bottom:5px}.nav button{width:auto;white-space:nowrap;padding:10px;font-size:12px}.nav .icon{display:none}.nav-group,.sidebar-bottom{display:none}.topbar{height:62px;padding:0 18px}.crumb{font-size:11px;max-width:120px}.account strong{max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account .avatar{display:none}.account{gap:6px}.account .btn{font-size:11px}.demo-banner{padding:9px 18px;font-size:11px}.content{padding:25px 18px 40px}.page-head{gap:14px;margin-bottom:20px}h1{font-size:24px}.page-head p{font-size:13px}.metrics{display:block}.metric{border-right:0;border-bottom:1px solid var(--line);padding:19px}.metric:last-child{border-bottom:0}.metric .value{font-size:30px;margin:5px 0 10px}.metric p{margin-bottom:10px}.metric-top{margin-bottom:5px}.toolbar{gap:12px}.toolbar label{min-width:0;flex:1 1 100%}.toolbar .spacer{display:none}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.panel-head,.panel-body{padding:17px}.panel-head h2{font-size:16px}th,td{padding:12px 16px}.scroll-hint{display:block;color:var(--muted);font-size:11px;padding:10px 16px 0}.toast{bottom:14px;right:14px;left:14px;max-width:none}.login{margin:3vh auto;padding:24px}.login h1{font-size:27px}.login-choice{align-items:flex-start;gap:14px;padding:20px;flex-wrap:wrap}.login .brand{margin-bottom:30px}.role-switch{min-width:120px;max-width:145px;font-size:11px}dl{grid-template-columns:1fr;gap:6px}dd{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Детализация сохраняет читаемые ключи и прокручивается внутри своей таблицы. */
.record-table th,.record-table td{min-width:112px}.record-table td{max-width:320px;overflow-wrap:break-word}

/* Вложенные основания читаются отдельными строками внутри прокручиваемой таблицы. */
.context-entry { min-width: 12rem; max-width: 26rem; margin-top: .75rem; }
.context-entry dl { display: block; margin: 0; }
.context-entry dt { margin: .6rem 0 .15rem; }
.context-entry dd { margin: 0; overflow-wrap: anywhere; }

/* Текстовая величина плана остаётся читаемой в узкой карточке планшетной сетки. */
.metric .value .plan-value{font-size:20px;line-height:1.3;color:var(--ink);font-weight:650;margin:0;overflow-wrap:normal;word-break:normal;white-space:nowrap}
.finance-trace>details{width:220px;max-width:220px}.finance-trace summary{white-space:normal;overflow-wrap:anywhere}

/* Основания новых метрик читаются вертикально на каждом уровне вложенности. */
.portfolio-trace{width:360px;min-width:320px;max-width:460px}.portfolio-trace dl{display:block;margin:0}.portfolio-trace dt{margin:12px 0 4px;overflow-wrap:break-word}.portfolio-trace dd{margin:0;min-width:0;overflow-wrap:break-word}.portfolio-trace .context-entry{min-width:0;max-width:none;margin-top:12px}.portfolio-trace>details{width:auto;max-width:none}.portfolio-trace summary{white-space:normal;overflow-wrap:break-word;word-break:normal}.portfolio-trace details details summary{white-space:nowrap}

/* Финансовое основание и исключённая ПДЗ используют тот же читаемый словарь вложений. */
.portfolio-source-table dl{display:block}.portfolio-source-table dd{margin:0}.portfolio-source-table .context-entry{min-width:0}.portfolio-source-table details summary{white-space:nowrap}

/* Решения сверки используют общие поля формы и остаются внутри панели на телефоне. */
.reconciliation-entry{padding:16px 0;overflow-wrap:anywhere}.reconciliation-entry+.reconciliation-entry{border-top:1px solid var(--line)}.reconciliation-entry>p,.reconciliation-entry>form{margin-top:12px}.reconciliation-entry h3 .pill{white-space:normal}.reconciliation-form{min-width:0}.reconciliation-form .field{min-width:0}

/* Финансовый выбор: общий состав, компактный мост и независимые раскрытия двух дат. */
.finance-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.finance-filters>*+*{margin-top:0}.finance-filters .field{min-width:0}.finance-wide,.finance-filter-actions{grid-column:1/-1}.finance-search{grid-column:span 2}.finance-actions{margin-bottom:12px}.finance-totals{margin-top:20px}.finance-pair-trace{min-width:270px;max-width:400px}.finance-observations{padding:12px 16px;min-width:235px}.finance-observations p{margin:8px 0;font-size:12px}.finance-observations pre{max-height:380px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.finance-bridge{padding:15px;background:var(--soft);border-radius:7px}.finance-bridge p+p{margin-top:8px}.finance-totals .metric{display:block}.finance-totals .metric p{margin-bottom:0}
@media(max-width:1100px){.finance-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-search{grid-column:span 2}}
@media(max-width:760px){.finance-filters{grid-template-columns:minmax(0,1fr)}.finance-search{grid-column:auto}.finance-actions .btn{width:100%}.finance-pair-trace{min-width:260px}.finance-filter-actions .btn{flex:1}.finance-totals .metric{padding:18px}.finance-wide{overflow-wrap:anywhere}}

/* Статус неизвестной суммы остаётся целым словом в узкой трёхколоночной сетке. */
.finance-totals .value.is-unknown{font-size:clamp(20px,2vw,28px);line-height:1.4;overflow-wrap:normal}

/* Метаданные базы вынесены из узкой ячейки сравнения. */
.comparison-metadata{margin:16px 0;min-width:0}.comparison-metadata dl{display:grid;grid-template-columns:minmax(100px,155px) minmax(0,1fr);gap:8px 12px}.comparison-metadata dd{margin:0;overflow-wrap:break-word}.comparison-metadata dt{color:var(--muted)}
@media(max-width:430px){.comparison-metadata dl{grid-template-columns:minmax(0,1fr)}.comparison-metadata dd{margin-bottom:8px}}

/* Редакторы аналитика используют поля и панели существующего интерфейса. */
.analyst-editor{min-width:0}.analyst-editor>p{margin:12px 0}.analyst-group,.analyst-row{min-width:0;border:1px solid var(--line);border-radius:7px;padding:16px;margin:12px 0}.analyst-group legend,.analyst-row legend{font-size:13px;font-weight:600;max-width:100%;overflow-wrap:anywhere;padding:0 5px}.analyst-row .field{min-width:0}.analyst-row>.btn{margin-top:14px}.analyst-group>.btn{margin-top:10px}.analyst-group:disabled{opacity:.7}.field-error{color:var(--red);font-size:12px;line-height:1.5}.field-error[hidden]{display:none}[aria-invalid=true]{border-color:var(--red)}.analyst-editor .form-grid,#credit-evidence-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#credit-evidence-form>.actions{margin:16px 0}@media(max-width:760px){.analyst-editor .form-grid,#credit-evidence-form .form-grid{grid-template-columns:minmax(0,1fr)}.analyst-group,.analyst-row{padding:12px}}

/* Выбор оснований использует существующие поля и ритм формы. */
.basis-picker{display:grid;gap:16px;min-width:0;padding:16px;border:1px solid var(--line,#d9e0eb);border-radius:12px;background:var(--bg,#f7f9fc)}
.basis-finder{display:grid;gap:10px;min-width:0}.basis-finder h4{margin:0}.basis-finder select{max-width:100%;min-width:0;width:100%}.basis-technical{min-width:0}.basis-technical .form-grid{margin-top:16px}.basis-picker .btn{justify-self:start}.basis-picker p{overflow-wrap:anywhere}
