/* ══ RESET & VARS ═══════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:    #1E1E1B;
  --bg2:   #232320;
  --bg3:   #282825;
  --bg4:   #2d2d29;
  --forest:#253621;
  --gold:  #c8a86a;
  --gold2: #e2c896;
  --gdim:  rgba(37,54,33,.25);
  --gb:    rgba(37,54,33,.4);
  --gb2:   rgba(37,54,33,.6);
  --text:  #ffffff;
  --muted: #7a7a70;
  --muted2:#a0a096;
  --bdr:   rgba(255,255,255,.08);
  --bdr2:  rgba(255,255,255,.14);
  --ok:    #4ade80;
  --err:   #f87171;
  --warn:  #fbbf24;
  --blue:  #60a5fa;
  --ease:  cubic-bezier(.4,0,.2,1);
  --t:     .25s;
}
html{scroll-behavior:smooth;font-size:14px}
body{background:var(--bg);color:var(--text);font-family:'Outfit',sans-serif;font-weight:300;line-height:1.65;overflow:hidden;height:100dvh}

/* ══ SCREENS ════════════════════════════════════════════ */
.screen{position:fixed;inset:0;opacity:0;pointer-events:none;transition:opacity .35s var(--ease);z-index:1;overflow-y:auto}
.screen.active{opacity:1;pointer-events:all;z-index:2}
.dn{display:none!important}

/* ══ TOAST ══════════════════════════════════════════════ */
.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(12px);background:var(--bg3);border:1px solid var(--bdr2);color:var(--text);font-size:.8rem;padding:.7rem 1.6rem;z-index:9999;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;letter-spacing:.03em}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.ok{border-color:var(--ok);color:var(--ok)}
.toast.err{border-color:var(--err);color:var(--err)}

/* ══ AUTH ════════════════════════════════════════════════ */
.auth-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 40% 0%,rgba(37,54,33,.25) 0%,transparent 60%),radial-gradient(ellipse at 80% 90%,rgba(30,30,27,.9) 0%,transparent 55%),linear-gradient(180deg,#1E1E1B 0%,#191916 100%);z-index:0}
.auth-center{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center}
.auth-center.wide{max-width:680px;margin:0 auto}
.auth-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}
.auth-logo-img{height:36px;width:auto;object-fit:contain}
.auth-logo-txt{font-family:'Cormorant',serif;font-weight:700;font-size:1.8rem;color:var(--gold);letter-spacing:.05em}
.auth-sub{font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:2rem}
.auth-form{width:min(100%,340px);display:flex;flex-direction:column;gap:1rem}
.auth-foot{font-size:.7rem;color:var(--muted);margin-top:2.5rem;letter-spacing:.06em}

/* SETUP */
.setup-h{font-family:'Cormorant',serif;font-weight:700;font-size:1.7rem;color:var(--text);margin-bottom:.6rem}
.setup-p{font-size:.85rem;color:var(--muted2);max-width:440px;line-height:1.65;margin-bottom:2rem}
.setup-p strong{color:var(--text);font-weight:400}
.setup-row{display:flex;align-items:flex-start;gap:2.5rem;margin-bottom:2rem;flex-wrap:wrap;justify-content:center}
.qr-wrap{background:#fff;padding:14px;line-height:0;flex-shrink:0}
.qr-wrap canvas,.qr-wrap img{display:block}
.setup-steps{display:flex;flex-direction:column;gap:.9rem;max-width:240px;text-align:left}
.sstep{display:flex;gap:.7rem;align-items:flex-start;font-size:.83rem;color:var(--muted2);line-height:1.5}
.sstep strong{color:var(--text);font-weight:400}
.sn{width:22px;height:22px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:.68rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.05rem}
.manual-block{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.4rem;padding:.6rem;background:rgba(200,168,106,.05);border:1px solid var(--bdr)}
.manual-lbl{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}
.manual-key{font-family:monospace;font-size:.78rem;color:var(--gold);letter-spacing:.06em;word-break:break-all}
.btn-xs{background:none;border:1px solid var(--bdr2);color:var(--gold);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;cursor:pointer;transition:background var(--t)}
.btn-xs:hover{background:var(--gdim)}

/* TOTP */
.totp-h{font-family:'Cormorant',serif;font-weight:700;font-size:1.6rem;color:var(--text);margin-bottom:.4rem}
.totp-p{font-size:.82rem;color:var(--muted2);margin-bottom:1.8rem}
.totp-row{display:flex;align-items:center;gap:.45rem;justify-content:center;margin-bottom:.8rem}
.td{width:46px;height:56px;background:rgba(255,255,255,.03);border:1px solid var(--bdr2);color:var(--gold);font-family:'Cormorant',serif;font-weight:700;font-size:1.8rem;text-align:center;outline:none;caret-color:transparent;transition:border-color var(--t),box-shadow var(--t)}
.td:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,168,106,.1)}
.tsep{color:var(--muted);font-size:1.3rem;padding:0 .1rem}
.totp-bar{width:280px;height:2px;background:rgba(200,168,106,.08);margin:0 auto .8rem}
.totp-fill{height:100%;width:100%;background:var(--gold);transition:width 1s linear,background .3s}

