/* frontend/css/style.css - minimal modern UI */
:root{
  --bg:#071028; --card:#0f1724; --accent:#4e6ef2; --muted:#94a3b8; --text:#e6eef8;
}
*{box-sizing:border-box}
html,body,#app{height:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;background:linear-gradient(180deg,#071028 0%, #071733 100%);color:var(--text)}
.container{max-width:1024px;margin:0 auto;padding:18px}
.shell{display:flex;flex-direction:column;min-height:100vh}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px;background:rgba(255,255,255,0.03)}
.card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:18px;border-radius:12px;box-shadow:0 6px 24px rgba(5,12,24,0.6);margin:12px 0}
button{background:var(--accent);color:#fff;padding:8px 12px;border-radius:8px;border:none;cursor:pointer}
.view{opacity:0;transform:translateY(8px);transition:opacity .35s ease, transform .35s ease}
.view.active{opacity:1;transform:none}
.loading-overlay{position:fixed;inset:0;background:rgba(2,6,23,0.6);display:flex;align-items:center;justify-content:center;z-index:999}
.spinner{width:56px;height:56px;border-radius:50%;border:6px solid rgba(255,255,255,0.06);border-top-color:var(--accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.progress{width:220px;height:8px;background:rgba(255,255,255,0.03);border-radius:999px;overflow:hidden;margin-top:12px}
.progress > span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--accent),#7acbff);transition:width .2s linear}
input,select{padding:10px;border-radius:8px;border:1px solid rgba(255,255,255,0.03);background:transparent;color:var(--text);width:100%;margin-top:8px}
