/* ═══════════════════════════════════════════════════════════════
   KUMSAN Şile – Production Optimization  |  MEF Kurumsal Kimlik
   Lacivert #012169 (Pantone 280C)  ·  Kırmızı #EF3340 (Pantone RED 032C)
   ═══════════════════════════════════════════════════════════════ */
:root{
  --bg:         #F2F4F8;
  --bg2:        #E8EBF2;
  --card:       #FFFFFF;
  --card2:      #F7F8FC;
  --sidebar:    #012169;   /* MEF Lacivert – Pantone 280C */
  --sb-hover:   #0a2d7a;
  --sb-active:  #001a5e;
  --sb-icon:    rgba(255,255,255,0.45);
  --sb-icon-a:  #FFFFFF;
  --accent:     #012169;   /* MEF Lacivert – primary */
  --accent2:    #EF3340;   /* MEF Kırmızı – Pantone RED 032C */
  --accent-bg:  #012169;
  --red:        #EF3340;   /* MEF Kırmızı */
  --green:      #2D7A52;
  --text:       #1A1A1A;
  --text2:      #666;
  --text3:      #AAA;
  --border:     rgba(0,0,0,0.07);
  --border2:    rgba(0,0,0,0.04);
  --shadow:     0 1px 12px rgba(0,0,0,0.06);
  --shadow-md:  0 4px 24px rgba(0,0,0,0.09);
  --r:          14px;
  --r-sm:       10px;
  --r-lg:       20px;
  --sb-w:       72px;
  --nb-h:       0px;
  --transition: .2s cubic-bezier(.4,0,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:13.5px;background:var(--bg);color:var(--text);line-height:1.5}
[x-cloak]{display:none!important}
button{font-family:inherit;cursor:pointer;border:none;outline:none}
input,select,textarea{font-family:inherit;outline:none}
code{font-family:'SF Mono','Fira Code',monospace;font-size:11.5px}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.12);border-radius:3px}

/* ── Loading ─────────────────────────────────────────────────── */
.loading-screen{position:fixed;inset:0;z-index:9999;background:#012169;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:0;transition:opacity .6s,visibility .6s}
.loading-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}
.ls-logo{height:56px;width:auto;object-fit:contain;margin-bottom:14px}
.ls-sub-logo{margin-bottom:32px;opacity:.65}
.ls-sub-img{height:22px;width:auto;object-fit:contain;filter:brightness(0) invert(1)}
.ls-bar-wrap{width:240px;height:2px;background:rgba(255,255,255,.12);border-radius:1px;overflow:hidden;margin-bottom:14px}
.ls-bar{height:100%;background:var(--accent2);border-radius:1px;width:0;transition:width .25s}
.ls-status{font-size:11px;font-weight:300;color:rgba(255,255,255,.4);letter-spacing:.5px;text-transform:uppercase}

