@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&display=swap');
.admin-body{--bg:#f2f0e8;--panel:#fffdf8;--ink:#262e22;--muted:#7b8171;--accent:#bc4d30;--line:#e0e3d7;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.6}
.admin-body .ui-icon{height:20px;width:20px;flex-shrink:0;vertical-align:middle}.admin-body h1,.admin-body h2,.admin-body h3{color:var(--ink)}.admin-body h1{font-family:'Barlow Condensed',Arial,sans-serif;letter-spacing:-1px;font-weight:600;font-size:48px;line-height:1.05}.admin-body h1 em{font-style:normal;color:var(--accent)}.admin-body h2{font-family:'DM Sans',Arial,sans-serif;font-size:23px;font-weight:600;letter-spacing:-.6px}.admin-body h3{font-family:'DM Sans',Arial,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.3px}.admin-body .eyebrow{font-size:9px;letter-spacing:1.7px;margin-bottom:15px}
.admin-body .header{height:83px;position:sticky;top:0;z-index:20;background:#f2f0e8f5;backdrop-filter:blur(12px);border-bottom:1px solid #dce0d2;padding:0 34px;gap:22px}.admin-body .brand{font-size:27px;font-weight:800;letter-spacing:-1px;gap:12px}.admin-body .brand-symbol{font-size:35px;color:#283321}.admin-body .brand small{font-size:7px;letter-spacing:1.9px;margin-top:7px}.admin-header-meta{margin-left:auto;display:flex;align-items:center;gap:30px}.admin-today{display:flex;gap:8px;align-items:center;color:#78816d;font-size:11px}.admin-today .ui-icon{width:16px;height:16px}.admin-body .header .text-link{font-size:11px;color:#445137;gap:10px;min-height:44px}.admin-body .header .text-link .ui-icon{width:15px;height:15px}
.admin-body .button{background:#293622;border-color:#293622;color:#fffdf3;border-radius:8px;padding:13px 20px;font-size:12px;min-height:46px;justify-content:center;gap:9px;font-weight:600;transition:background .2s,box-shadow .2s,transform .2s}.admin-body .button:hover{background:#3d4d32;border-color:#3d4d32;transform:none;box-shadow:0 3px 9px #28332115}.admin-body .button.small{padding:10px 16px;min-height:44px;font-size:11px}.admin-body .button.secondary{background:transparent;color:#59654c;border-color:#d7decd}.admin-body .button.secondary:hover{background:#e6eadc}.admin-body .header .button{padding:8px 12px;font-size:10px;min-height:40px}.admin-body .header .button span{font-size:10px;line-height:1.5}
.admin-main{max-width:1490px;margin:0 auto 0 258px;padding:38px 40px 70px;min-height:calc(100vh - 83px)}.admin-tabs{position:fixed;left:20px;top:103px;bottom:20px;width:218px;border:0;border-radius:17px;background:#293322;color:#e6ebdd;display:flex;flex-direction:column;padding:27px 15px;margin:0;gap:8px;overflow-y:auto;z-index:21}.nav-caption{font-size:8px;letter-spacing:2px;color:#a2b190;padding:0 14px;margin-bottom:17px}.admin-tabs a{display:flex;align-items:center;gap:13px;padding:14px;border-radius:9px;font-size:12px;color:#b9c4ac;border:0;transition:background .2s,color .2s;min-height:49px}.admin-tabs a:hover{background:#37452e;color:#fff}.admin-tabs a.active{color:#283321;background:#edf0e1;border:0;font-weight:600}.admin-tabs a.active .ui-icon{color:#b64a2f}.nav-signature{margin-top:auto;padding:28px 14px 7px;white-space:normal}.nav-signature>span{font-size:53px;line-height:1;color:#bb774e}.nav-signature p{font-family:'Barlow Condensed',Arial;font-size:30px;line-height:1.07;letter-spacing:-.5px;margin:18px 0;color:#e4e9d9}.nav-signature small{color:#a2b190;font-size:7px;letter-spacing:1.3px}
.dashboard-intro{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-bottom:30px}.dashboard-intro h1{font-size:51px;margin:0 0 13px}.dashboard-intro>div>p:last-child{font-size:12px;color:#7d8571;margin:0}.dashboard-intro .eyebrow{margin-bottom:12px}.next-appointment{display:flex;gap:15px;align-items:center;max-width:360px;background:#e7eadb;border:1px solid #dce1cf;padding:20px 23px;border-radius:13px}.next-icon{height:44px;width:44px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#f5f5ea;color:#526a3f}.next-icon .ui-icon{width:22px;height:22px}.overline{font-size:7px;letter-spacing:1.2px;color:#7b8868;display:block;line-height:1.7}.next-appointment strong{display:block;font-size:18px;line-height:1.4;margin:5px 0;color:#39482c}.next-appointment strong small{font-size:11px;font-weight:400}.next-appointment>div>p{font-size:10px!important;line-height:1.6;color:#748361!important;overflow-wrap:anywhere}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:38px}.stat-card{background:#fffdf8;border:1px solid #dfe3d5;border-radius:13px;padding:22px;display:grid;grid-template-columns:1fr auto;gap:8px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #34402608}.stat-card>div>span{font-size:11px;color:#7c8570;display:block}.stat-card strong{font-size:35px;line-height:1.1;font-weight:600;display:block;margin-top:13px;letter-spacing:-1px}.stat-icon{width:41px;height:41px;border-radius:12px;display:grid;place-items:center}.stat-icon.amber{background:#faeadd;color:#bf6944}.stat-icon.green{background:#e9efdf;color:#738956}.stat-icon.neutral{background:#eef0e6;color:#879277}.stat-card>small{grid-column:1/3;font-size:9px;color:#9aa38e;display:flex;justify-content:space-between;align-items:center;margin-top:10px}.stat-card>small .ui-icon{width:14px;height:14px;color:#8b987d}
.appointments-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.appointments-title h2{margin:0;display:flex;align-items:center;gap:10px}.appointments-title h2>span{font-size:11px;letter-spacing:0;background:#e3e8d8;padding:3px 9px;border-radius:20px;color:#6a7b54}.sort-hint{font-size:10px;color:#8d9680}.booking-search{display:flex;gap:10px;align-items:center;margin-bottom:18px}.admin-body .booking-search label{margin:0}.admin-body .booking-search input,.admin-body .booking-search select{margin:0;min-height:45px;background:#fffdf8;border-color:#dbe1cf;font-size:12px}.search-field{position:relative;flex:1;min-width:140px}.search-field>.ui-icon{position:absolute;top:13px;left:14px;width:18px;height:18px;color:#98a389}.admin-body .search-field input{padding-left:41px}.period-field{width:162px}.date-field{width:155px}.booking-search .button{flex-shrink:0}.status-filters{display:flex;align-items:center;gap:6px;overflow:auto;padding-bottom:12px;margin-bottom:12px;scrollbar-width:thin}.status-filters>a{font-size:11px;display:flex;gap:7px;align-items:center;white-space:nowrap;border-radius:25px;padding:9px 13px;color:#7b866e;border:1px solid transparent;min-height:42px}.status-filters>a:hover{background:#e6ebdc}.status-filters>a.active{background:#293622;color:#fff9ec;border-color:#293622}.status-filters>a>span{font-size:9px;opacity:.7;margin-left:3px}.status-dot{height:6px;width:6px;display:inline-block;border-radius:50%;flex-shrink:0}.dot-new{background:#d49357}.dot-confirmed{background:#7d9c5e}.dot-done{background:#899789}.dot-cancelled{background:#c28e80}.filter-summary{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#7c886d;align-items:center;margin:0 0 20px}.filter-summary>a{color:#ad5a3c;flex-shrink:0}
.booking-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.appointment-card{background:#fffdf8;border:1px solid #dfe4d5;border-radius:14px;padding:22px;min-width:0;box-shadow:0 3px 4px #28332103;transition:box-shadow .2s}.appointment-card:hover{box-shadow:0 7px 21px #28332108}.appointment-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.booking-reference{color:#a3aa98;font-size:10px;letter-spacing:.5px}.admin-body .status{border-radius:20px;display:inline-flex;align-items:center;gap:6px;font-size:9px!important;letter-spacing:0;padding:5px 10px;font-weight:500}.admin-body .status-new{background:#f8eddf;color:#a9773b!important}.admin-body .status-confirmed{background:#edf2e5;color:#678747!important}.admin-body .status-done{background:#edf0e8;color:#7c8d74!important}.admin-body .status-cancelled{background:#f7e9e3;color:#b97a66!important}.customer{display:flex;align-items:center;gap:13px;margin-bottom:21px}.customer-avatar{height:43px;width:43px;border-radius:50%;display:grid;place-items:center;background:#efeee5;color:#879172;font-family:'Barlow Condensed',Arial;font-size:23px;text-transform:uppercase;flex-shrink:0}.customer>div{min-width:0}.customer h3{font-size:17px;margin:0 0 5px;line-height:1.3;overflow-wrap:anywhere}.customer a{font-size:11px;color:#8b947e;letter-spacing:.3px}.appointment-slot{border:1px solid #e9ecdf;background:#f7f7ef;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;border-radius:10px}.appointment-slot>div{display:flex;gap:10px;align-items:center;font-size:12px;color:#5f6d4f}.appointment-slot .ui-icon{color:#8b9a78;width:18px;height:18px}.appointment-slot small{display:block;color:#9aa58c;font-size:9px;margin-top:2px}.appointment-slot>strong{font-size:28px;letter-spacing:-1px;color:#38482b;font-weight:500;line-height:1.2}.appointment-service{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:13px 0 17px;font-size:11px;color:#6a7959}.overdue{color:#b1815c;font-size:9px}
.customer-note{border:1px solid #ece8dc;border-radius:8px;background:#fcf9f0;margin-bottom:15px;font-size:11px;color:#8c805d}.customer-note summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer}.customer-note summary::-webkit-details-marker{display:none}.customer-note .ui-icon{height:14px;width:14px;transition:transform .2s}.customer-note[open] .ui-icon{transform:rotate(45deg)}.customer-note p{padding:0 12px 12px;margin:0;line-height:1.8;overflow-wrap:anywhere;color:#7c765f}.contact-actions{display:flex;gap:10px;margin-bottom:12px}.contact-actions>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:1px solid #dce3d2;border-radius:8px;flex:1;font-size:11px;color:#6c8058;background:#fffef9;transition:background .2s}.contact-actions>a:hover{background:#eaf0df}.contact-actions .ui-icon{height:16px;width:16px}.contact-actions .ui-icon:last-child:not(:first-child){height:12px;width:12px;margin-left:2px}.quick-status .button{width:100%;background:#b94b2f;border-color:#b94b2f;font-size:12px;min-height:46px;gap:9px}.quick-status .button:hover{background:#a43e25;border-color:#a43e25}.quick-status .complete-button{background:#35482b;border-color:#35482b}.quick-status .ui-icon{width:17px;height:17px}.booking-more{margin-top:12px}.booking-more>summary{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:10px;color:#9ca48e;min-height:35px;list-style:none}.booking-more>summary::-webkit-details-marker{display:none}.booking-more[open]>summary{color:#6e7d5b}.booking-more>p{font-size:9px;margin:12px 0 0;color:#a3ad95}.booking-more .inline-form{margin-top:8px}.booking-more select{font-size:12px;margin:0;min-height:44px}
.admin-body .empty-state{border:1px dashed #d4deca;border-radius:15px;background:#fafbf3;padding:50px 25px;color:#8b977c}.empty-icon{display:grid;place-items:center;height:62px;width:62px;background:#edf0e1;border-radius:50%;margin:0 auto 20px}.empty-icon .ui-icon{height:27px;width:27px;color:#8fa176}.empty-state h3{font-size:21px;margin:0 0 10px}.empty-state p{font-size:12px;margin-bottom:25px}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px;font-size:12px;color:#849174}.pagination a{padding:10px 16px;border:1px solid #d5dec9;border-radius:7px;min-height:44px;display:flex;align-items:center}
.admin-body label{font-size:11px;color:#6d7c5b;margin-bottom:20px;font-weight:500}.admin-body input,.admin-body select,.admin-body textarea{background:#fffef9;color:#334229;border:1px solid #d7dfcc;border-radius:7px;padding:12px;font-size:13px;color-scheme:light;min-height:44px}.admin-body select option{background:#fffef9;color:#334229}.admin-body input::placeholder,.admin-body textarea::placeholder{color:#a0ab94}.admin-body input:focus,.admin-body select:focus,.admin-body textarea:focus{outline:2px solid #9aaa8240;outline-offset:1px;border-color:#98ab80}.admin-body .consent{font-weight:400;align-items:center}.admin-body .consent input{min-height:0;width:17px;height:17px;accent-color:#687f4b}.admin-body .admin-card{border-radius:13px;background:#fffdf8;border:1px solid #dfe4d5;padding:27px}.admin-body .admin-card h3{font-size:20px;margin-bottom:24px}.admin-body .admin-title h1{font-size:43px}.admin-body .admin-title{margin-bottom:25px}.admin-body .admin-title .text-link{font-size:12px;color:#a9583b}.admin-body .admin-columns{gap:23px}.admin-body .admin-media{gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-body .admin-media .admin-card{padding:14px}.admin-body .admin-media img,.admin-body .admin-media video{border-radius:7px;height:210px}.admin-body .admin-media h3{font-size:14px;margin:16px 0}.admin-body .danger{min-height:42px;border-radius:7px;border-color:#e9d3c5;background:#fcf4ed;color:#b46e4f;padding:9px 14px;font-size:10px}.admin-body .danger:hover{background:#f7e7da}.admin-body .notice{background:#e8efdc;color:#546e3b;border:1px solid #d5e1c1;border-left:3px solid #8da773;border-radius:8px;font-size:12px;padding:15px 18px;line-height:1.8}.admin-body .notice.error{background:#fbebe2;color:#ad5d41;border-color:#edd2c0;border-left-color:#c07b53}
.login-panel{max-width:440px;margin:65px auto;padding:38px 36px;background:#fffdf8;border:1px solid #dfe4d5;border-radius:18px;box-shadow:0 15px 45px #29332206;position:relative}.login-emblem{position:absolute;right:30px;top:25px;color:#be5736;font-size:45px;line-height:1}.login-panel .eyebrow{margin-top:15px;margin-bottom:23px}.login-panel h1{font-size:43px;letter-spacing:-.5px}.login-panel>p:not(.eyebrow){font-size:12px;color:#929d84;line-height:1.7;margin-bottom:30px}.login-panel .button{margin-top:5px}.admin-body .text-link:hover{color:#b04c2c}
@media(min-width:1600px){.admin-main{padding-left:60px;padding-right:60px}.booking-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.admin-main{margin-left:215px;padding:30px 25px 60px}.admin-tabs{left:15px;width:180px;padding:24px 12px}.admin-tabs a{font-size:11px;padding:13px 10px;gap:10px}.dashboard-intro{align-items:start}.dashboard-intro h1{font-size:44px}.next-appointment{max-width:265px;padding:16px;gap:10px}.next-appointment strong{font-size:16px}.next-icon{display:none}.stat-card{padding:18px}.stat-grid{gap:12px}.booking-search{flex-wrap:wrap}.search-field{flex:1 1 200px}.booking-cards{gap:15px}.appointment-card{padding:19px}.admin-body .admin-media{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-body .admin-columns{grid-template-columns:1fr}}
@media(max-width:800px){.admin-body .header{height:72px;padding:0 22px;gap:15px}.admin-body .brand{font-size:23px}.admin-body .brand-symbol{font-size:30px}.admin-today{display:none}.admin-header-meta{gap:12px}.admin-main{margin:0;padding:30px 22px 115px;min-height:calc(100vh - 72px)}.admin-tabs{position:fixed;left:0;right:0;top:auto;bottom:0;width:auto;height:auto;min-height:74px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;flex-direction:row;justify-content:space-around;gap:5px;overflow:visible;background:#273421;box-shadow:0 -5px 24px #25331d14}.nav-caption,.nav-signature{display:none}.admin-tabs a{flex:1;display:flex;flex-direction:column;gap:4px;justify-content:center;text-align:center;padding:8px 4px;min-height:55px;font-size:9px;line-height:1.3;color:#b7c8a6;max-width:130px}.admin-tabs .ui-icon{width:21px;height:21px}.admin-tabs a.active{background:#edf0e2;color:#314325}.dashboard-intro{margin-bottom:25px}.dashboard-intro h1{font-size:43px}.dashboard-intro .eyebrow{font-size:8px}.stat-grid{margin-bottom:30px}.stat-card{padding:17px}.stat-icon{width:32px;height:32px;border-radius:9px}.stat-icon .ui-icon{width:17px;height:17px}.booking-search .date-field{width:150px}.login-panel{margin-top:45px}}
@media(max-width:540px){.admin-body .header{padding:0 18px;height:68px;gap:12px}.admin-body .brand{font-size:22px;gap:7px}.admin-body .brand-symbol{font-size:29px}.admin-body .brand small{font-size:5.5px;letter-spacing:1.35px;margin-top:5px}.admin-body .header .text-link{font-size:10px;gap:5px}.admin-body .header .text-link .ui-icon{width:14px;height:14px}.admin-body .header .button{height:40px;width:40px;padding:8px;min-width:40px}.admin-body .header .button span{display:none}.admin-header-meta{margin-left:auto}.admin-main{padding:26px 18px 115px}.dashboard-intro{display:block;margin-bottom:22px}.dashboard-intro h1{font-size:42px;margin-bottom:10px}.dashboard-intro>div>p:last-child{font-size:11px}.dashboard-intro .eyebrow{font-size:7px;letter-spacing:1.5px}.next-appointment{max-width:none;margin-top:23px;padding:15px 16px;border-radius:11px;gap:12px}.next-icon{display:grid;width:38px;height:38px}.next-appointment .overline{font-size:6.5px;letter-spacing:1px}.next-appointment strong{font-size:16px;margin:4px 0}.next-appointment>div>p{font-size:9px!important}.stat-grid{gap:9px;margin-bottom:27px}.stat-card{padding:14px 11px;display:block;border-radius:10px;position:relative}.stat-card>div>span{font-size:9px;line-height:1.6;min-height:29px}.stat-card strong{font-size:27px;margin-top:6px}.stat-icon{display:none}.stat-card>small{font-size:7px;line-height:1.5;min-height:24px;margin-top:9px;display:block}.stat-card>small .ui-icon{display:none}.appointments-title{margin-bottom:17px;gap:8px}.appointments-title h2{font-size:22px;gap:8px}.sort-hint{font-size:8px;max-width:105px;text-align:right}.booking-search{display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:15px}.search-field{grid-column:1/3;width:100%;min-width:0}.period-field{width:100%}.booking-search .button{min-width:79px;height:45px}.booking-search .date-field{width:100%;grid-column:1/3;grid-row:3}.booking-search .date-field[hidden]{display:none}.admin-body .booking-search input,.admin-body .booking-search select{font-size:16px}.search-field>.ui-icon{top:14px}.status-filters{gap:3px;margin-left:-2px;margin-right:-18px;padding-right:18px;scrollbar-width:none}.status-filters>a{font-size:10px;padding:10px 12px;min-height:44px}.status-filters>a>span{font-size:9px}.status-filters .status-dot{width:5px;height:5px}.filter-summary{font-size:9px;align-items:start;gap:10px}.booking-cards{grid-template-columns:1fr;gap:16px}.appointment-card{padding:20px;border-radius:13px}.appointment-top{margin-bottom:17px}.customer h3{font-size:18px}.customer a{font-size:12px}.customer-avatar{height:44px;width:44px}.appointment-slot{padding:13px 15px}.appointment-slot>strong{font-size:30px}.appointment-slot>div{font-size:12px}.appointment-slot small{font-size:10px}.appointment-service{font-size:12px}.contact-actions>a{min-height:46px;font-size:12px}.quick-status .button{min-height:49px;font-size:13px}.booking-more>summary{font-size:11px;min-height:44px}.booking-more select{font-size:16px;padding:10px}.customer-note{font-size:12px}.customer-note summary{min-height:44px}.admin-body .status{font-size:10px!important}.admin-body .empty-state{padding:35px 20px}.empty-state h3{font-size:19px}.empty-state p{font-size:11px;line-height:1.8}.empty-icon{width:54px;height:54px}.admin-body input,.admin-body select,.admin-body textarea{font-size:16px;min-height:46px}.admin-body label{font-size:12px}.admin-body .admin-card{padding:21px;border-radius:12px}.admin-body .admin-title h1,.admin-main>h1{font-size:38px}.admin-body .admin-card h3{font-size:19px}.admin-body .admin-media{gap:12px;margin-top:22px}.admin-body .admin-media .admin-card{padding:10px}.admin-body .admin-media img,.admin-body .admin-media video{height:175px}.admin-body .admin-media h3{font-size:12px;line-height:1.4}.admin-body .danger{font-size:9px;padding:9px 10px;min-height:44px}.admin-body .admin-card .form-row{grid-template-columns:1fr;gap:0}.admin-body .notice{font-size:11px;padding:13px 15px}.login-panel{margin:35px 18px;padding:30px 25px}.login-panel h1{font-size:40px}.login-emblem{right:24px;top:22px;font-size:39px}.login-panel .button{min-height:49px}.pagination{gap:13px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.admin-body *{transition:none!important;animation:none!important}}
.admin-body [hidden]{display:none!important}
@media(max-width:540px){.dashboard-intro>.eyebrow,.dashboard-intro>div>.eyebrow{display:none}.dashboard-intro h1{font-size:38px}.next-appointment{margin-top:18px;padding:12px 14px}.next-appointment .overline{font-size:7px}.stat-card{padding:13px 11px}.stat-card>div>span{font-size:10px;min-height:30px}.stat-card>small{display:none}.stat-card strong{font-size:28px;margin-top:7px}.stat-grid{margin-bottom:24px}.sort-hint{display:none}.status-filters>a{font-size:11px}.booking-more>summary{color:#748269}.customer a{color:#6f7e5f}}
/* Service pricing and mobile schedule editor. */
.settings-emblem{color:#bc5033;font-size:86px;line-height:1}.settings-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.settings-nav a{border:1px solid #dce2d1;border-radius:30px;padding:11px 17px;font-size:11px;background:#fffdf8;color:#6c7a5b;min-height:44px;display:flex;align-items:center}.settings-nav a:hover{background:#e8eedb;color:#334729}
.settings-section{scroll-margin-top:105px;margin-bottom:25px}.settings-heading{display:flex;gap:14px;align-items:center;margin-bottom:19px}.settings-heading .eyebrow{font-size:8px;margin:0 0 7px;letter-spacing:1.6px}.settings-heading h2{font-size:27px;letter-spacing:-.5px;margin:0}.settings-icon{display:grid;place-items:center;background:#edf0e2;color:#71875a;height:45px;width:45px;border-radius:12px;flex-shrink:0}.settings-icon .ui-icon{width:21px;height:21px}
.admin-body .settings-help{font-size:12px;line-height:1.9;color:#849174;margin:0 0 22px}.service-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.service-editor{padding:18px 15px 0;border:1px solid #e0e5d6;border-radius:10px;margin:0;min-width:0;background:#fafbf4}.service-editor legend{font-size:14px;font-weight:500;padding:0 6px}.service-editor legend span{font-size:10px;color:#b56d4b;margin-right:9px}.price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-body .service-editor label{font-size:10px}.settings-save{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:25px}.settings-save p{font-size:11px;line-height:1.8;color:#8b967d;max-width:390px}.settings-save .button{flex-shrink:0}
.schedule-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}.schedule-default{background:#f6eddc;border:1px solid #ece0c6;border-radius:8px;padding:13px 15px;font-size:11px;line-height:1.8;color:#91764f;margin:0 0 20px}.day-editor{position:relative;padding:17px 0 18px;margin:0;border:0;border-bottom:1px solid #e6e9dd;min-width:0}.day-editor legend{float:left;width:calc(100% - 110px);font-size:13px;padding:0;line-height:30px}.admin-body .day-toggle{margin:0;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-height:30px;font-size:11px}.admin-body .day-toggle input{width:17px;height:17px;min-height:0;margin:0;accent-color:#8d9f73}.day-times{display:grid;grid-template-columns:1fr 18px 1fr;gap:8px;clear:both;padding-top:12px}.admin-body .day-times label{margin:0;min-width:0;font-size:10px}.day-times input{width:100%;min-width:0}.time-dash{align-self:end;padding-bottom:14px;color:#a6b094;text-align:center}.day-editor.is-closed .day-times{opacity:.38}.day-editor.is-closed legend{color:#a4ab98}.admin-body .interval-label{margin:22px 0 12px}.days-off-list{border-top:1px solid #e2e6d9;margin-top:28px;padding-top:25px}.days-off-list .overline{font-size:8px;letter-spacing:1.2px;color:#8b987a}.days-off-empty{padding:25px 0 10px;text-align:center;color:#9da98d}.days-off-empty>.ui-icon{height:28px;width:28px}.days-off-empty p{font-size:12px;line-height:1.8}.day-off-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid #e6e9dd}.day-off-item strong{font-size:17px;font-weight:500;display:block;color:#52633e}.day-off-item span{display:block;font-size:10px;color:#95a185;margin-top:5px}.day-off-item p{font-size:12px;line-height:1.7;margin:10px 0 0;color:#8d967f;overflow-wrap:anywhere}.day-off-item>div{min-width:0}.day-off-item form{flex-shrink:0}.password-card{align-self:start}.schedule-warning p{margin:6px 0}.schedule-warning summary{cursor:pointer;min-height:35px;padding-top:5px}.schedule-warning a{text-decoration:underline}.booking-schedule-conflict{padding:11px;border-radius:6px;background:#fcf0e5;color:#a86d48;font-size:11px;line-height:1.7;margin:0 0 14px}
@media(max-width:1150px){.service-edit-grid{gap:12px}.service-editor{padding:15px 12px 0}.service-editor legend{font-size:12px}.schedule-layout{grid-template-columns:1fr}.days-off-card{margin-top:-5px}.settings-emblem{font-size:70px}}
@media(max-width:800px){.service-edit-grid{grid-template-columns:1fr}.service-editor legend{font-size:16px}.service-editor{padding:22px 18px 3px}.settings-save{display:block}.settings-save .button{width:100%;margin-top:12px}.settings-heading h2{font-size:26px}.settings-emblem{display:none}.settings-nav{flex-wrap:nowrap;overflow:auto;scrollbar-width:none;gap:7px;margin-right:-18px;padding-right:18px}.settings-nav a{white-space:nowrap;font-size:11px;padding:11px 14px}.admin-body .service-editor label,.admin-body .day-times label{font-size:12px}.settings-section{scroll-margin-top:90px}.settings-heading .eyebrow{font-size:8px}.admin-body .settings-help{font-size:12px}.day-editor legend{font-size:14px}.admin-body .day-toggle{font-size:12px;min-height:35px}.day-editor{padding:15px 0 20px}.day-times{gap:9px;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}.day-times input{padding:10px 8px!important}.schedule-layout{gap:0}.schedule-default{font-size:12px}.settings-section .button{min-height:48px}.days-off-card .button,#schedule-settings>.button{width:100%}}
.service-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.service-manager-heading .settings-heading{margin-bottom:0}.service-manager-heading>.button{flex-shrink:0;font-size:11px}.service-manager .service-edit-grid{margin-top:28px}.service-manager .service-editor{padding:20px 16px 14px}.service-manager .service-editor legend{max-width:100%;overflow-wrap:anywhere;line-height:1.7}.service-manager .service-editor textarea{min-height:78px;resize:vertical}.service-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid #e1e7d6}.service-card-footer>span{font-size:10px;color:#8d9d77}.service-card-footer>span::before{content:'';display:inline-block;width:5px;height:5px;background:#9aac80;border-radius:50%;margin-right:6px}.service-management-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}.new-service-card .button{width:100%}.new-service-card textarea{resize:vertical}.service-archive h2 small{display:inline-flex;align-items:center;justify-content:center;font:12px Arial;background:#edf0e2;padding:4px 8px;border-radius:20px;vertical-align:middle;color:#94a17f}.service-archive summary{display:flex;justify-content:space-between;align-items:center;min-height:46px;font-size:12px;color:#7a8b65;cursor:pointer;list-style:none;border:1px solid #e0e6d4;border-radius:8px;padding:10px 14px;background:#fafbf4}.service-archive summary::-webkit-details-marker{display:none}.archived-service{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;border-bottom:1px solid #e7ebdd}.archived-service>div{min-width:0}.archived-service strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.archived-service p{font-size:11px;color:#93a17f;line-height:1.8;margin:8px 0 0}.archived-service form{flex-shrink:0}.archived-service .button{font-size:10px;min-height:44px}.archive-empty{font-size:12px;color:#a0ad8e;padding:18px 0}.services-empty{text-align:center;padding:25px 20px 10px}.services-empty>span{font-size:45px;color:#b55b3c}.admin-body .services-empty h3{margin:16px 0 10px;font-size:25px}.services-empty p{font-size:12px;line-height:1.9;color:#8a9977;max-width:420px;margin:0 auto 22px}.services-empty>.button{display:inline-flex}.service-save{padding-top:5px}.service-save .button{min-height:48px}
@media(max-width:1150px){.service-management-columns{grid-template-columns:1fr}.service-manager .service-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-manager .service-editor legend{font-size:14px}}
@media(max-width:800px){.service-manager-heading{display:block}.service-manager-heading>.button{margin-top:20px;min-height:45px}.service-manager .service-edit-grid{grid-template-columns:1fr;gap:24px}.service-manager .service-editor{padding:23px 17px 16px}.service-manager .service-editor legend{font-size:16px}.service-manager .service-editor label{font-size:12px}.service-card-footer>span{font-size:11px}.service-card-footer .danger{font-size:11px;padding:10px 13px;min-height:45px}.service-management-columns{gap:0}.new-service-card .button{min-height:49px}.service-archive summary{font-size:13px;min-height:48px}.archived-service strong{font-size:15px}.archived-service p{font-size:12px}.archived-service .button{font-size:12px;padding:11px 14px}.service-save{margin-top:17px}.service-save .button{min-height:49px}}
/* Service order: compact rows with touch-sized controls. */
.service-order-panel{padding:24px;background:#f4f6ed;border:1px solid #dce2cf;border-radius:12px;margin:26px 0 34px}
.service-order-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.service-order-heading .eyebrow{margin:0 0 10px;font-size:9px;color:#975039}
.admin-body .service-order-heading h3{font-family:inherit;font-size:21px;line-height:1.4;margin:0;font-weight:600}
.service-order-count{white-space:nowrap;font-size:11px;color:#4e603b;background:#e3e9d7;border-radius:20px;padding:8px 11px}
.service-order-panel .settings-help{color:#657353;margin-bottom:18px}
.service-order-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.service-order-list>li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:66px;padding:10px 13px;background:#fffef9;border:1px solid #dce2cf;border-radius:8px}
.service-order-position{font-size:11px;color:#8a6a4d;font-variant-numeric:tabular-nums}
.service-order-name{font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;min-width:0}
.service-order-actions{display:flex;gap:8px}
.service-order-actions button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;border:1px solid #cbd4bd;border-radius:8px;background:#f1f4e9;color:#35482a;font:23px Arial;cursor:pointer;touch-action:manipulation}
.service-order-actions button:hover:not(:disabled){background:#dfe7cf;border-color:#7c9068}
.service-order-actions button:focus-visible{outline:3px solid #ba5738;outline-offset:2px}
.service-order-actions button:disabled{opacity:.3;cursor:default}
.service-order-save{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:17px}
.service-order-status{font-size:12px;line-height:1.7;color:#8d482f;margin:0;overflow-wrap:anywhere}
.service-order-save .button{flex-shrink:0;min-height:46px}
@media(max-width:800px){.service-order-panel{padding:17px 13px;margin-top:22px}.service-order-heading{display:block}.service-order-count{display:inline-block;margin-top:12px}.admin-body .service-order-heading h3{font-size:21px}.service-order-list>li{grid-template-columns:19px minmax(0,1fr) auto;gap:8px;padding:9px 8px}.service-order-actions{gap:5px}.service-order-name{font-size:13px}.service-order-save{display:block}.service-order-save .button{width:100%;margin-top:12px;min-height:48px}.service-order-status:empty{display:none}}
/* Drag only from the handle; the rest of each row keeps normal touch scrolling. */
.service-order-list>li{grid-template-columns:44px minmax(0,1fr) auto}
.service-drag-handle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:44px;min-height:48px;padding:4px 0;border:1px solid #d5ddc8;border-radius:7px;background:#f3f5ec;color:#63754f;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.service-drag-handle .service-order-position{font-size:9px;line-height:1;color:#7a876a}
.service-drag-handle:hover:not(:disabled){background:#e6ecd9;border-color:#9bad83}
.service-drag-handle:focus-visible{outline:3px solid #ba5738;outline-offset:2px}
.service-drag-handle:disabled{opacity:.35;cursor:default}
.service-drag-active,.service-drag-active body{scroll-behavior:auto!important;overflow-anchor:none;user-select:none;-webkit-user-select:none;cursor:grabbing}
.service-drag-layer{position:fixed;top:0;z-index:1000;pointer-events:none;margin:0;padding:0;will-change:transform;list-style:none}
.service-drag-layer>li{border:1px solid #91a578;background:#fdfef8;box-shadow:0 16px 35px #28351d33;cursor:grabbing}
.service-drag-layer .service-drag-handle{cursor:grabbing;background:#dfe8d0}
.service-order-list>.service-order-placeholder{border:1px dashed #8da475;background:#e9efdf}
.service-order-placeholder>*{opacity:.18}
@media(max-width:800px){.service-order-panel{padding-left:9px;padding-right:9px}.service-order-list>li{grid-template-columns:44px minmax(0,1fr) auto;gap:6px;padding:9px 6px}.service-order-actions{gap:4px}}
.service-order-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px;margin:18px 0 0;color:#61764c;font-size:12px;line-height:1.7}
.service-order-sync{margin:0;flex:1 1 160px}
.service-order-sync:before{content:'✓';margin-right:8px;font-weight:700}
.service-order-feedback[data-state=saving] .service-order-sync:before{content:'◌';display:inline-block;animation:order-saving 1s linear infinite}
.service-order-feedback[data-state=error]{color:#a44b31}
.service-order-feedback[data-state=error] .service-order-sync:before{content:'!'}
.order-retry,.order-reopen{font:inherit;min-height:44px;padding:9px 12px;border:1px solid #c9d3bb;border-radius:8px;color:#52683e;background:#fdfef9;cursor:pointer;text-decoration:none}
.service-order-feedback [hidden],.service-order-toast[hidden]{display:none!important}
.service-order-status{margin-top:8px;color:#77846a}
.service-order-status:empty{display:none}
.service-order-toast{position:fixed;right:24px;bottom:25px;z-index:1100;display:flex;align-items:center;gap:12px;max-width:360px;padding:14px 19px;border-radius:12px;background:#293b21;color:#f7faef;box-shadow:0 10px 28px #17230f33;pointer-events:none;font-size:13px;line-height:1.6}
.service-order-toast>span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#ffffff20;color:#deedbd;font-weight:700}
.service-order-toast p{margin:0;font-size:13px;color:inherit;line-height:1.6}
.service-order-toast.is-error{background:#803e2c}
.service-save button:disabled,.service-card-footer button:disabled{opacity:.5;cursor:wait}
@keyframes order-saving{to{transform:rotate(360deg)}}
@media(max-width:800px){.service-order-toast{left:18px;right:18px;bottom:calc(86px + env(safe-area-inset-bottom));max-width:none;font-size:13px}.service-order-feedback{font-size:12px}.order-retry,.order-reopen{min-height:44px}}
@media(prefers-reduced-motion:reduce){.service-order-feedback[data-state=saving] .service-order-sync:before{animation:none}}
/* Undo is available in the toast and remains next to the saved order after it closes. */
.order-undo{font:inherit;min-height:44px;padding:9px 12px;border:1px solid #c9d3bb;border-radius:8px;color:#52683e;background:#fdfef9;cursor:pointer;white-space:nowrap}
.service-order-toast{pointer-events:auto;gap:10px;padding:10px 14px}
.service-order-toast p{flex:1;min-width:0}
.service-order-toast .order-toast-undo{flex-shrink:0;min-height:44px;min-width:72px;padding:9px 12px;border:1px solid #b8cc9c;border-radius:8px;background:#e7efd9;color:#293b21;font-size:12px;font-weight:600;white-space:nowrap;touch-action:manipulation}
.service-order-toast .order-toast-undo:hover{background:#f4f8ec}
.service-order-toast .order-toast-undo:focus-visible,.order-undo:focus-visible{outline:3px solid #d89469;outline-offset:3px}
.service-order-toast [hidden]{display:none!important}
