/* ============================================================================
   EDUCATIO · Operator Console
   Lopettia brand tokens — dark glassmorphic UI
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');

:root {
  --oro:      #FCE28A;
  --durazno:  #F7B285;
  --coral:    #F38281;
  --teal:     #0D9488;
  --mint:     #5EEAD4;
  --bg:       #0B1120;
  --navy:     #182440;
  --navy-2:   #101a30;
  --fg:       #F2F0EB;
  --fg-mute:  rgba(242,240,235,.70);
  --fg-dim:   rgba(242,240,235,.42);
  --line:     rgba(242,240,235,.10);
  --line-2:   rgba(242,240,235,.06);
  --card:     rgba(24,36,64,.55);
  --card-2:   rgba(16,26,48,.80);
  --grad-sun: linear-gradient(135deg,#FCE28A 0%,#F7B285 50%,#F38281 100%);
  --grad-cool:linear-gradient(135deg,#5EEAD4 0%,#0D9488 100%);
  --shadow:   0 24px 60px -28px rgba(0,0,0,.85);
  --glow-oro: 0 0 40px -10px rgba(252,226,138,.45);
  --glow-coral:0 0 40px -10px rgba(243,130,129,.45);
  --glow-teal:0 0 40px -10px rgba(13,148,136,.5);
  --font-ui:  "Inter", system-ui, sans-serif;
  --font-disp:"Quicksand","Inter",sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",monospace;
  --r-lg:24px; --r-md:16px; --r-sm:10px;
  --ease:cubic-bezier(.22,1,.36,1);
  --sidebar-w:220px;
  --topbar-h:56px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{overflow-x:hidden;}
body{
  font-family:var(--font-ui);
  background:var(--bg);
  color:var(--fg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
}
/* ambient background */
body::before{
  content:"";position:fixed;inset:0;
  background:
    radial-gradient(900px 600px at 80% -10%,rgba(243,130,129,.12),transparent 60%),
    radial-gradient(800px 700px at -5% 15%,rgba(13,148,136,.12),transparent 58%),
    radial-gradient(700px 700px at 50% 110%,rgba(252,226,138,.08),transparent 60%),
    var(--bg);
  z-index:-2;pointer-events:none;
}
body::after{
  content:"";position:fixed;inset:0;
  background-image:radial-gradient(rgba(242,240,235,.04) 1px,transparent 1px);
  background-size:44px 44px;
  z-index:-1;pointer-events:none;
  mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);
}
::selection{background:rgba(252,226,138,.25);color:#fff;}
a{color:var(--oro);text-decoration:none;}
button{font-family:var(--font-ui);cursor:pointer;border:none;background:none;}

/* ============================================================================
   LAYOUT SHELL
   ============================================================================ */
#app{display:flex;min-height:100vh;}

/* Sidebar */
#sidebar{
  width:var(--sidebar-w);flex:0 0 var(--sidebar-w);
  background:var(--card-2);
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;
  position:fixed;top:0;left:0;bottom:0;z-index:40;
  transition:transform .3s var(--ease);
  backdrop-filter:blur(20px) saturate(140%);
}
.sidebar-brand{
  padding:1.1rem 1.2rem .9rem;
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:.6rem;
}
.sidebar-brand img{width:28px;height:28px;filter:drop-shadow(0 0 8px rgba(252,226,138,.45));}
.sidebar-brand .wordmark{
  font-family:var(--font-disp);font-weight:700;font-size:1.1rem;letter-spacing:.01em;
  background:var(--grad-sun);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
nav.sidebar-nav{padding:.7rem 0;flex:1;overflow-y:auto;}
.nav-item{
  display:flex;align-items:center;gap:.7rem;
  padding:.65rem 1.2rem;font-size:.88rem;font-weight:500;color:var(--fg-mute);
  transition:background .2s,color .2s;border-left:3px solid transparent;
  cursor:pointer;user-select:none;
}
.nav-item svg{width:17px;height:17px;flex:0 0 auto;opacity:.7;transition:opacity .2s;}
.nav-item:hover{background:rgba(242,240,235,.04);color:var(--fg);}
.nav-item:hover svg{opacity:1;}
.nav-item.active{
  color:var(--oro);border-left-color:var(--oro);
  background:rgba(252,226,138,.07);font-weight:600;
}
.nav-item.active svg{opacity:1;color:var(--oro);}
.sidebar-footer{
  padding:.9rem 1.2rem;border-top:1px solid var(--line);
  font-family:var(--font-mono);font-size:.6rem;color:var(--fg-dim);
  letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem;
}
.sidebar-footer .dot{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint);animation:pulse 2.4s infinite;}

/* Top bar */
#topbar{
  position:fixed;top:0;left:var(--sidebar-w);right:0;height:var(--topbar-h);z-index:30;
  background:rgba(11,17,32,.75);backdrop-filter:blur(16px) saturate(130%);
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;padding:0 1.5rem;gap:1rem;
}
.topbar-id{display:flex;align-items:center;gap:.6rem;min-width:0;}
.topbar-avatar{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--font-disp);font-weight:700;font-size:.74rem;color:#0B1120;background:var(--grad-sun);box-shadow:var(--glow-oro);}
.topbar-who{display:flex;flex-direction:column;line-height:1.15;min-width:0;}
.topbar-user{font-family:var(--font-disp);font-weight:700;font-size:.92rem;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.topbar-meta{display:flex;align-items:center;gap:.45rem;}
.topbar-role-chip{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--oro);background:rgba(252,226,138,.12);border:1px solid rgba(252,226,138,.3);padding:.08rem .42rem;border-radius:999px;white-space:nowrap;}
.topbar-tenant{font-size:.74rem;color:var(--fg-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.topbar-sep{color:var(--line);font-size:1.2rem;margin:0 .1rem;}
.topbar-email{font-size:.8rem;color:var(--fg-mute);}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:.8rem;}
.btn-logout{
  font-size:.8rem;font-weight:600;color:var(--fg-mute);
  padding:.38rem .85rem;border:1px solid var(--line);border-radius:999px;
  transition:border-color .2s,color .2s;
}
.btn-logout:hover{border-color:var(--coral);color:var(--coral);}
.hamburger{display:none;flex-direction:column;gap:4px;padding:.4rem;cursor:pointer;}
.hamburger span{display:block;width:20px;height:2px;background:var(--fg-mute);border-radius:2px;transition:.3s;}

/* Main content */
#main{
  margin-left:var(--sidebar-w);margin-top:var(--topbar-h);
  flex:1;padding:1.8rem 2rem;min-height:calc(100vh - var(--topbar-h));
  max-width:calc(100vw - var(--sidebar-w));
  overflow-x:hidden;
}

/* ============================================================================
   TYPOGRAPHY & UTILITIES
   ============================================================================ */
.eyebrow{
  font-family:var(--font-mono);font-size:.65rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--durazno);
  display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.7rem;
}
.page-title{font-family:var(--font-disp);font-size:1.55rem;font-weight:700;line-height:1.1;margin-bottom:1.4rem;}
.section-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.7rem;}
.mono{font-family:var(--font-mono);}
.num{font-family:var(--font-mono);color:var(--oro);font-variant-numeric:tabular-nums;}
.text-mint{color:var(--mint);}
.text-coral{color:var(--coral);}
.text-oro{color:var(--oro);}
.text-mute{color:var(--fg-mute);}

/* ============================================================================
   CARD / GLASS
   ============================================================================ */
.card{
  background:var(--card);border:1px solid var(--line);
  border-radius:var(--r-md);backdrop-filter:blur(14px);box-shadow:var(--shadow);
}
.card-p{padding:1.3rem 1.5rem;}
.card-sm{padding:.9rem 1.1rem;}

/* ============================================================================
   BUTTONS
   ============================================================================ */
.btn{
  display:inline-flex;align-items:center;gap:.45rem;
  font-weight:600;font-size:.85rem;
  padding:.52rem 1.1rem;border-radius:999px;border:1px solid transparent;
  cursor:pointer;transition:transform .2s var(--ease),box-shadow .25s,background .2s,color .2s;
  white-space:nowrap;font-family:var(--font-ui);
}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--grad-sun);color:#2a160f;box-shadow:var(--glow-coral);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 36px -8px rgba(243,130,129,.65);}
.btn-ghost{background:rgba(242,240,235,.05);color:var(--fg);border-color:var(--line);}
.btn-ghost:hover{border-color:rgba(252,226,138,.4);color:#fff;}
.btn-sm{font-size:.76rem;padding:.36rem .8rem;}
.btn-teal{background:rgba(13,148,136,.18);color:var(--mint);border-color:rgba(13,148,136,.35);}
.btn-teal:hover{background:rgba(13,148,136,.28);transform:translateY(-1px);}
.btn-danger{background:rgba(243,130,129,.15);color:var(--coral);border-color:rgba(243,130,129,.3);}
.btn-danger:hover{background:rgba(243,130,129,.25);}
.btn svg{width:15px;height:15px;}

/* ============================================================================
   BADGE / STATUS
   ============================================================================ */
.badge{
  font-family:var(--font-mono);font-size:.58rem;letter-spacing:.04em;
  padding:.15rem .5rem;border-radius:999px;white-space:nowrap;
}
.badge-mint{color:var(--mint);background:rgba(94,234,212,.12);}
.badge-oro{color:var(--oro);background:rgba(252,226,138,.12);}
.badge-coral{color:var(--coral);background:rgba(243,130,129,.12);}
.badge-durazno{color:var(--durazno);background:rgba(247,178,133,.14);}
.badge-dim{color:var(--fg-dim);background:rgba(242,240,235,.07);}
.badge-teal{color:var(--mint);background:rgba(13,148,136,.18);}

/* ============================================================================
   KPI CARDS
   ============================================================================ */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.9rem;margin-bottom:1.6rem;}
.kpi-card{
  padding:1.1rem 1.3rem;border-radius:var(--r-md);
  background:var(--card);border:1px solid var(--line);
  backdrop-filter:blur(14px);position:relative;overflow:hidden;
}
.kpi-card::before{
  content:"";position:absolute;inset:0;opacity:.4;
  background:radial-gradient(160px 100px at 90% -10%,var(--accent,transparent),transparent 70%);
  pointer-events:none;
}
.kpi-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.35rem;}
.kpi-value{font-family:var(--font-disp);font-weight:700;font-size:1.55rem;line-height:1;color:var(--kpi-color,var(--oro));}
.kpi-sub{font-size:.72rem;color:var(--fg-mute);margin-top:.3rem;}
.kpi-card.accent-mint{--kpi-color:var(--mint);--accent:var(--mint);}
.kpi-card.accent-coral{--kpi-color:var(--coral);--accent:var(--coral);}
.kpi-card.accent-oro{--kpi-color:var(--oro);--accent:var(--oro);}
.kpi-card.accent-durazno{--kpi-color:var(--durazno);--accent:var(--durazno);}
.kpi-card.accent-teal{--kpi-color:var(--mint);--accent:var(--teal);}