/* ══ FIELDS ═════════════════════════════════════════════ */
.field{display:flex;flex-direction:column;gap:.35rem}
.field label,.field>span{font-size:.67rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.field input,.field select,.field textarea,.fsel,.search-inp{background:rgba(255,255,255,.03);border:1px solid var(--bdr2);color:var(--text);font-family:'Outfit',sans-serif;font-size:.88rem;font-weight:300;padding:.7rem .9rem;outline:none;width:100%;transition:border-color var(--t),background var(--t);border-radius:0;-webkit-appearance:none;appearance:none}
.field input::placeholder,.todo-inp::placeholder,.search-inp::placeholder{color:var(--muted)}
.field input:focus,.field select:focus,.field textarea:focus,.fsel:focus,.search-inp:focus{border-color:var(--gold);background:rgba(255,255,255,.05)}
.field select,.fsel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c8a86a' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:.9rem;padding-right:2rem;cursor:pointer}
.field textarea{resize:vertical;min-height:72px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.input-eye{position:relative}
.input-eye input{padding-right:2.6rem}
#eye-btn{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);padding:.2rem;transition:color var(--t)}
#eye-btn:hover{color:var(--gold)}
#eye-btn svg{width:16px;height:16px;display:block}
.sec-lbl{font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-bottom:.4rem;border-bottom:1px solid var(--bdr)}
.w-full{width:100%}

/* ══ BUTTONS ════════════════════════════════════════════ */
.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--gold);color:var(--bg);font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.9rem 2rem;border:none;cursor:pointer;transition:background var(--t),transform var(--t)}
.btn-gold:hover{background:var(--gold2);transform:translateY(-1px)}
.btn-gold-sm{display:inline-flex;align-items:center;gap:.35rem;background:var(--gold);color:var(--bg);font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.55rem 1.2rem;border:none;cursor:pointer;transition:background var(--t),transform var(--t);white-space:nowrap}
.btn-gold-sm:hover{background:var(--gold2);transform:translateY(-1px)}
.btn-ghost-sm{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid var(--bdr2);color:var(--gold);font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.2rem;cursor:pointer;transition:border-color var(--t),background var(--t)}
.btn-ghost-sm:hover{border-color:var(--gold);background:var(--gdim)}
.btn-outline-sm{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid var(--bdr2);color:var(--muted2);font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;padding:.55rem 1.1rem;cursor:pointer;transition:border-color var(--t),color var(--t)}
.btn-outline-sm:hover{border-color:var(--gb2);color:var(--gold)}
.btn-danger-sm{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid rgba(248,113,113,.35);color:#f87171;font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:.55rem 1.2rem;cursor:pointer;transition:background var(--t),border-color var(--t),color var(--t)}
.btn-danger-sm:hover{background:rgba(248,113,113,.12);border-color:#f87171}
.btn-icon{background:none;border:1px solid var(--bdr);color:var(--muted2);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:border-color var(--t),color var(--t)}
.btn-icon:hover{border-color:var(--gold);color:var(--gold)}
.btn-link{background:none;border:none;cursor:pointer;color:var(--muted);font-family:'Outfit',sans-serif;font-size:.8rem;padding:.5rem;transition:color var(--t);width:100%;text-align:center;margin-top:.3rem}
.btn-link:hover{color:var(--gold)}

/* ══ HUB ═════════════════════════════════════════════════ */
#s-hub{overflow:hidden}
.hub-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(37,54,33,.2) 0%,transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(30,30,27,.95) 0%,transparent 50%),linear-gradient(180deg,#1E1E1B 0%,#191916 100%);z-index:0}
.hub-header{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:1.3rem 2.5rem;border-bottom:1px solid var(--bdr)}
.hub-brand{display:flex;align-items:center;gap:.7rem}
.hub-logo-img{height:30px;width:auto;object-fit:contain}
.hub-logo-txt{font-family:'Cormorant',serif;font-weight:700;font-size:1.3rem;color:var(--gold);letter-spacing:.05em}
.hub-header-right{display:flex;gap:.6rem;align-items:center}
.hub-body{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 1.5rem 3rem;text-align:center}
.hub-eye{font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;animation:fadeUp .6s .1s both}
.hub-greeting{font-family:'Cormorant',serif;font-weight:700;font-style:italic;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.1;color:var(--text);max-width:620px;margin-bottom:.7rem;animation:fadeUp .8s .25s both}
.hub-date{font-size:.75rem;letter-spacing:.1em;color:var(--muted);margin-bottom:3rem;animation:fadeUp .6s .4s both}
.hub-cards{display:flex;gap:1.2rem;flex-wrap:wrap;justify-content:center;animation:fadeUp .8s .5s both}
.hub-card{width:210px;display:flex;flex-direction:column;align-items:center;padding:2.2rem 1.6rem 1.8rem;background:rgba(255,255,255,.025);border:1px solid var(--bdr);cursor:pointer;transition:border-color var(--t),transform var(--t),background var(--t);position:relative;overflow:hidden}
.hub-card:hover{border-color:var(--gb2);transform:translateY(-5px);background:rgba(255,255,255,.04)}
.hc-icon{width:34px;height:34px;color:var(--gold);margin-bottom:1.1rem}
.hc-stat{font-family:'Cormorant',serif;font-weight:700;font-size:2rem;color:var(--gold);line-height:1;margin-bottom:.4rem}
.hc-name{font-family:'Cormorant',serif;font-weight:700;font-size:1.2rem;color:var(--text);margin-bottom:.35rem}
.hc-desc{font-size:.73rem;color:var(--muted);line-height:1.45}

/* ══ MODULE SCREENS ═════════════════════════════════════ */
.mod-screen{display:flex;flex-direction:column;overflow:hidden}
.mod-topbar{display:flex;align-items:center;justify-content:space-between;padding:.9rem 2rem;border-bottom:1px solid var(--bdr);background:var(--bg);flex-shrink:0;gap:1rem;z-index:10}
.back-hub{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:.3rem;transition:opacity var(--t)}
.back-hub:hover{opacity:.7}
.top-logo{height:24px;width:auto;object-fit:contain}
.mod-title{font-family:'Cormorant',serif;font-weight:700;font-size:1.35rem;color:var(--text);flex:1;text-align:center}
.mod-content{flex:1;overflow-y:auto}

/* ══ TABS ════════════════════════════════════════════════ */
.mod-tabs{display:flex;gap:0;border-bottom:1px solid var(--bdr);background:var(--bg);flex-shrink:0}
.tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1.4rem;cursor:pointer;transition:color var(--t),border-color var(--t)}
.tab-btn:hover{color:var(--text)}
.tab-btn.active{color:var(--gold);border-bottom-color:var(--gold)}
.tab-pane{padding:1.5rem 2rem 4rem}

/* ══ BOARD ═══════════════════════════════════════════════ */
.board-filters{display:flex;gap:.6rem;margin-bottom:1.4rem}
.board-filters .fsel{width:auto;min-width:150px}
.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:start}
.kcol{background:var(--bg2);border:1px solid var(--bdr)}
.kcol-head{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--bdr);font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);position:sticky;top:0;background:var(--bg2)}
.kdot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.d-todo{background:var(--muted)}
.d-wip{background:var(--warn)}
.d-rev{background:var(--blue)}
.d-done{background:var(--ok)}
.kct{margin-left:auto;font-family:'Cormorant',serif;font-size:.95rem;color:var(--muted)}
.kcards{padding:.7rem;display:flex;flex-direction:column;gap:.6rem;min-height:200px}
/* Task Card */
.kcard{background:var(--bg3);border:1px solid var(--bdr);border-left:3px solid transparent;padding:.85rem;transition:border-color var(--t)}
.kcard:hover{border-color:var(--bdr2)}
.kcard.p-urgente{border-left-color:var(--err)}
.kcard.p-alta{border-left-color:var(--warn)}
.kcard.p-media{border-left-color:var(--gold)}
.kcard.p-baja{border-left-color:var(--muted)}
.kc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.4rem;margin-bottom:.5rem}
.kc-title{font-size:.87rem;font-weight:400;color:var(--text);line-height:1.35;flex:1}
.kc-pri{font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .45rem;white-space:nowrap;flex-shrink:0}
.kc-pri.urgente{background:rgba(248,113,113,.12);color:var(--err)}
.kc-pri.alta{background:rgba(251,191,36,.1);color:var(--warn)}
.kc-pri.media{background:rgba(200,168,106,.1);color:var(--gold)}
.kc-pri.baja{background:rgba(255,255,255,.04);color:var(--muted2)}
.kc-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem}
.kc-tag{font-size:.65rem;padding:.18rem .5rem}
.kc-cli{background:var(--gdim);color:var(--gold);border:1px solid var(--gb)}
.kc-due{background:rgba(255,255,255,.03);color:var(--muted2);border:1px solid rgba(255,255,255,.06)}
.kc-due.late{color:var(--err)}
.kc-type{background:rgba(96,165,250,.08);color:var(--blue);border:1px solid rgba(96,165,250,.15)}
.kc-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.kc-btn{background:none;border:1px solid var(--bdr);color:var(--muted);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .55rem;cursor:pointer;transition:color var(--t),border-color var(--t),background var(--t)}
.kc-btn:hover{color:var(--gold);border-color:var(--gb2)}
.kc-btn.del:hover{color:var(--err);border-color:rgba(248,113,113,.25)}

