:root{
  --gold:#C9A84C;--gold-light:#E2C47A;--gold-dim:#7A6030;
  --navy:#0D1B2A;--navy-mid:#152235;--navy-light:#1E3048;--navy-card:#162030;
  --white:#F5F0E8;--white-dim:#B8B0A0;
  --green:#2ECC71;--red:#E74C3C;--border:rgba(201,168,76,0.2);
  --hour-h:56px;
  --sidebar-w:240px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--navy);color:var(--white);min-height:100vh;overflow-x:hidden;display:flex;flex-direction:column;}

/* ALERT BAR */
#alertBar{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(13,27,42,.97);border-bottom:2px solid var(--gold);max-height:0;overflow:hidden;transition:max-height .35s ease;}
#alertBar.on{max-height:60px;}
.abar-inner{padding:10px 40px;display:flex;align-items:center;gap:12px;}
.abar-text{flex:1;font-size:13px;}
.abar-text strong{color:var(--gold);}
.abar-close{background:none;border:1px solid var(--border);color:var(--white-dim);padding:4px 11px;cursor:pointer;font-size:11px;transition:all .2s;}
.abar-close:hover{border-color:var(--gold);color:var(--gold);}

/* SIDEBAR */
.app-shell{display:flex;min-height:100vh;}
.sidebar{width:var(--sidebar-w);background:var(--navy-mid);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow:hidden;}
.sidebar-logo{padding:20px 18px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:11px;flex-shrink:0;}
.logo-icon{width:34px;height:34px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.logo-text{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;line-height:1.15;}
.logo-text span{color:var(--gold);}
.logo-sub{font-size:9px;color:var(--white-dim);letter-spacing:.16em;text-transform:uppercase;}
.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0 16px;scrollbar-width:none;}
.sidebar-nav::-webkit-scrollbar{display:none;}

/* Sidebar sections */
.sb-section{margin-bottom:4px;}
.sb-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 6px;cursor:pointer;transition:all .2s;border-radius:0;user-select:none;}
.sb-section-header:hover .sb-section-label{color:var(--white);}
.sb-section-label{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--white-dim);transition:color .2s;}
.sb-section-header.open .sb-section-label{color:var(--gold);}
.sb-chevron{font-size:10px;color:var(--white-dim);transition:transform .25s,color .2s;}
.sb-section-header.open .sb-chevron{transform:rotate(180deg);color:var(--gold);}
.sb-section-items{overflow:hidden;max-height:0;transition:max-height .3s ease;}
.sb-section-items.open{max-height:600px;}

/* Sidebar items */
.sb-item{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 20px;cursor:pointer;transition:all .2s;border-left:2px solid transparent;position:relative;}
.sb-item:hover{background:rgba(201,168,76,.05);color:var(--white);}
.sb-item.active{background:rgba(201,168,76,.08);border-left-color:var(--gold);color:var(--gold);}
.sb-item-icon{font-size:18px;width:14px;text-align:center;flex-shrink:0;color:var(--gold-dim);line-height:1;display:flex;align-items:center;justify-content:center;}
.sb-item.active .sb-item-icon{color:var(--gold);}
.sb-item-label{font-size:12px;font-weight:400;letter-spacing:.04em;color:inherit;flex:1;}
.sb-item-badge{font-size:9px;background:rgba(201,168,76,.15);color:var(--gold);border:1px solid rgba(201,168,76,.3);padding:2px 5px;letter-spacing:.06em;text-transform:uppercase;border-radius:1px;}
.sb-item.active .sb-item-label{font-weight:500;}

/* Sidebar divider */
.sb-divider{height:1px;background:var(--border);margin:8px 16px;}

/* Sidebar bottom */
.sidebar-footer{border-top:1px solid var(--border);padding:12px 16px;flex-shrink:0;}
.sf-text{font-size:10px;color:var(--white-dim);letter-spacing:.1em;text-transform:uppercase;line-height:1.6;}

/* HEADER (top bar) */
.topbar{height:52px;background:rgba(13,27,42,.99);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px 0 20px;position:fixed;top:0;left:var(--sidebar-w);right:0;z-index:90;gap:12px;}
.topbar-title{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:300;color:var(--white-dim);white-space:nowrap;flex-shrink:0;}
.topbar-title strong{color:var(--white);font-weight:600;}

/* TOPBAR SEARCH */
.topbar-search-wrap{position:relative;flex:1;max-width:280px;margin-left:auto;}
.topbar-search{width:100%;background:var(--navy-light);border:1px solid var(--border);color:var(--white);padding:6px 12px;font-family:'DM Sans',sans-serif;font-size:12px;outline:none;transition:border-color .2s;}
.topbar-search:focus{border-color:var(--gold);}
.topbar-search::placeholder{color:var(--white-dim);opacity:.6;}
.topbar-search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--navy-mid);border:1px solid var(--border);z-index:200;max-height:300px;overflow-y:auto;display:none;box-shadow:0 8px 24px rgba(0,0,0,.4);}
.topbar-search-results.open{display:block;}
.search-result-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid rgba(201,168,76,.07);transition:background .15s;}
.search-result-item:last-child{border-bottom:none;}
.search-result-item:hover{background:var(--navy-light);}
.search-result-name{font-size:13px;font-weight:500;}
.search-result-sub{font-size:11px;color:var(--white-dim);margin-top:2px;}
.search-result-empty{padding:14px;text-align:center;font-size:12px;color:var(--white-dim);}
.topbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;}

