/* Dinero Claro · Asesor para estudiantes */
.advisor{margin-bottom:18px}
.advisor .panel-head{align-items:flex-start;gap:12px}
.advisor-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.advisor-head-actions .btn{white-space:nowrap}
.advisor-sub{margin:22px 0 10px;font-size:1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.advisor-sub small{font-size:.76rem;font-weight:600;color:var(--muted)}

.advisor-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.adv-stat{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fbfcfc;min-width:0}
.adv-stat span{display:block;font-size:.72rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.adv-stat strong{display:block;font-size:1.3rem;letter-spacing:-.02em;margin:3px 0 1px;font-variant-numeric:tabular-nums}
.adv-stat strong em{font-style:normal;font-size:.8rem;color:var(--muted);margin-left:2px}
.adv-stat small{font-size:.76rem;color:var(--muted)}
.adv-stat.good strong{color:var(--mint-dark)}
.adv-stat.bad strong{color:#c4452c}
.adv-stat.accent{background:var(--navy);border-color:var(--navy);color:#fff}
.adv-stat.accent span,.adv-stat.accent small,.adv-stat.accent strong em{color:#b7cad2}
.adv-stat.accent strong{color:var(--mint)}

.advisor-alerts{display:grid;gap:8px}
.adv-alert{display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px;padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:#fff}
.adv-alert strong{display:block;font-size:.95rem}
.adv-alert p{margin:3px 0 0;font-size:.86rem;color:#3d5563}
.adv-alert .adv-alert-action{color:var(--ink);font-weight:600}
.adv-alert-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--mint)}
.adv-alert.bad{background:#fff5f2;border-color:#ffd2c6}
.adv-alert.bad .adv-alert-dot{background:#e5573b}
.adv-alert.warn{background:#fffaf0;border-color:#f6e2b3}
.adv-alert.warn .adv-alert-dot{background:#e0a526}
.adv-alert.good{background:#f0fbf6;border-color:#bfe9d6}

.advisor-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.adv-cat{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.adv-cat:hover{border-color:#b9cdd3;box-shadow:0 6px 18px rgba(17,43,59,.06)}
.adv-cat:focus-visible{outline:3px solid rgba(80,211,160,.55);outline-offset:2px}
.adv-cat-icon{width:38px;height:38px;border-radius:11px;background:#f1f5f6;display:grid;place-items:center;font-size:1.15rem}
.adv-cat-main{display:grid;gap:5px;min-width:0}
.adv-cat-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 8px;align-items:baseline}
.adv-cat-name{font-weight:700;font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adv-cat-name i{font-style:normal;font-size:.66rem;font-weight:800;color:var(--muted);background:#eef3f4;border-radius:6px;padding:1px 5px;margin-left:3px;vertical-align:1px}
.adv-cat-amount{font-size:.8rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.adv-cat-amount b{color:var(--ink)}
.adv-cat small{font-size:.74rem;color:var(--muted)}
.adv-bar{position:relative;display:block;height:8px;border-radius:999px;background:#e8eef0;overflow:visible}
.adv-bar>span{display:block;height:100%;border-radius:999px;background:var(--mint)}
.adv-bar>i{position:absolute;top:-3px;width:2px;height:14px;background:var(--navy);border-radius:2px;opacity:.55;transform:translateX(-1px)}
.adv-cat.warn .adv-bar>span{background:#e8b13a}
.adv-cat.warn small{color:#9a6b05}
.adv-cat.bad .adv-bar>span{background:#e5573b}
.adv-cat.bad small{color:#c4452c;font-weight:700}
.adv-cat.bad{border-color:#ffd2c6}
.adv-cat.none .adv-bar>span{background:#b9c7cd}
.advisor-legend{margin:8px 0 0;font-size:.74rem;color:var(--muted);display:flex;align-items:center;gap:7px}
.advisor-legend i{display:inline-block;width:2px;height:12px;background:var(--navy);opacity:.55;border-radius:2px}
.advisor-empty{margin-top:14px;padding:16px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:.9rem}

.advisor-income{margin-top:4px;padding:18px;border-radius:16px;background:linear-gradient(120deg,#f2fbf7,#fff);border:1px solid #bfe9d6}
.advisor-income label{display:grid;gap:3px;margin-bottom:12px}
.advisor-income label span{font-size:.84rem;color:var(--muted)}
.advisor-income-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.advisor-income-row input{width:150px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:1.1rem;font-weight:700;background:#fff;color:var(--ink)}
.advisor-income-row>span{color:var(--muted);font-weight:700}

.advisor-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.advisor-edit-grid label{display:grid;gap:4px;font-size:.84rem;font-weight:700}
.advisor-edit-grid small{font-weight:500;color:var(--muted);font-size:.74rem}
.adv-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fbfcfc;padding-right:11px}
.adv-input:focus-within{outline:3px solid rgba(80,211,160,.45);border-color:var(--mint)}
.adv-input input{flex:1;min-width:0;border:0;background:transparent;padding:10px 12px;outline:0;color:var(--ink);font-weight:700}
.adv-input em{font-style:normal;color:var(--muted)}
.advisor-edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}

.adv-peer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.adv-peer{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:7px;min-width:0}
.adv-peer-top{display:grid;gap:2px}
.adv-peer-top strong{font-size:.9rem}
.adv-peer-top span{font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}
.adv-peer-bar{position:relative;height:8px;border-radius:999px;background:#e8eef0}
.adv-peer-bar>span{display:block;height:100%;border-radius:999px;background:var(--blue)}
.adv-peer-bar>i{position:absolute;top:-4px;width:3px;height:16px;border-radius:2px;background:var(--navy);transform:translateX(-1px)}
.adv-peer small{font-size:.76rem;color:var(--muted)}
.adv-peer.over small{color:#9a6b05;font-weight:700}
.advisor-source{margin:10px 0 0;font-size:.72rem;color:var(--muted)}

/* Botón flotante y hoja rápida */
.quick-fab{position:fixed;right:26px;bottom:26px;z-index:40;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--mint);color:#06392b;font-weight:800;padding:14px 20px 14px 16px;box-shadow:0 14px 32px rgba(8,127,96,.35)}
.quick-fab span{font-size:1.5rem;line-height:1;margin-top:-2px}
.quick-fab em{font-style:normal}
.quick-fab:hover{background:#6fe6b4}
.quick-fab:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
body.quick-open .quick-fab{display:none}
.quick-add{position:fixed;inset:0;z-index:80;background:rgba(8,26,36,.6);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;padding:20px}
.quick-add[hidden]{display:none!important}
.quick-card{width:min(520px,100%);background:#fff;border-radius:24px;padding:18px 18px 20px;box-shadow:0 30px 70px rgba(0,0,0,.3);animation:quickUp .18s ease-out;max-height:calc(100vh - 40px);overflow:auto}
@keyframes quickUp{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
.quick-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.quick-toggle{display:inline-flex;background:#eef3f4;border-radius:12px;padding:4px}
.quick-toggle button{border:0;background:transparent;border-radius:9px;padding:8px 16px;font-weight:800;color:var(--muted)}
.quick-toggle button.on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(17,43,59,.1)}
.quick-close{border:0;background:#eef3f4;border-radius:50%;width:36px;height:36px;color:var(--ink)}
.quick-amount{display:flex;align-items:center;gap:6px;border-bottom:2px solid var(--line);padding:4px 2px 6px;margin-bottom:10px}
.quick-amount:focus-within{border-color:var(--mint)}
.quick-amount input{flex:1;min-width:0;border:0;outline:0;font-size:2.4rem;font-weight:800;letter-spacing:-.03em;color:var(--ink);background:transparent;font-variant-numeric:tabular-nums}
.quick-amount em{font-style:normal;font-size:1.6rem;font-weight:800;color:var(--muted)}
.quick-amount.shake{animation:quickShake .35s}
@keyframes quickShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.quick-note{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#fbfcfc;color:var(--ink);outline:0}
.quick-note:focus{border-color:var(--mint)}
.quick-hint{margin:14px 0 8px;font-size:.78rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.quick-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.quick-chips button{display:grid;justify-items:center;gap:3px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 6px;font-weight:700;font-size:.84rem;color:var(--ink);min-height:74px}
.quick-chips button span{font-size:1.35rem}
.quick-chips button small{font-size:.68rem;font-weight:600;color:var(--muted)}
.quick-chips button:hover{border-color:var(--mint);background:#f3fcf8}
.quick-chips button.pre{border-color:var(--mint);background:#effaf5;box-shadow:inset 0 0 0 1px var(--mint)}
.quick-chips button.over small{color:#c4452c}
.quick-demo{margin:12px 0 0;font-size:.78rem;color:#9a6b05;background:#fffaf0;border-radius:10px;padding:8px 10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

@media(max-width:1100px){.advisor-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){
  .quick-fab{right:18px;bottom:88px;padding:14px 16px}
  .quick-fab em{display:none}
  main{padding-bottom:150px}
}
@media(max-width:760px){
  .advisor-cats,.adv-peer-grid{grid-template-columns:1fr}
  .advisor-edit-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .advisor .panel-head{flex-direction:column}
  .advisor-head-actions{width:100%;justify-content:stretch}
  .advisor-head-actions .btn{flex:1}
  .adv-stat{padding:10px 12px}
  .adv-stat strong{font-size:1.1rem}
  .quick-add{padding:0}
  .quick-card{border-radius:22px 22px 0 0;max-height:92vh;padding-bottom:max(20px,env(safe-area-inset-bottom))}
}
@media(max-width:420px){.advisor-edit-grid{grid-template-columns:1fr}.advisor-income-row input{width:100%}.advisor-income-row .btn{width:100%}}

/* Fecha y edición en la hoja rápida */
.quick-title{font-size:1.05rem}
.quick-dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}
.quick-dates button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-weight:700;font-size:.84rem;color:var(--muted)}
.quick-dates button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.quick-dates input{border:1px solid var(--line);border-radius:10px;padding:6px 10px;color:var(--ink);background:#fbfcfc}
.quick-delete{display:block;width:100%;margin-top:14px;border:1px solid #ffd2c6;background:#fff5f2;color:#c4452c;border-radius:12px;padding:11px;font-weight:800}
.quick-delete:hover{background:#ffe9e2}

/* Historial */
.history{margin-bottom:22px}
.history-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;margin-bottom:12px}
.history-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc;padding:0 12px}
.history-search:focus-within{outline:3px solid rgba(80,211,160,.45);border-color:var(--mint)}
.history-search svg{width:18px;height:18px;color:var(--muted);flex:none}
.history-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:11px 0;color:var(--ink)}
.history-controls select{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;color:var(--ink);font-weight:600;max-width:100%}
.history-totals{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:baseline;padding:10px 2px 12px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.history-totals span:first-child{flex:1;min-width:180px}
.history-totals b{color:var(--ink)}
.history-totals .neg,.history-amount.neg{color:#c4452c;font-weight:800;font-variant-numeric:tabular-nums}
.history-totals .pos,.history-amount.pos{color:var(--mint-dark);font-weight:800;font-variant-numeric:tabular-nums}
.history-day{margin-top:14px}
.history-day-head{display:flex;justify-content:space-between;font-size:.76rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:0 4px 6px}
.history-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto 14px;gap:12px;align-items:center;width:100%;text-align:left;border:0;border-radius:12px;background:transparent;padding:9px 6px;color:var(--ink)}
.history-row+.history-row{border-top:1px solid #eef3f4;border-radius:0}
.history-row:hover{background:#f6f9fa}
.history-row:focus-visible{outline:3px solid rgba(80,211,160,.55)}
.history-icon{width:38px;height:38px;border-radius:11px;background:#f1f5f6;display:grid;place-items:center;font-size:1.1rem}
.history-main{display:grid;min-width:0}
.history-main strong{font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.history-main small{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.history-chev{color:#a9b8be;font-size:1.3rem;line-height:1}
.history-empty{padding:26px 10px;text-align:center;color:var(--muted);display:grid;gap:12px;justify-items:center}
.history-tip{margin:14px 0 0;font-size:.76rem;color:var(--muted);text-align:center}
.history-months-title{margin:8px 0 12px;font-size:1.15rem}
@media(max-width:620px){.history-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.history-search{grid-column:1/-1}.history-totals span:first-child{flex-basis:100%}.history-controls select{width:100%;min-width:0}}

/* Selector de comunidad, ahora en Mi compra */
.shopping-hero .home-region{justify-self:end;max-width:100%}
