:root{font-family:"Segoe UI","Yu Gothic UI","Meiryo",sans-serif;color:#1d2939;background:#eef3f7;font-size:14px;--blue:#0b65b1;--blue2:#e7f3fc;--amber:#9a5b00;--amber2:#fff4dd;--border:#c8d3de;--muted:#66778a;--green:#087a3e;--red:#b42318;--workspace:#f4f7fa}*{box-sizing:border-box}body{margin:0;min-width:1024px}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{height:100vh;display:flex;flex-direction:column}.appbar{height:58px;display:flex;align-items:center;background:#fff;border-bottom:1px solid #b9c7d4;padding:0 14px;gap:20px;flex:0 0 auto}.brand{display:flex;align-items:center;gap:9px;min-width:280px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#0968b7;color:white;font-weight:700}.brand div{display:flex;flex-direction:column}.brand small{color:var(--muted);font-size:11px}.app-actions{display:flex;gap:6px;margin-left:auto}.toolbar-btn,.secondary,.seg-btn{border:1px solid #b8c5d1;background:#fff;color:#344054;border-radius:4px;padding:7px 11px}.toolbar-btn:hover,.secondary:hover,.seg-btn:hover{background:#f3f6f8}.danger-text{color:#a11}.main-shell{min-height:0;flex:1;display:flex}.rail{width:190px;background:#f8fafc;border-right:1px solid #cbd5df;padding:10px 8px;display:flex;flex-direction:column;gap:5px}.stage-link{position:relative;display:flex;text-align:left;align-items:center;gap:9px;border:0;background:transparent;padding:10px 8px;border-radius:5px;color:#475467}.stage-link b,.stage-link small{display:block}.stage-link small{font-size:11px;color:#7a8999;margin-top:2px}.stage-link.active{background:#dceefa;color:#074f8b}.stage-link.active small{color:#3b6f94}.stage-link.complete .step-no{background:#168047;color:white}.step-no{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#dde4ea;font-weight:700}.rail-badge{margin-left:auto;background:#c88000;color:white;border-radius:10px;padding:1px 6px;font-style:normal;font-size:11px}.rail-spacer{flex:1}.workspace{position:relative;flex:1;min-width:0;overflow:auto;background:var(--workspace);padding:14px 14px 78px}.stage{max-width:1800px;margin:0 auto}.stage-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:11px}.stage-head h1{font-size:21px;margin:0 0 3px}.stage-head p{margin:0;color:var(--muted)}.dual-filebar{display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);gap:0;margin-bottom:8px}.filebar{background:white;border:1px solid var(--border);padding:8px 10px;display:flex;justify-content:space-between;align-items:center}.filebar.source-theme{border-top:3px solid #268ccc}.filebar.target-theme{border-top:3px solid #d49a2f}.filebar>div:first-child{display:flex;flex-direction:column;min-width:0}.filebar b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filebar small{color:var(--muted);font-size:11px}.eyebrow{font-size:11px;font-weight:700;color:#4f6376}.direction{display:grid;place-items:center;color:#77879a;font-size:12px}.filebar-actions{display:flex;align-items:center;gap:6px}.compact-select{max-width:190px}.file-button{display:inline-flex;align-items:center;border:1px solid #9fb0bf;background:#fff;padding:6px 9px;border-radius:4px;cursor:pointer;white-space:nowrap}.file-button input{display:none}.inline-alert{padding:9px 12px;border:1px solid #e3bd6b;background:#fff8e8;margin-bottom:8px}.dual-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sheet-panel{background:white;border:1px solid var(--border);min-width:0}.sheet-panel.source-theme{border-left:3px solid #268ccc}.sheet-panel.target-theme{border-left:3px solid #d49a2f}.sheet-toolbar{height:38px;padding:0 8px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7e0e8;background:#fbfcfd}.sheet-toolbar>div{display:flex;align-items:center;gap:7px}.status-pill{display:inline-block;border-radius:10px;padding:2px 7px;font-size:11px;background:#e9f7ef;color:var(--green)}.status-pill.muted{background:#edf1f4;color:#697a8a}.toolbar-group{display:flex}.seg-btn{padding:4px 9px;border-radius:0}.seg-btn:first-child{border-radius:4px 0 0 4px}.seg-btn:last-child{border-radius:0 4px 4px 0;margin-left:-1px}.seg-btn.active{background:#e2eff9;color:#075c9c;border-color:#8eb9d8}.structure-bar{display:flex;align-items:center;gap:13px;padding:6px 8px;background:#f7f9fb;border-bottom:1px solid #dce4eb;font-size:12px;color:#536579}.structure-bar label{display:flex;align-items:center;gap:5px}.structure-bar input[type=number]{width:58px;padding:3px 4px}.confirm-mini{margin-left:auto}.sheet-grid{overflow:auto;max-height:270px;min-height:185px}.empty-sheet{display:grid;place-items:center;color:#8291a1;background:#fbfcfd}.sheet-grid table{border-collapse:separate;border-spacing:0;min-width:100%;width:max-content;font-size:12.5px}.sheet-grid th,.sheet-grid td{border-right:1px solid #e0e6eb;border-bottom:1px solid #e0e6eb;padding:6px 8px;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.sheet-grid th{position:sticky;top:0;z-index:2;background:#e9f3fb;color:#184c72;font-weight:700}.target-theme .sheet-grid th{background:#f8edd8;color:#705019}.sheet-grid .rownum{position:sticky;left:0;z-index:3;background:#f4f6f8;color:#6b7c8e;text-align:right;font-weight:400}.sheet-grid th.rownum{z-index:4}.mapping-workbench{margin-top:10px}.disabled-block{opacity:.55;pointer-events:none}.mapping-head{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--border);padding:8px 11px}.mapping-head h2{font-size:17px;margin:0 0 2px}.mapping-head p{margin:0;color:var(--muted);font-size:12px}.mapping-card{background:#fff;border:1px solid var(--border);border-top:0}.mapping-card-head{min-height:44px;display:flex;justify-content:space-between;align-items:center;padding:7px 11px;background:#fafcfd;border-bottom:1px solid #e1e7ec}.mapping-card-head>div{display:flex;align-items:center;gap:8px}.mapping-card-head small{color:var(--muted)}.required-badge,.optional-badge{font-size:11px;border-radius:10px;padding:2px 7px;background:#e1f1fc;color:#075b98;font-weight:700}.optional-badge{background:#eef1f4;color:#607284}.text-action{border:0;background:transparent;color:#075fa5;font-weight:700;padding:5px}.condition-collapser{border-bottom:1px solid #e4e9ee;background:#fff}.collapse-btn{border:0;background:transparent;padding:7px 12px;font-weight:700;color:#344054}.condition-list{padding:0}.condition-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 46px minmax(180px,1fr) 110px 70px;align-items:end;gap:8px;padding:8px 11px;border-bottom:1px solid #e7ecf0}.condition-row label,.mapping-row label{display:flex;flex-direction:column;gap:3px}.condition-row label>span,.mapping-row label>span{font-size:11px;color:#617286;font-weight:600}.condition-row select,.mapping-row select,.display-map-grid select,.drawer input,.drawer select,.review-toolbar input{height:34px;border:1px solid #b8c6d3;border-radius:3px;background:white;padding:4px 7px}.sample-cell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#40566a;align-self:center;padding-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eq{align-self:center;text-align:center;padding-bottom:8px;font-weight:700;color:#718195}.remove-condition{align-self:center;margin-bottom:3px;border:1px solid #cbd5df;background:#fff;border-radius:3px;height:32px}.comparison-mode{font-size:11px;color:#667085;align-self:center;padding-bottom:9px}.mapping-row{display:grid;grid-template-columns:minmax(220px,1fr) 160px minmax(220px,1fr);gap:12px;padding:10px 11px;align-items:end}.mapping-row em{font-style:normal;color:#607284;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.role-arrow{text-align:center;padding-bottom:7px;color:#075fa5;font-weight:700}.role-arrow span{display:block;font-size:11px}.optional-card summary{padding:10px 11px;display:flex;gap:8px;align-items:center;cursor:pointer}.optional-card summary small{color:var(--muted)}.display-map-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 11px 12px}.display-map-grid label{display:flex;flex-direction:column;gap:4px}.mapping-summary{display:grid;grid-template-columns:2fr 2fr 1.5fr;border:1px solid var(--border);border-top:0;background:#f8fafb}.mapping-summary>div{padding:8px 11px;border-right:1px solid #dde4ea}.mapping-summary small,.mapping-summary b{display:block}.mapping-summary small{color:var(--muted);font-size:11px}.batch-confirm{display:block;background:#fff5e3;border:1px solid #e4bd70;padding:8px 10px;margin-top:7px}.summarybar{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.summary-card{min-width:110px;background:#fff;border:1px solid var(--border);padding:7px 9px;border-radius:4px}.summary-card b{font-size:19px;display:block}.summary-card.review{border-color:#dfb560;background:#fff9ed}.summary-card.blocked{border-color:#e0a9a5;background:#fff7f6}.review-toolbar{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);padding:6px 8px}.chip-row{display:flex;gap:3px;flex-wrap:wrap}.filter-chip{border:1px solid #bcc8d4;background:#fff;padding:5px 8px;border-radius:13px}.filter-chip.active{background:#dfeefa;border-color:#8bb8d8;color:#075b98}.grow{flex:1}.review-toolbar input{width:230px}.coverage-strip{padding:6px 9px;background:#f6f8fa;border:1px solid var(--border);border-top:0;color:#607184;font-size:12px}.review-layout{display:grid;grid-template-columns:minmax(650px,1fr) 330px;gap:8px;margin-top:8px}.result-grid-wrap{background:white;border:1px solid var(--border);overflow:auto}.result-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;font-size:12px}.result-grid th,.result-grid td{padding:6px 7px;border-right:1px solid #e0e5ea;border-bottom:1px solid #e0e5ea;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.result-grid th{position:sticky;top:0;background:#eef2f5;z-index:2}.result-grid .source-group{background:#e2f0fa}.result-grid .target-group{background:#f6ead3}.result-grid tr.selected td{background:#eef6fc}.result-grid tr{cursor:pointer}.pick{width:34px}.decision-head{min-width:88px}.decision-cell{min-width:88px;text-align:center}.decision-badge{display:inline-block;border-radius:11px;padding:2px 7px;font-size:11px;font-weight:700}.decision-badge.pending{background:#fff0cf;color:#975800}.decision-badge.apply{background:#e5f6ed;color:#087a3e}.decision-badge.skip{background:#e9eef3;color:#40566a}.status{display:inline-block;border-radius:10px;padding:2px 7px;font-weight:700}.status.update{background:#e5f6ed;color:#087a3e}.status.review{background:#fff0cf;color:#975800}.status.blocked{background:#fde8e7;color:#a5251d}.status.unmatched{background:#edf1f4;color:#596b7c}.status.unchanged{background:#edf1f4;color:#596b7c}.pager{display:flex;justify-content:flex-end;align-items:center;gap:7px;padding:6px}.pager button{border:1px solid #c2cdd6;background:white;padding:4px 8px}.inspector{background:#fff;border:1px solid var(--border);min-height:360px;padding:12px}.inspector-empty{height:100%;display:grid;place-items:center;color:#8795a3}.inspector h2{font-size:17px;margin:6px 0}.inspector .price-compare{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;background:#f7f9fb;border:1px solid #dde4ea;margin:10px 0}.inspector .price-compare>div{padding:9px}.inspector .price-compare b{display:block;font-size:20px}.reason-box{background:#fff5e4;border-left:3px solid #d9951a;padding:8px;margin:8px 0}.source-meta{font-size:12px;color:#627487}.decision-state{margin-top:12px;padding:8px 10px;border-radius:4px;border:1px solid #d5dee6;font-weight:700}.decision-state.pending{background:#fff9ed;border-color:#dfb560;color:#7a4b00}.decision-state.apply{background:#eaf7f0;border-color:#9fceb5;color:#11623d}.decision-state.skip{background:#eef2f6;border-color:#aab7c3;color:#344054}.decision-row{display:flex;gap:8px;margin-top:8px}.decision-row button{min-width:120px}.decision-selected{border-radius:4px;padding:8px 14px;font-weight:700}.decision-selected.skip{background:#344054;border:1px solid #344054;color:#fff}.decision-selected.apply{box-shadow:0 0 0 2px #b9daf2}.primary{border:1px solid #075c9e;background:#0868b7;color:white;border-radius:4px;padding:8px 14px;font-weight:700}.primary:disabled{background:#a9bdcc;border-color:#a9bdcc;cursor:not-allowed}.wide{width:100%;margin-top:8px}.verify-banner{background:#e8f6ef;border:1px solid #a6d7bd;color:#145c39;padding:10px 12px;margin-bottom:8px}.output-layout{display:grid;grid-template-columns:minmax(650px,1fr) 310px;gap:8px}.section-toolbar{background:white;border:1px solid var(--border);padding:8px 10px;display:flex;justify-content:space-between}.diff-grid{width:100%;border-collapse:collapse;background:white;font-size:12.5px}.diff-grid th,.diff-grid td{border:1px solid #e0e6eb;padding:6px 8px}.diff-grid th{background:#f1f4f6}.output-side{background:white;border:1px solid var(--border);padding:12px}.final-confirm{display:block;margin:12px 0;padding:9px;background:#f7f9fb;border:1px solid #dce3e9}.actionbar{position:fixed;left:190px;right:0;bottom:0;height:62px;background:#fff;border-top:1px solid #bac7d2;display:flex;align-items:center;padding:8px 14px;gap:12px;z-index:20}.action-status{flex:1;display:flex;flex-direction:column}.action-status span{font-size:11px;color:#697a8b}.drawer-backdrop{position:fixed;inset:0;background:#0004;z-index:40}.drawer{position:fixed;right:-390px;top:0;bottom:0;width:380px;background:#fff;z-index:50;transition:.18s;border-left:1px solid #b8c5d1;box-shadow:-4px 0 18px #0002}.drawer.open{right:0}.drawer header{height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 14px;border-bottom:1px solid #d5dee6}.drawer header button{border:0;background:transparent;font-size:22px}.drawer-body{padding:14px;overflow:auto;height:calc(100% - 54px)}.drawer-body label{display:flex;flex-direction:column;gap:4px;margin:8px 0}.drawer-body button{width:100%;margin:4px 0}.preflight-dialog{width:min(560px,90vw);border:1px solid #9fb0be;border-radius:6px;padding:0}.preflight-dialog header,.preflight-dialog footer{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid #dce3e9}.preflight-dialog footer{border-bottom:0;border-top:1px solid #dce3e9}.preflight-dialog header button{border:0;background:transparent;font-size:20px}.dialog-body{padding:12px}.dialog-body label{display:block;padding:7px 4px}.toast-area{position:fixed;right:14px;bottom:75px;z-index:100}.toast{padding:9px 12px;margin-top:6px;border-radius:4px;background:#344054;color:#fff;box-shadow:0 2px 9px #0003}.toast.error{background:#a8261e}.toast.warning{background:#8c5a07}.toast.success{background:#137143}.muted{color:var(--muted)}@media(max-width:1250px){.rail{width:165px}.actionbar{left:165px}.review-layout{grid-template-columns:1fr}.inspector{min-height:220px}.dual-filebar{grid-template-columns:1fr 65px 1fr}.condition-row{grid-template-columns:minmax(150px,1fr) 90px 40px minmax(150px,1fr) 90px 55px}}@media(max-width:1050px){body{min-width:900px}.rail{width:145px}.actionbar{left:145px}.stage-link small{display:none}.dual-preview{grid-template-columns:1fr 1fr}.workspace{padding-left:8px;padding-right:8px}}

/* v0.4.2-r4: visual mapping roles in the CSV preview */
.col-role-row{display:flex;align-items:center;gap:3px;min-height:18px;margin:-2px 0 3px}.col-name-row{display:flex;align-items:center;gap:5px}.col-name-row small{font-size:11px;opacity:.78}.col-role{display:inline-flex;align-items:center;height:17px;padding:0 6px;border-radius:9px;border:1px solid transparent;font-size:10.5px;line-height:1;font-weight:800;letter-spacing:.01em;white-space:nowrap}.col-role.role-match-1,.mapping-role-chip.role-match-1{background:#dff4e7;border-color:#7bc895;color:#116b39}.col-role.role-match-2,.mapping-role-chip.role-match-2{background:#e1edff;border-color:#8ab4e8;color:#185f9f}.col-role.role-match-3,.mapping-role-chip.role-match-3{background:#eee6ff;border-color:#b5a0e8;color:#6245a4}.col-role.role-match-4,.mapping-role-chip.role-match-4{background:#dff4f5;border-color:#83c9cd;color:#176b70}.col-role.role-match-5,.mapping-role-chip.role-match-5{background:#e7eafa;border-color:#9da8d8;color:#47548f}.col-role.role-match-6,.mapping-role-chip.role-match-6{background:#e2f5ee;border-color:#91cfb9;color:#25715a}.col-role.role-match-7,.mapping-role-chip.role-match-7{background:#e6eef5;border-color:#9fb8cf;color:#41627e}.col-role.role-match-8,.mapping-role-chip.role-match-8{background:#f0eafb;border-color:#bca7dd;color:#6a4c91}.col-role.role-match-9,.mapping-role-chip.role-match-9{background:#e2f3f8;border-color:#8ec9dc;color:#256d84}.col-role.role-match-10,.mapping-role-chip.role-match-10{background:#e6ebf4;border-color:#9aa9c1;color:#43536c}.col-role.role-update,.mapping-role-chip.role-update{background:#fde6f0;border-color:#e49ab9;color:#9a2f61}.mapping-role-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;margin:1px 4px 1px 0;border:1px solid transparent;border-radius:11px;font-size:11px;font-weight:600;white-space:nowrap}.mapping-role-chip b{display:inline!important;font-size:10.5px}.sheet-grid th[class*="col-role-match-"],.sheet-grid td[class*="col-role-match-"]{box-shadow:inset 3px 0 0 rgba(0,0,0,.08)}.sheet-grid th.col-role-match-1,.sheet-grid td.col-role-match-1{background:#f0faf3}.sheet-grid th.col-role-match-2,.sheet-grid td.col-role-match-2{background:#f1f6ff}.sheet-grid th.col-role-match-3,.sheet-grid td.col-role-match-3{background:#f7f3ff}.sheet-grid th.col-role-match-4,.sheet-grid td.col-role-match-4{background:#f0fafa}.sheet-grid th.col-role-match-5,.sheet-grid td.col-role-match-5{background:#f3f4fb}.sheet-grid th.col-role-match-6,.sheet-grid td.col-role-match-6{background:#f1faf7}.sheet-grid th.col-role-match-7,.sheet-grid td.col-role-match-7{background:#f3f7fa}.sheet-grid th.col-role-match-8,.sheet-grid td.col-role-match-8{background:#f8f5fc}.sheet-grid th.col-role-match-9,.sheet-grid td.col-role-match-9{background:#f1f9fb}.sheet-grid th.col-role-match-10,.sheet-grid td.col-role-match-10{background:#f4f6fa}.sheet-grid th.col-role-update,.sheet-grid td.col-role-update{background:#fff2f7;box-shadow:inset 0 -4px 0 #e38aae}.sheet-grid th[class*="col-role-match-"].col-role-update,.sheet-grid td[class*="col-role-match-"].col-role-update{box-shadow:inset 3px 0 0 rgba(61,97,137,.18),inset 0 -4px 0 #e38aae}.source-theme .sheet-grid th[class*="col-role-match-"],.target-theme .sheet-grid th[class*="col-role-match-"],.source-theme .sheet-grid th.col-role-update,.target-theme .sheet-grid th.col-role-update{color:#273444}.sheet-grid th.rownum,.sheet-grid td.rownum{box-shadow:none!important;background:#f4f6f8!important}.mapping-summary b{font-weight:600}.mapping-summary b:has(.mapping-role-chip){line-height:1.9}
.review-confirm-bar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-top:0;padding:7px 9px;min-height:46px}.review-confirm-bar>div{display:flex;flex-direction:column;gap:2px;flex:1}.review-confirm-bar span{font-size:12px;color:#607184}.filter-chip .review-state{margin-left:4px;font-size:11px;font-weight:700}.filter-chip .review-state.done{color:#087a3e}.filter-chip .review-state.pending{color:#975800}.filter-chip .review-state.na{color:#7b8794}.summary-card{cursor:pointer}


.help-drawer{width:520px;right:-530px}.help-body{padding:0 16px 22px}.help-intro{margin:0 -16px 10px;padding:14px 16px;background:#eef6fc;border-bottom:1px solid #cddde9}.help-intro p{margin:5px 0 0;line-height:1.65}.help-section{padding:12px 0;border-bottom:1px solid #e0e6eb}.help-section:last-child{border-bottom:0}.help-section h3{font-size:15px;margin:0 0 8px;color:#23384d}.help-section p{margin:7px 0;line-height:1.7}.help-focus{background:#fbfdff;margin:0 -8px;padding:12px 8px}.help-control{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0;padding:10px;background:#f5f7f9;border:1px solid #d5dee6;border-radius:4px}.help-control>span{background:#fff;border:1px solid #bdc9d4;border-radius:3px;padding:6px 9px}.help-control .help-check{border:0;background:transparent;font-weight:700}.help-buttons .primary-look{background:#0868b7;border-color:#075c9e;color:#fff}.help-defs{margin:8px 0}.help-defs dt{font-weight:700;margin-top:9px}.help-defs dd{margin:2px 0 0;padding-left:0;color:#506477;line-height:1.65}.help-example{margin:10px 0;padding:10px;background:#fff;border:1px solid #d6e0e7;border-left:4px solid #7aa8c9}.help-example table,.help-status-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:12px}.help-example th,.help-example td,.help-status-table th,.help-status-table td{border:1px solid #d9e1e7;padding:6px;text-align:left;vertical-align:top}.help-example th,.help-status-table th{background:#f1f5f8}.help-note{margin:10px 0;padding:9px 10px;background:#f2f7fb;border-left:3px solid #6f9dbd;line-height:1.6}.help-note.warning{background:#fff8e8;border-left-color:#d39a28}.help-mapping{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#f7f9fb;border:1px solid #d9e1e7;padding:7px 9px!important;border-radius:3px}@media(max-width:1050px){.help-drawer{width:480px;right:-490px}}
.app-nav-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.brand{color:inherit;text-decoration:none}

/* R16 Master Update branding */
.brand-mark{width:34px;height:30px;font-size:10px;letter-spacing:-.02em}.brand b{font-size:14px}.brand small{font-size:10.5px}.brand:hover b{color:#075c9e}

/* R18 pictorial SVG logo */
.brand-mark{display:block;width:34px;height:34px;border-radius:0;background:none;color:inherit;object-fit:contain;flex:0 0 auto}
