:root{--bg:#181719;--panel:#242224;--panel2:#302d30;--fg:#faf9f8;--muted:#d0c9ca;--line:#595357;--accent:#982832;--accent2:#6D1118;--gold:#d6b886;--focus:#f6d790;--radius:17px;--shadow:0 12px 25px rgba(0,0,0,.16)}
*{box-sizing:border-box}html{font-size:17px}body{margin:0;color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.5}body.large{font-size:1.13em}a{color:#ffe0b0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,a{-webkit-tap-highlight-color:transparent}header{background:var(--panel);border-bottom:1px solid #4e4246}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.45rem,3.6vw,2.2rem);line-height:1.17;letter-spacing:.02em;margin-bottom:6px}h2{font-size:1.4rem;margin-bottom:10px}h3{font-size:1.12rem;margin-bottom:7px}p{color:var(--muted)}label{display:block;font-weight:650;margin-bottom:7px;color:var(--fg)}small,.muted{color:var(--muted)}.container{max-width:1180px;margin:auto;padding:0 20px}.top{display:flex;gap:20px;align-items:center;padding:16px 0}.brand-img{width:88px;height:88px;object-fit:contain;flex:none;filter:drop-shadow(0 4px 12px #0008)}.brand-text p{margin:0;color:var(--gold);font-weight:600;letter-spacing:.03em}.top-status{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:5px;color:#dccccc;font-size:.81rem;white-space:nowrap}.online-pill{border:1px solid #7a696c;border-radius:999px;padding:4px 12px;color:#f0e5d9}.nav{background:#272327;border-bottom:2px solid var(--accent2)}.navinner{display:flex;gap:5px;flex-wrap:wrap;padding:8px 0}.navbtn{background:none;border:0;color:#f1e8e9;border-radius:9px;font-weight:720;padding:12px 18px;min-height:49px}.navbtn.active{background:var(--accent2);color:#fff}.navbtn:not(.active):hover{background:#453a3e}.main{padding-top:28px;padding-bottom:54px}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px}.hero p{margin:0}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 17px;border-radius:11px;border:1px solid #817779;min-height:49px;font-weight:720;text-decoration:none;text-align:center;color:#fff;background:#443d41}.btn.primary{background:var(--accent2);border-color:#b7585b}.btn.primary:hover{background:#85232b}.btn:hover{filter:brightness(1.10)}.btn.secondary{background:var(--panel2)}.btn.plain{background:transparent}.btn.danger{background:#692029;border-color:#c57b7f}.btn.small{font-size:.92rem;padding:8px 12px;min-height:43px}.filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:14px;background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:var(--radius);margin-bottom:22px}.control{width:100%;min-height:49px;border-radius:10px;background:#181719;color:var(--fg);border:1px solid #95898c;padding:10px 14px}.control::placeholder{color:#b6adaf}.field{min-width:0}.hint{font-size:.87rem;color:var(--muted);margin:5px 0 0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:15px}.card{background:var(--panel);border:1px solid #63585b;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);min-width:0}.card-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}.team-logo{width:64px;height:64px;border-radius:12px;background:#3c3336;object-fit:contain;flex:none;border:1px solid #75636a;padding:3px}.placeholder-logo{display:flex;justify-content:center;align-items:center;font-weight:900;color:var(--gold);font-size:1.12rem}.card h3{overflow-wrap:anywhere;margin:0}.card p{margin-bottom:14px}.card-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;padding-top:9px;border-top:1px solid #5d5154}.count{color:var(--gold);font-size:.91rem;font-weight:750}.card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.role{font-size:.83rem;font-weight:780;color:var(--gold);text-transform:uppercase;letter-spacing:.045em}.contact-name{font-size:1.12rem;font-weight:800;color:var(--fg);margin:3px 0 10px;overflow-wrap:anywhere}.tag{display:inline-block;border:1px solid #8e747a;border-radius:8px;color:#eddcdd;padding:3px 9px;font-size:.83rem;margin:0 5px 6px 0}.line{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:7px 0;overflow-wrap:anywhere}.line span{color:var(--muted);font-size:.88rem;min-width:110px}.line a{text-decoration:underline;text-underline-offset:3px}.panel{padding:20px;border-radius:var(--radius);background:var(--panel);border:1px solid #62575b;margin-bottom:18px}.detail-head{display:flex;align-items:center;gap:19px;margin-bottom:20px}.detail-logo{width:95px;height:95px;object-fit:contain;background:#302a2c;border:1px solid #8b6b72;border-radius:15px;padding:4px}.detail-logo.placeholder-logo{font-size:1.5rem}.detail-meta{margin:7px 0}.stack{display:grid;gap:13px}.empty{padding:36px 25px;text-align:center;border:1px dashed #8b797c;background:#292628;border-radius:15px}.empty h3{margin:0 0 8px}.empty p{margin-bottom:16px}.toolbar{display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.toolbar h2{margin:0}.section-foot{border-top:1px solid #63585b;padding-top:16px;margin-top:15px;display:flex;flex-wrap:wrap;gap:9px}.season-pill{display:flex;align-items:center;justify-content:space-between;gap:10px}.season-big{font-size:1.5rem;font-weight:850;color:var(--gold)}.notice{padding:15px;border-left:4px solid var(--gold);background:#302a29;border-radius:10px;margin:15px 0;color:#f7e8d3}.notice.warning{border-color:#fa9292}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.dialog-overlay{position:fixed;inset:0;background:#060506dd;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;overflow-y:auto}.dialog{background:#272326;border:1px solid #8f7d82;color:var(--fg);border-radius:18px;width:min(720px,100%);max-height:calc(100dvh - 30px);overflow-y:auto;padding:23px;box-shadow:0 16px 70px #000c}.dialog h2{margin:0 0 14px}.dialog-footer{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;border-top:1px solid #66575b;padding-top:15px;margin-top:22px}.dialog textarea{min-height:100px;resize:vertical}.dialog input[type=file]{padding-top:12px}.sr-only{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0)}.toast{position:fixed;bottom:17px;left:50%;transform:translateX(-50%);background:#e8d5b4;color:#231a1c;font-weight:800;border-radius:12px;padding:12px 20px;z-index:300;max-width:90%;box-shadow:0 8px 25px #0008}.foot{margin-top:35px;font-size:.87rem;color:#b5aaaa;text-align:center}.boot{padding:60px 20px;text-align:center}.boot img{height:126px}.twoCol{display:grid;grid-template-columns:1fr 1fr;gap:15px}.divider{border:0;border-top:1px solid #61545a;margin:20px 0}.countBar{color:var(--gold);font-weight:680;margin-bottom:13px}
@media(max-width:690px){.top{gap:10px}.brand-img{height:72px;width:72px}.top-status{display:none}.container{padding:0 14px}.main{padding-top:18px}.navinner{gap:5px}.navbtn{font-size:.87rem;padding:9px 12px;min-height:45px}.hero{display:block}.hero .actions{margin-top:15px}.filters{grid-template-columns:1fr;padding:14px}.cards{grid-template-columns:1fr}.form-grid,.twoCol{grid-template-columns:1fr}.detail-head{align-items:flex-start;gap:12px}.detail-logo{width:74px;height:74px}.dialog{padding:18px}.dialog-overlay{align-items:flex-start}.dialog-footer .btn{flex:1}.card{padding:17px}.btn{padding:10px 13px}.card-bottom{align-items:flex-start}}

/* v2: удобные крупные элементы, понятная навигация, предварительный просмотр */
.preview-contact {background:#1d1b1e;border:1px solid #807075;border-radius:12px;padding:17px;margin:16px 0;overflow-wrap:anywhere}
.preview-contact p {margin:0 0 10px;color:#faf9f8}
.preview-contact p:last-child {margin-bottom:0}
.btn {min-height:49px}
.card-actions .btn {min-height:47px}
.navbtn {font-size:1rem}
@media(max-width:690px) {
 .navinner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .navbtn{font-size:.90rem;padding:11px 8px;min-height:52px;white-space:normal;text-align:center}
 .card-actions .btn{flex:1 1 130px}
 .actions>.btn{flex:1 1 175px}
 .top{padding:12px 0}
 .brand-text p{font-size:.83rem;letter-spacing:0}
 .hero .actions{display:flex}
}
@media(max-width:385px){.navbtn{font-size:.83rem}.brand-img{width:62px;height:62px}}

/* v2.1 — крупный видимый индикатор готовности к автономной работе */
.offline-status{padding:12px 16px;margin:0 0 22px;border-radius:12px;font-size:1rem;font-weight:750;border:1px solid #776267;overflow-wrap:anywhere}
.offline-status.ready{background:#20362c;color:#e0ffe7;border-color:#61947b}
.offline-status.warning{background:#44302a;color:#fff0d7;border-color:#c6955a}
.offline-status.pending{background:#302b36;color:#ecddff;border-color:#8475a9}
@media(max-width:690px){.offline-status{font-size:.97rem;line-height:1.4;margin-bottom:18px;padding:14px}}
/* ХЛК 2.3 · спокойный фирменный интерфейс, большие зоны нажатия и читаемые контакты */
:root {
  --bg:#171619;
  --panel:#242224;
  --panel2:#343034;
  --fg:#fff9f8;
  --muted:#d7cfd0;
  --line:#575056;
  --accent2:#6D1118;
  --gold:#e7cda4;
  --radius:18px;
}
html { scroll-padding-top:20px; }
body { background: radial-gradient(ellipse 85% 650px at 50% -370px,#4a242c 0,#171619 90%); }
.site-header { background:#242224; border-bottom:1px solid #50444b; }
.top { padding:13px 0; gap:14px; }
.brand-img { width:72px; height:72px; }
.brand-text .eyebrow { color:#d0b6b5; letter-spacing:.12em; font-weight:750; font-size:.66rem; margin-bottom:2px; }
.brand-text h1 { margin:0 0 3px; letter-spacing:.008em; font-size:clamp(1.3rem,2.8vw,1.85rem); }
.brand-text p { font-size:.84rem; }
.private-pill { border:1px solid #6b5f64; border-radius:50px; padding:5px 11px; font-weight:650; }
.header-add { display:inline-flex;align-items:center;gap:6px;min-height:47px;border-radius:12px;background:#6D1118;color:white;border:1px solid #a74b50;font-size:.93rem;font-weight:800;padding:10px 18px;white-space:nowrap; }
.nav { background:#292629;border-bottom:1px solid #50444b; }
.navinner { gap:6px; }
.navbtn { font-size:.92rem;min-height:46px;padding:10px 13px; }
.main { padding-top:22px; }
.offline-status { display:inline-flex;align-items:center;border-radius:40px;padding:8px 13px;font-size:.81rem;font-weight:740;margin-bottom:18px;max-width:100%; }
.offline-status.ready { background:#27362c; border-color:#476854; color:#e3fae8; }
.offline-status.warning { background:#493327; color:#ffebcf; }
.home-hero { min-height:255px;display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden;position:relative;border-radius:22px;padding:28px 34px;background:linear-gradient(118deg,#2c262c 2%,#581b26 60%,#341b23 100%);border:1px solid #8b444b;box-shadow:0 15px 40px #0004; }
.home-hero:after { content:"";position:absolute;border:1px solid #ffffff12;border-radius:50%;height:410px;width:410px;right:-65px;top:-80px;pointer-events:none; }
.home-copy { position:relative;z-index:1;max-width:640px; }
.hero-kicker { color:#e5c9a0;letter-spacing:.16em;font-size:.73rem;font-weight:800;margin-bottom:9px; }
.home-copy h2 { font-size:clamp(2rem,4vw,3rem);line-height:1.09;letter-spacing:-.035em;color:#fff;max-width:640px;margin:0 0 14px; }
.home-copy h2 em { font-style:normal;color:#f5d4ac; }
.home-copy p { color:#f0dfe3;font-size:.99rem;max-width:470px;margin:0; }
.home-logo { width:210px;height:210px;object-fit:contain;filter:drop-shadow(0 10px 17px #0008);position:relative;z-index:1;flex:none; }
.home-search { background:#282528;border:1px solid #625258;border-radius:18px;padding:18px;margin:20px 0 22px; }
.home-search label { font-size:1.07rem;margin:0 0 10px; }
.home-search p { margin:8px 0 0;font-size:.81rem;color:#c4b4bb; }
.searchbox { position:relative;display:flex;align-items:center;background:#f8f5f2;border-radius:13px;color:#5c5055;border:2px solid #d7ccc6;overflow:hidden; }
.searchbox:focus-within { border-color:#e0b584;box-shadow:0 0 0 3px #edc5a22f; }
.searchbox span { font-size:1.65rem;line-height:1;margin-left:16px; }
.searchbox input { width:100%;border:0;outline:0;background:transparent;font-size:1.04rem;color:#282126;min-height:55px;padding:9px 12px; }
.searchbox input::placeholder { color:#73656b; }
.home-section-title,.heading-row { display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:13px; }
.home-section-title h2,.heading-row h2,.home-quick h2 { margin:0;color:#fff;font-size:1.28rem; }
.home-season { color:#e8cda5;font-size:.84rem;font-weight:650; }
.home-tiles { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px; }
.home-tile { border-radius:18px;border:1px solid #60555a;background:#2c282c;color:#fff;text-align:left;padding:18px;display:flex;align-items:center;gap:16px;min-height:110px; }
.home-tile:hover,.home-tile:focus-visible { background:#393138; }
.tile-icon { border-radius:15px;background:#4b2933;border:1px solid #70444e;display:grid;place-items:center;font-size:1.7rem;width:58px;height:58px;flex:none;color:#f4d4af; }
.tile-body { display:grid;gap:4px;flex:1;min-width:0; }
.tile-body b { font-size:1.03rem;line-height:1.2; }
.tile-body small { color:#e0d2d5;font-size:.82rem;line-height:1.3; }
.tile-count { font-size:1.2rem;font-weight:850;color:#f1ce9d;white-space:nowrap; }
.tile-count span { color:#ccb6be;font-size:1.5rem;margin-left:5px; }
.home-quick { margin-bottom:20px; }
.home-quick h2 { margin-bottom:12px; }
.quick-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.quick-grid button { border-radius:14px;border:1px solid #a64850;min-height:67px;display:flex;gap:14px;align-items:center;justify-content:center;font-size:1.03rem;padding:13px 12px;color:white; }
.quick-grid button span { font-size:1.7rem;line-height:1; }
.quick-primary { background:#6D1118; }
.quick-secondary { background:#363037;border-color:#685a62!important; }
.home-teams { display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin-bottom:20px; }
.home-team { display:flex;align-items:center;gap:14px;background:#302b30;color:#fff;text-align:left;border:1px solid #65565e;border-radius:14px;padding:10px 14px;font-weight:700;min-height:78px; }
.home-team>span:nth-last-child(2) { flex:1; }
.home-team>span:last-child { font-size:1.5rem; }
.home-team .team-logo { height:50px;width:50px; }
.search-results h3 { color:#e9cba0;font-size:.97rem;margin-bottom:11px; }
.search-results .cards { margin-bottom:20px; }
/* Светлые карточки контактов специально для удобства чтения на телефоне */
.contact-card { background:#f7f5f2;border-color:#e9dfd9;color:#262228;box-shadow:0 10px 26px #0003; }
.contact-card .contact-top { display:flex;align-items:center;gap:12px;margin-bottom:14px; }
.contact-avatar { width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:15px;background:#6D1118;color:#fff;font-size:1.06rem;font-weight:850;letter-spacing:.035em; }
.contact-ident { min-width:0; }
.contact-card .contact-name { color:#242224;font-size:1.17rem;line-height:1.25;font-weight:850;margin:0 0 4px; }
.contact-card .role { color:#79222b;text-transform:none;letter-spacing:0;font-size:.91rem;font-weight:780; }
.contact-tags { margin:0 0 12px; }
.contact-card .tag { color:#5e4147;background:#f0e8e5;border-color:#ddccca;white-space:normal; }
.contact-card .team-tag { background:#ede3da;border-color:#dac2bb; }
.contact-card .organization,.contact-card .dates { color:#675c60;font-size:.88rem;line-height:1.4;margin:0 0 10px; }
.phone-row { display:flex;align-items:center;gap:8px;justify-content:space-between;background:#fff;border:1px solid #e6dad5;border-radius:11px;padding:11px 10px;margin:8px 0; }
.phone-meta { display:grid;gap:2px;min-width:0;overflow-wrap:anywhere; }
.phone-meta small,.contact-email small { color:#685e62;font-size:.74rem;font-weight:650; }
.phone-meta>span { color:#252024;font-size:.99rem;font-weight:800; }
.phone-buttons { flex:none;display:flex;gap:5px;align-items:center; }
.phone-call { display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#6D1118;border-radius:9px;min-height:46px;text-decoration:none;font-size:.83rem;font-weight:800;padding:8px 11px;white-space:nowrap; }
.phone-copy { min-width:43px;min-height:46px;background:#f4eeee;color:#6D1118;border:1px solid #dfd0cd;border-radius:9px;font-weight:900;font-size:1.2rem; }
.contact-email { display:grid;gap:3px;margin:10px 0;overflow-wrap:anywhere; }
.contact-email a { color:#72232d;text-decoration:underline;font-size:.94rem;font-weight:650; }
.contact-note { background:#f0ebe6;padding:10px;border-radius:9px;color:#554c4b;font-size:.87rem;overflow-wrap:anywhere; }
.contact-card .card-actions { border-top:1px solid #e0d5d2;padding-top:12px;margin-top:13px;display:grid;grid-template-columns:1fr 1fr;gap:8px; }
.contact-card .card-actions .btn { font-size:.88rem;min-height:48px;padding:7px 6px; }
.contact-card .card-actions .secondary { background:#ebe5e3;color:#5d343d;border-color:#d0bbb9; }
.contact-card .card-actions .primary { background:#6D1118;border-color:#6D1118;color:white; }
.contact-card .card-actions .plain { color:#6d555c;border-color:#ddd1ce; }
.contact-card .card-actions .danger-text { color:#8d3640; }
.contact-card .btn:hover,.home-tile:hover,.header-add:hover { filter:brightness(1.05); }
/* Диалоги и основные действия — читабельны даже на небольшом дисплее */
.quick-options { display:grid;gap:10px;margin:17px 0; }
.quick-options>button { display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;text-align:left;gap:0 13px;align-items:center;background:#362e33;border:1px solid #76646b;color:#fff;border-radius:12px;min-height:82px;padding:12px 16px; }
.quick-options>button span { grid-row:1/3;align-self:center;font-size:1.7rem;color:#eed0a8; }
.quick-options>button strong { font-size:1.04rem; }
.quick-options>button small { color:#e0d4d5;font-size:.84rem; }
.quick-cancel { width:100%; }
.dialog-overlay { z-index:350; }
.dialog { border-color:#9a7a80; }
.field label { font-size:1.01rem; }
.control { min-height:52px;font-size:1rem; }
.foot { font-size:.76rem;line-height:1.5; }
.mobile-nav,.more-menu,.more-shade { display:none; }
@media(max-width:750px) {
  .desktop-nav { display:none; }
  .top { padding:10px 0; }
  .brand-img { width:59px;height:59px; }
  .brand-text .eyebrow { font-size:.57rem;letter-spacing:.09em; }
  .brand-text h1 { font-size:1.16rem; }
  .brand-text p { font-size:.75rem;letter-spacing:0; }
  .top-status { display:none; }
  .header-add { margin-left:auto;padding:8px 10px;font-size:.76rem;min-height:44px; }
  .main { padding-top:15px;padding-bottom:calc(106px + env(safe-area-inset-bottom,0px)); }
  .offline-status { padding:6px 11px;font-size:.74rem;margin:0 0 12px; }
  .home-hero { min-height:196px;padding:19px 19px; }
  .home-logo { width:124px;height:124px;margin-right:-25px;opacity:.95; }
  .home-copy h2 { font-size:clamp(1.67rem,5.9vw,2.5rem); }
  .hero-kicker { font-size:.62rem;letter-spacing:.10em; }
  .home-copy p { font-size:.83rem;line-height:1.45; }
  .home-search { margin:13px 0 20px;padding:14px; }
  .home-section-title h2 { font-size:1.13rem; }
  .home-season { font-size:.73rem; }
  .home-tiles { gap:9px; }
  .home-tile { padding:13px;gap:10px;min-height:98px; }
  .tile-icon { width:44px;height:44px;font-size:1.4rem;border-radius:12px; }
  .tile-body b { font-size:.92rem; }
  .tile-body small { font-size:.7rem; }
  .tile-count { font-size:1rem; }
  .tile-count span { display:none; }
  .quick-grid button { font-size:.92rem;min-height:60px;gap:8px; }
  .mobile-nav { display:grid;position:fixed;bottom:0;left:0;right:0;z-index:120;grid-template-columns:repeat(5,minmax(0,1fr));background:#282327;border-top:1px solid #796069;padding:5px max(4px,env(safe-area-inset-right,4px)) calc(6px + env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left,4px));box-shadow:0 -7px 35px #0006; }
  .mobile-tab { border:0;border-radius:11px;background:transparent;color:#ddccce;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;font-size:.63rem;font-weight:700;padding:6px 3px; }
  .mobile-icon { font-size:1.42rem;line-height:1.15; }
  .mobile-tab.active { color:#fff;background:#6D1118; }
  .more-shade { display:block;position:fixed;inset:0;background:#08060899;z-index:109; }
  .more-menu { display:grid;gap:6px;position:fixed;bottom:calc(77px + env(safe-area-inset-bottom,0px));left:12px;right:12px;z-index:115;background:#322a2e;border:1px solid #8b6c74;border-radius:18px;padding:17px;box-shadow:0 16px 50px #000b; }
  .more-menu h2 { font-size:1.07rem;margin:0 0 6px;color:white; }
  .more-menu button { display:flex;align-items:center;justify-content:space-between;min-height:55px;text-align:left;color:white;background:#41373d;border:1px solid #715d65;border-radius:12px;padding:11px 16px;font-size:.95rem;font-weight:750; }
  .more-menu button span { font-size:1.4rem;color:#e9caa4; }
  .card-actions .btn { flex:none; }
  .cards { grid-template-columns:1fr; }
  .dialog { max-height:calc(100dvh - 28px); }
}
@media(max-width:390px) {
  .brand-img { height:53px;width:53px; }
  .header-add { font-size:.71rem;padding:8px 7px; }
  .brand-text .eyebrow { display:none; }
  .home-logo { width:95px;height:95px;margin-right:-24px; }
  .home-copy h2 { font-size:1.6rem; }
  .home-hero { min-height:182px; }
  .home-copy p { font-size:.77rem; }
  .tile-icon { width:38px;height:38px;font-size:1.25rem; }
  .home-tile { gap:8px;padding:11px; }
  .tile-body b { font-size:.84rem; }
  .tile-body small { font-size:.66rem; }
  .tile-count { font-size:.88rem; }
  .mobile-tab { font-size:.6rem; }
  .phone-row { align-items:flex-start; }
  .phone-call { padding:7px; font-size:.75rem; }
}

/* ХЛК 2.4: доступные способы связи и форма мессенджеров */
.contact-card .card-actions .contact-cta { grid-column:1/-1;font-size:1.04rem;min-height:54px; }
.messenger-details { border:1px solid #7b656b;border-radius:14px;padding:12px 15px;background:#332d32; }
.messenger-details summary { cursor:pointer;font-weight:800;font-size:1.02rem;min-height:37px;display:list-item;align-content:center;color:#fff; }
.messenger-details .hint { margin:7px 0 13px;color:#e9dadc; }
.messenger-switches { display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px; }
.switch-choice { display:flex;align-items:center;gap:11px;min-height:54px;padding:10px 13px;background:#494047;border:1px solid #85717a;border-radius:11px;flex:1 1 180px;cursor:pointer; }
.switch-choice input { width:22px;height:22px;flex:none;accent-color:#9e2430; }
.switch-choice span { font-size:.95rem;font-weight:750; }
.messenger-details .form-grid { margin:0; }
.contact-methods-dialog .method-person { font-size:1.07rem;font-weight:800;margin-top:-4px; }
.method-list { display:grid;gap:9px;margin:14px 0; }
.method-choice { min-height:63px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#3a3035;border:1px solid #8c7078;border-radius:12px;padding:12px 16px;color:#fff;text-decoration:none; }
.method-choice strong { font-size:1.04rem;display:block;margin-bottom:3px; }
.method-choice small { color:#e5d4d8;font-size:.82rem;line-height:1.35;display:block; }
.method-choice>span:last-child { color:#edcaac;font-size:1.25rem; }
.method-choice:hover,.method-choice:focus-visible { background:#514047; }
.method-disabled { opacity:.6;border-style:dashed; }
.method-disabled:hover {background:#3a3035;}
@media (max-width:430px){ .method-choice {padding:11px 13px;} .messenger-details{padding:11px;} }


/* === ХЛК v2.4.1 — безопасная область iPhone (PWA), компактная шапка ===
   В режиме black-translucent системные часы и вырез iPhone накладываются
   поверх веб-страницы. Сдвигаем содержимое шапки на safe-area-inset-top.
   Для Safari в обычной вкладке значение, как правило, нулевое.
*/
@media (max-width:750px) {
  .site-header {
    padding-top:env(safe-area-inset-top,0px);
  }
  .container {
    padding-left:calc(14px + env(safe-area-inset-left,0px));
    padding-right:calc(14px + env(safe-area-inset-right,0px));
  }
  .top {
    display:grid;
    grid-template-columns:50px minmax(0,1fr) auto;
    column-gap:9px;
    align-items:center;
    padding-top:9px;
    padding-bottom:11px;
    min-height:72px;
  }
  .brand-img { width:49px;height:49px; }
  .brand-text { min-width:0; }
  .brand-text .eyebrow { display:none; }
  .brand-text h1 {
    font-size:clamp(.99rem,3.7vw,1.13rem);
    line-height:1.13;
    overflow-wrap:normal;
    margin-bottom:4px;
  }
  .brand-text p {
    font-size:clamp(.60rem,2.25vw,.70rem);
    line-height:1.24;
    letter-spacing:0;
    overflow-wrap:normal;
  }
  .header-add {
    margin-left:0;
    font-size:.76rem;
    line-height:1.2;
    min-height:44px;
    padding:8px 10px;
    white-space:nowrap;
    align-self:center;
  }
  /* Диалоги и меню не попадают под системные зоны iPhone. */
  .dialog-overlay {
    padding-top:max(16px,env(safe-area-inset-top,0px));
    padding-bottom:max(16px,env(safe-area-inset-bottom,0px));
  }
  .dialog {
    max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  }
  .toast {
    bottom:calc(88px + env(safe-area-inset-bottom,0px));
  }
  .more-menu {
    left:calc(12px + env(safe-area-inset-left,0px));
    right:calc(12px + env(safe-area-inset-right,0px));
  }
}
/* Резерв на некоторых версиях WebKit, где safe-area-inset-top возвращает 0,
   несмотря на прозрачный статус-бар установленного приложения. */
@media (max-width:750px) and (display-mode:standalone) {
  @supports (-webkit-touch-callout:none) {
    .site-header { padding-top:max(44px,env(safe-area-inset-top,0px)); }
  }
}
@media (max-width:360px) {
  .top { grid-template-columns:42px minmax(0,1fr) auto; column-gap:7px; }
  .brand-img { width:42px;height:42px; }
  .brand-text h1 {font-size:.93rem;}
  .brand-text p {font-size:.58rem;}
  .header-add {padding:7px 8px;font-size:.72rem;}
}


/* === ХЛК v2.4.2: исправление наложения панели навигации на карточки в iOS PWA ===
   В Safari установленной иконки нижняя фиксированная панель может оставаться
   на высоте уменьшенного visualViewport после работы с клавиатурой.
   Убираем position:fixed у меню ПОЛНОСТЬЮ: интерфейс больше не зависит от
   того, когда WebKit обновит размеры экрана. Меню закрепляется сверху
   в обычном потоке документа. Никаких перекрытий кнопок контактов снизу.
*/
.mobile-nav-shell { display:none; }
@media (max-width:750px) {
  html { scroll-padding-top:100px; }
  .mobile-nav-shell {
    display:block;
    position:sticky;
    top:0;
    z-index:120;
    background:#282327;
    border-bottom:1px solid #796069;
    box-shadow:0 5px 14px rgba(0,0,0,.22);
  }
  .mobile-nav {
    display:grid;
    position:static;
    inset:auto;
    bottom:auto;
    left:auto;
    right:auto;
    grid-template-columns:repeat(5,minmax(0,1fr));
    padding:5px max(4px,env(safe-area-inset-right,4px)) 5px max(4px,env(safe-area-inset-left,4px));
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .mobile-tab { min-height:51px; }
  .main { padding-bottom:calc(30px + env(safe-area-inset-bottom,0px)); }
  /* The extra-actions menu is part of the sticky toolbar, not a second
     position:fixed element with a potentially stale bottom offset. */
  .more-shade { display:none !important; }
  .more-menu {
    position:static;
    display:grid;
    inset:auto;
    left:auto;
    right:auto;
    bottom:auto;
    margin:0 9px 10px;
    max-height:min(65dvh,450px);
    overflow-y:auto;
    z-index:auto;
    box-shadow:0 8px 22px rgba(0,0,0,.28);
  }
  .toast {bottom:calc(15px + env(safe-area-inset-bottom,0px));}
}
@media (max-width:750px) and (display-mode:standalone) {
  @supports (-webkit-touch-callout:none) {
    .mobile-nav-shell { top:max(44px,env(safe-area-inset-top,0px)); }
  }
}
