@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef3ef;--ink:#0b1a13;--muted:#617167;--line:#d8e2da;--surface:#fff;--surface-soft:#f7faf6;--teal:#10856f;--teal-dark:#0b604f;--amber:#c47614;--red:#c94c3e;--blue:#237891;--shadow:0 14px 28px #122a201a;background:var(--bg);color:var(--ink);font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:linear-gradient(180deg, #09291f 0, #154837 178px, transparent 178px), var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border-radius:8px;padding:0 13px;font-weight:700}button.primary{border-color:var(--teal-dark);background:var(--teal);color:#fff}button.danger{color:var(--red);border-color:#c94c3e47}button.ghost{color:#fff;background:#ffffff24;border-color:#ffffff3d}button:disabled{opacity:.45;cursor:not-allowed}.button-link{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;padding:0 13px;font-weight:700;text-decoration:none;display:inline-flex}.button-link.primary{border-color:var(--teal-dark);background:var(--teal);color:#fff}.button-link.ghost{color:#fff;background:#ffffff24;border-color:#ffffff3d}.button-link.disabled{opacity:.45;pointer-events:none}input,select,textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:9px 11px}textarea{resize:vertical;min-height:88px}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #10856f21}.shell{width:min(100%,620px);min-height:100vh;padding:max(10px, env(safe-area-inset-top)) 10px calc(94px + env(safe-area-inset-bottom));margin:0 auto}.topbar{color:#fff;justify-content:space-between;align-items:center;gap:10px;min-height:58px;display:flex}.brand{align-items:center;gap:9px;min-width:0;display:flex}.brand-mark{background:#ffffff21;border:1px solid #ffffff52;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.brand h1,.section-title h2{margin:0;font-size:18px}.brand p,.section-title p,.muted{color:var(--muted);margin:0;font-size:12px}.topbar .brand p{color:#ffffffb8}.panel,.card,.bottom-bar{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.panel{margin-bottom:10px;padding:12px}.sticky-panel{z-index:3;position:sticky;top:0}.tabs,.chips,.toolbar,.row-actions{gap:8px;display:flex;overflow-x:auto}.tabs{margin:6px 0 12px}.tabs button,.chips button{white-space:nowrap;box-shadow:none}.tabs button.active,.chips button.active{border-color:var(--teal);color:var(--teal-dark);background:#e6f3ef}.data-freshness{color:#ffffffc7;justify-content:space-between;align-items:center;gap:8px;margin:-4px 0 10px;padding:0 2px;font-size:12px;display:flex}.data-freshness small{color:#ffd79a;text-align:right;font-size:11px}.data-freshness.warn span{color:#fff2d4}.filters{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.card-list{gap:9px;display:grid}.card{padding:12px}.card-head,.line-editor,.metric-grid,.kv{gap:8px;display:grid}.card-main,.section-title,.line-editor,.request-row,.po-line,.bottom-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-main h3{margin:0 0 3px;font-size:15px}.card-main p,.po-line span,.request-row span{color:var(--muted);margin:0;font-size:12px}.pill{border:1px solid var(--line);background:var(--surface-soft);max-width:145px;min-height:24px;color:var(--teal-dark);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;padding:0 8px;font-size:11px;font-weight:800;display:inline-flex;overflow:hidden}.pill.warn{color:var(--amber);background:#c4761414}.pill.danger{color:var(--red);background:#c94c3e14}.kv{grid-template-columns:repeat(3,1fr);margin:10px 0}.kv div,.metric{background:var(--surface-soft);border:1px solid #e6eee8;border-radius:8px;min-width:0;padding:8px}.kv dt,.metric span{color:var(--muted);font-size:11px}.kv dd,.metric strong{margin:2px 0 0;font-size:14px;font-weight:800;display:block}.metric-grid{grid-template-columns:repeat(3,1fr);margin-bottom:10px}.metric-button{text-align:left;min-height:78px}.metric-button strong{color:var(--ink)}.metric-button.active{border-color:var(--teal);background:#e6f3ef}.home-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.secondary-actions{background:#f8fbf9}.secondary-action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.secondary-action-grid button{min-height:42px;padding:8px 10px;font-size:13px}.supplier-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.supplier-invoice-panel{background:#e6f3ef;border:1px solid #10856f33;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:flex}.supplier-invoice-panel.muted{background:var(--surface-soft);border-color:#e7eee9}.supplier-invoice-panel div{gap:3px;min-width:0;display:grid}.supplier-invoice-panel strong{color:var(--ink);font-size:13px}.supplier-invoice-panel span{color:var(--muted);font-size:12px}.supplier-invoice-panel button{flex:none}.supplier-contact{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;gap:3px;margin-top:10px;padding:9px;display:grid}.supplier-contact span,.supplier-contact small{color:var(--muted);font-size:12px}.supplier-contact strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px}.account-panel .kv dd{overflow-wrap:anywhere}.permission-matrix{gap:8px;margin-top:10px;display:grid}.permission-row{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:8px;padding:8px;display:grid}.permission-row>span{color:var(--muted);text-align:center;background:#edf2ee;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.permission-row.enabled>span{color:var(--teal-dark);background:#dff1ec}.permission-row strong,.permission-row small{display:block}.permission-row strong{color:var(--ink);font-size:13px}.permission-row small{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;font-size:11px}.contact-actions{margin:10px 0 0}.issue-filters{margin-top:10px}.issue-card{gap:10px;display:grid}.danger-card{border-color:#c94c3e52}.copy-box{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;gap:8px;padding:10px;display:grid}.copy-box code{color:var(--ink);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;display:block}.import-helper{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;gap:5px;margin:10px 0;padding:9px;display:grid}.import-helper code{color:var(--ink);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.import-helper span,.import-issues span{color:var(--muted);font-size:12px}.import-textarea{min-height:180px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.import-issues{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;gap:5px;margin:10px 0;padding:9px;display:grid}.import-issues.danger{background:#c94c3e12;border-color:#c94c3e3d}.import-issues.warn{background:#c4761412;border-color:#c476143d}.import-issue-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.import-issue-row button{min-height:32px;padding:5px 8px;font-size:12px}.import-focus{background:#2b755b14;border:1px solid #2b755b3d;border-radius:8px;gap:6px;margin:10px 0;padding:9px;display:grid}.import-focus code{color:var(--ink);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.import-issues.danger strong,.import-issues.danger span{color:var(--red)}.import-row{align-items:flex-start}.quote-editor{border-top:1px solid #edf2ee;gap:8px;margin-top:10px;padding-top:10px;display:grid}.quote-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quote-grid label{gap:5px;display:grid}.quote-grid .full-button,.quote-grid .note-text{grid-column:1/-1}.quote-options{gap:7px;margin:8px 0;display:grid}.quote-options button{text-align:left;height:auto;min-height:58px;box-shadow:none;gap:3px;padding:8px 10px;display:grid}.quote-options button.active{border-color:var(--teal);background:#e6f3ef}.quote-options strong,.quote-options span,.quote-options small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.quote-options span,.quote-options small{color:var(--muted);font-size:12px}.manual-copy{background:#c4761414;border:1px solid #c476143d;border-radius:8px;gap:8px;margin-bottom:10px;padding:10px;display:grid}.manual-copy textarea{min-height:150px;font-size:12px}.confirm-backdrop{z-index:20;padding:14px 10px calc(14px + env(safe-area-inset-bottom));background:#0b1a136b;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.confirm-sheet{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:min(100%,620px);padding:12px;box-shadow:0 18px 42px #0b1a1338}.confirm-sheet .section-title{align-items:flex-start}.confirm-sheet .section-title p{margin-top:4px;font-size:13px;line-height:1.55}.confirm-sheet .toolbar{margin-top:12px}.confirm-sheet .toolbar button{flex:1}button.danger-confirm{border-color:var(--red);background:var(--red);color:#fff}.draft-strip{background:#e6f3ef;border:1px solid #10856f2e;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.draft-strip span{color:var(--teal-dark);font-size:12px;font-weight:800}.draft-actions{flex:none;gap:6px;display:flex;overflow-x:auto}.draft-actions button{white-space:nowrap;min-height:36px;padding:0 9px}.compact-list{gap:8px;margin-top:10px;display:grid}.compact-row,.card-footer,.cart-line-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.compact-row{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;padding:8px}.compact-row>div,.cart-line-head>div{min-width:0}.compact-row strong,.cart-line-head strong{font-size:13px;display:block}.compact-row span,.cart-line-head span,.note-text{color:var(--muted);font-size:12px;display:block}.stepper{grid-template-columns:44px minmax(70px,1fr) 44px;align-items:center;gap:6px;display:grid}.line-editor{border-bottom:1px solid #edf2ee;padding:9px 0}.line-editor:last-child{border-bottom:0}.line-editor>div{flex:1;min-width:0}.line-editor strong{font-size:13px;display:block}.line-editor span{color:var(--muted);font-size:11px;display:block}.line-editor input{text-align:right;width:78px}.remove-line-button{width:100%;min-height:38px;margin-top:8px}.attention{border-color:#c4761457}.field-block{gap:5px;margin:8px 0;display:grid}.card-footer{align-items:flex-end}.card-footer .muted{min-width:0}.full-button{width:100%}.action-row,.action-panel{margin-top:10px}.cart-line,.receive-line,.supplier-block{gap:8px;display:grid}.cart-line{border-top:1px solid #edf2ee;padding:10px 0}.cart-line:first-of-type{border-top:0}.split-stack{gap:10px;display:grid}.list-card{text-align:left;justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:9px 10px;display:flex}.list-card.active{border-color:var(--teal);background:#e6f3ef}.list-card span{min-width:0}.list-card strong,.list-card small{display:block}.list-card small{color:var(--muted);font-size:12px}.list-card b{white-space:nowrap;font-size:13px}.detail-card{gap:10px;display:grid}.strong-line{background:#e6f3ef;border-color:#10856f2e}.request-summary{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px;display:grid}.request-summary div{min-width:0}.request-summary span,.request-summary strong{display:block}.request-summary span{color:var(--muted);font-size:11px}.request-summary strong{color:var(--ink);overflow-wrap:anywhere;font-size:12px}.order-summary{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px;display:grid}.order-summary div{min-width:0}.order-summary span,.order-summary strong{display:block}.order-summary span{color:var(--muted);font-size:11px}.order-summary strong{color:var(--ink);overflow-wrap:anywhere;font-size:12px}.receive-lines{gap:10px;display:grid}.receiving-queue{margin-bottom:10px}.compact-empty{min-height:0;padding:10px}.receive-line{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;padding:10px}.receive-line.has-diff{background:#c476140f;border-color:#c476145c}.line-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.line-quick-actions button{min-height:34px;padding:0 6px;font-size:12px}.empty,.alert{border:1px dashed var(--line);color:var(--muted);text-align:center;background:#ffffffb3;border-radius:8px;padding:14px;font-size:13px}.readonly-state{text-align:left;gap:3px;margin-top:10px;display:grid}.readonly-state strong{color:var(--ink)}.readonly-state span{color:var(--muted);font-size:12px}.readonly-state.muted-state{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;padding:9px}.state-panel{place-items:start;gap:10px;display:grid}.state-mark{background:var(--surface-soft);min-width:74px;height:32px;color:var(--teal-dark);border-radius:8px;place-items:center;padding:0 10px;font-size:12px;font-weight:900;display:inline-grid}.state-mark.warn{color:var(--amber);background:#c476141a}.state-mark.danger{color:var(--red);background:#c94c3e1a}.alert{text-align:left;margin-bottom:10px}.alert.error{color:var(--red);border-color:#c94c3e3d}.alert.notice{color:var(--teal-dark);border-color:#10856f3d}.alert.warn{color:var(--amber);border-color:#c476143d;gap:3px;display:grid}.alert.warn span{font-size:12px}.load-warning-panel{gap:8px}.load-warning-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.load-warning-title div,.load-warning-list{gap:3px;min-width:0;display:grid}.link-button{min-height:28px;color:var(--teal-dark);box-shadow:none;background:0 0;border:0;justify-self:start;padding:0;font-weight:800}.readiness{justify-content:space-between;align-items:center;gap:10px;display:flex}.readiness div{gap:3px;min-width:0;display:grid}.readiness button{flex:none}.permission-empty{border-color:#c94c3e2e}.permission-list{color:var(--muted);gap:6px;margin:10px 0;font-size:13px;display:grid}.bottom-bar{z-index:5;width:min(100%,620px);padding:10px 10px calc(10px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-summary{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:0}.bottom-bar strong,.bottom-summary strong{display:block}.bottom-bar span,.bottom-summary span{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.login-card{margin-top:18px}.form-grid{gap:10px;display:grid}.mode-switch{grid-template-columns:1fr 1fr;gap:8px;display:grid}.link-meta{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.po-lines{gap:6px;margin-top:10px;display:grid}.po-line{background:var(--surface-soft);border:1px solid #e7eee9;border-radius:8px;padding:8px}.po-line.line-pending{background:#fff9ea;border-color:#f1d08a}.po-line.line-warning{background:#fff4f4;border-color:#f0b8b8}.po-line.line-complete{background:#f3fbf6;border-color:#b9dcc7}.po-line>strong,.po-line>.pill{flex-shrink:0}.po-line span small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.line-discrepancy{width:100%;color:var(--amber);flex-wrap:wrap;grid-column:1/-1;gap:6px;margin-top:4px;font-size:12px;display:flex}.line-discrepancy span{background:#c4761414;border:1px solid #c476143d;border-radius:6px;padding:2px 6px}.line-discrepancy a{color:var(--blue);margin-left:5px;font-weight:700}.discrepancy-summary{background:#c4761414;border:1px solid #c476143d;border-radius:8px;gap:3px;padding:9px;display:grid}.discrepancy-summary strong{color:var(--amber);font-size:13px}.discrepancy-summary span{color:var(--ink);font-size:12px}.receive-grid{gap:8px;margin-top:10px;display:grid}@media (width>=560px){.filters,.receive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-stack{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:start}}
