/* Shared New-event composer drawer (W9): ONE drawer everywhere - Calendar, Dashboard, Inbox.
   Extracted verbatim from templates/pipeline/calendar.html's extra_style block; the partial
   templates/pipeline/_newevent_drawer.html links this file and calendar.html no longer carries
   these rules. Everything scopes under .cv (the partial wraps the drawer in <div class="cv">),
   with the same local token aliases the calendar page used, so the drawer renders identically
   on any page that includes the partial. */
.cv{ font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
     --line:var(--cf-border); --line-soft:var(--cf-border-subtle); --ink:var(--cf-text); --mut:var(--cf-text-muted); --faint:var(--cf-text-disabled);
     --tint:var(--cf-accent-tint); --ring:var(--cf-accent-subtle); --canvas:var(--cf-bg-warm); --navy:var(--cf-text); --ok:var(--cf-success);
     /* DS v1.0 palette-only event types (var names kept; evColor() unchanged).
        Per-type hues follow the calendar mockup KIND set exactly (5 kinds), the other
        5 live types collapse onto the same hues: showing/listing/open=cognac,
        closing=success, follow_up/photography=warning, inspection=info,
        mortgage=success, personal/custom=neutral (stone). */
     --t-showing:var(--accent);--t-showing-bg:var(--cf-accent-tint);--t-listing:var(--accent);--t-listing-bg:var(--cf-accent-subtle);
     --t-closing:var(--success);--t-closing-bg:var(--success-bg);--t-follow:var(--warning);--t-follow-bg:var(--warning-bg);
     --t-open:var(--accent);--t-open-bg:var(--cf-accent-subtle);--t-insp:var(--info);--t-insp-bg:var(--info-bg);
     --t-photo:var(--warning);--t-photo-bg:var(--warning-bg);--t-mortgage:var(--success);--t-mortgage-bg:var(--success-bg);
     --t-personal:var(--cf-gray-600);--t-personal-bg:var(--gray-100);--t-custom:var(--cf-gray-600);--t-custom-bg:var(--gray-100); }