/* ══ LISTA ═══════════════════════════════════════════════ */
.lista-bar{display:flex;gap:.7rem;margin-bottom:1.4rem}
.todo-inp{flex:1;background:rgba(255,255,255,.03);border:1px solid var(--bdr2);color:var(--text);font-family:'Outfit',sans-serif;font-size:.88rem;font-weight:300;padding:.7rem .9rem;outline:none;transition:border-color var(--t)}
.todo-inp:focus{border-color:var(--gold)}
.todo-list{display:flex;flex-direction:column;gap:0}
.todo-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .5rem;border-bottom:1px solid rgba(200,168,106,.06);transition:background var(--t)}
.todo-item:hover{background:rgba(255,255,255,.02)}
.todo-cb{width:16px;height:16px;border:1px solid var(--bdr2);appearance:none;-webkit-appearance:none;cursor:pointer;flex-shrink:0;position:relative;transition:background var(--t),border-color var(--t)}
.todo-cb:checked{background:var(--gold);border-color:var(--gold)}
.todo-cb:checked::after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--bg);font-weight:700}
.todo-text{flex:1;font-size:.88rem;color:var(--text);transition:color var(--t),text-decoration var(--t)}
.todo-item.done .todo-text{color:var(--muted);text-decoration:line-through}
.todo-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:.2rem .4rem;transition:color var(--t)}
.todo-del:hover{color:var(--err)}

