/* The calendar and call-list review share a compact header/body/footer layout. */
.spark-calendar-review-backdrop { position:fixed; inset:0; background:rgba(28,26,23,.32); z-index:40; }
.spark-calendar-review { position:fixed; z-index:41; top:50%; left:50%; transform:translate(-50%,-50%); width:min(560px,calc(100vw - 24px)); max-height:calc(100dvh - 110px); display:flex; flex-direction:column; overflow:hidden; background:#fffaf1; color:#35263d; border:1px solid #ded5c9; border-radius:16px; box-shadow:0 16px 45px #21172926; }
.spark-calendar-review-heading { flex:none; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:22px; background:#35263d; color:#fffaf1; border-bottom:3px solid #d0af43; }
.spark-calendar-review-heading small { font-size:10px; letter-spacing:.1em; color:#e3c768; }
.spark-calendar-review-heading h2 { margin:10px 0 0; font-size:19px; line-height:1.3; }
.spark-calendar-review-heading button { width:32px; height:32px; border:0; background:transparent; color:inherit; font-size:26px; cursor:pointer; }
.spark-calendar-review-body { padding:22px; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.spark-calendar-event-summary h2 { display:none; }
.spark-calendar-review-footer { flex:none; padding:14px 22px 18px; border-top:1px solid #dfd4c4; background:#fffaf1; }
.spark-calendar-review-footer>small { display:block; color:#807284; margin-bottom:9px; font-size:11px; }
.spark-calendar-review-footer nav { display:flex; align-items:stretch; gap:8px; }
.spark-calendar-review-footer button { padding:11px 12px; border:1px solid #dfd4c4; border-radius:8px; background:#fffaf1; font-size:12px; color:#49394f; cursor:pointer; }
.spark-calendar-review-footer button.spark-calendar-call-next { flex:1; background:#176747; border-color:#176747; color:white; font-weight:700; }
.spark-calendar-call-next small { display:block; margin-top:4px; font-weight:400; font-size:11px; opacity:.85; }
.spark-calendar-review-footer button:disabled { opacity:.45; cursor:default; }
.spark-calendar-focus-summary { display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; margin:4px 0; }
.spark-calendar-focus-summary>small { padding:8px 6px 8px 0; color:#746a5b; }
.spark-calendar-focus-summary details { border:1px solid #ded5c9; background:#fffaf1; border-radius:8px; max-width:100%; }
.spark-calendar-focus-summary summary { padding:7px 11px; font-size:12px; cursor:pointer; }
.spark-calendar-focus-summary summary b { color:#856315; }
.spark-calendar-focus-summary summary span { color:#746a5b; }
.spark-calendar-focus-summary details>div { padding:10px 12px; display:grid; gap:7px; max-height:240px; overflow:auto; min-width:min(280px,70vw); }
.spark-calendar-focus-summary details button { text-align:left; background:white; border:1px solid #ded5c9; border-radius:5px; padding:7px; cursor:pointer; }
.spark-calendar-focus-summary details small { color:#746a5b; font-size:11px; max-width:280px; }
/* These controls remain reachable while reviewing appointments and contacts. */
[data-interface="redesigned"] > .tsp-contact-standing-tools { position:fixed!important; inset:auto 12px 12px auto!important; margin:0!important; z-index:11000!important; background:var(--spark-surface,#fffaf1); box-shadow:0 3px 14px #2117291f; }
.tsp-live-notes-panel { z-index:11002!important; }
@media(max-width:767px) { [data-interface="redesigned"] > .tsp-contact-standing-tools { bottom:calc(76px + env(safe-area-inset-bottom))!important; } .spark-calendar-review { top:44%; max-height:calc(100dvh - 180px); } .spark-calendar-review-heading,.spark-calendar-review-body { padding:16px; } }
.spark-calendar-review-heading-actions { display:flex; gap:8px; align-items:center; }
.spark-calendar-review-heading-actions button[aria-pressed] { border:1px solid #ad98b5; border-radius:50%; font-size:18px; font-weight:800; }
.spark-calendar-review-heading-actions button[aria-pressed="true"] { color:#35263d; background:#e3c768; border-color:#e3c768; }

/* A bright, chunky importance badge stays distinct from calling stars. */
.spark-important-icon,.spark-calendar-review-heading-actions button.spark-important-icon[aria-pressed] { display:inline-flex; align-items:center; justify-content:center; flex:none; width:34px; height:34px; padding:0; border:2px solid #a43d20; border-radius:10px; background:#fff0d2; color:#ba321c; font-family:Arial,sans-serif; font-size:27px; font-weight:900; line-height:1; box-shadow:0 2px 0 #a43d20; cursor:pointer; }
.spark-important-icon[aria-pressed="true"],.spark-calendar-review-heading-actions button.spark-important-icon[aria-pressed="true"] { background:#f85b36; color:white; border-color:#96331c; }
.spark-important-icon--small { width:16px; height:18px; margin-right:4px; border-width:1px; border-radius:4px; font-size:16px; box-shadow:0 1px 0 #a43d20; background:#f85b36; color:#fff; vertical-align:middle; }
.spark-important-icon:focus-visible { outline:3px solid #dfb64a; outline-offset:3px; }
.spark-calendar-call-notes { margin:12px 0; }
.spark-calendar-call-notes .tsp-oppsec { padding:12px; }
.spark-calendar-own { padding:10px 12px; border:2px solid #d0af43; border-radius:10px; background:#fff9e9; }
.spark-calendar-own>strong { display:block; font-size:13px; margin-bottom:7px; }
.spark-calendar-own>strong small { margin-left:6px; color:#75644b; font-size:11px; font-weight:400; }
.spark-calendar-own>div { display:flex; gap:7px; overflow-x:auto; padding-bottom:4px; }
.spark-calendar-own button { flex:none; max-width:250px; display:grid; gap:3px; text-align:left; background:#fffdf7; color:#35263d; border:1px solid #d6bf8b; border-radius:7px; padding:6px 9px; cursor:pointer; }
.spark-calendar-own button>small { color:#75644b; font-size:11px; }
.spark-calendar-own button>span { font-size:12px; font-weight:700; }
.spark-calendar-own { border-color:#242020; background:#f7f3e9; }
.spark-calendar-own>strong { color:#171514; font-weight:900; }
.spark-calendar-own button { border:2px solid #242020; color:#171514; background:#fffaf1; }
.spark-calendar-own button>span { font-weight:900; }
button.spark-calendar-own-event { background:#fff4cd!important; color:#171514!important; border:2px solid #242020!important; box-shadow:0 1px 0 #242020!important; }
button.spark-calendar-own-event>span { font-weight:900!important; }
/* A quieter rhythm: personal calls lead, then focus markers and the week. */
.spark-calendar-own { display:flex; align-items:center; gap:18px; padding:12px 16px; border:1px solid #e2d9cb; border-left:4px solid #302b28; border-radius:14px; background:#fffcf5; box-shadow:0 2px 7px #35263d05; }
.spark-calendar-own>strong { flex:none; margin:0; font-size:13px; font-weight:800; }
.spark-calendar-own>strong small { display:block; margin:4px 0 0; font-size:11px; color:#7b7164; }
.spark-calendar-own>div { flex:1; min-width:0; gap:9px; padding:2px 1px; }
.spark-calendar-own button { min-width:130px; padding:8px 12px; gap:4px; border:1.5px solid #302b28; border-radius:10px; background:#fffdf8; box-shadow:0 2px 0 #302b280d; }
.spark-calendar-own button:hover { background:#f6efdf; }
.spark-calendar-own button:focus-visible,.spark-calendar-focus-summary summary:focus-visible { outline:3px solid #b99143; outline-offset:3px; }
.spark-calendar-own button>span { font-weight:800; }
.spark-calendar-focus-summary { align-items:center; gap:8px; margin:0; padding:2px 0 4px; }
.spark-calendar-focus-summary>small { padding:4px 4px 4px 0; font-size:11px; }
.spark-calendar-focus-summary details { border-color:#e5dccf; background:#fffcf7; border-radius:20px; }
.spark-calendar-focus-summary details[open] { border-radius:12px; }
.spark-calendar-focus-summary summary { padding:6px 12px; font-size:12px; }
.spark-calendar-focus-summary summary::marker { color:#a3988b; font-size:9px; }
.spark-calendar-focus-summary summary span { font-size:11px; }
button.spark-calendar-own-event { background:#fff6df!important; border-color:#302b28!important; box-shadow:none!important; }
[data-testid="calendar-timegrid"],[data-testid="calendar-month"] { border-radius:14px!important; box-shadow:0 2px 10px #35263d04; }
[data-testid^="colhead-"] { padding-top:10px!important; padding-bottom:10px!important; }
[data-testid^="colhead-"][aria-current="date"] { background:#f6edda!important; box-shadow:inset 0 3px #c5a45f; }
.tsp-calendar-list-toggle { color:#7a6b59!important; font-size:10px!important; padding:5px 2px!important; }
.spark-calendar-type-legend { gap:14px!important; padding:3px 0!important; color:#746b60; }
.spark-calendar-type-legend small { font-size:10px!important; }
.spark-calendar-review-heading { padding:20px 22px; }
.spark-calendar-review-footer { padding-top:12px; }
.spark-calendar-call-next { border-radius:10px!important; }
@media(max-width:600px) { .spark-calendar-own { align-items:stretch; flex-direction:column; gap:8px; padding:12px; } .spark-calendar-own>strong small { display:inline; margin-left:6px; } }
.spark-star-icon { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; border:2px solid #b89036; border-radius:10px; background:#fff8e6; color:#926808; font-size:26px; line-height:1; cursor:pointer; box-shadow:0 2px 0 #b89036; }
.spark-star-icon[aria-pressed="true"] { background:#ffe39a; color:#805b00; }
.spark-star-icon:focus-visible { outline:3px solid #b99143; outline-offset:3px; }
.spark-star-icon:disabled { opacity:.6; cursor:wait; }
/* Long workdays keep real hour spacing instead of shrinking into a fixed box. */
[data-interface="redesigned"] .tsp-calendar-redesigned .tsp-calendar-live-layout,
[data-interface="redesigned"] .tsp-calendar-redesigned .tsp-calendar-scroll-view { height:auto!important; min-height:0!important; max-height:none!important; overflow:visible!important; }
[data-interface="redesigned"] .tsp-calendar-redesigned .tsp-calendar-scroll-view [data-testid="calendar-timegrid"],
[data-testid="calendar-timegrid"] { height:auto!important; max-height:none!important; overflow:visible!important; }
[data-interface="redesigned"] .tsp-calendar-redesigned .tsp-calendar-scroll-view [data-testid="calendar-timegrid"]>div:last-child,
[data-testid="calendar-timegrid"]>div:last-child { flex:none!important; height:var(--spark-calendar-timed-height)!important; min-height:var(--spark-calendar-timed-height)!important; overflow:visible!important; margin-block:8px!important; }
[data-testid="calendar-timegrid"]>div:first-child { position:sticky; top:0; z-index:8; flex:none; background:var(--spark-surface,#fffdf8); border-radius:14px 14px 0 0; box-shadow:0 2px 4px #302b280a; }
[data-interface="redesigned"] .tsp-calendar-redesigned .tsp-calendar-live-heading { padding:10px 0 6px!important; }
[data-interface="redesigned"] .tsp-calendar-redesigned .tsp-calendar-live-heading h2 { font-size:30px!important; line-height:1.15!important; margin-top:6px!important; }
.spark-calendar-up-next { color:#176747; font-weight:800; }
.spark-calendar-more-tasks { border:0; background:transparent; color:#675575; font-size:11px; font-weight:700; padding:5px 4px; cursor:pointer; }
[data-testid="calendar-timegrid"]>div:first-child { z-index:30!important; background:#fffdf8!important; isolation:isolate; }
