/* Шаг 3: экраны обращения (case.js). Токены — из ui.css. */
.case-rail { grid-template-columns:repeat(4,minmax(0,1fr)); max-width:760px; }
.case-rail a { display:flex; align-items:center; gap:9px; color:var(--muted); padding:6px 0; font-weight:700; font-size:13px; text-decoration:none; }
.journey-rail .current a,.journey-rail .complete a { color:var(--ink); }
.case-card h2 { font-size:22px; }
.case-card h3 { font-size:17px; }
.case-card label { display:flex; flex-direction:column; gap:6px; font-weight:600; font-size:15px; }
.case-card label.check-label,.case-card label.choice { flex-direction:row; font-weight:500; }
.case-card input:not([type=checkbox]):not([type=radio]),.case-card select,.case-card textarea {
  width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:var(--radius-xs); background:var(--white); font-weight:400; }
.case-card input:focus,.case-card select:focus,.case-card textarea:focus { border-color:var(--ink); outline:none; }
.case-group { padding-top:22px; border-top:1px solid var(--line); gap:14px; }
.case-wait { display:flex; gap:16px; align-items:flex-start; padding:22px; background:var(--paper); border-radius:var(--radius); }
.case-fact { display:flex; flex-direction:column; gap:8px; padding:14px 16px; border-radius:var(--radius-sm); background:var(--paper); }
.case-fact.need { background:var(--warm-warn); border:1px solid var(--warm-warn-line); }
.case-fact-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; flex-wrap:wrap; }
.case-label { font-size:13px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
.case-value { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.case-value p { font-size:16px; line-height:1.45; }
.case-source summary,.case-source-tag { font-size:13px; color:var(--muted); cursor:pointer; white-space:nowrap; }
.case-source[open] { flex-basis:100%; }
.case-source blockquote { margin:8px 0; padding:10px 14px; border-left:3px solid var(--accent-deep); background:var(--white); font-size:14px; line-height:1.5; white-space:normal; }
.case-source a { font-size:13px; }
.case-problem { color:var(--danger); font-size:14px; }
.case-editor .row { gap:10px; }
.case-basis { display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:10px; }
.case-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.case-choices.column { grid-template-columns:1fr; }
.case-card .choice { display:flex; gap:10px; align-items:flex-start; padding:14px 16px; border-radius:var(--radius-sm); background:var(--paper); border:1.5px solid var(--line); cursor:pointer; }
.case-card .choice span { display:flex; flex-direction:column; gap:4px; }
.case-card .choice small { font-weight:400; }
.case-card .choice:has(input:checked),.case-card .choice.chosen { background:var(--accent-pale); border-color:var(--ink); }
.case-card .choice input { margin-top:4px; accent-color:var(--ink); }
.case-conflict,.case-confirm-passport { gap:10px; display:flex; flex-direction:column; }
.case-alt { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.case-egrul { font-size:14px; padding:8px 12px; border-radius:var(--radius-xs); background:var(--success-bg); }
.case-egrul.warn { background:var(--warn-bg); } .case-egrul.danger { background:var(--danger-bg); }
.case-docs summary { cursor:pointer; font-weight:600; }
.case-docs .stack { margin-top:12px; gap:10px; }
.case-doc { display:grid !important; grid-template-columns:1fr 220px; align-items:center; }
.case-sub { padding-left:16px; border-left:3px solid var(--line); gap:12px; }
.case-sum { display:flex; justify-content:space-between; gap:12px; padding:12px 16px; background:var(--paper); border-radius:var(--radius-xs); }
.case-sum.total { background:var(--ink); color:var(--white); font-size:18px; }
.case-sum.total strong { color:var(--accent); }
.case-loss { display:grid; grid-template-columns:2fr 1.4fr 1.2fr 1fr auto; gap:10px; align-items:end; padding:12px; background:var(--paper); border-radius:var(--radius-xs); }
.case-requisites { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.case-requisites p { grid-column:1/-1; }
.case-footer { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:flex-end; padding-top:22px; border-top:1px solid var(--line); }
.case-footer p { flex-basis:100%; text-align:right; }
.btn.disabled { opacity:.5; }
.case-summary { padding:20px; background:var(--paper); border-radius:var(--radius); gap:16px; }
.case-summary .grid-two { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.case-summary ol { margin:6px 0; padding-left:22px; line-height:1.5; }
.case-attachment { display:grid; grid-template-columns:auto 1fr 110px; gap:10px; align-items:center; }
.case-attachment small { grid-column:2/-1; margin-top:-6px; }
.case-sheets { flex-direction:row !important; align-items:center; gap:8px !important; white-space:nowrap; font-weight:400 !important; font-size:13px !important; }
.case-card .case-sheets input { width:80px; }
.case-download { padding:22px; border:2px solid var(--ink); border-radius:var(--radius); }
.case-next { margin:0; padding-left:22px; line-height:1.6; color:var(--muted); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
@media (max-width:760px) {
  .case-basis,.case-loss,.case-requisites,.case-summary .grid-two,.case-choices { grid-template-columns:1fr; }
  .case-doc { grid-template-columns:1fr; }
  .case-attachment { grid-template-columns:auto 1fr; }
  .case-attachment .case-sheets { grid-column:2; }
  .case-value { flex-direction:column; gap:6px; }
  .case-footer { justify-content:stretch; } .case-footer .btn { flex:1; text-align:center; }
}
.case-wait .spinner { flex-shrink:0; margin-top:4px; }
.case-basis-open { align-self:flex-start; font-size:14px; }
.case-card { width:100%; max-width:880px; margin-inline:auto; }
.case-card input[inputmode=decimal] { max-width:320px; }
.case-group > .btn { align-self:flex-start; }
.case-found-requisites { gap:10px; display:flex; flex-direction:column; }
.case-paste { padding:16px; background:var(--paper); border-radius:var(--radius-sm); gap:10px; }
.case-requisites-block { gap:12px; }
/* Cookie-уведомление в общем стиле экосистемы (как у СП и РА): тёмная полоса над контентом
   внизу экрана, ширина по контентной сетке с отступом 16px — баннер читается как слой над ней. */
.cookie-banner { position:fixed; left:0; right:0; bottom:16px; z-index:1000; width:min(960px,100% - 32px); margin-inline:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; background:var(--ink); color:var(--white); border:1px solid var(--line-dark); border-radius:var(--radius); box-shadow:var(--shadow-3); font-size:14px; line-height:1.5; }
/* Атрибут [hidden] должен реально прятать баннер: display:flex у класса перекрывает [hidden]. */
.cookie-banner[hidden] { display:none; }
.cookie-banner__text { margin:0; flex:1; min-width:220px; }
.cookie-banner__text a { color:var(--accent); text-decoration:underline; }
.cookie-banner__actions { flex:none; display:flex; align-items:center; gap:10px; }
.cookie-banner__btn { flex:none; padding:10px 22px; border:1.6px solid transparent; border-radius:var(--radius-pill); background:var(--accent); color:var(--ink); font:inherit; font-weight:800; cursor:pointer; }
.cookie-banner__btn:hover, .cookie-banner__btn:focus-visible { background:color-mix(in srgb,var(--accent) 82%,var(--white)); }
.cookie-banner__btn--ghost { background:transparent; border-color:var(--line-dark); color:var(--white); font-weight:700; }
.cookie-banner__btn--ghost:hover, .cookie-banner__btn--ghost:focus-visible { background:var(--ink-2); border-color:var(--white); }
/* Телефон: в столбик, кнопки во всю ширину — иначе пара кнопок вылезает за край. */
@media (max-width:560px) {
  .cookie-banner { bottom:12px; width:min(960px,100% - 24px); flex-direction:column; align-items:stretch; gap:12px; padding:14px 16px; }
  .cookie-banner__text { flex:none; min-width:0; }
  .cookie-banner__actions { display:grid; grid-template-columns:1fr 1fr; }
}
