:root{--bg: #0f1115;--card: #181b22;--card-2: #20242e;--text: #eef1f6;--muted: #8b93a4;--accent: #4c8dff;--accent-press: #3b7bea;--ok: #35c07f;--err: #ff6b6b;--border: #2a2f3a;--radius: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{background:var(--bg)}.app{max-width:520px;margin:0 auto;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));min-height:100vh;min-height:100dvh}.btn,.chip,.seg-btn,.link{touch-action:manipulation;-webkit-user-select:none;user-select:none}.centered{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.brand{font-size:34px;margin:0;letter-spacing:-.5px}.brand-sm{font-weight:700;font-size:18px}.muted{color:var(--muted)}.foot{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:13px;margin-top:22px}.open-screen{gap:18px}.open-badge{width:108px;height:108px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px;background:var(--card-2);border:1px solid var(--border)}.open-badge.searching,.open-badge.opening{animation:pulse 1.2s ease-in-out infinite}.open-badge.opened{background:#35c07f26;border-color:var(--ok);color:var(--ok);font-size:56px}.open-badge.error{border-color:var(--err)}.open-again{max-width:280px}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.75}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 18px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:16px}.card h2{margin:0 0 14px;font-size:18px}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-head h2{margin:0}.row{display:flex;gap:12px;margin-bottom:14px}.field{display:flex;flex-direction:column;gap:6px;flex:1}.field>span{font-size:13px;color:var(--muted)}input[type=date]{background:var(--card-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:12px;font-size:16px;width:100%}.seg{display:flex;background:var(--card-2);border:1px solid var(--border);border-radius:10px;overflow:hidden}.seg-btn{flex:1;background:transparent;border:0;color:var(--muted);padding:12px 0;font-size:15px;font-weight:600;cursor:pointer}.seg-btn.on{background:var(--accent);color:#fff}.btn{width:100%;background:var(--accent);color:#fff;border:0;border-radius:12px;padding:14px;font-size:16px;font-weight:600;cursor:pointer}.btn:active{background:var(--accent-press)}.btn:disabled{opacity:.5;cursor:default}.btn-apple{background:#000;border:1px solid #333;max-width:280px}.btn-sm{width:auto;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}.link{background:none;border:0;color:var(--accent);font-size:15px;cursor:pointer;min-height:44px;padding:0 4px;display:inline-flex;align-items:center}.section-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}.section-label:first-of-type{margin-top:8px}.daystrip{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;padding-bottom:4px;margin:0 -4px;padding-left:4px;padding-right:4px}.daystrip::-webkit-scrollbar{display:none}.day{flex:0 0 auto;scroll-snap-align:start;width:52px;padding:8px 0;display:flex;flex-direction:column;align-items:center;gap:3px;background:var(--card-2);border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer}.day-wd{font-size:12px;color:var(--muted)}.day-num{font-size:18px;font-weight:700}.day.on{background:var(--accent);border-color:var(--accent)}.day.on .day-wd,.day.on .day-num{color:#fff}.timelist{display:flex;flex-direction:column;gap:8px}.timerow{width:100%;text-align:left;min-height:52px;padding:0 16px;display:flex;align-items:center;background:var(--card-2);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:16px;font-weight:600;cursor:pointer}.timerow.on{border-color:var(--accent);background:#4c8dff24;color:var(--accent)}.book-btn{margin-top:16px}.quick-open{text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;font-size:17px}.slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chip{background:var(--card-2);border:1px solid var(--border);color:var(--text);border-radius:999px;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;font-size:15px;font-weight:600;cursor:pointer}.chip:active{border-color:var(--accent)}.chip:disabled{opacity:.5}.bookings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.booking{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card-2);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.booking-info{display:flex;flex-direction:column;gap:2px;font-size:15px}.booking-info .muted{font-size:13px}.booking-actions{display:flex;gap:8px;flex-shrink:0}.ok{color:var(--ok);font-size:14px;margin:12px 0 0}.err{color:var(--err);font-size:14px;margin:12px 0 0;white-space:pre-wrap;word-break:break-word}.fatal{max-width:520px;margin:40px auto;padding:20px;color:var(--err)}
