:root {
  --bg:#f6f3ef;
  --surface:#fffdfa;
  --text:#1f1f1f;
  --muted:#73706c;
  --line:#ded8d1;
  --accent:#1f1f1f;
  --soft:#eee7df;
  --warn:#fff3d5;
  --danger:#fbe8e6;
  --ok:#e9f5ea;
  --radius:18px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input{font:inherit}
button{cursor:pointer}
.shell{max-width:1100px;margin:0 auto;min-height:100vh;padding:18px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}
.brand{font-weight:800;letter-spacing:.06em}.subtle{color:var(--muted);font-size:.92rem}
.mode-switch{display:flex;background:var(--soft);padding:4px;border-radius:999px;gap:4px}.mode-switch button{border:0;background:transparent;padding:8px 12px;border-radius:999px}.mode-switch button.active{background:var(--surface);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.phone{width:min(100%,430px);margin:0 auto;background:var(--surface);min-height:760px;border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:0 12px 32px rgba(0,0,0,.06);position:relative}
.screen h1{font-size:1.55rem;margin:6px 0 8px}.screen h2{font-size:1.15rem;margin:18px 0 8px}.screen p{line-height:1.5}.hero{padding:56px 0 24px;text-align:center}.hero h1{font-size:2rem;letter-spacing:.04em}.stack{display:grid;gap:12px}.card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:14px}.card.selectable:hover{border-color:#888}.card.selected{border-color:#222;box-shadow:0 0 0 1px #222 inset}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.btn{border:1px solid #222;background:#222;color:#fff;padding:13px 16px;border-radius:14px;width:100%;font-weight:700}.btn.secondary{background:#fff;color:#222}.btn.ghost{background:transparent;color:#222;border-color:transparent}.btn.warn{background:#7c4b00;border-color:#7c4b00}.actions{display:grid;gap:10px;margin-top:20px}.input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.label{font-size:.85rem;color:var(--muted);margin:10px 0 6px}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:var(--soft);font-size:.85rem}.pill.warn{background:var(--warn)}.pill.ok{background:var(--ok)}.pill.danger{background:var(--danger)}
.summary{background:#faf7f3;border-radius:16px;padding:14px}.summary .line{display:flex;justify-content:space-between;gap:16px;padding:7px 0}.summary .total{border-top:1px solid var(--line);margin-top:5px;padding-top:12px;font-weight:800}
.calendar-days{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.day{padding:12px 8px;border:1px solid var(--line);border-radius:12px;text-align:center;background:#fff}.day.active{border-color:#222;background:#222;color:white}.day.disabled{opacity:.35}
.notice{padding:12px;border-radius:12px;background:var(--warn);font-size:.92rem}.success{background:var(--ok)}.dangerbox{background:var(--danger)}
.bottom-nav{position:sticky;bottom:0;margin:24px -20px -20px;padding:10px 14px;background:rgba(255,253,250,.96);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bottom-nav button{border:0;background:transparent;padding:8px;font-size:.85rem}
.owner{max-width:1100px;margin:0 auto}.owner-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px}.schedule-item{display:grid;grid-template-columns:70px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.schedule-item:last-child{border-bottom:0}.time{font-weight:800}.free{color:var(--muted);font-style:italic}.block{background:#f0ece7;padding:10px;border-radius:12px}.metric{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.owner-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.owner-actions button{padding:12px;border:1px solid var(--line);background:#fff;border-radius:12px}.request{border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px}.request .actions{grid-template-columns:1fr 1fr 1fr}.tiny{font-size:.82rem;color:var(--muted)}.linklike{border:0;background:none;padding:0;color:#222;text-decoration:underline}.spacer{height:8px}
@media(max-width:760px){.owner-grid{grid-template-columns:1fr}.owner-actions{grid-template-columns:1fr}.shell{padding:10px}.topbar{align-items:flex-start}.phone{min-height:calc(100vh - 92px);border-radius:22px}.request .actions{grid-template-columns:1fr}}
