:root{
  /* MK-ish (claro) */
  --mk-blue:#0031a7;
  --mk-navy:#002885;
  --mk-orange:#ff8c00;
  --mk-orange-2:#ffc376;
  --mk-gray:#808080;

  --mk-blue-rgb: 0, 49, 167;
  --mk-navy-rgb: 0, 40, 133;
  --mk-orange-rgb: 255, 140, 0;
  --mk-gray-rgb: 128, 128, 128;

  --bg:#f6f6f6;
  --card:#ffffff;
  --text:#002885;
  --muted:#808080;
  --border:#e6e6e7;

  --ok:#16a34a;
  --bad:#631414;
  --shadow:0 10px 28px rgba(0,0,0,.08);
  --radius:14px;

  --font-body: Roboto, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  --font-tech: Orbitron, system-ui, -apple-system, Segoe UI, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font-body);
  background:
    radial-gradient(1200px 700px at 20% 0%, rgba(var(--mk-blue-rgb),.08), transparent 50%),
    radial-gradient(900px 600px at 80% 10%, rgba(var(--mk-orange-rgb),.12), transparent 45%),
    var(--bg);
  color:var(--text);
}
a{color:var(--mk-blue);text-decoration:none}
a:hover{text-decoration:underline}

.app-container{min-height:100vh;display:flex;flex-direction:column}

.header{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;
  background:rgba(255,255,255,.84);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(230,230,231,.95);
}
.brand{display:flex;gap:10px;align-items:center}
.brand-dot{
  width:14px;height:14px;border-radius:999px;
  background:linear-gradient(135deg,var(--mk-orange),var(--mk-blue));
  box-shadow:0 8px 18px rgba(var(--mk-blue-rgb),.25);
}
.header h1{
  margin:0;
  font-family:var(--font-tech);
  font-weight:900;
  letter-spacing:.4px;
  font-size:18px;
}
.sub{font-size:12px;color:var(--muted);margin-top:2px}
.header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.chip{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;padding:7px 10px;border-radius:999px;
  border:1px solid rgba(230,230,231,.95);
  background:rgba(255,255,255,.78);
  color:var(--muted);
}
.icon-btn{
  border:1px solid rgba(230,230,231,.95);
  background:rgba(255,255,255,.92);
  border-radius:12px;
  padding:8px 10px;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(0,0,0,.05);
}
.icon-btn:hover{transform:translateY(-1px)}
.icon-btn:active{transform:translateY(0)}

.main-layout{
  flex:1;
  display:grid;
  grid-template-columns: 1fr 360px;
  gap:14px;
  padding:14px;
  max-width: 1680px;
  margin:0 auto;
  width:100%;
}
@media (max-width:1100px){
  .main-layout{grid-template-columns:1fr}
}

.card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(230,230,231,.95);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card.sub{box-shadow:none}

.live-column{display:flex;flex-direction:column;gap:14px}
.history-column{padding:12px 12px;display:flex;flex-direction:column;gap:10px;min-height:0}
.side-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.side-head h2{margin:0;font-family:var(--font-tech);font-size:15px}
.side-actions{display:flex;gap:8px}

.control-area{
  display:flex;gap:14px;align-items:stretch;
  padding:14px;
}
#control-btn{
  width:64px;height:64px;border-radius:18px;
  border:1px solid rgba(230,230,231,.95);
  cursor:pointer;
  background:linear-gradient(135deg, rgba(var(--mk-blue-rgb),.10), rgba(var(--mk-orange-rgb),.10));
  display:grid;place-items:center;
  box-shadow:0 10px 18px rgba(var(--mk-blue-rgb),.12);
}
#control-btn:hover{transform:translateY(-1px)}
#control-btn:active{transform:translateY(0)}
#control-btn.listening{
  background:linear-gradient(135deg, rgba(var(--mk-orange-rgb),.35), rgba(var(--mk-blue-rgb),.18));
  border-color:rgba(var(--mk-orange-rgb),.55);
}
.mic-icon{width:28px;height:28px;color:var(--mk-blue)}
#control-btn.listening .mic-icon{color:var(--mk-orange)}