/* ══ CALENDAR ════════════════════════════════════════════ */
.cal-nav{display:flex;align-items:center;gap:.7rem;margin-bottom:1.2rem}
.cal-label{font-family:'Cormorant',serif;font-weight:700;font-size:1.4rem;color:var(--text);min-width:200px}
.cal-head-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:2px}
.cal-head-row span{text-align:center;font-size:.65rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:.5rem 0}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-day{background:var(--bg2);border:1px solid var(--bdr);padding:.5rem;min-height:90px;cursor:pointer;transition:border-color var(--t),background var(--t);position:relative}
.cal-day:hover{border-color:var(--bdr2);background:var(--bg3)}
.cal-day.today{border-color:var(--gold)}
.cal-day.other-month{opacity:.35}
.cal-day-num{font-size:.8rem;font-weight:500;color:var(--muted2);display:block;margin-bottom:.4rem}
.cal-day.today .cal-day-num{color:var(--gold);font-weight:600}
.cal-events{display:flex;flex-direction:column;gap:2px}
.cal-ev{font-size:.63rem;padding:.15rem .4rem;border-left:2px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:background var(--t)}
.cal-ev:hover{background:rgba(255,255,255,.06)}
.cal-ev.task{border-left-color:var(--gold);color:var(--gold);background:var(--gdim)}
.cal-ev.meeting{border-left-color:var(--blue);color:var(--blue);background:rgba(96,165,250,.08)}
.cal-ev.todo{border-left-color:var(--muted);color:var(--muted2);background:rgba(255,255,255,.03)}
.cal-more{font-size:.6rem;color:var(--muted);padding:.1rem .3rem}

/* ══ FINANCE ═════════════════════════════════════════════ */
.ticker-bar{background:var(--bg2);border-bottom:1px solid var(--bdr);height:34px;overflow:hidden;display:flex;align-items:center;flex-shrink:0}
.ticker-track{display:flex;align-items:center;white-space:nowrap;animation:ticker 32s linear infinite}
.ti{font-size:.68rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:0 1.2rem}
.tv{color:var(--gold);font-weight:500}
.tsep{color:rgba(200,168,106,.18);font-size:.55rem}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.fin-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}
.fin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bdr);border:1px solid var(--bdr);margin:1.4rem 2rem}
.fstat{background:var(--bg2);padding:1.1rem 1.3rem}
.fstat.inc{background:linear-gradient(135deg,rgba(74,222,128,.03) 0%,var(--bg2) 100%)}
.fstat.exp{background:linear-gradient(135deg,rgba(248,113,113,.03) 0%,var(--bg2) 100%)}
.fstat.net{background:linear-gradient(135deg,rgba(200,168,106,.04) 0%,var(--bg2) 100%)}
.fsl{font-size:.65rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.3rem}
.fsv{font-family:'Cormorant',serif;font-weight:700;font-size:1.65rem;color:var(--gold)}
.inc .fsv{color:var(--ok)}.exp .fsv{color:var(--err)}

/* CHART */
.chart-box{margin:0 2rem 1.5rem;border:1px solid var(--bdr);background:#1a1a17}
.chart-topbar{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.1rem;border-bottom:1px solid rgba(200,168,106,.07);flex-wrap:wrap;gap:.7rem}
.chart-id{display:flex;align-items:baseline;gap:.6rem}
.chart-sym{font-size:.62rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);border:1px solid var(--bdr);padding:.18rem .55rem}
.chart-price{font-family:'Cormorant',serif;font-weight:700;font-size:1.55rem;color:var(--gold)}
.chart-chg{font-size:.76rem;font-weight:400}
.chart-chg.pos{color:var(--ok)}.chart-chg.neg{color:var(--err)}
.chart-ohlc{display:flex;gap:1rem;font-size:.7rem;color:var(--muted)}
.chart-ohlc strong{color:var(--text);font-weight:400}
.chart-periods{display:flex;gap:.25rem}
.period{background:none;border:1px solid var(--bdr);color:var(--muted);font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .65rem;cursor:pointer;transition:all var(--t)}
.period:hover{color:var(--gold);border-color:var(--gb2)}
.period.active{background:var(--gdim);border-color:var(--gold);color:var(--gold)}
.canvas-wrap{position:relative;width:100%;height:300px}
#fin-chart{width:100%;height:100%;display:block}