.cv .hidden{display:none !important;}
.cv-pri{background:var(--accent);color:var(--cf-on-accent);border-radius:10px;font-weight:600;font-size:13.5px;padding:0 16px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;cursor:pointer;transition:background var(--dur-fast) var(--ease);}
.cv-pri:hover{background:var(--accent-hover);} .cv-pri.full{width:100%;}
.cv-ghost{border:1px solid var(--border);background:var(--card);color:var(--ink);border-radius:10px;font-weight:600;font-size:13px;padding:0 13px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background var(--dur-fast) var(--ease);} .cv-ghost:hover{background:var(--surface-sunken);} .cv-ghost.full{width:100%;}
.cv-danger{border:1px solid var(--cf-error);background:var(--card);color:var(--error);border-radius:10px;font-weight:600;font-size:13px;height:40px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;width:100%;}
/* fields */
.fld{width:100%;border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:9px 11px;font-size:13.5px;color:var(--ink);outline:0;background:var(--card);font-family:inherit;} .fld:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--cf-ring-soft);}
.lbl{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;}
/* composer type picker: mock pill chips (999px radius, 7px round dot); all 10 live types flow-wrap */
.typegrid{display:flex;flex-wrap:wrap;gap:7px;}
.typeopt{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:500;color:var(--mut);cursor:pointer;line-height:1.15;} .typeopt .sw{width:7px;height:7px;border-radius:50%;flex-shrink:0;} .typeopt.on{border-color:var(--ring);background:var(--tint);color:var(--accent);font-weight:600;}
.cv-err{font-size:12px;color:var(--error);margin-top:8px;display:none;}
/* composer scheduling hint (amber conflict warning) */
.hint{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;padding:5px 10px;border-radius:8px;margin-bottom:10px;} .hint .dot{width:7px;height:7px;border-radius:99px;} .hint.ok{background:var(--success-bg);color:var(--success);} .hint.ok .dot{background:var(--success);} .hint.warn{background:var(--warning-bg);color:var(--warning);} .hint.warn .dot{background:var(--warning);}
/* composer scope hint */
.cal-scope-hint{font-size:11.5px;font-weight:600;color:var(--accent);background:var(--tint);border-radius:8px;padding:6px 10px;margin-bottom:12px;}
/* reminder per-occurrence override toggle */
.cvb-ovr{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:var(--ink);padding:8px 0 10px;cursor:pointer;} .cvb-ovr input{accent-color:var(--accent);}
.cvb-locked #cvb-rows,.cvb-locked .cvb-acts{opacity:.5;pointer-events:none;}
/* end-time validation + disabled save (Diff 2.3) */
.fld.fld-bad{border-color:var(--error);box-shadow:0 0 0 3px var(--error-bg);}
.f-time-help{font-size:11.5px;color:var(--error);font-weight:600;margin:0 0 12px;}
.cv-pri-off{opacity:.5;cursor:not-allowed;}
/* lead field unlink link */
.f-lead-unlink{margin-left:8px;border:0;background:none;color:var(--accent);font-size:11.5px;font-weight:700;cursor:pointer;padding:0;text-decoration:underline;}
/* draft-restored banner */
.cal-draft-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--tint);border:1px solid var(--ring);border-radius:10px;padding:8px 11px;margin-bottom:14px;font-size:12.5px;font-weight:600;color:var(--accent);}
.cal-draft-discard{background:none;border:0;color:var(--accent);font-weight:700;font-size:12.5px;cursor:pointer;text-decoration:underline;padding:0;}
/* Google Places single-field autocomplete (composer address) */
#cal-places-box{width:100%;margin-bottom:8px;} #cal-places-box gmp-place-autocomplete{width:100%;}
/* Calendar v2-B Diff 2 - reminders (composer section) */
.cvb-sec{border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.cvb-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;cursor:pointer;background:var(--cf-bg-warm);}
.cvb-head:hover{background:var(--surface-sunken);}
.cvb-head .lbl{margin:0;} .cvb-sum{display:block;font-size:12px;color:var(--mut);margin-top:3px;font-weight:500;}
.cvb-chev{color:var(--faint);transition:transform .18s;flex-shrink:0;} .cvb-sec.open .cvb-chev{transform:rotate(180deg);}
.cvb-body{padding:4px 13px 13px;}
.cvb-banner{display:flex;gap:9px;align-items:flex-start;background:var(--tint);border:1px solid var(--ring);border-radius:9px;padding:9px 11px;font-size:11.5px;color:var(--accent-hover);line-height:1.5;margin:9px 0;font-weight:500;}
.cvb-banner svg{color:var(--accent);flex-shrink:0;margin-top:1px;}
.cvb-group{margin-top:11px;} .cvb-glabel{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;}
.cvb-row{display:flex;align-items:center;gap:7px;padding:6px 0;flex-wrap:wrap;}
.cvb-dot{width:9px;height:9px;border-radius:99px;flex-shrink:0;} .cvb-dot.agent{background:var(--accent);} .cvb-dot.lead{background:var(--info);}
.cvb-sel{border:1px solid var(--border);border-radius:8px;padding:5px 7px;font-size:12px;color:var(--ink);background:var(--card);font-family:inherit;cursor:pointer;outline:0;} .cvb-sel:focus{border-color:var(--accent);}
.cvb-sel.off{flex:1 1 96px;min-width:88px;}
.cvb-x{margin-left:auto;width:30px;height:30px;border:1px solid var(--border);background:var(--card);color:var(--mut);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;} .cvb-x:hover{background:var(--error-bg);border-color:var(--cf-error);color:var(--error);}
.cvb-pending{font-size:10px;font-weight:600;color:var(--warning);background:var(--warning-bg);border-radius:5px;padding:2px 6px;flex-shrink:0;}
.cvb-qh{font-size:10.5px;color:var(--warning);display:flex;align-items:center;gap:5px;margin:2px 0 0 16px;} .cvb-qh::before{content:'';width:5px;height:5px;border-radius:99px;background:var(--warning);}
.cvb-acts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;}
.cvb-add{font-size:12px;font-weight:600;color:var(--accent);background:none;border:1px dashed var(--ring);border-radius:8px;padding:6px 11px;cursor:pointer;} .cvb-add:hover{background:var(--tint);}
.cvb-empty{font-size:12px;color:var(--faint);padding:8px 0;}

/* Mobile: pin the Cancel/Delete/Save row to the bottom of the drawer's scroll
   area (sticky inside .ds-drawer-body) so Save is reachable without scrolling
   past the reminders section; dsKbSync keeps the drawer above the keyboard. */
@media (max-width: 767px) {
  .cv-foot { position: sticky; bottom: 0; z-index: 1; background: var(--card); border-top: 1px solid var(--border);
    padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); margin-top: 14px; }
}