.control-meta{flex:1;display:flex;flex-direction:column;gap:8px}
#status-display{font-weight:700}
.mini-row{display:flex;gap:10px;flex-wrap:wrap}
.mini{font-size:12px;color:var(--muted)}
.toggles{display:flex;gap:12px;flex-wrap:wrap}
.toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);user-select:none}
.toggle input{accent-color:var(--mk-blue)}
.audio-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.file{font-size:12px;color:var(--muted);max-width:260px}

.btn{
  appearance:none;border:none;cursor:pointer;
  padding:10px 12px;border-radius:12px;
  font-weight:700;font-size:13px;
  background:var(--card);
  border:1px solid rgba(230,230,231,.95);
  box-shadow:0 8px 18px rgba(0,0,0,.05);
  color:var(--text);
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.primary{background:var(--mk-blue);border-color:transparent;color:#fff}
.btn.ghost{background:transparent;box-shadow:none}
.btn.small{padding:7px 10px;border-radius:10px;font-size:12px}

#live-transcript-container{padding:14px}
.live-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
#live-transcript-container h2{margin:0;font-family:var(--font-tech);font-size:14px}
#live-transcript{margin:0;color:var(--text);line-height:1.35;min-height:42px;white-space:pre-wrap}

.results-container{display:flex;flex-direction:column;gap:12px}
.placeholder{padding:14px}
.placeholder h2{margin:0 0 6px 0;font-family:var(--font-tech);font-size:14px}
.placeholder p{margin:0;color:var(--muted)}

.analysis-card{padding:14px;position:relative;overflow:hidden}
.analysis-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:rgba(var(--mk-gray-rgb),.7)}
.analysis-card.Positive::before{background:rgba(22,163,74,.8)}
.analysis-card.Neutral::before{background:rgba(var(--mk-blue-rgb),.7)}
.analysis-card.Negative::before{background:rgba(99,20,20,.85)}
.analysis-card h2{margin:0 0 6px 0;font-family:var(--font-tech);font-size:15px;letter-spacing:.2px}

.sentiment-display{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  font-size:12px;font-weight:700;
  border:1px solid rgba(230,230,231,.95);
  background:rgba(255,255,255,.82);
  color:var(--muted);
}
.sentiment-display.Positive{color:var(--ok);border-color:rgba(22,163,74,.25);background:rgba(22,163,74,.06)}
.sentiment-display.Negative{color:var(--bad);border-color:rgba(99,20,20,.25);background:rgba(99,20,20,.06)}
.sentiment-display.Neutral{color:var(--mk-blue);border-color:rgba(var(--mk-blue-rgb),.25);background:rgba(var(--mk-blue-rgb),.06)}

.original-transcript{margin:10px 0 8px 0;color:var(--text);opacity:.95;font-style:italic}
.keywords-container{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.keyword{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid rgba(230,230,231,.95);background:#fff;color:var(--muted)}
.section{margin-top:10px}
.section h3{margin:0 0 8px 0;font-size:12px;font-family:var(--font-tech);color:var(--mk-navy)}
.suggestion{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.progress-bar{height:8px;border-radius:999px;background:rgba(230,230,231,.95);overflow:hidden}
.progress-bar > div{height:100%;background:linear-gradient(90deg,var(--mk-blue),var(--mk-orange))}
.suggested-reply{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:12px;border:1px solid rgba(230,230,231,.95);background:rgba(255,255,255,.88)}
.suggested-reply svg{width:16px;height:16px;fill:var(--mk-blue);flex:0 0 auto;margin-top:2px}
.meta-row{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:10px}
.meta-row b{color:var(--text)}
.details{margin-top:10px;border-top:1px solid rgba(230,230,231,.85);padding-top:10px}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:900px){ .details-grid{grid-template-columns:1fr} }
.kv{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);padding:6px 0;border-bottom:1px dashed rgba(230,230,231,.95)}
.kv b{color:var(--text)}

.sep{height:1px;background:rgba(230,230,231,.95);margin:8px 0}

.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0}
.history-item{padding:10px;border-radius:12px;border:1px solid rgba(230,230,231,.95);background:rgba(255,255,255,.88);cursor:pointer;display:flex;flex-direction:column;gap:4px}
.history-item:hover{border-color:rgba(var(--mk-blue-rgb),.25)}
.history-item.active{background:rgba(var(--mk-blue-rgb),.07);border-color:rgba(var(--mk-blue-rgb),.22)}
.history-item .intent{font-weight:900;color:var(--text);font-size:13px}
.history-item .timestamp{font-size:12px;color:var(--muted)}

.sources{padding:10px;border-radius:12px;border:1px solid rgba(230,230,231,.95);background:rgba(255,255,255,.86)}
.sources-title{font-family:var(--font-tech);font-size:12px;color:var(--mk-navy);margin-bottom:8px}
.sources-list{display:flex;flex-direction:column;gap:6px}
.source-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid rgba(230,230,231,.95);background:#fff}
.source-link:hover{border-color:rgba(var(--mk-blue-rgb),.25)}
.source-link .name{font-weight:700;font-size:12px;color:var(--text)}
.source-link .type{font-size:11px;color:var(--muted)}

.footer-actions{
  position:sticky;bottom:0;z-index:15;
  display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;
  padding:12px 14px;
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-top:1px solid rgba(230,230,231,.95);
}

/* Modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;place-items:center;padding:16px;z-index:60}
.modal[aria-hidden="false"]{display:grid}
.modal-card{width:min(1100px,96vw);max-height:92vh;overflow:auto;background:var(--card);border:1px solid rgba(230,230,231,.95);border-radius:14px;box-shadow:var(--shadow)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(230,230,231,.95)}
.modal-head h3{margin:0;font-family:var(--font-tech);font-size:14px}
.modal-body{padding:12px 14px}
.modal-foot{display:flex;justify-content:end;gap:10px;padding:12px 14px;border-top:1px solid rgba(230,230,231,.95)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
@media (max-width:1000px){ .grid2{grid-template-columns:1fr} .grid3{grid-template-columns:1fr} }
.label{font-size:12px;color:var(--muted);margin:8px 0 6px 2px}
.input, select, textarea{
  width:100%;
  padding:10px 11px;border-radius:12px;
  border:1px solid rgba(230,230,231,.95);
  background:#fff;
  outline:none;color:var(--text);
  font-size:14px;
  font-family:var(--font-body);
}
textarea{min-height:92px;resize:vertical}
h4{margin:0 0 8px 0;font-family:var(--font-tech);font-size:13px;color:var(--mk-navy)}

/* Graph */
.graph-card{padding:14px}
.graph-layout{
  display:grid;
  grid-template-columns: 1fr 280px;
  gap:12px;
  align-items:stretch;
}
@media (max-width:1000px){ .graph-layout{grid-template-columns:1fr} }
#graph{
  width:100%;
  height:auto;
  border:1px solid rgba(230,230,231,.95);
  border-radius:12px;
  background:
    radial-gradient(700px 340px at 20% 15%, rgba(var(--mk-blue-rgb),.10), transparent 50%),
    radial-gradient(560px 320px at 80% 20%, rgba(var(--mk-orange-rgb),.13), transparent 45%),
    #fff;
}
.graph-inspector{
  border:1px solid rgba(230,230,231,.95);
  border-radius:12px;
  background:rgba(255,255,255,.92);
  padding:10px;
  min-height: 120px;
}
.gi-title{font-family:var(--font-tech);font-size:12px;color:var(--mk-navy);margin-bottom:8px}
.gi-body{font-size:12px;color:var(--muted);line-height:1.35}
.gi-kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed rgba(230,230,231,.95)}
.gi-kv b{color:var(--text)}
.graph-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.dot.topic{background:rgba(var(--mk-blue-rgb),.85)}
.dot.entity{background:rgba(var(--mk-orange-rgb),.9)}
.dot.intent{background:rgba(var(--mk-navy-rgb),.8)}
.dot.emotion{background:rgba(var(--mk-gray-rgb),.9)}
.dot.risk{background:rgba(99,20,20,.9)}

.node{cursor:pointer}
.node circle{stroke:rgba(0,0,0,.10);stroke-width:1}
.node text{font-size:11px;fill:rgba(0,0,0,.70);pointer-events:none}
.link{stroke:rgba(0,49,167,.28);stroke-width:1}
.link.rel{stroke:rgba(255,140,0,.32)}
.link.risk{stroke:rgba(99,20,20,.35)}