/* ============================================================================
   PIPELINE BAR
   ============================================================================ */
.pipeline-bar{
  display:flex;gap:4px;margin-bottom:1.6rem;border-radius:var(--r-sm);overflow:hidden;
  background:var(--card-2);border:1px solid var(--line);padding:.8rem;
  gap:.5rem;flex-wrap:wrap;
}
.pipe-stage{
  flex:1;min-width:70px;text-align:center;padding:.55rem .4rem;
  border-radius:8px;background:rgba(24,36,64,.5);border:1px solid var(--line-2);
  cursor:default;transition:border-color .2s,background .2s;
}
.pipe-stage:hover{background:rgba(252,226,138,.07);border-color:rgba(252,226,138,.25);}
.pipe-stage .ps-n{font-family:var(--font-disp);font-weight:700;font-size:1.1rem;color:var(--oro);}
.pipe-stage .ps-label{font-family:var(--font-mono);font-size:.54rem;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-mute);margin-top:.1rem;}
.pipe-stage .ps-agent{font-size:.58rem;color:var(--durazno);margin-top:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pipe-stage .ps-bar{height:2px;background:var(--grad-sun);border-radius:99px;margin-top:.4rem;opacity:.6;}

/* ============================================================================
   TABLE
   ============================================================================ */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table.t{width:100%;border-collapse:collapse;font-size:.82rem;}
table.t th{
  text-align:left;font-family:var(--font-mono);font-size:.58rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);
  padding:.55rem .8rem;border-bottom:1px solid var(--line);white-space:nowrap;
}
table.t td{padding:.55rem .8rem;border-bottom:1px solid var(--line-2);color:var(--fg-mute);vertical-align:middle;}
table.t tr:last-child td{border-bottom:none;}
table.t tr:hover td{background:rgba(242,240,235,.025);}
table.t td .strong{color:var(--fg);font-weight:600;}
table.t td .mono-sm{font-family:var(--font-mono);font-size:.78rem;}
.tr-clickable{cursor:pointer;}
.tr-clickable:hover td{background:rgba(252,226,138,.04)!important;}

/* ============================================================================
   STAGE BADGE
   ============================================================================ */
.stage-badge{
  display:inline-flex;align-items:center;gap:.3rem;
  font-family:var(--font-mono);font-size:.6rem;letter-spacing:.04em;
  padding:.2rem .55rem;border-radius:999px;white-space:nowrap;
}

/* ============================================================================
   PROPENSITY DOT
   ============================================================================ */
.prop-dots{display:inline-flex;gap:3px;}
.prop-dot{width:7px;height:7px;border-radius:50%;background:var(--line);}
.prop-dot.on{background:var(--oro);}

/* ============================================================================
   MODAL
   ============================================================================ */
.modal-backdrop{
  position:fixed;inset:0;z-index:100;
  background:rgba(0,0,0,.65);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:1rem;
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.modal-backdrop.open{opacity:1;pointer-events:auto;}
.modal{
  background:var(--navy);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:2rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.9);
  transform:translateY(16px);transition:transform .3s var(--ease);
}
.modal-backdrop.open .modal{transform:none;}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem;}
.modal-title{font-family:var(--font-disp);font-size:1.2rem;font-weight:700;}
.modal-close{color:var(--fg-mute);font-size:1.4rem;line-height:1;padding:.2rem .4rem;transition:color .2s;}
.modal-close:hover{color:var(--coral);}

/* ============================================================================
   FORM
   ============================================================================ */
.form-group{margin-bottom:1rem;}
.form-label{display:block;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.45rem;}
.form-input{
  width:100%;padding:.65rem .9rem;
  background:rgba(11,17,32,.7);border:1px solid var(--line);border-radius:var(--r-sm);
  color:var(--fg);font-family:var(--font-ui);font-size:.9rem;
  transition:border-color .2s,box-shadow .2s;outline:none;
}
.form-input:focus{border-color:rgba(252,226,138,.5);box-shadow:0 0 0 3px rgba(252,226,138,.08);}
.form-input::placeholder{color:var(--fg-dim);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-actions{display:flex;gap:.7rem;justify-content:flex-end;margin-top:1.4rem;}

/* ============================================================================
   DRAWER
   ============================================================================ */
.drawer-backdrop{
  position:fixed;inset:0;z-index:80;
  background:rgba(0,0,0,.55);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .25s;
}
.drawer-backdrop.open{opacity:1;pointer-events:auto;}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(580px,95vw);z-index:81;
  background:var(--navy);border-left:1px solid var(--line);
  box-shadow:-20px 0 60px rgba(0,0,0,.6);
  display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s var(--ease);
  overflow:hidden;
}
.drawer-backdrop.open .drawer{transform:none;}
.drawer-header{
  padding:1.2rem 1.5rem;border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:1rem;flex:0 0 auto;
}
.drawer-title{font-family:var(--font-disp);font-size:1.1rem;font-weight:700;flex:1;}
.drawer-close{color:var(--fg-mute);font-size:1.4rem;padding:.2rem .4rem;transition:color .2s;}
.drawer-close:hover{color:var(--coral);}
.drawer-body{flex:1;overflow-y:auto;padding:1.3rem 1.5rem;}
.drawer-section{margin-bottom:1.5rem;}
.drawer-section-label{
  font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-dim);margin-bottom:.75rem;padding-bottom:.45rem;border-bottom:1px solid var(--line-2);
}

/* Stage stepper */
.stage-stepper{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:1rem;}
.stage-step{
  display:flex;align-items:center;gap:.3rem;
  font-family:var(--font-mono);font-size:.58rem;letter-spacing:.04em;
  padding:.28rem .6rem;border-radius:999px;border:1px solid var(--line-2);
  color:var(--fg-dim);background:rgba(11,17,32,.4);white-space:nowrap;
  transition:border-color .2s,color .2s,background .2s;
}
.stage-step.done{color:var(--mint);border-color:rgba(94,234,212,.25);background:rgba(94,234,212,.06);}
.stage-step.current{color:var(--oro);border-color:rgba(252,226,138,.35);background:rgba(252,226,138,.08);font-weight:700;}

/* P&L row */
.pnl-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:.7rem;}
.pnl-cell{padding:.75rem .9rem;border-radius:var(--r-sm);background:rgba(11,17,32,.5);border:1px solid var(--line-2);text-align:center;}
.pnl-cell .pnl-label{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);}
.pnl-cell .pnl-value{font-family:var(--font-disp);font-weight:700;font-size:1.1rem;margin-top:.2rem;}

/* commission banner */
.commission-banner{
  padding:.8rem 1rem;border-radius:var(--r-sm);
  background:rgba(94,234,212,.08);border:1px solid rgba(94,234,212,.2);
  margin-top:.8rem;font-size:.82rem;
}
.commission-banner strong{color:var(--mint);}

/* ============================================================================
   FINANCE VIEW
   ============================================================================ */
.finance-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem;margin-bottom:1.6rem;}
.fin-card{
  padding:1.1rem 1.3rem;border-radius:var(--r-md);
  background:var(--card);border:1px solid var(--line);backdrop-filter:blur(14px);
}
.fin-card .fc-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.3rem;}
.fin-card .fc-value{font-family:var(--font-disp);font-weight:700;font-size:1.4rem;color:var(--oro);}
.fin-card .fc-value.green{color:var(--mint);}
.fin-card .fc-value.red{color:var(--coral);}
.tiers-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.tier-pill{
  flex:1;min-width:120px;padding:.85rem 1rem;border-radius:var(--r-sm);
  border:1px solid var(--line);background:rgba(11,17,32,.5);
}
.tier-pill .tp-level{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);}
.tier-pill .tp-name{font-weight:600;font-size:.9rem;margin:.2rem 0;}
.tier-pill .tp-pct{font-family:var(--font-mono);color:var(--oro);font-size:1.05rem;}
.ledger-filter{display:flex;gap:.6rem;margin-bottom:.9rem;align-items:center;}
.ledger-filter label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);}
.dr{color:var(--coral);}
.cr{color:var(--mint);}

/* ============================================================================
   AGENTS VIEW
   ============================================================================ */
.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.9rem;margin-bottom:2rem;}
.agent-tile{
  padding:1.1rem 1.2rem 1.3rem;border-radius:var(--r-md);
  background:var(--card);border:1px solid var(--line);
  backdrop-filter:blur(14px);position:relative;overflow:hidden;
  transition:border-color .25s,transform .25s var(--ease),box-shadow .25s;
}
.agent-tile::before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--c,var(--oro));}
.agent-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c,var(--oro)) 50%,transparent);box-shadow:var(--shadow);}
.agent-tile.core-tile{background:linear-gradient(180deg,rgba(252,226,138,.07),var(--card));}
.at-top{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;}
.at-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto;color:var(--c,var(--oro));background:color-mix(in srgb,var(--c,var(--oro)) 15%,transparent);}
.at-icon svg{width:17px;height:17px;}
.at-meta{flex:1;min-width:0;}
.at-arch{font-family:var(--font-mono);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);}
.at-core-badge{margin-left:auto;font-family:var(--font-mono);font-size:.5rem;letter-spacing:.1em;color:#2a160f;background:var(--grad-sun);padding:.1rem .38rem;border-radius:5px;white-space:nowrap;}
.at-name{font-family:var(--font-disp);font-weight:700;font-size:1.1rem;line-height:1.1;margin-top:.15rem;}
.at-role{font-size:.78rem;font-weight:600;color:var(--c,var(--oro));margin:.18rem 0 .5rem;}
.at-line{font-size:.82rem;color:var(--fg-mute);line-height:1.45;margin-bottom:.7rem;}
.at-details{display:grid;gap:.4rem;border-top:1px solid var(--line-2);padding-top:.7rem;}
.at-row{display:grid;grid-template-columns:54px 1fr;gap:.4rem;font-size:.76rem;}
.at-k{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-dim);padding-top:1px;}
.at-v{color:var(--fg);line-height:1.4;}
.at-v.warn{color:var(--coral);}

/* ============================================================================
   CONCLAVE CHAT
   ============================================================================ */
