:root { --bg:#0f172a; --panel:#111827; --line:#1f2937; --text:#e5e7eb; --muted:#9ca3af; --accent:#22c55e; }
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}
.topbar{position:sticky;top:0;background:#020617;border-bottom:1px solid var(--line);padding:12px 20px;z-index:10}
.topbar-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.topbar h1{margin:0;font-size:18px} nav{display:flex;gap:10px;flex-wrap:wrap}
.user-chip{display:flex;align-items:center;gap:8px;color:var(--muted)}
.role-pill{display:inline-block;padding:2px 8px;border-radius:999px;background:#0f2d1f;color:#86efac;border:1px solid #14532d;font-size:12px}
.text-btn{background:transparent;border:1px solid var(--line);color:var(--text);padding:4px 8px;border-radius:8px;cursor:pointer}
nav a{color:var(--muted);text-decoration:none;padding:6px 10px;border:1px solid transparent;border-radius:8px}
nav a.active,nav a:hover{color:var(--text);border-color:var(--line);background:#0b1220}
.container{padding:20px;max-width:1200px;margin:0 auto}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:14px}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.stat .label{color:var(--muted);margin:0}.stat .value{font-size:28px;font-weight:700;margin:4px 0 0}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.task{padding:10px;background:#0b1220;border:1px solid var(--line);border-radius:8px;margin-bottom:8px}
.task-meta,.muted{color:var(--muted);font-size:13px}
table{width:100%;border-collapse:collapse} th,td{padding:8px;border-bottom:1px solid var(--line);text-align:left}
.badge{padding:2px 8px;border-radius:999px;background:#152238;border:1px solid #2a3a52}
.pill{display:inline-block;padding:4px 10px;border:1px solid var(--line);border-radius:999px;margin:3px;color:var(--muted)}
.pill.done{background:#0f2d1f;color:#86efac;border-color:#14532d}
ul{margin:0;padding-left:18px}
.hierarchy-band{display:grid;gap:10px}
.hier-node{background:#0b1220;border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}
.hier-node.executive{border-color:#14532d}
.hier-node.highlight-rae{border-color:#f59e0b;box-shadow:0 0 0 1px rgba(245,158,11,.35)}
.command-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
@media (max-width: 900px){.command-row{grid-template-columns:1fr 1fr}}
@media (max-width: 700px){.command-row{grid-template-columns:1fr}}
.team-lane{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:8px}
.hier-arrow{color:var(--muted);font-size:18px;text-align:center}
.node-label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.role-card{padding:10px;border:1px solid var(--line);border-radius:10px;background:#0b1220}
.role-card-head{display:flex;flex-direction:column;margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.badge.warn{background:#3a1818;border-color:#7f1d1d;color:#fecaca}
.playbooks{display:flex;flex-wrap:wrap;gap:6px}
.edge-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:12px}
.summary-col{background:#0b1220;border:1px solid var(--line);border-radius:10px;padding:10px}
.lane-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-bottom:12px}
.lane-health-card{padding:10px;border:1px solid var(--line);border-radius:10px;background:#0b1220}
.badge.health.green{background:#0f2d1f;border-color:#14532d;color:#86efac}
.badge.health.yellow{background:#3a2f12;border-color:#854d0e;color:#fde68a}
.badge.health.red{background:#3a1818;border-color:#7f1d1d;color:#fecaca}
.activity-row{display:flex;align-items:center;gap:8px;margin:6px 0 8px}
.activity-light{width:10px;height:10px;border-radius:50%;display:inline-block}
.activity-light.green{background:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.6)}
.activity-light.yellow{background:#f59e0b;box-shadow:0 0 8px rgba(245,158,11,.5)}
.activity-light.gray{background:#6b7280}
.quick-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.auth-card{max-width:420px;margin:80px auto}
.auth-form{display:grid;gap:10px}
.auth-form input{width:100%;padding:8px;border-radius:8px;border:1px solid var(--line);background:#0b1220;color:var(--text);margin-top:4px}
.auth-form button{padding:10px;border-radius:8px;border:1px solid #14532d;background:#0f2d1f;color:#86efac;cursor:pointer}
.error{color:#fca5a5}

code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#cbd5e1}
.quick-actions a.text-btn{display:inline-block;text-decoration:none}

.doc-links{display:grid;gap:8px}
.doc-link{display:block;border:1px solid var(--line);border-left:4px solid #3b82f6;border-radius:10px;padding:10px;background:#0b1220}
.doc-link-title{display:block;font-weight:700;color:#93c5fd;margin-bottom:4px}

.table-wrap{overflow:auto}
.editor-form{display:grid;gap:10px}
.editor-form input,.editor-form select{width:100%;padding:8px;border-radius:8px;border:1px solid var(--line);background:#0b1220;color:var(--text);margin-top:4px}
.editor-textarea{min-height:520px;width:100%;padding:10px;border-radius:10px;border:1px solid var(--line);background:#0b1220;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.confirm-line{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.warn-text{color:#fde68a}
.success{color:#86efac}

.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}
.audit-filters input,.audit-filters select{width:100%;padding:8px;border-radius:8px;border:1px solid var(--line);background:#0b1220;color:var(--text);margin-top:4px}
.audit-actions{display:flex;gap:8px;flex-wrap:wrap}
.audit-errors{margin-top:10px}

.wireframe-chip{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:999px;border:1px solid #334155;background:#0b1220;color:#93c5fd;font-size:12px}
.cron-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.cron-item{padding:12px;border:1px solid var(--line);border-radius:10px;background:#0b1220}
.cron-item h4{margin:0 0 8px 0}
.cron-meta{font-size:12px;color:var(--muted);margin-bottom:8px}

.summary-col h3{margin-top:0}
.kanban-col h3{margin-top:0}
.card h2,.card h3{letter-spacing:.01em}

/* v6 micro-interactions */
.card, .task, .role-card, .cron-item, .lane-health-card {
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background-color .16s ease;
}
.card:hover, .task:hover, .role-card:hover, .cron-item:hover, .lane-health-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(2, 6, 23, .35);
  border-color: #334155;
}

.role-card.interactive {
  cursor: pointer;
}
.role-card.interactive:focus {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}

.badge {
  transition: background-color .16s ease, border-color .16s ease;
}
.badge:hover {
  background: #1e293b;
  border-color: #3b82f6;
}

.table-wrap table tbody tr {
  transition: background-color .12s ease;
}
.table-wrap table tbody tr:hover {
  background: rgba(59, 130, 246, .08);
}

.kpi-flash {
  animation: kpiPulse 1.2s ease;
}
@keyframes kpiPulse {
  0% { box-shadow: 0 0 0 rgba(59,130,246,0); }
  35% { box-shadow: 0 0 0 6px rgba(59,130,246,.22); }
  100% { box-shadow: 0 0 0 rgba(59,130,246,0); }
}
