:root{color:#111827;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f6f7f9;font-family:Pretendard,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}.app-shell{color:#111827;background:#f6f7f9;grid-template-columns:72px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:10;background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;width:72px;height:100vh;transition:width .18s,box-shadow .18s;display:flex;position:sticky;top:0;overflow:hidden}.sidebar:hover,.sidebar:focus-within{width:220px;box-shadow:16px 0 30px #0f172a14}.brand{border-bottom:1px solid #e5e7eb;align-items:center;gap:10px;height:58px;padding:0 20px;display:flex}.brand-mark{color:#fff;background:#2563eb;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.brand strong,.brand span{white-space:nowrap;opacity:0;line-height:1.1;transition:opacity .16s,transform .16s;display:block;transform:translate(-6px)}.sidebar:hover .brand strong,.sidebar:hover .brand span,.sidebar:focus-within .brand strong,.sidebar:focus-within .brand span{opacity:1;transform:translate(0)}.brand strong{font-size:14px;font-weight:800}.brand span{color:#7b8794;margin-top:3px;font-size:12px}.nav-list{flex-direction:column;gap:8px;padding:14px 10px;display:flex}.nav-item{color:#5b6472;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:50px 0 0;align-items:center;gap:0;width:100%;min-height:38px;padding:0;font-size:14px;font-weight:700;transition:grid-template-columns .18s,padding .18s;display:grid;overflow:hidden}.sidebar:hover .nav-item,.sidebar:focus-within .nav-item{grid-template-columns:20px 1fr 16px;gap:8px;padding:0 10px}.nav-item>svg:first-child{justify-self:center}.sidebar:hover .nav-item>svg:first-child,.sidebar:focus-within .nav-item>svg:first-child{justify-self:start}.nav-item span,.nav-item svg:last-child{opacity:0;white-space:nowrap;transition:opacity .14s}.sidebar:hover .nav-item span,.sidebar:hover .nav-item svg:last-child,.sidebar:focus-within .nav-item span,.sidebar:focus-within .nav-item svg:last-child{opacity:1}.nav-item:hover,.nav-item.active{color:#f97316;background:#fff7ed;border-color:#2563eb}.nav-item svg:last-child{justify-self:end}.sidebar-footer{color:#7b8794;opacity:0;white-space:nowrap;border-top:1px solid #e5e7eb;gap:8px;margin-top:auto;padding:14px 16px 18px;font-size:12px;transition:opacity .16s,transform .16s;display:grid;transform:translate(-8px)}.sidebar:hover .sidebar-footer,.sidebar:focus-within .sidebar-footer{opacity:1;transform:translate(0)}.main{width:100%;min-width:0;padding:24px 24px 40px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;display:flex}.page-header h1{letter-spacing:0;margin:0;font-size:22px;font-weight:900}.page-header p{color:#8a95a5;margin:5px 0 0;font-size:13px;font-weight:600}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.action-button{color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 14px;font-size:14px;font-weight:900;display:inline-flex}.action-button:disabled{cursor:not-allowed;opacity:.45}.action-button.orange{background:#f97316}.action-button.blue{background:#2563eb}.action-button.dark{background:#111827}.status-panel{background:#fff;border:1px solid #dfe4eb;border-radius:10px;grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:24px;min-height:70px;margin-bottom:16px;padding:14px 16px;display:grid}.status-copy{gap:7px;display:grid}.status-title{color:#111827;align-items:center;gap:8px;display:flex}.status-title svg{color:#22c55e}.status-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.status-copy span,.progress-meta,.quiet-count{color:#7b8794;font-size:13px;font-weight:700}.progress-area{gap:7px;display:grid}.progress-meta{justify-content:flex-end;display:flex}.progress-track{background:#e7ecf3;border-radius:999px;height:8px;overflow:hidden}.progress-bar{border-radius:inherit;background:#22c55e;height:100%;transition:width .25s}.toolbar{grid-template-columns:minmax(280px,1fr) auto;gap:12px;margin-bottom:16px;display:grid}.search-box{color:#91a0b2;background:#fff;border:1px solid #dfe4eb;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.search-box input{color:#111827;width:100%;font:inherit;background:0 0;border:0;outline:0;font-size:14px}.filter-group{background:#fff;border:1px solid #dfe4eb;border-radius:8px;align-items:center;gap:4px;min-height:42px;padding:4px;display:flex}.mapping-stack{gap:18px;display:grid}.mapping-stack>.toolbar{margin-bottom:0}.collapsible-section{gap:12px;display:grid}.segment{color:#5b6472;cursor:pointer;background:0 0;border:0;border-radius:7px;height:32px;padding:0 12px;font-size:13px;font-weight:800}.segment.active{color:#2563eb;background:#eaf1ff}.toolbar-upload{color:#fff;cursor:pointer;white-space:nowrap;background:#f97316;border:0;border-radius:7px;align-items:center;gap:6px;height:32px;padding:0 11px;font-size:13px;font-weight:900;display:inline-flex}.section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.collapse-button{color:#263142;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dfe4eb;border-radius:8px;align-items:center;gap:5px;height:34px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.collapse-button:hover{color:#2563eb;background:#f8fbff;border-color:#bfdbfe}.table-panel{background:#fff;border:1px solid #dfe4eb;border-radius:10px;overflow:hidden}table{border-collapse:collapse;width:100%;min-width:0}.result-table,.pending-table,.dictionary-table,.history-table{table-layout:fixed}th{color:#667085;letter-spacing:0;text-align:left;white-space:nowrap;background:#fbfcfe;border-bottom:1px solid #e5e7eb;height:44px;padding:0 12px;font-size:12px;font-weight:900}.resizable-header{align-items:center;min-width:0;height:44px;padding-right:12px;display:flex;position:relative}.resizable-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.column-resizer{cursor:col-resize;z-index:2;touch-action:none;background:0 0;border:0;width:16px;height:44px;padding:0;position:absolute;top:0;right:-6px}.column-resizer:after{content:"";background:#dbe4ef;border-radius:999px;width:2px;position:absolute;top:10px;bottom:10px;left:7px}th:hover .column-resizer:after,.column-resizer:focus-visible:after{background:#93c5fd}.column-resizer:focus-visible{outline-offset:-2px;outline:2px solid #bfdbfe}body.is-resizing-column,body.is-resizing-column *{-webkit-user-select:none;user-select:none;cursor:col-resize!important}td{color:#263142;vertical-align:middle;border-bottom:1px solid #eef1f4;height:62px;padding:10px 16px;font-size:14px}.dictionary-table th,.dictionary-table td,.result-table th,.result-table td,.pending-table th,.pending-table td,.history-table th,.history-table td{text-overflow:ellipsis;white-space:nowrap;padding-left:12px;padding-right:12px;overflow:hidden}tr:last-child td{border-bottom:0}td strong{color:#111827;text-overflow:ellipsis;white-space:nowrap;max-width:520px;font-weight:800;display:block;overflow:hidden}.dictionary-table td strong{max-width:100%}.pending-table td{vertical-align:top;height:auto;min-height:62px}.pending-table td:first-child,.pending-table td:nth-child(5),.pending-table td:nth-child(6){vertical-align:middle}.pending-table .reference-cell{vertical-align:top}.pending-table .reference-cell span{-webkit-line-clamp:3;text-overflow:clip;white-space:normal;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-height:4.35em;line-height:1.45;display:-webkit-box;overflow:hidden}.result-table td strong,.pending-table td strong{max-width:100%}.subtext{color:#8a95a5;text-overflow:ellipsis;white-space:nowrap;max-width:620px;margin-top:4px;font-size:12px;font-weight:700;display:block;overflow:hidden}.mono{color:#566173;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.status-pill,.count-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.status-pill.mapped{color:#15803d;background:#dcfce7}.status-pill.missing{color:#b45309;background:#fef3c7}.count-badge{color:#111827;background:#eef1f4}.empty-workspace{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:10px;align-content:center;place-items:center;gap:14px;min-height:410px;padding:40px;display:grid}.empty-workspace svg{color:#2563eb}.empty-workspace h2,.section-header h2{color:#111827;letter-spacing:0;margin:0;font-size:20px;font-weight:900}.empty-workspace p,.section-header p{color:#7b8794;margin:0;font-size:14px;font-weight:700}.section-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.inline-input{box-sizing:border-box;color:#111827;width:100%;height:36px;font:inherit;background:#fff;border:1px solid #dfe4eb;border-radius:8px;padding:0 10px;font-size:14px}.inline-input:focus{border-color:#2563eb;outline:2px solid #bfdbfe}.empty-cell{color:#8a95a5;text-align:center;height:160px;font-weight:800}.row-actions{align-items:center;gap:8px;display:flex}.row-actions button{color:#263142;cursor:pointer;background:#fff;border:1px solid #dfe4eb;border-radius:7px;align-items:center;gap:5px;height:30px;font-size:12px;font-weight:900;display:inline-flex}.spin{animation:.8s linear infinite spin}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=920px){.app-shell{grid-template-columns:1fr}.sidebar{width:auto;height:auto;position:static;overflow:visible}.brand strong,.brand span,.nav-item span,.nav-item svg:last-child,.sidebar-footer{opacity:1;transform:none}.nav-list{flex-direction:row;overflow-x:auto}.nav-item{grid-template-columns:20px 1fr 16px;gap:8px;width:auto;min-width:150px;padding:0 10px}.sidebar-footer{display:none}.main{padding:18px 14px 32px}.page-header,.section-header{display:grid}.header-actions{justify-content:stretch}.action-button{flex:150px}.status-panel,.toolbar{grid-template-columns:1fr}}