.conclave-wrap{
  display:grid;grid-template-columns:1fr 340px;gap:1.2rem;
  margin-top:0;
}
@media(max-width:900px){.conclave-wrap{grid-template-columns:1fr;}}
.chat-panel{
  display:flex;flex-direction:column;min-height:500px;
  background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-md);
  overflow:hidden;
}
.chat-header{
  padding:.8rem 1.1rem;border-bottom:1px solid var(--line);flex:0 0 auto;
  display:flex;align-items:center;gap:.7rem;background:rgba(11,17,32,.5);
}
.chat-header-title{font-family:var(--font-disp);font-weight:700;font-size:.95rem;}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint);animation:pulse 2s infinite;margin-left:auto;}
.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.9rem;}
.chat-messages::-webkit-scrollbar{width:4px;}
.chat-messages::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;}
.chat-msg{display:flex;flex-direction:column;gap:.3rem;max-width:90%;}
.chat-msg.user{align-self:flex-end;align-items:flex-end;}
.chat-msg.assistant{align-self:flex-start;}
.chat-bubble{
  padding:.6rem .9rem;border-radius:14px;font-size:.86rem;line-height:1.55;
}
.chat-msg.user .chat-bubble{background:rgba(252,226,138,.12);color:var(--fg);border-radius:14px 14px 4px 14px;border:1px solid rgba(252,226,138,.2);}
.chat-msg.assistant .chat-bubble{background:rgba(24,36,64,.7);color:var(--fg);border-radius:14px 14px 14px 4px;border:1px solid var(--line);}
.chat-msg .chat-meta{font-family:var(--font-mono);font-size:.58rem;color:var(--fg-dim);}
.chat-actions{padding:.5rem .9rem;border-top:1px solid var(--line-2);}
.chat-actions-toggle{font-family:var(--font-mono);font-size:.62rem;color:var(--fg-dim);cursor:pointer;display:flex;align-items:center;gap:.35rem;}
.chat-actions-toggle:hover{color:var(--durazno);}
.chat-actions-list{margin-top:.4rem;display:grid;gap:.3rem;font-size:.78rem;color:var(--fg-mute);}
.chat-action-item{padding:.3rem .6rem;background:rgba(11,17,32,.4);border-radius:6px;border:1px solid var(--line-2);}
.chat-action-tool{font-family:var(--font-mono);font-size:.6rem;color:var(--mint);}
.chat-input-area{padding:.8rem;border-top:1px solid var(--line);display:flex;gap:.6rem;flex:0 0 auto;background:rgba(11,17,32,.5);}
.chat-input{
  flex:1;padding:.6rem .9rem;background:rgba(11,17,32,.7);
  border:1px solid var(--line);border-radius:10px;color:var(--fg);
  font-family:var(--font-ui);font-size:.86rem;resize:none;outline:none;
  min-height:38px;max-height:120px;transition:border-color .2s;
}
.chat-input:focus{border-color:rgba(252,226,138,.4);}
.chat-send{
  padding:.6rem .85rem;background:var(--grad-sun);border-radius:10px;
  color:#2a160f;font-weight:700;font-size:.82rem;flex:0 0 auto;
  transition:opacity .2s,transform .2s;
}
.chat-send:hover{transform:translateY(-1px);}
.chat-send:disabled{opacity:.4;cursor:not-allowed;}
.runs-panel{display:flex;flex-direction:column;gap:.7rem;}
.run-card{padding:.9rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);}
.run-card .run-agent{font-weight:600;font-size:.84rem;color:var(--fg);}
.run-card .run-model{font-family:var(--font-mono);font-size:.62rem;color:var(--fg-dim);}
.run-card .run-out{font-size:.8rem;color:var(--fg-mute);margin-top:.3rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.run-card .run-footer{display:flex;gap:.6rem;margin-top:.5rem;flex-wrap:wrap;}
.run-stat{font-family:var(--font-mono);font-size:.58rem;color:var(--fg-dim);}
.run-stat.ok{color:var(--mint);}

/* typing indicator */
.typing-indicator{display:flex;gap:4px;align-items:center;padding:.6rem .9rem;}
.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--fg-dim);animation:typing .9s infinite;}
.typing-indicator span:nth-child(2){animation-delay:.18s;}
.typing-indicator span:nth-child(3){animation-delay:.36s;}
@keyframes typing{0%,100%{opacity:.25;transform:scale(.8);}50%{opacity:1;transform:scale(1);}}

/* ============================================================================
   LOGIN SCREEN
   ============================================================================ */
#login-screen{
  position:fixed;inset:0;z-index:200;
  background:var(--bg);display:flex;align-items:center;justify-content:center;
  padding:1rem;
}
#login-screen::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(800px 600px at 50% 30%,rgba(252,226,138,.1),transparent 60%);
  pointer-events:none;
}
.login-card{
  position:relative;z-index:1;
  width:100%;max-width:380px;
  padding:2.4rem 2rem;
  background:var(--card-2);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:0 40px 80px -20px rgba(0,0,0,.9);
  backdrop-filter:blur(20px);
}
.login-logo{display:flex;flex-direction:column;align-items:center;gap:.7rem;margin-bottom:1.8rem;}
.login-logo img{width:52px;height:52px;filter:drop-shadow(0 0 16px rgba(252,226,138,.55));animation:float 6s ease-in-out infinite;}
.login-logo h1{font-family:var(--font-disp);font-size:1.5rem;font-weight:700;background:var(--grad-sun);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.login-logo p{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);}
.login-hint{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-dim);text-align:center;margin-top:1rem;padding:.55rem;background:rgba(252,226,138,.05);border:1px solid rgba(252,226,138,.12);border-radius:8px;}

/* ============================================================================
   TOAST
   ============================================================================ */
#toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:300;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;}
.toast{
  padding:.7rem 1.1rem;border-radius:var(--r-sm);
  font-size:.83rem;font-family:var(--font-ui);font-weight:500;
  box-shadow:0 8px 32px rgba(0,0,0,.5);backdrop-filter:blur(12px);
  border:1px solid var(--line);pointer-events:auto;
  animation:toastIn .3s var(--ease) forwards;
  max-width:320px;
}
.toast.success{background:rgba(13,148,136,.25);border-color:rgba(94,234,212,.3);color:var(--mint);}
.toast.error{background:rgba(243,130,129,.2);border-color:rgba(243,130,129,.35);color:var(--coral);}
.toast.info{background:rgba(24,36,64,.85);color:var(--fg);}
@keyframes toastIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
@keyframes toastOut{from{opacity:1;}to{opacity:0;}}

/* ============================================================================
   SETTINGS VIEW
   ============================================================================ */
.settings-section{max-width:560px;margin-bottom:2rem;}
.byok-keys{display:grid;gap:.6rem;margin-bottom:1rem;}
.byok-key-row{
  display:flex;align-items:center;gap:.8rem;
  padding:.7rem 1rem;border-radius:var(--r-sm);
  background:rgba(11,17,32,.5);border:1px solid var(--line);
}
.byok-key-row .bkr-provider{font-weight:600;font-size:.85rem;}
.byok-key-row .bkr-hint{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-dim);}
.byok-key-row .bkr-date{margin-left:auto;font-family:var(--font-mono);font-size:.65rem;color:var(--fg-dim);}
.info-card{
  padding:1.1rem 1.3rem;border-radius:var(--r-md);
  background:var(--card);border:1px solid var(--line);margin-bottom:1rem;
}
.info-row{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--line-2);font-size:.85rem;}
.info-row:last-child{border-bottom:none;}
.info-row .ik{color:var(--fg-dim);}
.info-row .iv{color:var(--fg);font-weight:500;}

/* ============================================================================
   MISC / RESPONSIVE
   ============================================================================ */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;}
.flex-between{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.flex-end{display:flex;justify-content:flex-end;gap:.6rem;}
.mt-sm{margin-top:.7rem;}
.mt-md{margin-top:1.2rem;}
.mt-lg{margin-top:1.8rem;}
.mb-sm{margin-bottom:.7rem;}
.mb-md{margin-bottom:1.2rem;}
.empty-state{text-align:center;padding:3rem 1rem;color:var(--fg-dim);font-size:.9rem;}
.empty-state svg{width:40px;height:40px;opacity:.3;margin:0 auto .8rem;display:block;}
.loading-ring{
  width:28px;height:28px;border-radius:50%;
  border:2px solid var(--line);border-top-color:var(--oro);
  animation:spin .8s linear infinite;display:inline-block;
}
.search-bar{
  display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:1.2rem;
}
.search-input{
  flex:1;min-width:200px;padding:.52rem .9rem;
  background:rgba(11,17,32,.7);border:1px solid var(--line);border-radius:999px;
  color:var(--fg);font-family:var(--font-ui);font-size:.85rem;outline:none;
  transition:border-color .2s;
}
.search-input:focus{border-color:rgba(252,226,138,.4);}
.search-input::placeholder{color:var(--fg-dim);}
select.form-select{
  padding:.52rem .9rem;background:rgba(11,17,32,.7);
  border:1px solid var(--line);border-radius:999px;
  color:var(--fg);font-family:var(--font-ui);font-size:.85rem;outline:none;
  cursor:pointer;
}
select.form-select:focus{border-color:rgba(252,226,138,.4);}

@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.8);}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

@media(max-width:768px){
  :root{--sidebar-w:0px;}
  #sidebar{transform:translateX(-220px);width:220px;}
  #sidebar.mobile-open{transform:none;}
  #topbar{left:0;}
  #main{margin-left:0;padding:1.2rem 1rem;}
  .hamburger{display:flex;}
  .kpi-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .pnl-row{grid-template-columns:1fr;}
  .conclave-wrap{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr 1fr;}
  .pipeline-bar{gap:.3rem;}
  .pipe-stage{min-width:55px;}
  .pipe-stage .ps-agent{display:none;}
}

/* ============================================================================
   UPLIFT · journey, visa, plan, command center, student app
   ============================================================================ */
.journey-intro{font-size:.95rem;color:var(--fg-mute);max-width:70ch;margin:-.4rem 0 1.2rem;line-height:1.6;}

/* progress ring */
.ring{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;}
.ring-inner{width:64px;height:64px;border-radius:50%;background:var(--navy-2);display:grid;place-items:center;text-align:center;}
.ring-pct{font-family:var(--font-disp);font-weight:700;font-size:1.25rem;color:var(--fg);}
.ring-pct small{font-size:.7rem;opacity:.7;}
.ring-sub{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim);}

/* journey track */
.journey-track{display:flex;gap:.4rem;overflow-x:auto;padding:.6rem 0 1rem;margin-bottom:.4rem;}
.jt-node{flex:0 0 auto;width:84px;text-align:center;opacity:.45;transition:.3s;position:relative;}
.jt-node .jt-dot{width:14px;height:14px;border-radius:50%;background:var(--c);margin:0 auto .35rem;box-shadow:0 0 0 0 var(--c);transition:.3s;}
.jt-node .jt-stage{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-dim);}
.jt-node .jt-name{font-size:.72rem;font-weight:600;color:var(--fg-mute);}
.jt-node .jt-agent{font-size:.64rem;color:var(--fg-dim);}
.jt-node.active{opacity:1;transform:translateY(-2px);}
.jt-node.active .jt-dot{box-shadow:0 0 0 6px color-mix(in srgb, var(--c) 25%, transparent);}
.jt-node.done{opacity:1;}
.jt-node.done .jt-dot{background:var(--c);}
.journey-meta{font-size:.78rem;color:var(--fg-dim);font-family:var(--font-mono);}

