:root{--bg:#f7f1ef;--surface:#fff;--ink:#271d22;--muted:#7c6b73;--line:#eadfe2;--accent:#9b2d5e;--accent-ink:#8a2453;--accent-soft:#f7e7ee;--accent-soft-2:#fbf2f6;--ok:#2e7d57;--ok-soft:#e4f2ea;--warn:#b4453d;--warn-soft:#f3e4e4;--shadow:0 18px 40px -26px #46142d73;--display:"Fraunces", Georgia, serif;--body:"Plus Jakarta Sans", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}.app{background:var(--bg);flex-direction:column;max-width:460px;min-height:100%;margin:0 auto;display:flex;position:relative}main{padding:22px 20px calc(96px + env(safe-area-inset-bottom));flex:1}h1{font-family:var(--display);letter-spacing:-.01em;margin:2px 0;font-size:27px;font-weight:600}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 0 10px;font-size:13px;font-weight:700}.sub{color:var(--muted);margin:0 0 16px;font-size:14px}.brandrow{align-items:center;gap:10px;padding:6px 0 14px;display:flex}.logo{background:var(--accent);color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.logo svg{width:18px;height:18px}.brandrow b{letter-spacing:-.01em;font-size:17px;font-weight:800}label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 7px;font-size:12.5px;font-weight:700;display:block}input,select{border:1.5px solid var(--line);background:var(--surface);width:100%;height:50px;color:var(--ink);border-radius:13px;padding:0 15px;font-family:inherit;font-size:16px}input::placeholder{color:var(--muted)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;margin-top:16px;font-family:inherit;font-size:15.5px;font-weight:700;display:flex}.btn:disabled{opacity:.6;cursor:default}.btn svg{width:18px;height:18px}.btn.soft{background:var(--accent-soft);color:var(--accent-ink)}.btn.sec{color:var(--ink);background:#ece4e7}.btn.ok{background:var(--ok)}.btn.sm{border-radius:10px;width:auto;height:auto;margin:0;padding:9px 14px;font-size:13px}.linklike{text-align:center;width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:14px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:underline;display:block}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;margin-bottom:12px;padding:14px}.appt{align-items:stretch;gap:12px;margin-bottom:12px;display:flex}.appt .time{text-align:right;flex:none;width:54px;padding-top:3px}.appt .time b{font-variant-numeric:tabular-nums;font-size:15px}.appt .time span{color:var(--muted);font-size:11.5px;display:block}.appt .rail{background:var(--accent);border-radius:4px;flex:none;width:4px}.appt .card{box-shadow:none;flex:1;margin:0;padding:12px 14px}.appt .card b{font-size:15px}.appt .card p{color:var(--muted);margin:2px 0 0;font-size:12.5px}.pill{border-radius:999px;align-items:center;gap:5px;margin-top:9px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.wait{background:var(--accent-soft);color:var(--accent-ink)}.pill.muted{color:var(--muted);background:#efe9ec}.alert{border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:13px 14px}.alert.info{background:var(--accent-soft)}.alert.warn{background:var(--warn-soft);border-color:#e7c9c6}.alert b{font-size:14px;display:block}.alert p{color:var(--muted);margin:3px 0 0;font-size:12.5px}.alert .row{justify-content:space-between;align-items:center;gap:10px;display:flex}.datepick{gap:7px;margin:2px 0 6px;display:flex}.day{border:1.5px solid var(--line);background:var(--surface);text-align:center;cursor:pointer;color:var(--muted);border-radius:12px;flex:1;padding:9px 0;font-size:12px;font-weight:600}.day b{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:1px;font-size:17px;display:block}.day.on{background:var(--accent);border-color:var(--accent);color:#fff}.day.on b{color:#fff}.opt{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;padding:13px 14px;font-size:14.5px;font-weight:600;display:flex}.opt .d{color:var(--muted);font-size:12.5px;font-weight:700}.opt .right{align-items:center;gap:10px;display:flex}.opt.sel{border-color:var(--accent);background:var(--accent-soft-2)}.opt .tick{background:var(--accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.opt .tick svg{width:13px;height:13px}.listrow{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.listrow:last-child{border-bottom:0}.ava{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.listrow .nm{flex:1;min-width:0}.listrow .nm b{font-size:14.5px;display:block}.listrow .nm span{color:var(--muted);font-size:12.5px}.listrow .dur{color:var(--accent-ink);flex:none;font-size:13px;font-weight:700}.rowbtns{flex:none;gap:6px;display:flex}.iconbtn{border:1px solid var(--line);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:flex}.iconbtn svg{width:16px;height:16px}.iconbtn.danger{color:var(--warn)}.qrbox{text-align:center}.qr{border:1px solid var(--line);background:#fff;border-radius:16px;width:210px;height:210px;margin:6px auto 14px;padding:12px}.qr img,.qr svg{width:100%;height:100%;display:block}.steps{counter-reset:s;text-align:left;margin:0;padding:0;list-style:none}.steps li{counter-increment:s;align-items:flex-start;gap:11px;margin-bottom:11px;font-size:13.5px;display:flex}.steps li:before{content:counter(s);background:var(--accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:800;display:flex}.statusline{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.statusline.ok{color:var(--ok)}.erro{color:var(--warn);margin:10px 0 0;font-size:13.5px}.vazio{text-align:center;color:var(--muted);padding:30px 10px;font-size:14px}nav.tabbar{max-width:460px;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabbar button{cursor:pointer;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-family:inherit;font-size:10.5px;font-weight:700;display:flex}nav.tabbar button svg{width:22px;height:22px}nav.tabbar button.on{color:var(--accent)}.login-wrap{min-height:100%;padding:48px 26px calc(32px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.login-top{flex-direction:column;flex:1;justify-content:center;gap:22px;display:flex}.login-ava{background:var(--accent-soft);width:64px;height:64px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;font-size:26px;font-weight:800;display:flex}.login-title{font-family:var(--display);margin:0;font-size:33px;font-weight:600;line-height:1.1}.login-note{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
