@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');

:root { --ink:#172447; --muted:#69758f; --navy:#101d42; --indigo:#4055d9; --indigo-deep:#293ba9; --sky:#75d8ff; --canvas:#f5f7fc; --card:#fff; --line:#e7eaf3; --soft-indigo:#eef0ff; }
* { box-sizing:border-box; }
body { color:var(--ink); font-family:'DM Sans',system-ui,sans-serif; }
h1,h2,h3,.navbar-brand { font-family:'Space Grotesk','DM Sans',sans-serif; }
.app-body { min-height:100vh; background:radial-gradient(circle at 85% -15%,#dce3ff 0,transparent 25rem),var(--canvas); }
.app-navbar { min-height:74px; background:rgba(16,29,66,.97); box-shadow:0 1px 0 rgba(255,255,255,.08); backdrop-filter:blur(16px); }
.navbar-brand { letter-spacing:-.55px; font-size:1.22rem; }.navbar-brand em,.auth-brand em { color:#81dbff; font-style:normal; }.brand-orbit { width:32px; height:32px; display:inline-grid; place-items:center; border-radius:10px; color:#11204b; background:linear-gradient(135deg,#75d8ff,#9ee3f8); box-shadow:0 5px 18px rgba(91,203,255,.25); }.brand-orbit i { font-size:1rem; }
.app-navbar .nav-link { color:#aeb9d5; padding:.55rem .8rem!important; font-weight:600; border-radius:8px; }.app-navbar .nav-link:hover,.app-navbar .nav-link.active { color:#fff; background:rgba(255,255,255,.1); }.account-label { color:#c7d0e8; font-size:.83rem; }.btn-nav-logout { border:1px solid rgba(255,255,255,.23); color:#e7ecf8; }.btn-nav-logout:hover { color:#fff; background:rgba(255,255,255,.12); }
.app-main { padding:46px 0 70px; }.toast-stack { max-width:760px; margin:0 auto 1.5rem; }.section-kicker { display:inline-block; color:var(--indigo); font-size:.69rem; font-weight:800; letter-spacing:.1em; }.page-title-row,.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; }.page-title-row { margin-bottom:2rem; }.page-title-row h1 { margin:.25rem 0 .35rem; font-weight:700; letter-spacing:-1.2px; font-size:clamp(1.9rem,4vw,2.45rem); }.page-title-row p { color:var(--muted); margin:0; }.status-pill { display:inline-flex; align-items:center; gap:.42rem; white-space:nowrap; border-radius:999px; padding:.48rem .76rem; text-decoration:none; font-size:.78rem; font-weight:700; }.status-ready { color:#08795a; background:#dcf8ee; }.status-pending { color:#a45d08; background:#fff1d9; }.status-hero-ready { background:rgba(121,232,194,.17); border:1px solid rgba(121,232,194,.3); color:#a3f4d3; }.status-hero-pending { background:rgba(255,211,128,.16); border:1px solid rgba(255,211,128,.26); color:#ffe0a4; }
.app-card { border:1px solid var(--line); border-radius:18px; background:var(--card); box-shadow:0 12px 35px rgba(23,36,71,.055); overflow:hidden; }.app-card h2 { font-size:1.06rem; font-weight:700; margin:0 0 .2rem; }.form-label { color:#36415b; font-size:.88rem; }.form-control,.input-group-text { border-color:#dfe4f0; }.form-control { color:var(--ink); }.form-control:focus { border-color:#7484eb; box-shadow:0 0 0 .25rem rgba(64,85,217,.12); }.form-control-lg { min-height:50px; font-size:1rem; }.input-group-text { color:#53627e; background:#f8f9fd; font-weight:700; }.btn-primary { --bs-btn-bg:var(--indigo); --bs-btn-border-color:var(--indigo); --bs-btn-hover-bg:var(--indigo-deep); --bs-btn-hover-border-color:var(--indigo-deep); --bs-btn-active-bg:var(--indigo-deep); --bs-btn-active-border-color:var(--indigo-deep); font-weight:700; }.btn { border-radius:9px; }.form-text { color:var(--muted); }
.settings-card .card-body { min-height:430px; }.card-section-head { display:flex; gap:1rem; align-items:center; margin-bottom:2rem; }.card-section-head p { color:var(--muted); margin:0; }.section-icon { width:45px; height:45px; display:grid; place-items:center; color:var(--indigo); background:var(--soft-indigo); border-radius:13px; font-size:1.2rem; }.security-card { background:linear-gradient(155deg,#192a61,#243a7d); color:#eaf0ff; border:0; }.security-card h2 { color:#fff; margin-top:1rem; }.security-card p { color:#c1cceb; font-size:.9rem; line-height:1.65; }.security-card hr { border-color:rgba(255,255,255,.14); }.security-card strong { display:block; color:#fff; font-size:.88rem; }.security-card span { display:block; color:#c1cceb; font-size:.79rem; margin-top:.16rem; }.security-icon { display:grid; place-items:center; width:45px; height:45px; border-radius:13px; color:#a2e8ff; background:rgba(128,220,255,.15); font-size:1.25rem; }
.market-hero { position:relative; min-height:262px; overflow:hidden; display:flex; align-items:center; padding:38px 42px; margin-bottom:24px; border-radius:22px; color:#fff; background:radial-gradient(circle at 72% 45%,rgba(83,116,255,.75) 0,transparent 18rem),linear-gradient(125deg,#101b42,#253a82); box-shadow:0 16px 35px rgba(28,44,105,.18); }.market-hero:after { content:""; position:absolute; width:370px; height:370px; right:-175px; top:-210px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.03),0 0 0 84px rgba(255,255,255,.02); }.market-hero-copy { position:relative; z-index:1; }.market-hero h1 { margin:.45rem 0 .7rem; max-width:600px; font-size:clamp(2rem,5vw,3.05rem); line-height:1.05; letter-spacing:-1.8px; }.market-hero h1 span { color:#82dcff; }.market-hero p { max-width:570px; color:#c6d1f2; margin:0; line-height:1.55; }.hero-status { position:absolute; right:28px; top:25px; z-index:2; }.hero-orb { position:absolute; right:17%; bottom:37px; z-index:1; width:115px; height:115px; place-content:center; text-align:center; color:#96e8ff; border:1px solid rgba(141,225,255,.42); border-radius:50%; background:rgba(7,19,58,.17); box-shadow:0 0 0 15px rgba(124,218,255,.05),0 0 40px rgba(111,221,255,.25); }.hero-orb i { display:block; font-size:2.2rem; }.hero-orb span { font-size:.65rem; font-weight:800; letter-spacing:.15em; }
.search-card { margin-bottom:38px; }.search-card-head { display:flex; align-items:start; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }.search-card h2 { font-size:1.25rem; margin-top:.25rem; }.search-hint,.search-footnote { color:var(--muted); font-size:.79rem; }.search-hint { padding:.48rem .65rem; background:#f7f8fd; border-radius:7px; }.search-footnote code { color:#4b5ac5; font-size:.77rem; }.section-heading { margin-bottom:16px; }.section-heading h2 { font-size:1.35rem; letter-spacing:-.5px; margin:.18rem 0 0; }.result-count { color:var(--muted); font-size:.85rem; }.result-count strong { color:var(--indigo); font-size:1.1rem; }.offers-table th,.history-table th { padding:14px 22px; color:#74809a; background:#fafbfe; border-bottom:1px solid var(--line); font-size:.69rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }.offers-table td { padding:18px 22px; border-color:#edf0f6; }.offers-table tbody tr { transition:background .15s ease; }.offers-table tbody tr:hover { background:#fafbff; }.gpu-cell { display:flex; align-items:center; min-width:210px; gap:11px; }.gpu-icon { flex:0 0 auto; width:38px; height:38px; display:grid; place-items:center; border-radius:10px; background:var(--soft-indigo); color:var(--indigo); }.gpu-cell strong { display:block; color:#273552; font-size:.9rem; }.gpu-cell span:not(.gpu-icon) { display:block; color:#8994aa; font-size:.76rem; margin-top:2px; }.resource-line { white-space:nowrap; color:#44516c; font-size:.78rem; line-height:1.8; }.resource-line i { display:inline-block; width:17px; color:#7887aa; }.location-label { white-space:nowrap; color:#56647e; font-size:.8rem; }.location-label i { color:#7789d8; margin-right:5px; }.reliability { display:inline-flex; align-items:center; gap:6px; color:#366c5e; font-size:.82rem; font-weight:700; }.reliability-dot { width:7px; height:7px; border-radius:50%; background:#33c894; box-shadow:0 0 0 3px #ddf8ee; }.offer-price { min-width:104px; }.offer-price strong { display:inline; color:#09805d; font-size:1.05rem; }.offer-price > span { display:block; color:#66738d; font-size:.69rem; }.offer-price small { display:block; color:#8994aa; font-size:.68rem; margin-top:3px; }.deploy-trigger { font-size:.79rem; font-weight:700; white-space:nowrap; }.empty-results { padding:55px 24px; border:1px dashed #cbd3e6; border-radius:17px; text-align:center; background:#fbfcff; }.empty-results > span { display:inline-grid; width:54px; height:54px; place-items:center; color:#5769d4; background:#edf0ff; border-radius:50%; font-size:1.35rem; }.empty-results h3 { margin:15px 0 5px; font-size:1.12rem; }.empty-results p { margin:0; color:var(--muted); }.history-section { margin-top:44px; }.history-note { color:var(--muted); font-size:.8rem; }.history-table td { padding:15px 22px; border-color:#edf0f6; font-size:.84rem; }.instance-id { color:#405174; font-weight:700; }.instance-id i { color:#7283dd; }.deploy-summary { display:flex; align-items:center; gap:12px; padding:14px; margin-bottom:18px; border-radius:12px; background:#f7f8fd; }.deploy-summary strong { display:block; color:#273552; }.deploy-summary span:not(.gpu-icon) { display:block; color:#087a5a; font-weight:700; font-size:.86rem; }.modal-content { border-radius:17px; }.modal-title { font-family:'Space Grotesk',sans-serif; font-weight:700; }
.auth-body { min-height:100vh; background:#f8f9fe; }.auth-main,.auth-main > .container-xxl { min-height:100vh; padding:0!important; max-width:none; }.auth-layout { display:grid; min-height:100vh; grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr); }.auth-intro { position:relative; overflow:hidden; flex-direction:column; min-height:100%; padding:50px clamp(42px,8vw,130px); color:#fff; background:radial-gradient(circle at 60% 30%,rgba(80,111,247,.62) 0,transparent 20rem),linear-gradient(135deg,#111d43 0%,#202f73 100%); }.auth-intro:after,.auth-intro:before { content:""; position:absolute; border:1px solid rgba(153,219,255,.17); border-radius:50%; }.auth-intro:after { width:560px; height:560px; bottom:-350px; right:-70px; box-shadow:0 0 0 48px rgba(153,219,255,.035),0 0 0 96px rgba(153,219,255,.02); }.auth-intro:before { width:210px; height:210px; top:80px; right:17%; }.auth-brand,.auth-mobile-brand { position:relative; z-index:1; display:flex; align-items:center; gap:9px; color:#fff; text-decoration:none; font-family:'Space Grotesk',sans-serif; font-size:1.25rem; font-weight:700; }.auth-copy { position:relative; z-index:1; margin:auto 0; }.auth-copy h1 { margin:16px 0; font-size:clamp(2.5rem,5vw,4.25rem); letter-spacing:-2.6px; line-height:1.01; }.auth-copy h1 span { color:#82dcff; }.auth-copy p { max-width:480px; color:#c8d4f7; font-size:1.04rem; line-height:1.65; }.auth-feature { position:relative; z-index:1; display:flex; gap:11px; max-width:420px; color:#b9c7ea; font-size:.82rem; line-height:1.5; }.auth-feature i { color:#8ae4ff; font-size:1rem; }.auth-panel { display:flex; flex-direction:column; justify-content:center; padding:40px clamp(30px,7vw,120px); background:rgba(255,255,255,.96); }.auth-form-wrap { max-width:410px; width:100%; margin:auto; }.auth-form-wrap h2 { margin:.35rem 0 .4rem; color:#1d2a49; font-size:2rem; letter-spacing:-.9px; }.auth-footer { margin:40px auto 0; color:#8791a8; font-size:.75rem; }.auth-mobile-brand { color:var(--navy); margin-bottom:auto; }.auth-mobile-brand em { color:var(--indigo); }
@media (max-width:991.98px) { .app-main { padding:30px 0 55px; }.account-label { display:none; }.page-title-row { align-items:flex-start; }.auth-layout { display:block; }.auth-panel { min-height:100vh; }.auth-mobile-brand { margin-bottom:80px; }.auth-footer { margin-top:55px; }.market-hero { padding:34px; }.hero-status { position:static; margin-top:20px; }.hero-orb { right:12%; } }
@media (max-width:575.98px) { .app-navbar { min-height:64px; }.navbar-brand { font-size:1.08rem; }.brand-orbit { width:29px; height:29px; }.app-main { padding-top:24px; }.page-title-row,.section-heading { align-items:flex-start; flex-direction:column; }.page-title-row h1 { font-size:1.75rem; }.market-hero { min-height:unset; padding:30px 24px; border-radius:17px; }.market-hero h1 { font-size:2.1rem; }.market-hero p { font-size:.9rem; }.search-card .card-body { padding:22px!important; }.search-card-head { margin-bottom:1rem; }.offers-table th,.offers-table td,.history-table th,.history-table td { padding-left:15px; padding-right:15px; }.auth-panel { padding:28px 24px; }.auth-mobile-brand { margin-bottom:65px; }.auth-form-wrap h2 { font-size:1.72rem; }.security-card { margin-bottom:15px; } }