/* ── Terminal overlay ─────────────────────────────────────────── */
.terminal-panel{position:fixed;right:0;top:0;bottom:0;width:420px;z-index:800;background:#111;transform:translateX(100%);transition:transform var(--transition);display:flex;flex-direction:column;box-shadow:-8px 0 40px rgba(0,0,0,.3)}
.terminal-panel.open{transform:none}
.term-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.06)}
.term-title{font-size:12px;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.term-dot{width:8px;height:8px;border-radius:50%;background:var(--accent2);animation:blink 1s step-end infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.term-dot.idle{background:#444;animation:none}
.term-close{background:none;border:none;color:rgba(255,255,255,.3);cursor:pointer;font-size:18px;transition:color var(--transition)}
.term-close:hover{color:#fff}
.term-body{flex:1;overflow-y:auto;padding:16px 18px;font-family:'SF Mono','Fira Code',monospace;font-size:12px;line-height:1.7}
.term-line{color:rgba(255,255,255,.55);margin-bottom:2px;animation:term-in .18s ease}
@keyframes term-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.term-line.ok{color:#48D18C}
.term-line.err{color:#F87171}
.term-line.head{color:var(--accent2);font-weight:600}
.term-line.info{color:#60A5FA}
.term-line.warn{color:#FCD34D}
.term-footer{padding:12px 18px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:8px}
.term-input{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:6px 10px;color:rgba(255,255,255,.6);font-family:'SF Mono',monospace;font-size:12px}
.term-run-btn{background:var(--accent2);color:#111;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:700;transition:background var(--transition)}
.term-run-btn:hover{background:#F0C040}
.term-toggle{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:801;background:var(--sidebar);color:#fff;border:none;padding:12px 8px;border-radius:10px 0 0 10px;cursor:pointer;font-size:13px;writing-mode:vertical-rl;letter-spacing:1px;transition:background var(--transition)}
.term-toggle:hover{background:#222}
.term-toggle.active{background:var(--accent)}

/* ── Layout ──────────────────────────────────────────────────── */
.app-layout{display:flex;min-height:100vh}

/* ── Sidebar ─────────────────────────────────────────────────── */
.sidebar{width:var(--sb-w);background:var(--sidebar);display:flex;flex-direction:column;align-items:center;padding:20px 0;position:fixed;top:0;bottom:0;left:0;z-index:100}
.sb-logo{width:44px;height:auto;object-fit:contain;margin-bottom:28px;opacity:.9}
.sb-nav{flex:1;display:flex;flex-direction:column;gap:4px;width:100%;padding:0 10px}
.sb-btn{width:100%;display:flex;align-items:center;justify-content:center;height:44px;border-radius:10px;background:none;border:none;color:var(--sb-icon);cursor:pointer;transition:all var(--transition);position:relative}
.sb-btn:hover{background:var(--sb-hover);color:#ccc}
.sb-btn.active{background:var(--sb-active);color:var(--sb-icon-a)}
.sb-btn.active::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background:var(--accent2);border-radius:0 2px 2px 0}
.sb-btn .fas{font-size:17px}
.sb-tooltip{position:absolute;left:calc(100% + 10px);background:#222;color:#fff;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition)}
.sb-btn:hover .sb-tooltip{opacity:1}
.sb-divider{width:28px;height:1px;background:rgba(255,255,255,.08);margin:8px auto}
.sb-bottom{padding:0 10px 8px;display:flex;flex-direction:column;gap:4px;width:100%}

/* ── Main content ────────────────────────────────────────────── */
.main{margin-left:var(--sb-w);flex:1;padding:28px;transition:padding-right var(--transition)}
.main.term-open{padding-right:444px}
section{display:none}
section.active{display:block}

/* ── Top bar ─────────────────────────────────────────────────── */
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.topbar-left h1{font-size:22px;font-weight:700;color:var(--text);margin-bottom:2px}
.topbar-logo{height:40px;width:auto;object-fit:contain;display:block;margin-bottom:5px}
.topbar-left p{font-size:12.5px;font-weight:300;color:var(--text2)}
.topbar-left p{font-size:13px;color:var(--text2)}
.topbar-right{display:flex;align-items:center;gap:12px}
.tb-search{display:flex;align-items:center;gap:10px;background:var(--card);border-radius:24px;padding:8px 16px;box-shadow:var(--shadow);width:220px}
.tb-search input{border:none;background:none;font-size:13px;color:var(--text);width:100%}
.tb-search input::placeholder{color:var(--text3)}
.tb-search-btn{width:32px;height:32px;background:var(--text);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;cursor:pointer}
.tb-icon-btn{width:38px;height:38px;background:var(--card);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);color:var(--text2);cursor:pointer;transition:background var(--transition);position:relative}
.tb-icon-btn:hover{background:var(--bg2)}
.tb-badge{position:absolute;top:-2px;right:-2px;width:12px;height:12px;background:#E05252;border-radius:50%;border:2px solid var(--bg)}
.tb-lang{background:var(--card);border:none;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700;color:var(--text2);box-shadow:var(--shadow);cursor:pointer;transition:all var(--transition)}
.tb-lang:hover{background:var(--bg2)}
.profile-pic{width:38px;height:38px;border-radius:50%;background:var(--accent2);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;flex-shrink:0;cursor:pointer}
/* ── Language Switcher ───────────────────────────────────────── */
.lang-sw-btn{display:flex;align-items:center;gap:6px;background:var(--card);border-radius:999px;padding:7px 14px 7px 10px;box-shadow:var(--shadow);cursor:pointer;transition:all var(--transition);border:1.5px solid var(--border);flex-shrink:0;height:36px}
.lang-sw-btn:hover{background:var(--bg2);border-color:rgba(1,33,105,.25);box-shadow:var(--shadow-md)}
.lang-flag{font-size:18px;line-height:1;display:flex;align-items:center}
.lang-flag{font-size:16px;line-height:1}
.lang-code{font-size:11px;font-weight:600;color:var(--text);letter-spacing:.5px}
/* ── Notification Dropdown ───────────────────────────────────── */
.notif-wrap{cursor:pointer}
.notif-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:300px;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow-md);border:1px solid var(--border);z-index:500;overflow:hidden}
.notif-hdr{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600;color:var(--text)}
.notif-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border2);transition:background var(--transition)}
.notif-item:last-child{border-bottom:none}
.notif-item:hover{background:var(--bg)}
.notif-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.notif-ok{background:#EEF2FF;color:var(--accent)}
.notif-info{background:rgba(239,51,64,.08);color:var(--accent2)}
.notif-warn{background:#FFFBEB;color:#B45309}
.notif-body{flex:1;min-width:0}
.notif-title{font-size:12.5px;font-weight:600;color:var(--text);margin-bottom:2px}
.notif-sub{font-size:11.5px;font-weight:300;color:var(--text2)}

/* ── KPI row ─────────────────────────────────────────────────── */
.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}
.kpi-card{background:var(--card);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.kpi-card.kpi-featured{background:var(--accent);color:#fff}
.kpi-card-label{font-size:11.5px;color:var(--text2);font-weight:500;margin-bottom:8px}
.kpi-card.kpi-featured .kpi-card-label{color:rgba(255,255,255,.7)}
.kpi-card-value{font-size:22px;font-weight:800;color:var(--text);line-height:1;margin-bottom:6px}
.kpi-card.kpi-featured .kpi-card-value{color:#fff}
.kpi-card-sub{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text2)}
.kpi-card.kpi-featured .kpi-card-sub{color:rgba(255,255,255,.65)}
.kpi-mini-chart{position:absolute;right:16px;bottom:14px;opacity:.5}
.kpi-delta{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:20px;font-size:11px;font-weight:700}
.delta-pos{background:#EEF2FF;color:#012169}
.delta-neg{background:#FEF0F0;color:#EF3340}
.delta-neutral{background:#F5F5F5;color:#888}

/* ── Dashboard grid ──────────────────────────────────────────── */
.dash-grid{display:grid;grid-template-columns:1fr 1fr 280px;gap:16px;margin-bottom:16px}
.dash-grid-2{display:grid;grid-template-columns:300px 1fr 1fr;gap:16px;margin-bottom:16px}

/* ── Cards ───────────────────────────────────────────────────── */
.card{background:var(--card);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-title{font-size:14px;font-weight:700;color:var(--text)}
.card-sub{font-size:11.5px;color:var(--text2)}
.card-action{font-size:11.5px;color:var(--text2);cursor:pointer;display:flex;align-items:center;gap:4px;background:var(--bg);border:none;border-radius:6px;padding:4px 10px;transition:background var(--transition)}
.card-action:hover{background:var(--bg2)}

/* ── Buttons ─────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);border:none}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-dark{background:var(--text);color:#fff}
.btn-dark:hover:not(:disabled){background:#333}
.btn-green{background:var(--accent);color:#fff}
.btn-green:hover:not(:disabled){background:#001a5e}
.btn-gold{background:var(--accent2);color:#fff}
.btn-gold:hover:not(:disabled){background:#c0202d}
.btn-ghost{background:var(--bg2);color:var(--text2);border:1px solid var(--border)}
.btn-ghost:hover:not(:disabled){background:var(--bg)}
.btn-outline{background:transparent;color:var(--text2);border:1px solid var(--border)}
.btn-outline:hover:not(:disabled){background:var(--bg)}
.btn-sm{padding:6px 12px;font-size:12px;border-radius:7px}
.btn-xs{padding:4px 9px;font-size:11.5px;border-radius:6px}

/* ── K3 balance card ─────────────────────────────────────────── */
.balance-tag{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--accent);background:#EEF2FF;border-radius:20px;padding:3px 10px;margin-bottom:14px}
.balance-tag .fas{font-size:10px}
.balance-numbers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.bal-item-label{font-size:10.5px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.bal-item-value{font-size:18px;font-weight:800;color:var(--text)}
.bal-delta{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:20px}

/* ── K3 toggle inline ────────────────────────────────────────── */
.k3-toggle-row{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-radius:10px;padding:10px 14px;margin-bottom:10px}
.k3-toggle-label{font-size:12.5px;font-weight:600;color:var(--text)}
.toggle-sw{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}
.toggle-sw input{opacity:0;width:0;height:0}
.sw-track{position:absolute;inset:0;cursor:pointer;background:#DDD;border-radius:11px;transition:background .25s}
.sw-track::before{content:'';position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .25s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle-sw input:checked+.sw-track{background:var(--accent)}
.toggle-sw input:checked+.sw-track::before{transform:translateX(18px)}
.k3-status-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px}
.k3-on{background:#EEF2FF;color:var(--accent)}
.k3-off{background:#FFF3F3;color:#c0202d}

/* ── Earnings/forecast card ──────────────────────────────────── */
.earn-amount{font-size:28px;font-weight:800;color:var(--text);margin-bottom:4px}
.earn-sub{font-size:12px;color:var(--text2);margin-bottom:14px}
.earn-progress{position:relative;height:8px;background:var(--bg2);border-radius:4px;overflow:hidden;margin-bottom:8px}
.earn-bar{height:100%;background:var(--accent);border-radius:4px;transition:width .8s ease}
.earn-pct{font-size:24px;font-weight:800;color:var(--text);text-align:center;margin-top:8px}

/* ── Profile / System info card ──────────────────────────────── */
.profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;overflow:hidden;border:2px solid var(--border)}
.profile-avatar img{width:100%;height:100%;object-fit:contain;padding:4px}
.profile-name{font-size:14px;font-weight:700;text-align:center;margin-bottom:3px}
.profile-role{font-size:11.5px;color:var(--text2);text-align:center;margin-bottom:14px}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--border);padding-top:14px}
.pstat{text-align:center}
.pstat-val{font-size:15px;font-weight:800;color:var(--text)}
.pstat-lbl{font-size:10px;color:var(--text2);margin-top:2px}
.pstat:not(:last-child){border-right:1px solid var(--border)}

/* ── Parameters card (large) ─────────────────────────────────── */
.params-panel{height:100%}
.params-sections{display:flex;flex-direction:column;gap:0}
.param-section-head{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer;user-select:none}
.param-section-head:first-child{padding-top:0}
.psh-title{font-size:12.5px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:7px}
.psh-title .fas{color:var(--accent2);font-size:12px}
.psh-chevron{color:var(--text3);font-size:11px;transition:transform var(--transition)}
.psh-chevron.open{transform:rotate(180deg)}
.param-section-body{padding:10px 0;display:none;border-bottom:1px solid var(--border2)}
.param-section-body.open{display:block}
.p-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.p-row2{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:7px}
.p-field{display:flex;flex-direction:column;gap:4px}
.p-label{font-size:10.5px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.4px}
.p-input{background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:6px 9px;font-size:12.5px;color:var(--text);width:100%;transition:border-color var(--transition)}
.p-input:focus{border-color:var(--accent2);background:#fff}
.p-table{width:100%;border-collapse:collapse;font-size:12px}
.p-table th{font-size:10.5px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;padding:5px 6px;text-align:center;border-bottom:1px solid var(--border)}
.p-table th:first-child{text-align:left}
.p-table td{padding:4px 4px;text-align:center;border-bottom:1px solid var(--border2)}
.p-table td:first-child{text-align:left;font-weight:600;color:var(--text);font-size:11.5px;white-space:nowrap}
.p-table input{width:74px;background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:3px 5px;font-size:11.5px;text-align:right;color:var(--text)}
.p-table input:focus{border-color:var(--accent2);background:#fff;outline:none}

/* ── History / Transfers ─────────────────────────────────────── */
.transfer-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border2)}
.transfer-row:last-child{border-bottom:none}
.tr-dot{width:4px;height:36px;border-radius:2px;flex-shrink:0}
.tr-dot-green{background:var(--accent)}
.tr-dot-gold{background:var(--accent2)}
.tr-dot-red{background:var(--red)}
.tr-info{flex:1}
.tr-name{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px}
.tr-time{font-size:11px;color:var(--text3)}
.tr-amount{font-size:13px;font-weight:700;padding:3px 8px;border-radius:6px}
.tr-pos{background:#E8F5EF;color:var(--accent)}
.tr-neg{background:#FEF0F0;color:var(--red)}
.tr-neutral{background:var(--bg2);color:var(--text2)}

/* ── Quality / Security card ─────────────────────────────────── */
.quality-card{text-align:center;padding:24px}
.qc-icon{width:64px;height:64px;background:var(--bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:26px;color:var(--accent)}
.qc-title{font-size:15px;font-weight:700;margin-bottom:6px}
.qc-desc{font-size:12.5px;color:var(--text2);margin-bottom:18px;line-height:1.6}
.afs-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--border2)}
.afs-row:last-child{border-bottom:none}
.afs-name{font-size:12px;font-weight:600;color:var(--text)}
.afs-range{font-size:11px;color:var(--text2)}
.afs-chip{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px}
.afs-ok{background:#E8F5EF;color:var(--accent)}
.afs-warn{background:#FEF9E7;color:#B8860B}
.afs-na{background:var(--bg2);color:var(--text3)}

/* ── Forecast section ────────────────────────────────────────── */
.fc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.fc-stat{background:var(--card);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.fc-stat-val{font-size:20px;font-weight:800;color:var(--text);margin-bottom:4px}
.fc-stat-label{font-size:11.5px;color:var(--text2)}
.fc-stat-icon{font-size:22px;color:var(--accent2);margin-bottom:8px}
.forecast-tool-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:14px;align-items:end;margin-bottom:14px}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-group label{font-size:11.5px;font-weight:600;color:var(--text2)}
.form-control{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--text);transition:all var(--transition)}
.form-control:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(45,85,70,.07)}
select.form-control option{background:#fff}
.method-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.m-tab{background:var(--bg2);border:none;border-radius:7px;padding:5px 11px;font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;transition:all var(--transition)}
.m-tab:hover{background:var(--bg)}
.m-tab.active{background:var(--accent);color:#fff}

/* ── Data table ──────────────────────────────────────────────── */
.dt{width:100%;border-collapse:collapse;font-size:12.5px}
.dt th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text2);padding:8px 10px;text-align:center;border-bottom:2px solid var(--border)}
.dt th:first-child{text-align:left}
.dt td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--border2);color:var(--text)}
.dt td:first-child{text-align:left;font-weight:600}
.dt tbody tr:hover{background:var(--bg)}
.table-scroll{overflow-x:auto;border-radius:var(--r-sm)}
.dt .total-cell{font-weight:800;color:var(--accent)}
.dt .var-x{color:#2563EB;font-size:10.5px;font-weight:700;background:#EFF6FF;padding:1px 6px;border-radius:4px}
.dt .var-y{color:var(--accent);font-size:10.5px;font-weight:700;background:#E8F5EF;padding:1px 6px;border-radius:4px}
.dt .var-s{color:#B45309;font-size:10.5px;font-weight:700;background:#FEF9E7;padding:1px 6px;border-radius:4px}
.dt .var-I{color:#7C3AED;font-size:10.5px;font-weight:700;background:#F5F3FF;padding:1px 6px;border-radius:4px}
.pill{display:inline-block;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}
.pill-green{background:#E8F5EF;color:var(--accent)}
.pill-gold{background:#FEF9E7;color:#B8860B}
.pill-blue{background:#EFF6FF;color:#2563EB}
.pill-red{background:#FEF0F0;color:var(--red)}
.row-zero{opacity:.4}
.row-best{background:#E8F5EF}

/* ── Files section ───────────────────────────────────────────── */
.files-list{display:flex;flex-direction:column;gap:8px}
.file-row{display:flex;align-items:center;gap:12px;background:var(--bg);border-radius:10px;padding:10px 14px;border:2px solid transparent;cursor:pointer;transition:all var(--transition)}
.file-row:hover{background:var(--bg2)}
.file-row.selected{border-color:var(--accent);background:#F0F9F5}
.file-icon{width:36px;height:36px;border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;color:#1D6F42;flex-shrink:0;box-shadow:var(--shadow)}
.file-info{flex:1}
.file-name{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:2px}
.file-meta{font-size:11px;color:var(--text2)}
.file-type-tag{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px}
.ft-k3{background:#E8F5EF;color:var(--accent)}
.ft-fc{background:#EFF6FF;color:#2563EB}
.ft-unk{background:var(--bg2);color:var(--text2)}
.file-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition)}
.file-row.selected .file-check{background:var(--accent);border-color:var(--accent);color:#fff}

/* ── Math model ──────────────────────────────────────────────── */
.math-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.math-card{background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.math-card h3{font-size:14px;font-weight:700;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--text)}
.math-row{display:grid;grid-template-columns:160px 1fr;gap:14px;padding:7px 0;border-bottom:1px solid var(--border2);align-items:center}
.math-row code{font-size:12px;color:var(--accent);background:var(--bg);padding:2px 6px;border-radius:4px}
.math-row span{font-size:12.5px;color:var(--text2)}
.formula-box{background:var(--bg);border-left:3px solid var(--accent2);border-radius:8px;padding:14px;font-size:13px;color:var(--text);font-family:'SF Mono',monospace}
.con-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.con-card{background:var(--bg);border-radius:var(--r-sm);padding:14px;border:1px solid var(--border)}
.con-card.con-off{opacity:.5;border-style:dashed}
.con-id{display:inline-block;background:var(--accent2);color:#fff;border-radius:5px;padding:2px 8px;font-size:11px;font-weight:700;margin-bottom:8px}
.con-card.con-off .con-id{background:#BBB}
.con-name{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:5px}
.con-formula{font-size:11px;font-family:'SF Mono',monospace;color:var(--text2);background:var(--card);padding:5px 8px;border-radius:5px;margin-bottom:5px;word-break:break-all}
.con-desc{font-size:11px;color:var(--text2)}

/* ── Credits page ────────────────────────────────────────────── */
.credits-page{text-align:center;max-width:900px;margin:0 auto}
.credits-logos{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:28px}
.cr-logo{object-fit:contain}
.cr-sep{width:1px;height:36px;background:var(--border)}
.cr-desc{font-size:13px;font-weight:300;color:var(--text2);max-width:600px;margin:0 auto 36px;line-height:1.9}
.team-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:32px}
.team-card{background:var(--card);border-radius:var(--r);padding:20px 14px;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition)}
.team-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.tc-avatar{width:64px;height:64px;border-radius:50%;background:var(--bg);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:22px;color:var(--accent);overflow:hidden;flex-shrink:0}
.tc-photo{width:100%;height:100%;object-fit:cover;border-radius:50%}
.tc-name{font-size:12.5px;font-weight:600;color:var(--text);margin-bottom:3px}
.tc-role{font-size:11px;font-weight:300;color:var(--text2)}
/* Credits logos */
.cr-mef{height:40px;filter:none}
.cr-kumsan{height:32px}
.cr-title{font-size:28px;font-weight:800;color:var(--text);margin-bottom:6px}
.cr-sub{font-size:13.5px;font-weight:300;color:var(--text2);margin-bottom:14px}
.tech-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px}
.tech-chip{background:var(--card);border:1px solid var(--border);border-radius:7px;padding:6px 14px;font-size:12.5px;color:var(--text2);box-shadow:var(--shadow)}
.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:360px;margin:0 auto}
.pi-card{background:var(--card);border-radius:var(--r-sm);padding:16px;box-shadow:var(--shadow)}
.pi-card .fas{font-size:20px;color:var(--accent2);margin-bottom:8px;display:block}
.pi-card strong{display:block;font-size:10.5px;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}
.pi-card span{font-size:13px;color:var(--text);font-weight:600}

/* ── History/compare ─────────────────────────────────────────── */
.hist-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:all var(--transition)}
.hist-row:hover{background:var(--bg);border-color:var(--border)}
.hist-row.selected{background:#EEF2FF;border-color:var(--accent)}
.hi-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.hi-green{background:var(--accent)}
.hi-gold{background:var(--accent2)}
.hi-blue{background:#2563EB}
.hist-name{font-size:12.5px;font-weight:600;color:var(--text);flex:1}
.hist-time{font-size:11px;color:var(--text3)}
.hist-del{background:none;border:none;color:var(--text3);cursor:pointer;padding:4px;border-radius:5px;transition:color var(--transition)}
.hist-del:hover{color:var(--red)}
.cmp-block{background:var(--bg);border-radius:var(--r);padding:18px;text-align:center;border:2px solid transparent}
.cmp-block.cmp-a{border-color:var(--accent)}
.cmp-block.cmp-b{border-color:var(--accent2)}
.cmp-tag-label{font-size:11px;color:var(--text2);margin-bottom:8px;font-weight:600}
.cmp-big{font-size:22px;font-weight:800;color:var(--text);margin-bottom:6px}
.cmp-small{font-size:12px;color:var(--text2)}
.cmp-delta-val{font-size:22px;font-weight:800}
.delta-pos{color:var(--accent)}
.delta-neg{color:var(--red)}
.sel-inp{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--text);transition:border-color var(--transition)}
.sel-inp:focus{border-color:var(--accent)}

/* ── Toast ───────────────────────────────────────────────────── */
.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:9000}
.toast{display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;font-size:13px;font-weight:600;box-shadow:var(--shadow-md);max-width:340px;animation:toast-in .3s ease}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.toast.success{background:var(--accent);color:#fff}
.toast.error{background:var(--red);color:#fff}
.toast.info{background:var(--text);color:#fff}

/* ── Section header ──────────────────────────────────────────── */
.sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.sec-header h2{font-size:20px;font-weight:700;display:flex;align-items:center;gap:10px;color:var(--text)}

/* ── Misc ────────────────────────────────────────────────────── */
.mt-2{margin-top:10px}
.mt-3{margin-top:16px}
.mt-4{margin-top:22px}
.mb-3{margin-bottom:16px}
.w-full{width:100%}
.empty-msg{text-align:center;padding:24px;color:var(--text3);font-size:13px}
.chip{display:inline-block;border-radius:6px;padding:3px 9px;font-size:11px;font-weight:700}
.chip-green{background:#EEF2FF;color:var(--accent)}
.chip-gold{background:#FEF9E7;color:#B8860B}
.chip-blue{background:#EFF6FF;color:#2563EB}
.chip-gray{background:var(--bg2);color:var(--text2)}
.font-mono{font-family:'SF Mono','Fira Code',monospace;font-size:11.5px}
.inline-tabs{display:flex;gap:5px;flex-wrap:wrap}
.itab{background:var(--bg2);border:none;border-radius:7px;color:var(--text2);padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition)}
.itab:hover{background:var(--bg)}
.itab.active{background:var(--accent);color:#fff}

/* ── Responsive ──────────────────────────────────────────────── */
@media(max-width:1300px){.dash-grid{grid-template-columns:1fr 1fr}.dash-grid-2{grid-template-columns:1fr 1fr}.kpi-row{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.main{padding:16px}.sidebar{width:56px}.main{margin-left:56px}.dash-grid,.dash-grid-2{grid-template-columns:1fr}.kpi-row{grid-template-columns:repeat(2,1fr)}.math-grid{grid-template-columns:1fr}.con-grid{grid-template-columns:repeat(2,1fr)}.forecast-tool-row{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.proj-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.kpi-row{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(1,1fr)}}