.journey-feed{display:flex;flex-direction:column;gap:.5rem;}
.handoff-chip{display:inline-flex;align-items:center;gap:.5rem;font-size:.74rem;align-self:flex-start;padding:.2rem .6rem;border-radius:30px;background:var(--card-2);border:1px solid rgba(255,255,255,.06);}
.hc-a{font-weight:700;color:var(--c);}
.hc-arrow,.hc-start{color:var(--fg-dim);}
.journey-step{border-left:3px solid var(--c);background:var(--card);border-radius:0 10px 10px 0;padding:.7rem .9rem;animation:fadeUp .35s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.js-head{display:flex;justify-content:space-between;font-size:.72rem;color:var(--fg-dim);}
.js-agent{color:var(--c);font-weight:700;}
.js-title{font-family:var(--font-disp);font-weight:600;font-size:1rem;margin:.15rem 0;}
.js-output{font-size:.86rem;color:var(--fg-mute);line-height:1.5;}
.js-money{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;padding:.45rem .7rem;border-radius:8px;background:color-mix(in srgb,var(--mint) 12%,transparent);font-size:.82rem;}
.jm-gross{color:var(--mint);font-weight:700;font-size:1rem;}
.jm-split{color:var(--fg-dim);font-size:.76rem;}
.js-tele{margin-top:.45rem;font-size:.72rem;color:var(--fg-dim);}
.js-run{color:var(--oro);}
.journey-done{margin-top:1rem;padding:.7rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--mint) 14%,transparent);color:var(--mint);font-weight:600;}
.snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:.6rem;}
.snap-card{background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;}
.snap-card.big{align-items:flex-start;text-align:left;}
.snap-k{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim);}
.snap-v{font-weight:600;}
.snap-money{font-size:1.3rem;font-family:var(--font-disp);font-weight:700;}
.snap-money.green{color:var(--mint);}
.snap-split{font-size:.76rem;color:var(--fg-dim);}
.journey-cta{margin-top:1rem;font-size:.95rem;color:var(--fg-mute);line-height:1.6;max-width:70ch;}

/* badges + chips */
.risk-badge,.prio-chip,.role-chip{display:inline-block;font-size:.64rem;padding:.08rem .45rem;border-radius:20px;border:1px solid currentColor;letter-spacing:.03em;}
.prio-chip{border:none;text-transform:uppercase;font-weight:700;}
.prio-chip.crit{background:color-mix(in srgb,var(--coral) 22%,transparent);color:var(--coral);}
.prio-chip.req{background:color-mix(in srgb,var(--oro) 20%,transparent);color:var(--oro);}
.prio-chip.opt{background:rgba(255,255,255,.08);color:var(--fg-dim);}
.role-chip{border:none;background:rgba(255,255,255,.07);color:var(--fg-dim);}

/* visa checklist */
.visa-progress{display:flex;align-items:center;gap:.6rem;margin:.2rem 0 .7rem;}
.vp-bar{flex:1;height:7px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;}
.vp-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--mint));transition:width .4s;}
.vp-label{font-size:.74rem;color:var(--fg-dim);font-family:var(--font-mono);}
.visa-items{display:flex;flex-direction:column;gap:.35rem;}
.visa-toggle{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;background:var(--card-2);border:1px solid rgba(255,255,255,.06);border-radius:9px;padding:.5rem .65rem;cursor:pointer;color:var(--fg);transition:.18s;font-size:.85rem;}
.visa-toggle:hover{border-color:rgba(255,255,255,.18);}
.visa-toggle.done{background:color-mix(in srgb,var(--mint) 10%,transparent);border-color:color-mix(in srgb,var(--mint) 35%,transparent);}
.vt-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--fg-dim);display:grid;place-items:center;font-size:.7rem;color:var(--mint);flex:0 0 auto;}
.visa-toggle.done .vt-check{border-color:var(--mint);background:color-mix(in srgb,var(--mint) 20%,transparent);}
.vt-label{flex:1;}
.vt-amt{color:var(--oro);font-family:var(--font-mono);font-size:.78rem;}
.visa-traps{margin-top:.8rem;border-top:1px solid rgba(255,255,255,.06);padding-top:.6rem;}
.vt-h{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim);margin-bottom:.3rem;}
.trap{font-size:.8rem;color:var(--durazno);margin-bottom:.25rem;}

.visa-bar{display:flex;gap:.6rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap;}
.visa-bar .form-select{max-width:340px;}
.visa-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;}
.visa-chat{display:flex;flex-direction:column;min-height:420px;max-height:560px;}
.visa-chat .chat-messages{flex:1;}
.visa-cl-head{display:flex;align-items:center;gap:1rem;margin-bottom:.9rem;}
.vclh-type{font-family:var(--font-disp);font-weight:700;font-size:1.05rem;}
.vclh-risk{font-size:.82rem;color:var(--fg-dim);}
@media(max-width:860px){.visa-grid{grid-template-columns:1fr;}}

/* plan artifact */
.plan-card{background:var(--card);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:1rem;}
.plan-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;}
.plan-program{font-family:var(--font-disp);font-weight:700;}
.plan-verdict{font-size:.7rem;padding:.12rem .5rem;border-radius:20px;border:1px solid currentColor;}
.plan-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.plan-col-h{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim);margin-bottom:.35rem;}
.plan-line{display:flex;justify-content:space-between;font-size:.82rem;padding:.18rem 0;color:var(--fg-mute);}
.plan-line.total{border-top:1px solid rgba(255,255,255,.08);margin-top:.25rem;padding-top:.35rem;font-weight:700;color:var(--fg);}
.plan-rec{margin-top:.8rem;font-size:.85rem;color:var(--fg-mute);line-height:1.55;background:color-mix(in srgb,var(--mint) 8%,transparent);padding:.55rem .7rem;border-radius:8px;}
.plan-b{margin-top:.5rem;font-size:.84rem;color:var(--fg-mute);line-height:1.55;background:color-mix(in srgb,var(--oro) 8%,transparent);padding:.55rem .7rem;border-radius:8px;}
@media(max-width:560px){.plan-cols{grid-template-columns:1fr;}}

/* documents */
.docs-list{display:flex;flex-direction:column;gap:.3rem;}
.doc-row{display:flex;align-items:center;gap:.55rem;font-size:.82rem;padding:.3rem 0;border-bottom:1px solid rgba(255,255,255,.04);}
.doc-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
.doc-type{font-weight:600;text-transform:capitalize;}
.doc-file{color:var(--fg-dim);flex:1;font-size:.76rem;}
.doc-status{color:var(--fg-mute);font-size:.74rem;text-transform:capitalize;}
.doc-auth{color:var(--oro);}

/* finance command center */
.payout-totals{display:flex;gap:1.4rem;padding:.4rem .2rem .8rem;}
.payout-totals .pt-k{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);}
.payout-totals .pt-v{font-family:var(--font-disp);font-weight:700;font-size:1.15rem;}
.payout-totals .pt-v.green{color:var(--mint);}
.coll-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;}
.mini-stat{background:var(--card-2);border-radius:10px;padding:.6rem;text-align:center;}
.ms-k{font-size:.64rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);}
.ms-v{font-family:var(--font-disp);font-weight:700;font-size:1.05rem;margin-top:.15rem;}
.ms-v.green{color:var(--mint);}.ms-v.coral{color:var(--coral);}
.audit-row{display:flex;align-items:center;gap:.6rem;font-size:.78rem;padding:.28rem 0;border-bottom:1px solid rgba(255,255,255,.04);}
.audit-seq{font-family:var(--font-mono);color:var(--fg-dim);}
.audit-event{flex:1;color:var(--fg-mute);}
.audit-hash{color:var(--teal);}
@media(max-width:560px){.coll-grid{grid-template-columns:1fr 1fr;}}

/* agent tiles → clickable */
.agent-tile{cursor:pointer;}
.agent-tile .at-talk{margin-top:.6rem;font-size:.74rem;color:var(--c);opacity:0;transition:.2s;font-weight:600;}
.agent-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--c) 45%,transparent);}
.agent-tile:hover .at-talk{opacity:1;}
.agent-tile.selected{border-color:var(--c);box-shadow:0 0 0 1px var(--c);}

/* student app */
.student-shell{display:block;min-height:100vh;background:radial-gradient(1200px 600px at 70% -10%, color-mix(in srgb,var(--teal) 14%,transparent), transparent), var(--bg);}
.student-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;background:rgba(11,17,32,.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06);}
.student-brand{font-family:var(--font-disp);font-weight:700;font-size:1.05rem;}
.student-sub{font-size:.75rem;color:var(--fg-dim);flex:1;}
#smain{max-width:780px;margin:0 auto;padding:1.2rem 1.1rem 4rem;}
.stu-hero{padding:.6rem 0 1.2rem;}
.stu-hi{font-family:var(--font-disp);font-weight:700;font-size:1.7rem;}
.stu-route{color:var(--fg-mute);margin-top:.2rem;}
.stu-next{margin-top:.6rem;font-size:.95rem;color:var(--oro);}
.stu-rings{display:flex;gap:1rem;margin-bottom:1.4rem;}
.stu-ring-card{flex:1;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;}
.src-k{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim);}
.src-v{font-weight:600;}
.stu-money{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;margin-bottom:1rem;}
.stu-chat{display:flex;flex-direction:column;min-height:340px;max-height:520px;}
.stu-chat .chat-messages{flex:1;}
@media(max-width:560px){.stu-money{grid-template-columns:1fr;}.stu-rings{flex-direction:column;}}

/* ============================================================================
   MARKET · inbox, catalog, org, choose-program
   ============================================================================ */
/* inbox */
.inbox-grid{display:grid;grid-template-columns:320px 1fr;gap:1rem;align-items:start;height:calc(100vh - 160px);min-height:480px;}
.inbox-list{overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;padding-right:.2rem;}
.convo-row{background:var(--card-2);border:1px solid rgba(255,255,255,.06);border-radius:11px;padding:.6rem .7rem;cursor:pointer;transition:.15s;}
.convo-row:hover{border-color:rgba(255,255,255,.18);}
.convo-row.active{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal);}
.cr-top{display:flex;justify-content:space-between;align-items:center;}
.cr-name{font-weight:600;font-size:.9rem;}
.cr-ch{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;padding:.06rem .4rem;border-radius:20px;background:rgba(255,255,255,.08);color:var(--fg-dim);}
.cr-ch.ch-whatsapp{background:color-mix(in srgb,var(--mint) 20%,transparent);color:var(--mint);}
.cr-prev{font-size:.78rem;color:var(--fg-mute);margin:.2rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cr-meta{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--fg-dim);}
.cr-unread{background:var(--coral);color:#1a0e0e;font-weight:700;border-radius:20px;padding:.02rem .42rem;font-size:.7rem;}
.inbox-thread{display:flex;flex-direction:column;height:100%;overflow:hidden;}
.thread-head{padding:.4rem .2rem .7rem;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:.5rem;}
.th-name{font-family:var(--font-disp);font-weight:700;}
.th-sub{font-size:.74rem;color:var(--fg-dim);}
.thread-msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.3rem;}
.tmsg{max-width:78%;padding:.5rem .7rem;border-radius:12px;font-size:.86rem;line-height:1.45;}
.tmsg.in{align-self:flex-start;background:var(--card-2);border:1px solid rgba(255,255,255,.06);border-bottom-left-radius:3px;}
.tmsg.out{align-self:flex-end;background:color-mix(in srgb,var(--teal) 22%,transparent);border-bottom-right-radius:3px;}
.tmsg-tr{margin-top:.3rem;font-size:.8rem;color:var(--mint);border-top:1px dashed rgba(255,255,255,.12);padding-top:.25rem;}
.tmsg-meta{font-size:.64rem;color:var(--fg-dim);margin-top:.25rem;}
.msg-translate{cursor:pointer;color:var(--teal);text-decoration:underline;}
.thread-input{display:flex;gap:.5rem;align-items:flex-end;border-top:1px solid rgba(255,255,255,.06);padding-top:.5rem;}
.thread-input .chat-input{flex:1;}
@media(max-width:760px){.inbox-grid{grid-template-columns:1fr;height:auto;}.inbox-list{max-height:200px;}.inbox-thread{min-height:460px;}}

