/* Дизайн взят из прототипа «Движ»: те же цвета, карточки, чипы и кнопки */
:root{--bg:#f3effd;--card:#fff;--ink:#241a45;--mut:#7a7096;--pri:#5b2fc4;--pri2:#e4d9fb;--gold:#f5b61f;--line:#e6def7;--ok:#2f9e5b;--bad:#d64545;--promo:#fff6d6;--promo-ink:#3b2d00}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#181228;--card:#241c3a;--ink:#f1ecff;--mut:#a89fc4;--pri:#8d63f0;--pri2:#392c61;--line:#372c58;--promo:#3a3115;--promo-ink:#ffe9a8}}
:root[data-theme=dark]{--bg:#181228;--card:#241c3a;--ink:#f1ecff;--mut:#a89fc4;--pri:#8d63f0;--pri2:#392c61;--line:#372c58;--promo:#3a3115;--promo-ink:#ffe9a8}
html{height:100%}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.4 "Trebuchet MS",Arial,sans-serif;min-height:100%;padding-top:env(safe-area-inset-top,0px)}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--pri)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
header{position:sticky;top:0;z-index:1100;display:flex;gap:6px;align-items:center;padding:10px 16px;background:var(--bg);flex-wrap:wrap}
.logo{font:800 24px "Trebuchet MS",Arial;color:var(--pri);margin-right:14px;display:flex;align-items:center;gap:4px;white-space:nowrap}.logo i{color:var(--gold);font-style:normal}
nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}
nav button{border:0;background:none;padding:9px 14px;border-radius:20px;color:var(--ink);position:relative}nav button.on{background:var(--pri2);font-weight:700}
nav .ico,nav .short{display:none}
.badge{background:var(--bad);color:#fff;border-radius:9px;font-size:11px;padding:1px 6px;margin-left:4px}
.card{background:var(--card);border-radius:18px;box-shadow:0 4px 18px rgba(91,47,196,.10);padding:16px}
.btn{display:inline-block;text-decoration:none;text-align:center;border:0;border-radius:22px;padding:11px 18px;background:var(--pri);color:#fff;font-weight:700}
.btn.soft{background:var(--pri2);color:var(--pri)}.btn.line{background:none;border:1.5px solid var(--pri);color:var(--pri)}.btn.bad{background:var(--bad);color:#fff}.btn.ok{background:var(--ok)}
.btn.sm{padding:7px 12px;font-size:13px}.btn.big{width:100%;padding:14px;font-size:17px}.btn:disabled{opacity:.5;cursor:default}
.linkbtn{border:0;background:none;color:var(--mut);text-decoration:underline;padding:4px}
.chip{border:1.5px solid var(--line);background:var(--card);border-radius:18px;padding:6px 12px;margin:0 4px 6px 0}.chip.on{background:var(--pri);border-color:var(--pri);color:#fff}
.chips{margin-top:8px}
.tag{display:inline-block;background:var(--pri2);color:var(--pri);border-radius:12px;padding:3px 10px;font-size:12px;margin-right:4px}.tag.ok{background:var(--ok);color:#fff}
main{padding:6px 16px 24px;max-width:1500px;margin:auto}
.map-layout{display:grid;grid-template-columns:260px 1fr 330px;gap:16px;align-items:start}
@media(max-width:1100px){.map-layout{grid-template-columns:1fr 330px}.map-layout>.filters{grid-column:1/-1}}
@media(max-width:800px){.map-layout{grid-template-columns:1fr}}
.filters summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.filters summary::-webkit-details-marker{display:none}
.filters summary h3{margin:0}.filters summary::after{content:"▾";color:var(--mut)}.filters[open] summary::after{content:"▴"}.filters[open] summary{margin-bottom:10px}
.promo{background:var(--promo);color:var(--promo-ink);box-shadow:none}.promo p{margin:4px 0 10px}
.map{position:relative;z-index:0;height:440px;border-radius:20px;overflow:hidden;background:#ebe4fb}
.slot{position:absolute;inset:0}.lmap{width:100%;height:100%}
.mapfail{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:#5a4f7a}
.seg{position:absolute;top:14px;right:14px;background:var(--card);border-radius:22px;padding:4px;display:flex;z-index:1001;box-shadow:0 2px 8px rgba(0,0,0,.15)}.seg button{border:0;background:none;border-radius:18px;padding:7px 16px}.seg .on{background:var(--pri);color:#fff}
.lpin{width:36px;height:36px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--pri);display:grid;place-items:center;box-shadow:0 3px 8px rgba(0,0,0,.3);border:2px solid #fff}
.lpin span{rotate:45deg;font-size:16px}.lpin.sel{background:var(--gold);transform:scale(1.15)}.lpin.going{border-color:var(--ok)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--card);color:var(--ink)}
.leaflet-popup-content{margin:12px 14px;font:14px/1.4 "Trebuchet MS",Arial,sans-serif}
.evs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.ev{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--card);cursor:pointer;text-align:left}.ev.sel{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri2)}
.ph{height:88px;border-radius:10px;display:grid;place-items:center;font-size:38px;margin-bottom:8px;background:linear-gradient(135deg,var(--pri2),#fff3)}
.mut{color:var(--mut)}.small{font-size:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sp{flex:1}
.av{width:38px;height:38px;border-radius:50%;background:var(--pri2);display:grid;place-items:center;font-weight:700;color:var(--pri);flex:none}.av.sm{width:26px;height:26px;font-size:12px}
.people{display:flex;flex-wrap:wrap;gap:6px}.person{display:inline-flex;align-items:center;gap:6px;background:var(--bg);border-radius:16px;padding:3px 10px 3px 3px;font-size:13px}
.note{border-radius:12px;padding:10px 12px;background:var(--pri2);font-weight:700}.note.ok{background:#dff3e7;color:#1d6b3d}
h2,h3{margin:0 0 10px}.stack>*+*{margin-top:10px}
.modal{position:fixed;inset:0;background:rgba(20,10,50,.55);display:grid;place-items:center;z-index:2000;padding:16px}.modal>.card{max-width:460px;width:100%;max-height:92vh;overflow:auto}
label{display:block;font-weight:700;margin:10px 0 4px}input,select,textarea{width:100%;border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:10px}
.pickmap{height:220px;border-radius:12px;overflow:hidden;margin-top:6px;position:relative;z-index:0}
.auth{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:700px){.auth{grid-template-columns:1fr}}
.chat{display:grid;grid-template-columns:270px 1fr 230px;gap:16px;height:min(74vh,680px)}
.chat>.card{min-height:0;overflow:auto}
@media(max-width:1100px){.chat{grid-template-columns:250px 1fr}.cpeople{display:none}}
@media(max-width:760px){.chat{grid-template-columns:1fr;height:calc(100dvh - 170px)}.chat .clist{display:none}.chat.show-list .clist{display:block}.chat.show-list .cmain{display:none}}
.cmain{display:flex;flex-direction:column}
.back{display:none}@media(max-width:760px){.back{display:inline-block}}
.msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:8px 0;min-height:0}
.m{max-width:78%;padding:7px 12px;border-radius:14px;background:var(--pri2);position:relative;word-wrap:break-word;white-space:pre-wrap}
.m.me{align-self:flex-end;background:var(--pri);color:#fff}.m.sys{align-self:center;background:none;color:var(--mut);font-size:12px;text-align:center}
.m .who{font-size:12px;font-weight:700;color:var(--pri)}.m .time{font-size:11px;opacity:.6;text-align:right}
.m .mrep{position:absolute;right:-26px;top:4px;border:0;background:none;color:var(--mut);opacity:0;padding:2px}.m:hover .mrep,.m .mrep:focus{opacity:1}
.li{padding:10px;border-radius:12px;cursor:pointer;display:flex;gap:10px;align-items:center;border:0;background:none;width:100%;text-align:left}.li.on{background:var(--pri2)}
.li .txt{min-width:0;flex:1}.li .txt span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
table{width:100%;border-collapse:collapse}td,th{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tbl{overflow-x:auto}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tile{background:var(--bg);border-radius:14px;padding:12px}.tile b{display:block;font-size:26px;color:var(--pri)}
.bar{height:10px;border-radius:6px;background:var(--pri)}
.pause{background:var(--bad);color:#fff;text-align:center;padding:10px;font-weight:700}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:20px;z-index:3000;max-width:90vw;text-align:center}
.st-wait{color:#b8860b}.st-ok{color:var(--ok)}.st-no{color:var(--bad)}
@media(prefers-reduced-motion:no-preference){.modal .card{animation:pp .18s ease-out}@keyframes pp{from{transform:scale(.96);opacity:0}}}

/* Телефон: навигация уезжает вниз, как в мобильном приложении */
@media(max-width:760px){
 header{padding:8px 12px}.logo{font-size:20px}
 header .create .lbl{display:none}
 nav{position:fixed;left:0;right:0;bottom:0;z-index:1200;background:var(--card);gap:0;flex-wrap:nowrap;justify-content:space-around;padding:4px 2px calc(4px + env(safe-area-inset-bottom,0px));box-shadow:0 -2px 12px rgba(0,0,0,.12)}
 nav button{flex:1;display:flex;flex-direction:column;align-items:center;padding:5px 2px;font-size:11px;border-radius:12px}
 nav .ico{display:block;font-size:19px;line-height:1.2}nav .short{display:block}nav .full{display:none}
 nav .badge{position:absolute;top:0;right:14%;margin:0}
 main{padding:4px 12px 90px}
 .map{height:340px}
 .toast{bottom:calc(80px + env(safe-area-inset-bottom,0px))}
 .m .mrep{right:auto;left:-24px}
}
