:root{--brand-500:#ef4b43;--brand-600:#e2231a;--brand-700:#b81c15;--bg:#f4f6fb;--surface:#fff;--surface-2:#f8fafc;--border:#e6e9f0;--text:#0d2340;--muted:#566d8c;--faint:#8ea3bf;--ok:#059669;--ok-bg:#d1fae5;--warn:#b45309;--warn-bg:#fef3c7;--danger:#dc2626;--btn-in:#0a8f5f;--btn-out:#cf7a12;--r:14px;--shadow:0 1px 3px #0f172a14;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:19px;--fs-xl:24px}:root[data-theme=dark]{--brand-500:#ef4b43;--brand-600:#e2231a;--brand-700:#b81c15;--bg:#0d2340;--surface:#12284c;--surface-2:#0f2647;--border:#24406a;--text:#eaf1fb;--muted:#9db3d1;--faint:#6982a3;--ok:#34d399;--ok-bg:#063a2e;--warn:#fbbf24;--warn-bg:#40300a;--shadow:0 1px 3px #00000080}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:15px}h1,h2,h3{letter-spacing:-.01em;margin:0}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.app{height:100vh;background:var(--bg);flex-direction:column;max-width:520px;height:100dvh;margin:0 auto;display:flex}.hdr{padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;display:flex}.hdr .brand-mark{background:linear-gradient(135deg, var(--brand-500), var(--brand-700));color:#fff;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.hdr h1{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;overflow:hidden}.hdr .sub{color:var(--faint);font-size:12px}.hdr-brand{min-width:0}.hdr-logo{object-fit:contain;background:#fff;border-radius:8px;flex:none;width:30px;height:30px}.hdr .right{align-items:center;gap:4px;margin-left:auto;display:flex}.hdr-theme{width:44px;height:44px;color:var(--text);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex}.hdr-sync{width:44px;height:44px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;display:inline-flex;position:relative}.hdr-sync.active{color:var(--brand-600)}.hdr-sync.offline{color:var(--faint)}.hdr-sync-badge{box-sizing:border-box;background:var(--brand-600);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:3px;right:3px}.hdr-sync-dot{background:var(--warn);border:1.5px solid var(--surface);border-radius:50%;width:8px;height:8px;position:absolute;bottom:7px;right:8px}.content{padding:14px 14px calc(24px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.tabbar{border-top:1px solid var(--border);background:var(--surface);padding:0 6px env(safe-area-inset-bottom);display:flex}.tab{color:var(--muted);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:9px 0 10px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.tab.active{color:var(--brand-600)}.muted-note{text-align:center;margin-top:16px;font-size:13px}.tab-ic{display:flex;position:relative}.tab-count{background:var(--warn);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-6px;left:14px}.section-title{letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin:6px 2px 10px;font-size:12px;font-weight:700}.cust{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);text-align:left;width:100%;font:inherit;color:inherit;align-items:flex-start;gap:12px;margin-bottom:10px;padding:13px 14px;display:flex}.cust .ic{background:var(--surface-2);width:40px;height:40px;color:var(--brand-600);border-radius:11px;flex:none;place-items:center;display:grid}.cust .body{flex:1;min-width:0}.cust .name{white-space:normal;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.cust .meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12.5px;overflow:hidden}.cust .meta.reject-note{color:var(--danger);white-space:normal}.cust .meta.live{white-space:normal}.cust .ic,.cust .po-chk{margin-top:1px}.cust-wrap{margin-bottom:10px}.cust-wrap .cust{margin-bottom:0}.body-tap{cursor:pointer}.caret{border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--muted);vertical-align:middle;width:0;height:0;margin-left:3px;transition:transform .15s;display:inline-block}.caret.open{transform:rotate(180deg)}.visit-acc{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);margin-top:6px;padding:10px 12px}.visit-acc-head{color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:12.5px;display:flex}.visit-acc-head b{color:var(--text);font-size:14px}.visit-acc-head.sum-sub{padding-left:14px}.visit-acc-head.sum-sub b{font-size:13px;font-weight:500}.visit-acc-empty{color:var(--muted);font-size:12.5px}.visit-acc-row{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding:7px 0;display:flex}.visit-acc-row .l{min-width:0}.visit-acc-row .r{text-align:right;flex:none}.visit-acc-row .amt{font-size:13px;font-weight:650}.visit-acc-row .sub{color:var(--muted);margin-top:1px;font-size:12px}.so-wrap{margin-bottom:8px}.so-lines{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);margin-top:6px;padding:6px 12px}.so-line{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding:8px 0;display:flex}.so-line:first-child{border-top:none}.so-line.removed{opacity:.6}.so-line.removed .nm{text-decoration:line-through}.so-line .l{min-width:0}.so-line .r{text-align:right;flex:none}.so-line .nm{font-size:13px;font-weight:600}.so-line .amt{font-size:13px;font-weight:650}.so-line .sub{color:var(--muted);margin-top:1px;font-size:12px}.so-line .sub.note{color:var(--warn)}.so-line.so-line-head{color:var(--muted);padding-top:0;font-size:12px}.date-range{gap:12px;display:flex;position:relative}.date-range .cal{z-index:30;margin-top:-6px;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #0f172a2e}.date-range .field{flex:1;min-width:0}.plan-orphan{align-items:center;gap:12px;display:flex}.plan-orphan .l{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:13px;display:flex}.plan-orphan .name{font-size:14px;font-weight:650}.caps{text-transform:uppercase}.datefield{flex-direction:column;gap:8px;display:flex}.datefield-btn{text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;min-height:48px;overflow:hidden}.datefield-btn.empty{color:var(--faint)}.cal{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:8px}.cal-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.cal-title{color:var(--text);text-transform:capitalize;font-size:15px;font-weight:650}.cal-nav{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:26px;line-height:1}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-wd{text-align:center;color:var(--muted);padding:4px 0;font-size:12px;font-weight:600}.cal-day{height:40px;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:10px;font-family:inherit;font-size:15px}.cal-day.today{box-shadow:inset 0 0 0 1px var(--border);font-weight:650}.cal-day.on{background:var(--brand-600);color:#fff;font-weight:650}.cal-day:disabled{opacity:.35;cursor:default}.so-line-empty{color:var(--muted);padding:8px 0;font-size:12.5px}.btn{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:11px 16px;font-size:14px;font-weight:650;display:inline-flex}.btn:disabled{opacity:.55}.btn-primary{background:var(--brand-600);color:#fff;border:none}.btn-check{background:var(--btn-in);color:#fff;border:none;flex:none;padding:10px 12px;font-size:14px}.btn-check.out{background:var(--btn-out)}.btn-check.done{background:var(--border);color:var(--muted)}.btn-check.done:disabled{opacity:1}.btn-block{width:100%;padding:13px}.btn-primary.btn-block{margin-top:14px}.btn-ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-sm{min-height:40px;padding:9px 13px;font-size:13px}.queue-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);align-items:flex-start;gap:10px;margin-bottom:10px;padding:12px 14px;display:flex}.queue-item.failed{border-color:color-mix(in srgb, var(--danger) 35%, var(--border))}.queue-item-main{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.queue-kind{font-weight:650}.queue-ref{color:var(--muted);text-overflow:ellipsis;font-size:13px;overflow:hidden}.queue-err{color:var(--danger);white-space:pre-line;flex-basis:100%;font-size:12.5px}.queue-actions{flex-direction:column;flex:none;gap:6px;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field span{color:var(--muted);font-size:13px;font-weight:600}.input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:11px;padding:13px 14px;font-family:inherit;font-size:16px}.search{margin-bottom:14px;position:relative}.search .ic{color:var(--faint);display:flex;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search .input{padding-left:40px;font-size:16px}.gnum{display:block;position:relative}.gnum-rp{color:var(--muted);pointer-events:none;font-size:15px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.gnum.has-rp .input{padding-left:38px}.badge{border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.badge.sched{color:var(--warn);background:var(--warn-bg)}.badge.po-block{color:#fff;background:var(--danger)}.badge.st-Pending{color:var(--warn);background:var(--warn-bg)}.badge.st-AwaitingManager,.badge.st-AwaitingHO{color:var(--brand-600);background:var(--warn-bg)}.badge.st-Approved{color:var(--ok);background:var(--ok-bg)}.badge.st-Rejected{color:#fff;background:var(--danger)}.badge.st-Retracted,.badge.st-Processed{color:var(--muted);background:var(--surface-2)}.badge.st-Cancelled,.badge.st-ERPDeleted{color:var(--muted);background:var(--surface-2);text-decoration:line-through}.badge.st-Finished{color:var(--ok);background:var(--ok-bg)}.badge.st-Expired{color:var(--muted);background:var(--surface-2)}.badge.prospect{color:var(--brand-600);background:var(--warn-bg)}.badge.baddebt{color:#fff;background:var(--danger)}.badge.inactive{color:#fff;background:#ea580c}.po-note{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:12px 14px;font-size:14px}.po-line{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:10px;padding:12px 14px}.po-line-head{align-items:flex-start;gap:10px;display:flex}.po-line-head .name{flex:1;font-weight:650}.po-x{color:var(--faint);background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:22px;line-height:1;display:inline-flex}.po-line-inputs{gap:10px;margin-top:10px;display:flex}.po-line-inputs label,.po-line>label,.po-line>.po-field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.po-line-inputs label{flex:1}.po-line>label,.po-line>.po-field{margin-top:10px}.po-line-foot{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.po-total{justify-content:space-between;align-items:baseline;margin:18px 2px 12px;font-size:15px;display:flex}.po-total b{font-size:20px}.po-discard{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border));background:0 0;margin-top:8px}.shot-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.shot-actions .btn{flex:1;min-width:90px;font-size:13px}.shot-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px;display:grid}.shot{border:1px solid var(--border);aspect-ratio:1;background:var(--surface-2);border-radius:10px;position:relative;overflow:hidden}.shot img{object-fit:cover;width:100%;height:100%;display:block}.shot-kind{color:#fff;background:#0000008c;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.shot-x{color:#fff;background:#0009;border:none;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.picker-actions{gap:10px;margin-bottom:12px;display:flex}.picker-actions .btn{flex:1}.picker-head{z-index:5;background:var(--bg);margin:-14px -14px 0;padding:14px 14px 4px;position:sticky;top:0}.picker-head .search{margin-bottom:10px}.picker-head .picker-actions{margin-bottom:0}.po-filters{flex-wrap:wrap;gap:0 18px;margin:4px 2px 0;display:flex}.po-chk{border:2px solid var(--border);color:#fff;border-radius:7px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.po-chk.on{background:var(--brand-600);border-color:var(--brand-600)}.po-chk.locked{opacity:.55}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;gap:2px;margin-bottom:14px;padding:3px;display:flex}.seg button{min-height:40px;color:var(--muted);background:0 0;border:none;border-radius:8px;flex:1;padding:6px 8px;font-size:13px;font-weight:650;line-height:1.2}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.seg-emph button.on{background:var(--danger);color:#fff;box-shadow:none}.empty{text-align:center;color:var(--muted);padding:48px 20px}.empty .ic{background:var(--surface-2);width:54px;height:54px;color:var(--faint);border-radius:15px;place-items:center;margin-bottom:12px;display:inline-grid}.empty .t{color:var(--text);margin-bottom:4px;font-weight:650}.iconbtn{border:1px solid var(--border);background:var(--surface);width:44px;height:44px;color:var(--muted);border-radius:11px;place-items:center;display:grid}.lang{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:9px;min-height:40px;padding:0 8px;font-size:13px;font-weight:600}.mono{font-family:ui-monospace,SF Mono,Roboto Mono,Menlo,monospace}.auth{min-height:100vh;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 28px) 22px calc(env(safe-area-inset-bottom) + 28px);flex-direction:column;justify-content:center;max-width:460px;margin:0 auto;display:flex}.auth a{color:var(--brand-500);text-underline-offset:3px}.auth .brand-mark{background:linear-gradient(135deg, var(--brand-500), var(--brand-700));color:#fff;border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:18px;display:grid}.auth .brand-logo{object-fit:contain;background:#fff;border-radius:12px;width:44px;height:44px;margin-bottom:18px}.auth h1{margin-bottom:6px;font-size:24px}.auth .sub{color:var(--muted);margin:0 0 26px}.error{white-space:pre-line;background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);border-radius:11px;margin-bottom:4px;padding:11px 13px;font-size:13.5px;font-weight:600}.toast{left:50%;bottom:calc(60px + env(safe-area-inset-bottom));background:var(--text);color:var(--bg);text-align:center;z-index:50;border-radius:14px;width:max-content;max-width:min(480px,100vw - 32px);padding:11px 18px;font-size:13.5px;font-weight:600;line-height:1.4;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0000004d}.stat-row{gap:12px;margin-bottom:16px;display:flex}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);flex:1;padding:16px}.stat .k{color:var(--muted);font-size:12px;font-weight:600}.stat .v{margin-top:6px;font-size:24px;font-weight:750}.muted{color:var(--muted)}.update-screen{z-index:100;background:var(--bg);padding:calc(env(safe-area-inset-top) + 24px) 22px calc(env(safe-area-inset-bottom) + 24px);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.update-card{width:100%;max-width:460px}.update-card h1{margin-bottom:8px;font-size:22px}.update-card .sub{color:var(--muted);margin:0 0 20px}.update-notes{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);margin-bottom:20px;padding:12px 14px}.update-notes .k{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700}.update-notes p{white-space:pre-wrap;margin:0;font-size:14px}.health-badge{color:#fff;background:var(--danger,#d33);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 0 14px;font-size:26px;font-weight:800;display:flex}.health-steps{flex-direction:column;gap:10px;margin:0 0 22px;padding-left:22px;display:flex}.health-steps li{font-size:15px;line-height:1.4}.update-banner{background:var(--warn-bg);color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);border-radius:var(--r);align-items:center;gap:8px;margin:10px 12px 0;padding:10px 12px;display:flex}.update-banner-main{min-width:0;color:inherit;flex:1;align-items:center;gap:10px;text-decoration:none;display:flex}.update-banner-txt{flex-direction:column;min-width:0;line-height:1.3;display:flex}.update-banner-txt strong{font-size:13.5px}.update-banner-txt span{opacity:.85;font-size:12px}.update-banner-x{color:inherit;opacity:.7;background:0 0;border:none;flex:none;padding:0 6px;font-size:24px;line-height:1}.resume-banner{background:var(--warn-bg);color:var(--warn);border:1px solid color-mix(in srgb, var(--warn) 35%, transparent);border-radius:var(--r);flex-direction:column;gap:8px;margin:10px 12px 0;padding:10px 12px;font-size:13px;line-height:1.35;display:flex}.resume-banner-actions{justify-content:flex-end;gap:8px;display:flex}.app-version{text-align:center;color:var(--faint);margin-top:18px;font-size:12px}.sheet-scrim{z-index:60;background:#00000073;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{z-index:61;background:var(--surface);width:100%;max-width:520px;max-height:85vh;color:var(--text);border-top:1px solid var(--border);padding:18px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;flex-direction:column;gap:12px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet h3{margin:0;font-size:17px}.sheet-options{flex-direction:column;gap:8px;display:flex}.sheet-option{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.sheet-option.on{border-color:var(--brand-600,#d92d20)}.sheet-actions{gap:8px;display:flex}.sheet-actions .btn{flex:1}.att-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:8px;margin-bottom:10px;padding:12px;display:flex}.att-line{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.att-actions{flex-wrap:wrap;gap:8px;display:flex}.att-actions .btn{flex:1}.plan-store{margin-bottom:6px}.plan-nota{margin:0 0 6px 12px}.plan-nota-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex;flex-direction:row!important}.plan-status{margin:8px 2px}.plan-summary{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin:4px 0 8px;padding:10px 2px;font-size:14px;display:flex}.badge.ok{color:var(--ok);background:var(--ok-bg)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--brand-600);flex:none;margin:0}.check-row{min-height:40px;color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.check-rows{margin-bottom:10px}.input-prefixed{align-items:stretch;display:flex}.input-prefixed .input-prefix{border:1px solid var(--border);background:var(--surface-2);white-space:nowrap;border-right:0;border-radius:11px 0 0 11px;align-items:center;padding:0 10px;font-weight:700;display:flex}.input-prefixed .input-prefix+.input{border-top-left-radius:0;border-bottom-left-radius:0;flex:1;min-width:0}.input[readonly]{background:var(--surface-2);color:var(--muted)}.help-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.help-head h2{margin:0;font-size:18px}.help-head a{text-decoration:none}.help-sec{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);margin-bottom:10px}.help-sec>summary{cursor:pointer;justify-content:space-between;gap:10px;padding:14px 16px;font-weight:650;list-style:none;display:flex}.help-sec>summary:after{content:"▾";color:var(--faint);transition:transform .15s}.help-sec[open]>summary:after{transform:rotate(180deg)}.help-sec>summary::-webkit-details-marker{display:none}.help-intro{color:var(--muted);font-size:var(--fs-sm);margin:0 16px 10px}.help-item{border-top:1px solid var(--border);font-size:var(--fs-sm);gap:10px;padding:10px 16px;line-height:1.5;display:flex}.help-n{background:var(--brand-600);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.help-body{min-width:0}.help-label{margin-bottom:2px;font-weight:650}.help-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--faint);border:1px solid var(--border);vertical-align:1px;border-radius:4px;margin-right:4px;padding:0 4px;font-size:10.5px;font-weight:700}.help-text{white-space:pre-line;overflow-wrap:anywhere}.help-note .help-body{border-left:3px solid var(--warn);color:var(--text);padding-left:10px}.help-message .help-label{color:var(--danger)}@media (prefers-reduced-motion:reduce){.help-sec>summary:after{transition:none}}
