/* Стили поиска, входа и кабинета. */
:root { font-family: "Segoe UI", system-ui, sans-serif; color:#1f3028; background:#f5f7f4; --green:#235845; --muted:#52665a; --line:#dce5dd; --white:#fdfefc; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; min-height:100dvh; display:flex; flex-direction:column; }
header { background:var(--white); border-bottom:1px solid var(--line); }
.frame { width:min(920px,calc(100% - 40px)); margin-inline:auto; }
.bar,.section-heading,.setting-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.bar { min-height:66px; }
nav { display:flex; gap:6px; }
nav a,.brand { text-decoration:none; color:var(--green); }
.brand { display:inline-flex; align-items:center; gap:10px; min-width:0; font-weight:750; line-height:1.2; }
.brand img { display:block; flex:none; }
nav a { padding:8px 12px; border-radius:8px; font-size:14px; }
nav a[aria-current],nav a:hover { background:#e8f0e9; }
main { padding:28px 0 52px; }
main:has(.login:not([hidden])) { flex:1; display:grid; place-items:center; padding-block:24px; }
h1,h2,p { margin:0; }
h1 { font-size:clamp(29px,5vw,42px); line-height:1.12; letter-spacing:-.045em; }
h2 { font-size:22px; letter-spacing:-.025em; }
p,ol { color:var(--muted); line-height:1.55; }
a { color:var(--green); text-underline-offset:3px; }
.surface { background:var(--white); border:1px solid var(--line); border-radius:16px; }
.intro { background:#e6efe6; padding:25px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.intro p { margin-top:7px; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { opacity:.52; cursor:wait; }
:focus-visible { outline:3px solid #43866b; outline-offset:3px; }
.button,.segments button { font-weight:650; border:1px solid transparent; border-radius:9px; padding:10px 15px; font-size:14px; min-height:44px; transition:background .18s ease; }
.primary { color:white; background:var(--green); }
.primary:hover { background:#34705a; }
.secondary { color:var(--green); background:#edf4ee; border-color:var(--line); }
.subtle { color:var(--green); background:transparent; }
.secondary:hover,.subtle:hover { background:#e7f0e8; }
.results { margin-top:27px; }
#status { color:var(--muted); font-size:14px; text-align:right; }
.segments { display:flex; margin:13px 0 11px; gap:6px; }
.segments button { color:var(--green); background:transparent; min-height:36px; padding-block:7px; }
.segments [aria-pressed=true] { background:#e2ede3; }
#results { display:grid; gap:9px; }
.result-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; align-items:baseline; padding:14px 17px; }
.result-card a { font-weight:700; overflow-wrap:anywhere; text-decoration:none; }
.result-card a:hover { text-decoration:underline; }
.result-card p { font-size:14px; grid-column:1; overflow-wrap:anywhere; }
.price { font-weight:700; white-space:nowrap; grid-column:2; grid-row:1; }
.result-card details { grid-column:1 / -1; font-size:13px; }
.empty { margin-top:10px; padding:18px; }
.notice-wrap { position:sticky; top:12px; z-index:3; }
.notice-wrap:has(.notice[hidden]) { height:0; }
.notice { display:flex; align-items:center; gap:12px; padding:12px 14px; margin-top:12px; border-radius:11px; color:#284737; background:#e4f0e6; box-shadow:0 5px 20px #142b2525; animation:appear .2s ease-out; }
.notice[data-kind=error] { background:#fff0ec; color:#7d362b; }
.notice[data-kind=warning] { background:#fff4da; color:#634919; }
.notice a { margin-left:auto; white-space:nowrap; color:inherit; font-weight:700; font-size:14px; }
.notice button { background:none; border:0; font-size:22px; color:inherit; margin-left:auto; min-width:44px; min-height:44px; }
.cabinet-title { margin-bottom:18px; }
.cabinet { display:grid; grid-template-columns:175px minmax(0,1fr); gap:22px; }
.sections { flex-direction:column; align-self:start; }
.settings,.login { padding:24px; }
.login { width:min(100%,410px); padding:clamp(22px,5vw,32px); box-shadow:0 12px 34px #18382a0b; }
.login h1 { font-size:clamp(27px,5vw,34px); text-align:center; }
.login form { display:grid; gap:16px; margin-top:24px; }
.login p,.settings label,.settings details,.settings p { margin-top:14px; }
.login button { width:100%; min-height:48px; margin-top:4px; }
.login .field-error { margin-top:5px; color:#883f32; font-size:13px; }
.settings section { animation:appear .2s ease-out; }
.fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
label { display:grid; gap:6px; font-size:14px; font-weight:650; }
input:not([type=checkbox]),textarea,select { width:100%; min-height:46px; padding:10px; border:1px solid #cbd8cd; border-radius:8px; background:#fff; color:inherit; }
textarea { resize:vertical; }
.check { display:flex; align-items:center; gap:9px; font-weight:500; }
.check input { width:17px; height:17px; flex:none; accent-color:var(--green); }
summary { cursor:pointer; color:var(--green); }
.settings .secondary { margin-top:14px; }
.steps { padding-left:21px; margin:11px 0; }
.steps li+li { margin-top:5px; }
.divider { border-top:1px solid var(--line); margin:22px 0; }
.badge { background:#e8f0e9; color:#345c49; border-radius:7px; padding:5px 8px; font-size:13px; }
.form-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:21px; }
dialog { width:min(420px,calc(100% - 30px)); border:1px solid var(--line); border-radius:16px; padding:22px; color:inherit; }
dialog[open] { animation:appear .2s ease-out; }
dialog::backdrop { background:#10282069; }
dialog p { margin-top:8px; }
dialog p:empty { display:none; }
@keyframes appear { from {opacity:0;transform:translateY(5px)} to {opacity:1;transform:none} }
html,textarea { scrollbar-color:#a0b6a6 transparent; scrollbar-width:thin; }
@media(max-width:600px) {
  .frame { width:calc(100% - 28px); }
  .bar { min-height:59px; }
  .brand { gap:8px; font-size:14px; }
  nav a { display:flex; align-items:center; min-height:44px; padding-inline:8px; }
  main { padding-top:20px; }
  .intro { display:grid; padding:17px; gap:12px; }
  .intro .button { width:100%; }
  .cabinet { grid-template-columns:1fr; gap:12px; }
  .sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sections a { padding-inline:10px; font-size:14px; }
  .settings { padding:16px; }
  input:not([type=checkbox]),textarea,select { font-size:16px; }
  .notice { flex-wrap:wrap; gap:5px 10px; }
  .notice span { flex:1 0 75%; }
  .notice a { order:3; margin-left:0; }
  .result-card { grid-template-columns:minmax(0,1fr); gap:5px; padding:14px; }
  .price { grid-column:1; grid-row:auto; white-space:normal; }
  .form-actions { flex-wrap:wrap; }
  dialog .form-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; } }
