*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{
  --bg:transparent;
  --surface:#ffffffee;
  --surface2:#EFF6FF;
  --border:rgba(14,165,233,0.15);
  --text:#0F172A;
  --muted:#64748B;
  --green:#0EA5E9;
  --green-light:rgba(14,165,233,0.1);
  --value-positive:#16A34A;
  --value-positive-soft:#DCFCE7;
  --red:#F43F5E;
  --amber:#F59E0B;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 2px 16px rgba(14,165,233,0.1);
  --shadow-lg:0 8px 32px rgba(14,165,233,0.18);
}
body.dark{
  --bg:transparent;
  --surface:#1E293Bee;
  --surface2:#0F172A;
  --border:rgba(14,165,233,0.2);
  --text:#E2E8F0;
  --muted:#94A3B8;
  --shadow:0 2px 16px rgba(0,0,0,0.3);
  --shadow-lg:0 8px 32px rgba(0,0,0,0.5);
}
html,body{height:100%;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;overflow:hidden;transition:color 0.3s}
body{background:#EFF6FF}
body.dark{background:#0B1120}
body::before{content:'';position:fixed;inset:0;z-index:0;background:
  radial-gradient(ellipse 80% 60% at 20% 20%,rgba(14,165,233,0.18) 0%,transparent 60%),
  radial-gradient(ellipse 60% 80% at 80% 80%,rgba(56,189,248,0.15) 0%,transparent 60%),
  radial-gradient(ellipse 70% 50% at 50% 50%,rgba(186,230,255,0.2) 0%,transparent 70%);
  animation:wavebg 8s ease-in-out infinite alternate;pointer-events:none}
body.dark::before{background:
  radial-gradient(ellipse 80% 60% at 20% 20%,rgba(14,165,233,0.12) 0%,transparent 60%),
  radial-gradient(ellipse 60% 80% at 80% 80%,rgba(56,189,248,0.08) 0%,transparent 60%),
  radial-gradient(ellipse 70% 50% at 50% 50%,rgba(14,165,233,0.06) 0%,transparent 70%);
  animation:wavebg 8s ease-in-out infinite alternate}
@keyframes wavebg{
  0%{background-position:0% 0%,100% 100%,50% 50%;transform:scale(1)}
  33%{background-position:30% 10%,70% 90%,60% 40%}
  66%{background-position:10% 40%,90% 60%,30% 70%}
  100%{background-position:20% 80%,80% 20%,50% 50%;transform:scale(1.05)}
}
@keyframes spin{to{transform:rotate(360deg)}}
.loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:500;gap:16px;opacity:1;visibility:visible;transition:opacity 0.3s ease,visibility 0s linear 0.3s}
.loader.splash-hidden{opacity:0;visibility:hidden;pointer-events:none}
.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin 0.8s linear infinite}
.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;z-index:200;overflow-y:auto}
.screen.hidden{display:none}
.fg{margin-bottom:14px}
.fl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);margin-bottom:5px}
.fi{width:100%;padding:13px 14px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:16px;outline:none;transition:border 0.15s;font-family:inherit}
.fi:focus{border-color:var(--green)}
select.fi option{background:var(--surface2)}
.password-toggle-wrap{position:relative}
.password-toggle-field{padding-right:96px}
.password-toggle-btn{position:absolute;top:50%;right:10px;transform:translateY(-50%);min-width:74px;padding:6px 10px;border:none;background:transparent;color:var(--green);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;line-height:1}
.password-toggle-btn:focus-visible{outline:2px solid rgba(14,165,233,0.35);outline-offset:2px;border-radius:8px}
.password-toggle-btn:active{opacity:0.75}
.btn-full,.sbtn,.ch-edit,.icon-btn,.ob-inline-trigger{appearance:none;-webkit-appearance:none}
button::-moz-focus-inner{border:0;padding:0}
.btn-full{width:100%;padding:14px;border-radius:var(--radius-sm);border:none;background:var(--green);color:#fff;font-size:16px;font-weight:600;cursor:pointer;margin-top:4px;font-family:inherit;outline:none}
.btn-full:active{opacity:0.85}
.btn-full:disabled{opacity:0.5;cursor:not-allowed}
.btn-full:focus{outline:none}
.btn-full:focus-visible{box-shadow:0 0 0 3px rgba(14,165,233,0.25)}
.hidden{display:none!important}
