  .cal{border:1px solid var(--line-2);border-radius:var(--r-surface);background:var(--panel);overflow:hidden}
  .cal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px 14px 22px;border-bottom:1px solid var(--line)}
  .cal-head b{white-space:nowrap}
  .cal-head span{font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
  .cal-head b{font-size:.9rem;font-weight:500}

  /* ---- agenda propia ---- */
  .bk{padding:20px 22px 24px}
  .bk-month{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .bk-month b{font-weight:500;font-size:.95rem;text-transform:capitalize;letter-spacing:.01em}
  .bk-month button{background:none;border:0;color:var(--muted);width:36px;height:36px;border-radius:var(--r-ui);cursor:pointer;font-size:1.25rem;line-height:1;transition:color .2s var(--ease)}
  .bk-month button:hover{color:var(--text)}
  .bk-month button:disabled{opacity:.25;cursor:default}
  .bk-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}
  .bk-dow span{text-align:center;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;color:var(--faint)}
  .bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px 2px}
  .bk-days button{width:min(100%,46px);aspect-ratio:1;margin:0 auto;border:0;background:none;color:var(--faint);border-radius:50%;font-family:var(--sans);font-size:.92rem;font-weight:300;cursor:default;position:relative;transition:background .2s var(--ease),color .2s var(--ease)}
  .bk-days button.free{color:var(--text);font-weight:500;cursor:pointer}
  .bk-days button.free:hover{background:rgba(238,240,246,.07)}
  .bk-days button.sel,.bk-days button.sel:hover{background:var(--accent);color:#0a0b14;font-weight:600}
  .bk-days button:disabled{opacity:.35}
  .bk-days button.today::after{content:"";position:absolute;left:50%;bottom:6px;width:3px;height:3px;border-radius:50%;background:var(--accent);transform:translateX(-50%)}
  .bk-days button.sel.today::after{background:#0a0b14}
  .bk-state{font-size:.88rem;font-weight:300;color:var(--muted);padding:26px 0 8px;text-align:center}
  .bk-slots{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}
  .bk-slots .h{font-size:.9rem;font-weight:500;color:var(--text);margin-bottom:12px}
  .bk-slots .h small{font-weight:300;color:var(--muted);margin-left:8px}
  .bk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  @media (max-width:420px){.bk-grid{grid-template-columns:repeat(3,1fr)}}
  .bk-grid button{border:1px solid var(--line);background:none;color:var(--text);padding:11px 4px;border-radius:var(--r-ui);font-family:var(--sans);font-size:.9rem;font-weight:400;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease)}
  .bk-grid button:hover{border-color:var(--line-2);background:rgba(238,240,246,.04)}
  .bk-grid button.sel{background:var(--accent);color:#0a0b14;border-color:var(--accent);font-weight:600}
  .bk-empty{color:var(--muted);font-size:.9rem;font-weight:300;grid-column:1/-1}
  .cal-head select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:var(--faint);font-family:var(--mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;padding-right:14px;text-align:right;direction:rtl;max-width:220px}
  .cal-head select:hover{color:var(--text)}
  .cal-head .tzw{position:relative}
  .cal-head .tzw::after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-70%) rotate(45deg);color:var(--faint);pointer-events:none}
  .bk-form{display:grid;gap:14px}
  .bk-form .when{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:.95rem;font-weight:500;color:var(--text);padding-bottom:14px;border-bottom:1px solid var(--line)}
  .bk-form .when small{font-weight:300;color:var(--muted)}
  .bk-form .when a{font-size:.78rem;font-weight:400;color:var(--accent);white-space:nowrap;cursor:pointer}
  .bk-form label{display:grid;gap:6px;font-size:.78rem;color:var(--muted)}
  .bk-form input,.bk-form select,.bk-form textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-ui);font-family:var(--sans);font-size:.95rem;padding:11px 12px}
  .bk-form input:focus,.bk-form select:focus,.bk-form textarea:focus{outline:none;border-color:var(--accent)}
  .bk-form textarea{min-height:64px;resize:vertical}
  .bk-form input::placeholder,.bk-form textarea::placeholder{color:var(--faint)}
  .bk-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media (max-width:480px){.bk-row{grid-template-columns:1fr}}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-size:.92rem;font-weight:600;letter-spacing:.01em;padding:14px 26px;border-radius:var(--r-ui);border:1px solid transparent;cursor:pointer;transition:transform .2s var(--ease),background .2s var(--ease)}
  .btn-primary{background:var(--accent);color:#0a0b14}
  .btn-primary:hover{background:var(--accent-hi);transform:translateY(-1px)}
  .btn-primary:disabled{opacity:.55;cursor:default;transform:none}
  .btn-ghost{background:none;border-color:var(--line-2);color:var(--muted);padding:10px 14px;font-weight:500;font-size:.82rem}
  .bk-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:2px}
  .bk-actions .btn-primary{width:100%}
  .bk-note{font-size:.76rem;font-weight:300;color:var(--faint);text-align:center}
  .bk-err{color:#f0a8a8;font-size:.85rem}
  .bk-done{padding:10px 0 4px}
  .bk-done .k{font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
  .bk-done .big{font-weight:300;font-size:1.55rem;line-height:1.2;margin-bottom:14px;text-wrap:balance}
  .bk-done .big em{font-style:normal;color:var(--text);font-weight:500}
  .bk-done p{color:var(--muted);font-size:.95rem;font-weight:300;margin-bottom:16px;max-width:44ch}
  .bk-done a.meet{display:inline-block;font-size:.88rem;color:var(--text);border-bottom:1px solid var(--accent);padding-bottom:2px}
  .bk-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
  .bk [hidden]{display:none!important}
  .calendly-inline-widget{min-width:300px;height:720px;background:#fff;display:none}

  