:root{--bg:#f4f7f8;--card:#fff;--text:#0f1f1e;--muted:#5b6b6a;--line:#dde5e4;--accent:#0f766e;--accent-soft:#d9f2ee;--ok:#15803d;--ok-soft:#dcfce7;--warn:#b45309;--warn-soft:#fef3c7;--danger:#b91c1c;--radius:14px;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}@media (prefers-color-scheme:dark){:root{--bg:#0b1514;--card:#132120;--text:#e8f0ef;--muted:#93a5a3;--line:#223432;--accent:#2dd4bf;--accent-soft:#123b37;--ok:#4ade80;--ok-soft:#14361f;--warn:#fbbf24;--warn-soft:#3a2a08}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);padding-bottom:calc(24px + var(--sab));-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.45}a{color:inherit}button,input{font:inherit}.app{max-width:640px;margin:0 auto;padding:0 16px}.topbar{z-index:10;background:var(--accent);color:#fff;padding:calc(12px + var(--sat)) 16px 12px;margin:0 -16px 16px;position:sticky;top:0}.topbar h1{letter-spacing:-.2px;margin:0;font-size:20px;font-weight:700}.topbar p{opacity:.9;margin:2px 0 0;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px}.field{margin-bottom:10px;position:relative}.field label{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.field input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:10px;outline:none;padding:12px;font-size:16px}.field input:focus{border-color:var(--accent)}.suggest{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:10px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 10px 30px #0000001f}.suggest button{text-align:left;width:100%;color:var(--text);background:0 0;border:0;padding:10px 12px;font-size:15px;display:block}.suggest button+button{border-top:1px solid var(--line)}.suggest button:active,.suggest button.active{background:var(--accent-soft)}.suggest small{color:var(--muted);margin-left:6px}.row{align-items:end;gap:10px;display:flex}.row>*{flex:1}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.55}.btn.secondary{background:var(--accent-soft);color:var(--accent)}.btn.small{padding:8px 12px;font-size:14px}.btn.block{width:100%}.result{flex-direction:column;gap:8px;display:flex}.result .name{margin:0;font-size:16px;font-weight:700}.result .meta{color:var(--muted);margin:0;font-size:13px}.pill{border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.muted{background:var(--bg);color:var(--muted)}.actions{flex-wrap:wrap;gap:8px;display:flex}.notice{border-radius:10px;margin-bottom:12px;padding:12px 14px;font-size:14px}.notice.warn{background:var(--warn-soft);color:var(--warn)}.notice.info{background:var(--accent-soft);color:var(--accent)}.notice.error{color:var(--danger);background:#fee2e2}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--line), var(--card), var(--line));background-size:200% 100%;height:84px;margin-bottom:12px;animation:1.2s infinite sh}@keyframes sh{0%{background-position:200% 0}to{background-position:-200% 0}}.footer{text-align:center;color:var(--muted);margin-top:24px;font-size:12px}.footer a{color:var(--muted)}.sheet-backdrop{z-index:40;background:#0006;position:fixed;inset:0}.sheet{z-index:50;background:var(--card);padding:16px 16px calc(16px + var(--sab));border-radius:18px 18px 0 0;max-width:640px;max-height:85vh;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow:auto}.sheet h3{margin:0 0 8px}.days{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;display:grid}.day{border:1px solid var(--line);text-align:center;border-radius:10px;padding:8px;font-size:13px}.day strong{color:var(--muted);font-size:12px;display:block}.day .n{color:var(--ok);font-size:18px;font-weight:700}.day.empty .n{color:var(--muted);font-weight:500}.slots{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.slot{background:var(--ok-soft);color:var(--ok);border-radius:8px;padding:6px 9px;font-size:13px;font-weight:600;text-decoration:none}.tabs{gap:6px;margin-bottom:12px;display:flex}.tabs button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:10px;flex:1;padding:10px;font-weight:600}.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.install{color:var(--muted);font-size:13px}
