@font-face{font-family:NotoFP;src:url('fonts/noto-sans-400.ttf')}
@font-face{font-family:NotoFP;src:url('fonts/noto-sans-700.ttf');font-weight:700}
@font-face{font-family:NotoArabic;src:url('fonts/noto-arabic-400.ttf')}
@font-face{font-family:NotoSC;src:url('fonts/noto-sc-400.ttf')}
@font-face{font-family:NotoDevanagari;src:url('fonts/noto-devanagari-400.ttf')}
@font-face{font-family:NotoBengali;src:url('fonts/noto-bengali-400.ttf')}
@font-face{font-family:NotoTamil;src:url('fonts/noto-tamil-400.ttf')}
:root{font-family:NotoFP,NotoArabic,NotoSC,NotoDevanagari,NotoBengali,NotoTamil,ui-sans-serif,system-ui,sans-serif;color:#172033;background:#f3f5f8;line-height:1.45;--blue:#174a78;--line:#d5dce5;--red:#aa2635}
*{box-sizing:border-box}
body{margin:0}
header,main{max-width:1040px;margin:auto}
header{display:flex;justify-content:space-between;align-items:end;padding:34px 24px 20px}
h1{margin:0;font-size:clamp(1.8rem,4vw,2.6rem)}
.eyebrow{margin:0 0 5px;color:var(--blue);font-weight:750;text-transform:uppercase;font-size:.72rem;letter-spacing:.1em}
.header-actions{display:flex;gap:12px;align-items:end}
.badge{background:#dce9f4;color:#163e62;padding:9px 12px;border-radius:99px;font-weight:700}
.badge:empty{display:none}
main{padding:0 24px 48px}
.notice{padding:13px 16px;border:1px solid #b9d1e4;background:#edf6fc;border-radius:10px;margin-bottom:16px}
section{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;margin:16px 0;box-shadow:0 3px 15px #1b36520d}
h2{font-size:1.15rem;margin:0 0 20px;color:#243348}
h2 small{font-weight:450;color:#687588}
.language-panel h2{font-size:1.55rem;margin-bottom:2px}
.language-panel>p{margin:0 0 18px;color:#687588}
.language-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.language-card{min-height:84px;background:#fff;border:1px solid #c7d1dc;color:#172033;display:flex;flex-direction:column;align-items:center;justify-content:center}
.language-card strong{font-size:1.08rem}
.language-card small{font-weight:500;color:#687588}
.language-card.selected{border:2px solid var(--blue);background:#eef6fc}
.language-card.extra[hidden]{display:none}
.field-de{display:block;font-weight:450;color:#6c7888;font-size:.75rem;margin-top:2px}
.grid{display:grid;gap:17px 20px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
label,legend{font-weight:650;font-size:.9rem}
label span,legend span{color:var(--red)}
input,select{display:block;width:100%;margin-top:6px;border:1px solid #aeb9c6;border-radius:7px;background:#fff;padding:11px 12px;font:inherit;color:inherit}
.translation-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}
.translation-review-row{padding:10px;border-left:3px solid #6d91b1;background:#f3f7fa;border-radius:5px;direction:ltr;text-align:left}
.translation-review-row[hidden]{display:none}
.translation-review-row strong,.translation-review-row small{display:block}
.translation-review-row small{margin-top:3px;color:#697788;font-size:.72rem;font-weight:450;overflow-wrap:anywhere}
.translation-review-row input{margin-top:7px;padding:8px 9px;background:#fff;font-size:.86rem}
.translation-confirm{display:block;margin-top:14px}.translation-confirm input{display:inline;width:auto;margin:0 8px 0 0}
input{direction:ltr;text-align:left}
input:focus,select:focus{outline:3px solid #98c5e9;border-color:var(--blue)}
input:user-invalid,select:user-invalid{border-color:var(--red)}
fieldset{border:0;padding:0;margin:0 0 18px}
.choices{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:8px}
.choices label{font-weight:450}
.choices input{display:inline;width:auto;margin:0}
.actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding-top:8px}
button{border:0;border-radius:8px;padding:12px 17px;font:inherit;font-weight:750;cursor:pointer}
.primary{background:var(--blue);color:white}
.secondary{background:#e4e9ef;color:#26384b}
.error-summary{background:#fff0f1;border:1px solid #d67883;color:#771824;padding:13px 16px;border-radius:9px;margin:16px 0}
dialog{border:0;border-radius:15px;box-shadow:0 20px 80px #0006;padding:30px;width:min(440px,calc(100% - 32px))}
dialog::backdrop{background:#101b2acc}
dialog form{display:grid;gap:12px}
.hint{color:#687588;font-size:.85rem;margin:-5px 0 5px}
.rtl-labels section:not(.language-panel),.rtl-labels .notice{direction:rtl;text-align:right}
.rtl-labels input,.rtl-labels select{direction:ltr;text-align:left}
@media(max-width:760px){.language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){header{align-items:start;gap:18px;flex-direction:column}
.grid.two{grid-template-columns:1fr}
.translation-review{grid-template-columns:1fr}
.header-actions{width:100%;justify-content:space-between}
.actions{flex-direction:column-reverse}
.actions button{width:100%}
.language-card{min-height:74px}
}
.preview-dialog{width:min(960px,calc(100% - 24px));height:min(92vh,980px);padding:18px}
.preview-header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pdf-preview{display:block;width:100%;height:calc(92vh - 190px);min-height:460px;border:1px solid #cad2dc;border-radius:8px;background:#fff}
.preview-header h1{font-size:1.45rem}
.preview-help{margin:8px 0 12px;color:#5f6d7d}
.sheet-preview{position:relative;margin:auto;height:calc(100% - 145px);min-height:440px;aspect-ratio:893/1263;max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#edf1f5}
.sheet-preview>img{display:block;width:100%;height:auto}
#previewOverlay{position:absolute;inset:0;pointer-events:none}
.preview-value{position:absolute;display:block;overflow:hidden;white-space:nowrap;color:#071529;font-family:Helvetica,Arial,sans-serif;font-size:clamp(5px,1.35vw,14px);font-weight:700;line-height:1}
.preview-reading{color:#36536f;font-size:clamp(4px,.92vw,9px);font-weight:500}
.preview-mark{font-size:clamp(5px,1.15vw,12px)}
.preview-agent{font-size:clamp(4px,1vw,10px)}
.preview-language{position:absolute;left:41.18%;top:11.76%;width:18.49%;height:2.97%;display:flex;align-items:center;justify-content:center;overflow:hidden;white-space:nowrap;background:#fff;color:#071529;font-family:Helvetica,Arial,sans-serif;font-size:clamp(5px,1.15vw,12px);font-weight:700}
.preview-actions{display:flex;justify-content:flex-end;margin-top:12px}
@media(max-width:680px){.preview-dialog{height:96vh;padding:12px}
.sheet-preview{height:calc(100% - 175px);min-height:300px}
.preview-header{align-items:flex-start}
.preview-actions button{width:100%}
}
