/* Shared appearance tokens and unobtrusive control for the app and public pages. */
:root.dark{color-scheme:dark;--background:#0f172a;--foreground:#e2e8f0;--card:#172033;--card-foreground:#e2e8f0;--popover:#172033;--popover-foreground:#e2e8f0;--primary:#7c3aed;--primary-foreground:#fff;--secondary:#263248;--secondary-foreground:#e2e8f0;--muted:#263248;--muted-foreground:#afbdd0;--accent:#302346;--accent-foreground:#ddd6fe;--destructive:#fb7185;--border:#46556d;--input:#66758e;--ring:#c4b5fd;--sidebar:#111b2e;--sidebar-foreground:#e2e8f0;--sidebar-primary:#c4b5fd;--sidebar-primary-foreground:#172033;--sidebar-accent:#302346;--sidebar-accent-foreground:#ddd6fe;--sidebar-border:#46556d;--sidebar-ring:#c4b5fd}
.theme-toggle{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:30;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid light-dark(#dbe2ec,#526079);border-radius:50%;background:light-dark(#fff,#1c2940);color:light-dark(#64748b,#c4b5fd);box-shadow:0 3px 12px #00000018;cursor:pointer;touch-action:manipulation;transition:background .15s,color .15s}
.theme-toggle:hover{background:light-dark(#f5f3ff,#302346);color:light-dark(#6d28d9,#ddd6fe)}
.theme-toggle:focus-visible{outline:3px solid light-dark(#7c3aed,#c4b5fd);outline-offset:4px}
body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
:root.dark input:not([type=checkbox]):not([type=radio]),:root.dark textarea,:root.dark select{color:#e2e8f0;border-color:#66758e}
:root.dark input::placeholder,:root.dark textarea::placeholder{color:#a5b4c8;opacity:1}
/* Branded marks retain their designed white backing. */
:root.dark .product-logo{background:#fff}
:root.dark .loading-logo,:root.dark .flash-icon .flash-logo{background:transparent}
@media(max-width:600px){.theme-toggle{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom))}.toast{bottom:80px!important}}
@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}}
@media print{.theme-toggle{display:none}body{padding-bottom:0}}
