/* Tabler icons — no square/cell backgrounds */
.ti,.ti:before,.ti:after,
.navbar .ti,.navbar .ti:before,.navbar .ti:after,
.dc-hero .ti,.dc-hero .ti:before,.dc-hero .ti:after,
.dc-btn .ti,.dc-btn .ti:before,.dc-btn .ti:after,
.dc-section-label .ti,.dc-flash .ti,.dc-card .ti,
.container .ti,.container .ti:before,.container .ti:after,
[class*="ti-"]:before,[class*="ti-"]:after{
  background:none!important;background-color:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  padding:0!important;margin:0!important;line-height:1!important;vertical-align:middle
}
.ti:before,.ti:after{display:inline-block}
.nav-brand-icon,.nav-icon,.auth-logo-icon,.nav-icon-wrap,.icon-wrap,.icon-box,.dc-hero-icon,.dc-hero-iconbox{
  display:inline!important;align-items:center!important;justify-content:center!important;
  flex-shrink:0;line-height:0;background:none!important;background-color:transparent!important;
  border:0!important;box-shadow:none!important;padding:0!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border-radius:0!important
}
.dc-hero i.ti,.dc-hero .ti:before,.dc-hero .ti:after,
.mn-dash-hero i.ti,.mn-dash-hero .ti:before,.mn-dash-hero .ti:after{
  display:inline-block!important;background:none!important;background-color:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;
  padding:0!important;margin:0!important;line-height:1!important
}
.dc-hero-icon,.dc-hero-iconbox{
  display:inline!important;background:none!important;background-color:transparent!important;
  border:0!important;box-shadow:none!important;padding:0!important;
  width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;border-radius:0!important
}



