@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/admin/inter-latin.woff2') format('woff2');
}
@font-face {
    font-family: 'Space Grotesk';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('../fonts/admin/space-grotesk-latin.woff2') format('woff2');
}
body.user-app {
    --pv-night: #071223;
    --pv-surface: #0d223f;
    --pv-blue: #13335f;
    --pv-white: #fff;
    --pv-copy: #cad5e2;
    --pv-muted: #8da3bd;
    --pv-yellow: #ffd900;
    --pv-line: rgba(155,181,212,.14);
    --pv-card-shadow: 0 .25em 1em rgba(0,0,0,.14), 0 .0625em .2em rgba(0,0,0,.08);
    --pv-green: #72d9b5;
    --pv-red: #f5a3ab;
    --pv-heading: 'Space Grotesk', sans-serif;
    --pv-body: Inter, sans-serif;
    margin: 0;
    background: var(--pv-night);
    color: var(--pv-copy);
    font-family: var(--pv-body);
    font-size: 1em;
    line-height: 1.6;
    color-scheme: dark;
    -webkit-font-smoothing: antialiased;
}
.user-app :is(h1,h2,h3,h4) { font-family: var(--pv-heading); color: var(--pv-white); letter-spacing: -.025em; }
.user-app :is(h1,h2,h3,h4) strong { font-family: inherit; }
.user-app button { font-family: var(--pv-heading); }
.user-app :is(button,a,input,select,textarea,summary):focus-visible { outline: 2px solid var(--pv-yellow); outline-offset: 3px; }
.user-app [x-cloak] { display: none !important; }
.user-app ::selection { background: var(--pv-yellow); color: var(--pv-night); }
.user-app .bg-gray-800, .user-app .bg-white { background-color: var(--pv-surface); }
.user-app .bg-gray-900 { background-color: #08182d; }
.user-app .bg-gray-700 { background-color: #173252; }
.user-app :is(.border-gray-700,.border-gray-600,.border-gray-200,.border-gray-100) { border-color: var(--pv-line); }
.user-app :is(.divide-gray-700,.divide-gray-600) > :not([hidden]) ~ :not([hidden]) { border-color: var(--pv-line); }
.user-app :is(.text-gray-400,.text-gray-500,.text-gray-600) { color: var(--pv-muted); }
.user-app :is(.text-gray-300,.text-gray-700) { color: var(--pv-copy); }
.user-app :is(.text-gray-100,.text-gray-200,.text-gray-800,.text-gray-900) { color: #e5edf6; }
.user-app :is(.text-green-200,.text-green-300,.text-green-400) { color: var(--pv-green); }
.user-app :is(.text-red-300,.text-red-400,.text-red-500,.text-red-600) { color: var(--pv-red); }
.user-app :is(.text-blue-300,.text-blue-400) { color: #8db3de; }
.user-app :is(.text-yellow-300,.text-yellow-400) { color: var(--pv-yellow); }
.user-app .text-purple-400 { color: #bba7e2; }
body.user-app :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]) {
    background-color: #08182d;
    border-color: #28415f;
    border-radius: .5em;
    color: var(--pv-copy);
    font-family: var(--pv-body);
    --tw-ring-color: var(--pv-yellow);
}
.user-app :is(input,select,textarea):focus { border-color: var(--pv-yellow); }
.user-app :is(input,textarea)::placeholder { color: #7189a5; opacity: 1; }
.user-app :is(input[type="checkbox"],input[type="radio"]) { accent-color: var(--pv-yellow); color: var(--pv-yellow); }
body.user-app .user-button-primary,
.user-app :is(button,a).bg-blue-600:not(.user-button-secondary):not(.user-button-danger),
.user-plans a.bg-green-600 {
    background: var(--pv-yellow);
    border: 1px solid transparent;
    color: var(--pv-night);
    font-family: var(--pv-heading);
    font-weight: 700;
    border-radius: .6em;
    text-transform: none;
    letter-spacing: 0;
}
body.user-app .user-button-primary:hover,
.user-app :is(button,a).bg-blue-600:not(.user-button-secondary):not(.user-button-danger):hover,
.user-plans a.bg-green-600:hover { background: #ffe43e; }
body.user-app .user-button-secondary {
    background: transparent;
    border: 1px solid #28415f;
    border-radius: .6em;
    color: var(--pv-copy);
    font-family: var(--pv-heading);
    text-transform: none;
    letter-spacing: 0;
}
body.user-app .user-button-secondary:hover { background: var(--pv-blue); border-color: #3b587b; color: white; }
body.user-app .user-button-danger {
    background: #392838;
    border: 1px solid #734653;
    border-radius: .6em;
    color: var(--pv-red);
    text-transform: none;
    letter-spacing: 0;
}
body.user-app .user-button-danger:hover { background: #4a2b3d; }
.user-app :is(.user-button-primary,.user-button-secondary,.user-button-danger) { min-height: 2.8em; transition: background .15s,border-color .15s,color .15s; }
.user-app .user-topbar { background: #08172b; border-bottom: 1px solid var(--pv-line); }
.user-app .user-header-links { align-items: stretch; }
.user-app .user-header-link { align-self: stretch; padding: .8em .2em; font-family: var(--pv-heading); }
.user-app .user-header-link.is-current { border-color: var(--pv-yellow); color: var(--pv-yellow); }
.user-app .user-header-link:hover { color: white; border-color: #557394; }
.user-app .user-avatar { background: #203a49; color: var(--pv-yellow); border: 1px solid #354a4b; }
.user-app .user-account-menu { background: var(--pv-surface); border: 1px solid #28415f; box-shadow: 0 .8em 2em #0004; }
.user-app .user-account-link { display: block; padding: .6em 1em; font-size: .875em; color: var(--pv-copy); }
.user-app .user-account-link:hover { background: var(--pv-blue); color: white; }
body.user-dashboard { min-height: 100vh; display: flex; flex-direction: column; }
.user-dashboard > main { flex: 1; }
.user-market-ticker {
    --tv-widget-background-color: var(--pv-night);
    --tv-widget-text-color: var(--pv-copy);
    --tv-widget-price-text-color: var(--pv-white);
    --tv-widget-positive-color: var(--pv-green);
    --tv-widget-negative-color: var(--pv-red);
    --tv-widget-accent-color: var(--pv-yellow);
    --tv-widget-font-family: var(--pv-body);
    width: 100%;
    min-width: 0;
    background: var(--pv-night);
    border-bottom: 1px solid var(--pv-line);
}
.user-market-ticker tv-ticker-tape { display: block; width: 100%; }
/* Cover the compact ticker's 20px attribution row and its container border. */
.user-market-ticker + #user-main-content {
    position: relative;
    margin-top: -21px;
    background: var(--pv-night);
    border-top: 1px solid var(--pv-line);
}
.user-footer { width: 100%; max-width: 80em; margin: auto auto 0; padding: 1.5em 2em; color: #7890ad; font-size: .75em; letter-spacing: .06em; }
.user-footer > span { display: block; padding-top: 1.3em; border-top: 1px solid var(--pv-line); }
.user-footer span span { color: #415b79; margin: 0 .6em; }
.user-skip-link { position: fixed; left: 1em; top: -5em; z-index: 100; padding: .8em 1em; background: var(--pv-yellow); color: var(--pv-night); border-radius: .5em; }
.user-skip-link:focus { top: 1em; }
.user-app .ua h1, .user-app .user-page-heading h1 { font-size: 2.25em; font-weight: 700; letter-spacing: -.04em; }
.user-app .ua-card { background: var(--pv-surface); border: 0; border-radius: .85em; }
.user-app .ua-card h2 { color: #b9cce1; }
.user-app .ua-card > strong { color: var(--pv-white); font-family: var(--pv-heading); font-weight: 700; font-variant-numeric: tabular-nums; }
.user-app .ua-panel { background: var(--pv-surface); border: 0; box-shadow: var(--pv-card-shadow); }
.user-app .ua-projection { border: 1px solid #5c552f; }
.user-app .ua-button { background: var(--pv-yellow); color: var(--pv-night); font-family: var(--pv-heading); }
.user-app .ua-button:hover { background: #ffe43e; }
.user-app .ua-button.secondary { background: transparent; color: var(--pv-copy); border-color: #28415f; }
.user-app .ua-button.secondary:hover { background: var(--pv-blue); }
.user-app .ua-stat-grid strong { font-family: var(--pv-heading); color: white; }
.user-app .dashboard-sections a { background: var(--pv-surface); border: 0; border-radius: .65em; box-shadow: var(--pv-card-shadow); }
.user-app .dashboard-sections strong { font-family: var(--pv-heading); }
.user-app .dashboard-sections a:hover { background: var(--pv-blue); }
.user-app .dashboard-sections a[aria-current="page"] { background: #172b35; border: 1px solid #655d2c; color: var(--pv-yellow); box-shadow: inset 0 -.15em 0 var(--pv-yellow), var(--pv-card-shadow); }
.user-app .user-history-card { background: var(--pv-surface); border: 0; border-radius: .85em; box-shadow: var(--pv-card-shadow); }
.user-app .user-history-card > .absolute { opacity: 0; }
.user-app .user-history-card:hover { transform: none; box-shadow: var(--pv-card-shadow); }
.user-app .user-history-card .text-4xl { font-family: var(--pv-heading); font-weight: 700; font-variant-numeric: tabular-nums; }
.user-app .user-history-icon { background: #193856; box-shadow: none; color: #8db3de; }
.user-app .user-history-icon-blue { background: #193856; color: #8db3de; }
.user-app .user-history-icon-green { background: #163c47; color: var(--pv-green); }
.user-app .user-history-icon-red { background: #392838; color: var(--pv-red); }
.user-app .user-history-icon-purple { background: #302b4b; color: #bba7e2; }
.user-app .user-history-icon svg { color: inherit; }
.user-app .user-history-card .h-1 { height: .15em; }
.user-app .user-trades-panel { border-radius: .85em; border: 0; box-shadow: var(--pv-card-shadow); }
.user-app table { font-size: .875em; }
.user-app th { color: #8da3bd; font-weight: 500; letter-spacing: .06em; }
.user-app tbody tr { transition: background .15s; }
.user-app tbody tr:hover { background-color: #13335f66; }
.user-app td { font-variant-numeric: tabular-nums; }
.user-app #tradeModal { background: rgba(2,9,20,.78); backdrop-filter: blur(.25em); }
.user-app #tradeModal > div { background: var(--pv-surface); border: 1px solid #28415f; border-radius: .9em; box-shadow: 0 1.5em 5em #0006; }
.user-app .ts-wrapper.single .ts-control, .user-app .ts-wrapper .ts-control { background: #08182d !important; border-color: #28415f !important; color: var(--pv-copy) !important; border-radius: .5em; }
.user-app .ts-dropdown { background: var(--pv-surface) !important; border-color: #28415f !important; }
.user-app .ts-dropdown .option { color: var(--pv-copy) !important; }
.user-app .ts-dropdown .option:hover, .user-app .ts-dropdown .option.active { background: #172b35 !important; color: var(--pv-yellow) !important; }
.user-app .ts-dropdown .optgroup-header { background: #08172b !important; color: var(--pv-muted) !important; }
.user-app .ts-control > input { color: white !important; }
.user-app .ts-wrapper.single.input-active .ts-control { border-color: var(--pv-yellow) !important; }
.user-app .user-api-settings > .bg-gray-800 { border-radius: .85em; border: 0; box-shadow: var(--pv-card-shadow); }
.user-app .user-api-settings h1 { font-size: 2.25em; letter-spacing: -.04em; }
.user-app .user-api-settings .flex.gap-3 { flex-wrap: wrap; }
body.user-auth { background: var(--pv-night); }
.user-auth .video-background { opacity: .08; filter: grayscale(1); }
.user-auth .user-auth-card { background: var(--pv-surface); border: 0; border-top: .2em solid var(--pv-yellow); border-radius: .9em; padding: 2em; box-shadow: var(--pv-card-shadow); }
.user-auth .user-auth-card > div[align="center"], .user-auth form > div[align="center"] { margin-bottom: 1.7em; }
.user-auth .user-auth-card img { max-width: 14em; height: auto; }
.user-auth a.underline { color: #b5c8de; text-underline-offset: .2em; }
.user-auth a.underline:hover { color: var(--pv-yellow); }
.user-auth .user-button-primary { padding: .7em 1.1em; }
.user-auth .bg-red-100 { background: #392838; border: 1px solid #734653; }
.user-profile nav { background: #08172b !important; }
.user-profile .shadow { box-shadow: none; border-bottom: 1px solid var(--pv-line); }
.user-profile .space-y-6 > .shadow { border: 0; border-radius: .85em; background: var(--pv-surface); box-shadow: var(--pv-card-shadow); }
.user-profile .navbar-brand { align-self: center; }
.user-profile .navbar-brand img { width: 8.5em; height: auto; }
.user-public .glass-card { background: var(--pv-surface); border: 0; box-shadow: var(--pv-card-shadow); backdrop-filter: none; }
.user-public .gradient-text { background: none; -webkit-text-fill-color: var(--pv-yellow); color: var(--pv-yellow); }
.user-public .neon-border { border: 1px solid #355477; box-shadow: var(--pv-card-shadow); }
.user-public .card-hover:hover { box-shadow: var(--pv-card-shadow); }
.user-public .pulse-glow { animation: none; }
.user-public .bg-purple-500 { background: var(--pv-blue); }
.user-public [class*="from-purple-"] { background: #203a49; }
.user-public .user-public-logo { width: 11em; max-width: 65%; height: auto; margin: 0 auto 1.5em; }
.user-plans .bg-white { border-radius: .85em; border: 0; box-shadow: var(--pv-card-shadow); }
.user-plans .text-gray-900 { color: var(--pv-white); }
@media(max-width:700px) {
    .user-app .ua h1, .user-app .user-page-heading h1, .user-app .user-api-settings h1 { font-size: 1.8em; }
    .user-app .user-history-card .text-4xl { font-size: 1.75em; }
    .user-auth .user-auth-card { padding: 1.5em; margin-left: 1em; margin-right: 1em; width: calc(100% - 2em); }
    .user-footer { padding: 1em 1.5em; }
}
@media(prefers-reduced-motion:reduce) {
    .user-app *, .user-app *::before, .user-app *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .user-auth .video-background { display: none; }
}

.user-auth-brand{display:flex;justify-content:center;margin:0 auto 1.7em}
.user-public .blur-3xl{overflow:hidden}

.user-api-settings .flex-1{min-width:0}
.user-api-settings code{overflow-wrap:anywhere}

.user-auth form > .flex.items-center.justify-end{flex-wrap:wrap;gap:.75em}
.user-auth form > .flex.items-center.justify-end .user-button-primary{margin-inline-start:0;font-size:.875em;justify-content:center}
@media(max-width:480px){
    .user-auth form > .flex.items-center.justify-end{flex-direction:column;align-items:stretch}
    .user-auth form > .flex.items-center.justify-end > a{text-align:center}
    .user-auth form > .flex.items-center.justify-end .user-button-primary{width:100%}
}

/* The profile still loads Bootstrap utilities; keep action colors consistent. */
.user-profile header.shadow{background:var(--pv-surface)}
.user-profile .bg-white{background:var(--pv-surface)!important}
.user-profile nav button{border-color:#28415f!important}
body.user-profile .user-button-primary{background:var(--pv-yellow)!important;color:var(--pv-night)!important;border-color:transparent!important;font-size:.875em}
body.user-profile .user-button-primary:hover{background:#ffe43e!important}
body.user-profile .user-button-secondary{background:transparent!important;color:var(--pv-copy)!important;border-color:#28415f!important;font-size:.875em}
body.user-profile .user-button-secondary:hover{background:var(--pv-blue)!important}
body.user-profile .user-button-danger{background:#392838!important;color:var(--pv-red)!important;border-color:#734653!important;font-size:.875em}
body.user-profile .user-button-danger:hover{background:#4a2b3d!important}
.user-public .glass-card .w-14.h-14 svg{color:inherit}
.user-public .glass-card .w-14.h-14[class*="from-green-"]{background:#163c47;color:var(--pv-green)}
.user-public .glass-card .w-14.h-14[class*="from-yellow-"]{background:#363d35;color:var(--pv-yellow)}
.user-public .glass-card .w-14.h-14[class*="from-orange-"]{background:#3e3031;color:#e5ba8b}

/* Base styling for secondary card surfaces. */
.user-app :is(.ua-filters,.ua-simulation-guide,.ua-technical-details,.ua-unavailable),
.user-api-settings div.bg-gray-900,
.user-public .rounded-xl.p-5.border-gray-700,
.user-app .user-symbol-card {
    border: 0;
    box-shadow: var(--pv-card-shadow);
}

/* Cards inside another card use a quiet frame instead of additional elevation. */
.user-app :is(.ua-panel,.user-trades-panel,.glass-card) :is(.ua-card,.ua-panel:not(.ua-projection),.ua-filters,.ua-simulation-guide,.ua-technical-details,.ua-unavailable,.user-history-card,.user-symbol-card),
.user-app .user-api-settings .bg-gray-800 div.bg-gray-900,
.user-public .glass-card .rounded-xl.p-5.border-gray-700,
.user-auth .user-auth-card > .bg-white {
    border: 1px solid var(--pv-line);
    box-shadow: none;
}

/* Soft video and a slowly pulsing halo on the sign-in screen. */
body.user-auth-login{isolation:isolate;overflow-x:clip}
.user-auth-login .video-background{
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.05);
    filter:blur(.65em);
    opacity:.18;
    pointer-events:none;
    z-index:0;
}
.user-auth-login::before {
content: "";
position: absolute;
top: 20%;
left: inherit;
right: 50%;
transform: translateX(50%);
width: 50vw;
height: 30vw;
background: var(--pv-yellow);
border-radius: 100%;
filter: blur(20vw);
mix-blend-mode: screen;
opacity: 0;
animation: light 5s 2s infinite;
    pointer-events: none;
}

@keyframes light {
    0%, 100% {
        opacity: 0;
    }
    50% {
        opacity: .3;
    }
}

.user-auth-login .user-auth-content{position:relative;z-index:2;width:100%}
@keyframes user-login-glow{0%,100%{opacity:0}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){
    .user-auth-login::before{animation:none;opacity:.2}
}
