/* Page-owned runtime/visuals; no global control or overlay overrides. */
#fulfillment-app{--fp-line:#e2e9f2;--fp-muted:#728098;--fp-blue:#3566db;color:#25364b}
#fulfillment-app .fp-page{display:grid;gap:18px}
#fulfillment-app,#fulfillment-app .fp-page,#fulfillment-app .fp-page>*{min-width:0;max-width:100%}
#fulfillment-app button>svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2}
#fulfillment-app .asset-icon{display:inline-block;width:19px;height:19px;background:currentColor;mask:var(--asset-icon) center/contain no-repeat;-webkit-mask:var(--asset-icon) center/contain no-repeat;flex-shrink:0}
#fulfillment-app .fp-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;border:1px solid var(--fp-line);border-radius:18px;padding:26px 30px;background:radial-gradient(ellipse at 100% 0,#e7eefd 0,transparent 55%),#fff}
#fulfillment-app h2,#fulfillment-app h3,#fulfillment-app p{margin:0}
#fulfillment-app .fp-hero h2{font-size:24px;margin:10px 0;color:#244876}
#fulfillment-app .fp-eyebrow{letter-spacing:1.6px;font-size:11px;color:#6c87aa;font-weight:750}
#fulfillment-app p{line-height:1.7;color:#65748a;font-size:13px}
#fulfillment-app .fp-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#fulfillment-app button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
#fulfillment-app .fp-notice{padding:12px 18px;border:1px solid #d9e5f6;border-radius:10px;background:#f2f7fe;color:#476487;font-size:13px;line-height:1.6}
#fulfillment-app .fp-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
#fulfillment-app .fp-stat{align-items:flex-start;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--fp-line);border-radius:14px;padding:20px;gap:10px;color:#52647a;box-shadow:none;transform:none}
#fulfillment-app .fp-stat strong{font-size:30px;color:#315ea3;line-height:1.2}
#fulfillment-app .fp-stat:nth-child(2){background:#f0f9f5}#fulfillment-app .fp-stat:nth-child(2) strong{color:#20815d}
#fulfillment-app .fp-stat:nth-child(3){background:#fffbf1}#fulfillment-app .fp-stat:nth-child(3) strong{color:#b98330}
#fulfillment-app .fp-stat:nth-child(5){background:#fff5f4}#fulfillment-app .fp-stat:nth-child(5) strong{color:#b85358}
#fulfillment-app small{display:block;color:var(--fp-muted);font-size:11px;font-weight:400;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
#fulfillment-app .fp-filter-card,#fulfillment-app .fp-list-card{background:#fff;border:1px solid var(--fp-line);border-radius:15px;padding:18px 20px}
#fulfillment-app .fp-filter-top{display:grid;grid-template-columns:auto minmax(0,1.25fr) minmax(340px,1fr);align-items:center;gap:16px;margin-bottom:16px}
#fulfillment-app .fp-filter-top>span{font-size:13px;color:#59697e;font-weight:600}
#fulfillment-app .fp-date-presets{display:flex;gap:3px;background:#edf1f7;border-radius:9px;padding:3px;min-width:0}
#fulfillment-app .fp-date-presets button{flex:1;min-width:0;white-space:nowrap;background:transparent;border:0;color:#65738a;border-radius:7px;padding:9px 6px;font-size:13px}
#fulfillment-app .fp-date-presets button.active{background:#fff;color:var(--fp-blue);font-weight:700;box-shadow:0 1px 3px #253b611a}
#fulfillment-app .fp-dates{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;color:#78869b;min-width:0}
#fulfillment-app .fp-dates input,#fulfillment-app .fp-dates .system-control-trigger{min-height:42px;padding:8px 12px;font-size:13px;border-radius:8px}
#fulfillment-app .fp-dates .system-date-control,#fulfillment-app .fp-dates .system-date-trigger{width:100%;min-width:0}
#fulfillment-app .fp-select{display:flex;align-items:center;min-height:44px;padding-left:10px;border:1px solid #dce4ef;border-radius:10px;background:#ffffffd9;gap:0}
#fulfillment-app .fp-select>span{font-size:12px;white-space:nowrap;color:#536279}
#fulfillment-app .fp-select>select,#fulfillment-app .fp-select>.system-control{min-width:0;flex:1;border:0;background:transparent;box-shadow:none}
#fulfillment-app .fp-select .system-control-trigger{min-height:42px;padding:0 8px;border:0;background:transparent;box-shadow:none;font-size:12px;gap:5px}
#fulfillment-app .fp-filters .text-button{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:#466ca6;padding:9px 6px;font-size:13px;white-space:nowrap}
#fulfillment-app .fp-table-actions{margin-left:auto;justify-content:flex-end}
#fulfillment-app .fp-table-actions button{min-height:40px;font-size:13px}

