/* Time-Series Forecast Mini - Dark theme */
:root{
  --bg:#0b0f14;
  --panel:#10161f;
  --soft:#141c26;
  --text:#e6edf3;
  --muted:#9fb0c3;
  --accent:#4ea1ff;
  --accent-2:#5bc0ff;
  --danger:#ff6b6b;
  --warn:#eab308;
  --radius:12px;
  --gap:16px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font:14px/1.5 -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif;background:linear-gradient(180deg,#0b0f14,#0b0f14 60%,#0e131a);color:var(--text)}

.app-header{display:flex;justify-content:space-between;align-items:center;padding:20px;gap:12px;border-bottom:1px solid #0f1722;background:rgba(16,22,31,.6);backdrop-filter:saturate(1.2) blur(6px);position:sticky;top:0;z-index:10}
.brand{display:flex;gap:12px;align-items:center}
.logo{display:block}
.titles h1{margin:0;font-size:18px}
.subtitle{margin:0;color:var(--muted);font-size:12px}
.top-actions{display:flex;gap:8px;align-items:center}

.container{max-width:1100px;margin:24px auto;padding:0 16px;display:flex;flex-direction:column;gap:20px}
.card{background:var(--panel);border:1px solid #0f1722;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.card h2{margin-top:0}

.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap)}
.col-12{grid-column:span 12}
.col-6{grid-column:span 6}
.col-4{grid-column:span 4}
.col-sm-12{ }
@media (max-width: 800px){
  .col-6,.col-4{grid-column:span 12}
}

.field label{display:block;margin-bottom:6px;color:#c9d8e6}
.field input[type="text"],
.field input[type="number"],
.field input[type="file"],
.field select{
  width:100%;padding:10px 12px;border-radius:10px;border:1px solid #1a2533;background:#0f1520;color:var(--text);outline:none
}
.field input[type="file"]{padding:8px}
.field small{color:var(--muted)}

.switch-group{display:flex;gap:24px;align-items:center}
.switch{display:flex;align-items:center;gap:8px}

.btn{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border-radius:10px;border:1px solid #1a2533;color:var(--text);background:linear-gradient(180deg,#142033,#0f1826);text-decoration:none;cursor:pointer}
.btn:hover{border-color:#223143;filter:brightness(1.05)}
.btn.primary{background:linear-gradient(180deg,#2d69d1,#2056b1);border-color:#2a5fbf}
.btn.ghost{background:#0e1622}
.btn.small{padding:6px 10px;font-size:13px}

.alert{border-radius:10px;padding:12px 14px;margin-top:12px}
.alert.error{background:#2a1212;border:1px solid #3a1616;color:#ffd2d2}
.alert.warn{background:#2a250f;border:1px solid #3a3410;color:#ffe9ad}
.muted{color:var(--muted)}

.kv{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 16px}
.kv li{display:flex;justify-content:space-between;background:var(--soft);padding:8px 10px;border-radius:8px;border:1px solid #0f1722}
.kv li span{color:#c1d0e0}
.kv code{color:#eef6ff}

.table-wrap{margin-top:14px;border:1px solid #0f1722;border-radius:10px;overflow:hidden}
.table-head{display:flex;justify-content:space-between;align-items:center;background:#0f1722;padding:10px 12px}
table{width:100%;border-collapse:collapse;background:#0f1420}
th,td{padding:10px;border-bottom:1px solid #0f1722;text-align:left}
th{background:#0f1a2a;color:#a9c4e3}

.ai-note{margin-top:14px;background:linear-gradient(180deg,#0f1826,#0e1522);border:1px solid #142033;border-radius:10px;padding:12px}
.ai-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}

.history{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.history li{display:flex;justify-content:space-between;align-items:center;background:var(--soft);border:1px solid #0f1722;padding:10px;border-radius:10px}
.history .meta span{color:var(--muted);font-size:12px}

.footer{padding:10px;text-align:center}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(10px);background:#0f1a2a;color:#cfe6ff;padding:10px 14px;border:1px solid #193051;border-radius:10px;opacity:0;transition:.2s ease;box-shadow:var(--shadow);z-index:999}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
