:root{--jc-brand:#8e1f8f;--jc-brand-deep:#6e1670;--jc-brand-hover:#7a1a7c;--jc-brand-bar:#8a1b8e;--jc-brand-tint:#f4e6f5;--jc-brand-tint-2:#f9f1fa;--jc-brand-line:#e3c6e4;--jc-ink:#2b2733;--jc-ink-2:#4a4356;--jc-ink-3:#5a5266;--jc-muted:#6b6477;--jc-muted-2:#6e6879;--jc-muted-3:#877f94;--jc-muted-4:#a79fb5;--jc-desk:#efedf2;--jc-line:#e2dce9;--jc-line-2:#eee9f3;--jc-line-3:#e9e4f0;--jc-line-4:#ddd6e5;--jc-line-5:#d9d2e1;--jc-line-6:#c9bfd6;--jc-panel:#f1edf5;--jc-cell:#faf8fc;--jc-cell-2:#f7f4fa;--jc-cell-3:#fbf8fd;--jc-cell-4:#fcfafe;--jc-cell-5:#faf6fb;--jc-cell-6:#f3f0f7;--jc-warn-bg:#fcf6e8;--jc-warn-line:#f0e2bc;--jc-warn-ink:#77590f;--jc-warn-dot:#d9a514;--jc-ok:#3e7d33;--jc-ok-dot:#4ca33f;--jc-ok-ink:#2e7d32;--jc-ok-bg:#e8f3e8;--jc-info-ink:#3b6e8f;--jc-info-bg:#e9f2f8;--jc-info-line:#cbe0ee;--jc-rc-ink:#5b8a44;--jc-rc-bg:#ecf3e7;--jc-danger:#c0392b;--jc-cost:#4a4258;--jc-commission:#c08bc5;--jc-sans:"IBM Plex Sans", system-ui, sans-serif;--jc-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--jc-grid:46px 66px minmax(240px, 1fr) 62px 106px 80px 126px 44px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--jc-desk);font-family:var(--jc-sans);color:var(--jc-ink);margin:0;font-size:14px;line-height:1.35}a{color:var(--jc-brand);text-decoration:none}a:hover{color:var(--jc-brand-deep);text-decoration:underline}button,input,select,textarea{font-family:inherit}button{cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d5cede;border-radius:5px}b,strong{font-weight:600}.jc-root{flex-direction:column;min-height:100vh;display:flex}.jc-body{flex:1;align-items:stretch}.jc-appbar,.jc-body{flex-wrap:wrap;display:flex}.jc-appbar{background:var(--jc-brand-bar);color:#fff;align-items:center;gap:12px;padding:9px 18px}.jc-appbar__brand{align-items:center;gap:9px;display:flex}.jc-appbar__mark{background:#fff;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;transform:rotate(45deg)}.jc-appbar__mark i{background:var(--jc-brand-bar);border-radius:2px;width:10px;height:10px;display:block}.jc-appbar__name{letter-spacing:.2px;font-size:16px;font-weight:700}.jc-appbar__sep{background:#ffffff59;width:1px;height:18px}.jc-appbar__tenant{opacity:.95;font-size:13.5px}.jc-appbar__crumb{opacity:.9;font-size:13px}.jc-appbar__crumb b{opacity:1;font-weight:600}.jc-appbar__avatar{width:28px;height:28px;color:var(--jc-brand-bar);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}.jc-appbar__devnote{opacity:.75;letter-spacing:.3px;font-size:11px}.jc-wsh{border-bottom:1px solid var(--jc-line);background:#fff;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 22px;display:flex}.jc-wsh__title-wrap{min-width:220px}.jc-wsh__title-row{align-items:center;gap:10px;display:flex}.jc-wsh__title{color:var(--jc-ink);font-size:18px;font-weight:600}.jc-wsh__badge{letter-spacing:.4px;color:var(--jc-brand-deep);background:var(--jc-brand-tint);border:1px solid var(--jc-brand-line);border-radius:4px;padding:2px 8px;font-size:11.5px;font-weight:600}.jc-wsh__meta{color:var(--jc-muted);margin-top:3px;font-size:13.5px}.jc-wsh__spacer{flex:1}.jc-save{color:var(--jc-ok);background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:13.5px;display:flex}.jc-save:hover{background:var(--jc-cell-2)}.jc-save__dot{background:var(--jc-ok-dot);border-radius:50%;width:8px;height:8px}.jc-save--dirty{color:var(--jc-muted)}.jc-save--dirty .jc-save__dot{background:var(--jc-muted-4)}.jc-save--saving{color:var(--jc-muted)}.jc-save--saving .jc-save__dot{background:var(--jc-brand);animation:1s ease-in-out infinite jc-pulse}.jc-save--error{color:var(--jc-danger)}.jc-save--error .jc-save__dot{background:var(--jc-danger)}@keyframes jc-pulse{0%,to{opacity:1}50%{opacity:.35}}.jc-seg{background:var(--jc-panel);border:1px solid var(--jc-line);border-radius:8px;gap:2px;padding:3px;display:flex}.jc-seg__btn{font:600 13.5px var(--jc-sans);color:var(--jc-ink-3);box-shadow:none;background:0 0;border:0;border-radius:6px;padding:6px 15px}.jc-seg__btn--on{background:var(--jc-brand);color:#fff;box-shadow:0 1px 3px #6e167059}.jc-btn{border:1px solid var(--jc-line-5);color:var(--jc-ink-2);font:500 13.5px var(--jc-sans);background:#fff;border-radius:7px;padding:8px 15px}.jc-btn:hover{border-color:var(--jc-brand);color:var(--jc-brand)}.jc-btn:disabled{opacity:.55;cursor:default}.jc-btn:disabled:hover{border-color:var(--jc-line-5);color:var(--jc-ink-2)}.jc-btn--primary{background:var(--jc-brand);color:#fff;border:0;padding:9px 17px;font-weight:600}.jc-btn--primary:hover{background:var(--jc-brand-hover);color:#fff}.jc-btn--sm{font:600 13px var(--jc-sans);padding:7px 14px}.jc-btn--sm.jc-btn--primary{border:0}.jc-btn--ghost{border:1px solid var(--jc-line);color:var(--jc-ink-3);font-weight:500}.jc-btn--ghost:hover{border-color:var(--jc-muted-4);color:var(--jc-ink-3)}.jc-btn--lg{padding:11px 20px;font-size:14px}.jc-menu-wrap{position:relative}.jc-menu{border:1px solid var(--jc-line-5);z-index:40;background:#fff;border-radius:9px;min-width:210px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 14px 40px #2b1f3838}.jc-menu__item{text-align:left;width:100%;font:500 13.5px var(--jc-sans);color:var(--jc-ink-2);background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:9px 10px;display:flex}.jc-menu__item:hover{background:var(--jc-brand-tint-2);color:var(--jc-brand)}.jc-menu__item small{margin-left:auto}.jc-menu__hint,.jc-menu__item small{color:var(--jc-muted-3);font-size:11.5px}.jc-menu__hint{border-top:1px solid var(--jc-cell-6);margin-top:4px;padding:8px 10px 6px}.jc-desk{flex:640px;min-width:0;padding:26px 28px 40px;overflow-x:auto}.jc-sheet{background:#fff;border:1px solid #e6e1ec;border-radius:6px;min-width:980px;max-width:1100px;margin:0 auto;box-shadow:0 1px 2px #2b1f3814,0 10px 30px #2b1f381a}.jc-sheet__head{border-bottom:2px solid var(--jc-ink);padding:24px 28px 18px}.jc-sheet__head-row{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.jc-sheet__title{letter-spacing:.2px;font-size:21px;font-weight:700}.jc-sheet__stamp{font:500 12.5px var(--jc-mono);color:var(--jc-muted)}.jc-sheet__meta{grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px 20px;margin-top:14px;display:grid}.jc-sheet__meta-label{letter-spacing:.7px;color:var(--jc-muted-3);font-size:11.5px;font-weight:600}.jc-sheet__meta-value{margin-top:3px;font-size:14px;font-weight:500}.jc-notice{background:var(--jc-warn-bg);border-bottom:1px solid var(--jc-warn-line);color:var(--jc-warn-ink);align-items:center;gap:9px;padding:8px 28px;font-size:13.5px;display:flex}.jc-notice__dot{background:var(--jc-warn-dot);border-radius:50%;flex:none;width:8px;height:8px}.jc-notice--ok{color:var(--jc-ok);background:#eef6ea;border-color:#cfe5c6}.jc-notice--ok .jc-notice__dot{background:var(--jc-ok-dot)}.jc-cols{grid-template-columns:var(--jc-grid);background:var(--jc-cell-2);border-bottom:1px solid var(--jc-line-4);letter-spacing:.6px;color:var(--jc-muted-2);font-size:11.5px;font-weight:600;display:grid}.jc-cols>div{border-right:1px solid var(--jc-line-3);padding:8px 10px}.jc-cols>div:first-child{text-align:center;padding:8px 0}.jc-cols>div:nth-child(3){padding:8px 12px}.jc-cols>div:nth-child(5),.jc-cols>div:nth-child(6){text-align:right}.jc-cols>div:nth-child(7){text-align:right;padding:8px 12px}.jc-cols>div:last-child{text-align:center;border-right:0;padding:8px 0}.jc-sec{background:var(--jc-brand-tint);border-bottom:1px solid var(--jc-brand-line);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:9px 14px;display:flex}.jc-sec__chev{font:600 12.5px var(--jc-mono);color:var(--jc-brand);width:18px;display:inline-block}.jc-sec__title{letter-spacing:.4px;color:var(--jc-brand-deep);text-transform:uppercase;font-size:15.5px;font-weight:700}.jc-sec__spacer{flex:1}.jc-sec__total{font:600 15px var(--jc-mono);color:var(--jc-brand-deep)}.jc-sec__tail{width:42px}.jc-sec__count{color:var(--jc-brand);margin-left:10px;font-size:11.5px;font-weight:500}.jc-row{grid-template-columns:var(--jc-grid);border-bottom:1px solid var(--jc-line-2);display:grid;position:relative}.jc-row:hover{background:var(--jc-cell-3)}.jc-row--hl{animation:2.6s ease-out jc-hl}@keyframes jc-hl{0%{background:#fdf0d5}70%{background:#fdf0d5}to{background:0 0}}.jc-row--excluded .jc-cell,.jc-row--excluded .jc-cell-input{color:var(--jc-muted-4)}.jc-row--excluded .jc-cell--desc{text-decoration:line-through;-webkit-text-decoration-color:var(--jc-muted-4);text-decoration-color:var(--jc-muted-4)}.jc-cell{border-right:1px solid var(--jc-line-2);min-width:0;padding:11px;font-size:14px}.jc-cell--n{text-align:center;font:12px var(--jc-mono);color:var(--jc-muted-4);background:var(--jc-cell);padding:11px 0}.jc-cell--mono{font:13.5px var(--jc-mono)}.jc-cell--unit{font:13px var(--jc-mono);color:var(--jc-muted)}.jc-cell--right{text-align:right}.jc-cell--muted{color:var(--jc-muted-4)}.jc-cell--desc{align-items:center;gap:8px;padding:11px 13px;display:flex}.jc-cell--desc-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jc-cell--desc-text.jc-indent{padding-left:14px}.jc-cell--total{font:500 13.5px var(--jc-mono);text-align:right;background:var(--jc-cell);padding:9px 12px}.jc-cell--src{border-right:0;justify-content:center;align-items:center;padding:0;display:flex}.jc-cell--input{padding:2px}.jc-cell--needs{justify-content:flex-end;align-items:center;padding:6px 8px;display:flex}.jc-cell-input{width:100%;font:13.5px var(--jc-mono);color:var(--jc-ink);background:0 0;border:0;border-radius:3px;outline:2px solid #0000;padding:9px 10px}.jc-cell-input:focus{outline:2px solid var(--jc-brand);color:var(--jc-ink);background:#fff}.jc-cell-input--right{text-align:right}.jc-cell-input--inherit{color:var(--jc-muted-4)}.jc-cell-input--text{font:14px var(--jc-sans);flex:auto;min-width:80px;padding:8px 12px}.jc-cell-input::placeholder{color:var(--jc-muted-4)}.jc-cell-input--unit{font:13px var(--jc-mono);color:var(--jc-muted)}.jc-note{color:var(--jc-muted-3);font-size:11.5px}.jc-note,.jc-pill{white-space:nowrap}.jc-pill{border-radius:3px;flex:none;padding:1px 6px;font-size:11px;font-weight:600}.jc-pill--warn{color:var(--jc-warn-ink);background:var(--jc-warn-bg);border:1px solid var(--jc-warn-line)}.jc-pill--brand{color:var(--jc-brand);border:1px solid var(--jc-brand-line);background:var(--jc-brand-tint-2)}.jc-pill--info{color:var(--jc-info-ink);background:var(--jc-info-bg);border:1px solid var(--jc-info-line);padding:2px 7px}.jc-pill--muted{color:var(--jc-muted-2);background:var(--jc-cell-2);border:1px solid var(--jc-line-4)}.jc-needs{color:var(--jc-warn-ink);background:var(--jc-warn-bg);border:1px solid var(--jc-warn-line);white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11.5px;font-weight:600}.jc-src{letter-spacing:.5px;color:var(--jc-brand);background:var(--jc-brand-tint);border-radius:3px;padding:2px 5px;font-size:9.5px;font-weight:700}.jc-src--inv{color:var(--jc-info-ink);background:var(--jc-info-bg)}.jc-src--rc{color:var(--jc-rc-ink);background:var(--jc-rc-bg)}.jc-src--emp{color:var(--jc-ok-ink);background:var(--jc-ok-bg)}.jc-row__tools{gap:4px;display:none;position:absolute;top:50%;right:424px;transform:translateY(-50%)}.jc-row:focus-within .jc-row__tools,.jc-row:hover .jc-row__tools{display:flex}.jc-row__tool{border:1px solid var(--jc-line-5);color:var(--jc-muted);background:#fff;border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:12px;line-height:1;display:flex}.jc-row__tool:hover{border-color:var(--jc-brand);color:var(--jc-brand)}.jc-group{background:var(--jc-cell-5);border-bottom:1px solid var(--jc-line-2);grid-template-columns:46px minmax(240px,1fr) 126px 44px;display:grid}.jc-group__n{border-right:1px solid var(--jc-line-2)}.jc-group__body{flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;display:flex}.jc-group__title{font-size:14px;font-weight:600}.jc-group__meta{font:12.5px var(--jc-mono);color:var(--jc-muted)}.jc-group__total{font:600 13.5px var(--jc-mono);text-align:right;color:var(--jc-ink-2);border-left:1px solid var(--jc-line-2);padding:8px 12px}.jc-group__src{justify-content:center;align-items:center;display:flex}.jc-subcols{grid-template-columns:var(--jc-grid);background:var(--jc-cell);border-bottom:1px solid var(--jc-line-2);letter-spacing:.6px;color:var(--jc-muted-3);font-size:10px;font-weight:600;display:grid}.jc-subcols>div{border-right:1px solid var(--jc-line-2);padding:5px 10px}.jc-subcols>div:first-child,.jc-subcols>div:nth-child(6),.jc-subcols>div:nth-child(7){padding:0}.jc-subcols>div:nth-child(3){padding:5px 12px}.jc-subcols>div:nth-child(5){text-align:right}.jc-subcols>div:last-child{border-right:0;padding:0}.jc-addrow{border-bottom:1px solid var(--jc-line-2);padding:6px 14px 8px 44px;font-size:13px}.jc-addrow a,.jc-addrow button{font:500 13px var(--jc-sans);color:var(--jc-brand);background:0 0;border:0;padding:0}.jc-addrow button:hover{color:var(--jc-brand-deep);text-decoration:underline}.jc-addrow__sep{color:var(--jc-line-5);margin:0 6px}.jc-pick-btn{text-align:left;border:1px dashed var(--jc-line-6);background:var(--jc-cell-4);width:100%;color:var(--jc-brand);font:500 13.5px var(--jc-sans);border-radius:5px;align-items:center;gap:8px;padding:6px 10px;display:flex}.jc-pick-btn:hover{border-color:var(--jc-brand);background:var(--jc-brand-tint-2)}.jc-pick-btn__caret{margin-left:auto;font-size:10px}.jc-pick-btn__input{font:500 13.5px var(--jc-sans);color:var(--jc-ink);background:0 0;border:0;outline:none;flex:1;min-width:0;padding:0}.jc-pick-btn__input::placeholder{color:var(--jc-brand)}.jc-cell--pick{border-right:1px solid var(--jc-line-2);padding:4px 7px}.jc-picker{z-index:30;border:1px solid var(--jc-line-5);background:#fff;border-radius:9px;width:460px;position:absolute;top:2px;left:108px;overflow:hidden;box-shadow:0 14px 40px #2b1f3838}.jc-picker--bottom{top:calc(100% + 2px)}.jc-picker__search{border-bottom:1px solid var(--jc-line-2);align-items:center;gap:8px;padding:10px 13px;display:flex}.jc-picker__search input{border:1px solid var(--jc-line);border-radius:6px;outline:none;flex:1;min-width:0;padding:7px 11px;font-size:13.5px}.jc-picker__search input:focus{border-color:var(--jc-brand)}.jc-picker__count{color:var(--jc-muted-3);white-space:nowrap;font-size:11.5px}.jc-picker__item{border-bottom:1px solid var(--jc-cell-6);cursor:pointer;align-items:center;gap:10px;padding:10px 13px;display:flex}.jc-picker__item--active,.jc-picker__item:hover{background:var(--jc-brand-tint-2)}.jc-picker__main{flex:1;min-width:0}.jc-picker__name{font-size:14px;font-weight:500}.jc-picker__meta,.jc-picker__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.jc-picker__meta{color:var(--jc-muted-3);margin-top:2px;font-size:12.5px}.jc-picker__tag{letter-spacing:.4px;white-space:nowrap;border-radius:3px;padding:2px 7px;font-size:11px;font-weight:600}.jc-picker__tag--supplier{color:var(--jc-brand);background:var(--jc-brand-tint)}.jc-picker__tag--inventory{color:var(--jc-info-ink);background:var(--jc-info-bg)}.jc-picker__tag--ratecard{color:var(--jc-rc-ink);background:var(--jc-rc-bg)}.jc-picker__tag--employee{color:var(--jc-ok-ink);background:var(--jc-ok-bg)}.jc-picker__price{font:600 13.5px var(--jc-mono);color:var(--jc-ink);text-align:right;width:74px}.jc-picker__empty{color:var(--jc-muted-3);padding:16px 13px;font-size:13px}.jc-picker__foot{color:var(--jc-muted-3);background:var(--jc-cell);padding:9px 13px;font-size:11.5px}.jc-picker__foot kbd{font:10.5px var(--jc-mono);border:1px solid var(--jc-line-5);color:var(--jc-muted);background:#fff;border-radius:3px;padding:0 4px}.jc-sum{justify-content:flex-end;padding:22px 28px 26px;display:flex}.jc-sum__box{width:430px;max-width:100%}.jc-sum__line{border-bottom:1px solid var(--jc-line-2);justify-content:space-between;padding:10px 0;font-size:14px;display:flex}.jc-sum__line span:first-child{color:var(--jc-ink-2)}.jc-sum__line span:last-child{font:500 13.5px var(--jc-mono)}.jc-sum__hint{color:var(--jc-muted-3);border-bottom:1px solid var(--jc-line-2);padding:8px 0;font-size:12.5px}.jc-sum__price{background:var(--jc-brand);border-radius:7px;justify-content:space-between;align-items:center;margin-top:10px;padding:12px 14px;display:flex}.jc-sum__price span:first-child{color:#fff;font-size:14px;font-weight:600}.jc-sum__price span:last-child{font:700 19px var(--jc-mono);color:#fff}.jc-sum__price--bad{background:var(--jc-danger)}.jc-sum__delta{color:var(--jc-muted);text-align:right;margin-top:9px;font-size:13px}.jc-sheet__foot{border-top:1px solid var(--jc-line-2);font:11px var(--jc-mono);color:var(--jc-muted-4);justify-content:space-between;padding:9px 28px;display:flex}.jc-rail{border-left:1px solid var(--jc-line);background:#fff;flex-direction:column;flex:0 430px;min-width:360px;display:flex}.jc-tabs{border-bottom:1px solid var(--jc-line);gap:2px;padding:0 16px;display:flex}.jc-tab{font:600 14px var(--jc-sans);color:var(--jc-muted-2);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:15px 14px 13px;display:flex}.jc-tab--on{color:var(--jc-brand);border-bottom-color:var(--jc-brand)}.jc-tab__badge{background:var(--jc-brand);color:#fff;border-radius:9px;padding:1px 7px;font-size:10px;font-weight:700}.jc-panel{flex-direction:column;gap:18px;padding:22px 20px;display:flex}.jc-panel--ai{gap:14px}.jc-panel--src{gap:16px}.jc-donut-row{align-items:center;gap:22px;display:flex}.jc-donut{border-radius:50%;flex:none;width:158px;height:158px;position:relative}.jc-donut__hole{background:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:26px}.jc-donut__value{font:700 23px var(--jc-mono);color:var(--jc-ink)}.jc-donut__label{letter-spacing:.6px;color:var(--jc-muted-3);font-size:11px;font-weight:600}.jc-legend{flex-direction:column;flex:1;gap:12px;display:flex}.jc-legend__item{align-items:center;gap:9px;font-size:13.5px;display:flex}.jc-legend__swatch{border-radius:3px;flex:none;width:11px;height:11px}.jc-legend__item span:nth-child(2){color:var(--jc-ink-2)}.jc-legend__item span:last-child{font:500 13.5px var(--jc-mono);margin-left:auto}.jc-card{border:1px solid var(--jc-line-3);border-radius:10px;padding:14px 15px}.jc-card__label{letter-spacing:.7px;color:var(--jc-muted-3);margin-bottom:10px;font-size:11.5px;font-weight:700}.jc-seg--fill{margin-bottom:12px}.jc-seg--fill .jc-seg__btn{flex:1;padding:7px 10px;font-size:13px}.jc-chips{flex-wrap:wrap;gap:7px;display:flex}.jc-chip{border:1px solid var(--jc-line-5);color:var(--jc-ink-2);font:600 13.5px var(--jc-mono);background:#fff;border-radius:7px;width:52px;padding:7px 0}.jc-chip--on{border-color:var(--jc-brand);background:var(--jc-brand);color:#fff}.jc-chip:hover:not(.jc-chip--on){border-color:var(--jc-brand);color:var(--jc-brand)}.jc-help{color:var(--jc-muted);font-size:13px;line-height:1.5}.jc-help--mt{margin-top:11px}.jc-chip-custom{color:var(--jc-muted);align-items:center;gap:8px;margin-top:10px;font-size:12.5px;display:flex}.jc-chip-custom input{border:1px solid var(--jc-line-5);width:64px;font:600 13px var(--jc-mono);text-align:right;border-radius:6px;outline:none;padding:5px 8px}.jc-chip-custom input:focus{border-color:var(--jc-brand)}.jc-kpis{grid-template-columns:1fr 1fr;gap:10px;display:grid}.jc-kpi{border:1px solid var(--jc-line-3);border-radius:9px;padding:12px 14px}.jc-kpi__label{letter-spacing:.6px;color:var(--jc-muted-3);font-size:11px;font-weight:600}.jc-kpi__value{font:600 18px var(--jc-mono);margin-top:5px}.jc-kpi__value--ok{color:var(--jc-ok)}.jc-kpi__value--sm{font:600 14px var(--jc-mono)}.jc-kpi__value--text{font:600 14px var(--jc-sans)}.jc-alert{background:var(--jc-warn-bg);border:1px solid var(--jc-warn-line);color:var(--jc-warn-ink);border-radius:9px;padding:12px 14px;font-size:13.5px;line-height:1.5}.jc-alert--sm{font-size:13px;line-height:1.55}.jc-alert--ok{color:var(--jc-ok);background:#eef6ea;border-color:#cfe5c6}.jc-alert--danger{color:#8a2a22;background:#fbeaea;border-color:#f0cfcf}.jc-foot{color:var(--jc-muted-3);font-size:12.5px;line-height:1.55}.jc-foot--xs{font-size:11.5px}.jc-ai-summary{background:linear-gradient(135deg,var(--jc-brand-tint-2),#f3edfa);border:1px solid var(--jc-brand-line);border-radius:11px;padding:15px 16px}.jc-ai-summary__label{letter-spacing:.7px;color:var(--jc-brand);margin-bottom:7px;font-size:11.5px;font-weight:700}.jc-ai-summary__body{color:var(--jc-ink-2);font-size:14px;line-height:1.6}.jc-ai-card{border:1px solid var(--jc-line-3);border-radius:11px;padding:14px 16px}.jc-ai-card--applied{opacity:.7}.jc-ai-card__head{align-items:center;gap:9px;display:flex}.jc-ai-card__dot{border-radius:50%;flex:none;width:9px;height:9px}.jc-ai-card__dot--warning{background:var(--jc-warn-dot)}.jc-ai-card__dot--error{background:var(--jc-danger)}.jc-ai-card__dot--opportunity{background:var(--jc-ok-dot)}.jc-ai-card__title{font-size:14px;font-weight:600}.jc-ai-card__body{color:var(--jc-ink-3);margin:8px 0 12px;font-size:13.5px;line-height:1.55}.jc-ai-card__actions{gap:9px;display:flex}.jc-ai-card__done{color:var(--jc-ok);font-size:12.5px;font-weight:600}.jc-empty{color:var(--jc-muted-3);text-align:center;padding:18px 0;font-size:13.5px}.jc-drop{border:1.5px dashed var(--jc-line-6);text-align:center;cursor:pointer;border-radius:11px;padding:26px 18px}.jc-drop--over,.jc-drop:hover{border-color:var(--jc-brand);background:var(--jc-cell-4)}.jc-drop__icon{background:var(--jc-brand-tint);width:42px;height:42px;color:var(--jc-brand);border-radius:10px;justify-content:center;align-items:center;margin:0 auto 10px;font-size:20px;font-weight:600;display:flex}.jc-drop__title{color:var(--jc-ink-2);font-size:14px;font-weight:600}.jc-drop__hint{color:var(--jc-muted-3);margin-top:4px;font-size:13px}.jc-drop input{display:none}.jc-srccard{border:1px solid var(--jc-line-3);border-radius:11px;overflow:hidden}.jc-srccard__head{align-items:center;gap:11px;padding:13px 15px;display:flex}.jc-srccard__icon{color:#b44;background:#fbeaea;border:1px solid #f0cfcf;border-radius:4px;flex:none;justify-content:center;align-items:center;width:34px;height:41px;font-size:9px;font-weight:700;display:flex}.jc-srccard__icon--xlsx{color:var(--jc-ok-ink);background:#e8f3e8;border-color:#cfe5c6}.jc-srccard__icon--image{background:var(--jc-info-bg);border-color:var(--jc-info-line);color:var(--jc-info-ink)}.jc-srccard__main{flex:1;min-width:0}.jc-srccard__name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.jc-srccard__meta{color:var(--jc-muted-3);margin-top:2px;font-size:12.5px}.jc-status{letter-spacing:.4px;border-radius:4px;flex:none;padding:3px 8px;font-size:11px;font-weight:700}.jc-status--reconciled{color:var(--jc-ok-ink);background:var(--jc-ok-bg)}.jc-status--extracting,.jc-status--uploading{color:var(--jc-brand);background:var(--jc-brand-tint);animation:1.2s ease-in-out infinite jc-pulse}.jc-status--needs-review{color:var(--jc-warn-ink);background:var(--jc-warn-bg)}.jc-status--failed{color:#8a2a22;background:#fbeaea}.jc-srccard__facts{border-top:1px solid var(--jc-cell-6);color:var(--jc-ink-3);flex-direction:column;gap:6px;padding:10px 15px;font-size:13px;display:flex}.jc-srccard__fact{justify-content:space-between;gap:10px;display:flex}.jc-srccard__ok{color:var(--jc-ok-ink);font-weight:600}.jc-srccard__actions{border-top:1px solid var(--jc-cell-6);background:var(--jc-cell);gap:14px;padding:9px 15px;display:flex}.jc-srccard__actions button{font:500 13px var(--jc-sans);color:var(--jc-brand);background:0 0;border:0;padding:0}.jc-srccard__actions button:hover{color:var(--jc-brand-deep);text-decoration:underline}.jc-srccard__actions button.jc-muted{color:var(--jc-muted-3);margin-left:auto}.jc-modal-host{z-index:100;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow:auto}.jc-modal-host--embedded{position:absolute;left:0;right:0}.jc-modal-back{background:#2b1f3861;position:fixed;inset:0}.jc-modal{border:1px solid var(--jc-line);background:#fff;border-radius:12px;width:100%;max-width:640px;position:relative;box-shadow:0 24px 70px #2b1f3859}.jc-modal--wide{max-width:860px}.jc-modal__head{border-bottom:1px solid var(--jc-line-2);align-items:center;gap:12px;padding:18px 22px 14px;display:flex}.jc-modal__title{font-size:17px;font-weight:600}.jc-modal__sub{color:var(--jc-muted);margin-top:3px;font-size:13px}.jc-modal__close{color:var(--jc-muted);background:0 0;border:0;border-radius:6px;margin-left:auto;padding:4px 6px;font-size:20px;line-height:1}.jc-modal__close:hover{background:var(--jc-cell-2);color:var(--jc-ink)}.jc-modal__body{padding:18px 22px}.jc-modal__foot{border-top:1px solid var(--jc-line-2);align-items:center;gap:10px;padding:14px 22px 18px;display:flex}.jc-modal__foot .jc-spacer{flex:1}.jc-success{text-align:center;padding:26px 10px 16px}.jc-success__icon{background:var(--jc-ok-bg);width:54px;height:54px;color:var(--jc-ok-ink);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 14px;font-size:26px;display:flex}.jc-success__title{font-size:17px;font-weight:600}.jc-success__body{color:var(--jc-muted);margin-top:6px;font-size:13.5px;line-height:1.5}.jc-table{border-collapse:collapse;width:100%;font-size:13.5px}.jc-table th{text-align:left;letter-spacing:.6px;color:var(--jc-muted-2);background:var(--jc-cell-2);border-bottom:1px solid var(--jc-line-4);padding:8px 10px;font-size:11.5px;font-weight:600}.jc-table td{border-bottom:1px solid var(--jc-line-2);vertical-align:top;padding:9px 10px}.jc-table .num{text-align:right;font:500 13.5px var(--jc-mono);white-space:nowrap}.jc-table th.num{font-family:var(--jc-sans);font-weight:600}.jc-table tr.total td{background:var(--jc-cell);font-weight:600}.jc-table .on{background:var(--jc-brand-tint-2)}.jc-table .delta-neg{color:var(--jc-ok)}.jc-table .delta-pos{color:var(--jc-danger)}.jc-table .change{letter-spacing:.4px;border-radius:3px;padding:1px 6px;font-size:10.5px;font-weight:700}.jc-table .change--new{color:var(--jc-ok-ink);background:var(--jc-ok-bg)}.jc-table .change--update{color:var(--jc-info-ink);background:var(--jc-info-bg)}.jc-history{border:1px solid var(--jc-line-2);border-radius:8px;flex-direction:column;max-height:420px;display:flex;overflow:auto}.jc-history__item{border-bottom:1px solid var(--jc-line-2);align-items:center;gap:12px;padding:10px 14px;font-size:13.5px;display:flex}.jc-history__item:last-child{border-bottom:0}.jc-history__rev{font:600 12.5px var(--jc-mono);color:var(--jc-brand);flex:none;width:56px}.jc-history__summary{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.jc-history__time{font:12px var(--jc-mono);color:var(--jc-muted-3);white-space:nowrap}.jc-history__item--current{background:var(--jc-brand-tint-2)}.jc-history__item .jc-pill{margin-left:4px}.jc-field{flex-direction:column;gap:6px;display:flex}.jc-field label{letter-spacing:.5px;color:var(--jc-muted-3);font-size:12px;font-weight:600}.jc-field input{border:1px solid var(--jc-line-5);border-radius:7px;outline:none;padding:10px 12px;font-size:14px}.jc-field input:focus{border-color:var(--jc-brand)}.jc-radio-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.jc-radio{border:1px solid var(--jc-line-5);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.jc-radio--on{border-color:var(--jc-brand);background:var(--jc-brand-tint-2)}.jc-radio input{accent-color:var(--jc-brand)}.jc-diff{border:1px solid var(--jc-line-3);background:var(--jc-cell);border-radius:9px;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:14px;display:grid}.jc-diff__label{letter-spacing:.6px;color:var(--jc-muted-3);font-size:11px;font-weight:600}.jc-diff__value{font:600 18px var(--jc-mono);margin-top:4px}.jc-diff__arrow{color:var(--jc-muted-4);font-size:18px}.jc-loading{min-height:60vh;color:var(--jc-muted);justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.jc-spinner{border:2px solid var(--jc-brand-line);border-top-color:var(--jc-brand);border-radius:50%;width:18px;height:18px;animation:1s linear infinite jc-spin}@keyframes jc-spin{to{transform:rotate(1turn)}}.jc-error{background:#fff;border:1px solid #f0cfcf;border-radius:10px;max-width:520px;margin:60px auto;padding:22px 24px}.jc-error h2{margin:0 0 6px;font-size:16px}.jc-error p{color:var(--jc-muted);margin:0 0 14px;font-size:13.5px}@media print{[data-noprint]{display:none!important}body{background:#fff}.jc-desk{padding:0!important;overflow:visible!important}.jc-sheet{min-width:0!important;max-width:100%!important;box-shadow:none!important;border:0!important}.jc-row__tools{display:none!important}}@media (prefers-reduced-motion:reduce){.jc-row--hl,.jc-save__dot,.jc-spinner,.jc-status{animation:none!important}}
