*{box-sizing:border-box}
html,body{margin:0;width:100%;max-width:100%;overflow-x:hidden!important;font-family:"Segoe UI",system-ui,sans-serif;background:#f5f5f5;color:#242424}
.app{padding:14px;width:100%;max-width:100%;overflow-x:hidden}
header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:1px;color:#666}
h1{font-size:21px;margin:4px 0}
h2{font-size:14px;margin:0 0 8px}
.sub,.mini,.hint,.save-hint{font-size:11px;color:#666;margin:0}
.save-hint{margin:7px 3px 0}
.status{font-size:11px;background:#eee;border-radius:999px;padding:5px 9px;white-space:nowrap}
.status.ok{background:#dff6dd;color:#107c10}.status.error{background:#fde7e9;color:#a4262c}
.card{background:#fff;border:1px solid #ddd;border-radius:9px;padding:12px;margin-bottom:12px}
.tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #ddd;margin:-4px 0 14px}
.tab{border:0;background:transparent;padding:10px;cursor:pointer;border-bottom:3px solid transparent}
.tab.active{font-weight:700;color:#0f6cbd;border-bottom-color:#0f6cbd}
.hidden{display:none!important}
.actions{display:flex;gap:8px;margin-top:10px}.actions.vertical{flex-direction:column}
button{border:0;border-radius:5px;padding:9px 12px;font:inherit;cursor:pointer}
.primary{background:#0f6cbd;color:#fff}.primary:hover{background:#115ea3}
.secondary{background:#eee;color:#242424}.ghost{background:transparent;border:1px solid #ccc;color:#444}
.big{width:100%;padding:12px;font-weight:600}
label{display:block;font-size:11px;font-weight:600;margin-bottom:4px}
input,textarea,select{width:100%;border:1px solid #bdbdbd;border-radius:5px;padding:8px;font:inherit;background:#fff}
input:focus,textarea:focus,select:focus{outline:2px solid #0f6cbd;outline-offset:0}
.grid{display:grid;grid-template-columns:1fr;gap:8px}
.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
#confidence{font-size:10px;color:#666}
.candidate-area{background:#fafafa;border:1px solid #ddd;border-radius:6px;padding:8px;margin:8px 0 10px}
.candidate-area .hint{margin-top:6px}
.duplicate-panel{border-color:#e5b100;background:#fffbea}
.duplicate-panel h2{color:#7a5b00}
.duplicate-text{font-size:12px;line-height:1.45;margin:0 0 8px}
.message{margin-top:10px;padding:9px;border-radius:6px;font-size:11px;display:block}
.message.info{background:#e8f1fb;color:#174a7e}.message.success{background:#dff6dd;color:#107c10}.message.error{background:#fde7e9;color:#a4262c}
@media(min-width:620px){.grid{grid-template-columns:1fr 1fr}}

.language-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin:12px 2px 0}.language-row label{margin:0;white-space:nowrap}.language-row select{min-width:0}
