:root{
    --ui-ink:var(--ar-secondary);
    --ui-cocoa:var(--ar-secondary-soft);
    --ui-clay:var(--ar-accent);
    --ui-cream:var(--ar-main);
    --ui-paper:var(--ar-surface);
    --ui-muted:var(--ar-text-muted);
    --ui-line:var(--ar-border);
    --ui-soft:var(--ar-main-soft);
    --ui-success:var(--ar-success);
    --ui-warning:var(--ar-warning);
    --ui-danger:var(--ar-danger);
    --ui-radius:14px;
    --ui-shadow:0 14px 36px rgba(53,21,10,.07);
}
html{scroll-padding-top:96px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{text-wrap:balance}
p,li,dd{text-wrap:pretty}
a,button,input,select,textarea,summary{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ar-tan);outline-offset:3px}
.site-nav{position:sticky;top:0;background:rgba(248,243,234,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.main-nav a,.main-nav button{min-height:44px;display:inline-flex;align-items:center}
.flash{border-radius:10px!important}
.admin-body{background:var(--ui-cream)}
.admin-sidebar{display:flex;flex-direction:column}
.sidebar-brand{display:grid;gap:8px;color:inherit;text-decoration:none}
.sidebar-brand img{max-width:132px}
.admin-sidebar nav{display:grid;gap:22px}
.admin-sidebar .nav-group{display:grid;gap:4px}
.admin-sidebar .nav-group>span{padding:0 14px 7px;color:rgba(255,255,255,.55);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.admin-sidebar nav a{position:relative;min-height:44px;border-radius:8px}
.admin-sidebar nav a.active,.admin-sidebar nav a[aria-current=page]{background:var(--ui-paper);color:var(--ui-ink);font-weight:800}
.admin-sidebar nav a.active::before,.admin-sidebar nav a[aria-current=page]::before{position:absolute;inset:10px auto 10px 0;width:3px;border-radius:2px;background:var(--ui-clay);content:""}
.admin-header{border-bottom:1px solid var(--ui-line);background:rgba(255,253,249,.96)}
.admin-content{max-width:1680px;margin-inline:auto}
.admin-panel,.worker-card,.booking-detail,.checkout-form,.order-summary,.invoice-card{border:1px solid var(--ui-line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow)}
.admin-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.admin-stats>a,.account-stats>div{position:relative;overflow:hidden;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-paper);box-shadow:none}

.admin-stats a small{color:var(--ui-cocoa);font-weight:700}
.panel-head{align-items:flex-start}
.panel-head a,.arrow-link{color:var(--ui-cocoa);font-weight:800}
.admin-button,.pill.dark,.checkout-form button{min-height:44px;border-radius:8px;background:var(--ui-ink);color:var(--ar-white);font-weight:800}
.admin-button:focus-visible,.pill:focus-visible,.admin-sidebar a:focus-visible{outline:3px solid var(--ar-tan);outline-offset:2px}
.status{border-radius:6px!important}
.package-section .package-note{color:var(--ui-muted)}
.booking-progress{max-width:1020px;margin-inline:auto!important}
.booking-progress li{border-radius:9px!important}
.booking-progress li.is-current{border-color:var(--ui-ink)!important;background:var(--ui-paper)!important}
.booking-progress li.is-current span{background:var(--ui-ink)!important;color:var(--ar-white)}
.account-page{max-width:1180px}
.account-head{max-width:760px}
.account-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.booking-detail{overflow:hidden;background:var(--ui-paper)}
.booking-top{padding-bottom:20px;border-bottom:1px solid var(--ui-line)}
.booking-meta{border-bottom:1px solid var(--ui-line);padding-bottom:20px}
.customer-timeline{border:0!important;border-radius:0!important;background:transparent!important;padding:20px 0!important}
.customer-timeline ol{position:relative;display:grid!important;grid-template-columns:1fr!important;gap:0!important}
.customer-timeline li{position:relative;min-height:54px;padding:0 0 18px 42px}
.customer-timeline li>span{position:absolute;left:0;display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--ui-line);border-radius:50%;background:var(--ui-paper)}
.customer-timeline li:not(:last-child)::after{position:absolute;top:28px;bottom:0;left:13px;width:1px;background:var(--ui-line);content:""}
.customer-timeline li.done>span{border-color:var(--ui-success);background:var(--ui-success);color:var(--ar-white)}
.gallery-callout,.deposit-reminder,.workspace-pending{border-radius:10px!important}
.booking-manage{border-top:1px solid var(--ui-line);padding-top:18px}
.booking-manage summary{min-height:44px;cursor:pointer;color:var(--ui-cocoa);font-weight:800}
.worker-card{padding:20px}
.worker-card-head{padding-bottom:16px;border-bottom:1px solid var(--ui-line)}
.worker-card .booking-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.worker-card .booking-meta>div{border-radius:9px;background:var(--ui-soft);padding:12px}
.worker-card h3,.booking-detail h2,.admin-panel h2{letter-spacing:-.015em}
.worker-card small,.booking-meta dt{color:var(--ui-muted)}

@media(max-width:980px){
    .admin-table-wrap{overflow:visible}
}
@media(max-width:720px){
    html{scroll-padding-top:76px}
    .site-nav{height:72px}
    .main-nav{max-height:calc(100vh - 72px);overflow-y:auto;border-bottom:1px solid var(--ui-line);box-shadow:0 18px 30px rgba(53,21,10,.12)}
    .main-nav a,.main-nav form,.main-nav button{width:100%}
    .main-nav .pill{justify-content:center}
    .admin-content{padding:16px}
    .admin-header>span{display:none}
    .panel-head,.booking-top{align-items:stretch;flex-direction:column}
    .button-row{display:grid;grid-template-columns:1fr}
    .account-stats{grid-template-columns:1fr}
    .booking-progress{grid-template-columns:1fr!important}
    .booking-progress li{min-height:44px}
    .worker-card-head{display:grid}
    .worker-card-head>div:last-child{text-align:left}
    .worker-card .booking-meta{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
