body.admin{background:#f1ece2}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--ink)}.login__card{width:min(100%,400px);padding:2rem;border:3px solid var(--cream);background:#fff;box-shadow:10px 10px 0 var(--red)}.login__brand{display:block;width:fit-content;margin:0 auto .4rem}.login__brand img{width:150px;height:auto}.login__card h1{text-align:center}.login__card h1{margin:.4rem 0 1.4rem;font-family:var(--display);font-weight:400;font-size:2.4rem;text-transform:uppercase}.login__card .btn{width:100%;margin-top:.4rem}.google-btn{display:flex;align-items:center;justify-content:center;gap:.7rem;width:100%;padding:.8rem 1rem;border:2px solid var(--ink);background:#fff;color:#1f1f1f;font:600 1rem var(--body);cursor:pointer;transition:background .12s}.google-btn:hover{background:#f3f0ea}.google-btn svg{width:20px;height:20px}.divider{display:flex;align-items:center;gap:.8rem;margin:1.2rem 0;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.divider:before,.divider:after{content:"";flex:1;border-top:1px solid #ddd5c5}.linkish{display:block;margin:1rem auto 0;border:0;background:none;color:var(--navy);font:600 .9rem var(--body);text-decoration:underline;cursor:pointer}.note{margin:0 0 .5rem;padding:.7rem .9rem;border-radius:10px;background:#eaf0fa;color:var(--navy);font-size:.92rem}.topbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;padding:.7rem clamp(16px,3vw,32px);background:var(--ink);color:var(--cream);border-bottom:3px solid var(--red)}.topbar__brand{display:flex;align-items:baseline;gap:.7rem;flex:none;text-decoration:none}.topbar__mark{font:400 1.8rem/1 var(--black-letter);color:var(--red);white-space:nowrap;transform:rotate(-3deg);text-shadow:2px 2px 0 #000,0 0 16px rgba(212,42,31,.45)}.topbar__view{font-size:.78rem;color:var(--muted-dark);white-space:nowrap}.topbar__brand:hover .topbar__view{color:var(--cream)}.tabs{display:flex;gap:.2rem;flex:1}.tabs button{display:inline-flex;align-items:center;gap:.4rem;flex:none;padding:.55rem .9rem;border:0;border-radius:999px;background:transparent;color:var(--muted-dark);font:600 .9rem var(--body);cursor:pointer}.tabs svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tabs button.is-active{background:var(--cream);color:var(--ink)}.topbar #signOut{margin-left:auto;color:var(--cream)}.badge{display:inline-grid;place-items:center;min-width:1.3rem;height:1.3rem;padding:0 .35rem;border-radius:999px;background:var(--red);color:#fff;font-size:.72rem}@media(max-width:760px){.topbar{flex-wrap:nowrap}.topbar__mark{font-size:1.6rem}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));background:var(--ink);border-top:3px solid var(--red)}.tabs button{position:relative;flex-direction:column;gap:.2rem;padding:.45rem .1rem .35rem;border-radius:10px;font-size:.68rem;letter-spacing:.01em}.tabs svg{width:22px;height:22px}.tabs button.is-active{background:transparent;color:#fff}.tabs button.is-active svg{color:var(--red)}.tabs .badge{position:absolute;top:.15rem;left:calc(50% + 4px);min-width:1.15rem;height:1.15rem;font-size:.66rem}.panel{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.save-bar{bottom:calc(4.4rem + env(safe-area-inset-bottom))}.toast{bottom:calc(5.4rem + env(safe-area-inset-bottom))!important}}.panel{max-width:1040px;margin:0 auto;padding:1.6rem clamp(16px,3vw,32px) 5rem}.stack{display:grid;gap:1rem}.card{padding:1.2rem;border-radius:14px;background:#fff;border:1px solid #e3dccd}.card h3{margin-bottom:.8rem;font-size:1.05rem}.small{font-size:.85rem}.spacer{flex:1}.empty{padding:2.5rem 1rem;text-align:center;color:var(--muted)}.danger{color:var(--red-dark)}.is-armed{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1.2rem}.toolbar p{margin:0}.toolbar__actions{display:flex;flex-wrap:wrap;gap:.5rem}.segmented{display:inline-flex;padding:3px;border-radius:999px;background:#e3dccd}.segmented button{padding:.45rem 1rem;border:0;border-radius:999px;background:none;font:600 .88rem var(--body);cursor:pointer;color:#5a5246}.segmented button.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0000001f}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0 1rem;margin-bottom:1.2rem}.form-grid h3,.form-grid .full,.form-grid .form-actions,.form-grid>p{grid-column:1 / -1}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.inline-form{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:.6rem}.inline-form .field{margin:0}.inline-form input[type=date]{padding:.55rem .7rem;border:2px solid #e4dccc;border-radius:10px;font:inherit}.grow{flex:1;min-width:min(100%,240px)}.check{display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--red)}.date-head{margin:1.8rem 0 .6rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.date-head:first-child{margin-top:0}.bk{display:grid;grid-template-columns:90px 1fr auto;gap:1rem;align-items:start;margin-bottom:.6rem;padding:1rem 1.1rem;border-radius:14px;background:#fff;border:1px solid #e3dccd;border-left:5px solid #cfc6b4}.bk--pending{border-left-color:var(--brass)}.bk--confirmed{border-left-color:#2f7d4f}.bk--cancelled{opacity:.7}.bk__when{display:grid}.bk__when strong{font-family:var(--display);font-weight:400;font-size:1.35rem}.bk__when span,.bk__who span{font-size:.88rem;color:var(--muted)}.bk__who{display:grid;gap:.15rem;min-width:0}.bk__who strong{font-size:1.05rem}.bk__contact a{color:var(--navy);font-weight:600}.bk__notes{font-style:italic;color:#4d463c!important}.bk__side{display:grid;justify-items:end;gap:.6rem}.bk__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}@media(max-width:640px){.bk{grid-template-columns:70px 1fr}.bk__side{grid-column:1 / -1;justify-items:start;grid-template-columns:auto 1fr;align-items:center}}.pill{padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#ece5d6}.pill--pending{background:#f7ebc9;color:#7a5a08}.pill--confirmed{background:#dcefe3;color:#1f5c38}.pill--cancelled{background:#f6dcda;color:var(--red-dark)}.blocked{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding:.7rem 1rem;margin-bottom:.5rem;border-radius:12px;background:repeating-linear-gradient(-45deg,#fff 0,#fff 10px,#f5f1e8 10px,#f5f1e8 20px);border:1px dashed #cfc6b4}.service-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:0 .8rem}.service-form .grow{grid-column:span 2}.service-form .full{grid-column:1 / -1}@media(max-width:520px){.service-form .grow{grid-column:1 / -1}}.dropzone{position:relative;display:grid;gap:.3rem;justify-items:center;padding:2rem 1rem;margin-bottom:1rem;border:2px dashed #c8bea9;border-radius:16px;background:#fff;text-align:center;cursor:pointer}.dropzone.is-over{border-color:var(--red);background:#fff6f5}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone strong{font-size:1.1rem}.upload{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;border-radius:10px;background:#fff;font-size:.9rem}.upload progress{flex:1;accent-color:var(--red)}.upload.is-error{color:var(--red-dark)}.admin-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px;margin-top:1rem}.admin-photo{margin:0;border-radius:12px;overflow:hidden;background:#fff;border:1px solid #e3dccd}.admin-photo img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.admin-photo figcaption{display:flex;gap:.4rem;padding:.5rem}.admin-photo input{flex:1;min-width:0;padding:.45rem .6rem;border:1px solid #e4dccc;border-radius:8px;font:inherit;font-size:.88rem}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px}.post{padding:0;overflow:hidden}.post iframe{display:block;width:100%;height:440px;border:0}.post__actions{display:flex;gap:.4rem;padding:.6rem;border-top:1px solid #e3dccd}.hours-grid{display:grid;gap:.5rem}.hours-row{display:grid;grid-template-columns:110px 80px minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem}.hours-row input[type=time]{padding:.5rem;border:2px solid #e4dccc;border-radius:8px;font:inherit;min-width:0}.hours-row:has(input[type=checkbox]:not(:checked)) input[type=time]{opacity:.4}@media(max-width:560px){.hours-grid{gap:0}.hours-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"day open" "from to";gap:.45rem .6rem;padding:.7rem 0;border-bottom:1px solid #ece5d6}.hours-row:last-child{border-bottom:0}.hours-row strong{grid-area:day}.hours-row .check{grid-area:open;justify-self:end}.hours-row input[name$=-from]{grid-area:from}.hours-row input[name$=-to]{grid-area:to}.hours-row>span{display:none}}.admin input,.admin select,.admin textarea{min-width:0;max-width:100%}.admin input[type=time],.admin input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;min-height:2.75rem;background:#fff}.admin input::-webkit-date-and-time-value{text-align:left}.inline-form input[type=date]{flex:1;width:auto}.panel{overflow-x:clip}@media(max-width:760px){.admin input,.admin select,.admin textarea{font-size:16px}}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{padding:.4rem .8rem;border:0;border-radius:999px;background:#ece5d6;font:600 .85rem var(--body);cursor:pointer}.chip:hover{background:#f6dcda}.save-bar{position:sticky;bottom:0;padding:1rem 0;background:linear-gradient(transparent,#f1ece2 40%)}.toast{position:fixed;left:50%;bottom:24px;z-index:60;transform:translate(-50%);max-width:calc(100% - 32px);padding:.8rem 1.2rem;border-radius:12px;background:var(--ink);color:var(--cream);font-weight:600;font-size:.92rem;box-shadow:0 10px 30px #00000040}.toast.is-error{background:var(--red-dark);color:#fff}.admin .btn,.admin .btn:hover,.admin .btn:active{box-shadow:none;transform:none}.admin .btn{font-size:1rem}.admin .btn--small{font-size:.85rem}