/* NOTIFICATION BELL */
.topbar-notif-btn{background:none;border:1px solid var(--border);color:var(--white-dim);width:32px;height:32px;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:14px;flex-shrink:0;}
.topbar-notif-btn:hover{border-color:var(--gold);color:var(--gold);}
.topbar-notif-btn.has-notif{border-color:rgba(239,68,68,.5);color:#EF4444;}
.notif-badge{position:absolute;top:-5px;right:-5px;background:#EF4444;color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;}
.notif-panel{position:fixed;top:52px;right:0;width:340px;background:var(--navy-mid);border-left:1px solid var(--border);border-bottom:1px solid var(--border);z-index:89;max-height:calc(100vh - 52px);overflow-y:auto;transform:translateX(100%);transition:transform .25s ease;}
.notif-panel.open{transform:translateX(0);}
.notif-panel-head{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--navy-mid);}
.notif-panel-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.notif-item{padding:12px 18px;border-bottom:1px solid rgba(201,168,76,.07);}
.notif-item-title{font-size:13px;font-weight:500;margin-bottom:3px;}
.notif-item-sub{font-size:11px;color:var(--white-dim);line-height:1.5;}
.notif-item-time{font-size:10px;color:var(--gold);letter-spacing:.08em;margin-top:4px;}
.notif-wa-btn{background:none;border:1px solid rgba(37,211,102,.3);color:#25D366;padding:4px 9px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.07em;text-transform:uppercase;transition:all .2s;margin-top:6px;display:inline-block;}
.notif-wa-btn:hover{background:rgba(37,211,102,.1);}
.notif-empty{padding:24px;text-align:center;font-size:12px;color:var(--white-dim);}

/* LOADING SCREEN */
.loading-screen{position:fixed;inset:0;z-index:9997;background:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .3s ease;}
.loading-screen.fade-out{opacity:0;pointer-events:none;}
.loading-spinner{width:36px;height:36px;border:2px solid rgba(201,168,76,.2);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.skeleton-inner{padding:32px 40px;}
.sk-line{border-radius:3px;background:linear-gradient(90deg,var(--navy-light) 25%,var(--navy-mid) 50%,var(--navy-light) 75%);background-size:200% 100%;animation:sk-shimmer 1.4s infinite;}
@keyframes sk-shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.sk-title{height:28px;width:280px;margin-bottom:24px;}
.sk-card{height:80px;width:100%;margin-bottom:12px;border-radius:4px;}
.sk-card-sm{height:56px;width:60%;margin-bottom:10px;border-radius:4px;}
.month-view{width:100%;background:#fff;}
.month-header-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--ag-border);}
.month-day-name{text-align:center;padding:8px 4px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ag-text-dim);font-weight:600;}
.month-grid{display:grid;grid-template-columns:repeat(7,1fr);}
.month-cell{min-height:110px;border-right:1px solid var(--ag-border);border-bottom:1px solid var(--ag-border);padding:6px 5px 4px;position:relative;cursor:pointer;transition:background .15s;}
.month-cell:nth-child(7n){border-right:none;}
.month-cell:hover{background:rgba(139,105,20,.04);}
.month-cell.other-month{background:#F0EBE0;}
.month-cell.other-month .month-cell-num{color:rgba(100,80,40,.3);}
.month-cell.today-cell{background:rgba(139,105,20,.07);}
.month-cell-num{font-size:12px;font-weight:500;color:var(--ag-text);margin-bottom:4px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.month-cell.today-cell .month-cell-num{background:var(--ag-gold);color:#fff;font-weight:700;}
.month-event{font-size:10px;padding:2px 5px;margin-bottom:2px;border-radius:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border-left:2px solid;line-height:1.4;}
.month-event:hover{opacity:.8;}
.month-event.ev-pendiente{background:rgba(120,120,130,.12);border-color:#9CA3AF;color:#6B7280;}
.month-event.ev-confirmado{background:rgba(16,185,129,.12);border-color:#10B981;color:#059669;}
.month-event.ev-cancelado,.month-event.ev-no-show{background:rgba(239,68,68,.1);border-color:#EF4444;color:#DC2626;}
.month-event.ev-en-sala{background:rgba(59,130,246,.12);border-color:#3B82F6;color:#2563EB;}
.month-more{font-size:10px;color:var(--ag-text-dim);padding:1px 5px;cursor:pointer;font-weight:500;}
.month-more:hover{color:var(--ag-gold);}

/* MOBILE RESPONSIVE */
.mobile-menu-btn{display:none;background:none;border:1px solid var(--border);color:var(--white-dim);width:32px;height:32px;cursor:pointer;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;line-height:1;}
.mobile-menu-btn:hover{border-color:var(--gold);color:var(--gold);}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:140;}
.sidebar-overlay.open{display:block;}
@media(max-width:768px){
  :root{--sidebar-w:0px;}
  .sidebar{width:260px;transform:translateX(-100%);transition:transform .3s;z-index:150;}
  .sidebar.mobile-open{transform:translateX(0);}
  .content-area{margin-left:0;width:100vw;}
  .topbar{left:0;}
  .topbar-title{font-size:13px;}
  .topbar-search-wrap{max-width:140px;}
  .mobile-menu-btn{display:flex !important;}
  #tab-agenda .agenda-layout{grid-template-columns:1fr !important;}
  #tab-agenda .agenda-layout > div:last-child{border-left:none;border-top:1px solid var(--ag-border);min-height:auto;}
  .crm-stats{grid-template-columns:1fr 1fr !important;}
  .roi-kpi-grid{grid-template-columns:1fr !important;}
  .espera-layout{grid-template-columns:1fr !important;}
  .g-pillars,.fidel-cards,.err-grid{grid-template-columns:1fr !important;}
  main{padding:20px 14px 80px !important;}
  .notif-panel{width:100vw;}
  .month-cell{min-height:70px;}
  .month-event{font-size:9px;}
}

/* MAIN */
.content-area{margin-left:var(--sidebar-w);padding-top:52px;min-height:100vh;width:calc(100vw - var(--sidebar-w));display:flex;flex-direction:column;}
main{max-width:1100px;margin:0 auto;padding:36px 40px 80px;width:100%;}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fu .25s ease;}
@keyframes fu{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* Agenda full-width — pure CSS */
.agenda-mode .content-area{background:#F5F0E8;}
.agenda-mode main{max-width:100% !important;width:100% !important;margin:0 !important;padding:0 !important;}
#tab-agenda{width:100%;}

/* UTILITIES */
.sl{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:9px;display:flex;align-items:center;gap:9px;}
.sl::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent);}
h1.st{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:300;line-height:1.15;}
h1.st em{color:var(--gold);font-style:italic;}
.sd{margin-top:9px;font-size:14px;color:var(--white-dim);line-height:1.7;max-width:560px;}
.sh{margin-bottom:28px;}
.divider{height:1px;background:linear-gradient(90deg,var(--gold-dim),transparent);margin:22px 0;}
.btn-gold{background:var(--gold);color:var(--navy);border:none;padding:9px 20px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:background .2s;}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{background:none;border:1px solid var(--border);color:var(--white-dim);padding:8px 16px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:all .2s;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}

/* FILTER BAR */
.fbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px;}
.fb{background:none;border:1px solid var(--border);color:var(--white-dim);padding:6px 14px;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.fb:hover{border-color:var(--gold-dim);color:var(--white);}
.fb.active{background:rgba(201,168,76,.1);border-color:var(--gold);color:var(--gold);}

/* PROGRESS */
.prog{background:var(--navy-light);border:1px solid var(--border);padding:14px 18px;margin-bottom:22px;display:flex;align-items:center;gap:14px;}
.prog-track{flex:1;height:4px;background:var(--navy-mid);border-radius:2px;overflow:hidden;}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold));transition:width .4s;}
.prog-count{font-size:13px;color:var(--gold);font-weight:500;white-space:nowrap;}
.prog-label{font-size:12px;color:var(--white-dim);white-space:nowrap;}

/* POSTS */
.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;}
.pc{background:var(--navy-card);border:1px solid var(--border);padding:19px;position:relative;transition:all .2s;}
.pc::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height .3s;}
.pc:hover::before{height:100%;}
.pc:hover{border-color:rgba(201,168,76,.4);}
.pc.used{opacity:.5;}
.used-badge{position:absolute;top:8px;right:8px;background:rgba(46,204,113,.12);color:var(--green);font-size:10px;letter-spacing:.09em;text-transform:uppercase;padding:2px 7px;border:1px solid rgba(46,204,113,.3);}
.post-spec{font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.spec-dot{width:5px;height:5px;border-radius:50%;}
.post-text{font-family:'Cormorant Garamond',serif;font-size:15px;line-height:1.65;font-style:italic;margin-bottom:14px;}
.post-actions{display:flex;gap:6px;}
.btn-cp{flex:1;background:none;border:1px solid var(--border);color:var(--white-dim);padding:6px;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.btn-cp:hover{border-color:var(--gold);color:var(--gold);}
.btn-mk{background:none;border:1px solid var(--border);color:var(--white-dim);padding:6px 10px;cursor:pointer;transition:all .2s;font-size:12px;}
.btn-mk:hover{border-color:var(--green);color:var(--green);}

/* WHATSAPP */
.wa-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px;}
.wa-opt{background:var(--navy-card);border:1px solid var(--border);padding:13px 16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:11px;}
.wa-opt:hover{border-color:var(--gold-dim);}
.wa-opt.sel{border-color:var(--gold);background:rgba(201,168,76,.06);}
.wa-icon{font-size:19px;}
.wa-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.07em;}
.wa-sub{font-size:11px;color:var(--white-dim);margin-top:2px;}
.wa-result{background:var(--navy-card);border:1px solid var(--border);padding:24px;}
.wa-seq-lbl{font-size:10px;letter-spacing:.23em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.wa-block{margin-bottom:14px;}
.wa-timing{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--white-dim);margin-bottom:5px;}
.wa-bubble{background:var(--navy-light);border-left:2px solid var(--gold);padding:12px 16px;font-size:14px;line-height:1.7;font-style:italic;}
.wa-copy{margin-top:5px;background:none;border:1px solid var(--border);color:var(--white-dim);padding:5px 12px;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.wa-copy:hover{border-color:var(--gold);color:var(--gold);}

/* CAL MODULE */
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.cl-item{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--white-dim);}
.cl-dot{width:8px;height:8px;border-radius:1px;}
.cal-week{margin-bottom:20px;}
.cal-wlbl{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.cal-days{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.cal-day{background:var(--navy-card);border:1px solid var(--border);padding:10px;}
.cal-dname{font-size:11px;font-weight:600;margin-bottom:6px;}
.cal-chip{font-size:12px;padding:5px 7px;border:1px solid;border-radius:1px;line-height:1.4;}

/* FIDEL */
.fidel-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;}
.fc{background:var(--navy-card);border:1px solid var(--border);padding:22px;position:relative;overflow:hidden;}
.fc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);}
.fc-icon{font-size:22px;margin-bottom:10px;}
.fc-title{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;margin-bottom:5px;}
.fc-desc{font-size:13px;color:var(--white-dim);line-height:1.65;}

