: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}.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-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)}.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}.section-title{font-size:14px;font-weight:700;margin:20px 0 10px}.section-title:first-child{margin-top:0}.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)}.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}
