:root{
  --bg:var(--tg-theme-bg-color,#f5f7fb);
  --card:var(--tg-theme-secondary-bg-color,#fff);
  --text:var(--tg-theme-text-color,#172335);
  --muted:var(--tg-theme-hint-color,#65758a);
  --accent:var(--tg-theme-button-color,#2364ca);
  --accent-text:var(--tg-theme-button-text-color,#fff);
  color-scheme:light dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif}
button{font:inherit;cursor:pointer}
.shell{max-width:700px;margin:0 auto;min-height:100vh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(100px + env(safe-area-inset-bottom))}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 2px 8px}
.eyebrow{margin:0 0 5px;font-size:13px;color:var(--accent);font-weight:700}
h1{font-size:25px;margin:0 0 7px;line-height:1.25}
h2{font-size:17px;margin:0 0 12px}
h3{font-size:15px;margin:0 0 6px}
.muted,.sub,.hint{color:var(--muted);line-height:1.6}
.muted{font-size:13px;margin:0}
.lang{background:var(--card);border:1px solid rgba(120,130,150,.2);border-radius:12px;padding:10px 13px;color:var(--text)}
.notice{font-size:13px;color:var(--muted);margin:12px 0 17px;line-height:1.6}
.stack{display:grid;gap:12px}
.card{background:var(--card);border:1px solid rgba(120,130,150,.14);border-radius:18px;padding:16px;box-shadow:0 3px 14px rgba(20,30,60,.03)}
.service{display:block;width:100%;text-align:start;color:var(--text)}
.filter:focus-visible,.service:focus-visible,.tabs button:focus-visible,.lang:focus-visible,.primary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.sub{font-size:13px;margin:0 0 9px}
.pill{display:inline-block;font-size:11px;border-radius:30px;padding:4px 9px;background:rgba(120,130,150,.13);color:var(--muted);margin-top:8px}
.price{font-size:13px;font-weight:700;color:var(--accent)}
.filters{display:flex;gap:8px;overflow-x:auto;margin:14px 0;padding-bottom:7px}
.filter{white-space:nowrap;border:1px solid rgba(120,130,150,.25);padding:9px 13px;border-radius:24px;background:var(--card);color:var(--text)}
.filter.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}
.primary{background:var(--accent);color:var(--accent-text);border:0;padding:13px 16px;border-radius:12px;font-weight:700;width:100%;margin-top:10px}
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:5px;background:var(--card);border-top:1px solid rgba(120,130,150,.15);padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
.tabs button{border:0;border-radius:11px;flex:1;max-width:230px;padding:11px 4px;background:transparent;color:var(--muted);font-size:13px}
.tabs button.active{background:rgba(93,142,210,.13);color:var(--accent);font-weight:700}
.empty{padding:35px 18px;text-align:center;color:var(--muted)}
@media(min-width:600px){.shell{padding-left:26px;padding-right:26px}.stack.services{grid-template-columns:1fr 1fr}}
