:root{--bg-page:#f7f8fa;--bg-card:#fff;--bg-soft:#f0f2f5;--bg-hover:#eaedf1;--border:#e2e5ea;--border-soft:#eff2f5;--text:#0f1729;--text-2:#475467;--text-3:#667085;--text-muted:#98a2b3;--brand-1:#5cb8bd;--brand-1-deep:#2f8b92;--brand-1-soft:#e0f2f1;--brand-2:#d9da23;--brand-2-soft:#fafb91;--success:#027a48;--success-soft:#ecfdf5;--warning:#b54708;--warning-soft:#fffaeb;--error:#b42318;--error-soft:#fef3f2;--info:#175cd3;--info-soft:#eff8ff;--sidebar-bg:#1f2a3a;--sidebar-fg:#ffffffc7;--sidebar-fg-2:#ffffff8c;--sidebar-active-bg:#5cb8bd2e;--sidebar-hover-bg:#ffffff0f;--shadow-xs:0 1px 2px #1018280a;--shadow-sm:0 1px 3px #1018280a, 0 1px 2px #10182805;--shadow-md:0 4px 8px -2px #1018280f, 0 2px 4px -2px #1018280a;--shadow-lg:0 12px 16px -4px #10182814, 0 4px 6px -2px #10182808;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:999px;--font-base:"Inter", "Noto Sans TC", "PingFang TC", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Monaco, monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--c-primary:#d9da23;--c-primary-soft:#fafb91;--c-primary-deep:#b5b61e;--c-secondary:#5cb8bd;--c-secondary-soft:#e0f2f1;--c-secondary-deep:#2f8b92;--c-ink:#0f1729;--c-ink-2:#475467;--c-ink-3:#667085;--c-muted:#98a2b3;--c-faint:#b8c0cc;--c-bg:#f7f8fa;--c-bg-card:#fff;--c-bg-soft:#f0f2f5;--c-bg-hover:#eaedf1;--c-border:#e2e5ea;--c-border-soft:#eff2f5;--c-divider:#eff2f5;--c-success:#027a48;--c-success-soft:#ecfdf5;--c-warning:#b54708;--c-warning-soft:#fffaeb;--c-error:#b42318;--c-error-soft:#fef3f2;--c-info:#175cd3;--c-info-soft:#eff8ff}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-base);color:var(--text);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}a:hover{color:var(--brand-1-deep)}button{font-family:inherit}.app{grid-template-columns:232px 1fr;min-height:100vh;display:grid}@media (width<=900px){.app{grid-template-columns:1fr}}.main{background:var(--bg-page);flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{background:var(--bg-card);border-bottom:1px solid var(--border);z-index:10;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:12px 28px;display:flex;position:sticky;top:0}.topbar .breadcrumb{color:var(--text-3);letter-spacing:.01em;margin-bottom:3px;font-size:11.5px;font-weight:500}.topbar .breadcrumb a{color:var(--text-3)}.topbar .breadcrumb a:hover{color:var(--brand-1-deep)}.topbar .breadcrumb .sep{color:var(--text-muted);margin:0 5px}.topbar h1{letter-spacing:-.015em;color:var(--text);align-items:center;gap:8px;margin:0;font-size:18px;font-weight:700;display:inline-flex}.topbar .greeting{color:var(--text);letter-spacing:-.015em;font-size:18px;font-weight:700;line-height:1.2}.topbar .greeting .sparkle{color:var(--brand-2)}.topbar .subtitle{color:var(--text-3);margin-top:3px;font-size:12.5px;font-weight:500}.topbar .meta-line{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;font-size:12px;display:flex}.topbar .meta-line .sep{color:var(--text-muted)}.topbar .meta-line b{color:var(--text-2);font-weight:600}.topbar-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.page{grid-template-columns:1fr;align-self:stretch;align-items:start;gap:18px;width:100%;max-width:1480px;margin:0 auto;padding:20px 28px 36px;display:grid}.page:has(.widget-col){grid-template-columns:1fr 320px}.page-content{flex-direction:column;gap:16px;min-width:0;display:flex}@media (width<=1100px){.page:has(.widget-col){grid-template-columns:1fr}.widget-col{position:static!important}}.content{align-self:stretch;width:100%;max-width:1240px;margin:0 auto;padding:20px 28px 36px}.sandbox-banner,.sandbox-banner-v3,.proto-banner-v3{color:var(--text);text-align:center;border-bottom:1px solid var(--border-soft);letter-spacing:.01em;background:linear-gradient(90deg,#f0fbfb 0%,#fafb91 100%);padding:6px 20px;font-size:12px}.sandbox-banner b,.sandbox-banner-v3 b,.proto-banner-v3 b{font-weight:600}.proto-banner{background:linear-gradient(90deg, var(--brand-2-soft) 0%, var(--brand-1-soft) 100%);color:var(--text);text-align:center;padding:8px 32px;font-size:12px;font-weight:500}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-fg);border-right:none;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{align-items:center;gap:11px;margin-bottom:6px;padding:4px 10px 18px;display:flex}.sidebar .brand-mark{background:linear-gradient(135deg, var(--brand-2) 0%, var(--brand-1) 100%);color:#1f2a3a;letter-spacing:-.02em;border-radius:9px;place-items:center;width:34px;height:34px;font-size:16px;font-weight:800;display:grid}.sidebar .brand-text{letter-spacing:-.01em;color:#fff;font-size:14.5px;font-weight:700}.sidebar .brand-sub{color:var(--sidebar-fg-2);margin-top:1px;font-size:11px}.sidebar nav{flex:1}.sidebar .nav-section{margin-bottom:16px}.sidebar .nav-section-title{text-transform:uppercase;letter-spacing:.09em;color:var(--sidebar-fg-2);margin-bottom:4px;padding:0 12px;font-size:10.5px;font-weight:600}.sidebar a.nav-item{color:var(--sidebar-fg);border-radius:6px;align-items:center;gap:11px;margin-bottom:2px;padding:8px 12px;font-size:13.5px;font-weight:500;transition:all .15s;display:flex;position:relative}.sidebar a.nav-item:hover{background:var(--sidebar-hover-bg);color:#fff}.sidebar a.nav-item.active{background:var(--sidebar-active-bg);color:var(--brand-2);font-weight:600}.sidebar a.nav-item.active:before{content:"";background:var(--brand-2);border-radius:0 3px 3px 0;width:3px;display:block;position:absolute;top:6px;bottom:6px;left:-12px}.sidebar .nav-item .nav-icon{text-align:center;place-items:center;width:18px;font-size:15px;display:inline-grid}.sidebar .nav-item .nav-badge{color:var(--sidebar-fg);border-radius:var(--r-pill);background:#ffffff1a;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:600}.sidebar a.nav-item.active .nav-badge{background:var(--brand-2);color:#1f2a3a}.sidebar .role-switcher{background:#ffffff0d;border-radius:8px;margin-bottom:10px;padding:10px}.sidebar .role-switcher .label{text-transform:uppercase;letter-spacing:.09em;color:var(--sidebar-fg-2);margin-bottom:5px;font-size:10.5px;font-weight:600}.sidebar .role-switcher select{color:#fff;cursor:pointer;background:#0003;border:1px solid #ffffff1f;border-radius:6px;width:100%;padding:6px 9px;font-family:inherit;font-size:12.5px}.sidebar .role-switcher select:focus{border-color:var(--brand-1);outline:none}.sidebar .me{background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;display:flex}.sidebar .me .avatar{background:linear-gradient(135deg, var(--brand-2) 0%, var(--brand-1) 100%);color:#1f2a3a;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.sidebar .me .name{color:#fff;font-size:12.5px;font-weight:600}.sidebar .me .role-tag{color:var(--sidebar-fg-2);font-size:11px}.sidebar-skel,.sidebar-skeleton{color:var(--sidebar-fg-2);padding:18px;font-size:12px}.btn{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13.5px;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--text);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);background:#1c2942;transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-soft);transform:translateY(-1px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary:disabled:hover{background:var(--bg-card);transform:none}.btn-ghost{color:var(--text-2);background:0 0;padding:7px 12px}.btn-ghost:hover{background:var(--bg-soft);color:var(--text)}.bullet-btn{appearance:none;border:1px solid var(--border);background:var(--bg-card);color:var(--text-3);cursor:pointer;white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:600;line-height:1.6}.bullet-btn:hover{border-color:var(--brand-1);background:var(--brand-1-soft);color:var(--brand-1-deep)}.btn-success{background:var(--success);color:#fff;border-color:var(--success)}.btn-success:hover{background:#015f38}.btn-danger{background:var(--error);color:#fff;border-color:var(--error)}.btn-danger:hover{background:#94170e}.btn-warning{background:var(--warning-soft);color:var(--warning);border-color:#f0d5a0}.btn-warning:hover{background:#fce9b8}.btn-danger-ghost{color:var(--error);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13.5px;font-weight:500;transition:all .2s}.btn-danger-ghost:hover{background:var(--error-soft);border-color:var(--error-soft)}.btn-sm{border-radius:6px;padding:6px 12px;font-size:12.5px}.btn-lg{padding:12px 22px;font-size:14.5px}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.kbd{color:#fff;letter-spacing:.02em;background:#ffffff2e;border-radius:4px;margin-left:3px;padding:1px 5px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;display:inline-block}.btn-secondary .kbd{background:var(--bg-soft);color:var(--text-2)}.btn-danger-ghost .kbd{background:var(--error-soft);color:var(--error)}.section{margin-bottom:20px}.section-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.section-title{color:var(--text);letter-spacing:-.01em;align-items:center;gap:7px;font-size:15.5px;font-weight:600;display:flex}.section-sub{color:var(--text-3);font-size:12px}.ic-lead{font-size:1em;line-height:1}.card{background:var(--bg-card);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.card-title{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.card-body{padding:18px 20px}.card-footer{border-top:1px solid var(--border-soft);background:var(--bg-soft);padding:12px 20px}.card-v3{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;transition:all .2s;overflow:hidden}.card-v3.hoverable:hover{border-color:var(--brand-1);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-v3-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.card-v3-head .t{letter-spacing:-.005em;color:var(--text);align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}.card-v3-head .meta{color:var(--text-3);font-size:11.5px;font-weight:500}.card-v3-body{padding:18px 20px}.card-v3-body.flush{padding:0}.form-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr}.form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.form-group{flex-direction:column;display:flex}.form-label{color:var(--text-2);align-items:center;gap:4px;margin-bottom:5px;font-size:12px;font-weight:500;display:flex}.form-group label{color:var(--text-2);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.form-label .req,.req{color:var(--error);margin-left:2px;font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--border);background:var(--bg-card);width:100%;color:var(--text);border-radius:8px;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px var(--brand-1-soft);outline:none}.form-input[readonly],.form-input:read-only,.form-input:disabled{background:var(--bg-soft);color:var(--text-2);cursor:default}.form-textarea{resize:vertical;min-height:56px;line-height:1.5}.form-help{color:var(--text-3);margin-top:5px;font-size:11.5px}.form-error{color:var(--error);margin-top:4px;font-size:11.5px}@media (width<=768px){.form-row,.form-row-3,.form-row-4{grid-template-columns:1fr}}.combobox{position:relative}.combobox-dropdown{background:var(--bg-card);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:50;border-radius:10px;max-height:280px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combobox-dropdown::-webkit-scrollbar{width:6px}.combobox-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.combobox-dropdown::-webkit-scrollbar-track{background:0 0}.combobox-item{color:var(--text);cursor:pointer;border-bottom:1px solid var(--border-soft);align-items:center;gap:10px;padding:10px 14px;font-size:14px;transition:background .1s;display:flex}.combobox-item:last-child{border-bottom:none}.combobox-item:hover,.combobox-item.active{background:var(--bg-soft)}.combobox-item .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.combobox-item .meta{color:var(--text-3);white-space:nowrap;flex-shrink:0;font-size:12px}.combobox-item.create-new{color:var(--brand-1-deep);background:linear-gradient(0deg, var(--brand-1-soft) 0%, transparent 100%);font-weight:500}.combobox-item.create-new:hover,.combobox-item.create-new.active{background:var(--brand-1-soft)}.combobox-item.create-new .icon{background:var(--brand-1);color:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:13px;font-weight:600;display:grid}.combobox-item .country-tag{background:var(--bg-soft);color:var(--text-3);border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:500;display:inline-block}.combobox-empty{color:var(--text-3);text-align:center;padding:14px;font-size:13px}.combobox .new-badge{background:var(--brand-1-soft);color:var(--brand-1-deep);pointer-events:none;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:500;position:absolute;top:50%;right:42px;transform:translateY(-50%)}.pay-mode{background:var(--bg-soft);border-radius:10px;gap:6px;width:fit-content;margin-bottom:14px;padding:3px;display:flex}.pay-mode label{color:var(--text-2);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.pay-mode label:has(input:checked){background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.pay-mode input{display:none}.milestone-row{grid-template-columns:60px minmax(110px,1fr) 78px 108px 90px 28px;align-items:center;gap:10px;margin-bottom:7px;display:grid}.milestone-row.milestone-header{border-bottom:1px solid var(--border-soft);margin-bottom:4px;padding-bottom:6px}.milestone-row .ms-h{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.milestone-row .ms-label{color:var(--text-2);font-size:12px;font-weight:500}.milestone-row .form-input,.milestone-row .form-select{padding:7px 10px;font-size:12.5px}.ms-remove{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;font-size:16px}.ms-remove:hover{background:var(--error-soft);color:var(--error)}.ms-sum{border-radius:var(--r-pill);align-items:center;gap:5px;margin-top:10px;padding:5px 12px;font-size:12px;font-weight:500;display:inline-flex}.ms-sum.ok{background:var(--success-soft);color:var(--success)}.ms-sum.warn{background:var(--warning-soft);color:var(--warning)}.item-row{border:1px solid var(--border);background:var(--bg-card);border-radius:10px;margin-bottom:12px;padding:16px;transition:all .15s}.item-row:hover{border-color:var(--brand-1);box-shadow:var(--shadow-sm)}.item-row-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.item-row-head .idx{color:var(--brand-1-deep);letter-spacing:.04em;text-transform:uppercase;background:var(--brand-1-soft);border-radius:var(--r-pill);padding:2px 9px;font-size:11px;font-weight:600}.form-row-items{grid-template-columns:64px 110px 72px 96px 1fr;gap:10px;display:grid}@media (width<=768px){.form-row-items{grid-template-columns:1fr}}.total-row{color:var(--text-2);justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;display:flex}.total-row .value{font-variant-numeric:tabular-nums}.total-row.grand{border-top:1px solid var(--border);color:var(--text);letter-spacing:-.01em;margin-top:6px;padding-top:12px;font-size:17px;font-weight:700}.total-row.grand .label{color:var(--text);font-size:14px;font-weight:600}.total-row.grand .value{color:var(--brand-1-deep);letter-spacing:-.01em;font-size:22px;font-weight:700}.total-row.muted{color:var(--text-3);font-size:12px}.total-row.discount{grid-template-columns:110px 1fr 1fr auto;align-items:center;gap:10px;display:grid}.total-row.discount .label{color:var(--text-2);font-size:13px;font-weight:500}.total-row.discount .form-input{padding:7px 10px;font-size:12.5px}.total-row.discount span:last-child{color:var(--error);font-weight:600}.widget-col{flex-direction:column;align-self:start;gap:12px;display:flex;position:sticky;top:80px}.widget{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.widget-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.widget-title{color:var(--text);letter-spacing:-.005em;text-transform:none;border:none;flex:1;align-items:center;gap:7px;min-width:0;margin:0;padding:0;font-size:13px;font-weight:600;display:flex}.widget-title-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.widget-collapse{cursor:pointer;color:var(--text-3);background:0 0;border:none;border-radius:5px;flex-shrink:0;place-items:center;width:22px;height:22px;font-family:inherit;font-size:12px;transition:all .15s;display:grid}.widget-collapse:hover{background:var(--bg-soft);color:var(--text)}.widget-collapse:focus{box-shadow:0 0 0 2px var(--brand-1-soft);outline:none}.widget-body{opacity:1;max-height:min(420px,50vh);color:var(--text-2);padding:14px 16px;font-size:13px;transition:max-height .2s,opacity .2s,padding .2s;overflow:hidden auto}.widget-body::-webkit-scrollbar{width:6px}.widget-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.widget-body::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.widget-body::-webkit-scrollbar-track{background:0 0}.widget.collapsed .widget-body{opacity:0;border-top:none;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden}.widget.collapsed .widget-header{border-bottom:none}.widget-item-block{margin-bottom:14px}.widget-item-block:last-child{margin-bottom:0}.widget-item-head{color:var(--text);margin-bottom:6px;font-size:12.5px;font-weight:600}.widget-item-head .idx{background:var(--brand-1-soft);color:var(--brand-1-deep);border-radius:var(--r-pill);margin-right:5px;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-block}.widget-kv{color:var(--text-2);margin-bottom:6px;font-size:12px;line-height:1.55}.widget-kv b{color:var(--text);font-weight:600}.widget-empty{color:var(--text-3);padding:4px 0;font-size:12px}.widget-actions{flex-direction:column;gap:8px;display:flex}.widget-actions .btn{justify-content:center}.cust-head{color:var(--text);align-items:center;gap:7px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.cust-tag{border-radius:var(--r-pill);background:var(--brand-2-soft);color:var(--text);padding:2px 7px;font-size:10.5px;font-weight:600}.cust-line{justify-content:space-between;padding:4px 0;font-size:12px;display:flex}.cust-line .k{color:var(--text-3)}.cust-line .v{color:var(--text);font-weight:500}.stat-pair{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:11px;display:grid}.stat-pair .sp-box{background:var(--bg-soft);border-radius:8px;padding:8px 10px}.stat-pair .sp-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:600}.stat-pair .sp-value{color:var(--text);letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:15px;font-weight:700}.hist-item{border-bottom:1px solid var(--border-soft);padding:8px 0;font-size:12px}.hist-item:last-child{border-bottom:none}.hi-head{color:var(--text);justify-content:space-between;margin-bottom:2px;font-weight:500;display:flex}.hi-meta{color:var(--text-3);font-size:11px}.hist-line{color:var(--text-2);justify-content:space-between;align-items:center;padding:3px 0;font-size:12px;display:flex}.hist-line .when{color:var(--text-3)}.hist-line .won{color:var(--success);font-variant-numeric:tabular-nums;font-weight:600}.hist-line .lost{color:var(--text-3);font-variant-numeric:tabular-nums}.hist-summary{border-top:1px dashed var(--border-soft);justify-content:space-between;align-items:center;margin-top:4px;padding:6px 0 4px;font-size:12px;display:flex}.hist-summary b{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.price-tag{font-variant-numeric:tabular-nums;font-weight:600}.price-tag.won{color:var(--success)}.price-tag.lost{color:var(--text-3)}.badge{border-radius:var(--r-pill);background:var(--bg-soft);color:var(--text-2);white-space:nowrap;letter-spacing:.01em;align-items:center;gap:4px;padding:2px 9px;font-size:11.5px;font-weight:500;display:inline-flex}.b-draft{background:var(--bg-soft);color:var(--text-2)}.b-pending{background:var(--info-soft);color:var(--info)}.b-question,.b-questioning{background:var(--warning-soft);color:var(--warning)}.b-approved{background:var(--success-soft);color:var(--success)}.b-rejected{background:var(--error-soft);color:var(--error)}.b-active{background:var(--brand-1-soft);color:var(--brand-1-deep)}.b-superseded{background:var(--bg-soft);color:var(--text-3)}.b-lost{background:var(--error-soft);color:var(--error)}.b-converted{background:var(--brand-1-soft);color:var(--brand-1-deep)}.b-closed{background:var(--bg-soft);color:var(--text-3)}.b-info{background:var(--info-soft);color:var(--info)}.b-warn{background:var(--warning-soft);color:var(--warning)}.b-success{background:var(--success-soft);color:var(--success)}.v-tag{border-radius:var(--r-sm);background:var(--brand-1-soft);color:var(--brand-1-deep);letter-spacing:.02em;font-variant-numeric:tabular-nums;padding:2px 8px;font-size:11.5px;font-weight:600}table.list{border-collapse:collapse;width:100%;font-size:13px}table.list th,table.list thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);background:var(--bg-soft);border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px;font-weight:600}table.list td,table.list tbody td{border-bottom:1px solid var(--border-soft);color:var(--text);vertical-align:top;padding:12px 14px}table.list tbody tr:hover{background:var(--bg-hover);cursor:pointer}table.list tbody tr:last-child td{border-bottom:none}table.list .num,table.list .num-col,table.list thead .num-col,.num-col{text-align:right;font-variant-numeric:tabular-nums}.list-table{border-collapse:collapse;width:100%;font-size:13px}.list-table thead th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-soft);border-bottom:1px solid var(--border);padding:10px 14px;font-size:11px;font-weight:600}.list-table tbody td{border-bottom:1px solid var(--border-soft);vertical-align:top;padding:12px 14px}.list-table tbody tr:last-child td{border-bottom:none}.list-table .num{text-align:right;font-variant-numeric:tabular-nums}.list-table .idx{color:var(--text-3);font-size:12px;font-weight:600}.item-title{color:var(--text);font-weight:600}.item-desc{color:var(--text-2);white-space:pre-line;margin-top:3px;font-size:12px;line-height:1.5}.milestone-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:12.5px}.milestone-table th,.milestone-table td{text-align:left;border-bottom:1px solid var(--border-soft);padding:6px 8px}.milestone-table th{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.milestone-table .ratio{color:var(--brand-1-deep);font-variant-numeric:tabular-nums;font-weight:600}.milestone-table .num{text-align:right;font-variant-numeric:tabular-nums}.toolbar-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:14px 18px}.toolbar-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.toolbar-row .grow{flex:1;min-width:200px}.stat-grid,.stat-grid-v3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.stat-card,.stat-card-v3{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);cursor:pointer;flex-direction:column;gap:6px;padding:16px 18px;transition:all .2s;display:flex}.stat-card:hover,.stat-card-v3:hover{border-color:var(--brand-1);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .label,.stat-card-v3 .label{color:var(--text-2);align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.stat-card .value,.stat-card-v3 .value{color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.05}.stat-card .delta,.stat-card-v3 .delta{color:var(--text-3);align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.stat-card .delta .up,.stat-card-v3 .delta .up{color:var(--success);font-weight:600}.stat-card .delta .down,.stat-card-v3 .delta .down{color:var(--error);font-weight:600}.stat-card .arrow,.stat-card-v3 .arrow{color:var(--brand-1-deep);margin-top:auto;font-size:12px;font-weight:500}.stat-card .meta{color:var(--text-muted);font-size:12px}.stat-card.kpi-drill .kpi-peek{opacity:0;margin-left:6px;font-weight:700;transition:opacity .15s,transform .15s;display:inline-block;transform:translate(-3px)}.stat-card.kpi-drill:hover .kpi-peek,.stat-card.kpi-drill:focus-visible .kpi-peek{opacity:1;transform:none}.stat-card.kpi-drill:focus-visible{border-color:var(--brand-1-deep);box-shadow:0 0 0 3px var(--brand-1-soft);outline:none}.stat-card.featured,.stat-card-v3.featured{background:linear-gradient(135deg, var(--brand-1-soft) 0%, #fff 60%);border-color:var(--brand-1)}.big-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.big-card .lbl{color:var(--text-2);align-items:center;gap:7px;margin-bottom:6px;font-size:12.5px;font-weight:500;display:flex}.big-card .val{color:var(--text);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1}.big-card .hint{color:var(--text-3);margin-top:7px;font-size:11.5px}.action-list{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.action-row{border-bottom:1px solid var(--border-soft);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 20px;transition:background .15s;display:flex}.action-row:last-child{border-bottom:none}.action-row:hover{background:var(--bg-soft)}.action-row .left{align-items:center;gap:11px;display:flex}.action-row .ic{background:var(--bg-soft);border-radius:8px;place-items:center;width:30px;height:30px;font-size:14px;display:grid}.action-row.urgent .ic{background:var(--error-soft)}.action-row.warn .ic{background:var(--warning-soft)}.action-row .lbl{color:var(--text);font-size:13.5px;font-weight:500}.action-row .sub{color:var(--text-3);margin-top:1px;font-size:11.5px}.action-row .right{align-items:center;gap:11px;display:flex}.action-row .count{background:var(--bg-soft);color:var(--text-2);border-radius:var(--r-pill);text-align:center;font-variant-numeric:tabular-nums;min-width:28px;padding:3px 10px;font-size:12px;font-weight:600}.action-row.urgent .count{background:var(--error-soft);color:var(--error)}.action-row .arrow{color:var(--text-3);font-size:12px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:22px;padding:2px 0;display:grid}.kpi .k{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;font-size:11px;font-weight:600}.kpi .v{color:var(--text);letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.timeline{padding:2px 0}.tl-row{border-bottom:1px solid var(--border-soft);align-items:flex-start;gap:14px;padding:10px 20px;display:flex}.tl-row:last-child{border-bottom:none}.tl-row .tl-time{color:var(--text-3);font-variant-numeric:tabular-nums;min-width:48px;padding-top:2px;font-size:11.5px;font-weight:600}.tl-row .tl-dot{background:var(--brand-1);border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:7px}.tl-row .tl-body{color:var(--text-2);font-size:13px;line-height:1.5}.tl-row .tl-body b{color:var(--text);font-weight:600}.wl-row{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.wl-row:last-child{border-bottom:none}.wl-who{align-items:center;gap:11px;display:flex}.wl-avatar{background:linear-gradient(135deg, var(--brand-1) 0%, var(--brand-1-deep) 100%);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:600;display:grid}.wl-name{color:var(--text);font-size:13.5px;font-weight:600}.wl-role{color:var(--text-3);font-size:11.5px}.wl-count .n{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:18px;font-weight:700}.wl-count .u{color:var(--text-3);margin-left:3px;font-size:11.5px}.steps{flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0 0;display:flex}.step{background:var(--bg-soft);min-width:80px;color:var(--text-3);text-align:center;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:5px;padding:9px 12px;font-size:12.5px;font-weight:500;line-height:1.2;display:flex;position:relative}.step.done{background:var(--brand-1-soft);color:var(--brand-1-deep)}.step.now{background:var(--text);color:#fff;box-shadow:var(--shadow-sm);font-weight:600}.step.now-warn{background:var(--warning-soft);color:var(--warning);font-weight:600}.step.now-error{background:var(--error-soft);color:var(--error);font-weight:600}.step.next{background:var(--bg-card);color:var(--text-3);border:1px dashed var(--border)}.step .step-num{background:#0000000d;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;font-weight:700;display:inline-grid}.step.done .step-num{background:var(--brand-1);color:#fff}.step.now .step-num{color:var(--text);background:#fff}.tabs{border-bottom:1px solid var(--border-soft);gap:4px;margin-bottom:14px;display:flex}.tab{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:500;transition:all .12s}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--brand-1)}.tab .count{background:var(--bg-soft);color:var(--text-3);border-radius:var(--r-pill);margin-left:6px;padding:1px 7px;font-size:11px;font-weight:500;display:inline-block}.tab.active .count{background:var(--brand-1-soft);color:var(--brand-1-deep)}.kv-grid{grid-template-columns:110px 1fr;gap:8px 14px;font-size:13px;display:grid}.kv-grid .k{color:var(--text-3);font-weight:500}.kv-grid .v{color:var(--text)}.kv-grid .v .muted-inline{color:var(--text-3);margin-left:4px;font-size:12px}.meta-row{grid-template-columns:130px 1fr;gap:8px 16px;font-size:13px;display:grid}.meta-row .k{color:var(--text-3);font-size:12.5px}.meta-row .v{color:var(--text)}.meta-row .v b{font-weight:600}.notes-block{background:var(--bg-soft);color:var(--text);white-space:pre-line;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.55}.role-notes-section{flex-direction:column;gap:10px;display:flex}.note-item{border-left:3px solid var(--brand-1);background:var(--bg-soft);border-radius:0 8px 8px 0;padding:10px 12px}.note-item .nh{color:var(--text-3);margin-bottom:3px;font-size:11.5px}.note-item .nh b{color:var(--text);font-weight:600}.note-item .nb{color:var(--text);white-space:pre-line;font-size:13px;line-height:1.55}.role-notes-editor textarea,.note-textarea{border:1px solid var(--border);border-radius:var(--r-md);width:100%;min-height:100px;color:var(--text);background:var(--bg-card);resize:vertical;padding:10px;font-family:inherit;font-size:13px;line-height:1.5}.role-notes-editor textarea:focus,.note-textarea:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px var(--brand-1-soft);outline:none}.note-save-row{color:var(--text-3);justify-content:space-between;align-items:center;margin-top:8px;font-size:11px;display:flex}.thread-msg{border-left:3px solid var(--brand-1);background:var(--bg-soft);border-radius:0 8px 8px 0;margin-bottom:10px;padding:10px 14px}.thread-msg .hdr{color:var(--text-3);margin-bottom:3px;font-size:11.5px}.thread-msg .hdr b{color:var(--text);font-weight:600}.thread-msg .body{color:var(--text);white-space:pre-line;font-size:13px;line-height:1.55}.thread-input{gap:8px;margin-top:10px;display:flex}.thread-input textarea{border:1px solid var(--border);min-height:56px;font:inherit;resize:vertical;border-radius:8px;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;transition:all .15s}.thread-input textarea:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px var(--brand-1-soft);outline:none}.thread-empty{color:var(--text-3);padding:6px 0;font-size:12.5px}.vh-list{flex-direction:column;gap:4px;display:flex}.vh-row{border-radius:var(--r-md);grid-template-columns:24px 1fr;gap:10px;padding:8px 8px 16px;transition:background .12s;display:grid;position:relative}.vh-row.older{cursor:pointer}.vh-row.older:hover{background:var(--bg-soft)}.vh-dot{background:var(--text-muted);border:2px solid var(--bg-card);width:12px;height:12px;box-shadow:0 0 0 1px var(--border);z-index:1;border-radius:50%;margin:5px auto 0}.vh-row.current .vh-dot{background:var(--brand-1);box-shadow:0 0 0 1px var(--brand-1-deep)}.vh-row:before{content:"";background:var(--border-soft);width:2px;position:absolute;top:18px;bottom:-4px;left:17px}.vh-row:last-child:before{display:none}.vh-head{flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;font-weight:500;display:flex}.vh-row.current .vh-head{color:var(--brand-1-deep);font-weight:600}.vh-head .v-tag-sm{border-radius:var(--r-sm);background:var(--bg-soft);color:var(--text-2);font-variant-numeric:tabular-nums;padding:1px 7px;font-size:11.5px;font-weight:600}.vh-row.current .v-tag-sm{background:var(--brand-1-soft);color:var(--brand-1-deep)}.vh-meta{color:var(--text-3);margin-top:2px;font-size:11.5px}.vh-reason{color:var(--text-2);margin-top:3px;font-size:12.5px}.tpl-options{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.tpl-option{border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;transition:border-color .12s,background .12s;display:flex}.tpl-option:hover{background:var(--bg-soft)}.tpl-option input[type=radio]{accent-color:var(--brand-1);margin:0}.tpl-option.is-default{border-color:var(--brand-1);background:var(--brand-1-soft)}.next-note{background:var(--bg-soft);border-radius:var(--r-md);color:var(--text-2);text-align:center;padding:14px;font-size:13px}.next-note.lost{background:var(--error-soft);color:var(--error)}.next-note.superseded{background:var(--bg-soft);color:var(--text-3)}.next-note.converted{background:var(--success-soft);color:var(--success)}.next-note a{font-weight:600;text-decoration:underline}.next-active{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.disc-tag{border-radius:var(--r-pill);background:var(--warning-soft);color:var(--warning);padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.disc-zero{color:var(--text-muted);font-size:12px}.alert-inline{border-radius:8px;align-items:flex-start;gap:7px;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.45;display:flex}.alert-inline.warn{background:var(--warning-soft);color:var(--warning)}.alert-inline.ok{background:var(--success-soft);color:var(--success)}.alert-inline.info{background:var(--info-soft);color:var(--info)}.alert-inline.error{background:var(--error-soft);color:var(--error)}.role-hint{background:var(--info-soft);color:var(--info);border-radius:8px;margin:12px 28px 0;padding:8px 14px;font-size:12.5px}.empty-state{text-align:center;color:var(--text-3);padding:32px;font-size:13px}.pdf-thumb-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.pdf-thumb{aspect-ratio:210/297;border:1px solid var(--border);width:100%;max-width:280px;box-shadow:var(--shadow-md);cursor:zoom-in;color:var(--text);background:#fff;border-radius:6px;flex-direction:column;font-size:6.5px;line-height:1.35;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.pdf-thumb:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.pdf-thumb .pdf-hero{background:var(--sidebar-bg);color:#fff;justify-content:space-between;align-items:flex-start;gap:8px;padding:12px 14px 10px;display:flex}.pdf-thumb .pdf-hero .brand{letter-spacing:.08em;background:linear-gradient(135deg, var(--brand-2), var(--brand-1));-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:9.5px;font-weight:700}.pdf-thumb .pdf-hero .brand-sub{color:#ffffff8c;letter-spacing:.06em;margin-top:2px;font-size:5px}.pdf-thumb .pdf-hero .quo-no{text-align:right;color:#fff9;letter-spacing:.05em;font-size:5px}.pdf-thumb .pdf-hero .quo-no b{color:var(--brand-2);letter-spacing:.03em;margin-top:1px;font-size:7px;font-weight:700;display:block}.pdf-thumb .pdf-body{flex-direction:column;flex:1;gap:7px;padding:9px 14px;display:flex}.pdf-thumb .pdf-meta{color:var(--text-2);grid-template-columns:1fr 1fr;gap:4px 10px;font-size:5.5px;display:grid}.pdf-thumb .pdf-meta b{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1px;font-size:4.5px;font-weight:600;display:block}.pdf-thumb .pdf-items{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px 0}.pdf-thumb .ti-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px dotted var(--border);grid-template-columns:14px 1fr 22px 28px 32px;gap:4px;padding-bottom:3px;font-size:4.5px;font-weight:600;display:grid}.pdf-thumb .ti-row{grid-template-columns:14px 1fr 22px 28px 32px;gap:4px;padding-top:3px;font-size:5.5px;display:grid}.pdf-thumb .ti-row .num{text-align:right}.pdf-thumb .pdf-totals{flex-direction:column;align-self:flex-end;gap:2px;min-width:55%;font-size:5.5px;display:flex}.pdf-thumb .pdf-totals .row{justify-content:space-between;display:flex}.pdf-thumb .pdf-totals .grand{border-top:1px solid var(--text);color:var(--brand-1-deep);padding-top:3px;font-size:7.5px;font-weight:700}.pdf-thumb .pdf-footer{border-top:1px solid var(--border-soft);color:var(--text-muted);justify-content:space-between;margin-top:auto;padding:6px 14px;font-size:4.5px;display:flex}.toast{background:var(--text);color:#fff;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;z-index:1000;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:500;transition:opacity .2s,transform .2s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.divider,.div-line{background:var(--border-soft);height:1px;margin:14px 0}.muted{color:var(--text-3)}.tabular{font-variant-numeric:tabular-nums}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.ml-auto{margin-left:auto}.text-sm{font-size:12.5px}.text-xs{color:var(--text-3);font-size:11.5px}.text-muted{color:var(--text-3)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.menu-btn{z-index:1000;background:var(--sidebar-bg);color:#fff;cursor:pointer;border:1px solid #ffffff1f;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;line-height:1;display:none;position:fixed;top:10px;left:10px;box-shadow:0 4px 12px #0000002e}.sidebar-overlay{z-index:998;background:#00000073;animation:.18s fadeIn;display:none;position:fixed;inset:0}.sidebar-overlay.is-open{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sh-form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:12px;display:grid}@media (width<=768px){.sh-form-grid{grid-template-columns:1fr}}.qty-table{border-collapse:collapse;background:var(--bg-card);border-radius:var(--r-sm);width:100%;margin-bottom:14px;font-size:13px;overflow:hidden}.qty-table thead th{text-align:left;color:var(--text-3);text-transform:uppercase;background:var(--bg-soft);padding:8px 12px;font-size:11px;font-weight:600}.qty-table thead th.num{text-align:right}.qty-table tbody td{border-bottom:1px solid var(--border-soft);padding:9px 12px}.qty-table tbody tr:last-child td{border-bottom:none}.qty-table td.num{text-align:right;font-family:var(--font-mono);font-weight:600}.qty-table .it-title{color:var(--text);font-weight:600}.qty-input{border:1px solid var(--border);width:90px;font-family:var(--font-mono);text-align:right;background:var(--bg-card);color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600}.qty-input:focus{border-color:var(--brand-1);box-shadow:0 0 0 3px var(--brand-1-soft);outline:none}.inv-modal{border:1px solid var(--brand-1);border-radius:var(--r-md);background:var(--brand-1-soft);margin-top:10px;padding:16px 18px}.inv-modal .nh{color:var(--text);margin-bottom:10px;font-size:13.5px;font-weight:600}@media (width<=900px){.menu-btn{display:flex}.sidebar{z-index:999;width:260px;height:100vh;transition:transform .22s;top:0;left:0;transform:translate(-100%);box-shadow:4px 0 16px #00000040;position:fixed!important}.sidebar.is-open{transform:translate(0)}.topbar{flex-direction:column!important;align-items:stretch!important;gap:8px!important;min-height:0!important;padding:10px 14px 10px 60px!important}.topbar>div:first-child{width:100%;min-width:0}.topbar h1,.topbar .greeting{overflow-wrap:anywhere;white-space:normal!important;font-size:16px!important}.topbar .breadcrumb{overflow-wrap:anywhere;font-size:11px;white-space:normal!important}.topbar .meta-line{font-size:11px}.topbar-actions{justify-content:flex-end;width:100%;flex-wrap:wrap!important;gap:6px!important}.topbar .btn{min-height:36px;padding:7px 11px;font-size:12.5px}.page{gap:14px!important;padding:14px 14px 28px!important}.content{padding:14px 14px 28px!important}.page:has(.widget-col){grid-template-columns:1fr!important}.widget-col{position:static!important}.card-v3-body{padding:14px 16px}.card-v3-head{padding:12px 16px 10px}.asst-qr-row,.asst-wo-row,.asst-quote-row,.sales-qr-row,.inbox-row,.sh-row,.po-row,.ship-pick-row{flex-direction:column!important;align-items:stretch!important;gap:4px!important;padding:12px 14px!important;display:flex!important}.asst-qr-row>*,.asst-wo-row>*,.asst-quote-row>*,.sales-qr-row>*,.inbox-row>*,.sh-row>*,.po-row>*,.ship-pick-row>*{overflow-wrap:anywhere;text-align:left!important;white-space:normal!important;width:auto!important}.kv-grid,.sh-form-grid,.qty-table,.stat-grid,.co-grid-2,.co-grid-3,.item-edit-row .form-row{grid-template-columns:1fr!important;gap:8px 0!important}.kv-grid .k{font-weight:600}.card-v3-body table,.content table,table.list-table,table.orders,table.ms-table,table.qty-table{-webkit-overflow-scrolling:touch;white-space:nowrap;max-width:100%;overflow-x:auto;display:block!important}.tab-row,.filter-group,.active-filters{-webkit-overflow-scrolling:touch;overflow-x:auto;white-space:nowrap!important;flex-wrap:nowrap!important}.new-sh,.inv-modal,.inline-new-sup,.ratio-invoice-modal{border-left:none!important;border-right:none!important;border-radius:0!important;margin:0 -14px!important}input,textarea,select,.form-input,.form-select,.qty-input,.cost-input{font-size:16px!important}.btn{min-height:40px;padding:8px 14px}.btn-sm{min-height:36px;padding:6px 12px;font-size:12.5px}.sidebar a.nav-item{min-height:44px;padding:10px 12px}.steps{flex-wrap:wrap!important}.step{min-width:0;flex:calc(50% - 6px)!important}.topbar>*,.page>*,.card-v3>*{min-width:0}.kbd{display:none!important}.contact-row,.site-edit-row .ser-grid,.site-edit-row .ser-grid-names{grid-template-columns:1fr!important;grid-template-areas:none!important;gap:8px!important}.form-row,.form-row-3,.form-row-4,.customer-grid,.customer-card.has-customer .customer-grid{grid-template-columns:1fr!important}.milestone-header{display:none!important}.milestone-row:not(.milestone-header){border-top:1px solid var(--border-soft);grid-template-columns:56px 1fr 80px!important;grid-template-areas:"idx ms ratio""idx term-type term-days""idx.del"!important;gap:6px 8px!important;padding:10px 0!important;display:grid!important}.milestone-row>:first-child{grid-area:idx}.milestone-row>:nth-child(2){grid-area:ms}.milestone-row>:nth-child(3){grid-area:ratio}.milestone-row>:nth-child(4){grid-area:term-type}.milestone-row>:nth-child(5){grid-area:term-days}.milestone-row>:nth-child(6){grid-area:del;justify-self:end}.combobox-dropdown{max-height:50vh!important}}.list-row{grid-template-columns:var(--cols,1fr);border-bottom:1px solid var(--border-soft);cursor:pointer;align-items:center;gap:12px;padding:10px 14px;transition:background .1s;display:grid}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--bg-soft)}.list-row .cell-id{font-family:var(--font-mono);color:var(--text-2);font-size:12.5px;font-weight:600}.list-row .cell-name{color:var(--text);font-size:13px;font-weight:700}.list-row .cell-meta{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.list-row .cell-num{font-family:var(--font-mono);text-align:right;color:var(--text-2);font-size:12.5px;font-weight:600}.list-row .cell-date{color:var(--text-3);text-align:right;font-size:11.5px}.list-row .cell-action{color:var(--brand-1-deep);margin-left:6px;font-weight:600}@media (width<=900px){.list-row{flex-direction:column;align-items:stretch;gap:4px;padding:12px 14px;display:flex!important}.list-row>*{overflow-wrap:anywhere;text-align:left!important;white-space:normal!important;width:auto!important}.list-row .cell-name{font-size:14.5px}.list-row .cell-date{color:var(--text-3);font-size:12px}}.sts{white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:600;display:inline-block}.sts-active{background:var(--brand-1-soft);color:var(--brand-1-deep)}.sts-sent{color:#1e40af;background:#dbeafe}.sts-warn{background:var(--warning-soft);color:var(--warning)}.sts-good{background:var(--success-soft);color:var(--success)}.sts-muted{background:var(--bg-soft);color:var(--text-3)}.list-page .tab-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.list-page .tab{appearance:none;background:var(--bg-card);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 13px;font-family:inherit;font-size:12.5px;font-weight:500;line-height:1.3;display:inline-flex}.list-page .tab:hover{background:var(--bg-soft);color:var(--text-2)}.list-page .tab.active{background:var(--brand-1-soft);color:var(--brand-1-deep);border-color:var(--brand-1);font-weight:600}.list-page .tab .cnt{border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.list-page .tab.active .cnt{background:var(--brand-1);color:#fff}.list-page .tab:not(.active) .cnt{background:var(--bg-soft);color:var(--text-3)}.list-page .toolbar-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:none;margin-bottom:14px;padding:12px 14px}.list-page .toolbar-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.list-page .search-global{flex:1;min-width:280px;position:relative}.list-page .search-global input{border:2px solid var(--brand-1);border-radius:8px;width:100%;padding:10px 12px 10px 36px;font-family:inherit;font-size:14px;font-weight:500}.list-page .search-global input:focus{box-shadow:0 0 0 3px var(--brand-1-soft);outline:none}.list-page .search-global .ic{font-size:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.list-page .filter-group{background:var(--bg-soft);border-radius:6px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.list-page .filter-group .lab{color:var(--text-3);white-space:nowrap;font-size:11px;font-weight:600}.list-page .filter-select{border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:5px;padding:5px 8px;font-family:inherit;font-size:12.5px}.list-page .filter-select:focus{border-color:var(--brand-1);outline:none}.list-page table.orders{border-collapse:collapse;table-layout:fixed;width:100%;font-size:13px}.list-page table.orders thead th{text-align:left;background:var(--bg-soft);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:10px 12px;font-size:11px;font-weight:600}.list-page table.orders thead th.num{text-align:right}.list-page table.orders thead th.center{text-align:center}.list-page table.orders tbody td{border-bottom:1px solid var(--border-soft);vertical-align:middle;padding:12px}.list-page table.orders tbody tr{cursor:pointer;transition:background 80ms}.list-page table.orders tbody tr:hover{background:var(--brand-1-soft)}.list-page table.orders tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.list-page table.orders.no-click tbody tr{cursor:default}.list-page table.orders.no-click tbody tr:hover{background:0 0}.list-page .ord-code{color:var(--text);overflow-wrap:anywhere;font-family:JetBrains Mono,SF Mono,Menlo,monospace;font-size:12.5px;font-weight:600}.list-page .ord-sub{color:var(--text-3);margin-top:2px;font-size:11px}.list-page .item-title{color:var(--text);font-weight:500}.list-page .stage{border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.list-page .stage-pending{color:#9a3412;background:#ffedd5}.list-page .stage-logged{background:var(--success-soft);color:var(--success)}.list-page .list-footer{color:var(--text-3);background:var(--bg-soft);border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;display:flex}.list-page .tip-host{display:inline-block;position:relative}.list-page .tip-host .tip-pop{z-index:40;background:var(--sidebar-bg,#1f2a3a);color:#fff;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;border-radius:8px;margin-top:6px;padding:9px 13px;font-size:12px;line-height:1.7;transition:opacity .15s,visibility 0s linear .15s;position:absolute;top:100%;left:0;box-shadow:0 6px 20px #00000038}.list-page .tip-host .tip-pop .tk{color:#ffffff8c;margin-right:8px;font-size:11px}.list-page .tip-host:hover .tip-pop{opacity:1;visibility:visible;transition-delay:.5s,.5s}.role-chip{background:var(--brand-1-soft);color:var(--brand-1-deep);border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.pdf-preview-backdrop{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pdf-preview-modal{background:var(--bg-card,#fff);border-radius:12px;flex-direction:column;width:min(940px,94vw);height:min(88vh,1100px);display:flex;overflow:hidden}.pdf-preview-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.pdf-preview-head .t{font-size:15px;font-weight:600}.pdf-preview-lang{gap:4px;display:flex}.pdf-preview-lang .ppl-btn{border:1px solid var(--border);background:var(--bg-card,#fff);cursor:pointer;border-radius:6px;padding:4px 12px;font-size:12.5px}.pdf-preview-lang .ppl-btn.active{background:var(--brand-1-soft,#e1f5ee);border-color:var(--brand-1,#5dcaa5);color:var(--brand-1-deep,#0f6e56);font-weight:600}.pdf-preview-body{background:#f3f4f6;flex:1;min-height:0}.pdf-preview-frame{background:#fff;border:none;width:100%;height:100%}.pdf-preview-foot{border-top:1px solid var(--border-soft);align-items:center;gap:10px;padding:12px 16px;display:flex}.pdf-preview-hint{color:var(--text-3);font-size:12px}
