:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#133e52;background:#e8f5fa;font-size:16px;line-height:1.55;--ink:#133e52;--blue:#006f98;--muted:#507184;--edge:rgba(255,255,255,.88);--shadow:0 12px 40px rgba(30,101,134,.09),inset 0 1px 1px #fff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 12% 2%,#c6f0fb 0,transparent 40%),radial-gradient(ellipse at 92% 25%,#c8e1ff 0,transparent 43%),linear-gradient(130deg,#edfaff,#e2f2f6 50%,#f0f8fc);background-attachment:fixed;min-height:100vh}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:40px;border-radius:12px;padding:9px 15px;border:1px solid transparent;color:var(--ink);font-weight:600;background:#fff9;transition:transform .15s,background .15s}button:hover{background:#fff;transform:translateY(-1px)}button:active{transform:translateY(0)}button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #158caf;outline-offset:3px}button.primary{color:white;background:linear-gradient(140deg,#008aaf,#00689c);border-color:#006d9d;box-shadow:0 4px 12px #127ca52c,inset 0 1px 1px #fff4}button.primary:hover{background:#006d98}.subtle{background:#ffffff70;border:1px solid #ffffffd9}.glass{background:linear-gradient(145deg,#ffffffe0,#ffffff85);border:1px solid var(--edge);box-shadow:var(--shadow);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border-radius:24px}.topbar{max-width:1440px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:23px;font-weight:750;color:var(--ink)}.brand small{display:block;font-size:12px;letter-spacing:2px;font-weight:500;color:var(--muted);margin-top:1px}.brand-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:15px;border:1px solid #fff;background:linear-gradient(140deg,#ffffffed,#96dceda3);box-shadow:0 6px 18px #438ca422,inset 0 1px 3px #fff;color:#08769a;font-size:28px}.tools{display:flex;gap:8px;align-items:center;font-size:14px}.save-state{font-size:13px;color:var(--muted);margin-right:12px}main{max-width:1440px;margin:0 auto;padding:12px 32px 60px}h1{font-size:clamp(22px,2.1vw,29px);font-weight:650;margin:7px 0 0;letter-spacing:-.7px}h2{font-size:19px;margin:0;font-weight:650}p{margin:8px 0 16px}.quiet,.small{color:var(--muted);font-size:14px}.eyebrow{font-size:13px;color:#167596;font-weight:600;letter-spacing:3px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.metric{padding:20px 24px;min-height:137px}.metric-label{display:block;font-size:14px;color:var(--muted)}.metric-value{font-size:34px;letter-spacing:-1px;font-variant-numeric:tabular-nums;font-weight:650;display:block;margin:5px 0}.metric-value small{font-size:16px;font-weight:500;letter-spacing:0}.metric-foot{font-size:12px;color:var(--muted)}.inventory{padding:20px 24px;margin-bottom:28px}.inventory-title{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:14px}.product-groups{display:flex;gap:10px;flex-wrap:wrap}.stock{padding:12px 16px;border-radius:15px;background:#fff9;border:1px solid #fff;min-width:145px;flex:1;max-width:240px}.stock strong{font-size:16px}.stock .qty{color:#057293;float:right;margin-left:18px}.stock .quiet{display:block;font-size:12px;margin-top:5px}.stock details{font-size:13px;margin-top:5px;color:var(--muted)}.stock summary{cursor:pointer}.empty-stock{padding:3px 0;font-size:14px;color:var(--muted)}.workspace{display:grid;grid-template-columns:285px minmax(0,1fr);gap:25px;align-items:start}.settings{padding:22px}.settings>details>summary{font-size:18px;font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;margin-bottom:20px}.settings>details>summary span{font-size:13px;color:var(--muted);font-weight:400}.settings form>label,form>.pair{margin-bottom:16px}label{display:block;font-size:14px;font-weight:550}input:not([type=checkbox]):not([type=file]),select,textarea{display:block;width:100%;min-width:0;border:1px solid #8eaebb77;background:#ffffffa6;border-radius:10px;padding:9px 11px;color:var(--ink);margin-top:6px;min-height:42px}input:focus,select:focus,textarea:focus{outline:3px solid #40b6d039;outline-offset:1px;border-color:#08799b}textarea{resize:vertical}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:8px;font-weight:400}.check input{accent-color:#0781a6;width:16px;height:16px}.help{border-top:1px solid #8daebd33;padding-top:12px;margin:16px 0;font-size:14px;color:var(--muted)}.help>summary{cursor:pointer;font-size:14px;font-weight:550;color:var(--ink);margin-bottom:10px}.help label{margin-bottom:12px}.help p{font-size:13px}.help a{color:var(--blue)}.settings .primary{width:100%}.settings .small{font-size:12px;margin-bottom:0}.plan-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 17px}.plan-picker{max-width:240px;min-width:150px}.plan-picker select{margin:0;font-size:14px;background:#fff9}.plan-toolbar .quiet{font-size:13px;margin-top:5px}#schedule{display:grid;gap:20px}.booking{overflow:hidden;padding:0}.booking-head{display:flex;justify-content:space-between;gap:16px;padding:22px 24px 20px;border-bottom:1px solid #ffffffc9;align-items:center}.visit-date .tag{font-size:12px;display:block;color:var(--muted);margin-bottom:3px}.visit-date strong{font-size:30px;font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-1px}.visit-date .weekday{font-size:14px;color:var(--muted);margin-left:10px}.visit-date .original{display:block;font-size:12px;color:var(--muted);margin-top:5px}.visit-actions{text-align:right;max-width:260px}.visit-actions .small{font-size:12px}.status-pill{display:inline-block;font-size:12px;padding:4px 10px;background:#d0eff2;border:1px solid #ffffff;color:#086b78;border-radius:20px;margin-bottom:8px}.visit-edit{margin-top:8px;font-size:13px;text-align:left}.visit-edit summary{cursor:pointer;color:var(--muted);text-align:right}.visit-edit label{font-size:13px;margin:10px 0}.visit-edit button{font-size:13px}.purchase-area{padding:22px 24px}.order-highlight{background:linear-gradient(110deg,#d5f1fbd9,#e5f2ff80);border:1px solid #fff;border-radius:16px;padding:17px 20px;display:flex;gap:14px;justify-content:space-between;align-items:center;margin-bottom:17px;box-shadow:inset 0 1px 3px #fff}.order-highlight span{display:block;color:#28718b;font-size:13px;font-weight:600}.order-highlight strong{display:block;font-size:24px;font-weight:650;color:#00678e;margin-top:3px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.order-highlight .order-choose{max-width:172px;flex-shrink:0}.order-choose label{font-size:12px;color:#28718b}.order-choose input{font-size:14px;margin-top:3px;min-height:38px;background:#ffffff99}.purchase-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.purchase-title h3{font-size:15px;margin:0}.add-item{font-size:13px;padding:4px 10px;min-height:32px;background:transparent;color:var(--blue)}.item-row{display:grid;grid-template-columns:minmax(100px,1fr) 110px 65px 65px 32px;gap:8px;align-items:end;margin-bottom:9px}.item-row label{font-size:12px;color:var(--muted)}.item-row input,.item-row select{font-size:14px;margin-top:4px;padding:8px;min-height:38px}.remove-item{min-height:38px;padding:0;color:#526f7c;background:transparent;font-size:21px;font-weight:400}.purchase-footer{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:14px}.purchase-footer label{flex:1;min-width:135px}.purchase-footer button{margin-bottom:0;min-height:42px}.purchase-footer input{font-variant-numeric:tabular-nums}.purchase-footer .money-input{font-weight:650}.hint{color:var(--muted);font-size:13px;line-height:1.7}.booking .help{margin:16px 0 0;padding-top:12px}.booking .help summary{margin-bottom:6px}.booking .help p{margin-bottom:0}.duplicate{margin-top:12px;background:#fff3d7c9;border:1px solid #fff;border-radius:10px;padding:9px 12px;color:#725312;font-size:13px}.alert{background:#fff1d9d9;border:1px solid #fff;border-radius:13px;padding:12px 16px;color:#735014;font-size:14px;margin-bottom:14px}.alert.error{background:#fff0eff0;color:#8c3434}.recorded{color:#04758b;font-size:12px;align-self:center}.danger-link{font-size:12px;color:#895252;min-height:30px;padding:4px 8px;background:transparent}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;max-width:min(90vw,650px);background:#123e52ed;color:white;padding:12px 20px;border-radius:14px;box-shadow:0 5px 30px #13425930;font-size:14px;pointer-events:none}#toast:empty{display:none}dialog{border:1px solid #fff;border-radius:24px;background:#eef9fff2;color:var(--ink);padding:28px;max-width:460px;box-shadow:0 20px 100px #123e5240}dialog::backdrop{background:#143c5266;backdrop-filter:blur(5px)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}@media(max-width:1100px){.workspace{grid-template-columns:250px minmax(0,1fr);gap:18px}.item-row{grid-template-columns:minmax(80px,1fr) 95px 58px 57px 26px;gap:6px}.metric{padding:18px}.purchase-area,.booking-head{padding:18px}.order-highlight{padding:14px}.order-highlight strong{font-size:21px}.metric-value{font-size:29px}.settings{padding:18px}}@media(max-width:850px){main{padding:8px 18px 50px}.topbar{padding:18px}.save-state{display:none}.workspace{grid-template-columns:1fr}.settings{width:100%}.settings form{max-width:none}.metrics{grid-template-columns:repeat(2,1fr)}.section-title>.quiet{display:none}.inventory-title{display:block}.inventory-title>.quiet{display:block;margin-top:4px}.settings .rules{margin-bottom:0}.stock{min-width:140px}.metric{min-height:123px}.booking-head,.purchase-area{padding:20px}.settings>details>summary{margin-bottom:12px}}@media(max-width:520px){.brand{font-size:21px}.brand small{font-size:11px}.brand-icon{width:40px;height:40px;font-size:25px;border-radius:13px}.tools{gap:4px}.tools button{font-size:12px;padding:6px 9px;min-height:35px}.section-title{margin-bottom:16px}h1{font-size:21px;line-height:1.45}.metrics{gap:10px}.metric{padding:15px;border-radius:20px}.metric-value{font-size:28px}.metric-foot{font-size:11px}.inventory{padding:18px;border-radius:20px}.stock{max-width:none;flex-basis:43%;padding:10px 12px;min-width:125px}.stock .qty{margin-left:5px}.plan-toolbar{align-items:start}.plan-picker{min-width:135px;max-width:180px}.booking-head{align-items:start;padding:18px 16px}.visit-date strong{font-size:27px}.visit-date .weekday{display:block;margin:0;font-size:12px}.visit-actions{max-width:165px}.visit-actions>.primary{font-size:12px;padding:8px 10px}.purchase-area{padding:16px}.order-highlight{display:block}.order-highlight strong{font-size:23px}.order-highlight .order-choose{max-width:none;margin-top:10px}.order-choose label{display:flex;align-items:center;gap:10px;white-space:nowrap}.order-choose input{margin:0;width:auto;flex:1;min-width:0}.item-row{grid-template-columns:minmax(95px,1fr) 78px 55px 50px 24px;gap:4px}.item-row input,.item-row select{padding:6px 4px;font-size:13px}.purchase-footer{gap:10px}.purchase-footer label{min-width:120px}.purchase-footer button{width:100%}.purchase-title h3{font-size:14px}.eyebrow{font-size:12px}.stock .quiet{font-size:11px}.quiet{font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@supports not (backdrop-filter:blur(1px)){.glass{background:#f7fcff}}@media print{.topbar .tools,.settings,.visit-actions,button{display:none!important}.workspace{display:block}body{background:#fff}.booking{break-inside:avoid}.glass{box-shadow:none;background:#fff}.dashboard{break-after:avoid}}
:root .completed{background:linear-gradient(140deg,#f8fcffc7,#edf5f999);box-shadow:0 6px 25px #366b8a08,inset 0 1px 1px #fff}.completed .booking-head{padding-bottom:16px}.completed .visit-date strong{color:#3c6273;font-size:27px}.completed .status-pill{background:#e2eef2;color:#3e6878}.completed-record>summary{list-style:none;cursor:pointer;display:flex;gap:16px;align-items:center;padding:16px 24px;color:#456b7c;font-size:14px}.completed-record>summary>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.completed-record>summary strong{white-space:nowrap;color:#315365;font-variant-numeric:tabular-nums}.expand-label{color:#387f97;font-size:12px;white-space:nowrap}.completed-record[open]>.summary{border-bottom:1px solid #fff}.completed-record[open] .expand-label{color:#526e7e}@media(max-width:520px){.completed-record>summary{padding:14px 16px;gap:10px;flex-wrap:wrap}.completed-record>summary>span:first-child{flex-basis:60%}.completed-record .expand-label{margin-left:auto}}
/* Purchase actions stay quieter than service confirmation. */
button.primary[data-action="save-purchase"]{background:linear-gradient(140deg,#e9f7fb,#dceff5);color:#28657c;border-color:#bedee8;box-shadow:inset 0 1px 1px #ffffffd9}
button.primary[data-action="save-purchase"]:hover{background:linear-gradient(140deg,#e1f2f8,#d2e9f1);border-color:#a7cfdc}
/* Consistent controls: allow grid children and native iOS dates to shrink. */
.brand-icon{flex-shrink:0}.brand-icon svg{display:block;width:100%;height:100%}
.item-row>label,.purchase-footer>label,.pair>label{min-width:0}
.item-row input,.item-row select,.purchase-footer input{height:46px;min-height:46px;max-width:100%;margin-top:6px;line-height:1.25;font-size:16px}
.item-row select,.plan-picker select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23507184' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;padding-right:28px}
input[type=date]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;overflow:hidden}
input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}
.purchase-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px}
.purchase-footer label{min-width:0;width:100%;margin:0}
.purchase-footer>button[data-action=save-purchase]{grid-column:1/-1;min-height:46px}
@media(max-width:600px){
 .item-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 36px;gap:12px 10px;margin:0 0 18px;align-items:end}
 .item-row>label:nth-child(1){grid-column:1/4;grid-row:1}
 .item-row>label:nth-child(2){grid-column:1;grid-row:2}
 .item-row>label:nth-child(3){grid-column:2;grid-row:2}
 .item-row>label:nth-child(4){grid-column:3/5;grid-row:2}
 .item-row>.remove-item{grid-column:4;grid-row:1;height:46px;min-height:46px;border:1px solid #bed5df80;border-radius:10px;background:#ffffff60}
 .item-row label{font-size:13px;line-height:1.4}
 .item-row input,.item-row select{padding:10px 12px;font-size:16px}
 .item-row select{padding-right:28px}
 .purchase-footer{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:18px}
 .purchase-footer label{font-size:13px;line-height:1.4}
 .purchase-footer button{width:100%}
 .plan-toolbar{flex-wrap:wrap;gap:12px}.plan-toolbar>div{width:100%;min-width:0}
 .plan-picker{max-width:none;min-width:0;width:100%}.plan-picker select{height:44px;font-size:15px}
}