/* catalog */
.dest-strip{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem;}
.dest-chip{font-size:.72rem;padding:.2rem .6rem;border-radius:20px;background:var(--card-2);border:1px solid rgba(255,255,255,.06);color:var(--fg-mute);}
.catalog-bar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem;}
.catalog-bar .search-input{flex:1;min-width:200px;}
.prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem;}
.prog-card{background:var(--card);border:1px solid rgba(255,255,255,.07);border-radius:13px;padding:.9rem;transition:.18s;}
.prog-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18);}
.pc-top{display:flex;justify-content:space-between;align-items:center;}
.pc-inst{font-size:.78rem;color:var(--fg-mute);font-weight:600;}
.pc-cc{font-family:var(--font-mono);font-size:.7rem;background:rgba(255,255,255,.08);padding:.05rem .4rem;border-radius:6px;color:var(--fg-dim);}
.pc-name{font-family:var(--font-disp);font-weight:700;font-size:1.02rem;margin:.3rem 0 .15rem;}
.pc-meta{font-size:.76rem;color:var(--fg-dim);}
.pc-tier{color:var(--oro);}
.pc-stats{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.84rem;}
.pc-comm{color:var(--mint);}
.pc-intakes{display:flex;gap:.3rem;margin-top:.5rem;flex-wrap:wrap;}
.intake-chip{font-size:.64rem;padding:.05rem .4rem;border-radius:6px;background:rgba(255,255,255,.07);color:var(--fg-dim);}

/* org tree */
.org-tree{display:flex;flex-direction:column;gap:1rem;}
.org-brand{background:var(--card);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:1rem;}
.ob-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;}
.ob-name{font-family:var(--font-disp);font-weight:700;font-size:1.15rem;}
.ob-stat{font-size:.8rem;color:var(--fg-mute);}
.ob-offices{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.7rem;}
.org-office{background:var(--card-2);border:1px solid rgba(255,255,255,.06);border-radius:11px;padding:.7rem;}
.oo-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;}
.oo-name{font-weight:700;}
.oo-city{font-size:.72rem;color:var(--fg-dim);}
.oo-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem;margin-bottom:.5rem;}
.oo-agents{display:flex;gap:.35rem;flex-wrap:wrap;}
.agent-chip{font-size:.74rem;padding:.15rem .5rem;border-radius:20px;background:rgba(255,255,255,.07);}
.agent-chip small{color:var(--fg-dim);}

/* choose-program modal */
.pm-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);}

/* role-aware home */
.home-hero{margin:-.3rem 0 1.1rem;}
.hh-hi{font-family:var(--font-disp);font-weight:700;font-size:1.6rem;}
.hh-sub{color:var(--fg-mute);margin-top:.15rem;font-size:.9rem;}
.home-quick{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem;}
.quick-link{background:var(--card-2);border:1px solid rgba(255,255,255,.08);color:var(--fg);border-radius:10px;padding:.55rem .9rem;cursor:pointer;font-weight:600;font-size:.86rem;transition:.15s;}
.quick-link:hover{border-color:var(--teal);color:var(--mint);}

/* tasks */
.task-pri{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 auto;}
.task-student{cursor:pointer;color:var(--mint);}
.task-student:hover{text-decoration:underline;}

/* tasks dashboard — grouped by due bucket */
.task-group{margin-bottom:1.1rem;}
.tg-head{display:flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-mute);margin:0 0 .45rem .15rem;}
.tg-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;background:var(--fg-dim);}
.tg-dot.overdue{background:var(--coral);box-shadow:0 0 0 3px color-mix(in srgb,var(--coral) 18%,transparent);}
.tg-dot.today{background:var(--oro);box-shadow:0 0 0 3px color-mix(in srgb,var(--oro) 18%,transparent);}
.tg-dot.week{background:var(--teal);}
.tg-dot.later{background:var(--durazno);}
.tg-dot.none{background:var(--fg-dim);}
.tg-count{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-dim);background:rgba(255,255,255,.06);border-radius:20px;padding:.02rem .45rem;}
.task-row td{vertical-align:middle;}