/* CIERRE */
.err-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:28px;}
.err-card{background:var(--navy-card);border:1px solid rgba(231,76,60,.2);padding:16px 18px;display:flex;gap:10px;}
.err-n{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:rgba(231,76,60,.35);line-height:1;flex-shrink:0;width:22px;}
.err-title{font-size:13px;font-weight:500;margin-bottom:4px;}
.err-desc{font-size:12px;color:var(--white-dim);line-height:1.6;}
.proto-tbl{width:100%;border-collapse:collapse;margin-bottom:24px;}
.proto-tbl th{background:var(--navy-light);border:1px solid var(--border);padding:9px 12px;text-align:left;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:500;}
.proto-tbl td{border:1px solid var(--border);padding:11px 12px;font-size:13px;color:var(--white-dim);background:var(--navy-card);vertical-align:top;line-height:1.6;}
.proto-tbl tr:hover td{background:var(--navy-light);}
.acc{border:1px solid var(--border);margin-bottom:5px;overflow:hidden;}
.acc-h{padding:14px 18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;background:var(--navy-card);transition:background .2s;}
.acc-h:hover{background:var(--navy-light);}
.acc-title{font-size:14px;font-weight:500;}
.acc-arrow{color:var(--gold);font-size:11px;transition:transform .25s;}
.acc-h.open .acc-arrow{transform:rotate(180deg);}
.acc-body{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.acc-body.open{max-height:240px;}
.acc-content{margin:0 18px;padding:14px 0;border-left:2px solid var(--gold);padding-left:14px;font-size:14px;line-height:1.7;font-style:italic;}
.acc-copy{margin:0 18px 14px;background:none;border:1px solid var(--border);color:var(--white-dim);padding:5px 12px;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.acc-copy:hover{border-color:var(--gold);color:var(--gold);}

/* GUIA */
.g-hero{background:linear-gradient(135deg,var(--navy-light),var(--navy-card));border:1px solid var(--border);padding:44px;margin-bottom:32px;position:relative;overflow:hidden;}
.g-hero::before{content:'D';position:absolute;right:18px;top:-12px;font-size:180px;color:rgba(201,168,76,.04);font-family:'Cormorant Garamond',serif;pointer-events:none;}
.g-lbl{font-size:10px;letter-spacing:.33em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.g-title{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;line-height:1.2;margin-bottom:15px;max-width:500px;}
.g-title em{color:var(--gold);font-style:italic;}
.g-body{font-size:15px;line-height:1.8;color:var(--white-dim);max-width:520px;}
.g-pillars{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);margin-bottom:32px;}
.g-pillar{background:var(--navy-card);padding:24px;border-right:1px solid var(--border);}
.g-pillar:last-child{border-right:none;}
.g-pnum{font-family:'Cormorant Garamond',serif;font-size:48px;font-weight:300;color:rgba(201,168,76,.15);line-height:1;margin-bottom:10px;}
.g-ptitle{font-size:11px;font-weight:500;color:var(--gold);letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px;}
.g-pbody{font-size:13px;line-height:1.7;color:var(--white-dim);}
.g-item{display:grid;grid-template-columns:56px 1fr;border:1px solid var(--border);margin-bottom:4px;transition:border-color .2s;overflow:hidden;}
.g-item:hover{border-color:rgba(201,168,76,.4);}
.g-iicon{background:var(--navy-light);display:flex;align-items:center;justify-content:center;font-size:20px;border-right:1px solid var(--border);}
.g-ibody{background:var(--navy-card);padding:20px 24px;}
.g-ititle{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:600;margin-bottom:5px;}
.g-itext{font-size:13px;line-height:1.75;color:var(--white-dim);margin-bottom:8px;}
.g-istat{display:inline-block;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.25);color:var(--gold);font-size:11px;letter-spacing:.09em;padding:3px 9px;text-transform:uppercase;}
.g-quote{border-left:3px solid var(--gold);padding:20px 26px;margin:28px 0;background:rgba(201,168,76,.04);}
.g-qtext{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;font-style:italic;line-height:1.5;margin-bottom:8px;}
.g-qauthor{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);}
.g-cta{background:var(--navy-light);border:1px solid var(--border);padding:28px 32px;margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.g-cta-text{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;line-height:1.4;}
.g-cta-text em{color:var(--gold);font-style:italic;}

/* ═══════════════════════════════════════════
   AGENDA — SCHEDULER
═══════════════════════════════════════════ */
.ag-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.ag-nav{display:flex;align-items:center;gap:8px;}
.ag-nav-btn{background:none;border:1px solid var(--border);color:var(--gold);padding:6px 12px;cursor:pointer;font-size:14px;transition:border-color .2s;}
.ag-nav-btn:hover{border-color:var(--gold);}
.ag-period-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;min-width:220px;}
.ag-today-btn{background:none;border:1px solid var(--border);color:var(--white-dim);padding:6px 14px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:all .2s;}
.ag-today-btn:hover{border-color:var(--gold);color:var(--gold);}
.ag-view-btns{display:flex;margin-left:auto;}
.ag-view-btn{background:none;border:1px solid var(--border);color:var(--white-dim);padding:6px 14px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.09em;text-transform:uppercase;transition:all .2s;border-right:none;}
.ag-view-btn:last-child{border-right:1px solid var(--border);}
.ag-view-btn.active{background:rgba(201,168,76,.12);color:var(--gold);border-color:var(--gold);}
.ag-view-btn.active + .ag-view-btn{border-left:none;}

/* STATS */
.crm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:20px;}
.cs{background:var(--navy-card);border:1px solid var(--border);padding:15px;position:relative;overflow:hidden;}
.cs::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);}
.cs-val{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--gold);line-height:1;margin-bottom:3px;}
.cs-lbl{font-size:11px;color:var(--white-dim);letter-spacing:.09em;text-transform:uppercase;}

/* WEEKLY VIEW */
.week-view{background:var(--navy-card);border:1px solid var(--border);overflow:hidden;}
.week-header{display:grid;border-bottom:1px solid var(--border);}
.week-time-gutter{width:56px;flex-shrink:0;}
.week-col-header{text-align:center;padding:10px 4px;border-left:1px solid var(--border);}
.week-col-header .wh-day{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--white-dim);}
.week-col-header .wh-num{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;line-height:1;margin-top:2px;}
.week-col-header.today .wh-num{color:var(--gold);}
.week-col-header.today{border-bottom:2px solid var(--gold);}
.week-body{display:flex;overflow-y:auto;max-height:520px;position:relative;}
.week-gutter{width:56px;flex-shrink:0;position:relative;}
.hour-label{height:var(--hour-h);display:flex;align-items:flex-start;padding:2px 6px 0;font-size:10px;color:var(--white-dim);letter-spacing:.05em;border-top:1px solid var(--border);}
.week-cols{flex:1;display:grid;position:relative;}
.week-col{border-left:1px solid var(--border);position:relative;}
.week-col .hour-slot{height:var(--hour-h);border-top:1px solid rgba(201,168,76,.08);position:relative;cursor:pointer;transition:background .15s;}
.week-col .hour-slot:hover{background:rgba(201,168,76,.04);}
.week-col .half-slot{position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(201,168,76,.04);}
.now-line{position:absolute;left:0;right:0;height:2px;background:var(--red);z-index:10;pointer-events:none;}
.now-line::before{content:'';position:absolute;left:-4px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--red);}

