*{box-sizing:border-box}
.admin-page{margin:0;background:var(--shp-ground);color:var(--shp-ink-2);font-family:var(--shp-font-body);font-size:var(--sh-size-base);line-height:1.6;-webkit-font-smoothing:antialiased}
.admin-page button,.admin-page input,.admin-page select{font:inherit;color:inherit}
.wordmark{font-family:var(--shp-font-mark);font-weight:var(--sh-w-heavy);font-size:var(--shp-size-mark);line-height:1;text-transform:none;letter-spacing:var(--sh-track-mark);color:var(--shp-ink)}
.wordmark .tag{display:block;margin-top:var(--shp-gap-1);font-family:var(--shp-font-mono);font-weight:var(--sh-w-regular);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-eyebrow);text-transform:uppercase;color:var(--shp-label)}
.eyebrow,.admin-label{font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-eyebrow);text-transform:uppercase;color:var(--shp-label)}
.admin-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--shp-gap-3);padding:var(--shp-gap-3) var(--shp-gutter);background:var(--shp-ground);border-bottom:1px solid var(--shp-rule-c)}
.admin-brand{display:flex;align-items:center;gap:var(--shp-gap-3)}
.admin-divider{width:1px;height:var(--shp-gap-3);background:var(--shp-rule-c)}
.admin-nav{display:flex;align-items:center;gap:var(--shp-gap-3)}
.admin-nav a,.admin-nav button{position:relative;padding:0;background:none;border:0;font-family:var(--shp-font-mono);font-size:var(--sh-size-sm);letter-spacing:var(--sh-track-caption);text-transform:uppercase;color:var(--shp-label);text-decoration:none;cursor:pointer}
.admin-nav a:hover,.admin-nav button:hover,.admin-nav .is-active{color:var(--shp-ink)}
.admin-nav .is-active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--shp-live)}
.admin-main{max-width:1280px;margin:0 auto;padding:var(--shp-gap-6) var(--shp-gutter) var(--shp-gap-7)}
.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--shp-gap-4);padding-bottom:var(--shp-gap-4);border-bottom:1px solid var(--shp-ink-2)}
.admin-head h1{margin:var(--shp-gap-1) 0 0;font-family:var(--shp-font-display);font-size:var(--sh-size-3xl);font-weight:var(--sh-w-regular);letter-spacing:var(--sh-track-display);line-height:1.05;color:var(--shp-ink)}
.admin-head p{max-width:62ch;margin:var(--shp-gap-2) 0 0;color:var(--shp-muted)}
.admin-count,.office-count,.admin-ref{font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-mono);text-transform:uppercase;color:var(--shp-label)}
.admin-filters{display:flex;flex-wrap:wrap;gap:var(--shp-gap-1);padding-top:var(--shp-gap-3)}
.agency-filter{display:inline-flex;align-items:center;gap:var(--shp-gap-1);padding:9px 14px;background:transparent;border:1px solid var(--shp-rule-c);border-radius:var(--shp-radius-pill);font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-caption);text-transform:uppercase;color:var(--shp-label);cursor:pointer}
.agency-filter span{display:inline-flex;min-width:20px;justify-content:center;color:inherit}
.agency-filter:hover{background:var(--shp-hover-fill);color:var(--shp-ink)}
.agency-filter.is-active{background:var(--shp-fill);border-color:var(--shp-fill);color:var(--sh-warm-cream)}
.admin-list,.office-list,.rate-card-list{display:grid;gap:var(--shp-gap-3);padding-top:var(--shp-gap-4)}
.admin-booking,.office-card{padding:var(--shp-gap-3);background:var(--shp-surface);border:1px solid var(--shp-rule-c);border-radius:var(--shp-radius)}
.admin-booking__lead,.office-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--shp-gap-3);padding-bottom:var(--shp-gap-2);border-bottom:1px solid var(--shp-rule-c)}
.admin-booking h2,.office-card h2{margin:var(--shp-gap-1) 0 2px;font-size:var(--sh-size-lead);font-weight:var(--sh-w-medium);line-height:1.35;color:var(--shp-ink)}
.office-chip{display:inline-flex;padding:3px 8px;border:1px solid var(--shp-rule-c);border-radius:var(--shp-radius-pill);font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-mono);text-transform:uppercase;color:var(--shp-label)}
.status-dot{display:inline-flex;align-items:center;gap:var(--shp-gap-1);font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-eyebrow);text-transform:uppercase;color:var(--shp-ink-2)}
.status-dot::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--shp-label)}
.status-dot--requested::before{background:transparent;border:1px solid var(--shp-live)}
.status-dot--confirmed::before{background:var(--shp-live);box-shadow:0 0 0 3px color-mix(in oklab,var(--shp-live) 18%,transparent)}
.admin-booking__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--shp-gap-2) var(--shp-gap-4);padding:var(--shp-gap-3) 0}
.admin-booking__grid>div{display:flex;flex-direction:column;gap:4px}
.admin-booking__grid strong{font-weight:var(--sh-w-medium);color:var(--shp-ink)}
.admin-span{grid-column:1/-1}
.admin-actions{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--shp-gap-1);padding-top:var(--shp-gap-2);border-top:1px solid var(--shp-rule-c)}
.admin-actions label{display:flex;flex-direction:column;gap:4px;margin-right:auto;font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-mono);text-transform:uppercase;color:var(--shp-label)}
.admin-actions select{min-width:160px;padding:10px 34px 10px 12px;background:var(--shp-ground);border:1px solid var(--shp-rule-c);border-radius:var(--shp-radius-sm);color:var(--shp-ink)}
.admin-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;background:var(--shp-fill);border:1px solid var(--shp-fill);border-radius:var(--shp-radius-pill);color:var(--sh-warm-cream)!important;font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-caption);text-transform:uppercase;cursor:pointer;transition:background var(--shp-dur) var(--shp-ease),transform 120ms var(--shp-ease-out)}
.admin-button:hover{background:var(--shp-press)}.admin-button:active{transform:scale(var(--shp-press-scale))}.admin-button:disabled{opacity:.45;cursor:default}
.admin-button--ghost{background:transparent;color:var(--shp-ink)!important;border-color:var(--shp-rule-c)}
.admin-button--ghost:hover{background:var(--shp-hover-fill)}
.office-card>header>div{display:flex;align-items:center;gap:var(--shp-gap-2)}
.office-card>header h2{margin:0}
.contact-head,.contact-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(240px,1.4fr) 72px 72px 88px 72px;gap:var(--shp-gap-2);align-items:end}
.contact-head{padding:var(--shp-gap-2) 0 var(--shp-gap-1);font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-mono);text-transform:uppercase;color:var(--shp-label)}
.contact-row{padding:var(--shp-gap-1) 0;border-top:1px solid var(--shp-rule-c)}
.contact-row label{display:flex;flex-direction:column;gap:4px}.contact-row label>span{display:none}
.contact-row input[type="text"],.contact-row input[type="email"]{width:100%;padding:9px 0;background:transparent;border:0;border-bottom:1px solid var(--shp-rule-c);outline:0;color:var(--shp-ink)}
.contact-row input:focus{border-color:var(--shp-live);box-shadow:0 1px 0 var(--shp-live)}
.contact-check{align-items:center;justify-content:center}.contact-check input{width:18px;height:18px;accent-color:var(--shp-live)}
.contact-order{display:flex;align-items:center;justify-content:center;gap:6px}
.contact-order button{width:34px;height:34px;padding:0;background:transparent;border:1px solid var(--shp-rule-c);border-radius:var(--shp-radius-pill);color:var(--shp-ink);cursor:pointer}
.contact-order button:hover{background:var(--shp-hover-fill);border-color:var(--shp-live)}
.delete-contact{height:34px;padding:0;background:transparent;border:0;color:var(--shp-label);font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-caption);text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.delete-contact:hover{color:var(--shp-live)}
.office-card>footer{display:flex;justify-content:flex-end;gap:var(--shp-gap-1);padding-top:var(--shp-gap-3)}
.rates-notice{display:flex;align-items:baseline;gap:var(--shp-gap-2);margin-top:var(--shp-gap-3);padding:var(--shp-gap-2);background:var(--shp-surface);border-left:2px solid var(--shp-live)}
.rates-notice p{margin:0;color:var(--shp-muted)}
.rate-card{padding:var(--shp-gap-3);background:var(--shp-surface);border:1px solid var(--shp-rule-c);border-radius:var(--shp-radius)}
.rate-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--shp-gap-3);padding-bottom:var(--shp-gap-2);border-bottom:1px solid var(--shp-rule-c)}
.rate-card>header>div{display:flex;align-items:center;gap:var(--shp-gap-2)}
.rate-card h2{margin:0;font-size:var(--sh-size-lead);font-weight:var(--sh-w-medium);line-height:1.35;color:var(--shp-ink)}
.rate-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--shp-gap-4);padding:var(--shp-gap-3) 0}
.rate-group h3{margin:0 0 var(--shp-gap-1);padding-bottom:var(--shp-gap-1);border-bottom:1px solid var(--shp-rule-c);font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);font-weight:var(--sh-w-regular);letter-spacing:var(--sh-track-eyebrow);text-transform:uppercase;color:var(--shp-label)}
.rate-list{display:grid}
.rate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--shp-gap-2);align-items:center;min-height:74px;padding:var(--shp-gap-1) 0;border-bottom:1px solid var(--shp-rule-c)}
.rate-copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.rate-copy strong{font-weight:var(--sh-w-medium);line-height:1.35;color:var(--shp-ink)}
.rate-copy small{color:var(--shp-muted);line-height:1.4}
.rate-control{display:grid;grid-template-columns:auto 112px auto;gap:8px;align-items:center;font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-caption);text-transform:uppercase;color:var(--shp-label)}
.rate-control input{width:112px;padding:9px 10px;background:var(--shp-ground);border:1px solid var(--shp-rule-c);border-radius:var(--shp-radius-sm);font-family:var(--shp-font-body);font-size:var(--sh-size-base);letter-spacing:0;text-align:right;color:var(--shp-ink);outline:0}
.rate-control input:focus{border-color:var(--shp-live);box-shadow:0 0 0 1px var(--shp-live)}
.rate-control input.is-invalid{border-color:var(--shp-live);background:color-mix(in oklab,var(--shp-live) 7%,var(--shp-ground))}
.rate-card>footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--shp-gap-2);padding-top:var(--shp-gap-2);border-top:1px solid var(--shp-rule-c)}
.rate-save-note{margin-right:auto;color:var(--shp-muted);font-size:var(--sh-size-sm)}
.admin-empty{color:var(--shp-muted)}
.admin-toast{position:fixed;left:50%;bottom:var(--shp-gap-3);z-index:100;max-width:calc(100vw - 48px);padding:var(--shp-gap-2) var(--shp-gap-3);background:var(--sh-studio-black);border-left:2px solid var(--shp-live);border-radius:var(--shp-radius-pill);color:var(--sh-warm-cream);font-family:var(--shp-font-mono);font-size:var(--sh-size-sm);letter-spacing:var(--sh-track-caption);text-transform:uppercase;opacity:0;transform:translateX(-50%);pointer-events:none;transition:opacity var(--shp-dur-slow) var(--shp-ease)}
.admin-toast.is-on{opacity:1}
@media(max-width:900px){.admin-topbar{align-items:flex-start;padding:var(--shp-gap-2) var(--shp-gutter-phone)}.admin-brand .admin-divider,.admin-brand>.eyebrow{display:none}.admin-nav{align-items:flex-end;flex-direction:column;gap:var(--shp-gap-1)}.admin-main{padding:var(--shp-gap-4) var(--shp-gutter-phone)}.contact-head{display:none}.contact-row{grid-template-columns:1fr 1fr}.contact-row label>span{display:block;font-family:var(--shp-font-mono);font-size:var(--sh-size-xs);letter-spacing:var(--sh-track-mono);text-transform:uppercase;color:var(--shp-label)}.contact-check{align-items:flex-start}.contact-order{justify-content:flex-start}.admin-booking__grid,.rate-sections{grid-template-columns:1fr}}
@media(max-width:560px){.admin-topbar{position:static;flex-direction:column}.admin-nav{width:100%;align-items:flex-start}.admin-head{align-items:flex-start;flex-direction:column}.admin-booking,.office-card,.rate-card{padding:var(--shp-gap-2)}.admin-booking__lead{flex-direction:column}.contact-row{grid-template-columns:1fr}.office-card>footer,.admin-actions,.rate-card>footer{align-items:stretch;flex-direction:column}.admin-actions label{margin:0}.admin-button{width:100%}.rates-notice{align-items:flex-start;flex-direction:column}.rate-row{grid-template-columns:1fr}.rate-control{grid-template-columns:auto 1fr auto}.rate-control input{width:100%}.rate-save-note{margin:0}}
