:root{
  --brac-blue:#0267df;
  --brac-blue-dark:#013c83;
  --brac-navy:#002f4e;
  --brac-blue-soft:#d9eaff;
  --brac-surface:#fbfbff;
  --brac-yellow:#fbb219;
  --brac-text:#111827;
  --brac-muted:#4a5e6d;
  --brac-line:#d7e2ef;
  --brac-danger:#c43d4f;

  --ink:var(--brac-text);
  --muted:var(--brac-muted);
  --paper:#f5f8fc;
  --card:#ffffff;
  --line:var(--brac-line);
  --accent:var(--brac-blue);
  --accent-dark:var(--brac-blue-dark);
  --leaf:var(--brac-blue-dark);
  --leaf-soft:var(--brac-blue-soft);
  --gold:var(--brac-yellow);
  --danger:var(--brac-danger);
  --shadow:0 14px 38px rgba(0,47,78,.09);
}

html{color-scheme:light}
body{
  color:var(--brac-text);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  background:
    radial-gradient(circle at 100% 0,rgba(2,103,223,.08),transparent 30%),
    linear-gradient(180deg,#fff 0,#f5f8fc 72%,#eef5fc 100%);
}

.header h1,h1,h2{color:var(--brac-navy);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.header h1{font-weight:700;letter-spacing:-.035em}
.eyebrow{color:var(--brac-blue);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.subtitle{color:var(--brac-muted);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal}
a{color:var(--brac-blue-dark)}

.btn{
  color:var(--brac-blue-dark);background:#fff;border-color:#a9c5e6;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;box-shadow:0 4px 12px rgba(0,47,78,.06);
}
.btn:hover{border-color:var(--brac-blue);box-shadow:0 8px 22px rgba(2,103,223,.14)}
.btn-primary,.btn-success,.btn-info,.btn-accent,button[type="submit"]{
  color:#fff;background:var(--brac-blue);border-color:var(--brac-blue);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
.btn-primary:hover,.btn-success:hover,.btn-info:hover,.btn-accent:hover,button[type="submit"]:hover{background:var(--brac-blue-dark);border-color:var(--brac-blue-dark)}
.btn-ghost,.btn-secondary{color:var(--brac-blue-dark);background:#fff;border-color:#a9c5e6}
.btn-danger{color:var(--brac-danger);background:#fff;border-color:#efb9c1}
.btn-danger:hover{color:#fff;background:var(--brac-danger);border-color:var(--brac-danger)}

.card,.upload-page form,#chat-form,.table-shell{background:#fff;border-color:var(--brac-line);box-shadow:var(--shadow)}
.tag{color:var(--brac-blue-dark);background:#eef5ff;border-color:#bfd5ef;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}

table{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
th,td{border-bottom-color:#e2eaf3}
thead th{color:var(--brac-blue-dark);background:#edf5ff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
tbody td{color:var(--brac-text)}
tbody tr:hover{background:#f4f8fd}
.matrix-page .question-text{color:var(--brac-text)}

.badge,.pill{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.processing{color:#6d4b00;background:#fff3cd;border-color:#f0ce72}
.completed,.ok{color:#075a51;background:#e1f4f1;border-color:#a8d6ce}
.failed,.no{color:#9b2939;background:#fdebef;border-color:#efbac3}
.ct-in{color:var(--brac-blue-dark);background:var(--brac-blue-soft);border-color:#acccec}
.ct-out{color:#684600;background:#fff0c7;border-color:#edcb70}
.na{color:var(--brac-muted);background:#edf1f5;border-color:#ced8e2}

label,.hint,.pager,.meta-item span,.metric span{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
input,select,textarea{
  color:var(--brac-text);background:#fff;border-color:#b8c9da;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
input:focus,select:focus,textarea:focus{border-color:var(--brac-blue);box-shadow:0 0 0 3px rgba(2,103,223,.14)}
input[type="file"],.file-panel,.file-box{background:#f3f8ff;border-color:#9fc1e6}

.metric{background:#f2f7fd}
pre{color:#243746;background:#f4f8fc;border-color:#d6e2ee}
.matrix-page .score{color:var(--brac-blue-dark)}
.toggle{color:var(--brac-blue);background:#fff;border-color:#a9c5e6}
.toggle:hover{background:var(--brac-blue-soft)}
.detail-row td{background:#f4f8fd}
.detail-box{color:#243746;background:#fff;border-left-color:var(--brac-blue)}
.settings-page textarea{background:#f6f9fc}
.settings-page .msg{color:#075a51;background:#e1f4f1;border-color:#a8d6ce}
.settings-page .err{color:#9b2939;background:#fdebef;border-color:#efbac3}

audio{accent-color:var(--brac-blue);filter:none}
::selection{color:#fff;background:var(--brac-blue)}

.row-actions{min-width:auto}
.row-actions .btn-sm{
  width:36px;height:36px;padding:0;border:0;border-radius:9px;color:#fff;
  box-shadow:0 4px 10px rgba(0,47,78,.12);
}
.row-actions .btn-sm svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.row-actions .btn-info{background:#0267df}
.row-actions .btn-info:hover{background:#013c83}
.row-actions .btn-success{background:#007161}
.row-actions .btn-success:hover{background:#00584c}
.row-actions .btn-accent{background:#087386}
.row-actions .btn-accent:hover{background:#087386}
.row-actions .btn-danger{color:#fff;background:#c43d4f;border-color:#c43d4f}
.row-actions .btn-danger:hover{background:#962c3b;border-color:#962c3b}
