:root{--bg:#f7f7f5;--card:#fff;--ink:#1d1d1f;--muted:#6b6b70;--accent:#1f6feb;--line:#e4e4e0;font-family:system-ui,sans-serif;color:var(--ink)}body{margin:0;background:var(--bg)}button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:.6rem 1rem;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.link{background:none;color:var(--accent);padding:.3rem}input{padding:.6rem .8rem;border:1px solid var(--line);border-radius:8px;font:inherit}.muted{color:var(--muted)}.small{font-size:.8rem}.error{color:#c62828}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--card);padding:2rem;border-radius:14px;display:flex;flex-direction:column;gap:.8rem;width:min(420px,100%);box-shadow:0 2px 12px #0001}.consent{font-size:.85rem;display:flex;gap:.5rem;align-items:flex-start}.layout header{display:flex;gap:1rem;align-items:center;padding:.8rem 16px;background:var(--card);border-bottom:1px solid var(--line)}.layout header .muted{margin-left:auto}main{display:grid;grid-template-columns:1fr 300px;gap:16px;padding:16px;max-width:1100px;margin:auto}@media (max-width: 760px){main{grid-template-columns:1fr}}.chat{background:var(--card);border-radius:14px;display:flex;flex-direction:column;height:calc(100vh - 110px)}.messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.msg{max-width:80%;padding:.6rem .9rem;border-radius:12px;white-space:pre-wrap;line-height:1.4}.msg.user{align-self:flex-end;background:var(--accent);color:#fff}.msg.assistant{align-self:flex-start;background:#f0f0ec}.starters{display:flex;flex-direction:column;gap:.5rem;margin:auto}.chip{background:#eef3fe;color:var(--accent)}.confirm{display:flex;gap:.6rem;align-items:center;border:1px solid var(--accent);border-radius:10px;padding:.6rem .8rem;background:#f4f8ff}.confirm span{flex:1}.composer{display:flex;gap:.5rem;padding:.8rem;border-top:1px solid var(--line)}.composer input{flex:1}.bookings{background:var(--card);border-radius:14px;padding:1rem;align-self:start}.booking{border-top:1px solid var(--line);padding:.6rem 0}.opt{font-size:.9rem;margin-top:.3rem}.opt.confirmed{color:#1b7f3b;font-weight:600}.opt.released,.opt.rejected{color:var(--muted);text-decoration:line-through}.badge{margin-left:.4rem;background:#fff4d6;color:#8a5a00;border-radius:6px;padding:0 .4rem;font-size:.75rem}.admin{max-width:900px;margin:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.tabs{display:flex;gap:.4rem;flex-wrap:wrap}.tab{background:var(--card);color:var(--ink);border:1px solid var(--line)}.tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.count{margin-left:.4rem;background:#0000001a;border-radius:10px;padding:0 .45rem;font-size:.8rem}.admin-card{background:var(--card);border-radius:12px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.3rem;border-left:4px solid var(--line)}.admin-card.hold_pending,.admin-card.confirm_pending{border-left-color:#e3a008}.admin-card.held,.admin-card.rofr_waiting{border-left-color:var(--accent)}.admin-card.confirmed{border-left-color:#1b7f3b}.admin-card-head{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.pill{background:#f0f0ec;border-radius:6px;padding:0 .45rem;font-size:.8rem}.admin-actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.3rem}button.secondary{background:#eef3fe;color:var(--accent)}button.danger{background:#fdecec;color:#c62828}.admin:has(.cal){max-width:1200px}.cal{display:flex;flex-direction:column;gap:10px}.cal-bar{display:flex;align-items:center;gap:.5rem}.cal-title{font-size:1.15rem;min-width:9.5rem;text-align:center}.cal-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .8rem;font-size:.85rem}.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:3px;margin-right:-.45rem}.dot.confirmed,.cal-entry.confirmed{background:#e3f4e8;border-color:#1b7f3b}.dot.pending,.cal-entry.pending{background:#fff4d6;border-color:#c58a00}.dot.soft,.cal-entry.soft{background:#e8f0fe;border-color:var(--accent)}.dot{border:2px solid}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-head{font-size:.75rem;color:var(--muted);text-align:center;padding:.2rem 0}.cal-day{background:var(--card);border-radius:8px;min-height:92px;padding:.3rem;display:flex;flex-direction:column;gap:3px;min-width:0}.cal-day.other{opacity:.45}.cal-day.weekend,.cal-day.off{background:#efefeb}.cal-day.today{outline:2px solid var(--accent)}.cal-num{font-size:.8rem;font-weight:600}.cal-off{font-size:.68rem;color:var(--muted);line-height:1.2}.cal-entry{display:block;width:100%;text-align:left;color:var(--ink);border:1px solid;border-left-width:4px;border-radius:6px;padding:.15rem .35rem;font-size:.74rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-entry.review{border-style:dashed;border-left-style:solid}.cal-entry.selected{box-shadow:0 0 0 2px var(--ink)}.cal-time{font-weight:600}.cal-rank{margin-left:.25rem;background:#fff4d6;color:#8a5a00;border-radius:4px;padding:0 .25rem}.cal-agenda{display:none;flex-direction:column;gap:8px}.cal-agenda-day{background:var(--card);border-radius:10px;padding:.6rem;display:flex;flex-direction:column;gap:4px}.cal-agenda-date{font-weight:600;font-size:.9rem}.cal-agenda .cal-entry{font-size:.85rem;padding:.35rem .5rem}.cal-detail{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.cal-detail .admin-card{align-self:stretch}@media (max-width: 640px){.cal-grid{display:none}.cal-agenda{display:flex}}.history{display:flex;flex-direction:column;gap:10px}.history-search{display:flex;gap:.5rem;flex-wrap:wrap}.history-search input{flex:1;min-width:200px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.history-list li{background:var(--card);border-radius:10px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:2px}.admin-toolbar{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.notice{background:#e3f4e8;color:#1b5e2f;border-radius:8px;padding:.4rem .7rem;font-size:.9rem}.new-booking fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.new-booking legend{font-weight:600;font-size:.85rem;margin-bottom:.3rem;color:var(--muted)}.new-booking select{padding:.6rem .5rem;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}.new-booking fieldset.choice{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}.new-booking fieldset.choice label{display:flex;gap:.5rem;align-items:flex-start}.check{margin:0;padding:.45rem .7rem;border-radius:8px;font-size:.9rem}.check.ok{background:#e3f4e8;color:#1b5e2f}.check.warn{background:#fff4d6;color:#8a5a00}.check.bad{background:#fdecec;color:#c62828}.warn-text{color:#8a5a00}.delete-data{margin-top:1rem;border-top:1px solid var(--line);padding-top:.5rem}.warn-banner{background:#fff4d6;border:1px solid #e3a008;color:#5c3d00;border-radius:10px;padding:.7rem .9rem;font-size:.9rem}.warn-banner ul{margin:.4rem 0 0;padding-left:1.2rem}.new-booking label.inline{display:flex;gap:.4rem;align-items:center;font-size:.9rem}.check ul{margin:.3rem 0;padding-left:1.2rem}.cal-entry.event{background:#ececea;border-color:#8a8a85}.cal-entry.event.free{background:repeating-linear-gradient(135deg,#f4f4f1 0,#f4f4f1 6px,#ececea 6px,#ececea 12px);border-style:dashed;border-left-style:solid}.event-card{border-left-color:#8a8a85}.dot.event{background:#ececea;border-color:#8a8a85}.page{padding:16px;display:flex;justify-content:center}.privacy{width:min(720px,100%);line-height:1.55}.privacy h1{margin:0}.privacy h2{font-size:1.05rem;margin:.8rem 0 0}.privacy ul{margin:.3rem 0;padding-left:1.2rem}.privacy p{margin:.3rem 0}.logo{display:block;width:auto;max-width:100%}.card>.logo{align-self:flex-start}.dot.busy,.cal-entry.busy{background:repeating-linear-gradient(135deg,#fafaf8 0,#fafaf8 5px,#f0f0ec 5px,#f0f0ec 10px);border-color:#b5b5ae;border-style:dotted;border-left-style:solid}.cal-entry.busy{color:var(--muted);cursor:default}
