/* FinAnalyst Cloud - общие стили (дизайн-система К2 "Теплый графит") */
:root{
  --bg:#EDEBE8; --fg:#1F1E1C; --card:#F6F4F0; --card2:#FBFAF7;
  --muted:#7A756C; --line:#E3DDD3; --line2:#EDE8E0;
  --primary:#C2541F; --primary-d:#A8481A; --accent:#D9662C;
  --navy:#0F2C68; --ok:#2E8B57; --warn:#C8881A; --danger:#B23B3B;
  --r:14px; --r2:11px; --r3:9px; --r4:7px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px;
  --shadow:0 1px 2px rgba(20,18,16,.04), 0 6px 20px rgba(20,18,16,.06);
  --shadow-l:0 10px 40px rgba(20,18,16,.12);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Mulish', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background:var(--bg); color:var(--fg);
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
.mono{font-family:'SF Mono','JetBrains Mono',Menlo,Consolas,monospace; font-variant-numeric:tabular-nums}
a{color:var(--primary); text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{margin:0; font-weight:600; letter-spacing:-.01em}
.muted{color:var(--muted)}
.wrap{max-width:1120px; margin:0 auto; padding:0 24px}

/* buttons */
.btn{
  display:inline-flex; align-items:center; gap:8px; cursor:pointer;
  border:1px solid var(--line); background:var(--card2); color:var(--fg);
  padding:10px 16px; border-radius:var(--r3); font:inherit; font-weight:500;
  transition:.15s; white-space:nowrap;
}
.btn:hover{border-color:#d6cec1; background:#fff; text-decoration:none}
.btn.primary{background:var(--primary); border-color:var(--primary); color:#fff}
.btn.primary:hover{background:var(--primary-d); border-color:var(--primary-d)}
.btn.ghost{background:transparent; border-color:transparent}
.btn.ghost:hover{background:rgba(31,30,28,.05)}
.btn.lg{padding:13px 22px; font-size:16px}
.btn.block{width:100%; justify-content:center}
.btn.yandex{background:#000; border-color:#000; color:#fff}
.btn.yandex:hover{background:#111; border-color:#111}
.btn.sm{padding:7px 11px; font-size:13px}
.btn[disabled]{opacity:.5; cursor:not-allowed}
.ic{width:18px; height:18px; flex:0 0 auto}

/* cards & fields */
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow)}
.pad{padding:22px}
.field label{display:block; font-size:13px; color:var(--muted); margin-bottom:6px}
.input{
  width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:var(--r3);
  background:#fff; color:var(--fg); font:inherit; transition:.15s;
}
.input:focus{outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(217,102,44,.14)}
.hint{font-size:12px; color:var(--muted); margin-top:6px}

/* badges */
.badge{display:inline-flex; align-items:center; gap:6px; font-size:12px; padding:3px 9px; border-radius:999px; border:1px solid var(--line); background:var(--card2); color:var(--muted)}
.badge.ok{color:var(--ok); border-color:rgba(46,139,87,.35); background:rgba(46,139,87,.08)}
.badge.warn{color:var(--warn); border-color:rgba(200,136,26,.35); background:rgba(200,136,26,.08)}
.badge.err{color:var(--danger); border-color:rgba(178,59,59,.35); background:rgba(178,59,59,.08)}
.badge.brand{color:var(--primary); border-color:rgba(194,84,31,.35); background:rgba(194,84,31,.08)}

/* topbar */
.topbar{position:sticky; top:0; z-index:30; background:rgba(237,235,232,.86); backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line)}
.topbar .row{display:flex; align-items:center; gap:18px; height:62px}
.brand{display:flex; align-items:center; gap:10px; font-weight:600; letter-spacing:-.02em}
.logo{width:30px; height:30px; border-radius:8px; background:linear-gradient(160deg,#2a2825,#1f1e1c); display:flex; align-items:center; justify-content:center}
.logo i{display:block; width:12px; height:12px; border-radius:3px; background:var(--accent)}

/* table */
.tbl{width:100%; border-collapse:collapse; font-size:14px}
.tbl th{ text-align:left; font-weight:600; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.04em; padding:10px 12px; border-bottom:1px solid var(--line)}
.tbl td{padding:11px 12px; border-bottom:1px solid var(--line2)}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--card2)}

/* toast */
#toast{position:fixed; left:50%; bottom:24px; transform:translateX(-50%) translateY(20px); opacity:0; transition:.25s; background:#23211e; color:#fff; padding:11px 18px; border-radius:10px; font-size:14px; z-index:90; box-shadow:var(--shadow-l); pointer-events:none}
#toast.show{opacity:1; transform:translateX(-50%) translateY(0)}