/* risk register + cross-profile surfacing */
.risk-intro{color:var(--fg-mute);font-size:.9rem;max-width:760px;margin:-.4rem 0 1rem;line-height:1.5;}
.risk-intro em{color:var(--oro);font-style:normal;}
.risk-cards{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:.7rem;}
.risk-card{flex:1;min-width:120px;border-radius:12px;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.08);background:var(--card);}
.risk-card .rc-n{font-family:var(--font-disp);font-weight:700;font-size:1.7rem;line-height:1;}
.risk-card .rc-l{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);margin-top:.2rem;}
.risk-card.high{border-color:color-mix(in srgb,var(--coral) 40%,transparent);background:color-mix(in srgb,var(--coral) 8%,transparent);}
.risk-card.high .rc-n{color:var(--coral);}
.risk-card.medium{border-color:color-mix(in srgb,var(--oro) 35%,transparent);background:color-mix(in srgb,var(--oro) 7%,transparent);}
.risk-card.medium .rc-n{color:var(--oro);}
.risk-card.low{border-color:color-mix(in srgb,var(--mint) 30%,transparent);}
.risk-card.low .rc-n{color:var(--mint);}
.tile-click{cursor:pointer;transition:.15s;}
.tile-click:hover{filter:brightness(1.18);transform:translateY(-1px);}
.risk-card.tile-click.on{box-shadow:0 0 0 2px var(--fg) inset;}
.risk-chip.tile-click.on{outline:2px solid var(--fg);font-weight:700;}
.risk-drivers-bd{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem;}
.rdb-h{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);margin-right:.2rem;}
.risk-badge.high{color:var(--coral);background:color-mix(in srgb,var(--coral) 16%,transparent);font-weight:700;text-transform:capitalize;}
.risk-badge.medium{color:var(--oro);background:color-mix(in srgb,var(--oro) 16%,transparent);font-weight:700;text-transform:capitalize;}
.risk-badge.low{color:var(--mint);background:color-mix(in srgb,var(--mint) 14%,transparent);font-weight:700;text-transform:capitalize;}
.risk-bar{height:6px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden;margin-top:.35rem;}
.risk-fill{height:100%;border-radius:4px;transition:width .4s;}
.risk-fill.high{background:linear-gradient(90deg,var(--coral),#ff5a5a);}
.risk-fill.medium{background:linear-gradient(90deg,var(--durazno),var(--oro));}
.risk-fill.low{background:linear-gradient(90deg,var(--teal),var(--mint));}
.risk-chip{display:inline-block;font-size:.66rem;padding:.1rem .5rem;border-radius:20px;background:rgba(255,255,255,.06);color:var(--fg-mute);margin:.1rem .15rem 0 0;white-space:nowrap;}
.risk-chip.visa{color:var(--coral);background:color-mix(in srgb,var(--coral) 14%,transparent);}
.risk-chip.deadline{color:var(--oro);background:color-mix(in srgb,var(--oro) 14%,transparent);}
.risk-chip.financial{color:var(--durazno);background:color-mix(in srgb,var(--durazno) 16%,transparent);}
.risk-chip.document,.risk-chip.compliance{color:var(--mint);background:color-mix(in srgb,var(--mint) 12%,transparent);}
.risk-chip.engagement,.risk-chip.retention{color:#c4b5fd;background:rgba(196,181,253,.12);}
.risk-po{display:flex;align-items:center;gap:.6rem;cursor:pointer;border-radius:8px;padding:.2rem .25rem;transition:.15s;}
.risk-po:hover{background:rgba(255,255,255,.04);}
.risk-po .who{flex:0 0 auto;}
.risk-po-why{flex:1;text-align:right;overflow:hidden;}
.kpi-clickable{cursor:pointer;transition:.15s;}
.kpi-clickable:hover{border-color:var(--accent,var(--oro));transform:translateY(-1px);}
.pipe-clickable{cursor:pointer;transition:.15s;}
.pipe-clickable:hover{background:rgba(252,226,138,.06);transform:translateY(-1px);}
.funnel-clickable{cursor:pointer;border-radius:8px;transition:.15s;}
.funnel-clickable:hover{background:rgba(255,255,255,.04);}

/* drawer risk panel */
.dw-risk-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;}
.dw-risk-top .risk-bar{flex:1;margin-top:0;}
.dw-risk-drivers{display:flex;flex-direction:column;gap:.3rem;}
.dw-risk-row{display:flex;align-items:center;gap:.5rem;font-size:.82rem;}
.dw-risk-why{flex:1;color:var(--fg-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dw-risk-pts{font-family:var(--font-mono);font-size:.74rem;color:var(--coral);flex:0 0 auto;}

/* applications — operational pipeline */
.app-badge{display:inline-block;font-size:.66rem;font-weight:700;padding:.1rem .5rem;border-radius:20px;white-space:nowrap;}
.app-badge.dim{color:var(--fg-dim);background:rgba(255,255,255,.07);}
.app-badge.oro{color:var(--oro);background:color-mix(in srgb,var(--oro) 16%,transparent);}
.app-badge.teal{color:var(--mint);background:rgba(13,148,136,.2);}
.app-badge.durazno{color:var(--durazno);background:color-mix(in srgb,var(--durazno) 18%,transparent);}
.app-badge.coral{color:var(--coral);background:color-mix(in srgb,var(--coral) 16%,transparent);}
.app-badge.mint{color:var(--mint);background:color-mix(in srgb,var(--mint) 16%,transparent);}
.app-badge.mint-strong{color:#0b1120;background:var(--mint);}
.pri-tag{display:inline-block;font-size:.62rem;font-weight:700;padding:.05rem .4rem;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;}
.pri-tag.p1{color:var(--coral);background:color-mix(in srgb,var(--coral) 14%,transparent);}
.pri-tag.p2{color:var(--oro);background:color-mix(in srgb,var(--oro) 14%,transparent);}
.pri-tag.p3{color:var(--fg-dim);background:rgba(255,255,255,.07);}
.apps-pipe{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.6rem;}
.apps-pcell{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.55rem .8rem;cursor:pointer;display:flex;flex-direction:column;gap:.1rem;min-width:84px;transition:.15s;}
.apps-pcell:hover{border-color:rgba(255,255,255,.22);transform:translateY(-1px);}
.apps-pcell.on{border-color:var(--oro);box-shadow:0 0 0 1px var(--oro) inset;}
.apps-pcell .apc-n{font-family:var(--font-disp);font-weight:700;font-size:1.3rem;line-height:1;}
.apps-pcell .apc-l{font-size:.66rem;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.04em;}
.apps-pcell.mint .apc-n,.apps-pcell.mint-strong .apc-n{color:var(--mint);} .apps-pcell.oro .apc-n{color:var(--oro);}
.apps-pcell.coral .apc-n{color:var(--coral);} .apps-pcell.teal .apc-n{color:var(--mint);} .apps-pcell.durazno .apc-n{color:var(--durazno);}
.apps-offers{font-size:.85rem;color:var(--mint);font-weight:600;margin:.2rem 0 .8rem;}
.dw-app{padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.06);}
.dw-app-top{display:flex;align-items:center;gap:.5rem;}
.dw-app-top .who{flex:1;font-weight:600;}
.dw-app-sub{font-size:.76rem;color:var(--fg-dim);margin:.1rem 0;}
.dw-app-cond{font-size:.72rem;color:var(--durazno);margin:.15rem 0;}
.dw-app-ctl{display:flex;align-items:center;gap:.5rem;margin-top:.3rem;}
.dw-app-ctl .dw-app-status{flex:1;border-radius:8px;}
.inst-actions{display:flex;gap:.3rem;flex-wrap:wrap;}
.cat-meta{font-size:.78rem;color:var(--fg-dim);margin:.2rem 0 .6rem;}
.fx-note{font-size:.74rem;color:var(--fg-dim);margin:.5rem 0 .2rem;font-style:italic;}
.fin-clickable{cursor:pointer;position:relative;transition:.15s;}
.fin-clickable:hover{border-color:var(--accent,var(--oro));transform:translateY(-1px);}
.fin-clickable .fc-more{font-size:.62rem;color:var(--fg-dim);margin-top:.3rem;opacity:0;transition:.15s;}
.fin-clickable:hover .fc-more{opacity:1;}
.brand-tagline{font-family:var(--font-disp);font-weight:700;color:var(--oro);font-size:1.02rem;margin:-.7rem 0 1rem;letter-spacing:.01em;}
/* documentation hub */
.docs-langs{display:flex;gap:.4rem;flex-wrap:wrap;}
.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.7rem;}
.docs-card{display:flex;align-items:center;gap:.7rem;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.8rem;cursor:pointer;transition:.15s;}
.docs-card:hover{border-color:var(--oro);transform:translateY(-1px);}
.docs-card-ic{font-size:1.6rem;flex:0 0 auto;}
.docs-card-main{flex:1;min-width:0;}
.docs-card-t{font-weight:600;font-size:.92rem;}
.docs-card-s{font-size:.74rem;color:var(--mint);}
.docs-dl{flex:0 0 auto;font-size:.66rem;font-weight:700;color:var(--durazno);border:1px solid color-mix(in srgb,var(--durazno) 40%,transparent);border-radius:6px;padding:.2rem .45rem;text-decoration:none;}
.docs-dl:hover{background:color-mix(in srgb,var(--durazno) 16%,transparent);}

/* prep studio */
.prep-types{display:flex;gap:.4rem;flex-wrap:wrap;}
.chip-toggle{background:var(--card-2);border:1px solid rgba(255,255,255,.1);color:var(--fg-mute);border-radius:20px;padding:.3rem .8rem;cursor:pointer;font-size:.8rem;font-weight:600;transition:.15s;}
.chip-toggle.active{background:color-mix(in srgb,var(--oro) 18%,transparent);color:var(--oro);border-color:color-mix(in srgb,var(--oro) 40%,transparent);}
.prep-fb{margin-top:.8rem;border-top:1px solid rgba(255,255,255,.08);padding-top:.7rem;}
.prep-score{font-family:var(--font-disp);font-weight:700;font-size:2rem;line-height:1;}
.prep-score.mint{color:var(--mint);} .prep-score.oro{color:var(--oro);} .prep-score.coral{color:var(--coral);}
.prep-score small{font-size:.9rem;color:var(--fg-dim);}
.prep-h{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim);margin:.7rem 0 .3rem;}
.prep-draft{background:var(--card-2);border-radius:10px;padding:.7rem .8rem;font-size:.86rem;line-height:1.5;color:var(--fg);}
.int-q{background:color-mix(in srgb,var(--teal) 12%,transparent);border-radius:12px 12px 12px 4px;padding:.6rem .8rem;margin:.6rem 0 .3rem;font-size:.9rem;max-width:90%;}
.int-a{background:var(--card-2);border-radius:12px 12px 4px 12px;padding:.6rem .8rem;margin:.3rem 0 .3rem auto;font-size:.88rem;max-width:90%;text-align:right;}
.int-fb{font-size:.8rem;color:var(--fg-mute);margin:.1rem 0 .5rem;}
.int-final{background:color-mix(in srgb,var(--mint) 12%,transparent);border-radius:10px;padding:.7rem .8rem;margin-top:.6rem;font-size:.88rem;}
.int-input{display:flex;gap:.5rem;margin-top:.5rem;}
.int-input textarea{flex:1;}
.house-amen{display:flex;gap:.3rem;flex-wrap:wrap;margin:.3rem 0;}
.housing-card .pc-stats{align-items:center;}
.schol-odds{font-size:.66rem;font-weight:700;padding:.05rem .45rem;border-radius:20px;margin:0 .4rem;}
.schol-odds.good{color:var(--mint);background:color-mix(in srgb,var(--mint) 16%,transparent);}
.schol-odds.mid{color:var(--oro);background:color-mix(in srgb,var(--oro) 16%,transparent);}
.schol-odds.low{color:var(--fg-dim);background:rgba(255,255,255,.07);}

/* revenue forecast chart */
.fc-totals{display:flex;gap:1.2rem;flex-wrap:wrap;margin-bottom:1rem;}
.fc-chart{display:flex;align-items:flex-end;gap:.5rem;height:160px;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.08);}
.fc-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%;justify-content:flex-end;}
.fc-stack{position:relative;width:60%;max-width:42px;flex:1;display:flex;align-items:flex-end;}
.fc-range{position:absolute;bottom:0;width:100%;background:repeating-linear-gradient(0deg,rgba(94,234,212,.10),rgba(94,234,212,.10) 3px,transparent 3px,transparent 6px);border-radius:4px;}
.fc-proj{position:absolute;bottom:0;width:100%;background:color-mix(in srgb,var(--teal) 45%,transparent);border-radius:4px;}
.fc-booked{position:absolute;bottom:0;width:100%;background:var(--mint);border-radius:4px;}
.fc-x{font-size:.66rem;color:var(--fg-dim);font-family:var(--font-mono);}
.fc-legend{display:flex;gap:1rem;margin-top:.6rem;font-size:.72rem;color:var(--fg-mute);}
.fc-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.3rem;vertical-align:middle;}
.fc-k.booked{background:var(--mint);} .fc-k.proj{background:color-mix(in srgb,var(--teal) 45%,transparent);} .fc-k.range{background:repeating-linear-gradient(0deg,rgba(94,234,212,.2),rgba(94,234,212,.2) 2px,transparent 2px,transparent 4px);}

/* next-best-action cards */
.nba-bd{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.2rem 0 1rem;}
.nba-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:.7rem;}
.nba-card{display:flex;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;cursor:pointer;transition:.15s;}
.nba-card:hover{border-color:rgba(255,255,255,.22);transform:translateY(-1px);}
.nba-rail{width:4px;flex:0 0 auto;background:var(--fg-dim);}
.nba-rail.mint{background:var(--mint);} .nba-rail.oro{background:var(--oro);} .nba-rail.coral{background:var(--coral);} .nba-rail.durazno{background:var(--durazno);} .nba-rail.teal{background:var(--teal);}
.nba-body{padding:.6rem .8rem;flex:1;min-width:0;}
.nba-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.3rem;}
.nba-chip{display:inline-block;font-size:.64rem;font-weight:700;padding:.08rem .5rem;border-radius:20px;background:rgba(255,255,255,.07);color:var(--fg-mute);white-space:nowrap;}
.nba-chip.mint{color:var(--mint);background:color-mix(in srgb,var(--mint) 14%,transparent);}
.nba-chip.oro{color:var(--oro);background:color-mix(in srgb,var(--oro) 14%,transparent);}
.nba-chip.coral{color:var(--coral);background:color-mix(in srgb,var(--coral) 14%,transparent);}
.nba-chip.durazno{color:var(--durazno);background:color-mix(in srgb,var(--durazno) 16%,transparent);}
.nba-chip.teal{color:var(--mint);background:rgba(13,148,136,.2);}
.nba-chip.tile-click.on{outline:2px solid var(--fg);}
/* agent live feed + ambient presence */
.agent-feed{display:flex;flex-direction:column;gap:.3rem;margin:.4rem 0;}
.agent-ev{display:flex;align-items:center;gap:.6rem;background:var(--card);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.5rem .8rem;animation:evIn .35s ease;}
@keyframes evIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.ae-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;}
.ae-agent{font-weight:700;font-size:.85rem;flex:0 0 auto;min-width:76px;}
.ae-text{flex:1;font-size:.85rem;color:var(--fg-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ae-live{font-size:.64rem;color:var(--mint);flex:0 0 auto;letter-spacing:.04em;}
.ae-dot.mint{background:var(--mint);} .ae-agent.mint{color:var(--mint);}
.ae-dot.oro{background:var(--oro);} .ae-agent.oro{color:var(--oro);}
.ae-dot.coral{background:var(--coral);} .ae-agent.coral{color:var(--coral);}
.ae-dot.durazno{background:var(--durazno);} .ae-agent.durazno{color:var(--durazno);}
.ae-dot.teal{background:var(--teal);} .ae-agent.teal{color:var(--mint);}
.agent-presence{position:fixed;left:1.1rem;bottom:1.1rem;z-index:200;display:flex;align-items:center;gap:.55rem;background:var(--card-2);border:1px solid rgba(255,255,255,.12);border-radius:30px;padding:.5rem .9rem;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:.15s;}
.agent-presence:hover{border-color:var(--oro);transform:translateY(-1px);}
.ap-txt{font-size:.8rem;color:var(--fg-mute);}
.ap-pulse{width:10px;height:10px;border-radius:50%;flex:0 0 auto;position:relative;}
.ap-pulse.mint{background:var(--mint);} .ap-pulse.oro{background:var(--oro);} .ap-pulse.coral{background:var(--coral);} .ap-pulse.durazno{background:var(--durazno);} .ap-pulse.teal{background:var(--teal);}
.ap-pulse::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--mint);opacity:.5;animation:apPulse 1.8s infinite;}
.ap-pulse.oro::after{border-color:var(--oro);} .ap-pulse.coral::after{border-color:var(--coral);} .ap-pulse.durazno::after{border-color:var(--durazno);} .ap-pulse.teal::after{border-color:var(--teal);}
@keyframes apPulse{0%{transform:scale(.7);opacity:.6}100%{transform:scale(2);opacity:0}}
.text-durazno{color:var(--durazno);} .text-teal{color:var(--mint);}
/* language toggle */
.lang-toggle{display:inline-flex;border:1px solid rgba(255,255,255,.16);border-radius:20px;overflow:hidden;vertical-align:middle;}
.lang-btn{background:transparent;border:none;color:var(--fg-dim);font-size:.72rem;font-weight:700;padding:.28rem .6rem;cursor:pointer;transition:.15s;}
.lang-btn:hover{color:var(--fg);}
.lang-btn.on{background:var(--oro);color:#0b1120;}
.nba-score{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-dim);}
.nba-title{font-weight:600;font-size:.9rem;margin-bottom:.2rem;}
.nba-reason{font-size:.78rem;color:var(--fg-mute);line-height:1.4;margin-bottom:.35rem;}
.nba-action{font-size:.78rem;color:var(--mint);font-weight:600;}
.drill-chip{display:inline-flex;align-items:center;gap:.45rem;background:color-mix(in srgb,var(--oro) 14%,transparent);color:var(--oro);border-radius:20px;padding:.25rem .7rem;font-size:.78rem;font-weight:600;white-space:nowrap;}
.drill-clear{cursor:pointer;font-weight:700;opacity:.7;}
.drill-clear:hover{opacity:1;}
.org-office .oo-head{cursor:pointer;border-radius:8px;transition:.15s;}
.org-office .oo-head:hover{background:rgba(252,226,138,.06);}
.agent-chip.drillable{cursor:pointer;transition:.15s;}
.agent-chip.drillable:hover{border-color:var(--teal);color:var(--mint);}
.cat-pager{display:flex;gap:.5rem;justify-content:center;margin:.9rem 0;}
.curated-badge{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:color-mix(in srgb,var(--mint) 22%,transparent);color:var(--mint);font-size:.62rem;font-weight:700;vertical-align:middle;}
/* student-facing applications */
.stu-offers{font-size:.9rem;color:var(--mint);font-weight:700;margin-bottom:.5rem;}
.stu-app{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;}
.stu-app-main{flex:1;min-width:0;}
.stu-app .sa-inst{font-weight:600;}
.stu-app .sa-prog{font-size:.76rem;color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sa-cond{font-size:.72rem;color:var(--durazno);margin:-.1rem 0 .35rem;}

/* student-facing gentle attention card */
.stu-attention{background:color-mix(in srgb,var(--oro) 8%,transparent);border:1px solid color-mix(in srgb,var(--oro) 30%,transparent);border-radius:14px;padding:.8rem 1rem;margin:.2rem 0 1rem;}
.stu-attention.soft{background:rgba(94,234,212,.06);border-color:color-mix(in srgb,var(--mint) 26%,transparent);}
.stu-attention.soft .sa-head{color:var(--mint);}
.sa-head{font-weight:700;font-size:.92rem;color:var(--oro);margin-bottom:.4rem;}
.sa-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.25rem;}
.sa-list li{font-size:.86rem;color:var(--fg);}

