@layer base{html,body{margin:0;padding:0}:root{--os-sidebar:#f5f3ef;--os-sidebar-edge:#e8e4de;--os-sidebar-text:#6b6460;--os-sidebar-active:#1a1614;--os-canvas:#fff;--os-surface:#fff;--os-surface-alt:#faf9f6;--os-border:#ece9e4;--os-border-soft:#f3f1ed;--os-ink:#1a1614;--os-ink-2:#6b6460;--os-ink-3:#a8a29e;--os-ink-4:#c8c2bc;--os-accent:#1b4f72;--os-accent-soft:#ebf2fa;--os-warning:#92400e;--os-warning-soft:#fef9ec;--os-font-sans:var(--font-sans), "Noto Sans TC", system-ui, sans-serif;--os-font-mono:var(--font-mono), "Noto Sans TC", ui-monospace, monospace;--os-radius-sm:6px;--os-radius:8px;--os-radius-lg:10px;--os-control-h:36px;--os-control-h-touch:48px;--os-control-h-primary-touch:56px;--os-tap-min:44px;--os-font-touch:18px;--os-space-1:4px;--os-space-2:8px;--os-space-3:12px;--os-space-4:16px;--os-space-5:24px;--os-toast-bg:var(--os-ink);--os-toast-ink:#fff;--os-toast-action:#9ec6ec;--os-toast-z:1100;--os-toast-life:6.5s;--os-slips-thumb-w:132px;--os-slips-col-min:340px}.os-shell,.os-shell *,.os-shell :before,.os-shell :after{box-sizing:border-box}.os-shell{font-family:var(--os-font-sans);background:var(--os-canvas);color:var(--os-ink);-webkit-font-smoothing:antialiased;height:100dvh;font-size:16px;line-height:1.5;display:flex;overflow:hidden}}
@layer base{.os-sidebar{background:var(--os-sidebar);border-right:1px solid var(--os-sidebar-edge);flex-direction:column;flex-shrink:0;width:248px;display:flex}.os-sidebar-logo{height:60px;color:inherit;align-items:center;gap:10px;padding:0 22px;text-decoration:none;display:flex}.os-logo-shop{letter-spacing:-.03em;min-width:0;color:var(--os-ink);text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:700;line-height:1.15;overflow:hidden}.os-sidebar-divider{background:var(--os-sidebar-edge);height:1px;margin:0 22px}.os-nav{flex:1;padding:14px 12px;overflow-y:auto}.os-nav-cap{letter-spacing:.12em;text-transform:uppercase;color:var(--os-ink-3);padding:14px 10px 6px;font-size:13px;font-weight:600}.os-nav-cap:first-child{padding-top:0}.os-nav-item{border-radius:var(--os-radius);color:var(--os-sidebar-text);cursor:pointer;align-items:center;gap:10px;margin-bottom:1px;padding:12px 14px;font-size:19px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.os-nav-item:hover{color:var(--os-ink);background:#0000000a}.os-nav-item.is-active{background:var(--os-sidebar-active);color:#fff}.os-nav-item svg{opacity:.6;flex-shrink:0;width:18px;height:18px;transition:opacity .12s}.os-nav-item:hover svg{opacity:.9}.os-nav-item.is-active svg{opacity:1}.os-nav-item .os-icon-knockout{fill:var(--os-sidebar)}.os-nav-item:hover .os-icon-knockout{fill:#efece6}.os-nav-item.is-active .os-icon-knockout{fill:var(--os-sidebar-active)}.os-nav-badge{font-family:var(--os-font-mono);color:var(--os-sidebar-text);background:#0000000f;border-radius:10px;margin-left:auto;padding:1px 6px;font-size:12.5px;font-weight:500}.os-nav-item.is-active .os-nav-badge{color:#ffffffd9;background:#ffffff2e}.os-sidebar-bottom{border-top:1px solid var(--os-sidebar-edge);padding:14px}.os-user-card{border-radius:var(--os-radius);cursor:pointer;align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.os-user-card:hover{background:#0000000a}.os-avatar{background:var(--os-accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:15.5px;font-weight:700;display:grid;overflow:hidden}.os-avatar>img{object-fit:cover;width:100%;height:100%;display:block}.os-avatar>svg{color:#fff;width:60%;height:60%}.os-user-info{flex:1;min-width:0;line-height:1.3}.os-user-name{color:var(--os-ink);font-size:15.5px;font-weight:600}.os-user-card svg{width:14px;height:14px;color:var(--os-ink-3);flex-shrink:0}.os-main{flex-direction:column;flex:1;display:flex;overflow:hidden}.os-voice-btn{height:var(--os-control-h);border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);color:var(--os-ink-2);font-family:var(--os-font-sans);cursor:pointer;align-items:center;gap:var(--os-space-2);padding:0 var(--os-space-3);flex-shrink:0;font-size:14px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.os-voice-btn>span{font-size:16px;line-height:1}.os-voice-btn:hover{background:var(--os-surface-alt);border-color:var(--os-ink-4)}.os-onesentence-btn{height:var(--os-control-h);border-radius:var(--os-radius);background:var(--os-accent);color:#fff;font-family:var(--os-font-sans);cursor:pointer;align-items:center;gap:var(--os-space-2);padding:0 var(--os-space-4);border:none;flex-shrink:0;font-size:14px;font-weight:600;transition:filter .12s;display:inline-flex}.os-onesentence-btn>.ic{align-items:center;font-size:16px;line-height:1;display:inline-flex}.os-onesentence-btn>.ic>svg{width:1em;height:1em;display:block}.os-onesentence-btn:hover{filter:brightness(.93)}.os-dictation-sheet{top:0;left:0;right:0;bottom:var(--os-kbd-inset,0px);z-index:101;background:var(--os-surface);flex-direction:column;max-width:480px;margin:0 auto;display:flex;position:fixed;box-shadow:0 8px 32px #0000002e}.os-dictation-head{padding:var(--os-space-3) var(--os-space-4);border-bottom:1px solid var(--os-border);background:var(--os-surface-alt);flex:none;align-items:center;display:flex}.os-dictation-cancel{cursor:pointer;color:var(--os-accent);font-family:var(--os-font-sans);min-height:var(--os-tap-min);background:0 0;border:none;align-items:center;padding:0;font-size:16px;display:inline-flex}.os-dictation-title{text-align:center;color:var(--os-ink);flex:1;font-size:16px;font-weight:700}.os-dictation-head-rsp{width:var(--os-tap-min);flex:none}.os-dictation-body{min-height:0;padding:var(--os-space-3) var(--os-space-4);gap:var(--os-space-3);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.os-dictation-textarea{height:auto;min-height:96px;padding:var(--os-space-3);resize:vertical;line-height:1.55}.os-dictation-helper{color:var(--os-ink-2);margin:0;font-size:14px;line-height:1.5}.os-dictation-helper b{color:var(--os-ink)}.os-dictation-note{color:var(--os-ink-2);margin:0;font-size:13px;line-height:1.55}.os-dictation-error{color:var(--os-warning);margin:0;font-weight:600}.os-dictation-error-hint{color:var(--os-ink-2);margin:0;font-size:14px}.os-dictation-foot{padding:var(--os-space-3) var(--os-space-4);padding-bottom:calc(var(--os-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--os-border);background:var(--os-surface);flex:none}.os-dictation-commit{width:100%;height:var(--os-control-h-primary-touch);border-radius:var(--os-radius);background:var(--os-accent);color:#fff;font-family:var(--os-font-sans);font-size:var(--os-font-touch);cursor:pointer;border:none;font-weight:700}.os-dictation-commit:disabled{background:var(--os-ink-4);cursor:not-allowed}.os-dictation-coach{right:var(--os-space-4);bottom:calc(var(--os-control-h-primary-touch) + var(--os-space-5));z-index:102;background:var(--os-ink);color:#fff;border-radius:var(--os-radius);max-width:220px;padding:var(--os-space-2) var(--os-space-3);font-size:13px;line-height:1.5;position:absolute;box-shadow:0 8px 22px #00000052}.os-dictation-coach b{color:var(--os-warning-soft)}.os-dictation-coach-dismiss{margin-top:var(--os-space-2);color:var(--os-border);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;display:block}.os-menu-browse{flex-shrink:0;position:relative}.os-menu-browse-btn{height:var(--os-control-h);outline:1px solid var(--os-accent);border-radius:var(--os-radius);background:var(--os-surface);width:40px;color:var(--os-accent);cursor:pointer;font-family:var(--os-font-sans);border:none;justify-content:center;align-items:center;transition:background .12s;display:inline-flex}.os-menu-browse-btn:hover{background:var(--os-surface-alt)}.os-menu-browse-btn svg{width:18px;height:18px}.os-menu-browse-pop{width:min(330px,100vw - 32px);max-height:320px;left:auto;right:0;overflow-y:auto}.os-form-listbox-head{letter-spacing:.08em;text-transform:uppercase;color:var(--os-ink-3);background:var(--os-surface-alt);border-bottom:1px solid var(--os-border);-webkit-user-select:none;user-select:none;padding:6px 12px 5px;font-size:11.5px;font-weight:700}.os-menu-browse-backdrop{z-index:9;background:0 0;position:fixed;inset:0}.os-content{background:var(--os-surface-alt);flex:1;overflow-y:auto}.os-page{max-width:1280px;margin:0 auto;padding:24px 32px 56px}.os-page-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;display:flex}.os-page-head-actions{gap:var(--os-space-2);flex-wrap:wrap;align-items:center;display:flex}.os-page-title{letter-spacing:-.02em;color:var(--os-ink);margin:0;font-size:26px;font-weight:700}.os-page-title .os-count{font-family:var(--os-font-mono);color:var(--os-ink-3);margin-left:8px;font-size:15.5px;font-weight:400}.os-page-sub{color:var(--os-ink-2);margin:4px 0 0;font-size:15.5px}.os-back-strip{align-items:center;gap:16px;margin-bottom:18px;display:flex}.os-page-head-meta{flex-shrink:0;align-items:baseline;gap:12px;display:inline-flex}.os-meta-date{font-family:var(--os-font-mono);color:var(--os-ink-3);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.os-meta-date.is-updated{color:var(--os-ink-3)}.os-detail-header-row1{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.os-detail-header-row2{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.os-detail-header-row2-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.os-detail-header-row2-right{align-items:center;gap:8px;display:flex}.os-autosave{font-size:15px;font-family:var(--os-font-mono);color:var(--os-ink-3);white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.os-autosave.is-saving{color:var(--os-ink-2)}.os-autosave.is-saved{color:#166534}.os-autosave.is-error{color:#991b1b}.os-autosave.is-offline{color:var(--os-warning)}.os-autosave-spinner{border:2px solid var(--os-border);border-top-color:var(--os-accent);border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:.8s linear infinite os-autosave-spin;display:inline-block}@keyframes os-autosave-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.os-pending-spinner{flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite os-autosave-spin;display:inline-block}.os-pending-spinner svg{width:14px;height:14px;display:block}}@layer motion{@media (prefers-reduced-motion:reduce){.os-autosave-spinner,.os-pending-spinner{animation:none}}}
@layer base{.os-btn{height:var(--os-control-h);border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);color:var(--os-ink);font-family:var(--os-font-sans);cursor:pointer;letter-spacing:-.005em;align-items:center;gap:7px;padding:0 14px;font-size:15.5px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.os-btn:hover{background:var(--os-surface-alt);border-color:var(--os-ink-4)}.os-btn svg{width:14px;height:14px}.os-btn-primary{height:var(--os-control-h);background:var(--os-ink);color:#fff;border:1px solid var(--os-ink);border-radius:var(--os-radius);font-family:var(--os-font-sans);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:7px;padding:0 16px;font-size:16px;font-weight:600;text-decoration:none;transition:background .12s,transform .12s,box-shadow .12s;display:inline-flex}.os-btn-primary:hover{background:#2d2724;border-color:#2d2724;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.os-btn-primary:active{box-shadow:none;transform:translateY(0)}.os-btn-primary svg{width:14px;height:14px}.os-btn.is-static{cursor:default;background:var(--os-surface-alt)}.os-btn.is-static:hover{background:var(--os-surface-alt);border-color:var(--os-border)}.os-btn-lg{height:var(--os-tap-min);white-space:nowrap;padding:0 20px;font-size:16.5px;font-weight:600}.os-btn-caret{opacity:.8;transition:transform .15s}.os-btn[aria-expanded=true] .os-btn-caret{transform:rotate(180deg)}.os-search{flex:1;max-width:320px;position:relative}.os-search svg{width:14px;height:14px;color:var(--os-ink-3);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.os-search input,.os-input{width:100%;height:var(--os-control-h);border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);font-family:var(--os-font-sans);color:var(--os-ink);outline:none;padding:0 12px;font-size:15.5px;transition:border-color .12s,background .12s,box-shadow .12s}.os-search input{padding-left:34px;padding-right:12px}.os-search input::placeholder,.os-input::placeholder{color:var(--os-ink-3)}.os-search input:focus,.os-input:focus{border-color:var(--os-accent);background:var(--os-surface);box-shadow:0 0 0 3px #1b4f7214}.os-search.is-flex-grow{max-width:none}.os-input--date{width:200px}div.os-input{align-items:center;display:flex}.os-search-loading{color:var(--os-ink-3);font-size:13.5px;font-family:var(--os-font-mono);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.os-form-search-loading{color:var(--os-ink-3);font-size:13px;font-family:var(--os-font-mono);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}textarea.os-input{resize:vertical;height:auto;min-height:80px;padding:10px 12px;line-height:1.55}.os-form-label{color:var(--os-ink-2);letter-spacing:0;font-size:13.5px;font-weight:600}.os-form-grid{flex-direction:column;gap:14px;display:flex}.os-form-grid>:not(.os-btn-primary):not(.os-data-note){flex-direction:column;gap:4px;display:flex}.os-input.is-inline{background:0 0;border-color:#0000;border-radius:4px;height:auto;padding:4px 6px;font-size:15.5px;transition:border-color .12s,background .12s}.os-input.is-inline:hover{border-color:var(--os-border)}.os-input.is-inline:focus{border-color:var(--os-accent);background:var(--os-surface);box-shadow:0 0 0 3px #1b4f7214}.os-input.is-inline.is-warning{border-color:var(--os-warning);background:var(--os-warning-soft)}.os-input.is-inline.is-warning:hover{border-color:var(--os-warning)}.os-line-label-cell{align-items:center;gap:.3rem;min-width:0;display:flex}.os-input.is-inline.is-label{field-sizing:content;min-width:4rem;max-width:100%}.os-line-freetext-chip{color:#6b7280;white-space:nowrap;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:3px;flex-shrink:0;align-items:center;padding:.05rem .32rem;font-size:.77rem;font-weight:500;line-height:1.4;display:inline-flex}.os-filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.os-filter-bar .os-search+.os-input--date{margin-left:-8px}.os-segmented{align-items:stretch;gap:4px;display:inline-flex}.os-segmented-btn{height:var(--os-control-h);border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);color:var(--os-ink-2);font-family:var(--os-font-sans);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;padding:0 14px;font-size:15.5px;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.os-segmented-btn:hover:not([aria-pressed=true]){background:var(--os-surface-alt);border-color:var(--os-ink-4);color:var(--os-ink)}.os-segmented-btn[aria-pressed=true]{background:var(--os-sidebar-active);border-color:var(--os-sidebar-active);color:#fff}.os-segmented-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #1b4f722e}.os-seg-count{min-width:18px;font-family:var(--os-font-mono);color:var(--os-ink-2);background:#0000000f;border-radius:10px;justify-content:center;align-items:center;margin-left:6px;padding:0 6px;font-size:12.5px;font-weight:500;line-height:1.4;display:inline-flex}.os-seg-count.is-warn{background:var(--os-warning-soft);color:var(--os-ink)}.os-segmented-btn[aria-pressed=true] .os-seg-count,.os-segmented-btn[aria-pressed=true] .os-seg-count.is-warn{color:#ffffffeb;background:#ffffff2e}.os-line-toolbar{align-items:center;gap:8px;margin-bottom:22px;display:flex}.os-line-toolbar>.os-form-picker{flex:1;min-width:0}}
@layer base{.os-stat-row{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.os-stat{background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius-lg);padding:16px 20px;transition:border-color .15s,box-shadow .15s}.os-stat:hover{border-color:#d8d2cb;box-shadow:0 2px 8px #00000008}.os-stat-label{color:var(--os-ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:13.5px;font-weight:500}.os-stat-value{font-family:var(--os-font-mono);letter-spacing:-.025em;color:var(--os-ink);margin-top:10px;font-size:33px;font-weight:500;line-height:1}.os-stat-value small{color:var(--os-ink-3);font-size:15.5px;font-weight:400;font-family:var(--os-font-sans);margin-left:3px}.os-stat-meta{color:var(--os-ink-3);align-items:center;gap:6px;margin-top:10px;font-size:14px;display:flex}.os-stat-meta svg{width:12px;height:12px}.os-stat-meta b{font-family:var(--os-font-mono);color:var(--os-ink-2);font-weight:500}.os-stat-meta.is-pos b{color:#166534}.os-stat-meta.is-neg b{color:#991b1b}.os-table-wrap{background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius-lg);overflow:hidden}.os-table{border-collapse:collapse;width:100%}.os-table thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--os-ink-2);background:var(--os-surface-alt);border-bottom:1px solid var(--os-border);white-space:nowrap;padding:12px 18px;font-size:13px;font-weight:600}.os-table thead th.is-num{text-align:right}.os-table thead th.os-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.os-table tbody tr{border-bottom:1px solid var(--os-border-soft);cursor:pointer;transition:background .1s}.os-table tbody tr:last-child{border-bottom:0}.os-table tbody tr:hover{background:var(--os-surface-alt)}.os-table tbody td{color:var(--os-ink);vertical-align:middle;padding:14px 18px;font-size:16px}.os-cell-date{font-family:var(--os-font-mono);color:var(--os-ink-2);font-size:15px}.os-cell-plate{font-family:var(--os-font-mono);letter-spacing:.02em;color:var(--os-ink);font-size:15.5px;font-weight:500}.os-cell-name{color:var(--os-ink);font-weight:600}.os-cell-name .os-id{font-family:var(--os-font-mono);color:var(--os-ink-3);margin-left:6px;font-size:13px;font-weight:400}.os-cell-muted{color:var(--os-ink-2)}.os-cell-num{text-align:right;font-family:var(--os-font-mono);font-variant-numeric:tabular-nums;color:var(--os-ink);font-weight:500}.os-cell-num .os-ntd{color:var(--os-ink-3);margin-right:3px;font-weight:400}.os-table tbody td:has(>.os-cell-link){padding:0}.os-cell-link{color:inherit;font:inherit;padding:14px 18px;text-decoration:none;display:block}.os-cell-link:focus-visible{box-shadow:inset 0 0 0 2px var(--os-accent);outline:none}.os-empty{text-align:center;color:var(--os-ink-3);padding:48px 18px;font-size:15.5px}.os-empty-cta{align-items:center;gap:var(--os-space-3);padding:var(--os-space-4) var(--os-space-4);text-align:center;flex-direction:column;display:flex}.os-empty-cta .os-empty{padding:0}.os-rfp-settlement-note{margin-top:var(--os-space-2);padding:var(--os-space-3) var(--os-space-4);background:var(--os-accent-soft);border-radius:var(--os-radius);color:var(--os-ink-2);line-height:1.6}.os-rfp-settlement-note .os-link{white-space:nowrap}.os-line-table{border-collapse:collapse;width:100%;font-size:15.5px}.os-line-table thead th{text-align:left;color:var(--os-ink-3);border-bottom:1px solid var(--os-border);padding:6px 8px;font-size:13.5px;font-weight:600}.os-line-table thead th.is-num{text-align:right}.os-line-table thead th.is-center{text-align:center}.os-line-table tbody td{vertical-align:middle;border-bottom:1px solid var(--os-border-soft);padding:6px 8px}.os-line-table tbody tr:last-child td{border-bottom:0}.os-line-table .os-line-cell-num{text-align:right;font-variant-numeric:tabular-nums}.os-input.is-inline.is-num-6{text-align:right;width:6rem}.os-input.is-inline.is-center-4{text-align:center;width:4rem}.os-line-pending-price{color:var(--os-warning);font-weight:600}.os-line-table .os-line-cell-center{text-align:center}.os-line-table .os-line-cell-index{width:2rem;color:var(--os-ink-3)}.os-line-table .os-line-cell-action{text-align:center;width:2rem}.os-line-delete{cursor:pointer;color:var(--os-ink-4);background:0 0;border:none;border-radius:3px;padding:0 4px;font-size:19px;line-height:1;transition:color .12s}.os-line-delete:hover{color:var(--os-ink-2)}.os-line-pending td{color:var(--os-accent)}.os-line-fresh td{background:var(--os-accent-soft)}.os-line-fresh>td:first-child{box-shadow:inset 3px 0 0 var(--os-accent)}.os-fresh-band{align-items:center;gap:var(--os-space-2);padding:var(--os-space-2) var(--os-space-3);margin-bottom:var(--os-space-3);border-radius:var(--os-radius);border-left:3px solid var(--os-accent);background:var(--os-accent-soft);color:var(--os-accent);font-weight:600;display:flex}.os-skeleton-bar{background:linear-gradient(90deg, var(--os-surface-alt), var(--os-border), var(--os-surface-alt));background-size:200% 100%;border-radius:4px;height:1em;animation:1.2s linear infinite os-skeleton-shimmer;display:block}@keyframes os-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.os-table tbody tr.os-row-dim{opacity:.6;cursor:default}.os-table tbody tr.os-row-dim:hover{background:0 0}.os-row-note{color:var(--os-ink-3);margin-top:2px;font-size:13.5px;line-height:1.4}.os-row-note strong{color:var(--os-ink);font-weight:600}.os-error{border-radius:var(--os-radius);color:#991b1b;background:#fdf2f2;border:1px solid #f5d2d2;margin:0 0 14px;padding:10px 14px;font-size:15.5px}.os-error.is-inline{margin:0;padding:6px 10px;font-size:13.5px}.os-tag{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:13.5px;font-weight:500;display:inline-flex}.os-tag.is-open{color:var(--os-accent);background:var(--os-accent-soft);border-color:#d8e3f0}.os-tag.is-done{color:#166534;background:#f0fdf4;border-color:#dcfce7}.os-tag.is-draft{color:var(--os-ink-2);background:var(--os-surface-alt);border-color:var(--os-border)}.os-tag.is-wait{color:var(--os-warning);background:var(--os-warning-soft);border-color:#fef0c8}.os-tag.is-part{color:var(--os-accent);background:var(--os-accent-soft);border-color:#d8e3f0}.os-tag.is-labor{color:var(--os-ink-2);background:var(--os-surface-alt);border-color:var(--os-border)}.os-pager{color:var(--os-ink-2);align-items:center;gap:6px;font-size:15.5px;display:flex}.os-pager-btn{border:1px solid var(--os-border);border-radius:var(--os-radius-sm);background:var(--os-surface);cursor:pointer;color:var(--os-ink-2);font-family:var(--os-font-sans);padding:6px 12px;font-size:15.5px;transition:background .12s,color .12s}.os-pager-btn:hover:not(:disabled){background:var(--os-surface-alt);color:var(--os-ink)}.os-pager-btn:disabled{color:var(--os-ink-4);cursor:not-allowed}.os-pager-btn[aria-disabled=true]{color:var(--os-ink-4);cursor:not-allowed;pointer-events:none}.os-pager-info{font-family:var(--os-font-mono);color:var(--os-ink-2);margin:0 8px;font-size:14px}}@layer motion{@media (prefers-reduced-motion:reduce){.os-skeleton-bar{animation:none}}}
@layer base{.os-form-picker{position:relative}.os-form-listbox{background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius);z-index:10;overscroll-behavior:contain;max-height:min(60vh,480px);margin-top:4px;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000000f}.os-form-listbox-item{cursor:pointer;min-height:var(--os-tap-min);-webkit-user-select:none;user-select:none;color:var(--os-ink);padding:8px 12px;font-size:16px}.os-form-listbox-item:hover{background:var(--os-surface-alt)}.os-form-listbox-item.is-create{color:var(--os-accent);font-style:italic}.os-form-listbox-item.is-create.is-muted{color:var(--os-ink-3);opacity:.75}.os-form-listbox-item.is-line{align-items:center;gap:8px;display:flex}.os-form-listbox-item.is-line .os-form-listbox-item-meta{color:var(--os-ink-3);font-size:14px}.os-form-listbox-item.is-line .os-form-listbox-item-price{color:var(--os-ink-2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px}.os-create-row{background:var(--os-surface);border-top:1px solid var(--os-border);align-items:center;gap:10px;padding:9px 12px;font-size:14.5px;display:flex;position:sticky;bottom:0}.os-create-row .lead{color:var(--os-accent);align-items:center;gap:6px;font-style:italic;display:flex}.os-create-row .lead .pl{background:var(--os-accent);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;font-style:normal;display:inline-flex}.os-create-row q{quotes:none;color:var(--os-ink);font-style:normal;font-weight:600}.os-create-row .spacer{flex:1}.os-create-kind-btn{background:var(--os-surface);color:var(--os-ink-2);cursor:pointer;border:1px solid #d8e3f0;border-radius:999px;flex:none;align-items:center;gap:5px;padding:4px 12px;font-family:inherit;font-size:13.5px;display:inline-flex}.os-create-kind-btn:hover{background:var(--os-surface-alt)}.os-create-kind-btn.is-labor{border-color:var(--os-accent);color:var(--os-accent);font-weight:600}.os-form-listbox-error{color:#991b1b;pointer-events:none;padding:8px 12px;font-size:13.5px;font-style:italic}.os-context-listbox-scroll{max-height:240px;margin:0;padding:0;list-style:none;overflow-y:auto}.os-context-listbox-item{cursor:pointer;border-radius:var(--os-radius-sm);color:var(--os-ink);font-variant-numeric:tabular-nums;padding:6px 8px;font-size:15.5px}.os-context-listbox-item:hover{background:var(--os-surface-alt)}.os-context-listbox-item.is-active{background:var(--os-accent-soft);color:var(--os-ink)}}
@layer base{.os-panel{background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius-lg);padding:20px 22px}.os-panel+.os-panel{margin-top:14px}.os-panel-head{border-bottom:1px solid var(--os-border-soft);justify-content:space-between;align-items:baseline;margin:0 0 12px;padding-bottom:10px;display:flex}.os-panel-head h2,.os-panel-head h3{letter-spacing:-.015em;color:var(--os-ink);margin:0;font-size:18px;font-weight:700}.os-panel-head-actions{gap:8px;display:inline-flex}.os-section-head{color:var(--os-ink);border-bottom:1px solid var(--os-border-soft);justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;font-size:16px;font-weight:600;display:flex}.os-section-head-sub{font-family:var(--os-font-mono);color:var(--os-ink-2);font-variant-numeric:tabular-nums;font-size:14px;font-weight:400}.os-empty-hint{color:var(--os-ink-3);margin:4px 0 12px;font-size:15px;font-style:italic}.os-quote-section+.os-quote-section{margin-top:24px}.os-defs{grid-template-columns:max-content 1fr;gap:8px 24px;font-size:15.5px;display:grid}.os-defs dt{color:var(--os-ink-2);font-weight:500}.os-defs dd{color:var(--os-ink);font-variant-numeric:tabular-nums;margin:0}.os-panel.is-popover{z-index:20;margin-top:4px;padding:12px;position:absolute;top:100%;left:0;right:0;box-shadow:0 4px 12px #0000000f}.os-popover-form{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.os-popover-form-title{color:var(--os-ink-2);margin:0 0 8px;font-size:14px;font-weight:600}.os-popover-form-label{color:var(--os-ink-2);flex-direction:column;gap:2px;font-size:13px;display:flex}.os-popover-form-actions{gap:6px;margin-left:auto;display:flex}.os-totals-card{background:var(--os-surface-alt);border:1px solid var(--os-border);border-radius:var(--os-radius-lg);flex-direction:column;margin:0;padding:6px 20px 16px;display:flex}.os-totals-nudge{color:var(--os-warning);background:var(--os-warning-soft);border-radius:var(--os-radius);padding:var(--os-space-2) var(--os-space-3);margin-bottom:var(--os-space-2);font-size:14px;font-weight:500}.os-totals-row{justify-content:space-between;align-items:baseline;gap:16px;padding:6px 0;display:flex}.os-totals-label{color:var(--os-ink-2);margin:0;font-size:15.5px;font-weight:500}.os-totals-value{color:var(--os-ink);font-size:16px;font-family:var(--os-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;margin:0}.os-totals-cur{color:var(--os-ink-3);margin-right:4px;font-size:14px}.os-totals-row.is-line .os-totals-label,.os-totals-row.is-line .os-totals-value{color:var(--os-ink-2)}.os-totals-row.is-divider{border-top:1px solid var(--os-border-soft);margin-top:4px;padding-top:10px}.os-totals-row.is-divider .os-totals-value{color:var(--os-ink);font-weight:600}.os-totals-row.is-discount .os-totals-label{color:var(--os-warning)}.os-totals-row.is-discount .os-totals-value{color:var(--os-warning);align-items:baseline;gap:4px;display:inline-flex}.os-totals-op{color:var(--os-warning);opacity:.85}.os-totals-row.is-discount .os-totals-cur{color:var(--os-warning);opacity:.7}.os-totals-discount-input{text-align:right;border:0;border-bottom:1px dashed var(--os-ink-4);width:64px;font-family:var(--os-font-mono);color:var(--os-warning);font-variant-numeric:tabular-nums;background:0 0;border-radius:0;padding:1px 2px;font-size:16px;transition:border-color .12s,background .12s}.os-totals-discount-input:hover{border-bottom-color:var(--os-warning)}.os-totals-discount-input:focus{background:var(--os-warning-soft);border-bottom-color:var(--os-warning);border-radius:4px;outline:none}.os-totals-row.is-discount.is-zero .os-totals-label{color:var(--os-ink-3);font-weight:500}.os-totals-row.is-discount.is-zero .os-totals-value,.os-totals-row.is-discount.is-zero .os-totals-op,.os-totals-row.is-discount.is-zero .os-totals-cur,.os-totals-row.is-discount.is-zero .os-totals-discount-input{color:var(--os-ink-3)}.os-totals-row.is-toggle{align-items:center;padding-top:8px;position:relative}.os-totals-row.is-toggle label{color:var(--os-ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:15.5px;display:inline-flex}.os-totals-row.is-toggle input[type=checkbox]{opacity:0;pointer-events:none;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;margin:0;position:absolute;top:0;left:0;overflow:hidden}.os-totals-switch{background:var(--os-ink-4);border-radius:999px;flex:none;width:30px;height:18px;transition:background .15s;position:relative}.os-totals-switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.os-totals-row.is-toggle input[type=checkbox]:checked+.os-totals-switch{background:var(--os-accent)}.os-totals-row.is-toggle input[type=checkbox]:checked+.os-totals-switch:after{transform:translate(12px)}.os-totals-status{font-family:var(--os-font-mono);color:var(--os-ink-3);font-variant-numeric:tabular-nums;font-size:14px}.os-totals-row.is-tax{padding:4px 0}.os-totals-row.is-tax .os-totals-label{color:var(--os-ink-3);padding-left:14px;font-size:15px;position:relative}.os-totals-row.is-tax .os-totals-label:before{content:"↳";color:var(--os-ink-4);position:absolute;left:0}.os-totals-row.is-tax .os-totals-value{color:var(--os-ink-2);font-size:15.5px}.os-totals-row.is-grand{border-top:1.5px solid var(--os-ink);align-items:baseline;margin-top:8px;padding-top:11px}.os-totals-row.is-grand .os-totals-label{color:var(--os-ink);font-size:16.5px;font-weight:700}.os-totals-row.is-grand .os-totals-value{color:var(--os-ink);font-size:20px;font-weight:700}.os-totals-row.is-grand .os-totals-cur{color:var(--os-ink-3);font-size:15px;font-weight:500}.os-link{color:var(--os-accent);cursor:pointer;font-weight:500;font:inherit;background:0 0;border:0;padding:0;text-decoration:none}.os-link:hover{text-decoration:underline}.os-loading-dim{opacity:.5;transition:opacity .12s}.os-nav-spinner{opacity:0;visibility:hidden;width:15px;height:15px;color:var(--os-accent);flex-shrink:0;margin-left:auto}.os-nav-spinner.is-pending{visibility:visible;animation:.16s .1s forwards os-nav-fade-in,.7s linear .1s infinite os-autosave-spin}@keyframes os-nav-fade-in{to{opacity:1}}.os-nav-item:has(.os-nav-spinner.is-pending){background:var(--os-accent-soft);color:var(--os-accent);box-shadow:inset 0 0 0 1.5px #1b4f7259}.os-nav-item:has(.os-nav-spinner.is-pending) svg:not(.os-nav-spinner){opacity:1}.os-cell-link:has(.os-nav-spinner.is-pending){color:var(--os-accent)}.os-route-progress{z-index:50;opacity:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.os-route-progress.is-active{opacity:1;background:linear-gradient(90deg, transparent 0%, var(--os-accent) 50%, transparent 100%);background-repeat:no-repeat;background-size:40% 100%;animation:.9s ease-in-out infinite os-route-progress-slide}@keyframes os-route-progress-slide{0%{background-position:-40% 0}to{background-position:140% 0}}}
@layer base{.os-toast-region{left:50%;bottom:calc(var(--os-space-5) + env(safe-area-inset-bottom,0px));z-index:var(--os-toast-z);gap:var(--os-space-2);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;transform:translate(-50%)}.os-toast-region .os-toast{pointer-events:auto}.os-toast{background:var(--os-toast-bg);color:var(--os-toast-ink);border-radius:var(--os-radius);padding:var(--os-space-3) var(--os-space-4);align-items:center;gap:var(--os-space-3);max-width:min(92vw,440px);animation:.18s ease-out os-toast-in;display:flex;box-shadow:0 4px 16px #0000003d}.os-toast__icon{font-size:var(--os-font-touch);align-items:center;line-height:1;display:inline-flex}.os-toast__msg{font-size:var(--os-font-touch);flex:1;line-height:1.4}.os-toast__msg b{font-weight:600}.os-toast__sep{width:1px;margin:0 var(--os-space-1);background:#fff3;align-self:stretch}.os-toast__action{color:var(--os-toast-action);font-weight:600;font-size:var(--os-font-touch);cursor:pointer;padding:var(--os-space-1) var(--os-space-2);border-radius:var(--os-radius-sm);background:0 0;border:none}.os-toast__action:hover{background:#ffffff1f}.os-toast__action--quiet{color:var(--os-toast-ink);opacity:.85}.os-toast--success{box-shadow:inset 3px 0 #4ade80,0 4px 16px #0000003d}.os-toast--error{box-shadow:inset 3px 0 #f87171,0 4px 16px #0000003d}@keyframes os-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes os-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.os-toast.is-leaving{animation:.18s ease-in forwards os-toast-out}.os-skel-root{opacity:0;animation:1ms linear .3s forwards os-skel-reveal}.os-skel-line{background:linear-gradient(90deg, var(--os-border) 25%, var(--os-border-soft) 50%, var(--os-border) 75%);background-size:200% 100%;border-radius:5px;height:13px;animation:1.2s linear infinite os-skel-shimmer}.os-skel-line.is-title{width:240px;height:22px;margin-bottom:6px}.os-skel-line.is-sub{width:180px;height:13px}.os-skel-line.is-back{width:110px;height:13px}.os-skel-line.is-wide{width:100%}.os-skel-line.is-60{width:60%}.os-skel-line.is-40{width:40%}.os-skel-stack>*+*{margin-top:12px}@keyframes os-skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes os-skel-reveal{to{opacity:1}}}@layer touch{@media (max-width:1024px){.os-toast__action{min-height:var(--os-tap-min)}}}@layer motion{@media (prefers-reduced-motion:reduce){.os-toast,.os-toast.is-leaving{animation:none}.os-nav-spinner.is-pending{visibility:visible;opacity:1;animation:none}.os-route-progress.is-active{background:var(--os-accent);opacity:.5;animation:none}.os-skel-line{background:var(--os-border);animation:none}.os-skel-root{animation:1ms linear .3s forwards os-skel-reveal}}}
@layer base{.os-auth-shell{font-family:var(--os-font-sans);background:var(--os-surface-alt);color:var(--os-ink);-webkit-font-smoothing:antialiased;place-items:center;min-height:100dvh;padding:32px 20px;font-size:16px;line-height:1.5;display:grid}.os-auth-shell,.os-auth-shell *,.os-auth-shell :before,.os-auth-shell :after{box-sizing:border-box}.os-auth-card{background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius-lg);flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:340px;padding:28px 28px 22px;display:flex;box-shadow:0 8px 24px #0000000a}.os-auth-brand{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.os-auth-brand-mark{letter-spacing:-.025em;color:var(--os-ink);font-size:33px;font-weight:700;line-height:1.05}.os-auth-brand-sub{color:var(--os-ink-2);font-size:13.5px;font-weight:400}.os-auth-notice{color:var(--os-warning);background:var(--os-warning-soft);border:1px solid var(--os-warning);border-radius:var(--os-radius);margin:0;padding:9px 12px;font-size:13px;line-height:1.5}.os-line-btn{height:var(--os-tap-min);color:#fff;border-radius:var(--os-radius);font-family:var(--os-font-sans);letter-spacing:-.005em;cursor:pointer;background:#06c755;border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:16.5px;font-weight:600;text-decoration:none;transition:background .12s,transform .12s,box-shadow .12s;display:flex}.os-line-btn:hover{background:#05b14c;transform:translateY(-1px);box-shadow:0 4px 12px #06c7552e}.os-line-btn:active{box-shadow:none;background:#04994e;transform:translateY(0)}.os-line-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #06c75552}.os-line-btn-logo{flex-shrink:0;width:18px;height:18px}}
@layer base{.os-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;padding:2px 9px;font-size:13.5px;font-weight:500;display:inline-flex}.os-badge-draft{color:var(--os-ink-2);background:var(--os-surface-alt);border-color:var(--os-border)}.os-badge-completed,.os-badge-已完工{color:var(--os-accent);background:var(--os-accent-soft);border-color:#d8e3f0}.os-badge-invoiced,.os-badge-已開立發票{color:var(--os-warning);background:var(--os-warning-soft);border-color:#fef0c8}.os-badge-paid,.os-badge-已結清{color:#166534;background:#f0fdf4;border-color:#dcfce7}.os-badge.is-secondary{color:var(--os-ink-2);border-color:var(--os-border);background:0 0;padding:1px 8px;font-size:13px;font-weight:500}.os-badge.is-secondary:before{content:"✓";color:var(--os-ink-3);margin-right:4px;font-size:12.5px}.os-flag-strip{align-items:center;gap:6px;display:inline-flex}.os-metric-tiles{gap:var(--os-space-3);width:100%;margin-bottom:20px;display:flex}.os-metric{background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius-lg);padding:var(--os-space-3) var(--os-space-4);gap:var(--os-space-1);flex-direction:column;flex:1;display:flex}.os-metric-label{color:var(--os-ink-2);letter-spacing:.04em;text-transform:uppercase;font-size:13.5px;font-weight:500}.os-metric-value{font-family:var(--os-font-mono);color:var(--os-ink);font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.os-money-grid{gap:var(--os-space-3) var(--os-space-4);grid-template-columns:repeat(2,1fr);display:grid}.os-defs.os-money-summary{border-top:1px solid var(--os-border-soft);margin-top:14px;padding-top:12px}.os-defs.os-money-summary dd{text-align:right;font-family:var(--os-font-mono);font-variant-numeric:tabular-nums}.os-field{flex-direction:column;gap:4px;display:flex}.os-field-checkbox{flex-direction:row;align-items:center;gap:8px}.os-field-full{grid-column:1/-1}.os-field-label{color:var(--os-ink-2);letter-spacing:0;font-size:13.5px;font-weight:600}.os-textarea{border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);width:100%;min-height:60px;font-family:var(--os-font-sans);color:var(--os-ink);resize:vertical;outline:none;padding:8px 12px;font-size:15.5px;line-height:1.55}.os-textarea::placeholder{color:var(--os-ink-3)}.os-textarea:focus{border-color:var(--os-accent);background:var(--os-surface);box-shadow:0 0 0 3px #1b4f7214}.os-form-actions{border-top:1px solid var(--os-border-soft);justify-content:flex-end;align-items:center;gap:8px;padding-top:12px;display:flex}.os-panel-inset{background:var(--os-surface-alt);border:1px solid var(--os-border-soft);border-radius:var(--os-radius);margin-top:14px;padding:14px 16px}.os-sidebar-bottom{position:relative}.os-user-card{width:100%;font:inherit;color:inherit;text-align:left;min-height:var(--os-tap-min);background:0 0;border:0}.os-user-chevron{transition:transform .15s}.os-user-card.is-open .os-user-chevron{transform:rotate(-90deg)}}
@layer base{.os-popover-anchor{position:relative}.os-popover{top:calc(100% + var(--os-space-1));z-index:20;background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius);padding:var(--os-space-1);min-width:200px;position:absolute;right:0;box-shadow:0 4px 16px #00000014}.os-popover--sidebar{background:var(--os-sidebar);border-color:var(--os-sidebar-edge);left:var(--os-space-1);right:var(--os-space-1);box-shadow:0 4px 12px #0000000f}.os-popover--up{top:auto;bottom:calc(100% + var(--os-space-1))}.os-popover--wide{min-width:288px}.os-popover-section{padding:var(--os-space-1) var(--os-space-3)}.os-popover-label{letter-spacing:.06em;text-transform:uppercase;color:var(--os-ink-2);padding:var(--os-space-1) var(--os-space-3) 0;font-size:11px;font-weight:600;display:block}.os-popover-item{align-items:center;gap:var(--os-space-3);width:100%;min-height:var(--os-tap-min);padding:var(--os-space-2) var(--os-space-3);border-radius:var(--os-radius-sm,var(--os-radius));color:var(--os-ink);cursor:pointer;text-align:left;background:0 0;border:none;font-size:14px;text-decoration:none;display:flex}.os-popover-item:hover{background:var(--os-accent-soft)}.os-popover--sidebar .os-popover-item:hover{background:#0000000a}.os-popover-item:focus-visible{outline:2px solid var(--os-accent);outline-offset:-2px}.os-popover-item-icon{border-radius:var(--os-radius-sm,var(--os-radius));background:var(--os-surface-alt,var(--os-surface));width:32px;height:32px;color:var(--os-ink-2);flex-shrink:0;justify-content:center;align-items:center;display:flex}.os-popover-item:hover .os-popover-item-icon{color:var(--os-accent)}.os-popover-item-text{flex:1;min-width:0}.os-popover-item-main{color:var(--os-ink);font-size:14px;line-height:1.3;display:block}.os-popover-item-sub{color:var(--os-ink-2);margin-top:1px;font-size:11.5px;line-height:1.3;display:block}.os-popover-item-check{color:var(--os-accent);flex-shrink:0;font-size:14px}.os-popover-item--rec{background:var(--os-accent-soft)}.os-popover-item-badge{color:var(--os-accent);background:var(--os-accent-soft);border-radius:999px;flex-shrink:0;align-items:center;padding:1px 6px;font-size:11px;font-weight:600;display:inline-flex}.os-popover-divider{background:var(--os-border);height:1px;margin:var(--os-space-1) var(--os-space-3)}.os-popover--sidebar .os-popover-divider{background:var(--os-sidebar-edge)}.os-popover-switch-row{align-items:center;gap:var(--os-space-3);width:100%;min-height:var(--os-tap-min);padding:var(--os-space-2) var(--os-space-3);cursor:pointer;display:flex}.os-popover-switch-row:hover{background:var(--os-accent-soft)}.os-popover-switch-row:focus-visible{outline:2px solid var(--os-accent);outline-offset:-2px}.os-popover-switch{background:var(--os-border);border:1px solid var(--os-border);border-radius:999px;flex:none;width:36px;height:20px;transition:background .15s,border-color .15s;position:relative}.os-popover-switch:after{content:"";background:var(--os-surface);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #0003}.os-popover-switch-row[aria-checked=true] .os-popover-switch{background:var(--os-accent);border-color:var(--os-accent)}.os-popover-switch-row[aria-checked=true] .os-popover-switch:after{left:17px}.os-popover-switch-text{flex:1;min-width:0}.os-popover-switch-main{color:var(--os-ink);font-size:14px;line-height:1.3;display:block}.os-popover-switch-sub{color:var(--os-ink-2);margin-top:1px;font-size:11.5px;line-height:1.3;display:block}.os-popover-footer{padding:var(--os-space-2) var(--os-space-3);border-top:1px solid var(--os-border);color:var(--os-ink-2);font-size:13px}.os-popover-footer b{color:var(--os-ink);font-weight:600}.os-popover-version{padding:var(--os-space-1) var(--os-space-4);color:var(--os-ink-2);font-size:13px}}
@layer base{.os-customer-chip{vertical-align:middle;border-radius:999px;align-items:center;gap:6px;margin-left:10px;padding:2px 9px;font-size:13.5px;font-weight:500;display:inline-flex}.os-customer-chip.is-biz{background:var(--os-accent-soft);color:var(--os-accent);border:1px solid #d8e3f0}.os-customer-chip.is-personal{color:#166534;background:#f0fdf4;border:1px solid #dcfce7}.os-name-cluster{flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;display:flex}.os-name-display{cursor:text;border-radius:var(--os-radius);background:0 0;border:1px solid #0000;align-items:center;gap:8px;margin:-2px -8px;padding:2px 8px;transition:background .12s;display:inline-flex}.os-name-display:hover{background:var(--os-surface-alt)}.os-name-display:focus-visible{border-color:var(--os-accent);background:var(--os-surface-alt);outline:none}.os-name-pencil{width:30px;height:30px;color:var(--os-ink-3);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.os-name-display:hover .os-name-pencil{color:var(--os-ink-2)}.os-name-pencil svg{width:17px;height:17px}.os-name-edit{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.os-name-input{letter-spacing:-.02em;height:42px;font-size:24px;font-weight:700;font-family:var(--os-font-sans);color:var(--os-ink);border:1px solid var(--os-accent);border-radius:var(--os-radius);background:var(--os-surface);outline:none;min-width:240px;padding:0 12px;box-shadow:0 0 0 3px #1b4f7214}.os-name-input.is-error{border-color:#d98c8c;box-shadow:0 0 0 3px #991b1b14}.os-name-input::placeholder{color:var(--os-ink-3);font-weight:400}.os-name-actions{gap:8px;display:flex}.os-name-error{color:#991b1b;align-items:center;gap:6px;width:100%;margin:8px 0 0;font-size:13.5px;display:flex}.os-input.is-error{border-color:#f5d2d2}.os-input.is-error:focus{box-shadow:0 0 0 3px #991b1b14}.os-input-wrap{position:relative}.os-detect-chip{color:#991b1b;background:#fdf2f2;border:1px solid #f5d2d2;border-radius:999px;align-items:center;gap:6px;margin-top:6px;padding:3px 9px;font-size:13.5px;font-weight:500;display:inline-flex}.os-detect-chip.is-hidden{display:none}.os-detect-chip-hint{color:inherit;opacity:.7;font-weight:400}.os-contact-row{background:var(--os-surface-alt);border:1px solid var(--os-border-soft);border-radius:var(--os-radius);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.os-contact-row .os-contact-meta{color:var(--os-ink);font-size:15.5px}.os-contact-row .os-contact-meta .os-mono{font-family:var(--os-font-mono);color:var(--os-ink-2);margin-left:8px;font-size:15px}.os-contact-row.is-add{cursor:pointer;color:var(--os-ink-2);background:0 0;border-style:dashed;justify-content:flex-start;gap:8px}.os-contact-row.is-add:hover{color:var(--os-ink);border-color:var(--os-ink-4);background:var(--os-surface-alt)}.os-contact-row.is-add .os-plus{font-family:var(--os-font-mono);color:var(--os-ink-3);font-size:18px;font-weight:500}.os-contact-form{background:var(--os-surface-alt);border:1px solid var(--os-border);border-radius:var(--os-radius);grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px 16px;display:grid}.os-contact-form .os-form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.os-segmented-btn.is-overflow{color:var(--os-ink-2);font-family:var(--os-font-mono);background:0 0;border-style:dashed;font-size:15px}.os-segmented-btn.is-overflow:hover{background:var(--os-surface-alt);color:var(--os-ink);border-style:solid}.os-picker-wrap{position:relative}.os-picker-listbox{background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius);z-index:10;min-width:280px;margin:0;padding:8px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 12px #0000000f}.os-picker-listbox.is-hidden{display:none}.os-picker-input{border:1px solid var(--os-border);border-radius:var(--os-radius-sm);background:var(--os-surface);width:100%;height:30px;font-family:var(--os-font-sans);color:var(--os-ink);outline:none;margin-bottom:6px;padding:0 8px;font-size:15px}.os-picker-input:focus{border-color:var(--os-accent);box-shadow:0 0 0 3px #1b4f7214}.os-picker-scroll{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.os-picker-item{cursor:pointer;border-radius:var(--os-radius-sm);color:var(--os-ink);font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;padding:7px 10px;font-size:15.5px;display:flex}.os-picker-item:hover{background:var(--os-surface-alt)}.os-picker-item.is-active{background:var(--os-accent-soft);color:var(--os-ink)}.os-picker-item .plate{font-family:var(--os-font-mono);letter-spacing:.02em;font-weight:500}.os-picker-item .meta{color:var(--os-ink-3);font-size:14px}.os-panel-pills{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.os-collapse{border-top:1px dashed var(--os-border);margin-top:18px;padding-top:12px}.os-collapse summary{cursor:pointer;outline:none}.os-collapse summary::-webkit-details-marker{display:none}.os-collapse-toggle{color:var(--os-ink-2);letter-spacing:.06em;text-transform:uppercase;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:14px;font-weight:500;display:inline-flex}.os-collapse-toggle:hover{color:var(--os-ink)}.os-collapse-toggle .chev{color:var(--os-ink-3);font-size:12px;transition:transform .12s;display:inline-block}.os-collapse[open] .os-collapse-toggle .chev{transform:rotate(90deg)}.os-collapse-body{padding-top:10px}.os-maint-collapse{border-top:none;margin-top:0;padding-top:0}.os-maint-collapse>summary{cursor:pointer;outline:none;list-style:none;display:block}.os-maint-collapse>summary::-webkit-details-marker{display:none}.os-maint-toggle{align-items:center;gap:var(--os-space-2);min-height:var(--os-tap-min);padding:var(--os-space-3) var(--os-space-4);color:var(--os-ink);background:var(--os-surface);border-top:1px solid var(--os-border);border-bottom:1px solid var(--os-border);-webkit-user-select:none;user-select:none;font-size:16px;font-weight:700;display:flex}.os-maint-toggle:hover{background:var(--os-surface-alt)}.os-maint-toggle:active{background:var(--os-border)}.os-maint-chev{box-sizing:border-box;border-right:2px solid var(--os-accent);border-bottom:2px solid var(--os-accent);transform-origin:50%;flex:none;width:8px;height:8px;transition:transform .12s;display:inline-block;transform:rotate(-45deg)}.os-maint-collapse[open] .os-maint-chev{transform:rotate(45deg)}.os-maint-readout{padding:var(--os-space-2) var(--os-space-4) var(--os-space-3) calc(var(--os-space-4) + var(--os-space-5));color:var(--os-ink-2);background:var(--os-surface);font-size:12.5px;line-height:1.4}.os-maint-collapse[open] .os-maint-readout{display:none}.os-maint-collapse[open]{box-shadow:inset 3px 0 0 var(--os-accent)}.os-maint-collapse[open] .os-maint-toggle{border-top-color:var(--os-accent-soft)}.os-maint-body{padding:var(--os-space-2) var(--os-space-4) var(--os-space-4)}.os-maint-grp{margin:var(--os-space-3) 0 var(--os-space-2);padding-top:var(--os-space-2);border-top:1px dashed var(--os-border);letter-spacing:.5px;text-transform:uppercase;color:var(--os-ink-2);font-size:11px;font-weight:700}.os-maint-grp:first-child{margin-top:var(--os-space-1);border-top:none;padding-top:0}.os-maint-grid{gap:var(--os-space-2) var(--os-space-3);grid-template-columns:1fr 1fr;display:grid}.os-maint-cell{gap:var(--os-space-1);flex-direction:column;display:flex}.os-maint-cell.full{grid-column:1/-1}.os-maint-cell-label{color:var(--os-ink-2);font-size:12px;font-weight:500}.os-maint-chip{flex-shrink:0;margin-left:auto}.os-maint-readout{align-items:center;gap:var(--os-space-3);flex-wrap:wrap;justify-content:space-between;display:flex}.os-maint-quick{margin-left:auto}.os-maint-quick-btn{min-height:var(--os-control-h)}.os-maint-body .os-panel-head-actions{justify-content:flex-end;display:flex}.os-sub-head{letter-spacing:.08em;text-transform:uppercase;color:var(--os-ink-2);margin-bottom:10px;font-size:14px;font-weight:500}}
@layer base{.os-multi-wrap{position:relative}.os-multi-trigger{height:var(--os-control-h);border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);min-width:132px;font-family:var(--os-font-sans);color:var(--os-ink);cursor:pointer;white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;padding:0 12px;font-size:15.5px;display:inline-flex}.os-multi-trigger:hover{background:var(--os-surface-alt)}.os-multi-trigger-caret{color:var(--os-ink-3)}.os-multi-panel{background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius);z-index:20;min-width:240px;margin-top:4px;padding:6px;position:absolute;right:0;box-shadow:0 4px 12px #00000014}.os-multi-option{min-height:var(--os-tap-min);cursor:pointer;border-radius:var(--os-radius-sm);align-items:center;gap:8px;padding:6px 10px;font-size:15.5px;display:flex}.os-multi-option.is-checked{background:var(--os-surface-alt)}.os-multi-clear{color:var(--os-ink-2);cursor:pointer;background:0 0;border:0;margin-top:4px;padding:4px 10px;font-size:14px;display:block}.os-multi-clear:hover{color:var(--os-ink)}.os-multi-sect+.os-multi-sect{border-top:1px solid var(--os-border-soft)}.os-multi-sect-label{color:var(--os-ink-2);padding:6px 10px 2px;font-size:12px;font-weight:600}.os-multi-sect .os-segmented{gap:var(--os-space-1);width:100%;display:flex}.os-multi-sect .os-segmented-btn{padding:0 var(--os-space-2);flex:1}.os-multi-grid{gap:var(--os-space-1);grid-template-columns:1fr 1fr;display:grid}.os-filter-inline{display:contents}.os-filter-sheet-trigger{align-items:center;gap:var(--os-space-2);height:var(--os-control-h-touch);padding:0 var(--os-space-4);border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);font-family:var(--os-font-sans);font-size:var(--os-font-touch);color:var(--os-ink);cursor:pointer;flex:none;font-weight:600;display:none}.os-filter-sheet-trigger.is-active{border-color:var(--os-accent);color:var(--os-accent);background:var(--os-accent-soft)}.os-filter-sheet-trigger svg{width:17px;height:17px}.os-filter-sheet-badge{background:var(--os-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;display:inline-flex}.os-filter-sheet-scrim{z-index:100;background:#0000006b;position:fixed;inset:0}.os-filter-sheet{z-index:101;background:var(--os-surface);border-radius:18px 18px 0 0;flex-direction:column;max-width:480px;max-height:86dvh;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #0000002e}.os-filter-sheet-grip{background:var(--os-ink-4);width:38px;height:4px;margin:var(--os-space-2) auto 2px;border-radius:999px;flex:none}.os-filter-sheet-head{padding:var(--os-space-1) var(--os-space-3) var(--os-space-2);border-bottom:1px solid var(--os-border);flex:none;justify-content:space-between;align-items:center;display:flex}.os-filter-sheet-title{color:var(--os-ink);font-size:16px;font-weight:700}.os-filter-sheet-clear,.os-filter-sheet-x{font-family:var(--os-font-sans);cursor:pointer;min-height:var(--os-tap-min);padding:0 var(--os-space-2);color:var(--os-ink-2);background:0 0;border:0;align-items:center;display:inline-flex}.os-filter-sheet-clear{font-size:var(--os-font-touch)}.os-filter-sheet-x{min-width:var(--os-tap-min);justify-content:center;font-size:20px}.os-filter-sheet-body{min-height:0;padding:var(--os-space-2) var(--os-space-4) var(--os-space-3);flex:auto;overflow-y:auto}.os-filter-sheet-sect{padding:var(--os-space-4) 0;border-bottom:1px solid var(--os-border-soft)}.os-filter-sheet-sect:last-child{border-bottom:0}.os-filter-sheet-sect-label{letter-spacing:.06em;color:var(--os-ink-2);margin-bottom:var(--os-space-3);font-size:12px;font-weight:700}.os-filter-toggle-row{min-height:var(--os-control-h-touch);cursor:pointer;justify-content:space-between;align-items:center;display:flex}.os-filter-toggle-label{font-size:var(--os-font-touch);color:var(--os-ink);font-weight:500}.os-switch{flex:none;width:50px;height:30px;position:relative}.os-switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.os-switch-track{background:var(--os-border);border-radius:999px;transition:background .15s;position:absolute;inset:0}.os-switch-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.os-switch input:checked+.os-switch-track{background:var(--os-accent)}.os-switch input:checked~.os-switch-knob{transform:translate(20px)}.os-filter-sheet-seg{gap:var(--os-space-2);width:100%;display:flex}.os-filter-sheet-seg .os-segmented-btn{height:var(--os-control-h-touch);flex:1}.os-filter-sheet .os-multi-option{min-height:var(--os-control-h-touch)}.os-filter-sheet-foot{padding:var(--os-space-3) var(--os-space-4);padding-bottom:calc(var(--os-space-3) + env(safe-area-inset-bottom));border-top:1px solid var(--os-border);background:var(--os-surface);flex:none}.os-filter-sheet-apply{width:100%;height:var(--os-control-h-primary-touch);border-radius:var(--os-radius);background:var(--os-accent);color:#fff;font-family:var(--os-font-sans);font-size:var(--os-font-touch);cursor:pointer;border:0;font-weight:700}.os-date-chip{align-items:center;gap:var(--os-space-2);min-width:0;height:var(--os-control-h-touch);padding:0 var(--os-space-4);border:1px solid var(--os-accent);background:var(--os-accent-soft);font-family:var(--os-font-sans);font-size:var(--os-font-touch);color:var(--os-accent);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;flex:1 1 0;font-weight:600;display:none;overflow:hidden}.os-date-chip svg{flex:none;width:17px;height:17px}.os-date-chip-caret{flex:none;margin-left:auto;font-size:12px}.os-date-preset-grid{gap:var(--os-space-2);grid-template-columns:1fr 1fr;display:grid}.os-date-preset{height:var(--os-control-h-touch);border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);font-family:var(--os-font-sans);font-size:var(--os-font-touch);color:var(--os-ink);cursor:pointer}.os-date-preset[aria-pressed=true]{border-color:var(--os-accent);background:var(--os-accent-soft);color:var(--os-accent);font-weight:600}.os-date-custom-row{align-items:center;gap:var(--os-space-2);display:flex}.os-date-custom-row .os-input--date{flex:1 1 0;width:auto;min-width:0}.os-date-custom-dash{color:var(--os-ink-2);flex:none}.os-empty-quiet{color:var(--os-ink-4);margin:6px 0 10px;font-size:14px}.os-quote-editor.is-fresh .os-quote-section.is-empty{opacity:.55}.os-quote-editor.is-fresh .os-quote-section.is-empty .os-section-head{border-bottom-color:var(--os-border-soft);color:var(--os-ink-3);font-weight:500}.os-add-panel{border:1.5px solid var(--os-accent);background:var(--os-accent-soft);border-radius:var(--os-radius-lg);margin-bottom:22px;padding:12px}.os-add-panel .os-line-toolbar{margin-bottom:0}.os-add-panel-cap{color:var(--os-accent);align-items:center;gap:7px;margin:0 2px 9px;font-size:15px;font-weight:700;display:flex}.os-add-panel-cap .num{background:var(--os-accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;display:inline-flex}}@layer phone{@media (max-width:640px){.os-filter-inline{display:none}.os-filter-sheet-trigger{display:inline-flex}.os-filter-bar>.os-input--date,.os-filter-bar>.os-filter-date-dash{display:none}.os-date-chip{display:inline-flex}}}@layer motion{@media (prefers-reduced-motion:reduce){.os-switch-track,.os-switch-knob{transition:none}}}
@layer base{.stock-row{align-items:center;gap:12px;display:flex}.stock-val{font-family:var(--os-font-mono);font-variant-numeric:tabular-nums;font-size:16.5px;font-weight:500}.stock-val.is-bumped{animation:.5s os-bump}@keyframes os-bump{0%{color:#166534}to{color:var(--os-ink)}}.adjust-inset{background:var(--os-surface-alt);border:1px solid var(--os-border-soft);border-radius:var(--os-radius);margin-top:8px;padding:16px 18px}.adjust-inset.is-open{animation:.18s os-reveal}@keyframes os-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.adjust-grid{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.adjust-grid .field{flex-direction:column;gap:5px;display:flex}.adjust-grid .field label{letter-spacing:.04em;text-transform:uppercase;color:var(--os-ink-3);font-size:13px;font-weight:600}.adjust-grid .field input{font-family:var(--os-font-sans);color:var(--os-ink);border:1px solid var(--os-border);border-radius:var(--os-radius-sm);background:#fff;outline:none;padding:8px 10px;font-size:16px}.adjust-grid .field input:focus{border-color:var(--os-accent);box-shadow:0 0 0 3px var(--os-accent-soft)}.adjust-grid .field.qty input{text-align:right;width:84px;font-family:var(--os-font-mono);font-variant-numeric:tabular-nums}.adjust-grid .field.note input{width:200px}.adjust-grid .field input.is-error{border-color:#b91c1c;box-shadow:0 0 0 3px #fde8e8}.delta-preview{flex-direction:column;gap:5px;display:flex}.delta-preview .dp-cap{letter-spacing:.04em;text-transform:uppercase;color:var(--os-ink-3);font-size:13px;font-weight:600}.delta-val{font-family:var(--os-font-mono);font-variant-numeric:tabular-nums;padding:6px 0;font-size:18px;font-weight:500}.delta-val .from-to{color:var(--os-ink-3);margin-right:8px;font-size:15.5px}.delta-val .d-pos{color:#166534}.delta-val .d-neg{color:#b91c1c}.delta-val .d-zero{color:var(--os-ink-3)}.adjust-actions{gap:8px;margin-left:auto;display:flex}.field-error-msg{color:#b91c1c;min-height:14px;margin-top:8px;font-size:13.5px}.reason-tag{border:1px solid #0000;border-radius:999px;padding:2px 9px;font-size:13.5px;font-weight:500;display:inline-flex}.reason-tag.is-adjust{color:var(--os-warning);background:var(--os-warning-soft);border-color:#fef0c8}.reason-tag.is-purchase{color:var(--os-accent);background:var(--os-accent-soft);border-color:#d8e3f0}.reason-tag.is-completion{color:var(--os-ink-2);background:var(--os-surface-alt);border-color:var(--os-border)}}
@layer base{.os-modal-scrim{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.os-modal-card{background:var(--os-surface);border-radius:12px;flex-direction:column;width:100%;max-width:440px;max-height:calc(100dvh - 32px);display:flex;overflow:hidden;box-shadow:0 8px 32px #0000002e}.os-modal-card>form{flex-direction:column;flex:auto;min-height:0;display:flex}.os-modal-head{border-bottom:1px solid var(--os-border-soft);flex:none;justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex}.os-modal-head h3{color:var(--os-ink);margin:0;font-size:18px;font-weight:600}.os-modal-x{cursor:pointer;color:var(--os-ink-3);background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16.5px;line-height:1}.os-modal-x:hover{background:var(--os-surface-alt,#faf9f6)}.os-modal-body{flex-direction:column;flex:auto;gap:16px;min-height:0;padding:20px;display:flex;overflow-y:auto}.os-modal-foot{border-top:1px solid var(--os-border-soft);flex:none;justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.os-modal-card-wide{max-width:600px}.os-modal-foot-spacer{flex:auto}.os-modal-head-titles{align-items:center;gap:var(--os-space-2);display:flex}.os-field-stack{flex-direction:column;gap:4px;display:flex}.os-req{color:#b91c1c;margin-left:2px;font-size:.85em}.os-hint{color:var(--os-ink-3);font-size:13.5px}.os-field-error{color:#b91c1c;margin:0;font-size:14px}.os-row-claim{cursor:pointer;background:#fffdf7}.os-row-claim:hover{background:var(--os-warning-soft)}.os-row-claim td{color:var(--os-ink-2)}.claim-cue{color:var(--os-accent);vertical-align:middle;align-items:center;gap:4px;margin-left:8px;font-size:13px;font-weight:600;display:inline-flex}.os-modal-ctx-banner{background:var(--os-accent-soft);border-radius:var(--os-radius);color:var(--os-accent);border:1px solid #d8e3f0;align-items:center;gap:8px;padding:10px 12px;font-size:15px;display:flex}.os-ctx-plate{font-family:var(--os-font-mono);letter-spacing:.04em;font-weight:700}.os-btn-add-owner{width:100%;color:var(--os-accent);border-style:dashed;justify-content:flex-start}.os-form-listbox-item.is-candidate{flex-direction:column;gap:2px;display:flex}.os-candidate-name{color:var(--os-ink);margin-right:6px;font-weight:600}.os-candidate-link-tag{color:#166534;vertical-align:middle;background:#dcfce7;border:1px solid #bbf7d0;border-radius:999px;align-items:center;padding:1px 6px;font-size:13px;font-weight:500;display:inline-flex}.os-form-listbox-item-meta{color:var(--os-ink-3);font-size:13.5px}.os-form-listbox-item.os-quote-result{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.os-quote-result-main{align-items:baseline;gap:8px;min-width:0;display:flex}.os-quote-result-importing{font-family:var(--os-font-mono)}.os-field-input{border:1px solid var(--os-border);border-radius:var(--os-radius-sm);width:100%;font-size:16px;font-family:var(--os-font-sans);color:var(--os-ink);background:var(--os-surface);box-sizing:border-box;outline:none;padding:7px 10px}.os-field-input:focus{border-color:var(--os-accent);box-shadow:0 0 0 2px #1b4f721f}.os-field-input::placeholder{color:var(--os-ink-4)}.os-field-label{color:var(--os-ink-2);font-size:15px;font-weight:500}.danger-zone{border-top:1px solid var(--os-border);justify-content:space-between;align-items:center;gap:18px;margin-top:26px;padding-top:18px;display:flex}.dz-text{color:var(--os-ink-2);font-size:12px;line-height:1.55}.dz-text strong{color:var(--os-ink);font-weight:600}.dz-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.os-btn-danger{border-radius:var(--os-radius);height:32px;font-family:var(--os-font-sans);cursor:pointer;color:#b91c1c;background:#fff;border:1px solid #f0d4d4;flex-shrink:0;align-items:center;gap:6px;padding:0 13px;font-size:12.5px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.os-btn-danger:hover{background:#fef2f2;border-color:#e7b3b3}.os-btn-danger svg{width:14px;height:14px}.os-btn-danger[disabled]{opacity:.45;cursor:not-allowed}.os-btn-danger[disabled]:hover{background:#fff;border-color:#f0d4d4}.dz-blocked{color:var(--os-warning);background:var(--os-warning-soft);border:1px solid #fde6b3;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:5px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.dz-blocked svg{width:13px;height:13px}.os-modal-head-danger{align-items:center;gap:10px;display:flex}.os-modal-danger-ic{color:#b91c1c;background:#fef2f2;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.os-modal-danger-ic svg{width:17px;height:17px}.os-confirm-target{color:var(--os-ink-2);margin:0;font-size:13px;line-height:1.6}.os-btn-danger-solid{height:var(--os-control-h);border-radius:var(--os-radius);cursor:pointer;color:#fff;background:#b91c1c;border:1px solid #b91c1c;align-items:center;gap:6px;padding:0 15px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.os-btn-danger-solid:hover{background:#991b1b;border-color:#991b1b}.cascade-note{background:var(--os-warning-soft);border-radius:var(--os-radius);color:var(--os-warning);border:1px solid #fde6b3;margin-top:12px;padding:11px 13px;font-size:12.5px;line-height:1.7}.cascade-note .ct{align-items:center;gap:6px;margin-bottom:4px;font-weight:700;display:flex}.cascade-note .ct svg{width:14px;height:14px}.cascade-note ul{margin:2px 0 0;padding-left:18px}.cascade-note .ok{color:#166534}}
@layer base{.os-topbar,.os-scrim{display:none}.os-drawer{display:contents}.os-drawer-close{display:none}.os-admin-tabs{gap:var(--os-space-2);border-bottom:1px solid var(--os-border);margin-bottom:var(--os-space-4);display:flex}.os-admin-tab{height:var(--os-control-h);padding:0 var(--os-space-3);font-family:var(--os-font-sans);color:var(--os-ink-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-size:14px;font-weight:600}.os-admin-tab.is-active{color:var(--os-accent);border-bottom-color:var(--os-accent)}.os-admin-hub,.os-admin-back{display:none}.os-admin-panel{max-width:520px}.os-admin-stub{color:var(--os-ink-2);padding:var(--os-space-5) var(--os-space-3);text-align:center;background:var(--os-surface-alt);border:1px solid var(--os-border);border-radius:var(--os-radius);font-size:14px}.os-admin-hint{color:var(--os-ink-2);margin:var(--os-space-2) 0 0;font-size:12.5px;line-height:1.5}.os-data-note{margin-top:var(--os-space-5);padding-top:var(--os-space-5);border-top:1px solid var(--os-border)}.os-data-note-title{color:var(--os-ink);letter-spacing:-.01em;margin:0 0 var(--os-space-2);font-size:14px;font-weight:700}.os-data-note-body{color:var(--os-ink-2);max-width:46ch;margin:0;font-size:13.5px;line-height:1.7}.os-admin-logo{align-items:flex-start;gap:var(--os-space-2);margin-bottom:var(--os-space-3);flex-direction:column;display:flex}.os-admin-logo__preview{object-fit:contain;border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);max-width:180px;max-height:96px;padding:var(--os-space-1)}.os-admin-logo__empty{color:var(--os-ink-2)}.os-admin-logo__file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.os-admin-logo__error{color:var(--os-warning)}.os-members-group{margin-bottom:var(--os-space-5)}.os-members-group:last-child{margin-bottom:0}.os-members-group-title{margin:0 0 var(--os-space-2);color:var(--os-ink-2);font-size:13px;font-weight:700}.os-members-list{gap:var(--os-space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.os-members-row{justify-content:space-between;align-items:center;gap:var(--os-space-3);padding:var(--os-space-2) var(--os-space-3);background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius);display:flex}.os-members-name{align-items:center;gap:var(--os-space-2);min-width:0;color:var(--os-ink);font-size:14px;display:flex}.os-members-actions{align-items:center;gap:var(--os-space-2);flex:none;display:flex}.os-invite-qr{padding:var(--os-space-4) 0;justify-content:center;display:flex}.os-invite-qr svg{width:220px;max-width:100%;height:auto}.os-modules-note{margin:0 0 var(--os-space-4);color:var(--os-ink-2);font-size:13px;line-height:1.5}.os-modules-placeholder{padding:var(--os-space-4) var(--os-space-3);text-align:center;color:var(--os-ink-2);background:var(--os-surface-alt);border:1px dashed var(--os-border);border-radius:var(--os-radius);margin:0;font-size:13px}.os-module-toggle-row{justify-content:space-between;align-items:center;gap:var(--os-space-3);min-height:var(--os-control-h-touch);padding:var(--os-space-2) 0;cursor:pointer;display:flex}.os-module-toggle-label{font-size:var(--os-font-touch);color:var(--os-ink);font-weight:500}.os-invite-url{word-break:break-all;color:var(--os-ink-2);margin:0 0 var(--os-space-3);font-size:.85rem}}@layer touch{@media (max-width:1024px){.os-shell{flex-direction:column}.os-topbar{min-height:52px;padding:8px 14px 0;padding-top:calc(8px + env(safe-area-inset-top,0px));background:var(--os-sidebar);border-bottom:1px solid var(--os-sidebar-edge);flex-shrink:0;align-items:center;gap:10px;display:flex}.os-burger{border-radius:var(--os-radius);width:38px;height:38px;color:var(--os-ink);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.os-topbar-title{letter-spacing:-.02em;min-width:0;color:var(--os-ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:16px;font-weight:700;overflow:hidden}.os-drawer{z-index:51;width:248px;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--os-sidebar);transition:transform .24s;display:block;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 28px #0000002e}.os-drawer[data-open=true]{transform:translate(0)}.os-drawer .os-sidebar{border-right:none;width:100%;height:100%}.os-scrim{z-index:50;background:#1a16146b;display:block;position:fixed;inset:0}.os-drawer-close{top:calc(8px + env(safe-area-inset-top,0px));z-index:1;border-radius:var(--os-radius);width:38px;height:38px;color:var(--os-ink);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex;position:absolute;right:10px}.os-input,.os-input.is-inline{font-size:var(--os-font-touch)}input[type=date].os-input:not(.os-input--date){appearance:none;min-width:0}.os-content{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.os-line-table,.os-line-table tbody{display:block}.os-line-table thead{display:none}.os-line-table tbody td{border-bottom:0;padding:0}.os-line-table tbody tr{border:1px solid var(--os-border-soft);border-radius:var(--os-radius);background:var(--os-surface-alt);align-items:center;column-gap:8px;margin-bottom:9px;padding:11px 12px}.os-line-table tbody tr>.os-line-cell-index{width:auto;color:var(--os-ink-4);font-size:12px}.os-line-table tbody tr>.os-line-cell-action{width:auto}.os-line-table tbody tr .os-line-delete{min-width:40px;min-height:40px;font-size:22px}.os-line-table tbody tr>td:nth-child(2),.os-line-table tbody tr .os-line-label-cell,.os-line-table tbody tr .os-input.is-inline.is-label{width:100%;max-width:100%}.os-line-table tbody tr .os-input.is-inline.is-label{field-sizing:fixed;white-space:nowrap;text-overflow:ellipsis;width:100%;font-weight:500;overflow:hidden}.os-line-table tbody tr:has(.os-line-cell-center)>td:nth-child(2){min-width:0}.os-line-table tbody tr>.os-line-cell-num,.os-line-table tbody tr>.os-line-cell-center{flex-direction:column;gap:3px;display:flex}.os-line-table tbody tr>.os-line-cell-num:before,.os-line-table tbody tr>.os-line-cell-center:before{letter-spacing:.02em;color:var(--os-ink-3);font-size:10.5px;font-weight:600}.os-line-table tbody tr .os-input.is-inline.is-num-6,.os-line-table tbody tr .os-input.is-inline.is-center-4{border-color:var(--os-border);background:var(--os-surface);min-height:40px}.os-line-table tbody tr .os-input.is-inline.is-num-6.is-warning{border-color:var(--os-warning);background:var(--os-warning-soft)}.os-line-table tbody tr:has(.os-line-cell-center){grid-template-columns:auto auto 1fr auto;grid-template-areas:"idx name name del""px qty sub sub";row-gap:10px;display:grid}.os-line-table tbody tr:has(.os-line-cell-center)>.os-line-cell-index{grid-area:idx}.os-line-table tbody tr:has(.os-line-cell-center)>td:nth-child(2){grid-area:name}.os-line-table tbody tr:has(.os-line-cell-center)>td:nth-child(3){grid-area:px}.os-line-table tbody tr:has(.os-line-cell-center)>.os-line-cell-center{grid-area:qty}.os-line-table tbody tr:has(.os-line-cell-center)>td:nth-child(5){grid-area:sub}.os-line-table tbody tr:has(.os-line-cell-center)>.os-line-cell-action{grid-area:del;place-self:center end}.os-line-table tbody tr:has(.os-line-cell-center)>td:nth-child(3){align-items:flex-start}.os-line-table tbody tr:has(.os-line-cell-center)>.os-line-cell-center{align-items:flex-start}.os-line-table tbody tr:has(.os-line-cell-center)>td:nth-child(3):before{content:"單價"}.os-line-table tbody tr:has(.os-line-cell-center)>.os-line-cell-center:before{content:"數量"}.os-line-table tbody tr:has(.os-line-cell-center)>td:nth-child(5){align-items:flex-end;font-size:17px;font-weight:700}.os-line-table tbody tr:has(.os-line-cell-center)>td:nth-child(5):before{content:"小計";color:var(--os-ink-3);font-size:10.5px;font-weight:600}.os-line-table tbody tr:not(:has(.os-line-cell-center)){grid-template-columns:auto 1fr auto;grid-template-areas:"idx name del""amt amt amt";row-gap:10px;display:grid}.os-line-table tbody tr:not(:has(.os-line-cell-center))>.os-line-cell-index{grid-area:idx}.os-line-table tbody tr:not(:has(.os-line-cell-center))>td:nth-child(2){grid-area:name}.os-line-table tbody tr:not(:has(.os-line-cell-center))>td:nth-child(3){grid-area:amt}.os-line-table tbody tr:not(:has(.os-line-cell-center))>.os-line-cell-action{grid-area:del;place-self:center end}.os-line-table tbody tr:not(:has(.os-line-cell-center))>td:nth-child(3){align-items:flex-start}.os-line-table tbody tr:not(:has(.os-line-cell-center))>td:nth-child(3):before{content:"金額"}.os-line-table tbody tr:not(:has(.os-line-cell-center)) .os-line-label-cell .os-input.is-inline{flex:auto;width:100%;min-width:0}.os-line-table tbody tr.os-line-fresh{border-color:var(--os-accent);background:var(--os-accent-soft);box-shadow:inset 3px 0 0 var(--os-accent)}.os-line-toolbar{flex-wrap:wrap}.os-line-toolbar>.os-form-picker{flex:auto}.os-create-row{flex-wrap:wrap;padding:10px 12px 12px}.os-create-row .lead{flex:1 0 100%;margin-bottom:9px}.os-create-row .spacer{display:none}.os-create-kind-btn{border-radius:var(--os-radius);flex:1 1 0;justify-content:center;min-height:46px;font-size:15px}.os-table-wrap{background:0 0;border:none;border-radius:0;overflow:visible}.os-table,.os-table tbody{display:block}.os-table thead{display:none}.os-table tbody tr{border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);margin-bottom:9px;padding:6px 14px;display:block}.os-table tbody tr:last-child{border-bottom:1px solid var(--os-border)}.os-table tbody td{text-align:left;border-bottom:0;padding:8px 0;display:block}.os-table tbody td:has(>.os-cell-link){padding:0}.os-table tbody td>.os-cell-link{-webkit-tap-highlight-color:transparent;margin:0 -14px;padding:8px 14px}.os-table tbody tr:active{background:var(--os-surface-alt)}.os-table tbody td.os-empty{text-align:center;padding:32px 14px}.os-table tbody td[data-label]:before{content:attr(data-label);letter-spacing:.04em;color:var(--os-ink-3);margin-bottom:1px;font-size:12px;font-weight:600;display:block}.os-list-card tbody tr{padding:var(--os-space-2) 14px;border:1px solid var(--os-border);flex-wrap:wrap;display:flex;position:relative}.os-list-card .os-list-card__hero{font-size:var(--os-font-touch);flex:100%;order:1;font-weight:600}.os-list-card .os-list-card__meta{width:auto;color:var(--os-ink-2);font-size:var(--os-font-touch);flex:none;order:2}.os-list-card .os-list-card__meta .os-cell-link{margin:0;padding:0;display:inline-block}.os-list-card .os-list-card__meta--owner:before{content:"·";color:var(--os-ink-2);margin:0 .4em}.os-list-card .os-list-card__meta--owner[data-owner-empty]{display:none}.os-list-card .os-list-card__figure{flex:100%;order:3;justify-content:space-between;align-items:baseline;display:flex}.os-list-card .os-list-card__figure[data-label]:before{content:attr(data-label);color:var(--os-ink-2);font-size:var(--os-font-touch);font-weight:500}.os-list-card .os-list-card__figure .os-cell-link{margin:0;padding:0}.os-list-card .os-list-card__chip{top:var(--os-space-2);order:0;width:auto;margin:0;padding:0;position:absolute;right:14px}.os-list-card .os-list-card__chip .os-cell-link{margin:0;padding:0;display:inline-flex}.os-attributee-stats .os-list-card tbody tr.os-group-row{background:0 0;border:none;margin:14px 0 4px;padding:0;display:block}.os-attributee-stats .os-list-card tbody tr.os-group-row td{letter-spacing:.04em;text-transform:uppercase;color:var(--os-ink-3);background:0 0;border:none;padding:0;font-size:11.5px;display:block}.os-attributee-stats .os-list-card tbody tr.is-inactive .os-list-card__figure{color:var(--os-ink-3)}.os-money-grid{grid-template-columns:1fr}.os-filter-bar{flex-wrap:wrap}.os-filter-bar .os-search{flex:100%;max-width:none}.os-filter-bar .os-input--date{flex:1 1 0;width:auto;min-width:0}.os-filter-bar .os-search+.os-input--date{margin-left:0}.os-filter-bar .os-multi-wrap{flex:100%}.os-filter-bar .os-multi-trigger{width:100%;min-width:0}.os-filter-bar .os-search input,.os-filter-bar .os-input--date,.os-filter-bar .os-multi-trigger{height:var(--os-control-h-touch)}.os-metric-tiles{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.os-metric{min-width:0}.os-filter-bar .os-segmented-btn{height:var(--os-control-h-touch)}.os-contact-row{flex-wrap:wrap}.os-contact-row .os-link{white-space:nowrap;min-width:var(--os-tap-min);min-height:var(--os-tap-min);justify-content:center;align-items:center;display:inline-flex}.os-collapse summary{min-height:var(--os-tap-min);align-items:center;display:flex}.os-collapse-toggle{flex-wrap:wrap}.os-menu-browse-backdrop{z-index:100;background:#0006}.os-menu-browse-pop{z-index:101;border-radius:13px 13px 0 0;width:100%;max-height:70vh;margin:0;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #0000002e}.os-btn,.os-input,.os-search input,.os-segmented-btn,.os-pager-btn,.os-voice-btn,.os-menu-browse-btn,.os-onesentence-btn{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch)}.os-onesentence-btn>.ic{font-size:var(--os-font-touch)}.os-dictation-textarea{min-height:96px}.os-btn-primary{min-height:var(--os-control-h-primary-touch);font-size:var(--os-font-touch)}.os-modal-card-wide .os-modal-foot{gap:var(--os-space-2);flex-wrap:wrap}.os-modal-card-wide .os-modal-foot-spacer{display:none}.os-modal-card-wide .os-modal-foot .os-btn-primary{min-height:var(--os-control-h-primary-touch);flex:100%}.os-modal-foot .os-btn-primary,.os-modal-foot .os-btn-danger-solid{min-height:var(--os-control-h-touch)}.os-nav-item{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch)}.os-burger,.os-drawer-close,.os-line-delete{min-width:var(--os-control-h-touch);min-height:var(--os-control-h-touch)}.os-segmented,.os-pager,.os-popover-form-actions{gap:var(--os-space-2)}.os-cell-muted,.os-row-note,.os-defs dt,.os-meta-date,.os-empty,.os-autosave{color:var(--os-ink-2)}.os-metric-label{font-size:var(--os-font-touch)}.os-form-grid .os-input:not(.is-inline){max-width:480px}.os-form-listbox-item{min-height:var(--os-control-h-touch);padding:var(--os-space-3) 14px;font-size:var(--os-font-touch)}.os-form-listbox-item.is-line .os-form-listbox-item-price{font-size:16px}.os-form-listbox{max-height:min(calc(var(--os-vvh,100svh) / 2), 380px)}.os-multi-trigger,.os-multi-option,.os-picker-input,.os-field-input,.os-btn-danger{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch)}.os-btn-danger-solid{min-height:var(--os-control-h-primary-touch);font-size:var(--os-font-touch)}.os-create-kind-btn{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch)}.os-context-listbox-item{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch);align-items:center;display:flex}.os-contact-row .os-link,.os-collapse-toggle{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch)}.os-collapse summary{min-height:var(--os-control-h-touch)}.os-textarea{font-size:var(--os-font-touch)}.os-maint-toggle{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch)}.os-maint-quick-btn{min-height:var(--os-control-h-touch)}.os-popover-item,.os-popover-switch-row{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch)}.os-admin-tabs{display:none}.os-admin[data-section=""] .os-admin-hub{gap:var(--os-space-2);flex-direction:column;display:flex}.os-admin[data-section=""] .os-admin-panel{display:none}.os-admin:not([data-section=""]) .os-admin-back{display:inline-flex}.os-admin-hub-row{align-items:center;gap:var(--os-space-3);min-height:var(--os-control-h-touch);padding:var(--os-space-2) var(--os-space-3);background:var(--os-surface);border:1px solid var(--os-border);border-radius:var(--os-radius);font-family:var(--os-font-sans);text-align:left;cursor:pointer;display:flex}.os-admin-hub-text{gap:var(--os-space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.os-admin-hub-label{font-size:var(--os-font-touch);color:var(--os-ink);font-weight:600}.os-admin-hub-desc{color:var(--os-ink-2);font-size:13px}.os-admin-hub-chev{color:var(--os-ink-3);flex:none;font-size:20px}.os-admin-back{min-height:var(--os-control-h-touch);padding:0 var(--os-space-2);color:var(--os-accent);font-family:var(--os-font-sans);font-size:var(--os-font-touch);cursor:pointer;margin-bottom:var(--os-space-2);background:0 0;border:none;align-items:center;font-weight:600}.os-admin-panel{max-width:none}.os-members-row{flex-wrap:wrap}.os-members-name{font-size:var(--os-font-touch)}.os-members-actions{flex-wrap:wrap}}}
@layer base{.os-roster-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:22px 0 10px;display:flex}.os-roster-section-title{color:var(--os-ink);margin:0;font-size:14px;font-weight:700}.os-btn-sm{border-radius:var(--os-radius);border:1px solid var(--os-border);background:var(--os-surface);height:28px;color:var(--os-ink);cursor:pointer;font-size:13px;font-family:var(--os-font-sans);align-items:center;gap:5px;padding:0 10px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.os-btn-sm:hover{background:var(--os-surface-alt);border-color:var(--os-ink-4)}.os-table tbody tr.is-inactive td:first-child{color:var(--os-ink-2);text-decoration:line-through}.os-tag.is-worker{color:var(--os-accent);background:var(--os-accent-soft);border-color:#d8e3f0}.os-tag.is-partner{color:var(--os-ink-2);background:var(--os-surface-alt);border-color:var(--os-border)}.os-tag.is-house{color:#6b7177;border-color:var(--os-border);background:#eef0f2}.os-attribution-sumstrip{border-bottom:1px solid var(--os-border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:14px;display:flex}.os-attribution-sumstrip-label{letter-spacing:.06em;color:var(--os-ink-3);font-size:11px;font-weight:700}.os-attribution-seg{font-variant-numeric:tabular-nums;gap:7px}.os-attribution-seg-amt{font-weight:700}.os-attribution-job{flex-direction:column;gap:4px;display:flex}.os-attribution-lines{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.os-attribution-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.os-attribution-line-label{color:var(--os-ink-2);flex:none;font-size:15.5px;font-weight:500}.os-attribution-line select{flex:auto;min-width:140px}.os-attribution-line select.is-inherit{color:var(--os-ink-2)}.os-attributee-stats{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.os-section-title{color:var(--os-ink-3);font-size:13.5px;font-weight:600}td.is-num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--os-font-mono,monospace)}.os-table tbody tr.os-group-row td{background:var(--os-surface-alt);text-transform:uppercase;color:var(--os-ink-3);letter-spacing:.04em;border-bottom:1px solid var(--os-border);font-size:11.5px}.os-period-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.os-period-label{color:var(--os-ink-2);font-size:15.5px;font-weight:500}.os-period-select{height:var(--os-control-h);border:1px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);color:var(--os-ink);font-family:var(--os-font-sans);cursor:pointer;outline:none;padding:0 8px;font-size:15.5px;transition:border-color .12s,box-shadow .12s}.os-period-select:focus{border-color:var(--os-accent);box-shadow:0 0 0 3px #1b4f7214}.os-period-note{color:var(--os-ink-3);font-size:14px}.os-tag.is-bad{color:#991b1b;background:#fdf2f2;border-color:#f5d2d2}.os-btn-primary.is-disabled{color:#fff;cursor:not-allowed;background:#d9d4cd;border-color:#d9d4cd}.os-btn-line{background:var(--os-line);border-color:var(--os-line);color:#053b16}.einv-issued{border-radius:var(--os-radius);background:#f0fdf4;border:1px solid #dcfce7;align-items:center;gap:14px;padding:14px 16px;display:flex}.einv-issued .ck{color:#166534;background:#dcfce7;border-radius:999px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:21px;display:flex}.einv-issued .no{font-family:var(--os-font-mono);letter-spacing:.5px;font-size:18px;font-weight:700}.einv-issued .mt{color:var(--os-ink-2);margin-top:2px;font-size:12.5px}.einv-statebar{border-radius:var(--os-radius);align-items:center;gap:12px;padding:13px 15px;display:flex}.einv-statebar.pending{background:var(--os-warning-soft);border:1px solid #fef0c8}.einv-statebar.bad{background:#fdf2f2;border:1px solid #f5d2d2}.einv-statebar .st{font-size:14.5px;font-weight:700}.einv-statebar.pending .st{color:var(--os-warning)}.einv-statebar.bad .st{color:#991b1b}.einv-statebar .ss{color:var(--os-ink-2);margin-top:1px;font-size:12px}.spinner{border:2.5px solid #fde6c8;border-top-color:#b45309;border-radius:999px;flex:none;width:20px;height:20px}.einv-desc{font-family:var(--os-font-mono);color:#991b1b;border-radius:var(--os-radius-sm);word-break:break-all;background:#fdf2f2;border:1px solid #f5d2d2;margin-top:10px;padding:7px 10px;font-size:11.5px}.einv-actions{gap:8px;margin-top:12px;display:flex}.einv-hint{color:var(--os-ink-3);margin:10px 2px 0;font-size:12.5px;line-height:1.55}.einv-hint.warn{color:var(--os-warning)}.einv-opts{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.einv-opt{border:1.5px solid var(--os-border);border-radius:var(--os-radius);background:var(--os-surface);cursor:pointer;text-align:left;width:100%;font:inherit;padding:9px 11px}.einv-opt.sel{border-color:var(--os-accent);background:var(--os-accent-soft)}.einv-opt .ot{align-items:center;gap:7px;font-size:14px;font-weight:700;display:flex}.einv-opt.sel .ot{color:var(--os-accent)}.einv-opt .od{color:var(--os-ink-3);margin-top:2px;font-size:11px}.einv-dot{border:1.5px solid var(--os-ink-4);border-radius:999px;flex:none;width:13px;height:13px}.einv-opt.sel .einv-dot{border-color:var(--os-accent);background:var(--os-accent);box-shadow:inset 0 0 0 2.5px #fff}.einv-field{margin-top:12px}.einv-field-label{color:var(--os-ink-2);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.einv-field .os-error{margin-top:5px}}
@layer base{.os-slip-capture__file-input{display:none}.os-slip-capture__btn{background:var(--os-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:opacity .15s;display:inline-flex}.os-slip-capture__btn:disabled{opacity:.6;cursor:not-allowed}.os-slip-capture__btn:not(:disabled):hover{opacity:.88}.os-slip-capture__error{color:var(--os-error,#dc2626);margin:8px 0 0;font-size:13px}.os-slips-grid{grid-template-columns:repeat(auto-fill, minmax(var(--os-slips-col-min), 1fr));gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.os-slips-card{border:1px solid var(--os-border,#e2e8f0);background:var(--os-surface);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.os-slips-card .os-slips-thumb{width:var(--os-slips-thumb-w);aspect-ratio:3/2;object-fit:cover;border-radius:var(--os-radius-sm);flex-shrink:0;height:auto}.os-slips-card .os-slips-thumb-placeholder{background:var(--os-surface-alt);color:var(--os-ink-2);justify-content:center;align-items:center;font-size:11px;display:flex}.os-slips-body{gap:var(--os-space-1);flex-direction:column;flex:auto;min-width:0;display:flex}.os-slips-hero{color:var(--os-ink);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.os-slips-hero.is-empty{color:var(--os-ink-2);font-weight:500}.os-slips-meta{align-items:baseline;gap:var(--os-space-1);color:var(--os-ink-2);font-size:11px;display:flex}.os-slips-age:before{content:"·";margin-right:var(--os-space-1);color:var(--os-ink-2)}.os-slips-card.is-stale .os-slips-age{color:var(--os-warning);font-weight:600}.os-slips-card.is-stale{background:var(--os-warning-soft);border-color:var(--os-warning-soft)}.os-slips-detail{color:var(--os-ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.os-slips-card.is-unassigned{border-left:3px solid var(--os-accent)}.os-slips-rail{justify-content:space-between;align-items:flex-end;gap:var(--os-space-1);flex-direction:column;flex-shrink:0;display:flex}.os-slips-chevron{border-right:2px solid var(--os-ink-3);border-bottom:2px solid var(--os-ink-3);align-self:flex-end;width:8px;height:8px;transform:rotate(-45deg)}.os-slips-ext{margin-top:var(--os-space-1);align-self:flex-start;font-size:11px}.os-slips-ext-spin{border:2px solid #fde6c8;border-top-color:#b45309;border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:.8s linear infinite os-autosave-spin;display:inline-block}.os-slips-ext-hint{color:var(--os-ink-2);font-size:11px}.os-slips-polling{align-items:center;gap:var(--os-space-2);margin:0 0 var(--os-space-2);color:var(--os-ink-2);font-size:11px;display:flex}.os-slip-skeleton-input,.os-slip-skeleton-line{height:var(--os-control-h)}.os-slip-fail-banner{gap:var(--os-space-2);padding:var(--os-space-2) var(--os-space-3);border-radius:var(--os-radius);color:#991b1b;background:#fdf2f2;border:1px solid #f5d2d2;align-items:flex-start;margin:0;line-height:1.5;display:flex}.os-slip-triage-assign-hint{margin-right:var(--os-space-2);color:var(--os-ink-2);align-self:center}.os-slips-card-btn{all:unset;gap:var(--os-space-3);width:100%;padding:var(--os-space-3);min-height:var(--os-tap-min);cursor:pointer;text-align:left;align-items:stretch;display:flex}.os-slips-card-btn:focus-visible{outline:2px solid var(--os-accent);outline-offset:2px;border-radius:4px}.os-slip-triage-field{flex-direction:column;gap:.25rem;display:flex}.os-slip-triage-label{color:var(--os-ink-2);font-size:.75rem;font-weight:500}.os-slip-triage-pending{align-items:center;gap:var(--os-space-2);color:var(--os-ink-2);margin:0;font-size:.75rem;font-weight:500;display:flex}.os-ai-note{color:var(--os-ink-2);margin-top:.125rem;font-size:.7rem}.os-slip-triage-field [data-ai-filled=true]{border-color:var(--os-accent);background:color-mix(in srgb, var(--os-accent) 5%, transparent)}.os-slip-triage-lines{gap:var(--os-space-3);flex-direction:column;display:flex}.os-slip-triage-line{gap:var(--os-space-3);background:var(--os-surface-alt);border:1px solid var(--os-border-soft);border-radius:var(--os-radius);padding:var(--os-space-4);flex-direction:column;display:flex}.os-slip-triage-line__index{min-width:22px;height:22px;color:var(--os-ink-2);font-family:var(--os-font-mono);justify-content:center;align-self:flex-start;align-items:center;font-size:.75rem;font-weight:500;display:inline-flex}.os-slip-triage-line__row{gap:var(--os-space-2);grid-template-columns:2fr 1fr 1fr;align-items:end;display:grid}.os-job-picker{position:relative}.os-job-picker__input{border:1px solid var(--os-border,#e5e7eb);background:var(--os-surface,#fff);width:100%;color:inherit;border-radius:6px;outline:none;padding:.5rem .75rem;font-size:.875rem}.os-job-picker__input:focus{border-color:var(--os-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--os-accent) 15%, transparent)}.os-job-picker__listbox{background:var(--os-surface,#fff);border:1px solid var(--os-border,#e5e7eb);z-index:300;border-radius:6px;max-height:260px;margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.os-job-picker__option{cursor:pointer;border-bottom:1px solid var(--os-border-soft);flex-direction:column;gap:.125rem;padding:.625rem .75rem;display:flex}.os-job-picker__option:last-child{border-bottom:none}.os-job-picker__option:hover,.os-job-picker__option[aria-selected=true]{background:color-mix(in srgb, var(--os-accent) 8%, transparent)}.os-job-picker__option-meta{color:var(--os-ink-2);font-size:.7rem}.os-job-picker__selected-label{color:var(--os-accent);padding:.375rem 0;font-size:.8rem;font-weight:500}.os-slip-triage-linked-slot{gap:var(--os-space-2);flex-direction:column;display:flex}.os-slip-triage-linked{justify-content:space-between;align-items:center;gap:var(--os-space-3);background:var(--os-accent-soft);border:1px solid color-mix(in srgb, var(--os-accent) 20%, transparent);border-radius:var(--os-radius);padding:var(--os-space-3);display:flex}.os-slip-triage-linked-text{min-width:0}.os-slip-triage-linked-who{color:var(--os-ink);font-size:.875rem;font-weight:600}.os-slip-triage-goto{gap:var(--os-space-1);flex:none;text-decoration:none}.os-slip-triage-repick{all:unset;cursor:pointer;color:var(--os-accent);align-self:flex-start;font-size:.75rem;font-weight:500}.os-slip-triage-repick:focus-visible{outline:2px solid var(--os-accent);outline-offset:2px}.os-slip-triage-staged{align-self:flex-start;gap:var(--os-space-2)}.os-slip-triage-staged-text{font-weight:600}.os-slip-triage-staged-rm{all:unset;cursor:pointer;min-width:var(--os-control-h);min-height:var(--os-control-h);color:var(--os-warning);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.os-slip-triage-staged-rm:focus-visible{outline:2px solid var(--os-accent);outline-offset:2px}.os-slip-triage-hint{color:var(--os-ink-2);margin:0;font-size:.75rem}.os-slip-cost-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.os-slip-cost-row{border-bottom:1px solid var(--os-border,#e5e5e5);align-items:center;gap:12px;padding:8px 0;display:flex}.os-slip-cost-thumb-btn{cursor:pointer;background:0 0;border:0;flex:none;padding:0}.os-slip-cost-thumb-btn .os-slips-thumb{object-fit:cover;border-radius:4px;width:48px;height:48px}.os-slip-cost-meta{flex-wrap:wrap;flex:auto;gap:4px 10px;min-width:0;display:flex}.os-slip-cost-vendor{font-weight:600}.os-slip-cost-date,.os-slip-cost-concept{color:var(--os-ink-2)}.os-slip-cost-amount{font-variant-numeric:tabular-nums;flex:none}.os-slip-triage-photo-band{cursor:zoom-in;background:var(--os-surface-alt);border:1px solid var(--os-border-soft);border-radius:var(--os-radius);justify-content:center;align-items:center;width:100%;max-height:240px;padding:0;display:flex;overflow:hidden}.os-slip-triage-photo-band img{object-fit:contain;width:100%;height:auto;max-height:240px;display:block}.os-slip-triage-photo-band:focus-visible{outline:2px solid var(--os-accent);outline-offset:2px}.os-slip-triage-main-col{gap:var(--os-space-4);flex-direction:column;display:flex}.os-slip-viewer-backdrop{z-index:1000;background:#0009;position:fixed;inset:0}.os-slip-viewer{z-index:1001;background:var(--os-surface,#fff);border-radius:8px;flex-direction:column;gap:12px;width:min(720px,96vw);max-height:92vh;padding:16px;display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.os-slip-viewer-photo{justify-content:center;max-height:60vh;display:flex;overflow:auto}.os-slip-viewer-img{cursor:zoom-in;max-width:100%;height:auto}.os-slip-viewer-img--zoom{cursor:zoom-out;width:200%;max-width:none}.os-slip-viewer-quote{margin:0;font-weight:600}.os-slip-viewer-foot{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.os-doc-capture{gap:var(--os-space-2,.5rem);flex-direction:column;display:flex}.os-doc-capture__file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}.os-doc-capture__btn{width:100%}.os-doc-notice{color:var(--os-ink-3,#a8a29e);text-align:center;font-size:.875rem}.os-doc-divider{align-items:center;gap:var(--os-space-2,.5rem);color:var(--os-ink-3,#a8a29e);font-size:.875rem;display:flex}.os-doc-divider:before,.os-doc-divider:after{content:"";border-top:1px solid var(--os-border,#ece9e4);flex:1}.os-vehicle-plate-field .os-field-input{font-weight:700}.os-field-group-label{color:var(--os-ink-2);padding-top:var(--os-space-2);border-top:1px dashed var(--os-border);margin:0;font-size:.8125rem;font-weight:700}.os-field-grid-2{gap:var(--os-space-3);grid-template-columns:1fr 1fr;display:grid}.os-field-grid-2__full{grid-column:1/-1}.os-ai-source{align-items:center;gap:var(--os-space-3);background:var(--os-accent-soft);border:1px solid var(--os-accent);border-radius:var(--os-radius);padding:var(--os-space-3);display:flex}.os-ai-source__thumb{border-radius:var(--os-radius-sm);border:1px solid var(--os-accent);background:var(--os-accent-soft);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:36px;display:flex;overflow:hidden}.os-ai-source__thumb svg{width:22px;height:22px;color:var(--os-accent);opacity:.75}.os-ai-source__text{color:var(--os-accent);font-size:.8125rem;line-height:1.4}.os-ai-source__text b{font-weight:700}.os-ai-source__text .sub{color:var(--os-ink-2);margin-top:1px;font-size:.75rem;font-weight:400;display:block}.os-field-unread .os-field-input{border-color:var(--os-warning);background:var(--os-warning-soft);border-left-width:3px}.os-unread-tag{margin-left:var(--os-space-1);padding:0 var(--os-space-1);background:var(--os-warning-soft);color:var(--os-warning);border:1px solid var(--os-warning);white-space:nowrap;vertical-align:middle;border-radius:999px;align-items:center;gap:3px;font-size:.6875rem;font-weight:700;line-height:1.6;display:inline-flex}}@layer motion{@media (prefers-reduced-motion:reduce){.os-slips-ext-spin{animation:none}}}@layer phone{@media (max-width:640px){.os-slip-viewer{width:100vw;height:100dvh;max-height:100dvh;padding-top:calc(var(--os-space-4) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--os-space-4) + env(safe-area-inset-bottom,0px));border-radius:0;top:0;left:0;transform:none}.os-slip-viewer-photo{max-height:none}.os-line-toolbar>.os-form-picker{flex:100%}.os-line-toolbar>.os-onesentence-btn{flex:auto;justify-content:center}.os-money-grid{grid-template-columns:1fr}.os-attribution-line{flex-wrap:wrap}.os-attribution-line-label{flex-basis:100%}}}
@layer base{.os-suggest-rail{gap:var(--os-space-2);padding:var(--os-space-2) 0 var(--os-space-3);flex-wrap:wrap;display:flex}.os-suggest-chip{align-items:center;gap:var(--os-space-1);min-height:var(--os-tap-min);padding:var(--os-space-2) var(--os-space-3);border:1.5px solid var(--os-accent);background:var(--os-accent-soft);color:var(--os-accent);cursor:pointer;white-space:nowrap;border-radius:20px;font-size:14px;transition:background .12s;display:inline-flex}.os-suggest-chip:hover,.os-suggest-chip:focus-visible{background:var(--os-accent);color:#fff}.os-suggest-chip.is-labor{border-style:dashed}.os-suggest-rail.is-recalling .os-suggest-chip{opacity:.5}.os-suggest-skeleton{min-height:var(--os-tap-min);background:linear-gradient(90deg, var(--os-surface-alt), var(--os-border), var(--os-surface-alt));background-size:200% 100%;border-radius:20px;animation:1.2s linear infinite os-skeleton-shimmer;display:inline-block}.os-suggest-skeleton.is-w1{width:6ch}.os-suggest-skeleton.is-w2{width:9ch}.os-suggest-skeleton.is-w3{width:5ch}.os-suggest-recall{align-items:center;gap:var(--os-space-1);color:var(--os-accent);white-space:nowrap;align-self:center;font-size:14px;display:inline-flex}}@layer motion{@media (prefers-reduced-motion:reduce){.os-suggest-skeleton{animation:none}}}
@layer touch{@media (max-width:1024px){.os-slip-triage-line__row{grid-template-columns:1fr 1fr}.os-slip-triage-line__variant{grid-column:1/-1}.os-job-picker__input{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch)}.os-job-picker__option{min-height:var(--os-control-h-touch);font-size:var(--os-font-touch);justify-content:center}.os-slips-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.os-slips-hero,.os-slips-meta,.os-slips-age,.os-slips-detail,.os-slip-triage-label,.os-period-select,.os-slip-triage-linked-who{font-size:var(--os-font-touch)}.os-slip-triage-repick{min-height:var(--os-tap-min);font-size:var(--os-font-touch)}.os-slip-triage-staged-rm{min-width:var(--os-control-h-touch);min-height:var(--os-control-h-touch)}.os-slip-triage-hint{font-size:var(--os-font-touch)}}}@layer phone{@media (max-width:640px){.os-slips-grid{grid-template-columns:1fr}.os-slips-card .os-slips-thumb{width:96px}.os-slips-card-btn{flex-wrap:wrap}.os-slips-rail{flex-direction:row;order:3;align-items:center;width:100%}.os-slips-chevron{display:none}.os-filter-bar--slips .os-segmented{gap:var(--os-space-2);width:100%;display:flex}.os-filter-bar--slips .os-segmented-btn{height:var(--os-control-h-touch);padding-inline:var(--os-space-2);flex:1}.danger-zone{align-items:stretch;gap:var(--os-space-4);flex-direction:column}.dz-right{flex-wrap:wrap}}}@layer motion{@media (prefers-reduced-motion:reduce){.adjust-inset.is-open{animation:none}.os-drawer,.os-btn-caret,.os-popover-switch:after{transition:none}}}
@layer base,touch,phone,motion;