/* FINANCE LOWER */
.fin-lower{display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem;padding:0 2rem 4rem;align-items:start}
.fin-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.5rem}
.fin-sec-title{font-family:'Cormorant',serif;font-weight:700;font-size:1.2rem;color:var(--text)}
/* Finance clients */
.fin-clients-sec,.fin-tx-sec{display:flex;flex-direction:column}
.fin-clients-list{display:flex;flex-direction:column;gap:.6rem}
.fin-cl-card{background:var(--bg2);border:1px solid var(--bdr);padding:1rem;transition:border-color var(--t)}
.fin-cl-card:hover{border-color:var(--bdr2)}
.fcl-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.fcl-company{font-family:'Cormorant',serif;font-weight:700;font-size:1.1rem;color:var(--text)}
.fcl-plan{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .5rem;background:var(--gdim);color:var(--gold);border:1px solid var(--gb)}
.fcl-meta{font-size:.75rem;color:var(--muted);margin-bottom:.7rem}
.fcl-actions{display:flex;gap:.4rem;align-items:center}
.pay-week-btn{background:var(--ok);color:#060906;font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .7rem;border:none;cursor:pointer;transition:opacity var(--t)}
.pay-week-btn:hover{opacity:.85}
/* Transaction list */
.tx-list{display:flex;flex-direction:column}
.tx-item{display:flex;align-items:center;gap:.8rem;padding:.7rem .3rem;border-bottom:1px solid rgba(200,168,106,.05);transition:background var(--t)}
.tx-item:hover{background:rgba(255,255,255,.015)}
.tx-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.tx-dot.income{background:var(--ok)}.tx-dot.expense{background:var(--err)}
.tx-info{flex:1;min-width:0}
.tx-desc{font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-meta{font-size:.68rem;color:var(--muted);display:flex;gap:.6rem;margin-top:.1rem;flex-wrap:wrap}
.tx-tag{padding:.1rem .4rem;font-size:.62rem}
.tx-cli-tag{background:var(--gdim);color:var(--gold);border:1px solid var(--gb)}
.tx-cat-tag{background:rgba(255,255,255,.03);color:var(--muted2)}
.tx-amount{font-family:'Cormorant',serif;font-weight:700;font-size:1.05rem;white-space:nowrap}
.tx-amount.income{color:var(--ok)}.tx-amount.expense{color:var(--err)}
.tx-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.75rem;padding:.2rem .3rem;transition:color var(--t);flex-shrink:0}
.tx-del:hover{color:var(--err)}

/* ══ CLIENTS ═════════════════════════════════════════════ */
.cl-toolbar{display:flex;gap:.7rem;margin-bottom:1.5rem;flex-wrap:wrap}
.search-inp{flex:1;min-width:180px;max-width:360px}
.cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.1rem}
.cl-card{background:var(--bg2);border:1px solid var(--bdr);padding:1.4rem;transition:border-color var(--t),transform var(--t);position:relative;cursor:pointer}
.cl-card:hover{border-color:var(--bdr2);transform:translateY(-2px)}
.cl-card-bar{position:absolute;top:0;left:0;right:0;height:2px;background:var(--forest);opacity:0;transition:opacity var(--t)}
.cl-card:hover .cl-card-bar{opacity:1}
.cc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.8rem}
.cc-av{width:40px;height:40px;border-radius:50%;background:var(--gdim);border:1px solid var(--gb);display:flex;align-items:center;justify-content:center;font-family:'Cormorant',serif;font-weight:700;font-size:1.1rem;color:var(--gold)}
.cc-badge{font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.22rem .65rem}
.cc-badge.activo{background:rgba(74,222,128,.1);color:var(--ok);border:1px solid rgba(74,222,128,.2)}
.cc-badge.prospecto{background:rgba(251,191,36,.08);color:var(--warn);border:1px solid rgba(251,191,36,.2)}
.cc-badge.inactivo{background:rgba(255,255,255,.04);color:var(--muted);border:1px solid var(--bdr)}
.cc-company{font-family:'Cormorant',serif;font-weight:700;font-size:1.3rem;color:var(--text);margin-bottom:.15rem}
.cc-contact{font-size:.78rem;color:var(--muted);font-style:italic;margin-bottom:.6rem}
.cc-plan-tag{display:inline-block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.18rem .55rem;background:var(--gdim);color:var(--gold);border:1px solid var(--gb);margin-bottom:.8rem}
.cc-stats{display:flex;gap:1.2rem;padding:.7rem 0;border-top:1px solid var(--bdr);border-bottom:1px solid var(--bdr);margin-bottom:.8rem}
.cc-stat-v{font-family:'Cormorant',serif;font-weight:700;font-size:1.15rem;color:var(--gold)}
.cc-stat-l{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cc-actions{display:flex;gap:.4rem;flex-wrap:wrap}

/* CLIENT DETAIL */
.client-detail{padding:1.5rem}
.cd-section{margin-bottom:1.5rem}
.cd-section-title{font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;padding-bottom:.4rem;border-bottom:1px solid var(--bdr)}
.cd-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cd-field{display:flex;flex-direction:column;gap:.2rem}
.cd-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cd-val{font-size:.88rem;color:var(--text)}
.cd-val a{color:var(--gold);text-decoration:none}
.cd-val a:hover{text-decoration:underline}
.cd-val-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.cd-actions{display:flex;gap:.7rem;align-items:center;justify-content:space-between;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid var(--bdr)}
/* Contract card */
.contract-card{background:var(--bg);border:1px solid var(--gb);padding:1.1rem;margin-top:.8rem}
.cc-meta-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:.8rem}