/* activity timeline */
.timeline{display:flex;flex-direction:column;gap:.1rem;}
.tl-item{display:flex;gap:.6rem;padding:.35rem 0;}
.tl-dot{width:8px;height:8px;border-radius:50%;background:var(--teal);margin-top:.35rem;flex:0 0 auto;box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 20%,transparent);}
.tl-body{font-size:.84rem;color:var(--fg);}
.tl-meta{font-size:.7rem;color:var(--fg-dim);}

/* analytics funnel + conversion bars */
.funnel{display:flex;flex-direction:column;gap:.35rem;}
.funnel-row{display:flex;align-items:center;gap:.7rem;}
.fr-name{width:130px;font-size:.82rem;color:var(--fg-mute);flex:0 0 auto;}
.fr-bar{flex:1;height:18px;border-radius:5px;background:rgba(255,255,255,.06);overflow:hidden;}
.fr-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--mint));}
.fr-n{width:42px;text-align:right;font-family:var(--font-mono);font-size:.8rem;color:var(--fg-mute);}
.conv-bar{display:inline-block;width:90px;height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;vertical-align:middle;margin-right:.4rem;}
.conv-fill{height:100%;background:linear-gradient(90deg,var(--durazno),var(--mint));}
.conv-pct{font-family:var(--font-mono);font-size:.78rem;color:var(--fg-mute);}

/* documents (OCR) */
.doc-card{background:var(--card-2);border:1px solid rgba(255,255,255,.05);border-radius:9px;padding:.5rem .6rem;margin-bottom:.4rem;}
.doc-card .doc-row{border:none;padding:0;}
.doc-view{margin-left:auto;background:none;border:1px solid rgba(255,255,255,.14);color:var(--teal);border-radius:6px;font-size:.7rem;padding:.1rem .45rem;cursor:pointer;}
.doc-view:hover{border-color:var(--teal);}
.doc-ex{font-size:.76rem;color:var(--fg-mute);margin-top:.35rem;font-family:var(--font-mono);}
.doc-flags{font-size:.74rem;color:var(--durazno);margin-top:.25rem;}
.stu-doc-view{margin-left:auto;background:none;border:1px solid rgba(255,255,255,.14);color:var(--teal);border-radius:6px;font-size:.7rem;padding:.1rem .45rem;cursor:pointer;}

/* student app: tabs, profile, journey track, to-do */
.stu-tabs{position:sticky;top:48px;z-index:4;display:flex;gap:.2rem;overflow-x:auto;background:rgba(11,17,32,.9);backdrop-filter:blur(10px);padding:.4rem .6rem;border-bottom:1px solid rgba(255,255,255,.06);}
.stu-tab{flex:0 0 auto;background:none;border:none;color:var(--fg-dim);font-weight:600;font-size:.84rem;padding:.45rem .8rem;border-radius:8px;cursor:pointer;}
.stu-tab.active{background:color-mix(in srgb,var(--teal) 22%,transparent);color:var(--mint);}
.stu-profile{display:flex;gap:.8rem;align-items:center;padding:.6rem 0 1rem;}
.stu-avatar{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--mint));color:#06231f;display:grid;place-items:center;font-family:var(--font-disp);font-weight:700;font-size:1.2rem;flex:0 0 auto;}
.stu-pname{font-family:var(--font-disp);font-weight:700;font-size:1.25rem;}
.stu-pmeta{color:var(--fg-mute);font-size:.88rem;}
.stu-pmeta2{color:var(--fg-dim);font-size:.78rem;margin-top:.1rem;}
/* student journey — horizontal track */
.stu-htrack{display:flex;overflow-x:auto;padding:1.4rem .2rem 1.2rem;gap:0;scrollbar-width:thin;}
.sh-node{flex:0 0 98px;text-align:center;position:relative;padding-top:6px;opacity:.5;transition:.2s;}
.sh-node.done,.sh-node.current{opacity:1;}
.sh-node::before{content:'';position:absolute;top:22px;left:-49px;width:98px;height:2px;background:rgba(255,255,255,.12);z-index:0;}
.sh-node:first-child::before{display:none;}
.sh-node.done::before,.sh-node.current::before{background:var(--mint);}
.sh-dot{width:32px;height:32px;border-radius:50%;background:var(--card-2);border:2px solid rgba(255,255,255,.15);display:grid;place-items:center;margin:0 auto .45rem;font-weight:700;font-size:.82rem;position:relative;z-index:1;}
.sh-node.done .sh-dot{background:color-mix(in srgb,var(--mint) 22%,transparent);border-color:var(--mint);color:var(--mint);}
.sh-node.current .sh-dot{background:color-mix(in srgb,var(--oro) 25%,transparent);border-color:var(--oro);color:var(--oro);box-shadow:0 0 0 5px color-mix(in srgb,var(--oro) 16%,transparent);}
.sh-name{font-size:.78rem;font-weight:600;line-height:1.12;padding:0 .15rem;}
.sh-agent{font-size:.66rem;color:var(--fg-dim);margin-top:.1rem;}
.sh-now{display:inline-block;margin-top:.35rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.05em;color:var(--oro);border:1px solid var(--oro);border-radius:20px;padding:.02rem .4rem;}
.sjc-name{font-family:var(--font-disp);font-weight:700;font-size:1.05rem;margin:.2rem 0;}
.sjc-next{color:var(--fg-mute);font-size:.9rem;}
.sh-node{cursor:pointer;outline:none;}
.sh-node:focus-visible .sh-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 35%,transparent);}
#sh-tip{position:fixed;z-index:60;max-width:260px;background:var(--navy-2);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:.55rem .7rem;font-size:.76rem;color:var(--fg-mute);box-shadow:0 12px 32px rgba(0,0,0,.5);pointer-events:none;opacity:0;transition:opacity .12s;line-height:1.45;}
#sh-tip.show{opacity:1;}
#sh-tip .sh-tip-h{font-weight:700;color:var(--fg);margin-bottom:.25rem;font-size:.82rem;}
.todo-item{display:flex;align-items:center;gap:.55rem;padding:.4rem 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.86rem;}
.todo-dot{width:8px;height:8px;border-radius:50%;background:var(--oro);flex:0 0 auto;}
.todo-dot.hi{background:var(--coral);}
.todo-label{flex:1;}
.todo-due{font-size:.72rem;color:var(--fg-dim);}

/* rep quota */
.quota-card .qc-top{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.45rem;}
.qc-val{font-family:var(--font-mono);color:var(--fg-mute);}
.qbar{height:12px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden;}
.qfill{height:100%;background:linear-gradient(90deg,var(--durazno),var(--mint));transition:width .5s;}
.qfill.done{background:linear-gradient(90deg,var(--teal),var(--mint));}
.qc-pct{font-size:.74rem;color:var(--fg-dim);margin-top:.3rem;text-align:right;}
.qc-pct.green{color:var(--mint);}

/* ============================================================================
   Money flow + Settlement engine — the demo's finance "wow", wired to live data
   (ported 1:1 from site/assets/educatio.css, prefixed mf-) ==================== */