/* EVENTS */
.cal-event{position:absolute;left:3px;right:3px;border-radius:2px;padding:3px 6px;cursor:pointer;overflow:hidden;z-index:5;transition:opacity .15s;border-left:3px solid;}
.cal-event:hover{opacity:.85;z-index:6;}
.ev-contacto{background:rgba(6,182,212,.18);border-color:#06B6D4;color:#06B6D4;}
.ev-agendado{background:rgba(201,168,76,.18);border-color:var(--gold);color:var(--gold);}
.ev-tratamiento{background:rgba(139,92,246,.18);border-color:#8B5CF6;color:#8B5CF6;}
.ev-fidelizado{background:rgba(16,185,129,.18);border-color:#10B981;color:#10B981;}
.ev-title{font-size:11px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ev-time{font-size:10px;opacity:.8;white-space:nowrap;}
.ev-trat{font-size:10px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* DAY VIEW */
.day-view{background:var(--navy-card);border:1px solid var(--border);overflow:hidden;}
.day-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.day-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:300;}
.day-body{display:flex;overflow-y:auto;max-height:560px;}
.day-gutter{width:56px;flex-shrink:0;}
.day-col{flex:1;border-left:1px solid var(--border);position:relative;}
.day-col .hour-slot{height:var(--hour-h);border-top:1px solid rgba(201,168,76,.08);cursor:pointer;position:relative;transition:background .15s;}
.day-col .hour-slot:hover{background:rgba(201,168,76,.05);}

/* MONTH MINI NAV */
.month-mini{background:var(--navy-card);border:1px solid var(--border);padding:16px;}
.mm-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.mm-title{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;}
.mm-nav{background:none;border:1px solid var(--border);color:var(--gold);padding:3px 8px;cursor:pointer;font-size:12px;}
.mm-nav:hover{border-color:var(--gold);}
.mm-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;}
.mm-dn{text-align:center;font-size:9px;color:var(--white-dim);padding:3px 0;letter-spacing:.08em;}
.mm-cell{text-align:center;padding:4px 2px;font-size:11px;cursor:pointer;border-radius:1px;transition:all .15s;}
.mm-cell:hover{background:rgba(201,168,76,.1);color:var(--gold);}
.mm-cell.today{background:var(--gold);color:var(--navy);font-weight:700;}
.mm-cell.selected{outline:1px solid var(--gold);color:var(--gold);}
.mm-cell.has-ev{font-weight:600;color:var(--white);}
.mm-cell.has-ev::after{content:'·';display:block;color:var(--gold);font-size:14px;line-height:0;margin-top:1px;}
.mm-cell.other{color:rgba(184,176,160,.3);}

/* AGENDA LAYOUT */
.agenda-layout{display:grid;grid-template-columns:1fr 200px;gap:16px;align-items:start;}

/* PATIENT LIST SIDEBAR */
.pt-list{background:var(--navy-card);border:1px solid var(--border);}
.pt-head{padding:12px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.pt-head-title{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);}
.pt-search{background:var(--navy-light);border:1px solid var(--border);color:var(--white);padding:5px 9px;font-family:'DM Sans',sans-serif;font-size:12px;outline:none;width:100%;margin:8px 16px 12px;width:calc(100% - 32px);}
.pt-row{padding:10px 16px;border-bottom:1px solid rgba(201,168,76,.07);cursor:pointer;transition:background .15s;}
.pt-row:hover{background:var(--navy-light);}
.pt-row:last-child{border-bottom:none;}
.pt-name{font-size:13px;font-weight:500;}
.pt-sub{font-size:11px;color:var(--white-dim);margin-top:1px;}
.pt-stage{font-size:10px;padding:2px 6px;letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:1px;margin-top:4px;display:inline-block;}
.s-contacto{color:#06B6D4;border-color:rgba(6,182,212,.35);background:rgba(6,182,212,.08);}
.s-agendado{color:var(--gold);border-color:rgba(201,168,76,.35);background:rgba(201,168,76,.08);}
.s-tratamiento{color:#8B5CF6;border-color:rgba(139,92,246,.35);background:rgba(139,92,246,.08);}
.s-fidelizado{color:#10B981;border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.08);}

/* MODAL */
.modal-ov{display:none;position:fixed;inset:0;z-index:300;background:rgba(13,27,42,.92);backdrop-filter:blur(8px);align-items:center;justify-content:center;}
.modal-ov.open{display:flex;}
.modal-box{background:var(--navy-mid);border:1px solid var(--border);width:500px;max-width:92vw;max-height:88vh;overflow-y:auto;padding:28px;}
.modal-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;}
.modal-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;}
.modal-close{background:none;border:1px solid var(--border);color:var(--white-dim);padding:5px 10px;cursor:pointer;font-size:13px;transition:all .2s;}
.modal-close:hover{border-color:var(--gold);color:var(--gold);}
.modal-sec{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:14px 0 8px;}
.modal-row{display:grid;grid-template-columns:100px 1fr;gap:7px;margin-bottom:5px;font-size:13px;}
.modal-rl{color:var(--white-dim);}
.stg-btns{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px;}
.stg-btn{background:none;border:1px solid var(--border);color:var(--white-dim);padding:5px 10px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.06em;text-transform:uppercase;transition:all .2s;}
.stg-btn.act-contacto{border-color:#06B6D4;color:#06B6D4;background:rgba(6,182,212,.08);}
.stg-btn.act-agendado{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.08);}
.stg-btn.act-tratamiento{border-color:#8B5CF6;color:#8B5CF6;background:rgba(139,92,246,.08);}
.stg-btn.act-fidelizado{border-color:#10B981;color:#10B981;background:rgba(16,185,129,.08);}
.del-btn{background:none;border:1px solid rgba(231,76,60,.3);color:rgba(231,76,60,.7);padding:6px 12px;cursor:pointer;font-size:11px;letter-spacing:.09em;text-transform:uppercase;transition:all .2s;}
.del-btn:hover{border-color:var(--red);color:var(--red);}
.modal-actions{display:flex;gap:8px;margin-top:12px;}

/* FORM */
.crm-form{background:var(--navy-card);border:1px solid var(--border);padding:20px;}
.crm-form-title{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;margin-bottom:14px;}
.crm-field{margin-bottom:10px;}
.crm-label{display:block;font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--white-dim);margin-bottom:4px;}
.crm-input{width:100%;background:var(--navy-light);border:1px solid var(--border);color:var(--white);padding:8px 10px;font-family:'DM Sans',sans-serif;font-size:13px;outline:none;transition:border-color .2s;}
.crm-input:focus{border-color:var(--gold);}
.crm-input option{background:var(--navy-light);}
.crm-textarea{width:100%;background:var(--navy-light);border:1px solid var(--border);color:var(--white);padding:8px 10px;font-family:'DM Sans',sans-serif;font-size:13px;outline:none;resize:vertical;min-height:60px;transition:border-color .2s;}
.crm-textarea:focus{border-color:var(--gold);}

/* QUICK DATE */
.qd-row{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap;}
.qd{background:none;border:1px solid var(--border);color:var(--white-dim);padding:4px 8px;font-family:'DM Sans',sans-serif;font-size:11px;cursor:pointer;transition:all .2s;}
.qd:hover{border-color:var(--gold);color:var(--gold);}

/* NEW APPT MODAL */
#apptModal .modal-box{width:420px;}

/* ALERT IN TAB */
.ag-alert{background:rgba(201,168,76,.1);border:1px solid var(--gold);padding:12px 16px;margin-bottom:14px;display:flex;gap:10px;align-items:flex-start;}
.ag-alert-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
.ag-alert-text{font-size:13px;line-height:1.6;}
.ag-alert-text strong{color:var(--gold);}
.ag-alert-msg{font-size:12px;color:var(--white-dim);margin-top:4px;font-style:italic;}

/* ═══════════════════════════════════════
   AGENDA — FULL WIDTH LIGHT THEME
═══════════════════════════════════════ */

/* When agenda tab is active, override content-area background */
.agenda-mode .content-area{background:#F5F0E8;}
.agenda-mode main{max-width:none !important;padding:0 !important;}

/* Agenda full-width wrapper */
#tab-agenda{
  --ag-bg:#F5F0E8;
  --ag-bg2:#EDE8DE;
  --ag-bg3:#E4DDCF;
  --ag-border:rgba(100,80,40,0.15);
  --ag-text:#2C2218;
  --ag-text-dim:#7A6A50;
  --ag-gold:#8B6914;
  --ag-gold-light:#C9A84C;
  background:var(--ag-bg);
  color:var(--ag-text);
  padding:0;
  min-height:calc(100vh - 52px);
}

/* Agenda topbar override */
.agenda-topbar{
  background:#EDE8DE;
  border-bottom:1px solid rgba(100,80,40,0.18);
  padding:14px 28px 12px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  position:sticky;
  top:52px;
  z-index:80;
}

/* Stats in light theme */
#tab-agenda .crm-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-bottom:1px solid var(--ag-border);
  margin-bottom:0;
}
#tab-agenda .cs{
  background:var(--ag-bg2);
  border:none;
  border-right:1px solid var(--ag-border);
  padding:16px 20px;
}
#tab-agenda .cs:last-child{border-right:none;}
#tab-agenda .cs::after{background:linear-gradient(90deg,var(--ag-gold-light),transparent);}
#tab-agenda .cs-val{color:var(--ag-gold);font-size:32px;}
#tab-agenda .cs-lbl{color:var(--ag-text-dim);}

/* Toolbar light */
#tab-agenda .ag-toolbar{
  background:var(--ag-bg2);
  border-bottom:1px solid var(--ag-border);
  padding:10px 24px;
  margin-bottom:0;
}
#tab-agenda .ag-nav-btn{border-color:var(--ag-border);color:var(--ag-gold);}
#tab-agenda .ag-nav-btn:hover{border-color:var(--ag-gold);}
#tab-agenda .ag-today-btn{border-color:var(--ag-border);color:var(--ag-text-dim);}
#tab-agenda .ag-today-btn:hover{border-color:var(--ag-gold);color:var(--ag-gold);}
#tab-agenda .ag-period-title{color:var(--ag-text);}
#tab-agenda .ag-view-btn{border-color:var(--ag-border);color:var(--ag-text-dim);}
#tab-agenda .ag-view-btn.active{background:rgba(139,105,20,.1);color:var(--ag-gold);border-color:var(--ag-gold);}

/* Calendar grid light */
#tab-agenda .week-view,
#tab-agenda .day-view{
  background:#fff;
  border:none;
  border-right:1px solid var(--ag-border);
  width:100%;
}
#tab-agenda .week-header,
#tab-agenda .week-col-header{border-color:var(--ag-border);}
#tab-agenda .week-col-header .wh-day{color:var(--ag-text-dim);}
#tab-agenda .week-col-header .wh-num{color:var(--ag-text);}
#tab-agenda .week-col-header.today .wh-num{color:var(--ag-gold);}
#tab-agenda .week-col-header.today{border-bottom-color:var(--ag-gold);}
#tab-agenda .hour-label{color:var(--ag-text-dim);border-color:rgba(100,80,40,.08);}
#tab-agenda .week-col{border-left-color:var(--ag-border);}
#tab-agenda .week-col .hour-slot{border-top-color:rgba(100,80,40,.06);}
#tab-agenda .week-col .hour-slot:hover{background:rgba(139,105,20,.04);}
#tab-agenda .week-body{max-height:calc(100vh - 240px);}

/* Day view light */
#tab-agenda .day-header{border-color:var(--ag-border);background:var(--ag-bg2);}
#tab-agenda .day-title{color:var(--ag-text);}
#tab-agenda .day-col .hour-slot{border-top-color:rgba(100,80,40,.06);}
#tab-agenda .day-col .hour-slot:hover{background:rgba(139,105,20,.05);}
#tab-agenda .day-body{max-height:calc(100vh - 240px);}

/* Mini month light */
#tab-agenda .month-mini{background:#fff;border:1px solid var(--ag-border);}
#tab-agenda .mm-title{color:var(--ag-text);}
#tab-agenda .mm-nav{border-color:var(--ag-border);color:var(--ag-gold);}
#tab-agenda .mm-nav:hover{border-color:var(--ag-gold);}
#tab-agenda .mm-dn{color:var(--ag-text-dim);}
#tab-agenda .mm-cell{color:var(--ag-text);}
#tab-agenda .mm-cell:hover{background:rgba(139,105,20,.08);color:var(--ag-gold);}
#tab-agenda .mm-cell.today{background:var(--ag-gold);color:#fff;}
#tab-agenda .mm-cell.selected{outline-color:var(--ag-gold);color:var(--ag-gold);}
#tab-agenda .mm-cell.has-ev{color:var(--ag-text);}
#tab-agenda .mm-cell.has-ev::after{color:var(--ag-gold);}
#tab-agenda .mm-cell.other{color:rgba(100,80,40,.25);}

/* Alerts light */
#tab-agenda .ag-alert{background:rgba(201,168,76,.1);border-color:var(--ag-gold-light);}
#tab-agenda .ag-alert-text strong{color:var(--ag-gold);}
#tab-agenda .ag-alert-msg{color:var(--ag-text-dim);}

/* Patient sidebar light */
#tab-agenda .pt-list{background:#fff;border:1px solid var(--ag-border);}
#tab-agenda .pt-head{border-color:var(--ag-border);}
#tab-agenda .pt-head-title{color:var(--ag-gold);}
#tab-agenda .pt-search{background:var(--ag-bg2);border-color:var(--ag-border);color:var(--ag-text);}
#tab-agenda .pt-row{border-color:rgba(100,80,40,.07);}
#tab-agenda .pt-row:hover{background:var(--ag-bg2);}
#tab-agenda .pt-name{color:var(--ag-text);}
#tab-agenda .pt-sub{color:var(--ag-text-dim);}

/* CRM Form light */
#tab-agenda .crm-form{background:#fff;border:1px solid var(--ag-border);}
#tab-agenda .crm-form-title{color:var(--ag-text);}
#tab-agenda .crm-label{color:var(--ag-text-dim);}
#tab-agenda .crm-input{background:var(--ag-bg2);border-color:var(--ag-border);color:var(--ag-text);}
#tab-agenda .crm-input:focus{border-color:var(--ag-gold);}
#tab-agenda .crm-textarea{background:var(--ag-bg2);border-color:var(--ag-border);color:var(--ag-text);}
#tab-agenda .btn-gold{background:var(--ag-gold);color:#fff;}
#tab-agenda .btn-gold:hover{background:var(--ag-gold-light);}

/* Agenda layout — full width, side panel */
#tab-agenda .agenda-layout{
  display:grid;
  grid-template-columns:1fr 260px;
  gap:0;
  align-items:start;
  width:100%;
  min-height:calc(100vh - 52px);
}
#tab-agenda .agenda-layout > div:first-child{
  overflow:hidden;
  min-width:0;
}
#tab-agenda .agenda-layout > div:last-child{
  border-left:1px solid var(--ag-border);
  background:var(--ag-bg2);
  padding:16px;
  min-height:calc(100vh - 52px);
  overflow-y:auto;
}

