:root{--pink:#ef2468;--pink-deep:#c4144c;--brown:#5a392c;--muted:#8c6e66;--blush:#fff5f6;--petal:#ffe3e9;--line:#f1d9df;--sans:'Jost',system-ui,sans-serif;--serif:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}
body{margin:0;font:16px/1.55 var(--sans);color:var(--brown);background:#fffafb}
a{color:var(--pink-deep)}
h1,h2{font-family:var(--serif);font-weight:500;margin:0 0 .6em}
h1{font-size:2.4rem}h2{font-size:1.7rem}
.ad-bar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.ad-bar .in{width:min(1100px,94%);margin:auto;display:flex;align-items:center;gap:1.4rem;min-height:64px;flex-wrap:wrap;padding:.4rem 0}
.ad-bar img{height:44px;mix-blend-mode:multiply}
.ad-bar nav{display:flex;gap:1.1rem;flex-wrap:wrap;flex:1}
.ad-bar nav a{text-decoration:none;color:var(--brown);padding:.3em 0;border-bottom:2px solid transparent}
.ad-bar nav a.on,.ad-bar nav a:hover{border-color:var(--pink);color:var(--pink-deep)}
main{width:min(1100px,94%);margin:2rem auto 4rem}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.4rem 1.6rem;margin-bottom:1.4rem}
.btn{display:inline-block;background:var(--pink);color:#fff;border:0;border-radius:999px;padding:.6em 1.3em;font:500 .95rem var(--sans);cursor:pointer;text-decoration:none}
.btn:hover{background:var(--pink-deep)}
.btn.ghost{background:#fff;color:var(--pink-deep);border:1.5px solid var(--pink)}
.btn.sm{padding:.35em .9em;font-size:.85rem}
.btn.danger{background:#fff;color:#a00;border:1.5px solid #e4b0b0}
input,select,textarea{font:inherit;color:var(--brown);border:1.5px solid var(--line);border-radius:10px;padding:.55em .8em;background:#fff;max-width:100%}
input[type=checkbox]{accent-color:var(--pink);width:18px;height:18px}
label.f{display:grid;gap:.3rem;font-size:.9rem;margin-bottom:.9rem}
.row{display:flex;gap:1rem;flex-wrap:wrap;align-items:end}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:.7rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:500;color:var(--muted);font-size:.85rem}
.tabs{display:flex;gap:.5rem;margin-bottom:1.2rem;flex-wrap:wrap}
.tabs a{padding:.4em 1em;border:1.5px solid var(--line);border-radius:999px;text-decoration:none;color:var(--brown);background:#fff}
.tabs a.on{background:var(--pink);border-color:var(--pink);color:#fff}
.badge{display:inline-block;padding:.1em .7em;border-radius:999px;font-size:.8rem;background:var(--petal)}
.badge.confirmed{background:#dff5e3;color:#1d6b32}.badge.cancelled{background:#eee;color:#777}.badge.pending{background:#fff0c9;color:#8a5a00}
.flash{padding:.8rem 1.1rem;border-radius:12px;margin-bottom:1rem;background:#dff5e3;color:#1d6b32}
.flash.err{background:#ffe3e3;color:#a00}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}
.thumb{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.thumb img{width:100%;aspect-ratio:4/5;object-fit:cover}
.thumb div{padding:.6rem .8rem;font-size:.85rem}
.muted{color:var(--muted);font-size:.9rem}
.login{max-width:380px;margin:12vh auto;padding:0 1rem}
.login img{height:90px;margin:0 auto 1rem;mix-blend-mode:multiply}
.wk td{vertical-align:middle}
@media(max-width:700px){th:nth-child(n+4),td:nth-child(n+4){white-space:normal}table{font-size:.9rem}}
.week{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.day{border:1px solid var(--line);border-radius:14px;padding:1rem;background:#fffafb}
.day h3{font:500 1.4rem var(--serif);margin:0 0 .6rem}
.slot-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}
.slot-row input{width:auto}
.slot-row span{color:var(--muted)}
.steps-admin{padding-left:1.2rem}.steps-admin li{margin-bottom:.5rem}
textarea.code{width:100%;font:13px/1.4 ui-monospace,Consolas,monospace;min-height:220px;background:#fffafb}
.note{background:#fff7e6;border:1px solid #f1d9a6;border-radius:12px;padding:.8rem 1rem;margin:.8rem 0}
