:root{--teal:#0d8791;--teal-dark:#086873;--teal-soft:#e8f5f5;--ink:#183039;--muted:#6f8289;--line:#d7e1e3;--paper:#fff;--bg:#f2f6f7;--red:#d84848;--amber:#f0a43b;--shadow:0 16px 40px rgba(19,59,67,.14)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px}button,input,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{height:72px;background:linear-gradient(115deg,#168995,#0a747f);color:#fff;display:flex;align-items:center;padding:0 24px;gap:28px;position:fixed;inset:0 0 auto 0;z-index:20;box-shadow:0 2px 12px rgba(0,59,65,.2)}.identity{display:flex;align-items:center;gap:12px;min-width:250px}.identity-logo,.brand-mark{width:46px;height:46px;border-radius:13px;background:#e9f4ed;color:var(--teal);display:grid;place-items:center;font-size:23px;font-weight:800;box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}.identity div:last-child{display:flex;flex-direction:column}.identity strong{font-size:17px}.identity span{font-size:12px;opacity:.75;margin-top:2px}.topnav{display:flex;align-self:stretch}.topnav button{border:0;background:transparent;color:#fff;min-width:84px;padding:9px 16px;opacity:.8;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}.topnav button span{font-size:24px}.topnav button.active,.topnav button:hover{background:rgba(255,255,255,.12);opacity:1}.global-search{margin-left:auto;display:flex;background:rgba(255,255,255,.95);border-radius:7px;overflow:hidden;width:min(330px,28vw)}.global-search input{border:0;background:transparent;padding:10px 12px;min-width:0;flex:1;outline:none}.global-search button{border:0;background:transparent;color:var(--teal);font-size:22px;padding:0 12px}.link-button{background:transparent;color:#fff;border:0;opacity:.8}.mobile-menu{display:none;border:0;background:transparent;color:white;font-size:24px}.sidebar{position:fixed;left:0;top:72px;bottom:0;width:220px;background:#fff;border-right:1px solid var(--line);padding:20px 14px;z-index:15;overflow:auto}.side-title{padding:8px 12px 6px;color:#9aabad;font-size:12px;letter-spacing:.12em}.side-link{width:100%;border:0;background:transparent;border-radius:8px;padding:12px 13px;display:flex;align-items:center;gap:10px;color:#53676e;text-align:left}.side-link span{width:22px;color:#6b8b90}.side-link:hover,.side-link.active{background:var(--teal-soft);color:var(--teal-dark);font-weight:700}.side-stats{margin:28px 6px 0;border-top:1px solid var(--line);padding-top:16px}.side-stats div{display:flex;justify-content:space-between;padding:6px;color:var(--muted);font-size:13px}.side-stats strong{color:var(--ink)}.main{margin-left:220px;padding:98px 26px 36px;min-height:100vh}.view{display:none;max-width:1540px;margin:0 auto}.view.active{display:block}.view-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.view-head h2{font-size:26px;margin:2px 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-size:12px;margin:0;font-weight:700}.bill-meta{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:13px}.bill-meta strong{color:var(--ink)}.bill-meta label,.filterbar label{display:flex;align-items:center;gap:7px}.sale-toolbar,.filterbar{background:#fff;border:1px solid var(--line);padding:14px;border-radius:10px;display:flex;align-items:center;gap:14px;box-shadow:0 2px 10px rgba(20,57,64,.04)}.segmented{display:flex;background:#eef3f4;border-radius:8px;padding:3px}.segmented button{border:0;background:transparent;padding:9px 15px;border-radius:6px;color:#65787f}.segmented button.active{background:#fff;color:var(--teal-dark);font-weight:700;box-shadow:0 1px 5px rgba(0,0,0,.08)}.autocomplete{position:relative}.customer-picker{display:flex;align-items:center;gap:10px;flex:1}.customer-picker label{font-weight:700;white-space:nowrap}.customer-picker input{flex:1;max-width:560px}.suggestions{position:absolute;top:48px;left:88px;width:min(680px,calc(100vw - 400px));background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);z-index:30;max-height:360px;overflow:auto}.suggestion{padding:11px 13px;border-bottom:1px solid #edf1f2;display:flex;justify-content:space-between;gap:14px}.suggestion:hover{background:var(--teal-soft)}.suggestion strong{display:block}.suggestion small{color:var(--muted)}.customer-chip{margin:10px 0 0;padding:9px 13px;border-left:4px solid var(--teal);background:#f1f8f8;border-radius:5px;color:#52666d}.customer-chip strong{color:var(--ink)}input,textarea{border:1px solid #cbd8da;border-radius:6px;padding:9px 10px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,135,145,.12)}.grid-wrap{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:auto;margin-top:14px}.order-grid,.data-table{border-collapse:collapse;width:100%;min-width:980px}.order-grid th,.data-table th{height:44px;background:#f2f7f7;color:#486067;font-weight:700;text-align:center;border-bottom:1px solid var(--line);font-size:14px;white-space:nowrap}.order-grid td,.data-table td{border-bottom:1px solid #e4eaeb;padding:8px 7px;text-align:center;font-size:14px}.order-grid tbody tr:hover,.data-table tbody tr:hover{background:#f8fbfb}.order-grid input{width:100%;min-width:76px;padding:7px 8px;border-color:transparent;background:transparent}.order-grid input:focus{background:#fff;border-color:var(--teal)}.order-grid .product-search{min-width:260px}.order-grid .row-product{position:relative;text-align:left}.product-popover{position:absolute;left:0;right:0;top:42px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);z-index:25;max-height:310px;overflow:auto;border-radius:7px}.product-option{padding:9px 10px;border-bottom:1px solid #edf1f2;display:grid;grid-template-columns:1fr auto;gap:4px}.product-option:hover{background:var(--teal-soft)}.product-option small{color:var(--muted)}.line-col{width:58px}.product-col{min-width:310px}.remove-row{border:0;background:transparent;color:#b47777;font-size:20px}.price-history{color:var(--teal-dark);font-weight:700}.add-row{margin-top:8px;border:1px dashed #9ebfc2;background:#f5fbfb;color:var(--teal-dark);border-radius:7px;padding:9px 16px}.sale-footer{margin-top:14px;display:grid;grid-template-columns:1fr 360px;gap:16px}.notes-block,.total-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px}.notes-block>label{display:grid;grid-template-columns:55px 1fr;align-items:start;gap:8px}.inline-fields{display:flex;gap:12px;margin-top:12px}.inline-fields label{display:flex;align-items:center;gap:8px;flex:1}.inline-fields input{min-width:0;width:100%}.total-card div{display:flex;justify-content:space-between;padding:8px 0}.total-card span{color:var(--muted)}.total-card strong{font-size:18px}.total-card .grand{border-top:1px solid var(--line);margin-top:5px;padding-top:13px}.total-card .grand strong{font-size:26px;color:var(--red)}.actionbar{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.primary,.secondary,.ghost,.accent{border-radius:7px;padding:10px 17px;border:1px solid transparent}.primary{background:var(--teal);color:#fff}.primary:hover{background:var(--teal-dark)}.secondary{background:#fff;color:var(--teal-dark);border-color:#9ec8cb}.secondary:disabled{opacity:.5;cursor:not-allowed}.ghost{background:transparent;color:#60747b;border-color:var(--line)}.accent{background:#ec9c37}.wide{width:100%}.filterbar input:first-child{min-width:330px}.summary-row{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:14px 0}.summary-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.summary-card span{display:block;color:var(--muted);font-size:13px}.summary-card strong{display:block;font-size:24px;margin-top:4px}.data-table td{text-align:left;padding:11px 12px}.money{text-align:right!important;font-variant-numeric:tabular-nums}.negative{color:var(--red)}.source-badge{font-size:12px;padding:3px 7px;border-radius:10px;background:#eef3f4;color:#61767d}.source-badge.web{background:#e7f5f1;color:#0a7d67}.table-status{padding:12px;color:var(--muted);font-size:13px}.drawer-backdrop{position:fixed;inset:0;background:rgba(8,33,38,.22);z-index:38}.drawer{position:fixed;right:-650px;top:0;bottom:0;width:min(620px,92vw);background:#fff;z-index:40;box-shadow:-12px 0 36px rgba(0,0,0,.16);transition:right .24s ease;padding:24px;overflow:auto}.drawer.open{right:0}.drawer-head,.dialog-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px}.drawer-head h3,.dialog-head h3{margin:2px 0;font-size:22px}.drawer-head button,.dialog-head button{border:0;background:transparent;font-size:27px;color:#64777d}.history-summary{margin:14px 0;padding:12px;background:var(--teal-soft);border-radius:8px}.history-item{padding:13px 4px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:6px}.history-item strong{display:block}.history-item span,.history-item small{color:var(--muted)}.history-item .history-price{color:var(--teal-dark);font-size:18px;font-weight:800}.detail-dialog,.print-dialog{border:0;border-radius:12px;box-shadow:var(--shadow);padding:22px;max-width:min(1100px,94vw);width:100%}.detail-dialog::backdrop,.print-dialog::backdrop{background:rgba(9,35,40,.36)}.detail-dialog table{margin-top:15px}.print-dialog{max-width:min(1260px,96vw)}.print-sheet{background:#fff;color:#111;padding:20px;margin:18px auto 0;border:1px solid #d9d9d9;min-height:560px}.print-head{text-align:center;position:relative}.print-head h2{font-family:"SimSun","宋体",serif;font-size:28px;margin:4px 0 12px}.print-logo{position:absolute;right:0;top:0;width:110px}.print-info{display:grid;grid-template-columns:80px 1fr 60px 180px;text-align:left;border-bottom:1px solid #222;padding:8px 0}.print-table{width:100%;border-collapse:collapse}.print-table th,.print-table td{border:1px solid #111;padding:7px;font-size:13px}.print-table th{text-align:center}.print-total{display:grid;grid-template-columns:auto 1fr auto 190px;border:1px solid #111;border-top:0;padding:8px}.print-contact{display:grid;grid-template-columns:auto 1fr auto 1fr;padding:10px 0}.print-note{white-space:pre-wrap;font-size:12px;line-height:1.7;border-top:1px solid #777;padding-top:8px}.login-layer{position:fixed;inset:0;background:linear-gradient(135deg,#0b737d,#0a5661);display:grid;place-items:center;z-index:100}.login-card{width:min(390px,90vw);background:#fff;border-radius:16px;padding:30px;box-shadow:0 28px 65px rgba(0,0,0,.25);display:grid;gap:18px}.login-card .brand-mark{width:60px;height:60px;font-size:28px}.login-card h1{margin:0}.login-card p{color:var(--muted);margin:5px 0}.login-card label{display:grid;gap:7px}.form-error{color:var(--red);min-height:22px}.toast{position:fixed;right:24px;bottom:24px;background:#183d43;color:#fff;padding:12px 17px;border-radius:8px;box-shadow:var(--shadow);z-index:80}.toast.error{background:#a63636}@media(max-width:980px){.mobile-menu{display:block}.identity{min-width:auto}.identity div:last-child{display:none}.topnav{display:none}.global-search{width:auto;flex:1}.sidebar{transform:translateX(-100%);transition:transform .22s}.sidebar.open{transform:translateX(0)}.main{margin-left:0;padding-inline:14px}.sale-footer{grid-template-columns:1fr}.summary-row{grid-template-columns:repeat(2,1fr)}.bill-meta>span,.bill-meta>strong{display:none}}@media(max-width:640px){.topbar{padding:0 12px;gap:9px}.global-search{display:none}.main{padding-top:88px}.view-head{align-items:flex-start}.bill-meta{display:block}.bill-meta label{margin-top:6px}.sale-toolbar,.filterbar{align-items:stretch;flex-direction:column}.customer-picker{display:grid}.suggestions{left:0;top:76px;width:100%}.inline-fields{flex-direction:column}.summary-row{grid-template-columns:1fr}.actionbar{position:sticky;bottom:0;background:rgba(242,246,247,.95);padding:9px 0;overflow:auto}.actionbar button{white-space:nowrap}.filterbar input:first-child{min-width:0}.print-sheet{transform-origin:top left}}@media print{body{background:#fff}.no-print{display:none!important}.print-dialog{position:static!important;display:block!important;width:100%;max-width:none;padding:0;box-shadow:none}.print-dialog::backdrop{display:none}.print-sheet{border:0;margin:0;padding:0}.app-shell,.login-layer,.toast{display:none!important}}
