:root{color-scheme:dark;--bg:#08111f;--panel:rgba(24,41,62,.72);--line:rgba(173,208,238,.18);--text:#edf5ff;--muted:#aec0d4;--accent:#71e4e5;--blue:#6c9dff;--danger:#ffb5b5;--radius:24px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body.nsf-glass{margin:0;background:radial-gradient(ellipse at 8% 0%,#1b355a 0,transparent 45%),radial-gradient(ellipse at 95% 60%,#123b43 0,transparent 42%),var(--bg);color:var(--text);min-height:100vh;line-height:1.55}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.nsf-shell{max-width:1100px;margin:auto;padding:24px}.nsf-brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:.12em;font-weight:700;font-size:14px}.nsf-brand img{width:42px;height:42px}.nsf-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:26px}.nsf-topbar>a:last-child{font-size:13px;color:var(--muted)}.glass-panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(140deg,rgba(61,87,117,.32),rgba(18,32,49,.8));box-shadow:0 20px 60px #0003,inset 0 1px 0 #ffffff12;backdrop-filter:blur(22px)}.nsf-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start}.nsf-rail{padding:26px;position:sticky;top:24px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:700;text-transform:uppercase}.nsf-rail h1{font-size:34px;line-height:1.14;letter-spacing:-.04em;margin:18px 0}.nsf-muted{color:var(--muted);font-size:14px}.nsf-steps{list-style:none;padding:12px 0 0;margin:0;display:grid;gap:18px}.nsf-steps li{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.nsf-steps span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:10px}.nsf-steps [aria-current=step]{color:var(--text);font-weight:700}.nsf-steps [aria-current=step] span{background:var(--accent);color:#092630;box-shadow:0 4px 18px #71e4e533}.nsf-content{padding:32px}.nsf-content h2{font-size:29px;line-height:1.2;letter-spacing:-.035em;margin:10px 0 12px}.nsf-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.nsf-field{display:grid;gap:7px;font-size:13px;font-weight:600}.nsf-field.full{grid-column:1/-1}.nsf-field input,.nsf-field select,.nsf-field textarea{width:100%;border:1px solid #aac9e338;border-radius:12px;padding:13px 14px;background:#0a1729;color:var(--text);min-height:48px}.nsf-field small{font-weight:400;color:var(--muted)}.nsf-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px}.nsf-button{border:1px solid var(--line);border-radius:13px;padding:13px 20px;min-height:48px;background:#20334c;color:var(--text);text-decoration:none;font-size:14px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .18s,background .18s}.nsf-button:hover:not(:disabled){transform:translateY(-2px);background:#2b4361}.nsf-button.primary{background:linear-gradient(120deg,#9aeee6,#71cfe9);color:#092536;border-color:#c9ffff66;box-shadow:0 8px 24px #44ced31a}.nsf-status{padding:14px 16px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:14px;margin:18px 0;overflow-wrap:anywhere}.nsf-status.error{color:#ffcece;border-color:#ff8f8f70;background:#7f1d1d30}.nsf-status.success{color:#b0f9d7;border-color:#75eeb870}.capture-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.capture-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:#0b192c80;display:flex;flex-direction:column;gap:12px}.capture-card h3{font-size:15px;margin:0}.capture-card p{font-size:12px;color:var(--muted);margin:0}.capture-card img{width:100%;height:140px;object-fit:contain;border-radius:10px;background:#070e18}.capture-card .nsf-button{margin-top:auto;font-size:13px}.nsf-dialog{width:min(620px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:#101e30;color:var(--text);border:1px solid #6384a8;border-radius:24px;padding:22px}.nsf-dialog::backdrop{background:#030b17cc;backdrop-filter:blur(8px)}.camera-stage{position:relative;background:#050a12;border-radius:16px;overflow:hidden;min-height:240px;margin-top:16px}.camera-stage video{display:block;width:100%;max-height:52dvh;object-fit:contain}.camera-guide{position:absolute;inset:17% 9%;border:2px solid #b0ffff;border-radius:16px;pointer-events:none;box-shadow:0 0 0 100vw #0002}.camera-guide.face{inset:12% 27%;border-radius:50%}.nsf-progress{width:100%;accent-color:var(--accent)}.review-list{padding:0;list-style:none}.review-list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:14px}.review-list span:last-child{color:var(--muted);text-align:right;overflow-wrap:anywhere}.nsf-check{display:flex;gap:12px;align-items:start;font-size:14px;margin:22px 0}.nsf-check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--accent)}[hidden]{display:none!important}@keyframes nsf-arrive{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.nsf-content{animation:nsf-arrive .35s ease-out}@media(max-width:760px){.nsf-shell{padding:18px 14px 32px}.nsf-layout{grid-template-columns:1fr;gap:18px}.nsf-rail{position:static;padding:22px}.nsf-rail h1{font-size:28px;margin:10px 0}.nsf-rail>p.nsf-muted{display:none}.nsf-steps{grid-template-columns:repeat(4,1fr);gap:8px}.nsf-steps li{flex-direction:column;gap:7px;font-size:11px;text-align:center}.nsf-content{padding:22px}.nsf-content h2{font-size:25px}.nsf-fields{grid-template-columns:1fr}.nsf-field.full{grid-column:auto}.capture-grid{gap:10px}.capture-card{padding:13px}.nsf-topbar{padding-bottom:18px}.nsf-actions>.primary{flex:1}.camera-stage{min-height:180px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@supports not (backdrop-filter:blur(1px)){.glass-panel{background:#15263b}}

/* Layered glass: bright rim, translucent face, grounded ambient shadow. */
.glass-panel{background:linear-gradient(145deg,rgba(132,124,255,.22),rgba(26,25,83,.62) 42%,rgba(8,6,22,.82))!important;border:1px solid rgba(166,164,255,.28)!important;border-top-color:rgba(224,217,255,.5)!important;border-bottom-color:rgba(85,139,166,.2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(2,12,25,.35),0 8px 18px rgba(1,9,20,.18),0 26px 58px -20px rgba(0,6,17,.65)!important;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}
@supports not(backdrop-filter:blur(1px)){.glass-panel{background:#172e43!important}}

/* User-selected indigo palette: violet glass over layered midnight depth. */
:root{--nsf-accent:#adaaff;--accent:#adaaff;--bg:#080616;--panel:rgba(26,25,83,.68);--muted:#b8b7d1;--line:rgba(166,164,255,.24)}
body,body.nsf-glass,body.nsf-loans,body.nsf-wallet,body.nsf-settings,body.nsf-admin-loans,body.nsf-membership{background:radial-gradient(ellipse at 8% 0%,#2f2fe43d,transparent 48%),radial-gradient(ellipse at 100% 40%,#162e935e,transparent 48%),radial-gradient(ellipse at 30% 100%,#1a1953,transparent 60%),#080616!important;color:#f3f0ff}
.nsf-admin-loans .app-layout-wrapper,.nsf-membership main,.nsf-chat main{background:radial-gradient(ellipse at 10% 0%,#2f2fe435,transparent 55%),radial-gradient(ellipse at 100% 70%,#162e9355,transparent 55%),#080616!important}
.nsf-button.primary,button[class*="bg-primary"]{background:linear-gradient(125deg,#4747ef,#2F2FE4 62%,#162E93)!important;color:#fff!important;border-color:#b5afff66!important;box-shadow:inset 0 1px #ffffff36,0 8px 28px #2f2fe43d!important}
@supports not(backdrop-filter:blur(1px)){.glass-panel{background:#1A1953!important}}
/* Keep capture controls on screen even on short phones and in landscape. */
#camera-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;gap:8px;height:min(840px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);overflow:hidden;padding:14px;margin:auto}
#camera-dialog .nsf-topbar{padding:0;gap:10px}
#camera-dialog h2{font-size:18px;margin:0}
#camera-help,#camera-status{font-size:12px;line-height:1.35;margin:0;overflow-wrap:anywhere}
#camera-dialog .camera-stage{min-height:0;margin:0;height:100%}
#camera-dialog video{width:100%;height:100%;max-height:none;object-fit:contain}
#camera-dialog .nsf-field{display:flex;align-items:center;gap:10px;min-width:0}
#camera-dialog select{min-height:40px;padding:8px;min-width:0;flex:1}
#camera-dialog .nsf-actions{margin:0;flex-wrap:nowrap;padding-bottom:env(safe-area-inset-bottom,0px)}
#camera-dialog .nsf-button{padding:10px 14px;min-height:48px}
#camera-dialog #take-photo{flex:1}
#camera-dialog .camera-guide.detected{border-color:#74ffc2;box-shadow:0 0 0 100vw #0002,0 0 20px #74ffc244}
#camera-dialog .camera-guide.document{inset:auto 10%;top:50%;aspect-ratio:1.586;max-height:80%;transform:translateY(-50%)}
#camera-dialog .camera-guide.document.page{aspect-ratio:.707}
@media(max-height:480px){#camera-dialog[open]{grid-template-columns:minmax(0,1fr) minmax(160px,.7fr);grid-template-rows:auto 1fr auto auto;gap:8px}#camera-dialog .nsf-topbar{grid-column:1/-1}#camera-dialog .camera-stage{grid-column:1;grid-row:2/5}#camera-help{grid-column:2;grid-row:2}#camera-dialog .nsf-field{display:none}#camera-status{grid-column:2;grid-row:3}#camera-dialog .nsf-actions{grid-column:2;grid-row:4}#retry-camera{display:none}}