.mf-results{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:0 0 1.4rem;}
@media (max-width:900px){.mf-results{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.mf-results{grid-template-columns:1fr;}}
.mf-result{padding:1.4rem 1.5rem;border-radius:var(--r-md);border:1px solid var(--line);background:var(--card);position:relative;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s;}
.mf-result:hover{border-color:rgba(252,226,138,.4);transform:translateY(-2px);}
.mf-result .k{font-family:var(--font-mono);font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);}
.mf-result .v{font-family:var(--font-disp);font-weight:700;font-size:clamp(1.6rem,2.6vw,2.3rem);margin-top:.25rem;line-height:1;}
.mf-result .v.in{color:var(--mint);}.mf-result .v.collect{color:var(--oro);}.mf-result .v.out{color:var(--coral);}.mf-result .v.net{color:var(--oro);}
.mf-result .sub{font-size:.74rem;color:var(--fg-mute);margin-top:.55rem;}
.mf-result .spark{font-family:var(--font-mono);font-size:.68rem;margin-top:.5rem;color:var(--mint);}
.mf-result .meter{height:5px;border-radius:99px;background:rgba(242,240,235,.1);margin-top:.7rem;overflow:hidden;}
.mf-result .meter i{display:block;height:100%;background:var(--grad-sun);border-radius:99px;}
.mf-result.net-card{background:linear-gradient(180deg,rgba(252,226,138,.13),var(--card-2));border-color:rgba(252,226,138,.42);box-shadow:var(--glow-oro);}
.mf-result .drill{position:absolute;right:.9rem;bottom:.7rem;font-size:.6rem;color:var(--fg-dim);opacity:0;transition:opacity .2s;}
.mf-result:hover .drill{opacity:1;}
.mf-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.6rem;}
@media (max-width:1000px){.mf-grid{grid-template-columns:1fr;}}
.mf-flow,.mf-settle{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--card-2);padding:1.5rem;}
.mf-flow svg{width:100%;height:auto;display:block;}
.mf-panel-h{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:1.1rem;}
.mf-auto-pill{margin-left:auto;display:inline-flex;align-items:center;gap:.45rem;font-size:.56rem;letter-spacing:.04em;text-transform:none;color:var(--mint);background:rgba(94,234,212,.1);border:1px solid rgba(94,234,212,.25);padding:.28rem .6rem;border-radius:999px;}
.mf-auto-pill b{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 8px var(--mint);animation:pulse 2s infinite;}
.mf-tiers-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.6rem;}
.mf-tiers{display:flex;gap:.6rem;flex-wrap:wrap;}
.mf-tier{flex:1;min-width:120px;padding:1rem;border-radius:14px;background:rgba(11,17,32,.5);border:1px solid var(--line);}
.mf-tier .lvl{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);}
.mf-tier .nm{font-weight:600;margin:.25rem 0;}
.mf-tier .sp{font-family:var(--font-mono);color:var(--oro);font-size:1.1rem;}
.mf-po-h{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);margin:1.4rem 0 .6rem;}
.mf-payouts{display:grid;gap:.5rem;}
.mf-po{display:grid;grid-template-columns:1fr auto auto auto;gap:.8rem;align-items:center;padding:.62rem .85rem;border-radius:12px;background:rgba(11,17,32,.5);border:1px solid var(--line);}
.mf-po .who{font-weight:600;font-size:.86rem;}
.mf-po .amt{color:var(--oro);font-size:.86rem;font-family:var(--font-mono);}
.mf-po .dt{font-family:var(--font-mono);font-size:.7rem;color:var(--fg-dim);}
.mf-po .pst{font-family:var(--font-mono);font-size:.6rem;padding:.2rem .55rem;border-radius:999px;white-space:nowrap;}
.mf-po .pst.ready{color:var(--mint);background:rgba(94,234,212,.12);}
.mf-po .pst.sched{color:var(--durazno);background:rgba(247,178,133,.14);}
.mf-po .pst.hold{color:var(--coral);background:rgba(243,130,129,.14);}
.mf-po-total{display:flex;justify-content:space-between;align-items:center;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-mute);}
.mf-po-total b{font-family:var(--font-disp);font-size:1.5rem;color:var(--oro);}
@media (max-width:560px){.mf-po{grid-template-columns:1fr auto;row-gap:.15rem;}.mf-po .dt{display:none;}}

/* ============================================================================
   Plan de aplicación — post-apply 7-phase timeline (staff drawer + student app)
   ============================================================================ */
.aplan-head{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.9rem;}
.aplan-prog{font-family:var(--font-mono);font-size:.72rem;color:var(--fg-mute);white-space:nowrap;}
.aplan-bar{flex:1;min-width:80px;height:6px;border-radius:99px;background:rgba(242,240,235,.1);overflow:hidden;}
.aplan-bar i{display:block;height:100%;background:var(--grad-sun);border-radius:99px;transition:width .5s;}
.aplan-tl{position:relative;padding-left:6px;}
.aplan-ph{position:relative;display:flex;gap:.8rem;padding:0 0 1rem 1.4rem;}
.aplan-ph::before{content:"";position:absolute;left:6px;top:18px;bottom:-2px;width:2px;background:var(--line);}
.aplan-ph:last-child::before{display:none;}
.aplan-dot{position:absolute;left:0;top:2px;width:14px;height:14px;border-radius:50%;display:grid;place-items:center;
  font-size:.6rem;font-weight:700;color:#0B1120;background:rgba(242,240,235,.18);border:2px solid var(--bg);z-index:1;}
.aplan-ph.done .aplan-dot{background:var(--mint);}
.aplan-ph.active .aplan-dot{background:var(--oro);box-shadow:0 0 0 4px rgba(252,226,138,.18);animation:pulse 2s infinite;}
.aplan-ph.upcoming .aplan-dot{background:rgba(242,240,235,.22);}
.aplan-main{flex:1;min-width:0;}
.aplan-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.aplan-label{font-weight:600;font-size:.9rem;color:var(--fg);}
.aplan-ph.upcoming .aplan-label{color:var(--fg-mute);}
.aplan-agent{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mint);
  background:rgba(94,234,212,.1);border:1px solid rgba(94,234,212,.22);padding:.06rem .4rem;border-radius:999px;}
.aplan-date{font-family:var(--font-mono);font-size:.68rem;color:var(--durazno);margin-left:auto;}
.aplan-detail{font-size:.8rem;color:var(--fg-mute);margin-top:.15rem;}
.aplan-ph.active .aplan-detail{color:var(--fg);}

/* ── Career & first-level advising (student) ─────────────────────────────── */
.cv-card{background:var(--card,rgba(24,36,64,.5));border:1px solid var(--line,rgba(255,255,255,.08));border-radius:16px;padding:1rem 1.1rem;margin:.8rem 0;}
.cv-h{font-family:var(--font-head,inherit);font-weight:700;color:var(--oro,#FCE28A);margin-bottom:.5rem;font-size:1rem;}
.cv-sum{margin:.2rem 0 .5rem;line-height:1.5;}
.cv-next{color:var(--mint,#5EEAD4);font-weight:600;margin-bottom:.5rem;}
.cite-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.4rem;}
.cite-lbl{font-size:.72rem;color:var(--fg-mute);text-transform:uppercase;letter-spacing:.05em;}
.cite-chip{font-family:var(--font-mono,monospace);font-size:.66rem;background:rgba(94,234,212,.1);border:1px solid rgba(94,234,212,.25);color:var(--mint,#5EEAD4);padding:.1rem .45rem;border-radius:999px;}
.cv-disc{font-size:.7rem;color:var(--fg-mute);margin-top:.5rem;font-style:italic;}
.cv-cta{text-align:center;}
.cv-buckets{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem;}
.cv-bucket{background:rgba(252,226,138,.12);border:1px solid rgba(252,226,138,.3);color:var(--oro,#FCE28A);padding:.2rem .6rem;border-radius:999px;font-weight:600;font-size:.8rem;}
.cv-fields{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.5rem;}
.cv-field{display:flex;justify-content:space-between;font-size:.85rem;border-bottom:1px solid var(--line);padding:.25rem 0;}
.cv-field span{color:var(--fg-mute);font-family:var(--font-mono,monospace);font-size:.75rem;}
.cv-careers{font-size:.82rem;color:var(--durazno,#F7B285);margin:.3rem 0;}
.cv-outlook{font-family:var(--font-mono,monospace);font-size:.78rem;color:var(--mint,#5EEAD4);margin-bottom:.6rem;}
.cv-src{font-size:.68rem;color:var(--fg-mute);margin-top:.5rem;}
.path-list{display:flex;flex-direction:column;gap:.1rem;}
.path-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-left:2px solid var(--line);padding-left:.9rem;position:relative;}
.path-dot{position:absolute;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--line);}
.path-row.done .path-dot{background:var(--mint,#5EEAD4);}
.path-row.active .path-dot{background:var(--coral,#F38281);box-shadow:0 0 0 3px rgba(243,130,129,.25);}
.path-row.active{background:rgba(243,130,129,.06);border-left-color:var(--coral,#F38281);}
.path-yr{font-family:var(--font-mono,monospace);font-size:.68rem;color:var(--durazno,#F7B285);min-width:2.2rem;}
.path-lbl{flex:1;font-size:.85rem;}
.path-row.upcoming .path-lbl{color:var(--fg-mute);}
.path-agent{font-family:var(--font-mono,monospace);font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mint,#5EEAD4);}
.ready-bar{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;margin:.3rem 0 .7rem;}
.ready-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--teal,#0D9488),var(--mint,#5EEAD4));}
.skill-grp{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin:.35rem 0;}
.skill-lbl{font-size:.72rem;color:var(--fg-mute);text-transform:uppercase;letter-spacing:.05em;min-width:5.5rem;}
.skill-chip{padding:.12rem .5rem;border-radius:999px;font-size:.76rem;}
.skill-chip.have{background:rgba(94,234,212,.12);border:1px solid rgba(94,234,212,.28);color:var(--mint,#5EEAD4);}
.skill-chip.gap{background:rgba(247,178,133,.12);border:1px solid rgba(247,178,133,.3);color:var(--durazno,#F7B285);}
.cv-actions{margin:.4rem 0 0;padding-left:1.1rem;font-size:.82rem;color:var(--fg-mute);}
.cv-actions li{margin:.2rem 0;}
.ask-row,.appt-form{display:flex;gap:.4rem;margin-bottom:.5rem;flex-wrap:wrap;}
.ask-row input,.appt-form input,.appt-form select{flex:1;min-width:8rem;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;padding:.45rem .6rem;color:var(--fg);}
.ask-ans{line-height:1.5;margin:.3rem 0;}
.ask-cite{font-size:.74rem;margin:.2rem 0;color:var(--fg-mute);}
.appt-list{display:flex;flex-direction:column;gap:.25rem;}
.appt-row{display:flex;align-items:center;gap:.6rem;font-size:.82rem;padding:.3rem .1rem;border-bottom:1px solid var(--line);}
.appt-kind{font-family:var(--font-mono,monospace);font-size:.66rem;color:var(--mint,#5EEAD4);background:rgba(94,234,212,.1);padding:.08rem .4rem;border-radius:999px;}
.appt-x{margin-left:auto;background:none;border:none;color:var(--coral,#F38281);cursor:pointer;font-size:.9rem;}
.cvq{margin-top:.7rem;display:flex;flex-direction:column;gap:.4rem;}
.cvq-q{font-weight:600;}
.cvq-n{font-family:var(--font-mono,monospace);font-size:.7rem;color:var(--fg-mute);}
.cvq-opt{text-align:left;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;color:var(--fg);cursor:pointer;transition:.15s;}
.cvq-opt:hover{background:rgba(94,234,212,.1);border-color:var(--mint,#5EEAD4);}
