*{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}#root{min-height:100svh}:root{--bg:#0d1117;--surface:#161b22;--surface-2:#1c2129;--border:#2d333b;--text:#e6edf3;--text-dim:#9198a1;--danger:#ef4444;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans,Noto Sans Khmer,system-ui,-apple-system,Segoe UI,sans-serif}.app-shell{max-width:480px;min-height:100vh;padding-top:var(--safe-top);flex-direction:column;margin:0 auto;display:flex}.app-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:20px 16px;display:flex}.header-text{flex:1;min-width:0}.lang-switcher{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-shrink:0;display:flex;overflow:hidden}.lang-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:8px 10px;font-family:inherit;font-size:12px;font-weight:700;line-height:1}.lang-btn[data-active=true]{background:var(--surface-2);color:var(--text)}.lang-btn:focus-visible{outline-offset:-2px;z-index:1;outline:2px solid #fff}.sos-badge{background:var(--danger);color:#fff;letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:15px;font-weight:800;animation:1.8s ease-out infinite pulse;display:flex;box-shadow:0 0 #ef444499}@keyframes pulse{0%{box-shadow:0 0 #ef44448c}70%{box-shadow:0 0 0 14px #ef444400}to{box-shadow:0 0 #ef444400}}.header-text h1{margin:0;font-size:18px;font-weight:700}.header-text p{color:var(--text-dim);margin:2px 0 0;font-size:13px}.steps{flex-direction:column;flex:1;gap:24px;padding:16px 16px 100px;display:flex}.step-title{margin:0 0 12px;font-size:15px;font-weight:700}.required{color:var(--danger)}.type-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.type-btn{--btn-color:#888;border:2px solid var(--border);background:var(--surface);color:var(--text);text-align:center;cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 8px;font-size:14px;font-weight:600;transition:transform .1s,border-color .15s,background-color .15s;display:flex}.type-btn svg{color:var(--btn-color)}.type-btn:active{transform:scale(.96)}.type-btn[data-selected=true]{border-color:var(--btn-color);background:color-mix(in srgb, var(--btn-color) 16%, var(--surface))}.type-btn:focus-visible{outline-offset:2px;outline:3px solid #fff}.location-btn{border:2px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:16px;font-weight:700;transition:transform .1s;display:flex}.location-btn:active{transform:scale(.98)}.location-status{background:var(--surface);border:2px solid var(--border);border-radius:14px;align-items:center;gap:10px;padding:14px 16px;font-size:14px;display:flex}.location-loading{color:var(--text-dim)}.location-ok{border-color:#22c55e}.location-info{flex-direction:column;flex:1;display:flex}.location-accuracy{color:var(--text-dim);font-size:12px}.location-error{border-color:var(--danger);color:#fca5a5;flex-wrap:wrap}.refresh-btn,.retry-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.detail-textarea{border:2px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:14px;min-height:90px;padding:14px;font-family:inherit;font-size:15px}.detail-textarea:focus-visible{outline-offset:1px;border-color:#58a6ff;outline:3px solid #58a6ff}.detail-counter{text-align:right;color:var(--text-dim);margin-top:4px;font-size:12px}.app-footer{padding:12px 16px calc(12px + var(--safe-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);position:sticky;bottom:0}.submit-btn{background:var(--danger);color:#fff;letter-spacing:.3px;cursor:pointer;border:none;border-radius:16px;width:100%;padding:18px;font-size:17px;font-weight:800;transition:transform .1s,opacity .15s}.submit-btn:active:not(:disabled){transform:scale(.98)}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.submit-btn:focus-visible{outline-offset:2px;outline:3px solid #fff}.confirm-overlay{z-index:10;background:#0009;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--surface);border:1px solid var(--border);width:100%;max-width:440px;padding:24px 20px calc(20px + var(--safe-bottom));border-radius:20px}.confirm-dialog h3{margin:0 0 8px;font-size:18px}.confirm-dialog p{color:var(--text-dim);margin:0 0 20px;font-size:15px}.confirm-actions{gap:12px;display:flex}.btn-cancel,.btn-confirm{cursor:pointer;border:none;border-radius:14px;flex:1;padding:14px;font-size:15px;font-weight:700}.btn-cancel{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn-confirm{background:var(--danger);color:#fff}.btn-cancel:focus-visible,.btn-confirm:focus-visible{outline-offset:2px;outline:3px solid #fff}.success-view{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;max-width:480px;min-height:100vh;margin:0 auto;padding:24px;display:flex}.success-icon{color:#22c55e;animation:.4s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.success-view h2{margin:0;font-size:22px}.success-view p{color:var(--text-dim);margin:0;font-size:15px}@media (prefers-reduced-motion:reduce){.sos-badge,.spin,.success-icon,.type-btn,.location-btn,.submit-btn{transition:none!important;animation:none!important}}