/* ══ TASK PANEL ══════════════════════════════════════════ */
.panel-ov{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity var(--t);z-index:400;backdrop-filter:blur(3px)}
.panel-ov.open{opacity:1;pointer-events:all}
.task-panel{position:fixed;top:0;right:0;width:420px;max-width:100%;height:100dvh;background:var(--bg2);border-left:1px solid var(--bdr2);z-index:401;transform:translateX(100%);transition:transform .3s var(--ease);overflow-y:auto;display:flex;flex-direction:column}
.task-panel.open{transform:translateX(0)}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem;border-bottom:1px solid var(--bdr);flex-shrink:0;position:sticky;top:0;background:var(--bg2);z-index:1}
.panel-h{font-family:'Cormorant',serif;font-weight:700;font-size:1.3rem;color:var(--text)}
.panel-x{background:none;border:1px solid var(--bdr);color:var(--muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:color var(--t),border-color var(--t)}
.panel-x:hover{color:var(--err);border-color:rgba(248,113,113,.3)}
.panel-form{padding:1.3rem;display:flex;flex-direction:column;gap:1rem;flex:1}
.panel-foot{display:flex;gap:.7rem;justify-content:flex-end;padding-top:.6rem;border-top:1px solid var(--bdr);margin-top:auto}

/* ══ MODALS ══════════════════════════════════════════════ */
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(5px);z-index:500;display:flex;align-items:center;justify-content:center;padding:1.5rem}
.modal-ov-top{z-index:540}
#m-confirm{z-index:600}
.modal{background:var(--bg3);border:1px solid var(--bdr2);width:min(100%,500px);max-height:90dvh;overflow-y:auto;animation:mIn .25s var(--ease)}
.modal.wide{width:min(100%,640px)}
.modal.narrow{width:min(100%,380px)}
.mc-msg-text{color:var(--muted2);font-size:.88rem;line-height:1.7;margin-bottom:.4rem}
@keyframes mIn{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.4rem;border-bottom:1px solid var(--bdr);position:sticky;top:0;background:var(--bg3);z-index:1}
.modal-h{font-family:'Cormorant',serif;font-weight:700;font-size:1.25rem;color:var(--gold)}
.modal-x{background:none;border:1px solid var(--bdr);color:var(--muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:color var(--t),border-color var(--t)}
.modal-x:hover{color:var(--err);border-color:rgba(248,113,113,.3)}
.modal-form{padding:1.4rem;display:flex;flex-direction:column;gap:1rem}
.modal-actions{display:flex;justify-content:flex-end;gap:.7rem;padding-top:.5rem;border-top:1px solid var(--bdr);margin-top:.3rem}
/* Toggle group */
.tgl-grp{display:flex}
.tgl{cursor:pointer;flex:1}
.tgl input{display:none}
.tgl-l{display:flex;align-items:center;justify-content:center;padding:.68rem 1rem;border:1px solid var(--bdr2);font-size:.78rem;font-weight:400;letter-spacing:.05em;color:var(--muted);cursor:pointer;transition:all var(--t)}
.tgl:first-child .tgl-l{border-right:none}
.tgl input:checked+.tgl-l.inc{background:rgba(74,222,128,.1);color:var(--ok);border-color:rgba(74,222,128,.28)}
.tgl input:checked+.tgl-l.exp{background:rgba(248,113,113,.08);color:var(--err);border-color:rgba(248,113,113,.28)}

/* ══ KEYFRAMES & UTILS ═══════════════════════════════════ */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--muted);text-align:center;gap:.6rem;font-size:.83rem;line-height:1.6}

/* ══ CHART SYM ENLARGE ═══════════════════════════════════ */
.chart-sym-lg{font-size:1.5rem;letter-spacing:.3em;color:var(--gold);border-color:var(--gb2);padding:.3rem .9rem}

/* ══ CLIENT CARD LOGO ════════════════════════════════════ */
.cc-av-logo{width:100%;height:100%;object-fit:cover;border-radius:50%}

