@import url("theme.css");
.brand img{width:44px;height:44px;object-fit:contain}
.service-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0 1.4rem}
.service-check{display:flex;align-items:flex-start;gap:.8rem;padding:1rem;border:1px solid #304653;border-radius:10px;background:#0e1922;transition:border-color .18s,transform .18s,background .18s}
.service-check:has(input:checked){border-color:#5bd9ed;background:#152d36;transform:translateY(-1px)}
.service-check b,.service-check small{display:block}.service-check small{color:#9fb6c4;margin-top:.25rem}
.calendar-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr);gap:.8rem;overflow-x:auto;padding:.5rem 0 1rem;scroll-snap-type:x proximity}
.day-column{background:#0d1821;border:1px solid #2d424f;border-radius:10px;padding:.75rem;scroll-snap-align:start;min-height:160px}
.day-column header{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#abc1cf;margin-bottom:.65rem}
.slot-chip{display:flex;width:100%;min-height:48px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.65rem;margin:.45rem 0;border-radius:8px;text-align:left}
.slot-chip.available{background:#173d43;border-color:#3f7d84;color:#b9f5f4}.slot-chip.reserved{background:#332b4c;border:1px solid #625588;color:#e2d8ff}
.slot-chip small{font-size:.7rem;opacity:.8}.schedule-board{background:linear-gradient(140deg,#132731,#111b27)}
.square-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.history-card{margin:0}
.connection-form{position:relative}.connection-form h2{display:flex;gap:.7rem;align-items:center}
.connection-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}.connection-tab{background:var(--surface,#fff);color:var(--text,#10231a);border:1px solid var(--line,#c9d9d0);box-shadow:none}.connection-tab.active{background:#078447;color:#fff;border-color:#078447;box-shadow:0 10px 28px rgba(7,132,71,.2)}
.connection-panel[hidden]{display:none!important}.connection-panel>.panel{max-width:none}.credential-set{border:1px solid var(--line,#c9d9d0);border-radius:16px;padding:1rem;margin:1rem 0}.credential-set legend{font-weight:800;padding:0 .5rem}.webhook-box{padding:1rem;border-radius:14px;background:rgba(7,132,71,.08);border:1px solid rgba(7,132,71,.28);margin:1rem 0}.webhook-box label{display:block;font-weight:800;margin-bottom:.5rem}.copy-row{display:grid;grid-template-columns:1fr auto;gap:.6rem}.copy-row input{min-width:0}.permanent-hours{border-left:6px solid #078447}
.booking-picker{--book-green:#0ba35a;--book-red:#c44242;border:1px solid var(--line,#c9d9d0);border-radius:20px;background:var(--surface,#fff);padding:1rem;box-shadow:0 18px 48px rgba(13,58,38,.08)}
.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1rem}.booking-progress span{display:flex;align-items:center;gap:.45rem;padding:.65rem .75rem;border-radius:12px;background:rgba(7,132,71,.07);font-weight:750;color:var(--muted,#49675a)}.booking-progress b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--book-green);color:#fff;font-size:.75rem}.booking-progress span:not(:first-child) b{background:var(--line,#c9d9d0);color:var(--text,#10231a)}
.booking-days{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:.55rem;overflow-x:auto;padding:.2rem .1rem .8rem;scroll-snap-type:x proximity}.booking-day{scroll-snap-align:start;min-height:78px;padding:.65rem;border:1px solid var(--line,#c9d9d0);border-radius:14px;background:var(--surface,#fff);color:var(--text,#10231a);box-shadow:none;text-align:left}.booking-day strong,.booking-day small{display:block}.booking-day small{margin-top:.2rem;color:var(--muted,#49675a)}.booking-day.active,.booking-day.selected{background:#087d45;color:#fff;border-color:#087d45;box-shadow:0 12px 28px rgba(7,132,71,.22)}.booking-day.active small,.booking-day.selected small{color:#d9ffea}
.booking-time-panel[hidden]{display:none!important}.booking-time-panel h3{margin:.2rem 0 .8rem}.booking-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:.55rem}.booking-time{position:relative;min-height:52px;border-radius:12px;padding:.7rem .5rem;font-weight:800}.booking-time.available{border:1px solid rgba(11,163,90,.45);background:rgba(11,163,90,.1);color:var(--text,#10231a)}.booking-time.available:hover,.booking-time.available.selected{background:var(--book-green);border-color:var(--book-green);color:#fff;transform:translateY(-1px)}.booking-time.booked{border:1px solid rgba(196,66,66,.4);background:rgba(196,66,66,.1);color:var(--book-red);cursor:not-allowed;text-decoration:line-through}.booking-legend{display:flex;flex-wrap:wrap;gap:1rem;margin:.8rem 0 0;color:var(--muted,#49675a);font-size:.85rem}.booking-legend span{display:flex;align-items:center;gap:.4rem}.booking-legend i{width:10px;height:10px;border-radius:50%;background:var(--book-green)}.booking-legend .booked-key i{background:var(--book-red)}
.calendar-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:1rem;align-items:center;margin-bottom:1rem}.calendar-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.calendar-counts span{border:1px solid var(--line,#c9d9d0);border-radius:14px;padding:.85rem;text-align:center;color:var(--muted,#49675a)}.calendar-counts b{display:block;font-size:1.45rem;color:var(--text,#10231a)}.schedule-legend{display:flex;gap:.8rem;margin-top:.8rem}.legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:750}.legend-item:before{content:"";width:10px;height:10px;border-radius:50%;background:#0ba35a}.legend-item.booked-slot:before{background:#c44242}.booking-selection,.booking-help{margin-top:.8rem;padding:.75rem;border-radius:12px;background:rgba(7,132,71,.08);color:var(--muted,#49675a)}
.square-receipts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.square-receipt{border:1px solid var(--line,#c9d9d0);border-radius:14px;padding:1rem;background:var(--surface,#fff)}.square-receipt strong,.square-receipt small{display:block}.square-receipt small{color:var(--muted,#49675a);margin:.25rem 0 .65rem}.customer-summary{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.45rem}.customer-summary span{padding:.28rem .5rem;border-radius:999px;background:rgba(7,132,71,.09);color:var(--muted,#49675a);font-size:.78rem;font-weight:750}
.tabs a,.tabs button{min-height:44px;display:flex;align-items:center}
.request-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.request-layout>*{min-width:0}
.wizard fieldset,.wizard .grid,.wizard .grid3,.wizard .stepper{min-width:0;max-width:100%}
@media(min-width:901px) and (max-width:1100px){
 .nav{flex-wrap:wrap}
 .navlinks{width:100%;order:3;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;border-top:1px solid #243946;padding-top:.55rem}
 .navlinks a,.navlinks button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.3rem;text-align:center}
 .nav>.button{margin-left:auto}
 .request-layout{grid-template-columns:1fr}
 .request-layout>aside{display:none}
}
@media(min-width:721px) and (max-width:900px){
 .nav{flex-wrap:wrap}
 .navlinks{width:100%;order:3;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem;border-top:1px solid #243946;padding-top:.55rem}
 .navlinks a,.navlinks button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.3rem;text-align:center}
 .nav>.button{margin-left:auto}
}
@media(max-width:720px){
 .service-check-grid{grid-template-columns:1fr}
 .navlinks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.15rem .35rem}
 .navlinks a,.navlinks button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.35rem .2rem;font-size:.78rem;text-align:center}
 .nav>.button{display:flex;width:100%;order:4;min-height:46px}
 .brand img{width:38px;height:38px}.square-history{grid-template-columns:1fr}
 .tabs{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.35rem;position:sticky;top:0;z-index:5;background:#0b1016}
 .tabs a,.tabs button{flex:0 0 auto;min-height:44px;display:flex;align-items:center;scroll-snap-align:start}
 .actions>.button,.actions>button,.footer-links a,.footer-links button{min-height:44px;display:inline-flex;align-items:center}
 .stepper{overflow-x:auto}.stepper span{min-width:74px}
 dialog{padding:1.15rem;width:calc(100% - 20px)}
 .connection-tabs{grid-template-columns:1fr}.copy-row{grid-template-columns:1fr}.credential-set .grid{grid-template-columns:1fr}
 .booking-progress{grid-template-columns:1fr}.booking-progress span{padding:.5rem .65rem}.booking-days{grid-template-columns:repeat(7,minmax(92px,1fr))}.booking-times{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-hero{grid-template-columns:1fr}
}
@media(max-width:380px){.navlinks{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:1fr}.metric strong{font-size:1.45rem}.page-title{font-size:1.8rem}.panel{padding:1rem}.invoice-lines .line{grid-template-columns:1fr}.invoice-lines .line>*{grid-column:1/-1}}
@media print{.calendar-grid{display:block}.day-column{display:inline-block;width:30%;vertical-align:top}.service-check-grid{display:block}}
.earnings-trend-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.75rem 0 1rem}.earnings-trend-head strong,.earnings-trend-head small{display:block}.earnings-trend-head small{margin-top:.25rem;color:var(--muted,#49675a)}.trend-badge{min-width:190px;padding:.7rem .85rem;border-radius:14px;border:1px solid var(--line,#c9d9d0);text-align:right;background:rgba(127,127,127,.08)}.trend-badge b,.trend-badge span{display:block}.trend-badge b{font-size:1.15rem}.trend-badge span{font-size:.75rem;color:var(--muted,#49675a);margin-top:.2rem}.trend-badge.up{border-color:#18a65c;background:rgba(24,166,92,.12)}.trend-badge.up b{color:#18a65c}.trend-badge.down{border-color:#d95a5a;background:rgba(217,90,90,.12)}.trend-badge.down b{color:#d95a5a}.earnings-chart{width:100%;height:310px;overflow:hidden;border:1px solid var(--line,#c9d9d0);border-radius:16px;background:linear-gradient(180deg,rgba(7,132,71,.05),transparent);padding:.45rem}.earnings-chart svg{width:100%;height:100%;overflow:visible}.earnings-grid-line{stroke:var(--line,#c9d9d0);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.65}.earnings-axis-label{fill:var(--muted,#49675a);font-size:13px}.earnings-area{fill:rgba(30,192,105,.13)}.earnings-line{fill:none;stroke:#1ec069;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.earnings-point{fill:#fff;stroke:#07914e;stroke-width:4;vector-effect:non-scaling-stroke}
@media(max-width:720px){.earnings-trend-head{align-items:stretch;flex-direction:column}.trend-badge{text-align:left;min-width:0}.earnings-chart{height:245px;overflow-x:auto}.earnings-chart svg{min-width:720px}}
.account-menu{position:relative;display:flex;align-items:center}.account-menu summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.55rem .8rem;border:1px solid var(--line,#c9d9d0);border-radius:12px;cursor:pointer;font-weight:800;color:inherit;white-space:nowrap}.account-menu summary::-webkit-details-marker{display:none}.account-menu[open] summary,.account-menu summary:hover,.account-menu summary:focus-visible{border-color:#19b668;background:rgba(25,182,104,.1);outline:none}.account-menu-panel{position:absolute;z-index:50;top:calc(100% + .5rem);right:0;min-width:180px;padding:.4rem;border:1px solid var(--line,#c9d9d0);border-radius:14px;background:var(--surface,#fff);box-shadow:0 18px 45px rgba(0,0,0,.24)}.account-menu-panel a,.account-menu-panel button{display:flex;width:100%;justify-content:flex-start;align-items:center;min-height:44px;padding:.7rem .8rem;border:0;border-radius:9px;background:transparent;color:var(--text,#10231a);box-shadow:none;text-decoration:none;font:inherit;font-weight:750;text-align:left}.account-menu-panel a:hover,.account-menu-panel button:hover,.account-menu-panel a:focus-visible,.account-menu-panel button:focus-visible{background:rgba(7,132,71,.12);color:#12a85e;outline:none}
@media(max-width:720px){.account-menu{width:100%}.account-menu summary{width:100%}.account-menu-panel{position:static;width:100%;margin-top:.35rem;box-shadow:none}.navlinks .account-menu{grid-column:1/-1}}
@media(min-width:1101px){.nav{gap:clamp(.75rem,1.25vw,1.25rem)}.brand{margin-right:auto;flex:0 0 auto}.navlinks{gap:clamp(.8rem,1.15vw,1.25rem);font-size:.86rem;flex:0 1 auto}.navlinks>a,.nav>.button,.account-menu summary{white-space:nowrap}.nav>.button{padding-inline:.9rem}.nav>select{padding-inline:.55rem}.account-menu{border:0!important;padding:0!important;margin:0!important;border-radius:0!important}.account-menu summary{padding:.55rem .72rem}.account-menu-panel{margin:0}}