.navbar{background:#166534;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.nav-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-name{color:white;font-weight:800;font-size:16px}
.brand-tag{color:rgba(255,255,255,.7);font-size:11px}
.nav-links a{color:rgba(255,255,255,.85);text-decoration:none;font-size:14px;font-weight:500;margin-left:20px}
.nav-links a:hover{color:white}
:root{--brand:#001a5e;--accent:#001a5e;--accent-dark:#002277;--accent-light:#dbeafe;--bg:#f8fafc;--border:#e2e8f0;--text:#1e293b;--muted:#64748b;--pass:#16a34a;--amber:#d97706;--fail:#dc2626;--fail-light:#fee2e2;}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
.container{max-width:1000px;margin:0 auto;padding:32px 20px}
/* Buttons */
.btn,.btn-primary{display:inline-block;background:var(--accent);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,box-shadow .15s}
.btn:hover,.btn-primary:hover{background:var(--accent-dark);box-shadow:0 4px 12px rgba(0,26,94,0.28)}
.btn-outline{background:#fff;color:var(--text);border:1px solid var(--border);padding:9px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:border-color .15s,color .15s}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn-danger{background:var(--fail-light);color:var(--fail);border:none;padding:7px 12px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}
.btn-danger:hover{background:#fecaca}
.btn-sm{padding:6px 12px;font-size:13px;border-radius:6px}
.btn-full{width:100%;text-align:center;padding:12px}
.btn-green{background:#16a34a;color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s}
.btn-green:hover{background:#15803d}
.btn-accent{background:var(--accent);color:#fff;border:none;padding:9px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s,box-shadow .15s}
.btn-accent:hover{background:var(--accent-dark);box-shadow:0 4px 12px rgba(0,26,94,0.28)}
/* Auth */
.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.auth-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 8px 32px rgba(0,26,94,.1)}
.auth-logo{font-size:20px;font-weight:800;color:var(--brand);margin-bottom:24px}
.auth-title{font-size:24px;font-weight:700;margin-bottom:6px}
.auth-sub{color:var(--muted);font-size:14px;margin-bottom:24px}
.auth-footer{text-align:center;margin-top:20px;font-size:14px;color:var(--muted)}
.auth-footer a{color:var(--accent);text-decoration:none;font-weight:600}
/* Forms */
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;outline:none;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,51,153,.12)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
/* Cards */
.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.card h2,.card h3{font-size:16px;font-weight:700;margin-bottom:4px}
.card p{font-size:13px;color:var(--muted)}
/* Dashboard */
.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}
.dashboard-header h1{font-size:24px;font-weight:700}
.dashboard-header p{color:var(--muted);font-size:14px;margin-top:4px}
/* Plan bar */
.plan-bar{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:24px;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.plan-badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase}
.plan-free{background:#f1f5f9;color:#475569}
.plan-pro{background:var(--accent-light);color:var(--accent-dark)}
.plan-teams{background:#f0fdf4;color:#15803d}
.plan-upgrade-link{color:var(--accent);font-weight:600;text-decoration:none}
/* Item grids */
.audit-grid,.item-grid{display:grid;gap:14px}
.audit-card,.item-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:box-shadow .15s}
.audit-card:hover,.item-card:hover{box-shadow:0 4px 16px rgba(0,26,94,0.28)}
.audit-card h3,.item-card h3{font-size:16px;font-weight:600;margin-bottom:4px}
.audit-card p,.item-card p{font-size:13px;color:var(--muted)}
.audit-actions,.item-actions{display:flex;gap:8px;flex-shrink:0}
/* Empty state */
.empty-state{text-align:center;padding:60px 20px}
.empty-icon{font-size:48px;margin-bottom:16px}
.empty-state h3{font-size:20px;font-weight:700;margin-bottom:8px}
.empty-state p{color:var(--muted);font-size:14px;margin-bottom:24px}
/* Alerts */
.alert{background:#fff3cd;border:1px solid #ffc107;color:#856404;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}
.alert-error,.alert-danger{background:var(--fail-light);border:1px solid #fecaca;color:var(--fail);padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}
.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}
/* Tables */
.table-wrap{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04)}
table{width:100%;border-collapse:collapse}
th{background:#f8fafc;padding:12px 16px;text-align:left;font-size:13px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border)}
td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border);vertical-align:top}
tr:last-child td{border-bottom:none}
tr:hover td{background:#f8fafc}
.action-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.action-table th{background:#f8fafc;padding:12px 16px;text-align:left;font-size:13px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border)}
.action-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border);vertical-align:top}
.action-table tr:last-child td{border-bottom:none}
/* Badges & status */
.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:700}
.badge-red{background:var(--fail-light);color:var(--fail)}
.badge-green{background:#dcfce7;color:#15803d}
.badge-amber{background:#fef9c3;color:var(--amber)}
.badge-blue{background:var(--accent-light);color:var(--accent-dark)}
.badge-gray{background:#f1f5f9;color:#475569}
.priority-Critical{color:var(--fail);font-weight:700;font-size:12px}
.priority-High{color:var(--amber);font-weight:700;font-size:12px}
.priority-Medium{color:#0891b2;font-weight:700;font-size:12px}
/* Results */
.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:32px}
.result-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.result-card h4{font-size:13px;color:var(--muted);margin-bottom:8px;font-weight:600}
.result-pct{font-size:36px;font-weight:800;margin-bottom:4px}
.result-label{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;display:inline-block}
.status-pass .result-pct{color:var(--pass)}.status-pass .result-label{background:#dcfce7;color:var(--pass)}
.status-amber .result-pct{color:var(--amber)}.status-amber .result-label{background:#fef9c3;color:var(--amber)}
.status-fail .result-pct{color:var(--fail)}.status-fail .result-label{background:var(--fail-light);color:var(--fail)}
.overall-card{background:var(--brand);color:#fff;border-radius:14px;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;box-shadow:0 8px 24px rgba(0,26,94,.2)}
.overall-grade{font-size:28px;font-weight:800}
.overall-sub{font-size:14px;opacity:.7;margin-top:4px}
.overall-pct{font-size:56px;font-weight:800}
/* Progress */
.progress-bar-wrap{background:#dbeafe;border-radius:99px;height:8px;margin-bottom:8px}
.progress-bar{background:var(--accent);height:8px;border-radius:99px}
/* Misc */
.back-link{display:inline-block;color:var(--muted);text-decoration:none;font-size:14px;margin-bottom:20px}
.back-link:hover{color:var(--text)}
.section-heading{font-size:18px;font-weight:700;margin:28px 0 14px}
.question-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:14px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.question-text{font-size:15px;font-weight:500;margin-bottom:12px;line-height:1.5}
.radio-group{display:flex;gap:12px;flex-wrap:wrap}
.radio-label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer;padding:8px 16px;border:1px solid var(--border);border-radius:8px;transition:border-color .15s,background .15s}
.radio-label:has(input:checked){border-color:var(--accent);background:var(--accent-light)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:24px}
.stat-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.stat-card .stat-num{font-size:32px;font-weight:800;color:var(--text)}
.stat-card .stat-label{font-size:13px;color:var(--muted);margin-top:4px}
footer{background:var(--brand);color:#94a3b8;text-align:center;padding:28px;font-size:13px;margin-top:60px}
footer a{color:#bfdbfe;text-decoration:none}

/* ── Phase 1 nav ─────────────────────────────────────────── */
.nav-upgrade{background:#6b46c1!important;color:white!important;padding:.35rem .9rem;border-radius:6px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .15s;white-space:nowrap;margin-left:.25rem}
.nav-upgrade:hover{opacity:.85}
.nav-signout{color:rgba(255,255,255,.25)!important;font-size:11px;text-decoration:none;padding:.3rem .5rem;transition:color .15s}
.nav-signout:hover{color:rgba(255,255,255,.6)!important}

/* ═══════════════════════════════════════════════════════════════
   PHASE 2 — MN Labs Enhanced UI
   ═══════════════════════════════════════════════════════════════ */

/* Page fade-in */
.container,main{animation:p2-in .22s ease both}
@keyframes p2-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* Welcome hero strip (added to base.html) */
.dash-hero{background:linear-gradient(90deg,var(--navy) 0%,var(--brand-dark,#164e63) 100%);padding:.55rem 1.5rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.07)}
.dash-hero-org{color:rgba(255,255,255,.85);font-size:.8rem;font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-hero-plan{font-size:.68rem;font-weight:700;padding:.18rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.dash-hero-plan.plan-free{background:rgba(255,255,255,.12);color:rgba(255,255,255,.75)}
.dash-hero-plan.plan-pro{background:rgba(59,130,246,.3);color:#93c5fd}
.dash-hero-plan.plan-teams{background:rgba(168,85,247,.3);color:#d8b4fe}

/* Stat cards — accent left border + hover lift */
.stat-card{border-left:4px solid var(--accent)!important;transition:transform .18s,box-shadow .18s!important}
.stat-card:hover{transform:translateY(-3px)!important;box-shadow:var(--shadow-lg)!important}

/* Audit / item cards — hover lift */
.audit-card{transition:box-shadow .18s,transform .18s!important}
.audit-card:hover{transform:translateY(-2px)!important;box-shadow:0 8px 30px rgba(0,0,0,.1)!important}

/* Buttons */
.btn-accent{background:linear-gradient(135deg,var(--accent) 0%,var(--brand,#0891b2) 100%)!important;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .18s!important}
.btn-accent:hover{filter:brightness(1.08);transform:translateY(-1px)!important;box-shadow:0 6px 18px rgba(0,0,0,.15)!important}
.btn-primary{transition:all .18s!important}
.btn-primary:hover{transform:translateY(-1px)!important;box-shadow:0 4px 14px rgba(0,26,94,0.28)!important}
.nav-cta{transition:all .18s!important}
.nav-cta:hover{filter:brightness(1.1);transform:translateY(-1px)!important}

/* Global table styling (results pages use bare <table> tags) */
table:not([class]){width:100%;border-collapse:collapse;font-size:.875rem;background:white;border-radius:12px;overflow:hidden;border:1px solid var(--border,#e2e8f0);box-shadow:0 1px 4px rgba(0,0,0,.06)}
table:not([class]) thead tr{background:var(--navy,#0d1b3e)!important;color:white!important}
table:not([class]) th{padding:.8rem 1rem!important;text-align:left!important;font-size:.75rem!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:white!important;background:transparent!important}
table:not([class]) td{padding:.7rem 1rem;border-bottom:1px solid var(--border,#e2e8f0);vertical-align:top;background:transparent!important}
table:not([class]) tbody tr:last-child td{border-bottom:none}
table:not([class]) tbody tr:nth-child(even){background:#f9fafb}
table:not([class]) tbody tr:hover{background:#f0f9ff}

/* Global headings in container (dashboards using inline h1 styles) */
.container h1:not([class]){font-size:1.5rem;font-weight:800;color:var(--navy,#0d1b3e);margin-bottom:.25rem;line-height:1.2}
.container h2:not([class]){font-size:1.15rem;font-weight:700;color:var(--navy,#0d1b3e);margin:1.5rem 0 .75rem}

/* Score / grade badges on results pages */
.container [style*="border-radius:12px"][style*="font-weight:800"]{border-radius:12px;transition:transform .15s}

/* Plan bar */
.plan-bar{border-left:4px solid var(--accent)!important}

/* Progress bars */
.progress-fill,.plan-progress-fill,.section-bar-fill{background:linear-gradient(90deg,var(--accent),var(--brand,#0891b2))!important}

/* Empty states */
.empty-state{background:white!important;border:2px dashed var(--border,#e2e8f0)!important}

/* Form focus rings */
.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 3px rgba(14,165,233,.15)!important;border-color:var(--accent)!important}
.field input:focus,.field select:focus{box-shadow:0 0 0 3px rgba(14,165,233,.15)!important;border-color:var(--accent)!important}

/* Scrollbar */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border,#e2e8f0);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:var(--text-muted,#64748b)}

/* Mobile tweaks */
@media(max-width:640px){
  .navbar{padding:0 1rem}
  .container{padding:1rem}
  .stats-grid{grid-template-columns:1fr 1fr}
  .results-top{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .dash-hero{padding:.5rem 1rem}
  .brand-tag{display:none}
}
/* ══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE — MN Labs
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* Nav */
  .navbar{padding:0 1rem;flex-wrap:wrap;position:relative}
  .nav-links{display:none;flex-direction:column;width:100%;background:var(--navy,#0d1b3e);padding:.5rem 0;gap:0}
  .nav-links.open{display:flex}
  .nav-links a{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.07);font-size:.9rem}
  .hamburger{display:flex!important;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;background:none;border:none}
  .hamburger span{display:block;width:22px;height:2px;background:white;border-radius:2px;transition:all .2s}
  .hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
  .hamburger.open span:nth-child(2){opacity:0}
  .hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
  .mn-labs-btn{display:none}
  /* Layout */
  .container{padding:.75rem}
  /* Grids → single column */
  .stats-grid,.form-grid,.results-top,.audit-grid,.grid-2,.grid-3,.grid-4,
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}
  /* Tables — horizontal scroll */
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  /* Cards */
  .stat-card,.audit-card,.card{padding:1rem}
  /* Typography */
  h1{font-size:1.4rem!important}
  h2{font-size:1.1rem!important}
  .container h1:not([class]){font-size:1.3rem}
  /* Buttons full width */
  .btn-primary,.btn-accent,.btn-full{width:100%;text-align:center}
  /* Hide decorative elements */
  .brand-tag{display:none}
  /* Plan bar */
  .plan-bar{flex-wrap:wrap;gap:.5rem}
  /* Dash hero */
  .dash-hero{padding:.4rem .75rem}
}
@media(max-width:480px){
  .navbar{padding:0 .75rem}
  .container{padding:.5rem}
  .stats-grid{grid-template-columns:1fr}
  h1{font-size:1.2rem!important}
}
/* ══════════════════════════════════════════════════════════════ */

/* MN Labs themed back buttons */
.dc-back-btn,.pa-back-btn,.ce-back-btn,.dbs-back-btn,.cr-back-btn,.fca-back-btn,.mn-back-btn,
a.dc-back-btn,a.pa-back-btn,a.ce-back-btn,a.dbs-back-btn,a.cr-back-btn,a.fca-back-btn,a.mn-back-btn{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  background:linear-gradient(135deg,#0c1325,#001a5e)!important;
  color:#fff!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important;
  padding:10px 20px!important;border-radius:99px!important;margin-bottom:22px!important;
  box-shadow:0 3px 14px rgba(0,26,94,0.28)!important;white-space:nowrap!important;border:0!important
}

/* MN Labs themed back buttons */
.dc-back-btn,.pa-back-btn,.ce-back-btn,.dbs-back-btn,.cr-back-btn,.fca-back-btn,.mn-back-btn,
a.dc-back-btn,a.pa-back-btn,a.ce-back-btn,a.dbs-back-btn,a.cr-back-btn,a.fca-back-btn,a.mn-back-btn{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  background:linear-gradient(135deg,#0d1425,#001a5e)!important;
  color:#fff!important;font-size:13px!important;font-weight:800!important;text-decoration:none!important;
  padding:10px 20px!important;border-radius:99px!important;margin-bottom:22px!important;
  box-shadow:0 3px 14px rgba(0,26,94,0.28)!important;white-space:nowrap!important;border:0!important
}

/* da-nav-force-even */
.navbar, #da-nav{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  width:100%!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  height:72px!important;
  padding:0 24px!important;
}
