.topnav{display:flex;gap:1.2rem;margin-left:auto;margin-right:2rem}.topnav a{color:var(--muted);font:700 .68rem Arial,sans-serif;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.topnav a:hover{color:var(--gold)}.admin-shell{max-width:1200px;padding:4rem clamp(1.5rem,7vw,7rem)}.admin-shell h1{font-size:2.6rem;font-weight:400;letter-spacing:-.05em;margin:.6rem 0}.admin-shell h2{font-size:1.4rem;font-weight:400;margin:0 0 1.4rem}.admin-grid{display:grid;gap:1.5rem;grid-template-columns:minmax(260px,.75fr) minmax(0,1.7fr);margin-top:2.4rem}.panel{background:var(--paper);border:1px solid var(--line);padding:1.7rem}.panel-wide{min-width:0}.compact{margin-top:0}.form-stack select{background:#fff;border:1px solid var(--line);font:1rem Arial,sans-serif;padding:.9rem}.alert-success{background:#e7f1e9;color:#365d40}.table-wrap{overflow:auto}table{border-collapse:collapse;font:14px Arial,sans-serif;width:100%}th{text-align:left;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}td,th{border-bottom:1px solid var(--line);padding:.85rem .5rem}td small{color:var(--muted);display:block;margin-top:.25rem}.button-subtle{background:transparent;border:1px solid var(--line);color:var(--ink);padding:.55rem}.badge{border:0;border-radius:99px;display:inline-block;font:700 .65rem Arial,sans-serif;letter-spacing:.06em;padding:.42rem .65rem;text-transform:uppercase}.badge-active{background:#e5f0e7;color:#35613e}.badge-muted{background:#eee9e3;color:#777}.slot-day{border-bottom:1px solid var(--line);padding:0 0 1rem}.slot-day:last-child{border:0}.slot-day h3{font-size:1rem;font-weight:400;margin:1rem 0 .5rem}.slot-item{align-items:center;display:flex;font:14px Arial,sans-serif;justify-content:space-between;padding:.35rem 0}.small{font-size:.85rem}.check-row{align-items:flex-start!important;display:flex!important;grid-template-columns:none!important}.check-row input{margin:.2rem .7rem 0 0}.check-row small{color:var(--muted);display:block;font-weight:400;letter-spacing:0;line-height:1.4;margin-top:.25rem}.action-cards{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:2.5rem}.action-cards a{background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:1.4rem;text-decoration:none}.action-cards span{color:var(--gold);display:block;font:700 .65rem Arial,sans-serif;margin-bottom:.8rem}.action-cards strong{font-size:1.1rem;font-weight:400}@media(max-width:760px){.topnav{gap:.7rem;margin:0}.topnav a{font-size:.58rem}.admin-shell{padding:3rem 1.5rem}.admin-grid,.action-cards{grid-template-columns:1fr}.topbar{gap:.8rem}.logo{font-size:1.35rem}}
.actions{display:flex;gap:.45rem}.button-danger{background:#9a3c36;padding:.55rem}.confirmation-modal{border:0;box-shadow:0 20px 60px rgba(0,0,0,.25);max-width:29rem;padding:2rem;width:calc(100% - 2rem)}.confirmation-modal::backdrop{background:rgba(25,35,40,.55)}.confirmation-modal h2{font-size:1.7rem;font-weight:400;margin:.8rem 0}.modal-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:1.8rem}
.one-card{grid-template-columns:minmax(220px,330px)}.week-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:2rem}.day-card{background:var(--paper);border:1px solid var(--line);padding:1.2rem}.day-card h2{font-size:1.1rem;font-weight:400;margin:0 0 .8rem}.day-card h2 small{color:var(--muted);display:block;font:12px Arial,sans-serif;margin-top:.2rem}.day-past{opacity:.6}.availability-slot{align-items:center;border-top:1px solid var(--line);display:flex;font:13px Arial,sans-serif;justify-content:space-between;padding:.7rem 0}.availability-slot button{font-size:.58rem;padding:.45rem}.availability-slot em{color:var(--muted);font-size:.75rem}.slot-mine{color:#35613e;font-weight:700}.share-panel{align-items:center;display:flex;gap:1.5rem;justify-content:space-between;margin-top:2rem}.copy-row{display:flex;max-width:34rem;width:100%}.copy-row input{border:1px solid var(--line);min-width:0;padding:.75rem;width:100%}.copy-row button{white-space:nowrap}.backup-link{font:13px Arial,sans-serif}.public-shell{min-height:100vh}.public-header{background:var(--paper);border-bottom:1px solid var(--line);padding:1.25rem clamp(1.5rem,7vw,7rem)}.public-content{margin:auto;max-width:900px;padding:4rem 1.5rem}.public-content h1{font-size:clamp(2.3rem,5vw,4rem);font-weight:400;letter-spacing:-.05em;margin:.6rem 0}.public-slots{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:2rem}.public-slots article{background:var(--paper);border:1px solid var(--line);padding:1.3rem}.public-slots p{color:var(--gold);font:700 .68rem Arial,sans-serif;letter-spacing:.08em;margin:0;text-transform:uppercase}.public-slots h2{font-size:1.3rem;font-weight:400;margin:.7rem 0}.public-slots small{color:var(--muted);font:14px Arial,sans-serif}.public-note{color:var(--muted);font:14px Arial,sans-serif;margin-top:2rem}@media(max-width:960px){.week-grid{grid-template-columns:repeat(2,1fr)}.public-slots{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.week-grid,.public-slots{grid-template-columns:1fr}.share-panel{align-items:stretch;flex-direction:column}}
.schedule-button{background:var(--ink);color:#fff;display:inline-block;font:700 .65rem Arial,sans-serif;letter-spacing:.08em;margin-top:1rem;padding:.7rem .85rem;text-decoration:none;text-transform:uppercase}.booking-content{max-width:650px}.booking-form{display:grid;gap:1rem;margin-top:1.5rem}.booking-form label{display:grid;font:700 .72rem Arial,sans-serif;gap:.45rem;letter-spacing:.04em}.booking-form input{border:1px solid var(--line);font:1rem Arial,sans-serif;padding:.9rem}.appointment-summary{margin-top:1.5rem}.appointment-summary p{color:var(--gold);font:700 .7rem Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.appointment-summary h2{font-size:1.3rem;font-weight:400;margin:.5rem 0}.confirmation{max-width:650px}
.badge-pending{background:#fff0d8;color:#8a5b18}.badge-confirmed{background:#e5f0e7;color:#35613e}.badge-failed{background:#f9e5e2;color:#963d35}.failure-detail{color:#963d35;display:block;font:11px Arial,sans-serif;line-height:1.35;margin-top:.5rem;max-width:260px}.appointments-panel{margin-top:2rem}
