:root{
  --bg-color:#ffffff;
  --text-color:#0a0a0a;
  --text-secondary:#666;
  --border-color:#e5e5e5;
  --accent-color:#0a0a0a;
  --toggle-bg:#f5f5f5;
  --card-bg:#ffffff;
  --success:#00c853;
  --danger:#ff1744;
  --warning:#ffc107;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --radius:16px;
  --radius-sm:10px;
}
[data-theme="dark"]{
  --bg-color:#0a0a0a;
  --text-color:#ffffff;
  --text-secondary:#a0a0a0;
  --border-color:#2a2a2a;
  --accent-color:#ffffff;
  --toggle-bg:#1a1a1a;
  --card-bg:#121212;
  --shadow: 0 18px 40px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg-color);
  color:var(--text-color);
  transition:background-color .25s ease,color .25s ease;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.hidden{display:none!important}
.blt-toast{
  position:fixed; right:18px; bottom:18px; z-index:9999;
  display:flex; flex-direction:column; gap:10px;
}
.blt-toast .item{
  background:var(--card-bg); border:1px solid var(--border-color);
  padding:12px 14px; border-radius:12px; box-shadow:var(--shadow);
  min-width:260px; max-width:360px;
  display:flex; gap:10px; align-items:flex-start;
}
.blt-toast .item .title{font-weight:600; font-size:13px; margin-bottom:2px}
.blt-toast .item .msg{font-size:12px; color:var(--text-secondary); line-height:1.35}
.blt-toast .item[data-kind="success"]{border-color: color-mix(in srgb, var(--success) 40%, var(--border-color))}
.blt-toast .item[data-kind="danger"]{border-color: color-mix(in srgb, var(--danger) 40%, var(--border-color))}
.blt-toast .item[data-kind="warning"]{border-color: color-mix(in srgb, var(--warning) 40%, var(--border-color))}
@media (max-width: 860px){
  .sidebar{transform:translateX(-110%); position:fixed}
  .sidebar.is-open{transform:translateX(0)}
  .main-content{margin-left:0!important}
  .blt-mobilebar{
    position:fixed; top:0; left:0; right:0; z-index:300;
    display:flex; align-items:center; justify-content:space-between;
    gap:10px;
    padding:12px 14px;
    background: color-mix(in srgb, var(--card-bg) 85%, transparent);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--border-color);
  }
  .blt-mobilebar .brand{display:flex; align-items:center; gap:10px; font-weight:700; letter-spacing:.2px}
  .blt-iconbtn{
    width:42px;height:42px;border-radius:12px;
    border:1px solid var(--border-color);
    background:var(--toggle-bg);
    display:grid; place-items:center;
    cursor:pointer;
  }
}