:root{color:#171b1c;background:#e9e5dc;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 85% 0,rgba(151,106,56,.16),transparent 25rem),#e9e5dc}button,input,select,textarea{font:inherit}button{color:inherit}.app-shell{width:min(100%,560px);min-height:100dvh;margin:0 auto;position:relative;padding-bottom:86px;background:#f2eee7;box-shadow:0 0 80px #14181a29}.topbar{min-height:138px;padding:54px 22px 22px;display:flex;justify-content:space-between;align-items:flex-end;color:#f5f0e7;background:radial-gradient(circle at 82% 15%,rgba(185,145,94,.24),transparent 11rem),linear-gradient(145deg,#121719,#243028)}.eyebrow,.section-head small,.sheet header small{color:#bd9563;font:9px Georgia,serif;letter-spacing:.22em}.topbar h1{margin:7px 0 0;font:400 25px Songti SC,serif}.logout-button{padding:6px 10px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#ffffffa6;font-size:9px;cursor:pointer}.page-content{padding:18px}.login-shell{padding-bottom:0}.login-topbar{min-height:210px;padding-bottom:46px}.login-content{margin-top:-28px;position:relative}.login-card{padding:24px 20px;border:1px solid #ded7cc;background:#fffdf9;box-shadow:0 18px 48px #231f191f}.login-card>small{color:#bd9563;font:9px Georgia,serif;letter-spacing:.2em}.login-card h2{margin:7px 0 0;font:400 23px Songti SC,serif}.login-card>p{margin:8px 0 22px;color:#91897e;font-size:10px;line-height:1.6}.login-card label{display:block;margin-top:16px;color:#7f786d;font-size:10px}.login-card input{width:100%;height:46px;margin-top:7px;padding:0 12px;border:1px solid #d5cdc1;border-radius:0;background:#fbf9f5;color:#171b1c;outline:none}.login-card input:focus{border-color:#8f6a3e;box-shadow:0 0 0 2px #8f6a3e1a}.login-card .primary{margin-top:24px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ded7cc;background:#fffdf9;box-shadow:0 10px 30px #2d261d0f}.summary{padding:16px 8px;text-align:center;border-right:1px solid #e2dbd1}.summary:last-child{border-right:0}.summary span{display:block;color:#8b8479;font-size:10px}.summary b{display:block;margin-top:5px;font:22px Georgia,serif}.summary small{margin-left:3px;color:#999185;font:9px sans-serif}.analytics-summary-card{margin-top:16px;padding:18px;border:1px solid #ded7cc;background:#fffdf9;box-shadow:0 10px 30px #2d261d0f}.analytics-summary-card>header{display:flex;justify-content:space-between;align-items:flex-start}.analytics-summary-card header small{color:#bd9563;font:8px Georgia,serif;letter-spacing:.18em}.analytics-summary-card header h2{margin:4px 0 0;font:400 18px Songti SC,serif}.summary-tabs{padding:2px;display:flex;border:1px solid #ded7cc;background:#f4f0e9}.summary-tabs button{min-width:42px;height:27px;border:0;background:transparent;color:#8b8479;font-size:9px}.summary-tabs button.active{color:#fff;background:#24382e}.analytics-summary-values{margin-top:16px;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #e5ded3;border-left:1px solid #e5ded3}.analytics-summary-values>div{padding:12px;display:grid;gap:5px;border-right:1px solid #e5ded3;border-bottom:1px solid #e5ded3}.analytics-summary-values span{color:#8b8479;font-size:9px}.analytics-summary-values b{font:19px Georgia,Songti SC,serif}.analytics-summary-values b small{color:#999185;font:8px sans-serif}.analytics-summary-note,.analytics-summary-state{margin:11px 0 0;color:#81796f;font-size:9px;line-height:1.55}.analytics-summary-state{min-height:64px;display:flex;justify-content:center;align-items:center;gap:10px}.analytics-summary-state button{border:0;color:#8f6a3e;background:none;font-size:9px}.analytics-summary-card>a{margin-top:14px;padding-top:12px;display:flex;justify-content:space-between;border-top:1px solid #e5ded3;color:#8f6a3e;font-size:10px;text-decoration:none}.section-head{margin:25px 2px 12px;display:flex;justify-content:space-between;align-items:flex-end}.section-head h2{margin:4px 0 0;font:400 19px Songti SC,serif}.section-head>span,.section-head-tools>span{color:#8e877c;font-size:10px}.section-head-tools{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:58px;top:16px;bottom:16px;width:1px;background:#cec6ba}.appointment-card{position:relative;width:100%;min-height:83px;padding:8px 0;display:grid;grid-template-columns:48px 18px 1fr auto;gap:5px;align-items:center;border:0;background:transparent;text-align:left;cursor:pointer}.appointment-card time{font:12px Georgia,serif;text-align:right}.appointment-card time small{display:block;margin-top:4px;color:#999185;font-size:9px}.line-dot{z-index:1;width:8px;height:8px;margin:auto;border:2px solid #996b38;border-radius:50%;background:#f2eee7}.appointment-main{min-height:60px;padding:13px;display:flex;flex-direction:column;justify-content:center;background:#fffdfa;border-left:2px solid #996b38;box-shadow:0 5px 16px #231f190a}.appointment-main b{font:400 13px Songti SC,serif}.appointment-main small{margin-top:5px;color:#877f74;font-size:9px}.appointment-card em{margin-left:-62px;margin-right:10px;align-self:start;padding-top:17px;color:#64715f;font-style:normal;font-size:9px}.overdue-panel{margin:22px 0 28px;padding:16px;border:1px solid #d8b6ad;background:#f7ebe7}.overdue-head{margin:0}.overdue-head strong{padding:6px 9px;color:#7e4338;background:#ead4ce;font-size:10px}.overdue-panel>p{margin:8px 0 12px;color:#795f58;font-size:10px;line-height:1.6}.overdue-list{display:grid;gap:8px}.overdue-card{width:100%;padding:12px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid #dec8c1;background:#fffdfa;color:#27231f;text-align:left;cursor:pointer}.overdue-card span{display:flex;flex-direction:column;gap:4px}.overdue-card small,.overdue-card time{color:#81746f;font-size:9px}.overdue-card em{color:#9a4d3e;font-size:9px;font-style:normal}.service-list{border:1px solid #ddd6cb;background:#fffdfa}.service-list>button{width:100%;min-height:72px;padding:0 14px;display:grid;grid-template-columns:30px 1fr auto 15px;gap:8px;align-items:center;border:0;border-bottom:1px solid #e4ddd3;background:transparent;text-align:left;cursor:pointer}.service-list>button:last-child{border-bottom:0}.service-list>button>span{color:#996b38;font:italic 11px Georgia,serif}.service-list p{margin:0}.service-list b,.service-list small{display:block}.service-list b{font:400 13px Songti SC,serif}.service-list small{margin-top:5px;color:#918a7f;font-size:9px}.service-list strong{font:14px Georgia,serif}.service-list i{color:#aaa298;font-style:normal;font-size:18px}.page-note{margin:13px 2px;color:#8f877c;font-size:10px;line-height:1.7}.state-card{margin-top:28px;padding:42px 20px;border:1px dashed #c8c0b5;text-align:center}.state-card i,.state-card b{display:block}.state-card i{color:#996b38;font-style:normal;font-size:24px}.state-card b{margin-top:10px;font:400 15px Songti SC,serif}.state-card p{margin:7px 0 0;color:#8c8479;font-size:10px}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;transform:translate(-50%);width:min(100%,560px);height:72px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ddd6cb;background:#fffdf9f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{border:0;background:transparent;color:#989084;cursor:pointer}.bottom-nav i,.bottom-nav span{display:block}.bottom-nav i{font-style:normal;font-size:20px}.bottom-nav span{margin-top:3px;font-size:9px}.bottom-nav button.active{color:#171b1c}.bottom-nav button.active i{color:#996b38}.sheet-layer{position:fixed;z-index:50;inset:0;display:grid;place-items:end center}.mask{position:absolute;inset:0;width:100%;border:0;background:#0a0c0c94;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{position:relative;width:min(100%,560px);max-height:82dvh;overflow-y:auto;padding:12px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#f4f0e9;box-shadow:0 -20px 50px #00000038}.handle{width:38px;height:4px;margin:0 auto 17px;border-radius:4px;background:#cac2b7}.sheet header{display:flex;justify-content:space-between;align-items:center}.sheet header h2{margin:5px 0 0;font:400 20px Songti SC,serif}.sheet header>button{border:0;background:transparent;color:#837b70;font-size:25px;cursor:pointer}.customer-block{margin-top:18px;padding:14px;display:flex;gap:11px;align-items:center;border:1px solid #dad2c7;background:#fffdfa}.customer-block>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#171b1c;color:#bd9563}.customer-block p{margin:0}.customer-block b,.customer-block small{display:block}.customer-block small{margin-top:4px;color:#8e877c;font-size:9px}.facts{margin:11px 0;padding:4px 12px;background:#e9e3da}.facts div{padding:10px 0;display:flex;justify-content:space-between;border-bottom:1px solid #d3cbc0;font-size:10px}.facts div:last-child{border-bottom:0}.facts dt{color:#8b8378}.facts dd{margin:0}.sheet-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sheet-actions button,.primary{height:44px;border:1px solid #bfb7ab;background:transparent;cursor:pointer}.sheet-actions button:last-child,.primary{border:0;color:#fff;background:#171b1c}.sheet label{display:block;margin-top:16px;color:#81796e;font-size:10px}.sheet input:not([type=checkbox]),.sheet select,.sheet textarea{width:100%;min-height:44px;margin-top:6px;padding:10px;border:1px solid #d2cabf;border-radius:0;background:#fffdfa;color:#171b1c}.sheet textarea{min-height:76px;resize:vertical}.switch-row{height:52px;padding:0 12px;display:flex!important;justify-content:space-between;align-items:center;border:1px solid #d2cabf;background:#fffdfa}.primary{width:100%;margin-top:18px}.primary:disabled{opacity:.55}.danger{background:#7e4338}.warning{margin:18px 0 2px;padding:12px;color:#7e4338;background:#eadbd7;font-size:10px;line-height:1.6}.overdue-warning{margin:12px 0;padding:12px;border-left:3px solid #a65545;background:#f3e1dc}.overdue-warning b,.overdue-warning span{display:block}.overdue-warning b{color:#7e4338;font-size:11px}.overdue-warning span{margin-top:5px;color:#795f58;font-size:9px;line-height:1.5}.form-error{color:#a54434;font-size:10px}.progress{background:#996b38}.compact-action{width:auto;margin:0 0 16px auto;padding:10px 16px;display:block}.section-action{height:40px;margin:0;padding:0 15px;display:inline-flex;align-items:center;gap:7px;border-radius:0;color:#fff;background:#171b1c;font-size:10px;letter-spacing:.04em;white-space:nowrap}.section-action span{color:#bd9563;font-size:17px;font-weight:300;line-height:1}.service-delete{margin-top:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:24px}.calendar-grid button{min-height:54px;border:0;border-radius:10px;background:#fff;color:#26251f;display:flex;flex-direction:column;align-items:center;justify-content:center}.calendar-grid button small{color:#8f877c;font-size:9px;margin-top:3px}.calendar-grid button.selected{background:#1f3a32;color:#fff}.calendar-grid button.closed{opacity:.55}.calendar-grid button.past{background:#f4f1ea;color:#a09889}.calendar-grid button.past small{color:#b0a798}.calendar-grid button.past.selected{background:#4b544f;color:#fff}.calendar-actions{display:flex;gap:6px;align-items:center}.calendar-actions>button:not(.primary){width:34px;height:34px;border:1px solid #cfc7bb;background:#fffdfa;font-size:20px;cursor:pointer}.timeline-row{background:#fff;border-radius:12px;padding:13px;margin:8px 0;display:flex;gap:12px;align-items:center;font-size:11px}.timeline-row span{flex:1}.timeline-row.locked{background:#f0e5d7}.timeline-row small{display:block;margin-top:4px;color:#91897e;font-size:9px}.slot-available{border-left:3px solid #6e856f}.slot-appointment{border-left:3px solid #996b38}.slot-blocked{border-left:3px solid #9b5238;background:#f0e5d7}.slot-hold{border-left:3px solid #b6935d;background:#f5eddd}.slot-non_business,.slot-past{padding-top:9px;padding-bottom:9px;background:#e7e2da;color:#999185}.timeline-row button{border:0;background:transparent;color:#9b5238}.appointment-timeline-row{width:100%;border:0;color:inherit;text-align:left;cursor:pointer;transition:background .18s ease,transform .18s ease}.appointment-timeline-row:hover{background:#faf7f1}.appointment-timeline-row:active{transform:scale(.995)}.appointment-timeline-row>i{color:#a79e92;font-style:normal;font-size:18px;line-height:1}.timeline-error{margin:10px 2px}.settings-page{padding-top:20px}.settings-section{margin-bottom:18px;overflow:hidden;border:1px solid #ddd5c9;background:#fffdfa;box-shadow:0 12px 30px #2c251d0d}.settings-section-head{padding:16px 17px 14px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;align-items:start;border-bottom:1px solid #e5ded3;background:linear-gradient(90deg,#f8f4ed,#fffdfa)}.settings-section-index{padding-top:2px;color:#a9753c;font:italic 11px Georgia,serif}.settings-section-head small{color:#bd9563;font:8px Georgia,serif;letter-spacing:.2em}.settings-section-head h2{margin:4px 0 0;font:400 18px Songti SC,serif}.settings-section-head p{margin:5px 0 0;color:#91897e;font-size:9px;line-height:1.55}.hours-card{padding:0}.hours-editor{padding-top:0}.setting-line{min-height:62px;padding:10px 0;display:grid;grid-template-columns:68px 42px minmax(0,1fr);gap:10px;align-items:center;border-bottom:1px solid #ece6dc}.setting-line:last-child{border-bottom:0}.setting-day b,.setting-day small{display:block}.setting-day b{font:400 12px Songti SC,serif}.setting-day small{margin-top:4px;color:#748474;font-size:8px}.setting-line.disabled .setting-day small{color:#aaa196}.day-switch{position:relative;width:34px;height:20px;display:block;cursor:pointer}.day-switch input{position:absolute;width:1px;height:1px;opacity:0}.day-switch span{position:absolute;inset:0;border-radius:20px;background:#d6d0c7;transition:background .18s ease}.day-switch span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #14161433;transition:transform .18s ease}.day-switch input:checked+span{background:#24483e}.day-switch input:checked+span:after{transform:translate(14px)}.day-switch input:focus-visible+span{outline:2px solid rgba(153,107,56,.35);outline-offset:2px}.setting-hours{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:5px;align-items:center;transition:opacity .18s ease}.setting-line.disabled .setting-hours{opacity:.38}.setting-hours>span{color:#a49c90;font-size:8px;text-align:center}.setting-line input[type=time]{width:100%;min-width:0;height:38px;padding:0 7px;border:1px solid #d9d2c7;border-radius:0;background:#fbf9f5;color:#25231f;font-size:9px}.settings-card{padding:17px;background:transparent}.settings-card label{display:block;margin-bottom:15px;color:#8f877c;font-size:9px}.settings-card label>span:first-child{display:block}.settings-card input{width:100%;min-height:43px;margin-top:6px;padding:10px 11px;border:1px solid #d9d2c7;border-radius:0;background:#fbf9f5;color:#171b1c;outline:none}.settings-card textarea{width:100%;min-height:82px;margin-top:6px;padding:11px;border:1px solid #d9d2c7;border-radius:0;background:#fbf9f5;color:#171b1c;outline:none;resize:vertical}.settings-card input:focus,.settings-card textarea:focus,.setting-line input[type=time]:focus{border-color:#966b3c;box-shadow:0 0 0 2px #966b3c17}.store-editor{margin-bottom:0}.settings-editor-footer{margin-top:4px;padding-top:15px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid #e5ded3}.settings-editor-footer p{max-width:255px;margin:0;color:#948c80;font-size:8px;line-height:1.6}.settings-save-button{width:auto;min-width:132px;height:40px;margin:0;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#fff;background:#171b1c;font-size:9px;white-space:nowrap}.settings-save-button span{color:#bd9563;font-size:13px}.rule-row{min-height:66px;padding:11px 0;display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:16px;align-items:center;border-bottom:1px solid #ece6dc}.rule-row:first-child{padding-top:0}.rule-row>div b,.rule-row>div small{display:block}.rule-row>div b{font:400 11px Songti SC,serif}.rule-row>div small{margin-top:5px;color:#91897e;font-size:8px;line-height:1.5}.settings-card .rule-row label{position:relative;margin:0}.settings-card .rule-row input{margin:0;padding-right:42px;text-align:right}.rule-row label span{position:absolute;right:10px;top:50%;color:#9a9286;font-size:8px;transform:translateY(-50%)}.location-summary{min-height:78px;margin:-2px 0 16px;padding:13px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #ddd8cd;border-radius:0;background:#f7f4ee}.location-summary small,.location-summary b,.location-summary span{display:block}.location-summary>div{min-width:0}.location-summary small{color:#9b6e3d;font-size:8px;letter-spacing:.12em}.location-summary b{margin-top:5px;overflow:hidden;font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.location-summary span{margin-top:4px;color:#8f877c;font-size:8px}.location-summary button{min-width:72px;height:36px;padding:0 12px;border:0;border-radius:9px;background:#1c1c18;color:#fff;font-size:9px;cursor:pointer}.location-sheet{max-height:92dvh}.location-sheet .location-picker{margin-top:18px}.location-done{margin-top:12px}.location-picker{margin:-2px 0 16px;overflow:hidden;border:1px solid #ddd8cd;border-radius:12px;background:#f7f4ee}.location-picker-head{padding:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.location-picker-head>div{display:flex;align-items:center;gap:8px}.location-picker-head b{font-size:11px}.location-picker-head span{padding:3px 7px;border-radius:999px;background:#e3ebe4;color:#53705c;font-size:8px}.location-picker-head small{max-width:230px;color:#8f877c;font-size:8px;line-height:1.5;text-align:right}.location-search{padding:0 12px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.settings-card .location-search input{min-width:0;margin:0}.location-search button{min-width:68px;border:0;border-radius:9px;background:#1c1c18;color:#fff;font-size:10px}.location-search button:disabled{opacity:.42}.location-results{max-height:180px;overflow-y:auto;border-top:1px solid #e2ddd3;background:#fff}.location-results button{width:100%;padding:10px 12px;display:block;border:0;border-bottom:1px solid #eeeae2;background:#fff;text-align:left}.location-results button:hover{background:#f5f1e9}.location-results b,.location-results span{display:block}.location-results b{font-size:10px}.location-results span{margin-top:4px;color:#8f877c;font-size:8px;line-height:1.45}.location-map{width:100%;height:280px;border-top:1px solid #ddd8cd;background:#e8e4dc}.location-message{min-height:34px;margin:0;padding:9px 12px;color:#7f786e;font-size:8px;line-height:1.5}.location-message.error{color:#aa4f40}.location-picker-unconfigured{padding:14px;border-style:dashed}.location-picker-unconfigured b,.location-picker-unconfigured span{display:block}.location-picker-unconfigured b{font-size:11px}.location-picker-unconfigured p,.location-picker-unconfigured span{margin:6px 0 0;color:#8f877c;font-size:9px;line-height:1.6}.complete-panel{margin-top:12px}.settlement-panel{padding:14px;border:1px solid #d3cbc0;background:#f5f1e9}.settlement-panel>p{margin:0 0 12px;font-family:Georgia,serif;font-size:24px}.settlement-panel>p small{display:block;margin-top:6px;color:#81796e;font-family:inherit;font-size:12px;line-height:1.5}.settlement-panel select{width:100%;height:44px;margin-top:6px;padding:0 10px;border:1px solid #cfc6b9;border-radius:0;background:#fff;color:#24231f}.audit-list{margin-top:20px;padding-top:16px;border-top:1px solid #d3cbc0}.audit-list>b{font:400 14px Songti SC,serif}.audit-list>div{padding:9px 0;display:grid;grid-template-columns:100px 1fr;gap:8px;border-bottom:1px solid #ddd6cb;color:#756e64;font-size:9px;line-height:1.5}.primary.mini{width:auto;padding:9px 12px;margin:0}.outline-action{width:100%;margin-top:10px;border:1px solid #b8b1a3;background:transparent;border-radius:10px;padding:11px}@media(max-width:430px){.settings-section-head{grid-template-columns:26px minmax(0,1fr)}.setting-line{grid-template-columns:54px 38px minmax(0,1fr);gap:7px}.setting-line input[type=time]{padding:0 3px}.settings-editor-footer{align-items:stretch;flex-direction:column;gap:11px}.settings-editor-footer p{max-width:none}.settings-save-button{width:100%}}@media(min-width:700px){body{padding:28px 0}.app-shell{min-height:calc(100dvh - 56px);border-radius:26px;overflow:hidden}.bottom-nav{bottom:28px;border-radius:0 0 26px 26px}}.site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;padding:20px 16px 100px;color:#717975;font-size:12px;line-height:1.6;text-align:center}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover{text-decoration:underline}
