/* assets/css/style.css — v1.0.2 */
:root{
  --bg:#0d0f12;
  --fg:#f5f7fa;
  --muted:#a9b0bb;
  --accent:#2f80ed;
  --accent-contrast:#ffffff;
  --border:#2a2f36;
  --panel:#151920;
  --danger:#e53935;
  --warn:#f2c037;
  --success:#2e7d32;
  --font: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, sans-serif;
  --size: 18px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--size);line-height:1.5}
a{color:#2f80ed;text-decoration:none} /* Force blue links for visibility */
a.button{color:var(--accent-contrast)}
.button{background:var(--panel);color:var(--fg);border:1px solid var(--border);padding:.5rem .8rem;border-radius:.4rem;cursor:pointer}
.button:hover{border-color:var(--accent)}
.button-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}
.button-ghost{background:transparent}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:20}
.brand-link{font-weight:700}
.font-controls .button{margin-right:.25rem}
main{padding:1rem;max-width:1100px;margin:0 auto}
.welcome{text-align:center;margin-top:4rem}
.logo{width:96px;height:96px;object-fit:contain;opacity:.9}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.grid{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border)}
.grid th,.grid td{padding:.5rem .6rem;border-bottom:1px solid var(--border)}
.grid thead th{background:#12161c;text-align:left}
.col-check{width:64px;text-align:center}
.muted{color:var(--muted)}
/* Overlay menu */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:block}
.overlay[hidden]{display:none}
.overlay-panel{position:absolute;inset:0;background:var(--panel);padding:1rem 1rem 2rem 1rem;overflow:auto}
.overlay-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:.5rem;margin-bottom:.5rem}
.overlay-list{list-style:none;padding:0;margin:0}
.overlay-list li{margin:.5rem 0}
.overlay-sub{margin-top:1rem;border-top:1px dashed var(--border);padding-top:.75rem}
/* Dialog */
.dialog{position:fixed;inset:0;background:rgba(0,0,0,.6)}
.dialog[hidden]{display:none}
.dialog-panel{position:relative;margin:5vh auto;background:var(--panel);border:1px solid var(--border);border-radius:.5rem;max-width:640px;padding:0}
.dialog-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:.5rem .75rem}
.dialog-body{padding:.75rem}
.form-row{display:flex;flex-direction:column;margin-bottom:.6rem}
.form-row label{margin-bottom:.25rem}
.form-row input,.form-row select{background:#0f1318;border:1px solid var(--border);color:var(--fg);padding:.5rem;border-radius:.35rem}
.footer{padding:1rem;text-align:center;color:var(--muted)}
/* Checkbox cell */
.cell-check{display:flex;align-items:center;justify-content:center}
.icon-btn{background:transparent;border:1px solid var(--border);padding:.25rem .45rem;border-radius:.35rem;cursor:pointer}
.icon-btn:hover{border-color:var(--accent)}
/* Responsive */
@media (max-width:760px){
  .grid thead{display:none}
  .grid tr{display:block;border-bottom:1px solid var(--border);margin-bottom:.75rem}
  .grid td{display:flex;justify-content:space-between}
  .col-check{width:auto}
}
