/* audit_tool.css — Accreditation Audit Platform | EdCatalyst */
:root {
  --primary:#e56d00; --secondary:#ff8c42; --light:#fff5ec;
  --navy:#1e3c72; --bg:#f5f5f7; --card-bg:#fff;
  --border:#e8e8e8; --text:#1e293b; --muted:#6b7280;
  --green:#16a34a; --red:#dc2626; --amber:#d97706; --blue:#0284c7;
  --shadow:0 2px 14px rgba(0,0,0,.08); --radius:14px;
}
body.dark{--bg:#111827;--card-bg:#1f2937;--border:#374151;--text:#f3f4f6;--muted:#9ca3af;}
body.dark .navbar{background:#1f2937!important;}
body.dark .nav-link{color:#f3f4f6!important;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Poppins',sans-serif;background:var(--bg);color:var(--text);}
.hero-section{background:linear-gradient(135deg,var(--navy),#2a5298);padding:70px 0 48px;text-align:center;color:#fff;}
.hero-section h1{font-weight:700;font-size:2.1rem;margin-bottom:10px;}
.dark-toggle{position:fixed;top:82px;right:20px;z-index:999;background:var(--card-bg);
  border:1.5px solid var(--border);border-radius:50%;width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:var(--shadow);font-size:1.1rem;color:var(--text);}
.dark-toggle:hover{border-color:var(--primary);color:var(--primary);}
.tool{background:var(--card-bg);border-radius:18px;padding:32px;box-shadow:var(--shadow);}
.step-card{border:1.5px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:20px;background:var(--card-bg);}
.step-card .card-title{color:var(--primary);font-weight:700;font-size:1rem;margin-bottom:16px;display:flex;align-items:center;gap:8px;}

/* Upload */
.upload-zone{border:2.5px dashed var(--border);border-radius:var(--radius);padding:48px 24px;
  text-align:center;cursor:pointer;transition:all .25s;background:var(--bg);}
.upload-zone:hover,.upload-zone.dragover{border-color:var(--primary);background:var(--light);}
.upload-zone .upload-icon{font-size:3rem;color:var(--primary);margin-bottom:16px;}
.upload-zone h5{font-weight:600;margin-bottom:8px;}
.upload-zone p{color:var(--muted);font-size:.88rem;}
.upload-zone input[type="file"]{display:none;}

/* Parse status */
.parse-bar{display:none;margin-top:16px;}
.parse-bar.active{display:block;}
.parse-log{background:var(--bg);border:1px solid var(--border);border-radius:8px;
  padding:12px;font-size:.78rem;color:var(--muted);max-height:120px;overflow-y:auto;
  font-family:monospace;margin-top:8px;}
.parse-log .log-line{padding:2px 0;}
.parse-log .log-ok{color:var(--green);}
.parse-log .log-warn{color:var(--amber);}
.parse-log .log-err{color:var(--red);}

/* Overview cards */
.overview-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:24px;}
.ov-card{border-radius:12px;padding:18px;text-align:center;color:#fff;position:relative;}
.ov-card .ov-val{font-size:2.2rem;font-weight:800;}
.ov-card .ov-lbl{font-size:.73rem;opacity:.9;font-weight:600;}
.ov-navy  {background:var(--navy);}
.ov-blue  {background:var(--blue);}
.ov-green {background:var(--green);}
.ov-amber {background:var(--amber);}
.ov-red   {background:var(--red);}
.ov-primary{background:var(--primary);}
.risk-card{cursor:default;}
.risk-low   {background:linear-gradient(135deg,#16a34a,#22c55e);}
.risk-medium{background:linear-gradient(135deg,#d97706,#f59e0b);}
.risk-high  {background:linear-gradient(135deg,#ea580c,#f97316);}
.risk-critical{background:linear-gradient(135deg,#dc2626,#ef4444);}

/* Severity badges */
.sev{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.7rem;font-weight:700;white-space:nowrap;}
.sev-HIGH  {background:#fee2e2;color:#991b1b;}
.sev-MEDIUM{background:#fef3c7;color:#92400e;}
.sev-LOW   {background:#d1fae5;color:#065f46;}
.sev-INFO  {background:#dbeafe;color:#1e40af;}

/* Status indicators */
.sec-status{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:600;}
.sec-present{color:var(--green);}.sec-missing{color:var(--red);}

/* Tabs */
.audit-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:18px;}
.audit-tab{padding:8px 18px;border:none;background:none;font-family:'Poppins',sans-serif;
  font-size:.88rem;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;
  transition:all .2s;margin-bottom:-2px;}
.audit-tab.active{color:var(--primary);border-bottom-color:var(--primary);}
.audit-tab:hover{color:var(--primary);}
.tab-panel{display:none;}.tab-panel.active{display:block;}

/* Tables */
.audit-table-wrap{overflow-x:auto;border-radius:10px;border:1.5px solid var(--border);margin-bottom:14px;}
.audit-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.audit-table th{background:var(--navy);color:#fff;padding:10px 12px;font-weight:600;white-space:nowrap;}
.audit-table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle;}
.audit-table tr:last-child td{border-bottom:none;}
.audit-table tr:nth-child(even) td{background:rgba(0,0,0,.02);}
.audit-table td.left{text-align:left;}

/* Filters */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px;}
.filter-bar select,.filter-bar input{padding:6px 11px;border:1.5px solid var(--border);
  border-radius:8px;font-family:'Poppins',sans-serif;font-size:.82rem;background:var(--card-bg);color:var(--text);}
.filter-bar select:focus,.filter-bar input:focus{border-color:var(--primary);outline:none;}

/* Progress bar */
.progress{height:8px;border-radius:20px;background:var(--border);overflow:hidden;margin:8px 0;}
.progress-bar{height:100%;border-radius:20px;transition:width .4s;
  background:linear-gradient(90deg,var(--primary),var(--secondary));}

/* Buttons */
.btn-orange{background:var(--primary);color:#fff;border:none;font-family:'Poppins',sans-serif;font-weight:600;transition:all .22s;}
.btn-orange:hover{background:var(--secondary);color:#fff;transform:translateY(-1px);}
.export-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}

/* Toast */
.toast-msg{position:fixed;bottom:24px;right:24px;background:#1e293b;color:#fff;padding:12px 20px;
  border-radius:10px;font-size:.87rem;z-index:9999;box-shadow:0 8px 24px rgba(0,0,0,.15);
  animation:slideIn .3s ease;max-width:320px;font-family:'Poppins',sans-serif;}
.toast-msg.success{background:#15803d;}.toast-msg.error{background:var(--red);}
@keyframes slideIn{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}

/* Spinner */
.spinner-border{width:1.2rem;height:1.2rem;border-width:.2em;color:var(--primary);}

/* Consistency panel */
.student-stat{display:flex;justify-content:space-between;align-items:center;
  padding:10px 0;border-bottom:1px solid var(--border);font-size:.85rem;}
.student-stat:last-child{border-bottom:none;}
.stat-num{font-weight:700;font-size:1.1rem;}
.stat-ok{color:var(--green);}.stat-warn{color:var(--amber);}.stat-err{color:var(--red);}

/* Summary box in report */
.rule-pass{color:var(--green);}.rule-fail{color:var(--red);}

@media(max-width:768px){
  .tool{padding:18px;}.step-card{padding:16px;}
  .hero-section h1{font-size:1.55rem;}
  .overview-row{grid-template-columns:1fr 1fr;}
  .export-row{flex-direction:column;}
  .audit-tabs{overflow-x:auto;}
}

/* ════ V2 STYLES ════════════════════════════════════════ */
/* Review annotation row states */
.rev-ok-row   { background: #f0fdf4 !important; }
.rev-issue-row{ background: #fff5f5 !important; }
.rev-note-row { background: #fefce8 !important; }

/* OCR badge */
.ocr-badge {
  display: inline-block; padding: 1px 6px; border-radius: 4px;
  background: #dbeafe; color: #1e40af; font-size: .65rem; font-weight: 700;
  vertical-align: middle; margin-left: 4px;
}

/* Quality score pill (already inline but good to have class) */
.quality-pill {
  padding: 2px 8px; border-radius: 12px; font-size: .72rem; font-weight: 700;
}

/* Confidence bar container */
.conf-bar-wrap { display: flex; align-items: center; gap: 4px; }
.conf-bar-bg   { background: var(--border); border-radius: 4px; height: 5px; width: 60px; }
.conf-bar-fill { height: 100%; border-radius: 4px; }

/* Sub-section rows indent */
.sub-row td:first-child { padding-left: 24px !important; color: var(--muted); font-size: .78rem; }

/* Annotation summary inline */
#annotSummary { font-size: .78rem; color: var(--muted); }

/* V2 section table wider */
#panelSections .audit-table th:nth-child(7) { min-width: 80px; }
#panelSections .audit-table th:nth-child(8) { min-width: 100px; }
