:root{--primary:#178a4b;--primary-dark:#116738;--primary-soft:#eaf6ef;--bg:#f7f9f8;--surface:#fff;--border:#d9e2dd;--text:#17211c;--muted:#66736c;--warning:#b7791f;--danger:#c43d3d}.fm-root{--fm-primary:var(--primary);--fm-primary-hover:var(--primary-dark);--fm-border:var(--border);--fm-ink:var(--text);--fm-sub:var(--muted);--fm-muted:var(--muted);color:var(--fm-ink)}.fm-root .fm-hidden{display:none!important}.fm-root .fm-panel{background:var(--surface);border:1px solid var(--fm-border);border-radius:12px;min-width:0;margin:1.25rem 0;padding:1.25rem;box-shadow:0 1px 2px #1018280a}.fm-root .fm-panel:first-child{margin-top:0}.fm-root{--fm-border-strong:#7c8b84;--fm-focus:var(--primary-dark);--fm-risk-bg:#fcefdc;--fm-risk-text:#7a4e10;--fm-risk-border:var(--warning)}.fm-root .fm-primary{background:var(--fm-primary-hover);color:#fff;border:1px solid var(--fm-primary-hover);min-height:46px;font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.15rem;font-weight:700;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.fm-root .fm-primary:hover{background:var(--fm-primary);border-color:var(--fm-primary)}.fm-root .fm-primary:focus-visible{outline:3px solid var(--fm-focus);outline-offset:2px}.fm-root .fm-primary:disabled{opacity:.5;cursor:not-allowed}.fm-root .fm-primary:active:not(:disabled){background:var(--primary-dark);filter:brightness(.92)}.fm-root .fm-secondary{background:var(--surface);min-height:46px;color:var(--text);border:1px solid var(--fm-border-strong);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.15rem;font-weight:700;display:inline-flex}.fm-root .fm-secondary:hover{background:var(--bg);border-color:var(--muted)}.fm-root .fm-secondary:focus-visible{outline:3px solid var(--fm-focus);outline-offset:2px}.fm-root .fm-secondary:disabled{opacity:.5;cursor:not-allowed}.fm-root .fm-secondary:active:not(:disabled){background:var(--bg)}.fm-root .fm-tertiary{min-height:44px;color:var(--fm-muted);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;justify-content:center;align-items:center;padding:.55rem 1rem;font-weight:600;text-decoration:underline;display:inline-flex}.fm-root .fm-tertiary:hover{color:var(--fm-ink)}.fm-root .fm-tertiary:focus-visible{outline:3px solid var(--fm-focus);outline-offset:2px;border-radius:4px}.fm-root .fm-tertiary:disabled{opacity:.5;cursor:not-allowed}.fm-root .fm-risk{background:var(--fm-risk-bg);min-height:46px;color:var(--fm-risk-text);border:1px solid var(--fm-risk-border);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1.15rem;font-weight:700;display:inline-flex}.fm-root .fm-risk:before{content:"⚠";margin-right:.1rem}.fm-root .fm-risk:hover{background:#f9e4c4}.fm-root .fm-risk:focus-visible{outline:3px solid var(--fm-focus);outline-offset:2px}.fm-root .fm-risk:disabled{opacity:.5;cursor:not-allowed}.fm-root .fm-risk:active:not(:disabled){background:#f5daac}.fm-root .fm-block{width:100%}.fm-root .fm-dropzone{border:2px dashed var(--border);background:var(--surface);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:.3rem;padding:1.75rem 1.25rem;transition:border-color .12s,background .12s;display:flex;position:relative}.fm-root .fm-dropzone:hover{border-color:var(--muted)}.fm-root .fm-dropzone:focus-within{outline:3px solid var(--primary-soft);outline-offset:2px}.fm-root .fm-dropzone.fm-dz-active{border-color:var(--fm-primary);background:var(--primary-soft)}.fm-root .fm-dz-title{color:var(--fm-ink);font-size:1.05rem;font-weight:800}.fm-root .fm-dz-hint{color:var(--fm-sub);font-size:.9rem}.fm-root .fm-dz-or{color:var(--fm-muted);margin:.15rem 0;font-size:.8rem}.fm-root .fm-dz-btnrow{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.fm-root .fm-dz-btn{margin-top:.1rem}.fm-root .fm-dz-limit{margin-top:.35rem}.fm-root .fm-file-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fm-root label.fm-secondary{cursor:pointer}.fm-root .fm-hint{color:var(--fm-muted);font-size:.82rem;font-weight:500}.fm-root .fm-list-title{color:var(--text);margin:1.15rem 0 .55rem;font-size:.9rem;font-weight:700}.fm-root #fileList{grid-template-columns:minmax(0,1fr);gap:.5rem;max-height:17rem;display:grid;overflow-y:auto}.fm-root .fm-file-row{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:.7rem;padding:.6rem .75rem;display:flex}.fm-root .fm-file-format{letter-spacing:.02em;color:var(--primary-dark);background:var(--primary-soft);border:1px solid var(--primary);border-radius:5px;flex:none;justify-content:center;align-items:center;padding:.2rem .3rem;font-size:.58rem;font-weight:800;line-height:1;display:inline-flex}.fm-root .fm-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fm-ink);flex:auto;font-size:.92rem;font-weight:500;overflow:hidden}.fm-root .fm-file-size{color:var(--fm-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.82rem}.fm-root .fm-remove{border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--fm-muted);font:inherit;cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:1.15rem;line-height:1;display:inline-flex}.fm-root .fm-remove:hover{border-color:var(--danger);color:var(--danger);background:#fdecec}.fm-root #status{color:var(--fm-sub);background:var(--bg);border:1px solid var(--fm-border);border-radius:8px;margin:.85rem 0;padding:.55rem .8rem;font-size:.9rem;font-weight:600;display:block}.fm-root #decision.fm-panel{background:#fffdf5;border-color:#fcd34d}.fm-root .fm-decision-heading{color:var(--fm-ink);margin:0 0 .4rem;padding-left:1.7rem;font-size:1.05rem;font-weight:800;line-height:1.4;position:relative}.fm-root .fm-decision-heading:before{content:"⚠";color:var(--warning);font-size:1.1rem;position:absolute;top:0;left:0}.fm-root .fm-decision-lead{color:var(--fm-sub);white-space:pre-line;margin:0 0 1rem;padding-left:1.7rem;font-size:.9rem;font-weight:600;line-height:1.55}.fm-root .fm-decision-actions{flex-direction:column;gap:.55rem;display:flex}.fm-root .fm-decision-actions .fm-primary,.fm-root .fm-decision-actions .fm-secondary{flex-direction:column;gap:.12rem;padding-top:.55rem;padding-bottom:.55rem}.fm-root .fm-btn-main{font-weight:700}.fm-root .fm-btn-sub{opacity:.9;font-size:.74rem;font-weight:500}.fm-root .fm-result-heading{border-bottom:1px solid var(--fm-border);gap:.25rem;margin-bottom:1rem;padding-bottom:1rem;display:grid}.fm-root .fm-result-heading strong{color:var(--fm-ink);font-size:1.2rem;font-weight:800;line-height:1.3}.fm-root #download{margin-top:.25rem}.fm-root .fm-note{border-radius:8px;margin:.65rem 0 0;padding:.7rem .85rem .7rem 2.3rem;font-size:.85rem;font-weight:600;line-height:1.55;position:relative}.fm-root .fm-note:before{font-size:.95rem;position:absolute;top:.62rem;left:.8rem}.fm-root .fm-note.warn{color:var(--warning);background:#fffbeb;border:1px solid #fde68a}.fm-root .fm-note.warn:before{content:"⚠"}.fm-root .fm-note.muted{background:var(--bg);border:1px solid var(--fm-border);color:var(--fm-sub)}.fm-root .fm-note.muted:before{content:"ℹ";color:var(--muted)}.fm-root #excludedBlock{margin-top:1rem}.fm-root #failBlock{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:1rem;padding:.85rem 1rem}.fm-root #failBlock .fm-list-title{color:var(--danger);margin-top:0}.fm-root .fm-fail-list,.fm-root .fm-excluded-list{margin:.25rem 0 0;padding:0;list-style:none}.fm-root .fm-fail-list li{color:var(--danger);padding:.18rem 0;font-size:.86rem}.fm-root .fm-excluded-list li{color:var(--fm-sub);padding:.18rem 0;font-size:.86rem}.fm-root .fm-limits>summary{cursor:pointer;list-style:none}.fm-root .fm-limits>summary::-webkit-details-marker{display:none}.fm-root .fm-limits>summary::marker{content:""}.fm-root .fm-limits .fm-limits-title{color:var(--text);font-size:.9rem;font-weight:700}.fm-root .fm-limits-toggle{color:var(--primary-dark);margin-left:.5rem;font-size:.82rem;font-weight:600;text-decoration:underline}.fm-root .fm-limits #limits{white-space:pre-line;margin-top:.4rem}.fm-root .fm-licenses-text{white-space:pre-wrap;word-break:break-word;max-height:20rem;margin-top:.4rem;font-size:.78rem;line-height:1.5;overflow-y:auto}#dateConflictBlock #dateConflictLead{white-space:pre-line;margin-bottom:.5rem}#dateConflictBlock summary{cursor:pointer;color:var(--primary-dark);margin-top:.4rem;font-size:.86rem;font-weight:600;text-decoration:underline}#dateConflictBlock #dateConflictDetail{white-space:pre-line;margin-top:.4rem;font-size:.88rem}.fm-root .fm-mode{border:0;margin:1.1rem 0 0;padding:0}.fm-root .fm-mode legend{margin-bottom:.5rem;padding:0}.fm-root .fm-mode-opt{border:1px solid var(--fm-border);cursor:pointer;border-radius:8px;align-items:flex-start;gap:.55rem;margin-top:.4rem;padding:.6rem .75rem;display:flex}.fm-root .fm-mode-opt:has(input:checked){border-color:var(--fm-primary);background:var(--primary-soft)}.fm-root .fm-mode-opt input{flex:none;margin-top:.18rem}.fm-root .fm-mode-opt strong{color:var(--text);font-size:.93rem;font-weight:700;display:block}.fm-root .fm-mode-opt em{color:var(--fm-sub);margin-top:.12rem;font-size:.84rem;font-style:normal;line-height:1.5;display:block}.fm-root .fm-check{color:var(--text);cursor:pointer;align-items:flex-start;gap:.5rem;margin-top:.55rem;font-size:.9rem;display:flex}.fm-root .fm-check input{flex:none;margin-top:.16rem}.fm-root #singleBox{border-top:1px solid var(--fm-border);margin-top:.9rem;padding-top:.9rem}.fm-root .fm-po-heading{color:var(--fm-ink);margin:0 0 .4rem;font-size:1.05rem;font-weight:800;line-height:1.4}.fm-root .fm-po-lead{color:var(--fm-sub);margin:0 0 .3rem;font-size:.86rem;font-weight:600;line-height:1.55}.fm-root #processingOptionsDialog .fm-panel{max-height:min(80vh,40rem);overflow-y:auto}.fm-root .fm-sheetpick{border-top:1px solid var(--fm-border);margin-top:.9rem;padding-top:.9rem}.fm-root .fm-sheet-group{margin-top:.6rem}.fm-root .fm-sheet-file{color:var(--fm-sub);word-break:break-all;margin-top:0;font-size:.82rem;font-weight:700}.fm-root .fm-sheet-row{color:var(--text);align-items:center;gap:.5rem;margin-top:.3rem;padding-left:1.3rem;font-size:.89rem;display:flex}.fm-root .fm-sheet-row input{flex:none}.fm-root .fm-sheet-hidden-badge{color:var(--fm-sub);background:var(--bg);border-radius:.3rem;padding:.05rem .4rem;font-size:.74rem}.fm-root #sheetPickEmpty{color:var(--warning);margin-top:.6rem;font-size:.87rem}.fm-root #hdrDecision.fm-panel,.fm-root #fmlDecision.fm-panel,.fm-root #dropDecision.fm-panel,.fm-root #hlocDecision.fm-panel{background:#fffdf5;border-color:#fcd34d}.fm-root #blkDecision.fm-panel{background:#fef7f7;border-color:#fca5a5;margin:0}.fm-root .fm-dialog{background:0 0;border:0;width:min(560px,100vw - 2rem);max-width:100%;margin:auto;padding:0;inset:0}.fm-root .fm-dialog::backdrop{background:#0f172a73}.fm-root .fm-dialog #blkDecision,.fm-root .fm-dialog #dlDecision,.fm-root .fm-dialog #dropDecision,.fm-root .fm-dialog #hlocDecision,.fm-root .fm-dialog #hdrDecision,.fm-root .fm-dialog #fmlDecision,.fm-root .fm-dialog #bmergeDecision,.fm-root .fm-dialog #decision,.fm-root .fm-dialog #workloadWarnDecision{max-height:min(80vh,40rem);overflow-y:auto}.fm-root #blkDecision .fm-decision-heading:before{color:var(--danger)}.fm-root .fm-hloc-sheet{border:1px solid var(--fm-border);background:#fff;border-radius:6px;margin:0 0 1rem;padding:.7rem .8rem}.fm-root .fm-hloc-title{color:var(--text);overflow-wrap:anywhere;font-size:.9rem;font-weight:700}.fm-root .fm-hloc-why{color:var(--fm-sub);margin-top:.15rem;font-size:.82rem}.fm-root .fm-hloc-prev{color:var(--text);margin:.5rem 0;font-size:.82rem;line-height:1.7;overflow-x:auto}.fm-root .fm-hloc-prev div{white-space:nowrap}.fm-root .fm-hloc-prev .fm-hloc-n{min-width:2.6rem;color:var(--muted);display:inline-block}.fm-root .fm-hloc-prev .fm-hloc-hit{background:#fef3c7;border-radius:3px;padding:0 .2rem}.fm-root .fm-hloc-pick{color:var(--text);flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.86rem;display:flex}.fm-root .fm-hloc-pick select{font:inherit;border:1px solid var(--fm-border);background:var(--surface);border-radius:5px;padding:.25rem .4rem}.fm-root .fm-decision-base{white-space:pre-wrap;color:var(--text);background:var(--surface);border:1px solid var(--fm-border);overflow-wrap:anywhere;border-radius:6px;margin:0 0 .7rem;padding:.55rem .7rem;font-size:.86rem;line-height:1.6}.fm-root .fm-diff-list{margin:0 0 .8rem;padding-left:1.1rem}.fm-root .fm-diff-list li{color:var(--text);overflow-wrap:anywhere;margin:.45rem 0;font-size:.86rem;line-height:1.6}.fm-root .fm-diff-list .fm-diff-head{color:var(--text);font-weight:700}.fm-root .fm-diff-list .fm-diff-feat{padding-left:.7rem}.fm-root .fm-diff-list .fm-diff-feat:before{content:"•";color:var(--muted);margin-right:.4rem}.fm-root #hdrIssueBlock .fm-diff-list{margin-bottom:0}.fm-root #hdrIssueBlock .fm-diff-list li{color:var(--warning)}.fm-root .fm-result-file{color:var(--text);overflow-wrap:anywhere;margin-top:.7rem;font-size:.88rem;line-height:1.6}#statusSpinner.fm-spinner{vertical-align:-1px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:.78rem;height:.78rem;margin-right:.4rem;animation:.7s linear infinite fm-spin;display:inline-block}@keyframes fm-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){#statusSpinner.fm-spinner{animation:none}}.fm-root .fm-processing-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;min-height:6rem;display:flex}.fm-root .fm-processing-panel #status{color:var(--text);flex-direction:column;align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;display:flex}.fm-root .fm-processing-panel #statusSpinner.fm-spinner{border-width:3px;width:1.8rem;height:1.8rem;margin-right:0}.fm-root .fm-processing-panel .fm-decision-actions{width:100%}@media (width<=820px){.fm-root .fm-panel{padding:1rem}.fm-root .fm-primary,.fm-root .fm-secondary,.fm-root .fm-tertiary{width:100%}.fm-root .fm-dropzone{border-style:solid;border-color:var(--fm-border);cursor:default;padding:1rem}.fm-root .fm-dz-title,.fm-root .fm-dz-hint,.fm-root .fm-dz-or,.fm-root .fm-dz-limit{display:none}.fm-root .fm-dz-btn{width:100%}.fm-root .fm-mode-opt{padding:.55rem .6rem}.fm-root .fm-decision-base{font-size:.82rem}.fm-root .fm-diff-list{padding-left:.95rem}.fm-root .fm-sheet-file{word-break:break-all}}
