:root{--navy: #0c1322;--brand: #1769aa;--ink: #172033;--muted: #64748b;--border: #e5e7eb;--bg: #f4f6f9;--surface: #ffffff}@media(prefers-color-scheme:dark){:root{--brand: #3a8fd4;--ink: #e6eaf2;--muted: #93a1b8;--border: #283349;--bg: #0b1220;--surface: #131c2e}.install-banner{background:#14233a}}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(12px,env(safe-area-inset-top)) 16px 12px;background:var(--navy);color:#fff}.topbar-brand{border:none;background:none;color:#fff;font-size:19px;font-weight:700;letter-spacing:-.01em}.topbar-brand span{color:#6db3e8;font-weight:500}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-actions .ant-btn{color:#fff}.topbar-net{margin:0}.app-main{flex:1}.install-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#e8f1fa;color:var(--ink);font-size:14px;border-bottom:1px solid var(--border)}.page{max-width:760px;margin:0 auto;padding:16px 16px calc(40px + env(safe-area-inset-bottom))}.screen-center{min-height:100vh;display:grid;place-items:center;padding:24px}.section-title{margin:0 0 10px!important}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-head .section-title{margin:0!important}.login{background:var(--navy)}.login-card{width:100%;max-width:380px;background:var(--surface);border-radius:16px;padding:28px 24px;box-shadow:0 24px 60px -20px #00000080}.login-brand,.login-card .login-brand{text-align:center;font-size:28px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.login-brand span{color:var(--brand);font-weight:500}.scan-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;margin-bottom:20px;border:none;border-radius:14px;background:var(--brand);color:#fff;font-size:17px;font-weight:600}.scan-cta .anticon{font-size:22px}.row-link{color:inherit}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;cursor:pointer}.row .ant-list-item-meta-title{font-size:16px}.row-arrow{color:var(--muted)}.question{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:10px}.question-title{font-weight:600;margin-bottom:4px}.question-help{color:var(--muted);font-size:13px;margin-bottom:10px}.req{color:#cf1322}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px}.photo-thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-pending{position:absolute;bottom:4px;left:4px;background:#0c1322c7;color:#fff;font-size:11px;padding:1px 6px;border-radius:6px}.photo-ai{position:absolute;top:4px;right:4px;width:30px;height:30px;border:none;border-radius:8px;background:#0c1322c7;color:#6db3e8;font-size:15px;display:grid;place-items:center}.photo-ai:disabled{opacity:.5}.signature{position:relative}.signature-canvas{width:100%;height:180px;background:#fff;border:1px dashed var(--border);border-radius:12px;touch-action:none}.signature-clear{position:absolute;top:8px;right:8px}.scan-frame{position:relative;width:100%;aspect-ratio:3 / 4;max-height:60vh;border-radius:16px;overflow:hidden;background:#000}.scan-video{width:100%;height:100%;object-fit:cover}.scan-reticle{position:absolute;top:18%;right:14%;bottom:18%;left:14%;border:3px solid rgba(255,255,255,.9);border-radius:14px;box-shadow:0 0 0 100vmax #00000059}.scan-nfc-tag{position:absolute;top:10px;left:10px;margin:0}.row .ant-list-item-meta{align-items:center}.ant-list-item{padding-block:0;border:none}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
