:root{--ink:#20322f;--muted:#73817e;--line:#e5ebe8;--green:#0e625a;--green-dark:#0c4843;--green-soft:#e8f3ef;--bg:#f5f7f6;--white:#fff;--orange:#ae7131;--red:#b33a45;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:16px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #55a79b;outline-offset:3px}h1,h2,h3,p{margin:0}a{color:var(--green)}svg{width:20px;height:20px;flex-shrink:0}button svg{pointer-events:none}small{font-size:.8125rem}.muted{color:var(--muted)}.number{font-variant-numeric:tabular-nums;letter-spacing:-.04em}.shell{display:grid;grid-template-columns:214px minmax(0,1fr);min-height:100vh}.sidebar{padding:35px 18px 20px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:0 10px;margin-bottom:47px}.brand-mark{display:grid;place-items:center;width:34px;height:40px;border-radius:11px 3px 11px 3px;background:var(--green);color:white;font-family:Georgia,serif;font-size:26px}.brand strong{font-size:19px;letter-spacing:.11em;font-weight:600}.brand small{display:block;color:var(--muted);letter-spacing:.18em;font-size:11px;margin-top:4px}.nav-label{font-size:.75rem;color:#8c9995;padding:0 15px;margin-bottom:13px;letter-spacing:.12em}.nav{display:grid;gap:8px}.nav button{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:14px 16px;border-radius:9px;font-size:.9375rem;color:#6c7874}.nav button:hover{background:#f2f7f4}.nav button.active{background:var(--green-soft);color:var(--green);font-weight:600}.nav .count{margin-left:auto;background:#daeee6;border-radius:5px;padding:1px 6px;font-size:.75rem}.sidebar-bottom{margin-top:auto}.demo-note{padding:15px 12px;border-radius:10px;background:#f7f9f8;font-size:.8125rem;line-height:1.7;color:var(--muted);margin-bottom:20px}.demo-note strong{display:block;color:#516c63;font-weight:500}.demo-note button{font-size:.8125rem;padding:8px 0 0;color:var(--green);text-decoration:underline;text-underline-offset:4px}.profile{border-top:1px solid var(--line);padding:20px 9px 0;display:flex;gap:11px;align-items:center}.profile strong{font-weight:500;font-size:.875rem}.profile small{display:block;margin-top:5px;color:var(--muted)}.avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e8edeb;color:#536c61;font-size:.875rem;flex-shrink:0}.avatar.tone1{background:#f2eae2;color:#937551}.avatar.tone2{background:#eceaf5;color:#7e7093}.avatar.tone3{background:#e6eef3;color:#5e8194}.main{min-width:0}.topbar{height:85px;padding:0 38px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:rgba(255,255,255,.7);border-bottom:1px solid var(--line)}.breadcrumb{font-size:.875rem;color:#6f7f78}.breadcrumb span{color:#c0c8c3;padding:0 12px}.topbar-right{display:flex;gap:22px;align-items:center}.date{font-size:.875rem;color:var(--muted)}.badge{font-size:.75rem;border-radius:5px;padding:5px 9px;background:#edf3ef;color:#5a7468;white-space:nowrap}.workspace{max-width:1480px;margin:auto;padding:34px 38px 38px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.eyebrow{font-size:.8125rem;color:var(--muted);margin-bottom:7px;letter-spacing:.05em}h1{font-weight:600;font-size:1.75rem;letter-spacing:-.025em}.subtitle{color:var(--muted);font-size:.875rem;line-height:1.7;margin-top:8px}.actions{display:flex;align-items:center;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:11px 17px;border:1px solid var(--line);background:#fff;font-size:.875rem;font-weight:500;min-height:43px;white-space:nowrap}.btn:hover{background:#f4f8f6;border-color:#bed4ca}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:var(--green-dark)}.btn.soft{background:var(--green-soft);color:var(--green);border-color:transparent}.btn.danger{color:var(--red);background:#fff5f4;border-color:#f2d8d6}.btn.small{min-height:34px;padding:7px 11px;font-size:.8125rem}.link-btn{font-size:.875rem;color:var(--green);padding:8px 0;white-space:nowrap}.link-btn:hover{text-decoration:underline;text-underline-offset:4px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:28px}.stat{padding:22px 24px 20px;border:1px solid var(--line);background:#fff;border-radius:12px}.stat:first-child{background:var(--green);color:white;border-color:var(--green)}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--muted);gap:10px}.stat:first-child .stat-top,.stat:first-child .stat-foot{color:#b8d4cb}.stat-icon{background:#f2f6f4;border-radius:7px;width:31px;height:31px;display:grid;place-items:center;color:#73867c}.stat:first-child .stat-icon{background:#ffffff12;color:#c9e2da}.stat-value{font-size:1.875rem;line-height:1.25;margin:13px 0 10px;font-weight:600;white-space:nowrap}.stat-value em{font-style:normal;font-size:.875rem;font-weight:400;margin-left:6px;letter-spacing:0}.stat-foot{font-size:.75rem;color:#8b9792;line-height:1.6}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.card{background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden}.card-heading{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}.card-heading h2{font-size:1rem;font-weight:600}.card-heading small{color:var(--muted);font-weight:400;margin-left:9px}.search{display:flex;align-items:center;gap:10px;background:#f7f9f8;border:1px solid #e8edeb;border-radius:8px;padding:0 13px;min-height:44px;color:#8a9791}.search input{border:0;background:none;outline:none;width:100%;font-size:.875rem;min-width:0;color:var(--ink);padding:11px 0}.search:focus-within{border-color:#72a698}.search-wrap{padding:0 24px 20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.875rem;text-align:left;white-space:nowrap}th{background:#fafcfb;color:#89968f;font-size:.75rem;font-weight:400;padding:13px 23px;border-block:1px solid var(--line)}td{padding:18px 23px;border-bottom:1px solid #eff2f0;vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfb}.person{display:flex;align-items:center;gap:11px}.person-name{display:block;text-align:left;font-weight:500;padding:0;color:var(--ink);font-size:.9375rem}.person-name:hover{color:var(--green)}.person small{color:#96a19a;display:block;margin-top:5px;font-size:.75rem}.tag{display:inline-flex;padding:4px 8px;border-radius:5px;font-size:.75rem;background:#edf5f0;color:#5a806b;line-height:1.4}.tag.orange{background:#fbf1e7;color:#a77c4b}.tag.gray{background:#f1f3f2;color:#8b9790}.tag.purple{background:#f0edf8;color:#827199}.tags{display:flex;gap:5px;flex-wrap:wrap}.customer-balance{font-weight:500}.table-footer{border-top:1px solid var(--line);padding:14px 24px;font-size:.75rem;color:#8c9991;display:flex;justify-content:space-between;align-items:center}.activity{padding:0 23px}.activity-item{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:17px 0;border-top:1px solid #eff2f0}.activity-item:first-child{border-top:0;padding-top:0}.activity-icon{width:30px;height:30px;display:grid;place-items:center;background:var(--green-soft);border-radius:8px;color:var(--green)}.activity-icon svg{width:16px;height:16px}.activity-item strong{font-size:.875rem;font-weight:500}.activity-item p{font-size:.8125rem;color:var(--muted);margin-top:7px;line-height:1.5}.activity-item small{display:block;font-size:.75rem;color:#a1aaa5;margin-top:8px}.side-column{display:grid;gap:20px}.stock-alert{padding:4px 23px 20px}.stock-alert-item{display:flex;justify-content:space-between;gap:12px;margin-top:17px;font-size:.8125rem}.stock-alert-item span:last-child{color:#aa7540}.quiet-note{color:#93a097;font-size:.75rem;text-align:center;margin-top:23px;line-height:1.8}.empty{padding:42px 20px;text-align:center;color:var(--muted);font-size:.875rem;line-height:1.8}.detail-header{display:flex;align-items:center;gap:17px}.detail-header .avatar{width:58px;height:58px;font-size:1.25rem}.back{color:var(--muted);font-size:.8125rem;margin-bottom:22px;display:inline-flex;gap:8px;align-items:center;padding:0}.balance-panel{display:grid;grid-template-columns:230px 1fr;gap:23px;margin-bottom:24px}.wallet{background:var(--green);color:white;padding:27px;border-radius:12px}.wallet p{font-size:.875rem;color:#bed7cd}.wallet .number{font-size:2rem;margin:19px 0 21px}.wallet button{background:#ffffff18;color:white;border-color:#ffffff25;width:100%}.packages{padding:23px}.packages h2{font-size:1rem;margin-bottom:19px}.package-list{display:flex;gap:16px;flex-wrap:wrap}.package-card{border:1px solid var(--line);border-radius:9px;padding:17px 18px;min-width:220px;flex:1}.package-card h3{font-size:.9375rem;font-weight:500}.package-card .remaining{display:flex;align-items:baseline;gap:7px;margin:15px 0}.package-card .number{font-size:1.625rem;color:var(--green)}.package-card small{color:var(--muted)}.progress{height:4px;border-radius:4px;background:#eef3ef;margin:14px 0}.progress span{display:block;background:#84b49a;height:100%;border-radius:4px}.filter-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:0 24px 20px}.filter-bar label{font-size:.875rem;color:var(--muted)}.filter-bar input{max-width:160px}.filter-bar .search{min-width:240px;flex:1}.stock-low{color:#ac783d;font-weight:600}.inventory-stat{font-size:1rem;letter-spacing:0;font-weight:500}.notice{background:#f5f8f6;border-radius:8px;padding:13px 15px;font-size:.8125rem;color:#788b7f;line-height:1.8}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.report-info{padding:0 24px 20px}.pill-switch{background:#edf2ef;padding:4px;display:flex;border-radius:8px;gap:4px}.pill-switch button{padding:7px 15px;font-size:.875rem;border-radius:5px;color:var(--muted)}.pill-switch button.active{background:white;color:var(--green);box-shadow:0 1px 4px #00000009}
dialog{padding:0;border:0;box-shadow:-12px 0 60px #163a2e20;width:580px;max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;color:var(--ink);background:#fff}dialog::backdrop{background:#172b2740;backdrop-filter:blur(2px)}.dialog-shell{height:100%;display:flex;flex-direction:column}.dialog-head{padding:29px 30px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-head h2{font-size:1.375rem;font-weight:600}.dialog-head p{margin-top:8px;font-size:.875rem;color:var(--muted)}.close-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;color:var(--muted)}.close-btn:hover{background:#f1f5f2}.dialog-body{padding:25px 30px;overflow:auto;flex:1}.dialog-foot{padding:18px 30px;border-top:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center}.dialog-foot p{font-size:.75rem;color:var(--muted)}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:20px}.field label,.field-label{font-size:.875rem;font-weight:500}.field label span{font-size:.75rem;font-weight:400;color:var(--muted);margin-left:7px}input,select,textarea{border:1px solid #dfe7e1;background:#fff;border-radius:7px;padding:11px 12px;width:100%;min-height:43px;color:var(--ink);font-size:.875rem}textarea{resize:vertical;min-height:78px;line-height:1.7}input[readonly]{background:#f5f8f6;color:#637b6e}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .field{min-width:0}.choice-row{display:flex;gap:9px;margin-bottom:23px;flex-wrap:wrap}.choice{flex:1;border:1px solid var(--line);padding:12px 8px;font-size:.875rem;border-radius:7px;min-width:94px}.choice.active{background:var(--green-soft);color:var(--green);border-color:#86b6a2;font-weight:500}.section-label{font-size:.875rem;font-weight:600;border-top:1px solid var(--line);padding-top:22px;margin:6px 0 15px;display:flex;justify-content:space-between;align-items:center}.usage-row{display:grid;grid-template-columns:1fr 80px 28px;gap:9px;align-items:center;margin-bottom:10px}.usage-row button{font-size:1.25rem;color:var(--muted)}.summary-box{background:#eff6f2;border-radius:9px;padding:17px 18px;margin-top:22px;font-size:.875rem;line-height:1.9;color:#536f5f}.summary-box strong{font-weight:600;color:var(--green)}.error{color:var(--red);font-size:.875rem;line-height:1.6;background:#fff1f0;border-radius:6px;padding:10px 12px;margin-bottom:15px}.error:empty{display:none}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#203e34;color:white;border-radius:10px;box-shadow:0 8px 35px #193a2d25;padding:15px 23px;z-index:50;opacity:0;pointer-events:none;font-size:.875rem;transition:opacity .2s,transform .2s;max-width:calc(100vw - 36px);line-height:1.6}.toast.visible{opacity:1;transform:translate(-50%,0)}.storage-error{background:#fff1ef;color:#a43b3b;padding:12px 25px;font-size:.875rem;line-height:1.6}.check-line{display:flex;gap:10px;align-items:center;font-size:.875rem;margin:15px 0}.check-line input{width:17px;min-height:17px;height:17px;accent-color:var(--green)}.keyboard{font-size:.6875rem;border:1px solid #dbe3dd;border-radius:4px;padding:2px 5px;color:#9aa89f}.radio-description{font-size:.8125rem;color:var(--muted);line-height:1.6;margin-top:-12px;margin-bottom:20px}.mobile-brand{display:none}.record-void{opacity:.5;text-decoration:line-through}
@media(min-width:1500px){.workspace{padding-top:42px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 330px}.stat{padding:25px 28px}.stats{gap:22px}}
@media(max-width:1200px){.shell{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding-inline:12px}.brand{padding:0 5px;gap:8px}.brand strong{font-size:17px}.workspace{padding:28px 25px}.topbar{padding-inline:25px}.dashboard-grid{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr}.stats{gap:12px}.stat{padding:18px}.stat-value{font-size:1.625rem}td,th{padding-inline:18px}.report-grid{grid-template-columns:1fr}}
@media(max-width:760px){.shell{display:block;padding-bottom:75px}.sidebar{position:fixed;bottom:0;top:auto;height:68px;width:100%;z-index:10;border-top:1px solid var(--line);border-right:0;padding:5px 10px;background:#fffffffa}.brand,.nav-label,.sidebar-bottom{display:none}.nav{display:flex;justify-content:space-around;gap:0;height:100%}.nav button{width:25%;flex-direction:column;gap:4px;justify-content:center;font-size:.75rem;padding:6px 9px}.nav .count{display:none}.nav button.active{background:none}.topbar{height:60px;padding:0 18px}.mobile-brand{display:inline;font-weight:600;letter-spacing:.05em}.breadcrumb{display:none}.date{display:none}.topbar-right{gap:10px}.workspace{padding:24px 17px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:22px}.page-heading .actions{width:100%}.page-heading .actions .btn{flex:1}h1{font-size:1.5rem}.stats{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:20px}.stat{padding:17px 15px}.stat-value{font-size:1.55rem;margin:11px 0 8px}.stat-top{font-size:.8125rem}.stat-icon{width:25px;height:25px}.stat-icon svg{width:15px;height:15px}.stat-foot{font-size:.6875rem}.side-column{grid-template-columns:1fr}.card-heading{padding:20px 18px}.search-wrap{padding:0 18px 16px}.card-heading small{display:none}td,th{padding:16px}.table-secondary{display:none}.table-footer{padding:12px 18px}.dashboard-grid{gap:18px}.balance-panel{grid-template-columns:1fr;gap:17px}.wallet{padding:22px;display:grid;grid-template-columns:1fr auto;align-items:center}.wallet .number{margin:10px 0 0;grid-row:2}.wallet button{grid-column:2;grid-row:1/3;width:auto}.packages{padding:20px}.package-card{min-width:100%}.filter-bar{padding-inline:18px}.filter-bar .search{min-width:100%}.dialog-head{padding:24px 21px 20px}.dialog-body{padding:23px 21px}.dialog-foot{padding:16px 21px}.dialog-foot p{max-width:125px;line-height:1.6}.form-grid{gap:12px}.detail-header h1{font-size:1.4rem}.report-grid{gap:18px}.quiet-note{margin-top:18px}.badge{font-size:.6875rem}.table-action{min-width:88px}}
:root{--muted:#65766e}.person small,.activity-item small,.table-footer,.quiet-note{color:#65776d}.person small{font-size:.8125rem}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Complete daily workflow */
.detail-summary{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;margin-bottom:24px}.detail-brief{padding:26px;display:flex;flex-direction:column;gap:16px;min-width:0}.detail-brief>strong{font-size:2rem}.detail-brief p{line-height:1.7;overflow-wrap:anywhere}.detail-brief .btn{margin:4px 5px 0 0}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.rights-row{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:20px 0 7px;font-size:.875rem}.rights-row+small{display:block}.package-list{flex-wrap:wrap}.package-card{flex:1;max-width:560px;min-width:260px}.settings-tabs,.report-tabs{display:flex;gap:9px;flex-wrap:wrap}.settings-tabs{margin-bottom:20px}.settings-content{padding:0 26px 26px}.settings-content dl{display:grid;grid-template-columns:145px 1fr;gap:18px;margin:10px 0 30px;font-size:.875rem;line-height:1.7}.settings-content dt{color:var(--muted)}.settings-content dd{margin:0}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.data-grid h3{font-size:1rem}.data-grid p{font-size:.875rem;color:var(--muted);line-height:1.8;margin:12px 0 20px}.data-grid .btn{margin:0 8px 10px 0}.catalog-item,.service-line,.return-item{border:1px solid var(--line);border-radius:10px;padding:17px;margin:12px 0;background:#fcfdfc}.catalog-item .field:last-child,.service-line .field:last-child{margin-bottom:0}.service-line .row-between{margin-bottom:14px}.same-visit-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px 0;font-size:.875rem}.same-visit-row input{width:95px}.lock-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:var(--bg)}.lock-screen form{width:min(100%,380px);background:white;border:1px solid var(--line);border-radius:18px;padding:32px}.lock-screen h1{margin-top:24px}.lock-screen .field{margin-top:25px}.lock-screen .btn{width:100%;margin:0 0 12px}.actions{flex-wrap:wrap}.table-wrap td .link-btn{margin-right:8px;white-space:nowrap}.filter-bar .field{margin-bottom:0}.filter-bar{align-items:center}.detail-brief .actions .btn{flex:none}.topbar-right{flex-shrink:0}.notice{color:#526d5d}.packages>.card-heading small{color:var(--muted)}
@media(max-width:1000px){.detail-summary{grid-template-columns:1fr 1fr}.detail-summary>.detail-brief:last-child{grid-column:1/-1}.data-grid{gap:20px}}
@media(max-width:760px){.detail-summary{grid-template-columns:1fr;gap:15px}.detail-brief{padding:22px}.detail-summary>.detail-brief:last-child{grid-column:auto}.settings-content{padding:0 18px 22px}.data-grid{grid-template-columns:1fr}.settings-content dl{grid-template-columns:1fr;gap:8px}.settings-content dd{margin-bottom:12px}.package-card{min-width:100%;max-width:100%}.row-between{flex-wrap:wrap}.report-tabs{gap:6px}.report-tabs .btn{padding:7px 10px}.topbar-right{gap:8px}.topbar-right .badge{font-size:10px}.form-grid{grid-template-columns:1fr 1fr}.catalog-item,.service-line,.return-item{padding:14px}.dialog-foot p{display:none}.dialog-foot{justify-content:flex-end}.settings-tabs .btn{padding:9px 12px}.filter-bar .field{flex:1}.filter-bar .field input{max-width:none}.rights-row{align-items:flex-start}.rights-row strong{white-space:nowrap}}
.package-card .actions{gap:14px 20px}.package-card [data-action="void-order"]{flex-basis:100%;text-align:left;color:var(--muted);font-size:.75rem;margin-top:3px}
/* Payment preview */
.payment-balance{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:16px 18px;margin:0 0 18px;border:1px solid #c6ddce;border-radius:9px;background:#f3f8f5}.payment-balance>div{display:flex;flex-direction:column;gap:7px;min-width:0}.payment-balance span{font-size:.8125rem;color:#506c5c}.payment-balance strong{font-size:1.25rem;color:var(--green);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.payment-balance p{grid-column:1/-1;margin:2px 0 0;color:var(--muted);font-size:.75rem;line-height:1.65}.payment-inputs .field{margin-bottom:16px}.field-help{font-size:.75rem;color:var(--muted);line-height:1.6}.payment-summary{padding:18px;margin:0 0 22px;border:1px solid #b6d6c3;border-radius:10px;background:#eff7f2}.payment-due{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.875rem}.payment-due>strong{font-size:1.75rem;line-height:1.3;color:var(--green);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.payment-equation,.payment-after,.payment-message{font-size:.75rem;line-height:1.75;color:#506c5c;margin:10px 0 0;overflow-wrap:anywhere}.payment-after strong{font-weight:600}.payment-message:empty{display:none}.payment-summary.has-error{background:#fff6f3;border-color:#e6b3a9}.payment-summary.has-error .payment-message{color:var(--red);font-weight:500}.payment-summary.has-error .payment-due>strong{color:var(--red)}
@media(max-width:760px){.payment-balance{padding:14px;gap:10px 12px}.payment-balance strong{font-size:1.1875rem}.payment-summary{padding:15px}.payment-due{gap:9px}.payment-due>strong{font-size:1.625rem}.payment-inputs .field{gap:7px}}

/* Simplified checkout */
.checkout-price{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;color:var(--text)}.checkout-price strong{font-size:24px}.price-edit{margin-bottom:16px}.price-edit summary,.receipt-extras summary{color:#51716a;cursor:pointer;font-size:13px}.price-edit .field{margin-top:12px}.checkout-deposit{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 16px;background:#edf5f0;border-radius:10px;margin:14px 0}.checkout-deposit strong{font-size:19px;color:#27594b}.checkout-deposit small{grid-column:1/-1;color:#5d7269;line-height:1.7}.checkout-deposit[hidden],#checkout-wallet-input[hidden],#checkout-method[hidden]{display:none}.payment-balance .check-line{grid-column:1/-1;margin:6px 0 0}.payment-balance #checkout-wallet-input{grid-column:1/-1}.payment-balance .field{margin-bottom:0}.payment-balance .check-line input{width:auto}.receipt-extras{margin-top:20px}.receipt-extras[open] summary{margin-bottom:16px}.same-visit-toggle{margin-top:16px}.pending-deposits{margin-bottom:24px}.legacy-notice{margin-bottom:24px}.detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.detail-summary{grid-template-columns:1fr}.checkout-price strong{font-size:22px}.payment-due strong{font-size:30px}.choice-row{flex-wrap:wrap}.receipt-extras{margin-bottom:8px}}

.detail-summary>.detail-brief:last-child{grid-column:auto}.wallet-actions{display:flex;gap:8px}.wallet-actions .btn{flex:1}@media(max-width:760px){.detail-summary{grid-template-columns:1fr}.wallet-actions{grid-column:2;grid-row:1/3;flex-direction:column}.wallet-actions .btn{width:100%;margin:0}}

#checkout-price-note[hidden]{display:none}.checkout-price .tag{font-size:11px;margin-left:6px;vertical-align:middle}

/* Automatic consumables and actual-usage review */
.usage-guidance{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 14px}.usage-guidance p{margin:0 0 8px}.usage-guidance .actions{gap:8px;margin:10px 0}.usage-guidance .usage-warning{color:#93472a;background:#fff5ec;border:1px solid #efd9c3;border-radius:8px;padding:11px 13px}.usage-guidance .link-btn{font-size:12px}.usage-row select{min-width:0}@media(max-width:760px){.usage-guidance{font-size:12px}.usage-guidance .actions .btn{flex:1;padding:9px 10px}.usage-row input{min-width:0}}

.usage-row{grid-template-columns:minmax(0,1fr) 112px 28px;align-items:end}.usage-row label{display:flex;flex-direction:column;gap:6px;min-width:0}.usage-row label>span:first-child{font-size:12px;color:var(--muted)}.usage-amount{display:flex;align-items:center;gap:6px;min-width:0}.usage-amount input{min-width:0;width:100%}.usage-unit{font-size:12px;color:var(--muted);max-width:38px;overflow-wrap:anywhere;flex-shrink:0}.usage-row>.close-btn{margin-bottom:3px}@media(max-width:760px){.usage-row{grid-template-columns:minmax(0,1fr) 96px 24px;gap:7px}.usage-row select{padding-inline:8px}.usage-amount input{padding-inline:9px}}

/* Immediate actual-consumption feedback */
.usage-row{row-gap:7px;margin-bottom:17px}.usage-feedback{grid-column:1/-1;font-size:12px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere;margin:0}.usage-feedback[hidden],.usage-submit-hint[hidden]{display:none}
.usage-row.has-error .usage-feedback{color:#a33c3c}.usage-row [aria-invalid="true"]{border-color:#bf5656;background:#fff7f5}.usage-row [aria-invalid="true"]:focus-visible{outline-color:#bf5656}
.dialog-foot:has(.usage-submit-hint:not([hidden])){flex-wrap:wrap}.usage-submit-hint{flex-basis:100%;font-size:12px;line-height:1.6;color:#a33c3c}

/* Customer-first workspace */
.workspace-heading{margin-bottom:20px}.workspace-heading h1{font-size:1.5rem}
.customer-toolbar{display:flex;gap:14px;align-items:center;padding:22px 24px 12px}.customer-toolbar .search{flex:1;min-width:0}.customer-toolbar>.btn{flex-shrink:0}
.customer-filter{padding:0 24px 14px;display:flex;justify-content:flex-end}.customer-filter .check-line{margin:0;font-size:12px;color:var(--muted)}
.customer-table table{table-layout:fixed;white-space:normal}.customer-table th:first-child{width:26%}.customer-table th:nth-child(2){width:32%}.customer-table th:nth-child(3){width:20%}.customer-table th:last-child{width:22%}
.customer-table td,.customer-table th{padding-inline:20px}.customer-table td{padding-block:19px;overflow-wrap:anywhere}.customer-table .person{align-items:flex-start}.customer-table .person-name{line-height:1.5}.customer-table .person small{line-height:1.65}.customer-identity .person-info{min-width:0;flex:1}.customer-name-line{display:flex;align-items:center;gap:8px}.customer-name-line .person-name{min-width:0}.customer-table .customer-name-line .tag{margin-top:0;flex:none;white-space:nowrap}
.asset-values{display:flex;gap:6px 14px;flex-wrap:wrap;margin-top:9px;font-size:12px;line-height:1.7;color:var(--muted)}.asset-values strong{font-weight:500;color:#496258}.customer-latest{font-size:13px;line-height:1.6}.customer-latest small{display:block;margin-top:5px;color:var(--muted)}
.customer-actions{display:flex;gap:8px;flex-wrap:wrap}.customer-actions .btn{min-height:38px}.customer-pagination{gap:14px;flex-wrap:wrap}.pagination-controls{display:flex;gap:12px;align-items:center}.pagination-controls>span{white-space:nowrap}.pagination-controls .btn{font-size:12px}
.stock-reminder{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 24px 12px;font-size:12px;color:#916233}.stock-reminder .link-btn{font-size:12px}.bound-customer{font-weight:500}
@media(min-width:761px) and (max-width:1050px){.customer-table th:first-child{width:28%}.customer-table th:nth-child(2){width:37%}.customer-table th:nth-child(3){width:17%}.customer-table th:last-child{width:18%}.customer-table td,.customer-table th{padding-inline:14px}.customer-actions{flex-direction:column;align-items:flex-start}.customer-table .avatar{display:none}}
@media(max-width:760px){
 .nav button{width:25%}.toast{bottom:calc(86px + env(safe-area-inset-bottom, 0px))}.customer-workspace .workspace-heading{margin-bottom:16px}.customer-toolbar{padding:17px 16px 12px;gap:10px;flex-wrap:wrap}.customer-toolbar .search{flex-basis:100%}.customer-toolbar>.btn{width:100%;min-height:42px}.customer-filter{padding:0 16px 15px}.customer-filter .check-line{min-height:28px}
 .customer-table{overflow:visible}.customer-table table,.customer-table tbody{display:block}.customer-table thead{display:none}.customer-table tr{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;padding:18px 16px;border-top:1px solid var(--line)}.customer-table td{display:block;padding:0;border:0;min-width:0}.customer-table td.table-secondary{display:none}.customer-table .person{align-items:center}.customer-table .customer-assets{padding-left:51px}.customer-table .tag{white-space:normal}.customer-table .table-action{min-width:0}.customer-actions{flex-wrap:nowrap}.customer-actions .btn{flex:1;min-height:42px}.customer-pagination{padding:14px 16px;gap:13px}.pagination-controls{width:100%;justify-content:space-between;gap:6px}.stock-reminder{padding-inline:16px}.bound-customer{font-size:13px}
}

/* A quiet daily greeting below the workbench title. */
.daily-greeting{display:flex;align-items:baseline;gap:8px;margin:9px 0 0;color:#526d64;font-size:13px;line-height:1.8;max-width:100%;overflow-wrap:anywhere}
.daily-greeting[hidden]{display:none}
.greeting-spark{color:#9a713d;flex:none;font-size:15px}
.daily-greeting>span:last-child{min-width:0}
.greeting-label{color:#738078;font-size:11px;margin-right:10px;white-space:nowrap}
.greeting-setting{margin:0 0 26px;padding-top:20px;border-top:1px solid var(--line)}
.greeting-setting .check-line{margin:0;min-height:30px}
.greeting-setting .subtitle{margin-top:4px}
@media(max-width:760px){.daily-greeting{font-size:12px;gap:6px}.greeting-label{margin-right:8px}}

/* Preferences separate default values, display choices, and the lock PIN. */
.preference-group{padding:22px 0}
.preference-group:first-child{padding-top:0}
.preference-group:last-child{padding-bottom:0}
.preference-group+.preference-group{border-top:1px solid var(--line)}
.preference-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.preference-heading h3{font-size:15px;font-weight:500}
.preferences-content dl{margin:16px 0 20px;gap:10px 18px}
.preference-rules{font-size:13px;color:var(--muted)}
.preference-rules summary{cursor:pointer}
.preference-rules dl{margin-bottom:0;color:var(--ink)}
.preference-group .greeting-setting{margin:0;padding:0;border:0}
.preference-group>.field-help{margin-top:8px}
.header-lock{min-height:38px;padding:8px 10px;gap:6px;font-size:12px}
.header-lock svg{width:17px;height:17px}
@media(max-width:760px){.topbar{gap:10px}.header-lock{width:40px;height:40px;padding:0;min-height:40px}.header-lock span{display:none}.preferences-content dl{gap:5px}.preferences-content dd{margin-bottom:8px}.preference-heading{flex-wrap:wrap}}

/* Keep report shortcuts aligned with the date inputs, not their labels. */
.report-filter{padding-top:20px;align-items:flex-end;gap:12px 16px;flex-wrap:nowrap}
.report-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;flex:0 1 332px}
.report-dates .field{margin:0;min-width:0}
.report-dates input{width:100%;height:44px;min-width:0;max-width:none}
.report-shortcuts{display:flex;gap:8px;align-items:center;flex-shrink:0}
.report-shortcuts .btn{height:44px;min-height:44px;padding:10px 17px}
@media(max-width:760px){.report-filter{flex-wrap:wrap}.report-dates{width:100%;flex-basis:100%}.report-shortcuts{width:100%}.report-shortcuts .btn{flex:1}}

/* Toolbar fields should use their full hit area; counts stay on one line. */
.filter-bar .search input{max-width:none}
.report-count{flex-shrink:0;white-space:nowrap}
/* Shared-data status is shown beside the form it belongs to. */
.cloud-recovery{padding:16px;margin-bottom:18px;border:1px solid #dbb986;border-radius:12px;background:#fff8eb;color:#624723}
.cloud-recovery p{font-size:13px;line-height:1.7;margin:8px 0 12px}
#cloud-login-form{max-width:390px;width:100%;box-sizing:border-box}
#cloud-login-form .field{margin:18px 0;text-align:left}
#cloud-login-form .field input{width:100%;box-sizing:border-box}
#cloud-login-form .error{white-space:normal;overflow-wrap:anywhere}

/* Keep form actions aligned when cloud-only explanatory copy is absent. */
.dialog-foot > .actions{margin-left:auto}
.customer-more-actions{font-size:.8125rem;color:var(--green);text-align:right;flex-shrink:0}
.customer-more-actions>summary{cursor:pointer;padding:8px 0}
.customer-more-actions[open]>button{display:block;margin-left:auto}
.report-state-heading{padding:20px 24px 0;color:var(--muted);font-size:.875rem}
.report-state-heading h2{font-size:1rem;color:var(--ink);font-weight:600}
.report-amount-help{margin-left:auto;max-width:580px}
.report-amount-help>summary{cursor:pointer;color:var(--green)}
.report-amount-help p{margin-top:8px;line-height:1.8}
#refund-result-summary.has-error{background:#fff5f4;color:var(--red)}
@media(max-width:640px){.report-state-heading{padding:18px 18px 0}.report-amount-help{margin-left:0}}

/* Import previews keep each stage and confirmation readable on narrow screens. */
.import-start{min-width:0}.import-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}.import-template-link{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;white-space:normal;text-decoration:none;min-width:0;overflow-wrap:anywhere}.import-template-link span{font-size:.75rem;font-weight:400;color:var(--muted)}.data-grid .import-template-link{margin:0}.import-history{border-top:1px solid var(--line);padding-top:24px;margin-top:28px;min-width:0}.import-history>.field-help{margin:10px 0 16px}.import-history td small{display:block;margin-top:6px;white-space:nowrap}.import-history .table-wrap{border:1px solid var(--line);border-radius:9px}.import-form{min-width:0}.import-date-help{margin-top:-5px;margin-bottom:17px}.import-form #import-template{margin:0 0 20px}.import-form #import-template .import-template-link{width:100%}.import-form input[type=file]{max-width:100%;min-width:0;padding:10px;font-size:.8125rem}.import-form input[type=file]::file-selector-button{margin-right:9px;padding:7px 9px;border:0;border-radius:5px;background:var(--green-soft);color:var(--green);font:inherit}.import-preview{margin:20px 0;min-width:0;font-size:.875rem;line-height:1.7;overflow-wrap:anywhere}.import-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.import-counts>div{display:flex;flex-direction:column;gap:3px;padding:12px 7px;background:#eff6f2;border-radius:8px;text-align:center;min-width:0}.import-counts strong{font-size:1.375rem;color:var(--green)}.import-counts span{font-size:.75rem;color:var(--muted)}.import-counts .has-error{background:#fff1f0}.import-counts .has-error strong{color:var(--red)}.import-counts .has-warning{background:#fff6e8}.import-counts .has-warning strong{color:#946121}.import-facts{margin:12px 0;color:var(--muted)}.import-issues,.import-data-preview{margin:20px 0 15px}.import-issues h3,.import-data-preview h3,.import-section-title{font-size:.9375rem;margin-bottom:11px}.import-issues .table-wrap,.import-data-preview .table-wrap{border:1px solid var(--line);border-radius:8px}.import-issues table{min-width:0;table-layout:fixed}.import-issues th,.import-issues td{padding:10px 9px;white-space:normal;overflow-wrap:anywhere;vertical-align:top;font-size:.8125rem}.import-issues th:first-child{width:20%}.import-issues th:nth-child(2){width:25%}.import-data-preview .field-help{margin-top:10px}.import-data-preview th,.import-data-preview td{padding:12px 10px;font-size:.8125rem}.import-warning-confirm{padding:12px;border:1px solid #ead0a8;border-radius:8px;background:#fff8ec;align-items:flex-start;line-height:1.7}.import-warning-confirm[hidden]{display:none}.import-warning-confirm input,.import-final-confirm input{flex:0 0 17px;margin-top:4px}.import-final-confirm{align-items:flex-start;line-height:1.7}.import-batch-summary{padding:16px;background:#f4f8f5;border-radius:9px;margin-bottom:22px;overflow-wrap:anywhere}.import-batch-summary h3{font-size:1rem;margin-bottom:10px}.import-batch-summary p{font-size:.875rem;line-height:1.7;margin-top:5px}.import-undo-note{margin:20px 0 15px}.import-undo-note+.btn{width:100%}
@media(max-width:640px){.import-form>.form-grid{grid-template-columns:1fr}.import-form>.form-grid .field{margin-bottom:9px}.import-counts{gap:6px}.import-counts>div{padding:11px 4px}.import-counts span{font-size:.6875rem}.import-template-grid{grid-template-columns:1fr}.import-history .preference-heading{gap:8px}.import-history .preference-heading span{font-size:.8125rem}.import-issues th,.import-issues td{padding:9px 6px}.import-history .table-wrap{max-width:100%}}
/* Follow-ups stay inside the customer workflow and use compact due reminders. */
.followup-card{margin-bottom:24px;min-width:0}.followup-card .card-heading{gap:12px;flex-wrap:wrap}.followup-card h2 small{font-weight:400;margin-left:8px;color:var(--muted);font-size:12px}.followup-list{min-width:0}.followup-row{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:17px 24px;border-top:1px solid var(--line)}.followup-info{min-width:0;flex:1;overflow-wrap:anywhere}.followup-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.followup-title strong{font-size:14px;font-weight:500}.followup-info p{font-size:12px;line-height:1.8;margin-top:6px}.followup-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}.followup-actions .link-btn{padding:8px}.followup-customer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.followup-customer .muted{font-size:12px}.followup-empty{padding:0 24px 22px;font-size:13px;color:var(--muted);line-height:1.8}.followup-history{border-top:1px solid var(--line)}.followup-history>summary{padding:15px 24px;color:var(--muted);font-size:13px;cursor:pointer}.followup-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:#f1f6f2;border-radius:9px;font-size:13px}.followup-summary>div{display:flex;gap:16px;flex-wrap:wrap}.followup-summary strong{font-weight:500;color:var(--green)}.followup-overdue{color:#a15f2d}#followup-workbench{margin:0 24px 18px}#followup-workbench[hidden],#followup-due-list[hidden]{display:none}#followup-due-list{border:1px solid var(--line);border-radius:9px;margin-top:10px;max-height:480px;overflow:auto}#followup-due-list .followup-row{padding:16px}#followup-due-list .followup-row:first-child{border-top:0}.followup-shortcut{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:12px;background:#f4f7f4;border-radius:8px;font-size:13px;line-height:1.8}.followup-shortcut>div{display:flex;gap:16px;flex-shrink:0}.followup-card>.followup-shortcut{margin:0 24px 16px}.followup-nodes{border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:6px 0 12px;min-width:0}.followup-nodes legend{padding:0 6px;font-size:13px;font-weight:500}.followup-node{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 12px;align-items:center;padding:10px 0}.followup-node .check-line{margin:0;font-size:14px}.followup-node input[type=date]{width:100%;min-width:0}.followup-node-help{grid-column:2;color:var(--muted);font-size:12px;line-height:1.7}.followup-node-help:empty{display:none}.followup-node.has-error .followup-node-help,.field-help.has-error{color:var(--red)}.followup-node [aria-invalid=true],input[name="新回访日期"][aria-invalid=true]{border-color:#bf5656;background:#fff7f5}.followup-context{padding:14px 16px;background:#f3f7f4;border-radius:9px;line-height:1.8;margin-bottom:20px;overflow-wrap:anywhere}.followup-context strong{font-size:14px;font-weight:500}.followup-context p{font-size:13px;color:var(--muted)}#followup-form-hint{margin-bottom:20px;line-height:1.7}
@media(max-width:760px){.followup-row{padding:16px;flex-direction:column;align-items:stretch;gap:12px}.followup-actions{justify-content:flex-start}.followup-actions .btn{min-height:40px}.followup-empty{padding:0 16px 18px}.followup-history>summary{padding:14px 16px}#followup-workbench{margin:0 16px 16px}.followup-summary{align-items:flex-start}.followup-summary>div{gap:5px 12px}.followup-summary>.link-btn{white-space:nowrap}.followup-shortcut{flex-direction:column;align-items:flex-start;gap:5px}.followup-card>.followup-shortcut{margin:0 16px 14px}.followup-node{grid-template-columns:88px minmax(0,1fr);gap:5px 8px}.followup-nodes{padding:8px 12px}.followup-customer{gap:5px 10px}}

/* Bilingual wordmark: Chinese primary, English secondary. */
.brand-name{display:flex;flex-direction:column;gap:5px}
.brand-name strong{line-height:1.2}
.brand-name small{margin:0;font-size:10px;letter-spacing:.2em;line-height:1.2}
.mobile-brand{align-items:baseline;gap:7px;white-space:nowrap}
.mobile-brand strong{font-size:16px;font-weight:600;letter-spacing:.08em}
.mobile-brand small{font-size:10px;font-weight:500;color:var(--muted);letter-spacing:.12em}
.lock-screen h1.brand-heading{display:flex;flex-direction:column;gap:6px;margin:24px 0 0;font-size:28px;font-weight:600;line-height:1.25;letter-spacing:.12em}
.brand-heading small{font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.24em}
.brand-subtitle{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
body.cloud-mode{display:flex;flex-direction:column;min-height:100dvh}
.cloud-mode #app{flex:1}
.cloud-mode .shell,.cloud-mode .lock-screen{min-height:calc(100dvh - 48px)}
.site-footer{padding:16px 24px;text-align:center;font-size:12px;line-height:16px;color:var(--muted)}
.site-footer[hidden]{display:none}
.site-footer a{color:inherit;text-decoration:none;text-underline-offset:3px}
.site-footer a:hover{text-decoration:underline}
@media(min-width:761px){.cloud-mode .sidebar{height:calc(100dvh - 48px)}}
@media(max-width:760px){.cloud-mode:not(.cloud-login) .shell{min-height:calc(100dvh - 116px - env(safe-area-inset-bottom));padding-bottom:0}.cloud-mode:not(.cloud-login) .site-footer{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}
@media(max-width:760px){.mobile-brand{display:inline-flex}}