#fulfillment-app .fp-filters{display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(5,minmax(125px,1fr)) auto;gap:10px;align-items:stretch;padding-top:16px;border-top:1px solid #e7ecf3}
#fulfillment-app label{display:grid;gap:7px;font-size:12px;color:#64748b;min-width:0}
#fulfillment-app input:not([type=checkbox]),#fulfillment-app select,#fulfillment-app textarea{width:100%;min-width:0;box-sizing:border-box}
#fulfillment-app .fp-search{display:flex;align-items:center;position:relative;min-height:44px;border:1px solid #cbd6e6;border-radius:10px;background:#f4f7fc;color:#587498}
#fulfillment-app .fp-search .asset-icon,#fulfillment-app .fp-search svg{position:absolute;left:12px;color:#899bb5;pointer-events:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
#fulfillment-app .fp-search input{padding:10px 12px 10px 40px;border:0;background:transparent;box-shadow:none;outline:none}
#fulfillment-app .fp-filter-bottom{display:flex;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}
#fulfillment-app .fp-filter-bottom>input,#fulfillment-app .fp-filter-bottom>.system-date-control{width:170px}
#fulfillment-app .fp-filter-bottom>label{display:flex;align-items:center;gap:12px;white-space:nowrap}
#fulfillment-app .fp-filter-bottom>label .system-date-control{width:170px}
#fulfillment-app .fp-filter-bottom>select,#fulfillment-app .fp-filter-bottom>.system-select-control{width:160px}
#fulfillment-app .fp-list-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:64px;padding:0 4px 18px}
#fulfillment-app h3{font-size:16px;display:flex;align-items:center;gap:9px}
#fulfillment-app .fp-list-title>span{color:var(--fp-muted);font-size:13px}
#fulfillment-app .fp-table-scroll{overflow:auto;min-height:480px;max-height:70vh;border:1px solid var(--fp-line);border-radius:10px}
#fulfillment-app .fp-table{table-layout:fixed;width:100%;min-width:1450px;border-collapse:collapse;font-size:12px}
#fulfillment-app .fp-table th{position:sticky;top:0;z-index:1;background:#f4f7fc;color:#687a95;font-weight:750;padding:16px 10px;text-align:center}
#fulfillment-app .fp-table td{padding:17px 10px;text-align:center;vertical-align:middle;border-top:1px solid #edf1f7;overflow:hidden;overflow-wrap:anywhere}
#fulfillment-app .fp-table tr:hover td{background:#fafcff}
#fulfillment-app .fp-link{color:#315eaa;background:transparent;border:0;padding:0;font-weight:650;white-space:normal;word-break:break-word;box-shadow:none}
#fulfillment-app .fp-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#fulfillment-app .fp-badge{display:inline-flex;line-height:1.5;padding:5px 9px;border-radius:7px;background:#edf2f9;color:#65758e;font-size:11px;font-weight:650}
#fulfillment-app .fp-single_node,#fulfillment-app .fp-confirmed,#fulfillment-app .fp-pushed,#fulfillment-app .fp-precheck_passed{color:#267452;background:#e8f6ef}
#fulfillment-app .fp-split_required,#fulfillment-app .fp-awaiting_confirmation{background:#edf2ff;color:#466ab5}
#fulfillment-app .fp-mixed_manual,#fulfillment-app .fp-out_of_stock,#fulfillment-app .fp-partial_success,#fulfillment-app .fp-manual_review{background:#fff2d8;color:#9c722e}
#fulfillment-app .fp-failed,#fulfillment-app .fp-wms_query_error,#fulfillment-app .fp-uncertain{background:#fff0ee;color:#ad5558}
#fulfillment-app .fp-error{color:#b95456;overflow-wrap:anywhere}
#fulfillment-app .fp-empty{padding:90px 30px;text-align:center;display:grid;gap:16px;justify-items:center;color:#6c7f98}
#fulfillment-app .fp-job{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:13px 16px;background:#edf5ff;border:1px solid #dce7f9;border-radius:10px;font-size:13px;color:#365e93}
#fulfillment-app .fp-job-copy{display:grid;gap:5px;flex:1;min-width:180px;line-height:1.6;overflow-wrap:anywhere}
#fulfillment-app .fp-job-copy strong{font-size:14px;color:inherit}
#fulfillment-app .fp-job-copy>span{font-size:12px;color:inherit}
#fulfillment-app .fp-job-success{background:#eff9f3;border-color:#cde7d8;color:#26764f}
#fulfillment-app .fp-job-warning{background:#fffaed;border-color:#f0dfb4;color:#906927}
#fulfillment-app .fp-job-error{background:#fff3f1;border-color:#efd0cc;color:#a44c48}
#fulfillment-app [data-drawer-job]:not(:empty){margin-top:14px}
#fulfillment-app [data-modal-job]:not(:empty){margin:12px 24px 0;flex-shrink:0}
#fulfillment-app .fp-feedback-spinner{width:18px;height:18px;flex-shrink:0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fp-feedback-spin 1s linear infinite}
@keyframes fp-feedback-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#fulfillment-app .fp-feedback-spinner{animation:none}}
#fulfillment-app .fp-layer{position:fixed;inset:0;z-index:1200;display:flex;justify-content:flex-end;isolation:isolate}
#fulfillment-app .fp-layer[data-modal]{z-index:1220;align-items:center;justify-content:center}
#fulfillment-app .fp-shade,#fulfillment-app .fp-shade:hover{position:absolute;inset:0;background:rgba(30,41,59,.28);backdrop-filter:none;transition:none;cursor:default;z-index:-1}
#fulfillment-app .fp-drawer{display:flex;flex-direction:column;width:min(970px,88vw);height:100%;background:#f5f7fb;box-shadow:-12px 0 45px #172c4922;overflow:hidden}
#fulfillment-app .fp-drawer-head{padding:22px 28px;background:radial-gradient(ellipse at top right,#eaf0fa,transparent 70%),#fff;border-bottom:1px solid var(--fp-line);flex-shrink:0}
#fulfillment-app .fp-drawer-head>.fp-actions:first-child{justify-content:space-between}
#fulfillment-app .fp-drawer-head h2{font-size:25px;color:#2d5791;margin:7px 0 16px;overflow-wrap:anywhere}
#fulfillment-app .fp-drawer-head .fp-actions>span:not(.fp-badge){font-size:12px;color:#7b8a9f}
#fulfillment-app .fp-x,#fulfillment-app .fp-x:hover{min-height:0;width:30px;height:30px;padding:0;border:0;box-shadow:none;background:transparent;color:#6d7d92;font-size:26px;transform:none;transition:none}
#fulfillment-app .fp-drawer-body{overflow:auto;flex:1;min-height:0;padding:22px;display:grid;gap:18px;align-content:start}
#fulfillment-app .fp-section{padding:20px;background:#fff;border:1px solid var(--fp-line);border-radius:12px;min-width:0;display:grid;gap:15px}
#fulfillment-app .fp-section h3 .asset-icon{color:#557fb4}
#fulfillment-app .fp-matrix-wrap{overflow:auto;border:1px solid var(--fp-line);border-radius:8px}
#fulfillment-app .fp-matrix{table-layout:fixed;border-collapse:collapse;min-width:100%;font-size:12px}
#fulfillment-app .fp-matrix th{background:#f4f7fc;padding:12px;min-width:90px;color:#5d718f}
#fulfillment-app .fp-matrix td{padding:13px;border-top:1px solid #edf1f7;text-align:center;white-space:normal;overflow:hidden;overflow-wrap:anywhere;vertical-align:top}
#fulfillment-app .fp-matrix td:first-child{text-align:left}
#fulfillment-app .fp-matrix td strong{display:block;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.65}
#fulfillment-app .fp-matrix td:first-child strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
/* Only while this page owns a dialog: the floating pet must not intercept its action buttons. */
body:has(#fulfillment-app .fp-layer) #ai-assistant-root .ai-assistant{visibility:hidden;pointer-events:none}
#fulfillment-app .fp-plan{border:1px solid #dfe8f7;border-radius:10px;overflow:hidden}
#fulfillment-app .fp-plan-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;background:#f0f5fd;color:#3b5b84;gap:10px;font-size:13px}
#fulfillment-app .fp-plan dl{display:grid;grid-template-columns:75px 1fr;gap:9px 12px;margin:14px 16px;font-size:12px}
#fulfillment-app dt{color:#7b8ba2}#fulfillment-app dd{margin:0;overflow-wrap:anywhere}
#fulfillment-app .fp-plan-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 210px;gap:12px;padding:12px 16px;border-top:1px solid #eaf0f7;align-items:center;font-size:12px}
#fulfillment-app .fp-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
#fulfillment-app .fp-checks>div{padding:12px;background:#f7f9fc;border-radius:7px;font-size:12px;display:flex;align-items:center;gap:10px;color:#8592a5}
#fulfillment-app .fp-checks .passed{background:#f0f8f3;color:#32865f}
#fulfillment-app .fp-drawer-footer{display:flex;gap:8px;flex-wrap:wrap;padding:16px 22px;background:#fff;border-top:1px solid var(--fp-line);flex-shrink:0}
#fulfillment-app .fp-drawer-footer button{font-size:14px;padding:12px 16px;min-height:46px;font-weight:600}
#fulfillment-app .fp-footer-actions{display:flex;gap:10px;justify-content:flex-end;margin-left:auto;flex-wrap:wrap}
#fulfillment-app .fp-footer-actions .fp-manual-action{background:#fff5e5;border-color:#ead0a3;color:#966526}
#fulfillment-app .fp-footer-actions .fp-complete-action{background:#eef8f2;border-color:#badcca;color:#27764f}
#fulfillment-app .fp-footer-actions .primary{min-width:145px}
#fulfillment-app .fp-footer-actions button:disabled{opacity:.55;cursor:not-allowed}

#fulfillment-app .fp-modal{max-height:88vh;display:flex;flex-direction:column;width:min(740px,94vw);background:#fff;border:1px solid #fff;border-radius:16px;overflow:hidden;box-shadow:0 16px 60px #19345226}
#fulfillment-app .fp-modal header,#fulfillment-app .fp-modal footer{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--fp-line);gap:12px}
#fulfillment-app .fp-modal h2{font-size:21px;color:#2b4568}
#fulfillment-app .fp-modal footer{border-top:1px solid var(--fp-line);border-bottom:0;justify-content:flex-end}
#fulfillment-app .fp-modal-body{padding:22px 24px;overflow:auto;display:grid;gap:18px}
#fulfillment-app textarea{resize:vertical;min-height:85px}
#fulfillment-app .fp-settings-nodes{display:grid;gap:14px}
#fulfillment-app .fp-settings-nodes>div{padding:16px;border:1px solid var(--fp-line);border-radius:9px;display:grid;gap:12px;grid-template-columns:1fr 100px 100px}
#fulfillment-app .fp-settings-nodes strong{grid-column:1/-1;font-size:13px}
#fulfillment-app .fp-enable{display:flex;align-items:center;gap:8px}
#fulfillment-app .fp-timeline{list-style:none;margin:0;padding-left:15px;border-left:2px solid #dce6f5;display:grid;gap:16px}
#fulfillment-app .fp-timeline li{display:grid;gap:4px;font-size:12px}
#fulfillment-app time{font-size:11px;color:#8998ac}
#fulfillment-app .fp-confirm-plan,#fulfillment-app .fp-join-result{display:grid;gap:7px;border:1px solid var(--fp-line);border-radius:9px;padding:15px;font-size:13px}
#fulfillment-app .fp-confirm-plan strong{color:#3565a5}
@media(max-width:1250px){#fulfillment-app .fp-filter-top{grid-template-columns:auto minmax(0,1fr)}#fulfillment-app .fp-dates{grid-column:1/-1}#fulfillment-app .fp-hero{align-items:flex-start;flex-direction:column}#fulfillment-app .fp-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#fulfillment-app .fp-search{grid-column:1/-1}#fulfillment-app .fp-drawer{width:min(970px,95vw)}}
@media(max-width:700px){#fulfillment-app .fp-filter-top{grid-template-columns:minmax(0,1fr)}#fulfillment-app .fp-dates{gap:8px}#fulfillment-app .fp-footer-actions{width:100%}#fulfillment-app .fp-stats{grid-template-columns:repeat(2,1fr)}#fulfillment-app .fp-plan-item{grid-template-columns:1fr}#fulfillment-app .fp-drawer{width:100vw}#fulfillment-app .fp-drawer-head h2{font-size:20px}#fulfillment-app .fp-checks{grid-template-columns:1fr}#fulfillment-app .fp-hero{padding:20px}#fulfillment-app .fp-hero h2{font-size:20px}}
