*{box-sizing:border-box}:root{color:#172b29;background:#f2f5f3;font:16px/1.5 Inter,system-ui,sans-serif;--accent: #16584d;--accent-hover: #10453d;--line: #d5e0da;--muted: #526660;--surface: #fff;--shadow: 0 2px 5px rgb(26 57 47 / 5%), 0 10px 24px rgb(26 57 47 / 5%)}body{margin:0}.shell{width:min(1200px,calc(100% - clamp(24px,6vw,88px)));margin-inline:auto}.screen{max-width:900px}.masthead{background:var(--surface);border-bottom:1px solid var(--line)}.masthead-inner,.brand,.actions,.check{display:flex;align-items:center;gap:.75rem}.masthead-inner{min-height:68px;justify-content:space-between;flex-wrap:wrap;padding-block:.75rem}.brand{font-weight:700;min-width:0}.brand-mark{display:grid;place-items:center;min-width:46px;min-height:38px;color:#fff;background:var(--accent);border-radius:8px;padding-inline:.5rem;font-size:.9rem;letter-spacing:.015em}.masthead .clear{border-color:var(--line);font-size:.875rem}.screen-heading{margin-block:clamp(1.5rem,4vw,2.75rem) clamp(1.25rem,3vw,2rem)}h1{font-size:clamp(1.85rem,4.5vw,2.75rem);line-height:1.12;letter-spacing:-.045em;margin:0}h2{font-size:1.125rem;line-height:1.3;margin:0}.intro{color:var(--muted);max-width:66ch;margin:.65rem 0 0}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding:.375rem;margin:1.25rem 0 0;border:1px solid var(--line);border-radius:13px;background:var(--surface);list-style:none}.steps li{display:flex;align-items:center;gap:.625rem;padding:.55rem .75rem;border-radius:8px;font-size:.85rem;color:var(--muted)}.step-number{display:grid;place-items:center;flex:none;width:1.75rem;height:1.75rem;border-radius:50%;background:#eef2ef;font-weight:700}.steps [aria-current]{color:var(--accent);font-weight:750;background:#e8f2ed}.steps [aria-current] .step-number{background:var(--accent);color:#fff}.step-complete .step-number{color:var(--accent);background:#e8f2ed}.review-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr)}.review-grid>.notice{margin:0}.workflow>.actions{margin-block:0;padding-top:.5rem}.upload-card,fieldset,figure{background:var(--surface);padding:clamp(1rem,2.4vw,1.5rem);border:1px solid var(--line);border-radius:14px;min-width:0;margin:0}.upload-card,.review-wrap fieldset,figure{box-shadow:var(--shadow)}.upload-card p,small,.hint{color:var(--muted)}.upload-card{padding:.75rem clamp(.75rem,2.4vw,1.25rem)}.upload-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .625rem}.upload-header h2{font-size:1rem}.upload-header p{grid-column:1 / -1;margin:0;font-size:.8125rem}.upload-header small{display:block;font-size:inherit}.passport-photo{display:block;max-width:min(100%,9rem);max-height:5.5rem;margin-top:.75rem;object-fit:contain}.passport-review{width:min(768px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:16px;background:var(--surface);color:inherit;box-shadow:0 16px 48px #0000003d}.passport-review[open]{display:flex;flex-direction:column}.passport-review::backdrop{background:#1124208c}.passport-review-content{overflow:auto;overscroll-behavior:contain;padding:18px clamp(14px,4vw,24px) 0}.passport-review h2{font-weight:600}.passport-review-fields{display:grid;gap:0;font-size:.875rem;border-block-start:1px solid var(--line)}.passport-review-fields>div{display:grid;grid-template-columns:minmax(0,44fr) minmax(0,56fr);gap:clamp(8px,2vw,16px);padding-block:.45rem;border-block-end:1px solid var(--line)}.passport-review-fields dt{font-weight:600}.passport-review-fields dd{margin:0;overflow-wrap:anywhere}.passport-review-fields .passport-missing{color:#a33324}.passport-review-status{font-size:.875rem;color:var(--muted)}.passport-review-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px clamp(12px,3vw,20px);border-top:1px solid var(--line)}legend{padding-inline:.4rem;font-weight:750}.fields{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem}.review-wrap{border:0;padding:0;background:transparent}.full{grid-column:1 / -1}.field,.file-field{display:grid;gap:.3rem;font-size:.91rem;font-weight:600;min-width:0}.file-field{position:relative;place-items:center;min-height:44px;padding:.375rem .65rem;border:1px solid #aebfba;border-radius:8px;color:var(--accent);background:#fff;font-size:.875rem;font-weight:700;text-align:center}.file-field:hover{background:#e8f2ed}.file-field:focus-within{outline:3px solid var(--accent);outline-offset:2px}.file-field input[type=file]{position:absolute;inset:0;height:100%;margin:0;opacity:0;cursor:pointer}.file-field:has(input:disabled){opacity:.6;pointer-events:none}.field small{font-weight:400}input,textarea,select,button{font:inherit}input:not([type=checkbox]),textarea,select{background:#fff;border:1px solid #aebfba;border-radius:7px;min-height:44px;padding:.5rem .65rem;color:inherit;width:100%;min-width:0}input[type=checkbox]{width:1.2rem;height:1.2rem;flex:none;accent-color:var(--accent)}textarea{resize:vertical}button{border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:#fff;min-height:44px;padding:.5rem .95rem;cursor:pointer;font-weight:700}button.secondary{color:var(--accent);background:#fff;border-color:#aebfba}button:not(:disabled):hover{background:var(--accent-hover)}button.secondary:not(:disabled):hover{background:#e8f2ed}button:disabled{opacity:.6;cursor:default}:focus-visible{outline:3px solid #177fcd;outline-offset:2px}.actions{justify-content:flex-end;flex-wrap:wrap;margin-block:1.25rem}.actions button{max-width:100%;overflow-wrap:anywhere}.notice{border:1px solid #bdd7d1;background:#edf7f4;padding:.8rem 1rem;border-radius:8px;margin:.8rem 0;overflow-wrap:anywhere}.notice p,.notice ul,.hint{margin:.35rem 0}.warning{background:#fff6e1;border-color:#e5ca85}.error{background:#fff0ef;border-color:#e5a8a3}.file-status{overflow-wrap:anywhere;margin-top:.75rem}.file-status button{margin-top:.5rem}.preview-pages{width:min(100%,900px);margin:.8rem auto 0}.preview-navigation{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;width:min(100%,900px);margin:.8rem auto 0}figcaption{font-weight:700;margin-bottom:.5rem}.page-scroll{overflow:auto;max-height:80vh;border:1px solid var(--line)}.paper{position:relative}canvas{display:block;width:100%;height:auto}.calibration{position:absolute;inset:0}.calibration span{position:absolute;border:1px solid #e64963;background:#e6496320}.zoom{display:flex;align-items:center;gap:.6rem;margin-top:1rem}.zoom select{width:auto}footer{margin-block:2rem;border-top:1px solid var(--line);padding:1rem 0;color:var(--muted);font-size:.9rem}@media(max-width:519px){.steps li{flex-direction:column;padding:.4rem .125rem;gap:.3rem;text-align:center;overflow-wrap:anywhere}.actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}input:not([type=checkbox]),textarea,select{font-size:1rem}}@media(min-width:600px){.upload-header .file-field{grid-area:1 / 2 / 3}.upload-header p{grid-column:1}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@font-face{font-family:TM7 Thai;src:url(/fonts/NotoSansThai-Regular.ttf) format("truetype");font-display:swap}.tm7-sheet{container-type:inline-size;width:100%;background:#fff;color:#202020;box-shadow:0 0 0 1px var(--line),var(--shadow)}.tm7-page-two{display:grid;gap:1rem;padding:clamp(1rem,7vw,4.5rem);font-family:Arial,TM7 Thai,sans-serif}.tm7-page-two [lang=th]{font-family:TM7 Thai,sans-serif}.tm7-page-two .field{gap:0;font-weight:400}.tm7-page-two .field input{border:0;border-bottom:1px dotted #333;border-radius:0;padding-inline:.25rem}.tm7-page-two .field input:hover,.tm7-page-two .field input:focus{background:#e9f3eeeb}.tm7-address-row{display:grid;gap:1rem;grid-auto-columns:minmax(0,1fr)}.tm7-writer-signature{justify-self:end;width:min(100%,24rem);margin-block:.75rem}.tm7-writer-signature div{display:flex;align-items:baseline;justify-content:space-between;gap:.4rem}.tm7-writer-signature [lang=th] span{flex:1;border-bottom:1px dotted #333}.tm7-page-two-bottom{display:grid;align-items:start;gap:1rem;font-size:.875rem}.tm7-page-two-bottom h2{font-size:1rem}.tm7-page-two-bottom ol{margin:.5rem 0 0;padding-inline-start:1.25rem}.tm7-page-two-bottom li+li{margin-top:.5rem}.tm7-page-two-bottom li span{display:block}.tm7-photo-box{display:grid;place-content:center;width:clamp(6rem,15vw,8rem);aspect-ratio:2 / 3;border:1px solid #555;text-align:center}.tm30-review{display:grid;justify-items:start;gap:.75rem}.tm30-review .notice{width:100%;margin:0}@media(min-width:520px){.tm7-address-row{grid-auto-flow:column}.tm7-page-two-bottom{grid-template-columns:auto minmax(0,1fr)}}.tm7-row{position:relative}.tm7-row+.tm7-row{margin-block-start:2.14cqw}.tm7-artwork{pointer-events:none}.tm7-print-text{position:absolute;transform:translateY(-79%);font:1.82cqw/1 Arial,sans-serif;white-space:nowrap}.tm7-print-text[lang=th],.tm7-paper-heading [lang=th]{font-family:TM7 Thai,sans-serif}.tm7-print-text[lang=th]{font-size:1.81cqw}.tm7-paper-heading{position:absolute;top:5.18cqw;inset-inline:10%;font:1.92cqw/1.48 Arial,sans-serif;text-align:center;text-transform:uppercase;pointer-events:none}.tm7-paper-heading span{display:block}.tm7-paper-heading [lang=th]{font-size:2.12cqw;line-height:1.35}.tm7-paper-rule{position:absolute;height:0;border-top:max(1px,.13cqw) dotted #333;pointer-events:none}.tm7-field-rule{inset:100% 0 auto}.tm7-title-options{position:absolute;left:6cqw;font-size:1.73cqw}.tm7-entry,.tm7-reason{position:absolute;font:1.85cqw/1.35 Arial,TM7 Thai,sans-serif}.tm7-entry{height:3.2cqw;transform:translateY(-100%)}.tm7-entry.centered{text-align:center}.tm7-sheet .tm7-entry :is(input,select,output),.tm7-sheet .tm7-reason textarea{display:block;min-height:0;height:100%;padding:.15cqw .25cqw .3cqw;border:1px solid transparent;border-radius:0;background:transparent;font:inherit;text-align:inherit}.tm7-sheet select,.tm7-sheet input[type=number],.tm7-sheet input[type=number]::-webkit-inner-spin-button{appearance:none}.tm7-sheet select{cursor:pointer}.tm7-sheet .tm7-entry :is(input,select):hover,.tm7-sheet .tm7-entry :is(input,select):focus{background-color:#e9f3eeeb}.tm7-sheet :focus-visible{outline-width:2px;outline-offset:0}.tm7-choice{height:100%}.tm7-choice.custom{position:relative;display:grid;grid-template-columns:minmax(0,1fr) max(12px,2.65cqw)}.tm7-choice.custom input{grid-column:1;grid-row:1}.tm7-choice.custom select{grid-column:2;grid-row:1;color:transparent}.tm7-choice.custom:after{content:"";position:absolute;right:max(4px,1cqw);top:37%;width:max(3px,.55cqw);aspect-ratio:1;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg);pointer-events:none}.tm7-choice.custom select option{color:#202020}.tm7-calendar{position:absolute;top:50%;left:100%;display:grid;place-items:center;width:max(19px,3.4cqw);height:max(19px,3.4cqw);transform:translateY(-50%);color:var(--accent);border-radius:3px}.tm7-calendar.by-caption{top:calc(100% + .25cqw);left:auto;right:0;height:3.45cqw;transform:none}.tm7-calendar:before{content:"";width:max(10px,1.8cqw);height:max(9px,1.6cqw);background:radial-gradient(circle,currentColor .7px,transparent 1px) 0 0 / 50% 50%;border:1px solid currentColor;border-top-width:3px;border-radius:2px}.tm7-calendar:hover,.tm7-calendar:focus-within{background:#e9f3ee}.tm7-calendar:has(:focus-visible){outline:2px solid var(--accent)}.tm7-sheet .tm7-calendar input{position:absolute;inset:0;opacity:0;cursor:pointer}.tm7-calendar input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;padding:0;cursor:pointer}.tm7-sheet .tm7-entry .tm7-title-select{color:transparent;background:transparent}.tm7-title-select option{color:var(--muted)}.tm7-entry:has(.tm7-title-select):after{content:"";position:absolute;right:.2cqw;top:40%;width:max(4px,.55cqw);aspect-ratio:1;border:solid var(--muted);border-width:0 1px 1px 0;transform:rotate(45deg);pointer-events:none}.tm7-reason{--tm7-reason-line-height: 3.2cqw;height:15.87cqw}.tm7-reason-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--tm7-reason-line-height);max-height:100%;overflow:hidden}.tm7-reason-text:before{content:"";float:left;width:100%;height:calc(2 * var(--tm7-reason-line-height));shape-outside:polygon(0 0,12cqw 0,12cqw var(--tm7-reason-line-height),100% var(--tm7-reason-line-height),100% 100%,0 100%)}.tm7-sheet .tm7-reason textarea{position:absolute;inset:0;resize:none;color:transparent}.tm7-sheet .tm7-reason:focus-within .tm7-reason-text{visibility:hidden}.tm7-sheet .tm7-reason textarea:focus{top:40%;height:60%;line-height:var(--tm7-reason-line-height);color:inherit;background:#fff}.tm7-source-note{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.review-wrap input[aria-invalid=true],.tm7-sheet :is(input,select,textarea)[aria-invalid=true],.tm7-calendar:has(input[aria-invalid=true]){border-color:#b42318;box-shadow:inset 0 0 0 1px #b42318}.review-grid:not(:has([aria-invalid=true]))>.page-one-errors{display:none}
