/* Posto design system — концепт 2.0 (Golos Text, мягкие тени, #f4f3fb) */
@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800;900&display=swap');
:root{
  --bg:#f4f3fb;
  --bg2:#faf9fe;
  --card:#ffffff;
  --txt:#211d33;
  --muted:#948eab;
  --muted2:#8d87a4;
  --line:#ece9f7;
  --primary:#7c6fd4;
  --primary-2:#8b7ee0;
  --primary-dark:#6a5cc8;
  --primary-soft:#f1eefb;
  --peach:#f6a88f;
  --peach-2:#f0916f;
  --peach-deep:#e07f5c;
  --peach-soft:#fdeee7;
  --ok:#16a34a;
  --radius:18px;
  --grad:linear-gradient(135deg,#8b7ee0,#7c6fd4);
  --shadow:0 12px 30px -22px rgba(88,74,168,.5);
  --shadow-lg:0 14px 34px -24px rgba(88,74,168,.5);
  --shadow-sm:0 2px 10px rgba(45,48,71,.05);
}
*{box-sizing:border-box;font-family:'Golos Text',-apple-system,"Segoe UI",Roboto,sans-serif;}
body{margin:0;background:var(--bg);color:var(--txt);-webkit-font-smoothing:antialiased;}
h1{font-size:22px;font-weight:800;letter-spacing:-.01em;margin:0 0 4px;}
h2{font-size:16px;font-weight:800;letter-spacing:-.01em;margin:0 0 12px;}
.muted{color:var(--muted2);font-size:13px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-bottom:14px;}
.btn,button{font-size:15px;font-weight:700;padding:13px 16px;border-radius:14px;border:none;cursor:pointer;
  background:var(--grad);color:#fff;width:100%;transition:.15s;box-shadow:0 8px 18px -8px rgba(124,111,212,.6);}
.btn:hover,button:hover{filter:brightness(1.05);}
.btn-soft,button.soft{background:var(--primary-soft);color:var(--primary);box-shadow:none;}
.btn-soft:hover,button.soft:hover{background:#e8e3f8;filter:none;}
.btn-ghost,button.ghost{background:transparent;color:var(--primary);box-shadow:none;}
.btn-ghost:hover,button.ghost:hover{background:var(--primary-soft);filter:none;}
input,select,textarea{font-size:15px;padding:12px 14px;border:1.5px solid var(--line);border-radius:13px;
  width:100%;margin-bottom:10px;background:#fff;color:var(--txt);outline:none;transition:.15s;}
input:focus,textarea:focus,select:focus{border-color:var(--primary);}
.row{display:flex;gap:10px;}.row>*{flex:1;}
/* круглая иконка услуги/раздела */
.ic{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--primary-soft);color:var(--primary);font-size:20px;flex:0 0 auto;}
.ic.peach{background:var(--peach-soft);color:var(--peach);}
/* пилюли времени */
.pill{padding:11px 14px;border-radius:13px;background:#fff;border:1.5px solid var(--line);
  cursor:pointer;font-size:14px;font-weight:600;text-align:center;}
.pill.on{background:var(--primary);color:#fff;border-color:var(--primary);}
.pills{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
/* список-карточка с иконкой */
.tile{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:13px 14px;
  box-shadow:var(--shadow-sm);margin-bottom:10px;cursor:pointer;border:2px solid transparent;}
.tile.on{border-color:var(--primary);}
.tile .t{font-weight:600;font-size:15px;}
.tile .s{color:var(--muted2);font-size:13px;margin-top:2px;}
.tile .price{margin-left:auto;font-weight:700;color:var(--primary);white-space:nowrap;}
.back{background:none;border:none;color:var(--primary);font-size:14px;font-weight:600;padding:0;width:auto;cursor:pointer;margin-bottom:10px;}
.ok{color:var(--ok);} .hidden{display:none !important;}
.logo{height:40px;display:block;}
/* кнопка входа через Telegram в стиле Posto */
.tg-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#fff;
  color:var(--primary);border:1.5px solid var(--line);font-weight:600;}
.tg-btn:hover{background:var(--primary-soft);border-color:var(--primary-soft);}
.tg-btn svg{color:#29a9eb;}
/* разделитель «или» */
.divider{display:flex;align-items:center;text-align:center;color:var(--muted2);font-size:13px;margin:12px 0;}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line);}
.divider span{padding:0 12px;}
/* тосты */
#toasts{position:fixed;top:18px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:100;}
.toast{background:#fff;border:1px solid var(--line);border-left:4px solid var(--primary);
  border-radius:12px;padding:12px 16px;box-shadow:var(--shadow);font-size:14px;font-weight:500;
  min-width:200px;animation:toastIn .2s ease;}
.toast.ok{border-left-color:var(--ok);} .toast.err{border-left-color:#dc2626;}
@keyframes toastIn{from{opacity:0;transform:translateX(20px);}to{opacity:1;transform:none;}}
/* чип-переключатель (мастера на услугу) */
.chip-toggle{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;margin:0 6px 8px 0;border-radius:20px;
  border:1.5px solid var(--line);background:#fff;color:var(--txt);font-size:13px;font-weight:600;cursor:pointer;user-select:none;transition:.12s;}
.chip-toggle:hover{border-color:var(--primary);}
.chip-toggle.on{background:var(--primary);color:#fff;border-color:var(--primary);}
.chip-toggle input{display:none;}
/* нижняя таб-навигация */
.tabbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);
  display:flex;justify-content:space-around;padding:10px 0 14px;box-shadow:0 -2px 12px rgba(45,48,71,.05);}
.tabbar a{color:var(--muted);font-size:22px;text-decoration:none;}
.tabbar a.on{color:var(--primary);}
/* зона загрузки фото */
.uploader{border:2px dashed var(--line);border-radius:14px;padding:18px;text-align:center;cursor:pointer;transition:.15s;background:var(--bg);margin-bottom:10px;}
.uploader:hover{border-color:var(--primary);background:var(--primary-soft);}
.uploader .hint{color:var(--muted2);font-size:13px;}
.uploader .plus{font-size:26px;color:var(--primary);line-height:1;margin-bottom:4px;}
.uploader.has{padding:0;border-style:solid;border-color:var(--line);overflow:hidden;position:relative;}
.uploader.has img{display:block;width:100%;max-height:200px;object-fit:cover;}
.uploader .rm{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.55);color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:15px;}
/* кнопки действий в строках */
.acts{display:flex;gap:6px;justify-content:flex-end;}
.act{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--muted2);transition:.12s;padding:0;}
.act:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft);}
.act svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;}
.act.danger:hover{border-color:#dc2626;color:#dc2626;background:#fdecec;}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:600;}
.badge.on{background:var(--primary-soft);color:var(--primary);} .badge.off{background:var(--bg);color:var(--muted2);}
.badge .d{width:7px;height:7px;border-radius:50%;background:currentColor;}
