:root{--brand: rgb(7, 52, 135);--brand-dark: rgb(6, 42, 108);--brand-light: rgb(225, 231, 241);--bg: #f5f6f8;--card-bg: #ffffff;--text: #1a1a1a;--text-muted: #6b7280;--border: #e5e7eb;--danger: #e0392b}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans Thai,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}.centered{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--text-muted);padding:24px;text-align:center}.app-shell{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);padding-bottom:72px}.page{padding:16px}.page-header{padding:16px;background:var(--brand);color:#fff;display:flex;align-items:center;gap:12px}.page-header-logo{width:44px;height:44px;flex-shrink:0;object-fit:contain}.page-header h1{margin:0 0 2px;font-size:18px}.page-header p{margin:0;font-size:13px;opacity:.9}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px}.card h3{margin:0 0 6px;font-size:16px}.card .meta{font-size:12px;color:var(--text-muted);margin-bottom:8px}.news-html img{max-width:100%;height:auto;display:block;border-radius:8px;margin:8px 0;cursor:pointer}.btn{display:inline-block;border:none;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}.btn-primary{background:var(--brand);color:#fff;width:100%}.btn-primary:hover{background:var(--brand-dark)}.btn-secondary{background:#fff;color:var(--brand);border:1px solid var(--brand);width:100%}.btn-danger{background:#fff;color:#d92d20;border:1px solid #d92d20;width:100%}.btn-danger:hover{background:#fef3f2}.btn-line{background:#06c755;color:#fff;width:100%}.btn-line:hover{background:#05a648}.btn:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--brand-light);color:var(--brand-dark)}.badge-required{background:#e0392b1f;color:var(--danger)}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff}.form-group .hint{font-size:12px;color:var(--text-muted);margin-top:4px}.dob-select-row{display:flex;gap:8px}.dob-select-row select{flex:1;min-width:0;padding:10px 6px;border:1px solid var(--border);border-radius:8px;font-size:13px;background:#fff}.autocomplete{position:relative}.autocomplete input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:#fff}.autocomplete-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 20px #00000014;max-height:220px;overflow-y:auto}.autocomplete-list li{padding:8px 10px;font-size:13px;border-radius:6px;cursor:pointer}.autocomplete-list li:hover,.autocomplete-list li.highlighted{background:var(--brand-light);color:var(--brand-dark)}.autocomplete-list li.autocomplete-status{color:var(--text-muted);cursor:default}.autocomplete-list li.autocomplete-status:hover{background:transparent;color:var(--text-muted)}.form-error{background:#fdecea;color:var(--danger);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px}.form-success{background:var(--brand-light);color:var(--brand-dark);border-radius:8px;padding:10px 12px;font-size:13px;margin-bottom:14px}.empty-state{text-align:center;color:var(--text-muted);font-size:14px;padding:40px 16px}.section-title{font-size:14px;font-weight:700;margin:20px 0 10px}.section-title:first-child{margin-top:0}.round-group{margin-bottom:8px}.wizard-steps{display:flex;list-style:none;padding:0;margin:0 0 16px;gap:4px}.wizard-steps li{flex:1;text-align:center;font-size:11px;color:var(--text-muted);padding-bottom:8px;border-bottom:3px solid var(--border)}.wizard-steps li.active{color:var(--brand-dark);border-color:var(--brand);font-weight:700}.wizard-steps li.done{color:var(--brand-dark);border-color:var(--brand)}.upload-row{display:flex;align-items:center;justify-content:space-between;border:1px dashed var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:13px}.upload-row .status-uploaded{color:var(--brand-dark);font-weight:600}.upload-row .status-uploading{color:var(--text-muted)}.doc-file-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:6px}.doc-file-table col.doc-file-col-preview,.doc-file-table col.doc-file-col-action{width:40px}.doc-file-table .btn-icon{width:32px;height:32px}.doc-file-table td{padding:6px 4px;vertical-align:middle;border-bottom:1px solid var(--border);font-size:13px}.doc-file-table tr:last-child td{border-bottom:none}.doc-file-table td.doc-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-file-table td.doc-file-action{text-align:right}.doc-file-table img.doc-file-thumb{width:32px;height:32px;object-fit:cover;border-radius:4px;display:block}.file-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.file-preview-overlay-inner{background:var(--card-bg);border-radius:12px;padding:16px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column}.file-preview-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.file-preview-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-body{flex:1;min-height:240px;display:flex;align-items:center;justify-content:center;background:#f4f4f4;border-radius:8px;overflow:hidden}.file-preview-body img{max-width:100%;max-height:70vh;object-fit:contain}.file-preview-body iframe{width:100%;height:70vh;border:none}.file-preview-fallback-link{text-align:center;font-size:12px;color:var(--primary, #2563eb)}.plan-option{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:14px}.plan-option.selected{border-color:var(--brand);background:var(--brand-light)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:#fff;border-top:1px solid var(--border)}.bottom-nav a{flex:1;text-align:center;padding:10px 0 8px;font-size:11px;color:var(--text-muted);text-decoration:none}.bottom-nav a.active{color:var(--brand-dark);font-weight:700}.bottom-nav .icon{display:block;font-size:18px;margin-bottom:2px}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:999px;border:1px solid var(--brand);background:#fff;color:var(--brand);cursor:pointer;padding:0}.btn-icon:hover{background:var(--brand-light)}.btn-icon-danger{border-color:var(--danger);color:var(--danger)}.btn-icon-danger:hover{background:#fdecea}.hint{font-size:12px;color:var(--text-muted);margin-top:4px}.photo-crop-placeholder,.photo-crop-result{display:flex;flex-direction:column;align-items:center;gap:8px}.photo-crop-template{width:100%;max-width:220px;aspect-ratio:3 / 4;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:var(--bg)}.photo-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px}.photo-crop-overlay-inner{background:var(--card-bg);border-radius:12px;padding:16px;width:100%;max-width:360px}.photo-crop-frame{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;border-radius:8px;border:1px solid var(--border);background:#000;touch-action:none;cursor:grab}.photo-crop-frame img{position:absolute;top:50%;left:50%;max-width:none;transform-origin:center center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
