:root{--bg: var(--tg-theme-bg-color, #ffffff);--bg2: var(--tg-theme-secondary-bg-color, #f2f3f5);--text: var(--tg-theme-text-color, #111111);--hint: var(--tg-theme-hint-color, #8a8f98);--link: var(--tg-theme-link-color, #2481cc);--btn: var(--tg-theme-button-color, #2481cc);--btn-text: var(--tg-theme-button-text-color, #ffffff);--danger: var(--tg-theme-destructive-text-color, #e53935);--radius: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg2);color:var(--text);font:15px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#root{max-width:640px;margin:0 auto;padding:12px 12px 96px}h1{font-size:22px;margin:4px 4px 12px}h2{font-size:17px;margin:18px 4px 8px}.hint{color:var(--hint);font-size:13px}.center{text-align:center}.row{display:flex;gap:8px;align-items:center}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:8px}.card{background:var(--bg);border-radius:var(--radius);padding:12px 14px;margin-bottom:8px}.card.clickable{cursor:pointer}.card.selected{outline:2px solid var(--btn)}.card .title{font-weight:600}.muted{opacity:.55}button{font:inherit;border:0;border-radius:10px;padding:10px 14px;cursor:pointer;background:var(--btn);color:var(--btn-text);font-weight:600}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--bg2);color:var(--link)}button.danger{background:transparent;color:var(--danger);padding:6px 8px}button.link{background:transparent;color:var(--link);padding:6px 8px;font-weight:500}button.block{width:100%}.bottom-bar{position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--bg);box-shadow:0 -1px #0000000f}.bottom-bar>*{max-width:616px;margin:0 auto;display:block}input,select,textarea{font:inherit;color:var(--text);background:var(--bg2);border:0;border-radius:10px;padding:10px 12px;width:100%}input[type=time]{width:auto;min-width:104px}label.field{display:block;margin-bottom:10px}label.field>span{display:block;font-size:13px;color:var(--hint);margin:0 2px 4px}.tabs{display:flex;gap:4px;overflow-x:auto;margin-bottom:12px;scrollbar-width:none}.tabs button{background:var(--bg);color:var(--text);font-weight:500;white-space:nowrap;padding:8px 12px}.tabs button.active{background:var(--btn);color:var(--btn-text)}.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.day{flex:0 0 auto;width:54px;text-align:center;background:var(--bg);color:var(--text);border-radius:12px;padding:8px 0;font-weight:500}.day small{display:block;font-size:11px;color:var(--hint)}.day b{display:block;font-size:18px}.day.active{background:var(--btn);color:var(--btn-text)}.day.active small{color:var(--btn-text);opacity:.8}.day.empty{opacity:.4}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.slot{background:var(--bg);color:var(--text);padding:10px 0;font-weight:500}.slot.active{background:var(--btn);color:var(--btn-text)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--bg2);color:var(--text);font-weight:500;padding:7px 12px;border-radius:20px}.chip.active{background:var(--btn);color:var(--btn-text)}.badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:10px;background:var(--bg2);color:var(--hint)}.badge.ok{color:#2e7d32}.badge.bad{color:var(--danger)}.error{background:#e539351a;color:var(--danger);border-radius:10px;padding:10px 12px;margin:8px 0;white-space:pre-line}.empty-state{text-align:center;color:var(--hint);padding:32px 16px}.spinner{text-align:center;color:var(--hint);padding:40px 0}.success{text-align:center;padding:32px 8px}.success .big{font-size:56px}button.card{display:block;width:100%;text-align:left;color:var(--text);font-weight:400}.slot.taken{text-decoration:line-through;opacity:.4}
