@media(max-width:1150px){
 .workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
 .workspace-layout{grid-template-columns:minmax(0,1fr)}
 .workspace-side{position:static}
 .company-grid,.top,.grid{grid-template-columns:minmax(0,1fr)}
 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}
 .obj{grid-template-columns:26px 9px minmax(0,1.4fr) minmax(120px,.8fr) auto}
 .hide-lg{display:none}
 .param-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .toolbar,.filters{grid-template-columns:repeat(3,minmax(0,1fr))}
 .analytics-top{grid-template-columns:1fr}
 .pareto-row{grid-template-columns:160px minmax(0,1fr) 100px}
 .pareto-row .cum{display:none}
 .start-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .start-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .start-list-head{display:none}
 .start-overview-row{grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(120px,.7fr)) auto}
 .start-overview-row .hide-start-md{display:none}
 .dividend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dividend-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}
 .quarter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:820px){
 header{align-items:flex-start;flex-direction:column;gap:10px}
 .brand b{font-size:22px}
 .h-actions{width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .h-actions::-webkit-scrollbar{display:none}
 .h-actions .btn{flex:0 0 auto}
 .workspace-hero{align-items:stretch;flex-direction:column}
 .workspace-context{min-width:0;width:100%}
 .page-head,.section-head{flex-wrap:wrap}
 .page-head>div:last-child,.section-head>div:last-child{display:flex;flex-wrap:wrap;gap:8px}
 .toolbar,.filters{grid-template-columns:repeat(2,minmax(0,1fr))}
 .metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .start-overview-row{grid-template-columns:minmax(210px,1.4fr) repeat(2,minmax(120px,.8fr)) auto}
 .start-overview-row .hide-start-sm{display:none}
 .data-table{min-width:720px}
 .dividend-table{min-width:760px}
 .wf-row{grid-template-columns:180px minmax(0,1fr) 110px}
}

@media(max-width:600px){
 header{padding:calc(12px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}
 main{padding:12px max(12px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
 .brand b{font-size:20px}
 .brand span{font-size:11px}
 .btn{min-height:44px;padding:10px 12px}
 .card{border-radius:14px}
 .panel,.section,.company,.kpi,.start-card{padding:14px}
 .page-head{flex-direction:column;margin-bottom:14px}
 .page-head h1{font-size:clamp(24px,8vw,32px)}
 .h-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;padding-bottom:0}
 .header-role{grid-column:1/-1;width:100%}
 .header-role select{width:100%;max-width:none;min-height:44px;font-size:16px}
 .h-actions .btn{width:100%;min-width:0}
 .page-head>div:last-child{width:100%}
 .page-head>div:last-child .btn{flex:0 0 calc(50% - 4px);min-width:0}
 .breadcrumbs{font-size:12px;white-space:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
 .company-grid,.analytics-top,.dividend-inputs,.quarter-grid,.start-inputs,.start-compare,.form-grid{grid-template-columns:1fr}
 .kpi-grid,.metric-row,.param-grid,.dividend-grid,.start-summary,.economy-grid,.difference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .workspace-hero{padding:17px;margin-bottom:10px}.workspace-hero h1{font-size:26px}.workspace-hero p{font-size:12px}.workspace-demo-note{font-size:11px}.workspace-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.workspace-kpi{padding:12px}.workspace-kpi .v{font-size:clamp(18px,5.2vw,22px)}.workspace-kpi .s{font-size:10px}.attention-item{grid-template-columns:7px minmax(0,1fr);align-items:start;padding:10px}.attention-item .btn{grid-column:2;justify-self:start}.attention-marker{grid-row:1/3}.attention-meta{align-items:flex-start;flex-direction:column;gap:4px}.attention-meta b{white-space:normal}.attention-center,.workspace-side{padding:13px}.workspace-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-actions .btn{min-width:0}.attention-center{scroll-margin-top:210px}
 .finance-metrics{display:grid}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kpi,.metric,.param,.dividend-card,.start-kpi,.economy-item,.difference-item{padding:12px;min-width:0}
 .kpi .l{font-size:10px}
 .kpi .v{font-size:clamp(17px,5.3vw,23px);overflow-wrap:anywhere}
 .kpi .s{font-size:10px;max-width:86%}
 .kpi:after{right:11px;bottom:9px;font-size:18px}
 .dividend-card .l,.start-kpi .l{font-size:10px}
 .dividend-card .v,.start-kpi .v{font-size:clamp(17px,5.3vw,23px);overflow-wrap:anywhere}
 .dividend-card .small,.start-kpi .small{font-size:10px}
 .metric .v,.param .v,.economy-item .v,.difference-item .v{font-size:20px}
 .toolbar,.filters{grid-template-columns:1fr}
 .toolbar,.filters{padding:12px}
 .toolbar input,.toolbar select,.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.start-input input,.input-card input,.input-card select,.quarter input{font-size:16px;min-height:44px}
 .obj{grid-template-columns:24px 7px minmax(0,1fr);grid-template-areas:"check stripe name" "check stripe status" "check stripe action";align-items:start;gap:8px 10px}
 .obj>.checkbox{grid-area:check;margin-top:4px}
 .obj>.stripe{grid-area:stripe;height:100%;min-height:96px}
 .obj>div:nth-child(3){grid-area:name;min-width:0}
 .obj>div:nth-child(4){grid-area:status;min-width:0}
 .obj>button:last-child{grid-area:action;justify-self:start}
 .hide-sm,.hide-lg{display:none!important}
 .name{font-size:15px}
 .pill{white-space:normal}
 .item{grid-template-columns:1fr;align-items:start}
 .item>.btn,.item>.tag{justify-self:start}
 .section-head{align-items:flex-start}
 .section-head>div>.btn,.approval-actions .btn{flex:0 0 calc(50% - 4px);min-width:0}
 .timeline{min-width:760px}
 .scroll{margin-left:-2px;margin-right:-2px;padding-bottom:4px}
 .barrow{grid-template-columns:100px minmax(0,1fr) 78px;font-size:11px}
 .pareto-row{grid-template-columns:100px minmax(0,1fr) 78px;font-size:11px}
 .wf-row{grid-template-columns:1fr}
 .start-card-head{flex-direction:column}
 .start-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .start-actions .btn{width:100%}
 .start-overview-row{grid-template-columns:1fr;padding:13px}
 .start-overview-row .start-main,.start-overview-row .start-open{grid-column:auto}
 .start-overview-row .start-open .btn{width:100%}
 .start-rank{vertical-align:middle}
 .start-cell{padding-top:3px}
 .scenario-note{font-size:12px;line-height:1.45}
 .modal-bg{padding:0;align-items:flex-end}
 .modal,.modal.wide{width:100%;max-height:calc(100dvh - env(safe-area-inset-top));border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}
 .modal-head{padding:14px}
 .modal-body{padding:14px}
 .modal-actions{padding:12px 14px;flex-wrap:wrap}
 .modal-actions .btn{flex:0 0 calc(50% - 4px);min-width:0}
 .sticky-compare{left:14px;right:14px;transform:none;width:auto;justify-content:space-between;flex-wrap:wrap}
 .sticky-compare .btn{flex:0 0 calc(50% - 4px);min-width:0}
 .dividend-scenarios .scenario-btn{flex:0 0 calc(50% - 5px);min-width:0}
 .toast{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
 .footer{margin-bottom:calc(18px + env(safe-area-inset-bottom))}
}

@media(max-width:390px){
 .brand b{font-size:19px}
 .kpi,.metric{padding:11px}
 .kpi .v{font-size:20px}
 .metric .v{font-size:19px}
 .section h3{font-size:18px}
 .start-value,.readonly-date{font-size:18px}
 .barrow,.pareto-row{grid-template-columns:88px minmax(0,1fr) 68px}
}

@media(hover:none){
 .btn:hover,.company:hover,.kpi:hover,.obj:hover,.start-overview-row:hover{transform:none}
}

@supports(-webkit-touch-callout:none){
 body{min-height:-webkit-fill-available}
 input[type="date"]{line-height:1.2}
 .modal{overscroll-behavior:contain}
}

/* Демо-модуль согласований. Изолирован от текущей версии v42. */
.approval-banner{padding:14px 16px;margin-bottom:16px;background:#fff8f2;border:1px solid #f6c7a8;border-left:6px solid var(--o);border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:14px}.approval-banner b{display:block;margin-bottom:4px}.approval-banner .demo-badge{white-space:nowrap}.approval-kpis{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px;margin-bottom:16px}.approval-kpi{padding:17px;border-top:4px solid var(--o)}.approval-kpi .l{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900}.approval-kpi .v{font-size:24px;font-weight:900;margin-top:7px}.approval-kpi .s{font-size:11px;color:var(--muted);margin-top:5px}.approval-card{padding:18px;margin-bottom:12px;border-left:6px solid var(--y)}.approval-card.approved{border-left-color:var(--g)}.approval-card.revision{border-left-color:var(--o)}.approval-card.rejected{border-left-color:var(--r)}.approval-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.approval-head h3{margin:8px 0 4px}.approval-impact{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:9px;margin:14px 0}.approval-impact>div{padding:11px;border:1px solid var(--line);background:#f8fafc;border-radius:11px}.approval-impact .l{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:900}.approval-impact .v{font-size:16px;font-weight:900;margin-top:5px}.approval-reason{padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:11px;line-height:1.5}.approval-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.approval-summary{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px}.approval-summary>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.approval-summary .l{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:900}.approval-summary .v{font-size:18px;font-weight:900;margin-top:5px}.approval-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.approval-step{position:relative;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.approval-step:not(:last-child):after{content:"→";position:absolute;right:-17px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:900;color:#94a3b8;z-index:2}.approval-step b{display:block;margin-bottom:5px}.approval-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.approval-form-grid input,.approval-form-grid select,.approval-form-grid textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}.approval-audit{border-left:2px solid #cbd5e1;padding-left:14px}.approval-audit>div{padding:7px 0;font-size:12px}.read-only-note{padding:11px 13px;border-radius:11px;background:#eef6ff;border:1px solid #bfdbfe;color:#1e3a8a}.approval-precheck{margin-top:12px;border:1px solid #dbe4ee;border-radius:12px;background:#f8fafc;overflow:hidden}.approval-precheck summary{cursor:pointer;padding:12px 14px;font-weight:900;color:#334155;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px}.approval-precheck summary::-webkit-details-marker{display:none}.approval-precheck summary:after{content:"Показать ▾";font-size:10px;color:var(--muted);text-transform:uppercase}.approval-precheck[open] summary:after{content:"Скрыть ▴"}.approval-precheck-list{padding:0 14px 12px}.approval-precheck-row{display:grid;grid-template-columns:34px minmax(150px,.6fr) minmax(180px,.8fr) minmax(260px,1.5fr) 120px;gap:10px;align-items:start;padding:11px 0;border-top:1px solid var(--line)}.approval-precheck-no{width:27px;height:27px;border-radius:9px;background:#dcfce7;color:#166534;display:grid;place-items:center;font-size:11px;font-weight:900}.approval-precheck-role{font-weight:900}.approval-precheck-comment{font-size:12px;line-height:1.45;color:#475569}.approval-precheck-date{font-size:11px;color:var(--muted);text-align:right}.approval-precheck-ready{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10px;font-weight:900}
@media(max-width:1150px){.approval-impact{grid-template-columns:repeat(3,1fr)}.approval-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.approval-banner,.approval-head{display:block}.approval-banner .demo-badge{margin-top:10px}.approval-impact,.approval-kpis,.approval-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-kpi{padding:12px}.approval-kpi .v{font-size:20px}.approval-flow,.approval-form-grid{grid-template-columns:1fr}.approval-step:after{display:none}.approval-precheck-row{grid-template-columns:34px 1fr}.approval-precheck-row>*:not(:first-child){grid-column:2}.approval-precheck-date{text-align:left}}

/* Рабочее место планово-аналитического отдела. */
.reporting-card{border-top:4px solid #2563eb}.reporting-top{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:12px;margin-bottom:16px}.reporting-kpi{padding:16px}.reporting-kpi .l{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900}.reporting-kpi .v{font-size:24px;font-weight:900;margin-top:7px}.reporting-kpi .s{font-size:11px;color:var(--muted);margin-top:5px}.reporting-progress{height:11px;border-radius:999px;background:#e5e7eb;overflow:hidden;margin-top:9px}.reporting-progress>span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#22c55e);border-radius:999px}.reporting-controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.reporting-controls select{min-width:180px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:800}.reporting-table select,.reporting-table input{width:100%;min-width:145px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:11px}.reporting-table input.report-comment{min-width:230px}.reporting-table tr.report-problem{background:#fff8f2}.reporting-table tr.report-accepted{background:#f6fff8}.reporting-source{max-width:230px}.reporting-issue{display:block;margin-top:4px;color:#b91c1c;font-size:10px;font-weight:800}.reporting-locked{padding:11px 13px;margin-bottom:16px;border-radius:11px;background:#ecfdf5;border:1px solid #86efac;color:#166534}.reporting-audit{display:grid;gap:8px}.reporting-audit>div{padding:10px 12px;border-left:3px solid #93c5fd;background:#f8fafc;border-radius:0 10px 10px 0;font-size:12px}.status-select-missing{color:#64748b}.status-select-review{color:#92400e;background:#fffbeb!important}.status-select-correction{color:#b91c1c;background:#fff1f2!important}.status-select-accepted{color:#166534;background:#f0fdf4!important}.period-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.period-company{padding:16px;border-left:5px solid #94a3b8}.period-company.ready{border-left-color:var(--g)}.period-company.problem{border-left-color:var(--r)}
@media(max-width:1150px){.reporting-top{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.reporting-top,.period-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reporting-kpi,.period-company{padding:12px}.reporting-kpi .v{font-size:20px}.period-company .param-grid{grid-template-columns:1fr}.reporting-controls{align-items:stretch}.reporting-controls>*{width:100%}.reporting-controls select,.reporting-table input,.reporting-table select{font-size:16px;min-height:44px}}

@media print{
 header,.h-actions,.btn,.toolbar,.filters,.sticky-compare,.footer,.workspace-demo-note{display:none!important}
 body{background:#fff}
 .card{box-shadow:none}
}