/* Now-line stays red */
#tab-agenda .now-line{background:var(--red);}
#tab-agenda .now-line::before{background:var(--red);}

/* Scrollbar light */
#tab-agenda ::-webkit-scrollbar-track{background:var(--ag-bg2);}
#tab-agenda ::-webkit-scrollbar-thumb{background:rgba(139,105,20,.3);}

/* TOAST */
#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(10px);background:var(--navy-mid);border:1px solid var(--gold);color:var(--gold);padding:11px 24px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;z-index:9999;backdrop-filter:blur(8px);white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.4);border-radius:2px;display:flex;align-items:center;gap:8px;}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
#toast.toast-error{border-color:#EF4444;color:#EF4444;background:rgba(239,68,68,.1);}
#toast.toast-success{border-color:#10B981;color:#10B981;background:rgba(16,185,129,.08);}

/* WA LINKS PANEL */
.wa-links-preview{background:var(--navy-light);border:1px solid var(--border);border-left:3px solid #25D366;padding:14px 16px;margin-bottom:16px;font-size:13px;line-height:1.7;color:var(--white-dim);white-space:pre-wrap;word-break:break-word;}
.wa-link-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--border);margin-bottom:8px;transition:border-color .2s;}
.wa-link-row:hover{border-color:#25D366;}
.wa-link-row-icon{font-size:20px;flex-shrink:0;}
.wa-link-row-info{flex:1;min-width:0;}
.wa-link-row-label{font-size:12px;font-weight:500;margin-bottom:2px;}
.wa-link-row-url{font-size:10px;color:var(--white-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.wa-link-row-btn{background:#25D366;border:none;color:#fff;padding:7px 14px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;transition:background .2s;border-radius:2px;}
.wa-link-row-btn:hover{background:#1da851;}
.wa-copy-msg-btn{width:100%;background:none;border:1px solid var(--border);color:var(--white-dim);padding:9px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:all .2s;margin-bottom:12px;}
.wa-copy-msg-btn:hover{border-color:var(--gold);color:var(--gold);}
.wa-hint{font-size:11px;color:var(--white-dim);line-height:1.6;padding:10px 14px;background:rgba(37,211,102,.05);border:1px solid rgba(37,211,102,.15);margin-bottom:12px;}

/* PHONE INPUT WITH COUNTRY CODE */
.phone-input-wrap{display:flex;gap:0;width:100%;min-width:0;}
.phone-code-select{background:var(--navy-light);border:1px solid var(--border);border-right:none;color:var(--gold);padding:8px 6px;font-family:'DM Sans',sans-serif;font-size:11px;outline:none;cursor:pointer;transition:border-color .2s;flex-shrink:0;width:130px;min-width:0;}
.phone-code-select:focus{border-color:var(--gold);}
.phone-code-select option{background:var(--navy-light);color:var(--white);}
.phone-number-input{flex:1;min-width:0;background:var(--navy-light);border:1px solid var(--border);color:var(--white);padding:8px 8px;font-family:'DM Sans',sans-serif;font-size:13px;outline:none;transition:border-color .2s;width:0;}
.phone-number-input:focus{border-color:var(--gold);}
.phone-number-input::placeholder{color:var(--white-dim);opacity:.6;}
/* Light theme phone (agenda) */
#tab-agenda .phone-code-select{background:var(--ag-bg2);border-color:var(--ag-border);color:var(--ag-gold);}
#tab-agenda .phone-code-select option{background:var(--ag-bg2);color:var(--ag-text);}
#tab-agenda .phone-number-input{background:var(--ag-bg2);border-color:var(--ag-border);color:var(--ag-text);}
.modal-ov .phone-code-select{background:var(--navy-light);border-color:var(--border);color:var(--gold);}
.modal-ov .phone-number-input{background:var(--navy-light);border-color:var(--border);color:var(--white);}

/* ═══════════════════════════════════════
   ESTADO — APPOINTMENT STATUS COLORS
═══════════════════════════════════════ */
.ev-pendiente  {background:rgba(120,120,130,.18)!important;border-left-color:#9CA3AF!important;color:#6B7280!important;}
.ev-confirmado {background:rgba(16,185,129,.15)!important;border-left-color:#10B981!important;color:#10B981!important;}
.ev-cancelado  {background:rgba(239,68,68,.15)!important;border-left-color:#EF4444!important;color:#EF4444!important;}
.ev-no-show    {background:rgba(239,68,68,.10)!important;border-left-color:#EF4444!important;color:#EF4444!important;opacity:.65;}
.ev-en-sala    {background:rgba(59,130,246,.15)!important;border-left-color:#3B82F6!important;color:#3B82F6!important;}

.estado-btns{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 10px;}
.estado-btn{background:none;border:1px solid var(--border);color:var(--white-dim);padding:5px 10px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.07em;text-transform:uppercase;transition:all .2s;border-radius:2px;flex-shrink:0;}
.estado-btn.act-pendiente {border-color:#9CA3AF;color:#9CA3AF;background:rgba(120,120,130,.1);}
.estado-btn.act-confirmado{border-color:#10B981;color:#10B981;background:rgba(16,185,129,.1);}
.estado-btn.act-cancelado {border-color:#EF4444;color:#EF4444;background:rgba(239,68,68,.1);}
.estado-btn.act-no-show   {border-color:#EF4444;color:#EF4444;background:rgba(239,68,68,.08);opacity:.8;}
.estado-btn.act-en-sala   {border-color:#3B82F6;color:#3B82F6;background:rgba(59,130,246,.1);}

.wa-panel{background:var(--navy-light);border:1px solid var(--border);padding:14px 16px;margin-top:8px;}
.wa-panel-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.wa-msg-btn{display:flex;align-items:center;gap:9px;width:100%;background:none;border:1px solid var(--border);color:var(--white-dim);padding:8px 12px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:12px;text-align:left;transition:all .2s;margin-bottom:5px;line-height:1.4;}
.wa-msg-btn:last-child{margin-bottom:0;}
.wa-msg-btn:hover{border-color:#25D366;color:#25D366;}
.wa-msg-btn-icon{font-size:10px;font-weight:700;letter-spacing:.06em;color:#25D366;flex-shrink:0;width:22px;}

/* ═══════════════════════════════════════
   ROI DASHBOARD
═══════════════════════════════════════ */
#tab-roi{padding:36px 40px 80px;}
.roi-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;}
.roi-card{background:var(--navy-card);border:1px solid var(--border);padding:22px;position:relative;overflow:hidden;}
.roi-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;}
.roi-card.riesgo::after{background:linear-gradient(90deg,#EF4444,transparent);}
.roi-card.rescatado::after{background:linear-gradient(90deg,#10B981,transparent);}
.roi-card.ocupacion::after{background:linear-gradient(90deg,var(--gold),transparent);}
.roi-card-lbl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--white-dim);margin-bottom:8px;}
.roi-card-val{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;line-height:1;margin-bottom:4px;}
.roi-card.riesgo .roi-card-val{color:#EF4444;}
.roi-card.rescatado .roi-card-val{color:#10B981;}
.roi-card.ocupacion .roi-card-val{color:var(--gold);}
.roi-card-sub{font-size:12px;color:var(--white-dim);line-height:1.5;}

.roi-table-wrap{background:var(--navy-card);border:1px solid var(--border);padding:20px;}
.roi-table-title{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;justify-content:space-between;align-items:center;}
.roi-table{width:100%;border-collapse:collapse;}
.roi-table th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--white-dim);text-align:left;padding:7px 10px;border-bottom:1px solid var(--border);}
.roi-table td{font-size:13px;padding:10px 10px;border-bottom:1px solid rgba(201,168,76,.06);color:var(--white);vertical-align:middle;}
.roi-table tr:last-child td{border-bottom:none;}
.roi-table tr:hover td{background:rgba(201,168,76,.03);}
.roi-estado-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:20px;font-size:10px;letter-spacing:.07em;text-transform:uppercase;border:1px solid;white-space:nowrap;}
.roi-wa-btn{background:none;border:1px solid rgba(37,211,102,.35);color:#25D366;padding:4px 9px;cursor:pointer;font-size:10px;letter-spacing:.08em;text-transform:uppercase;transition:all .2s;white-space:nowrap;border-radius:2px;}
.roi-wa-btn:hover{background:rgba(37,211,102,.1);}
.roi-ocupacion-bar{height:8px;background:var(--navy-light);border-radius:4px;overflow:hidden;margin-top:8px;}
.roi-ocupacion-fill{height:100%;background:linear-gradient(90deg,var(--gold-dim),var(--gold));border-radius:4px;transition:width .5s;}

.estado-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.el-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--white-dim);}
.el-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;}

.conf-card{background:var(--navy-card);border:1px solid var(--border);padding:22px;}
/* ═══════════════════════════════════════
   LISTA DE ESPERA
═══════════════════════════════════════ */
#tab-espera{padding:36px 40px 80px;}
.espera-layout{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:start;}
.espera-card{background:var(--navy-card);border:1px solid var(--border);padding:20px;}
.espera-row{background:var(--navy-card);border:1px solid var(--border);padding:14px 16px;margin-bottom:8px;transition:border-color .2s;}
.espera-row:hover{border-color:rgba(201,168,76,.35);}
.espera-row-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px;}
.espera-nombre{font-size:14px;font-weight:500;}
.espera-proc{font-size:12px;color:var(--white-dim);margin-top:2px;}
.espera-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.espera-chip{font-size:10px;padding:2px 8px;border:1px solid var(--border);color:var(--white-dim);letter-spacing:.06em;text-transform:uppercase;}
.espera-chip.flex{border-color:rgba(16,185,129,.3);color:#10B981;background:rgba(16,185,129,.06);}
.espera-chip.priority{border-color:rgba(201,168,76,.3);color:var(--gold);background:rgba(201,168,76,.06);}
.espera-actions{display:flex;gap:6px;margin-top:10px;}
.espera-del{background:none;border:1px solid rgba(231,76,60,.25);color:rgba(231,76,60,.6);padding:4px 8px;cursor:pointer;font-size:10px;transition:all .2s;}
.espera-del:hover{border-color:var(--red);color:var(--red);}
.espera-wa-btn{background:none;border:1px solid rgba(37,211,102,.3);color:#25D366;padding:4px 9px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.07em;text-transform:uppercase;transition:all .2s;}
.espera-wa-btn:hover{background:rgba(37,211,102,.1);}

/* HUECO MODAL */
.hueco-modal-box{width:560px;max-width:95vw;}
.hueco-info{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);padding:14px 16px;margin-bottom:18px;}
.hueco-info-title{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#EF4444;margin-bottom:8px;}
.hueco-info-row{display:flex;gap:20px;font-size:13px;flex-wrap:wrap;}
.hueco-info-item{color:var(--white-dim);}
.hueco-info-item strong{color:var(--white);}
.candidato-section-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:14px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.candidato-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);margin-bottom:6px;transition:all .2s;}
.candidato-row:hover{border-color:rgba(37,211,102,.35);background:rgba(37,211,102,.03);}
.candidato-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;font-family:'Cormorant Garamond',serif;}
.candidato-info{flex:1;min-width:0;}
.candidato-nombre{font-size:13px;font-weight:500;}
.candidato-sub{font-size:11px;color:var(--white-dim);margin-top:1px;}
.candidato-badge{font-size:10px;padding:2px 7px;border:1px solid;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;flex-shrink:0;}
.candidato-badge.espera{border-color:rgba(201,168,76,.4);color:var(--gold);}
.candidato-badge.adelantar{border-color:rgba(59,130,246,.4);color:#3B82F6;}
.candidato-wa{background:#25D366;border:none;color:#fff;padding:7px 13px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;transition:background .2s;flex-shrink:0;}
.candidato-wa:hover{background:#1da851;}
.hueco-skip{width:100%;background:none;border:1px solid var(--border);color:var(--white-dim);padding:9px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:all .2s;margin-top:8px;}
.hueco-skip:hover{border-color:var(--gold);color:var(--gold);}
.no-candidatos{padding:20px;text-align:center;color:var(--white-dim);font-size:13px;border:1px dashed var(--border);}

/* HUECOS OFRECIDOS — dentro del modal de cita */
.huecos-section{background:rgba(37,211,102,.06);border:1px solid rgba(37,211,102,.2);padding:14px 16px;margin-top:10px;}
.huecos-section-title{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#25D366;margin-bottom:10px;}
.hueco-ofrecido-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(37,211,102,.1);}
.hueco-ofrecido-row:last-child{border-bottom:none;padding-bottom:0;}
.hueco-ofrecido-info{flex:1;min-width:0;}
.hueco-ofrecido-name{font-size:13px;font-weight:500;}
.hueco-ofrecido-sub{font-size:11px;color:var(--white-dim);margin-top:1px;}
.hueco-reagendar-btn{background:#25D366;border:none;color:#fff;padding:6px 12px;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;transition:background .2s;white-space:nowrap;border-radius:2px;flex-shrink:0;}
.hueco-reagendar-btn:hover{background:#1da851;}

/* ═══════════════════════════════════════
   PACIENTES — HISTORIAL CLÍNICO
═══════════════════════════════════════ */
#tab-pacientes{padding:0;min-height:calc(100vh - 52px);grid-template-columns:300px 1fr;}
#tab-pacientes.active{display:grid;}

/* Patient list panel */
.pac-list-panel{border-right:1px solid var(--border);display:flex;flex-direction:column;height:calc(100vh - 52px);position:sticky;top:52px;}
.pac-list-header{padding:16px 18px 12px;border-bottom:1px solid var(--border);flex-shrink:0;}
.pac-search-input{width:100%;background:var(--navy-light);border:1px solid var(--border);color:var(--white);padding:7px 10px;font-family:'DM Sans',sans-serif;font-size:12px;outline:none;transition:border-color .2s;margin-top:8px;}
.pac-search-input:focus{border-color:var(--gold);}
.pac-search-input::placeholder{color:var(--white-dim);opacity:.6;}
.pac-filter-row{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap;}
.pac-filter-chip{background:none;border:1px solid var(--border);color:var(--white-dim);padding:3px 9px;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.pac-filter-chip:hover{border-color:var(--gold-dim);color:var(--white);}
.pac-filter-chip.active{background:rgba(201,168,76,.1);border-color:var(--gold);color:var(--gold);}
.pac-list-body{flex:1;overflow-y:auto;scrollbar-width:thin;}
.pac-row{padding:12px 18px;border-bottom:1px solid rgba(201,168,76,.07);cursor:pointer;transition:background .15s;display:flex;align-items:center;gap:11px;}
.pac-row:hover{background:var(--navy-light);}
.pac-row.active{background:rgba(201,168,76,.08);border-left:2px solid var(--gold);}
.pac-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;font-family:'Cormorant Garamond',serif;}
.pac-row-info{flex:1;min-width:0;}
.pac-row-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pac-row-sub{font-size:11px;color:var(--white-dim);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pac-row-badge{font-size:9px;padding:2px 5px;border:1px solid;letter-spacing:.06em;text-transform:uppercase;flex-shrink:0;}
.pac-new-btn{margin:12px 18px;display:block;width:calc(100% - 36px);background:none;border:1px dashed var(--border);color:var(--white-dim);padding:8px;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;}
.pac-new-btn:hover{border-color:var(--gold);color:var(--gold);}

/* Ficha panel */
.pac-ficha-panel{overflow-y:auto;height:calc(100vh - 52px);}
.pac-ficha-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--white-dim);gap:12px;}
.pac-ficha-empty-label{font-size:13px;letter-spacing:.08em;}

/* Ficha tabs */
.ficha-header{padding:24px 28px 0;border-bottom:1px solid var(--border);}
.ficha-identity{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.ficha-avatar-big{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;flex-shrink:0;font-family:'Cormorant Garamond',serif;}
.ficha-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;}
.ficha-name-meta{font-size:12px;color:var(--white-dim);margin-top:3px;}
.ficha-alert-badge{display:inline-flex;align-items:center;gap:5px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#EF4444;font-size:10px;padding:2px 8px;letter-spacing:.08em;text-transform:uppercase;margin-left:10px;}
.ficha-tab-bar{display:flex;gap:0;border-bottom:none;}
.ficha-tab{background:none;border:none;border-bottom:2px solid transparent;padding:10px 18px;font-family:'DM Sans',sans-serif;font-size:11px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--white-dim);cursor:pointer;transition:all .2s;}
.ficha-tab:hover{color:var(--white);}
.ficha-tab.active{color:var(--gold);border-bottom-color:var(--gold);}
.ficha-body{padding:24px 28px;}

/* Ficha — info general */
.ficha-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;}
.ficha-field{background:var(--navy-card);border:1px solid var(--border);padding:12px 14px;}
.ficha-field-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--white-dim);margin-bottom:4px;}
.ficha-field-val{font-size:13px;font-weight:500;}
.ficha-field-val.editable{cursor:pointer;border-bottom:1px dashed rgba(201,168,76,.3);transition:border-color .2s;}
.ficha-field-val.editable:hover{border-color:var(--gold);}
.ficha-edit-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--gold);color:var(--white);font-family:'DM Sans',sans-serif;font-size:13px;outline:none;padding:2px 0;}
.alerta-medica-box{background:rgba(239,68,68,.07);border:1px solid rgba(239,68,68,.25);padding:14px 16px;margin-bottom:20px;}
.alerta-medica-title{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#EF4444;margin-bottom:8px;}
.alerta-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);color:#EF4444;font-size:11px;padding:3px 8px;margin:3px;cursor:pointer;}
.alerta-tag:hover{background:rgba(239,68,68,.2);}
.alerta-add-input{background:var(--navy-light);border:1px solid var(--border);color:var(--white);padding:6px 10px;font-family:'DM Sans',sans-serif;font-size:12px;outline:none;margin-top:6px;width:100%;}
.alerta-add-input:focus{border-color:#EF4444;}

/* Historial clínico */
.historial-add-btn{background:none;border:1px solid var(--border);color:var(--white-dim);padding:8px 16px;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s;margin-bottom:18px;}
.historial-add-btn:hover{border-color:var(--gold);color:var(--gold);}
.historial-entry{background:var(--navy-card);border:1px solid var(--border);border-left:3px solid var(--gold);padding:16px 18px;margin-bottom:10px;position:relative;}
.historial-entry-date{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;}
.historial-entry-del{background:none;border:none;color:rgba(231,76,60,.5);cursor:pointer;font-size:12px;padding:0;transition:color .2s;}
.historial-entry-del:hover{color:var(--red);}
.historial-section{margin-bottom:10px;}
.historial-section-lbl{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--white-dim);margin-bottom:4px;}
.historial-section-val{font-size:13px;line-height:1.6;color:var(--white);}
.historial-doc-tag{display:inline-block;font-size:10px;background:rgba(201,168,76,.1);border:1px solid var(--border);color:var(--gold);padding:2px 7px;margin-top:4px;}

/* Nueva entrada historial */
.historial-form{background:var(--navy-card);border:1px solid var(--gold);padding:18px;margin-bottom:18px;display:none;}
.historial-form.open{display:block;}

/* Citas del paciente */
.cita-hist-row{display:grid;grid-template-columns:90px 1fr 100px 90px;gap:12px;align-items:center;padding:10px 14px;border:1px solid var(--border);margin-bottom:6px;font-size:12px;transition:background .15s;}
.cita-hist-row:hover{background:var(--navy-light);}
.cita-hist-fecha{color:var(--gold);font-weight:500;}
.cita-hist-proc{color:var(--white);}
.cita-hist-doc{color:var(--white-dim);}

/* Presupuestos */
.presup-row{display:grid;grid-template-columns:1fr 100px 100px 90px 60px;gap:10px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-bottom:none;font-size:12px;transition:background .15s;}
.presup-row:hover{background:var(--navy-light);}
.presup-row.header{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--white-dim);background:var(--navy-light);border-color:transparent;}
.presup-add{display:grid;grid-template-columns:1fr 110px 110px 110px auto;gap:8px;align-items:end;margin-bottom:14px;}
.presup-estado{font-size:10px;padding:2px 7px;border:1px solid;letter-spacing:.06em;text-transform:uppercase;}
.presup-estado.pendiente{border-color:rgba(201,168,76,.4);color:var(--gold);}
.presup-estado.pagado{border-color:rgba(16,185,129,.4);color:#10B981;}
.presup-estado.parcial{border-color:rgba(59,130,246,.4);color:#3B82F6;}
.presup-card{border:1px solid var(--border);margin-bottom:8px;}
.presup-abono-row{font-size:11px;color:var(--white-dim);padding:5px 14px;background:rgba(59,130,246,.04);border-top:1px solid rgba(201,168,76,.07);display:flex;gap:16px;flex-wrap:wrap;}
.presup-abono-add{display:flex;gap:6px;align-items:center;padding:6px 14px;border-top:1px dashed rgba(201,168,76,.15);}
.presup-abono-input{background:var(--navy-light);border:1px solid var(--border);color:var(--white);padding:5px 8px;font-family:'DM Sans',sans-serif;font-size:11px;outline:none;width:110px;}
.presup-abono-input:focus{border-color:#3B82F6;}
.presup-abono-btn{background:none;border:1px solid rgba(59,130,246,.3);color:#3B82F6;padding:5px 10px;cursor:pointer;font-size:10px;letter-spacing:.07em;text-transform:uppercase;transition:all .2s;}
.presup-abono-btn:hover{background:rgba(59,130,246,.1);}

@media(max-width:768px){
  #tab-pacientes{grid-template-columns:1fr;}
  .pac-list-panel{height:auto;position:relative;border-right:none;border-bottom:1px solid var(--border);}
  .pac-ficha-panel{height:auto;}
}
.conf-list-header{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.conf-empty{font-size:13px;color:var(--white-dim);padding:24px;text-align:center;border:1px dashed var(--border);}

/* Especialista card */
.esp-card{background:var(--navy-card);border:1px solid var(--border);padding:14px 16px;margin-bottom:8px;display:flex;align-items:center;gap:14px;transition:border-color .2s;}
.esp-card:hover{border-color:rgba(201,168,76,.35);}
.esp-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;font-family:'Cormorant Garamond',serif;}
.esp-info{flex:1;min-width:0;}
.esp-name{font-size:14px;font-weight:500;}
.esp-spec{font-size:11px;color:var(--white-dim);margin-top:2px;letter-spacing:.04em;}
.esp-del{background:none;border:1px solid rgba(231,76,60,.25);color:rgba(231,76,60,.6);padding:4px 9px;cursor:pointer;font-size:11px;letter-spacing:.07em;text-transform:uppercase;transition:all .2s;flex-shrink:0;}
.esp-del:hover{border-color:var(--red);color:var(--red);}

/* Procedimiento card */
.proc-card{background:var(--navy-card);border:1px solid var(--border);padding:14px 16px;margin-bottom:8px;display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:14px;transition:border-color .2s;}
.proc-card:hover{border-color:rgba(201,168,76,.35);}
.proc-name{font-size:14px;font-weight:500;}
.proc-badge{font-size:10px;padding:3px 8px;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.2);color:var(--gold);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;}
.proc-price{font-size:13px;color:var(--white-dim);white-space:nowrap;}

/* Color picker */
.color-picker-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px;}
.cp-dot{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .15s,border-color .15s;flex-shrink:0;}
.cp-dot:hover{transform:scale(1.15);}
.cp-dot.selected{border-color:#fff;transform:scale(1.1);}

/* Doctor filter bar in agenda toolbar */
.doc-filter-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 24px;background:var(--ag-bg2);border-bottom:1px solid var(--ag-border);}
.doc-filter-lbl{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ag-text-dim);margin-right:4px;}
.doc-chip{display:flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--ag-border);background:#fff;cursor:pointer;transition:all .2s;font-size:12px;color:var(--ag-text);border-radius:20px;}
.doc-chip:hover{border-color:var(--ag-gold);}
.doc-chip.active{border-color:var(--ag-gold);background:rgba(139,105,20,.08);font-weight:500;}
.doc-chip-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.doc-chip-all{background:var(--ag-bg3);border-color:var(--ag-border);}
.doc-chip-all.active{background:var(--ag-gold);color:#fff;border-color:var(--ag-gold);}

::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:var(--navy);}
::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:3px;}

@media(max-width:900px){
  .sidebar{width:200px;}
  :root{--sidebar-w:200px;}
  .topbar{left:200px;}
  main{padding:24px 20px 80px;}
}
@media(max-width:768px){
  .sidebar{transform:translateX(-100%);transition:transform .3s;}
  .sidebar.mobile-open{transform:translateX(0);}
  :root{--sidebar-w:0px;}
  .content-area{margin-left:0;}
  .topbar{left:0;}
  .posts-grid,.fidel-cards,.err-grid,.g-pillars{grid-template-columns:1fr;}
  .wa-grid,.crm-stats{grid-template-columns:1fr 1fr;}
  .g-cta{flex-direction:column;}
  .agenda-layout{grid-template-columns:1fr;}
  .week-view,.day-view{overflow-x:auto;}
}