/* ══ WIZARD ══════════════════════════════════════════════ */
.wizard-steps{display:flex;align-items:center;padding:.85rem 1.4rem;border-bottom:1px solid var(--bdr);background:var(--bg3)}
.wstep{display:flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);transition:color var(--t)}
.wstep.active{color:var(--gold)}
.wstep.done{color:var(--ok)}
.wn{width:22px;height:22px;border-radius:50%;border:1px solid currentColor;font-size:.68rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.wstep-line{flex:1;height:1px;background:var(--bdr);margin:0 .8rem}

/* ══ LOGO UPLOAD ═════════════════════════════════════════ */
.logo-upload-area{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:rgba(200,168,106,.03);border:1px solid var(--bdr)}
.logo-preview{width:80px;height:80px;border-radius:50%;border:1px solid var(--bdr2);background:var(--bg2);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}
.logo-preview-img{width:100%;height:100%;object-fit:cover}
.logo-preview-placeholder{font-size:.65rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.logo-upload-controls{display:flex;flex-direction:column;gap:.5rem}
.logo-upload-btn{cursor:pointer}
.color-palette-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.cl-color{width:44px;height:44px;border:1px solid var(--bdr2);background:none;cursor:pointer;padding:2px;border-radius:0}

/* ══ COLOR SWATCH DYNAMIC ════════════════════════════════ */
.color-swatch-wrap{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:.25rem}
.color-del{background:rgba(248,113,113,.15);border:1px solid rgba(248,113,113,.3);color:var(--err);font-size:.65rem;width:100%;padding:.1rem 0;cursor:pointer;transition:background .2s;line-height:1}
.color-del:hover{background:rgba(248,113,113,.3)}

/* ══ FILES LIST (editor) ══════════════════════════════════ */
.bb-file-upload-btn{display:inline-flex;align-items:center;gap:.35rem;background:transparent;border:1px solid var(--bdr2);color:var(--muted2);font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;padding:.55rem 1.1rem;cursor:pointer;transition:border-color var(--t),color var(--t);margin-top:.4rem}
.bb-file-upload-btn:hover{border-color:var(--bdr2);color:var(--text)}
.cl-files-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.6rem}
.cl-file-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;background:rgba(255,255,255,.03);border:1px solid var(--bdr)}
.cl-file-icon{font-size:.95rem;flex-shrink:0}
.cl-file-name{flex:1;font-size:.78rem;color:var(--muted2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-file-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.75rem;padding:.15rem .3rem;transition:color var(--t);flex-shrink:0}
.cl-file-del:hover{color:var(--err)}

/* ══ BEAUTIFUL GRAND BOOK ════════════════════════════════ */
.bb-modal-ov{z-index:520}
.brand-book-modal{width:min(100%,700px)}
.bb-body{}
.bb-header{display:flex;flex-direction:column;align-items:center;padding:3rem 2rem 2rem;background:linear-gradient(180deg,rgba(200,168,106,.06) 0%,transparent 100%);border-bottom:1px solid var(--bdr);text-align:center}
.bb-logo-wrap{width:120px;height:120px;border-radius:50%;border:2px solid var(--gold);overflow:hidden;margin-bottom:1.2rem;background:var(--bg2);display:flex;align-items:center;justify-content:center}
.bb-logo-img{width:100%;height:100%;object-fit:cover}
.bb-logo-initials{font-family:'Cormorant',serif;font-weight:700;font-size:2.6rem;color:var(--gold)}
.bb-company-name{font-family:'Cormorant',serif;font-weight:700;font-size:2.2rem;color:var(--text);margin-bottom:.3rem;line-height:1.1}
.bb-contact-name{font-size:.82rem;color:var(--muted);letter-spacing:.06em}
.bb-section{padding:1.5rem 2rem;border-bottom:1px solid var(--bdr)}
.bb-section:last-child{border-bottom:none}
.bb-section-title{font-size:.63rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.bb-colors{display:flex;gap:.7rem;flex-wrap:wrap}
.bb-color-swatch{width:72px;height:72px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:flex-end;padding:.3rem;position:relative}
.bb-color-hex{font-size:.56rem;font-family:monospace;color:rgba(255,255,255,.8);text-shadow:0 1px 3px rgba(0,0,0,.9);letter-spacing:.04em}
.bb-section-body{font-size:.88rem;color:var(--muted2);line-height:1.75;white-space:pre-wrap}
.bb-files{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.3rem}
.bb-file-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100px;text-decoration:none;cursor:pointer;transition:opacity .2s}
.bb-file-card:hover{opacity:.75}
.bb-file-thumb{width:100px;height:80px;object-fit:cover;border:1px solid var(--bdr)}
.bb-file-doc-icon{width:100px;height:80px;display:flex;align-items:center;justify-content:center;font-size:2rem;background:rgba(255,255,255,.04);border:1px solid var(--bdr)}
.bb-file-card-name{font-size:.65rem;color:var(--muted2);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}

/* ══ HYDE PARK & LOS ALPES BUTTONS ══════════════════════ */
.hyde-park-btn{position:fixed;bottom:1.8rem;left:1.8rem;z-index:50;background:transparent;border:1px solid rgba(94,27,27,.3);color:rgba(140,60,60,.55);font-family:'Outfit',sans-serif;font-size:.6rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:.38rem .85rem;cursor:pointer;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.hyde-park-btn:hover{background:#5E1B1B;color:#f0ede6;border-color:#5E1B1B}
.los-alpes-btn{position:fixed;bottom:1.8rem;left:8.5rem;z-index:50;background:transparent;border:1px solid rgba(37,54,33,.35);color:rgba(80,110,70,.6);font-family:'Outfit',sans-serif;font-size:.6rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:.38rem .85rem;cursor:pointer;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.los-alpes-btn:hover{background:#253621;color:#f0ede6;border-color:#253621}

/* ══ HYDE PARK OVERLAY ═══════════════════════════════════ */
.hyde-ov{position:fixed;inset:0;background:#000000;z-index:700;display:flex;align-items:center;justify-content:center;animation:hydeIn .4s cubic-bezier(.4,0,.2,1)}
.hyde-ov.dn{display:none!important}
@keyframes hydeIn{from{opacity:0}to{opacity:1}}
.hyde-step{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:2rem;animation:hydeStep .3s cubic-bezier(.4,0,.2,1)}
@keyframes hydeStep{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hyde-window{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);padding:2.8rem 3rem;max-width:380px;width:100%;text-align:center}
.hyde-icon{font-size:2.4rem;margin-bottom:1rem;opacity:.8}
.hyde-q{font-family:'Outfit',sans-serif;font-weight:300;font-size:1.4rem;color:#ffffff;line-height:1.4;margin-bottom:2rem;letter-spacing:.02em}
.hyde-lbl{font-family:'Outfit',sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1.5rem}
.hyde-btns{display:flex;gap:1rem;justify-content:center}
.hyde-btn-no{background:transparent;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.5);font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;padding:.65rem 2rem;cursor:pointer;transition:border-color .25s,color .25s}
.hyde-btn-no:hover{border-color:rgba(255,255,255,.4);color:#fff}
.hyde-btn-yes{background:transparent;border:1px solid rgba(255,255,255,.3);color:#ffffff;font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:.65rem 2rem;cursor:pointer;transition:background .25s,border-color .25s}
.hyde-btn-yes:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.6)}
/* TOTP digits inside Hyde Park */
.hd{width:46px;height:56px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.15);color:#ffffff;font-family:'Outfit',sans-serif;font-weight:300;font-size:1.8rem;text-align:center;outline:none;caret-color:transparent;transition:border-color .25s,box-shadow .25s}
.hd:focus{border-color:rgba(255,255,255,.6);box-shadow:0 0 0 3px rgba(255,255,255,.06)}

/* ══ HYDE PARK CONTENT CARDS ═════════════════════════════ */
.hp-cards{display:flex;flex-direction:row;gap:2rem;align-items:stretch;justify-content:center;flex-wrap:nowrap;overflow-x:auto;padding:.5rem 2rem 1rem;max-width:100vw}
.hp-cards::-webkit-scrollbar{height:3px}.hp-cards::-webkit-scrollbar-track{background:transparent}.hp-cards::-webkit-scrollbar-thumb{background:rgba(200,168,106,.25)}
.hp-card{background:rgba(0,0,0,.5);border:1px solid var(--gold);color:var(--gold);font-family:'Cormorant',serif;font-size:1.4rem;font-weight:700;padding:2.5rem 2.2rem;cursor:pointer;transition:background .35s,box-shadow .35s,transform .25s;text-align:center;width:200px;flex-shrink:0;line-height:1.25;letter-spacing:.02em;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem}
.hp-card:hover{background:rgba(200,168,106,.08);box-shadow:0 0 40px rgba(200,168,106,.12);transform:translateY(-3px)}
.hp-card-title{pointer-events:none}
.hp-card-sub{font-family:'Outfit',sans-serif;font-size:.52rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(200,168,106,.38);pointer-events:none}
.hp-card-logo{width:52px;height:52px;object-fit:contain;opacity:.85;pointer-events:none}
.hp-card-project{border-color:rgba(200,168,106,.45)}

/* ══ LOS ALPES SCREEN ════════════════════════════════════ */
#s-alpes{background:#000;display:flex;align-items:center;justify-content:center}

/* ══ LOS ALPES FIXED BUTTONS ═════════════════════════════ */
.alpes-back-btn{position:fixed;bottom:1.8rem;left:1.8rem;z-index:50;background:transparent;border:1px solid var(--bdr2);color:var(--muted2);font-family:'Outfit',sans-serif;font-size:.6rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:.38rem .85rem;cursor:pointer;transition:border-color .3s,color .3s;white-space:nowrap}
.alpes-back-btn:hover{border-color:var(--gold);color:var(--gold)}
.alpes-nova-btn{position:fixed;bottom:1.8rem;left:8.5rem;z-index:50;background:transparent;border:1px solid var(--gb2);color:var(--gold);font-family:'Outfit',sans-serif;font-size:.6rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:.38rem .85rem;cursor:pointer;transition:background .3s,border-color .3s;white-space:nowrap}
.alpes-nova-btn:hover{background:var(--gdim);border-color:var(--gold)}

/* ══ RESPONSIVE ══════════════════════════════════════════ */
@media(max-width:1024px){
  .kanban{grid-template-columns:repeat(2,1fr)}
  .fin-stats{grid-template-columns:repeat(2,1fr)}
  .fin-lower{grid-template-columns:1fr}
}
@media(max-width:720px){
  .kanban{grid-template-columns:1fr}
  .fin-stats{grid-template-columns:1fr 1fr}
  .tab-pane{padding:1.2rem 1rem 3rem}
  .chart-box,.fin-stats{margin:1rem 1rem}
  .fin-lower{padding:0 1rem 3rem}
  .mod-topbar{padding:.8rem 1rem}
  .chart-ohlc{display:none}
  .field-row{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hub-cards{flex-direction:column;align-items:center}
  .hub-card{width:min(100%,280px)}
  .fin-stats{grid-template-columns:1fr}
  .task-panel{width:100%}
}
