/* Make Disciples v3.29 — Custom Theme Studio Phase 1 */

body.custom-theme{
  color-scheme:light;
  --bg:var(--custom-bg);
  --bg-mid:var(--custom-bg);
  --panel:var(--custom-card);
  --panel-deep:var(--custom-card-2);
  --gold:var(--custom-primary);
  --gold-bright:var(--custom-primary);
  --gold-dark:var(--custom-secondary);
  --text:var(--custom-text);
  --muted:var(--custom-muted);
  --subtle:var(--custom-muted);
  --line:var(--custom-line);
  --line-soft:var(--custom-soft);
  --danger:#b54842;
  --success:#4e7b59;
  --purple:#7b6694;
  color:var(--custom-text)!important;
  font-family:"Segoe UI",Arial,sans-serif!important;
}
body.custom-theme[data-palette="dark"]{color-scheme:dark;--danger:#e48b86;--success:#8bc59a;--purple:#b69acb}
body.custom-theme::before{opacity:.45!important;background:linear-gradient(135deg,transparent 0 8%,var(--custom-soft) 8.1% 8.24%,transparent 8.34%),linear-gradient(225deg,transparent 0 15%,var(--custom-soft) 15.1% 15.24%,transparent 15.34%)!important}
body.custom-theme .app-shell{color:var(--custom-text)}
body.custom-theme .nav-shield{background:var(--custom-bg)!important;box-shadow:0 10px 22px color-mix(in srgb,var(--custom-text) 18%,transparent)!important}

body.custom-theme .brand{color:var(--custom-text)}
body.custom-theme .brand-medallion{background:radial-gradient(circle at 36% 24%,rgba(255,255,255,.34),transparent 30%),linear-gradient(145deg,var(--custom-primary),var(--custom-secondary))!important;border-color:var(--custom-metal)!important;box-shadow:inset 0 0 0 5px color-mix(in srgb,var(--custom-card) 40%,transparent),0 0 0 2px color-mix(in srgb,var(--custom-metal) 45%,transparent),var(--custom-shadow)!important}
body.custom-theme .brand-medallion::before{border-color:color-mix(in srgb,var(--custom-card) 55%,transparent)!important}
body.custom-theme .brand h1{color:var(--custom-primary)!important;text-shadow:none!important;text-transform:none!important;letter-spacing:.01em!important}
body.custom-theme .scripture em{color:var(--custom-text)!important}
body.custom-theme .scripture strong{color:var(--custom-primary)!important}
body.custom-theme .scripture strong::before,body.custom-theme .scripture strong::after{background:linear-gradient(90deg,transparent,var(--custom-primary),transparent)!important;box-shadow:none!important}

body.custom-theme :is(.connected-menu,.page-panel,.card,.metric,.settings-row,.notice,.empty-state,.dialog,.settings-hero,.settings-block,.settings-status-card,.settings-toggle-row,.settings-stat,.appearance-choice,.settings-note,.settings-danger-zone,.settings-help-list details,.contact-card,.contact-action-panel,.contact-search-panel,.history-card,.visit-card,.visit-date-grid>div,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card,.ui2-map-shell,.ui2-map-summary,.ui2-map-legend,.toolbox-resource-row,.toolbox-summary-chip,.form-picker,.native-picker-field,.duplicate-summary-card,.share-outcome-button,.settings-danger-zone){
  border-color:var(--custom-line)!important;
  color:var(--custom-text)!important;
  border-radius:var(--custom-radius-card)!important;
  box-shadow:var(--custom-shadow)!important;
}
body.custom-theme :is(.connected-menu,.page-panel,.card,.metric,.settings-row,.notice,.empty-state,.dialog,.settings-hero,.settings-block,.settings-status-card,.settings-toggle-row,.settings-stat,.appearance-choice,.settings-note,.settings-help-list details,.contact-card,.history-card,.visit-card,.visit-date-grid>div,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card,.ui2-map-shell,.ui2-map-summary,.ui2-map-legend,.toolbox-resource-row,.toolbox-summary-chip,.duplicate-summary-card){background:var(--custom-card)!important}
body.custom-theme :is(.connected-menu,.page-panel,.card,.metric,.settings-row,.notice,.empty-state,.dialog,.settings-hero,.settings-block,.settings-status-card,.settings-toggle-row,.settings-stat,.appearance-choice,.contact-card,.history-card,.visit-card,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card)::before,
body.custom-theme :is(.connected-menu,.page-panel,.card,.metric,.settings-row,.notice,.empty-state,.dialog,.settings-hero,.settings-block,.settings-status-card,.settings-toggle-row,.settings-stat,.appearance-choice,.contact-card,.history-card,.visit-card,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card)::after{display:none!important}

body.custom-theme[data-card-style="soft"] :is(.page-panel,.card,.metric,.settings-block,.settings-status-card,.settings-stat,.contact-card,.history-card,.visit-card,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card){background:linear-gradient(145deg,color-mix(in srgb,var(--custom-card) 94%,#fff),color-mix(in srgb,var(--custom-card) 90%,var(--custom-primary)))!important}
body.custom-theme[data-card-style="structured"] :is(.page-panel,.card,.metric,.settings-block,.settings-status-card,.settings-stat,.contact-card,.history-card,.visit-card,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card){background:var(--custom-card)!important;border-width:1px!important}
body.custom-theme[data-card-style="minimal"] :is(.page-panel,.card,.metric,.settings-block,.settings-status-card,.settings-stat,.contact-card,.history-card,.visit-card,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card){background:color-mix(in srgb,var(--custom-card) 78%,transparent)!important;box-shadow:none!important;border-color:color-mix(in srgb,var(--custom-text) 18%,transparent)!important}
body.custom-theme[data-card-style="ornate"] :is(.page-panel,.card,.metric,.settings-block,.settings-status-card,.settings-stat,.contact-card,.history-card,.visit-card,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card){background:linear-gradient(145deg,var(--custom-card),color-mix(in srgb,var(--custom-card) 82%,var(--custom-metal)))!important;border:3px double var(--custom-metal)!important}
body.custom-theme[data-card-style="tech"] :is(.page-panel,.card,.metric,.settings-block,.settings-status-card,.settings-stat,.contact-card,.history-card,.visit-card,.time-panel,.time-stat,.time-goal-card,.time-entry-card,.service-month-card,.map-contact-card,.map-location-card){background:linear-gradient(180deg,color-mix(in srgb,var(--custom-card) 94%,#fff),var(--custom-card))!important;border-color:color-mix(in srgb,var(--custom-primary) 68%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--custom-primary) 18%,transparent),var(--custom-shadow)!important}

body.custom-theme :is(.menu-button,.action,.contact-action,.contact-filter,.contact-reset,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button,.share-outcome-button,.form-picker,.native-picker-field,.dialog-close){
  border:1px solid var(--custom-line)!important;
  border-radius:var(--custom-radius-control)!important;
  background:var(--custom-card)!important;
  color:var(--custom-text)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
body.custom-theme :is(.menu-button.active,.action.primary,.contact-action.active,.contact-filter.active,.settings-segmented button.active,.choice-button.active,.time-goal-option.active,.time-scope-option.active){background:var(--custom-primary)!important;color:var(--custom-on-primary)!important;border-color:var(--custom-primary)!important}
body.custom-theme .action.danger,body.custom-theme .history-action.danger{background:#b54842!important;color:#fff!important;border-color:#b54842!important}
body.custom-theme :is(.menu-button,.action,.contact-action,.contact-filter,.contact-reset,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button,.share-outcome-button,.dialog-close)::before,
body.custom-theme :is(.menu-button,.action,.contact-action,.contact-filter,.contact-reset,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button,.share-outcome-button,.dialog-close)::after{display:none!important}
body.custom-theme[data-button-style="soft"] :is(.menu-button,.action,.contact-action,.contact-filter,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button){background:linear-gradient(145deg,color-mix(in srgb,var(--custom-card) 94%,#fff),color-mix(in srgb,var(--custom-card) 86%,var(--custom-primary)))!important;box-shadow:0 7px 18px color-mix(in srgb,var(--custom-text) 10%,transparent)!important}
body.custom-theme[data-button-style="raised"] :is(.menu-button,.action,.contact-action,.contact-filter,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button){box-shadow:0 4px 0 color-mix(in srgb,var(--custom-secondary) 55%,transparent),0 9px 17px color-mix(in srgb,var(--custom-text) 10%,transparent)!important;transform:translateY(-1px)}
body.custom-theme[data-button-style="embellished"] :is(.menu-button,.action,.contact-action,.contact-filter,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button){border:3px double var(--custom-metal)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--custom-primary) 92%,#fff),color-mix(in srgb,var(--custom-primary) 72%,#000))!important;color:var(--custom-on-primary)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--custom-metal) 40%,transparent),0 8px 18px color-mix(in srgb,var(--custom-text) 16%,transparent)!important}
body.custom-theme[data-button-style="minimal"] :is(.menu-button,.action,.contact-action,.contact-filter,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button){background:transparent!important;box-shadow:none!important;border-color:color-mix(in srgb,var(--custom-text) 36%,transparent)!important}
body.custom-theme[data-button-style="tech"] :is(.menu-button,.action,.contact-action,.contact-filter,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button){border-radius:min(var(--custom-radius-control),8px)!important;border-color:color-mix(in srgb,var(--custom-primary) 68%,transparent)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--custom-primary) 18%,transparent),0 0 15px color-mix(in srgb,var(--custom-primary) 20%,transparent)!important;letter-spacing:.025em}
body.custom-theme[data-button-style="classic"] :is(.menu-button,.action,.contact-action,.contact-filter,.history-action,.time-inline-action,.time-month-shift,.time-year-shift,.time-goal-option,.settings-segmented button,.choice-button){font-family:Georgia,"Times New Roman",serif!important;border-color:color-mix(in srgb,var(--custom-secondary) 38%,transparent)!important;box-shadow:0 3px 8px color-mix(in srgb,var(--custom-text) 10%,transparent)!important}
body.custom-theme[data-button-style="soft"] :is(.menu-button.active,.action.primary,.contact-action.active,.contact-filter.active,.settings-segmented button.active,.choice-button.active),
body.custom-theme[data-button-style="raised"] :is(.menu-button.active,.action.primary,.contact-action.active,.contact-filter.active,.settings-segmented button.active,.choice-button.active),
body.custom-theme[data-button-style="tech"] :is(.menu-button.active,.action.primary,.contact-action.active,.contact-filter.active,.settings-segmented button.active,.choice-button.active),
body.custom-theme[data-button-style="classic"] :is(.menu-button.active,.action.primary,.contact-action.active,.contact-filter.active,.settings-segmented button.active,.choice-button.active){background:var(--custom-primary)!important;color:var(--custom-on-primary)!important}

body.custom-theme .connected-menu{display:grid;background:var(--custom-card)!important}
body.custom-theme .menu-button{font-family:var(--font-body)!important;border-right-color:var(--custom-line)!important}
body.custom-theme .menu-button svg,body.custom-theme :is(.heading-icon,.metric-icon,.settings-icon,.contact-avatar,.time-stat-icon,.toolbox-resource-icon) svg{stroke:currentColor!important;fill:none!important}
body.custom-theme :is(.page-heading h2,.section-heading h3,.settings-detail h3,.card-title,.contact-name,.history-card h4,.visit-card h4,.time-panel h3,.service-month-card h4){color:var(--custom-text)!important;text-shadow:none!important}
body.custom-theme :is(.page-sub,.card p,.contact-meta,.contact-type,.settings-block-head p,.settings-toggle-copy span,.settings-stat>span:last-child,.appearance-copy span,.notice,.empty-state,.dialog-body,.toolbox-resource-meta,.time-entry-meta){color:var(--custom-muted)!important}
body.custom-theme :is(.heading-icon,.metric-icon,.settings-icon,.contact-avatar,.time-stat-icon,.toolbox-resource-icon){background:color-mix(in srgb,var(--custom-primary) 12%,var(--custom-card))!important;color:var(--custom-primary)!important;border-color:var(--custom-line)!important;border-radius:var(--custom-radius-control)!important}
body.custom-theme .progress-track{background:color-mix(in srgb,var(--custom-text) 10%,var(--custom-card))!important;border-color:var(--custom-line)!important}
body.custom-theme :is(.progress-fill,.goal-fill,.mini-goal-fill){background:linear-gradient(90deg,var(--custom-secondary),var(--custom-primary))!important}
body.custom-theme :is(input,textarea,select,.form-control){background:var(--custom-card)!important;color:var(--custom-text)!important;border-color:var(--custom-line)!important;border-radius:var(--custom-radius-control)!important;box-shadow:none!important}
body.custom-theme input::placeholder,body.custom-theme textarea::placeholder{color:var(--custom-muted)!important}
body.custom-theme .dialog-layer.open{background:color-mix(in srgb,var(--custom-bg) 72%,transparent)!important}
body.custom-theme .dialog-head{border-color:var(--custom-line)!important}
body.custom-theme .dialog-head h3{color:var(--custom-text)!important}
body.custom-theme .toast{background:var(--custom-card)!important;color:var(--custom-text)!important;border-color:var(--custom-line)!important}
body.custom-theme :is(#map,#pickerMap){border-color:var(--custom-line)!important;background:var(--custom-card-2)!important}
body.custom-theme :is(.ui2-map-summary,.ui2-map-legend,.leaflet-control-zoom a){background:var(--custom-card)!important;color:var(--custom-text)!important;border-color:var(--custom-line)!important}
body.custom-theme .about-map-credit{color:var(--custom-muted)!important}

/* Contact-card color treatment */
body.custom-theme[data-contact-card-style="gradient"][data-contact-direction="vertical"] .contact-card{background:linear-gradient(180deg,color-mix(in srgb,var(--contact-type-color) 24%,var(--custom-card)) 0%,var(--custom-card) 62%)!important}
body.custom-theme[data-contact-card-style="gradient"][data-contact-direction="horizontal"] .contact-card{background:linear-gradient(90deg,color-mix(in srgb,var(--contact-type-color) 24%,var(--custom-card)) 0%,var(--custom-card) 62%)!important}
body.custom-theme[data-contact-strength="subtle"][data-contact-card-style="gradient"] .contact-card{background:linear-gradient(var(--cts-contact-direction,180deg),color-mix(in srgb,var(--contact-type-color) 13%,var(--custom-card)) 0%,var(--custom-card) 62%)!important}
body.custom-theme[data-contact-strength="strong"][data-contact-card-style="gradient"] .contact-card{background:linear-gradient(var(--cts-contact-direction,180deg),color-mix(in srgb,var(--contact-type-color) 36%,var(--custom-card)) 0%,var(--custom-card) 68%)!important}
body.custom-theme[data-contact-direction="vertical"]{--cts-contact-direction:180deg}
body.custom-theme[data-contact-direction="horizontal"]{--cts-contact-direction:90deg}
body.custom-theme[data-contact-card-style="accent"] .contact-card{border-left:7px solid var(--contact-type-color)!important}
body.custom-theme[data-contact-card-style="top"] .contact-card{border-top:7px solid var(--contact-type-color)!important}
body.custom-theme[data-contact-card-style="none"] .contact-card{--contact-type-color:var(--custom-primary)}
body.custom-theme .contact-card .contact-type{color:color-mix(in srgb,var(--contact-type-color) 74%,var(--custom-text))!important;font-weight:800}

/* Studio layout */
.cts-studio{margin-top:16px!important;overflow:visible!important}
.cts-current-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--custom-primary,var(--gold-bright)) 14%,transparent);border:1px solid var(--custom-line,var(--line));font-size:.72rem;font-weight:850;white-space:nowrap}
.cts-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cts-preset-card{min-width:0;min-height:154px;padding:12px;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);text-align:left;box-shadow:0 8px 22px rgba(0,0,0,.08)}
.cts-preset-card.selected{border:3px solid var(--gold-bright);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold-bright) 18%,transparent)}
.cts-preset-card strong,.cts-preset-card small{display:block}.cts-preset-card strong{margin-top:9px;font-size:.92rem}.cts-preset-card small{margin-top:4px;color:var(--muted);font-size:.68rem;line-height:1.3;text-transform:capitalize}
.cts-mini-theme{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:28px 38px;gap:5px;padding:8px;border-radius:13px;background:var(--cts-mini-bg);border:1px solid color-mix(in srgb,var(--cts-mini-text) 18%,transparent)}
.cts-mini-theme>span{grid-column:1/-1;border-radius:8px;background:linear-gradient(90deg,var(--cts-mini-primary),var(--cts-mini-secondary))}.cts-mini-theme i{border-radius:8px;background:var(--cts-mini-card)}.cts-mini-theme b{border-radius:8px;background:var(--cts-mini-primary)}
.cts-saved-grid{display:grid;gap:11px}.cts-saved-look{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:17px;background:var(--panel)}
.cts-saved-look small,.cts-saved-look strong,.cts-saved-look span{display:block}.cts-saved-look small{color:var(--muted);font-size:.69rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.cts-saved-look strong{margin-top:3px}.cts-saved-look span{margin-top:3px;color:var(--muted);font-size:.74rem}.cts-saved-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.cts-saved-actions .action{min-height:42px;padding:9px 11px}
.cts-editing-banner{margin-bottom:12px;padding:13px;border-radius:15px;background:color-mix(in srgb,var(--gold-bright) 12%,var(--panel));border:1px solid var(--line)}.cts-editing-banner label{display:grid;gap:6px;margin-top:9px;font-size:.76rem}.cts-editing-banner input{width:100%;min-height:46px;padding:10px 12px}
.cts-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.cts-control-grid label{display:grid;gap:6px;min-width:0;color:var(--text);font-size:.76rem;font-weight:800}.cts-control-grid select{width:100%;min-height:48px;padding:9px 10px}
.cts-live-preview{margin-top:14px;padding:15px;border-radius:20px;background:var(--preview-bg);color:var(--preview-text);border:1px solid color-mix(in srgb,var(--preview-text) 20%,transparent);box-shadow:0 12px 28px color-mix(in srgb,var(--preview-text) 14%,transparent)}
.cts-preview-brand{font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:800;color:var(--preview-primary)}.cts-preview-card{margin-top:11px;padding:13px;border:1px solid color-mix(in srgb,var(--preview-primary) 32%,transparent);border-radius:14px;background:var(--preview-card)}.cts-preview-card strong,.cts-preview-card span{display:block}.cts-preview-card span{margin-top:4px;font-size:.72rem;opacity:.72}.cts-preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.cts-preview-actions span{display:grid;place-items:center;min-height:42px;border:1px solid color-mix(in srgb,var(--preview-primary) 34%,transparent);border-radius:12px;background:var(--preview-card);font-size:.78rem;font-weight:850}.cts-live-preview[data-button-style="raised"] .cts-preview-actions span{box-shadow:0 4px 0 color-mix(in srgb,var(--preview-secondary) 55%,transparent)}.cts-live-preview[data-button-style="embellished"] .cts-preview-actions span{border:3px double var(--preview-metal);background:var(--preview-primary);color:#fff}.cts-live-preview[data-button-style="minimal"] .cts-preview-actions span{background:transparent;box-shadow:none}.cts-live-preview[data-button-style="tech"] .cts-preview-actions span{border-radius:6px;box-shadow:0 0 12px color-mix(in srgb,var(--preview-primary) 26%,transparent)}.cts-live-preview[data-button-style="classic"] .cts-preview-actions span{font-family:Georgia,"Times New Roman",serif}.cts-live-preview[data-card-style="ornate"] .cts-preview-card{border:3px double var(--preview-metal)}.cts-live-preview[data-card-style="minimal"] .cts-preview-card{box-shadow:none;background:color-mix(in srgb,var(--preview-card) 72%,transparent)}
.cts-footer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:14px}.cts-footer-actions .action{flex:1 1 180px}
.cts-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.cts-color-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--panel);font-size:.76rem;font-weight:800}.cts-color-row input[type="color"]{width:52px;height:42px;min-height:42px;padding:3px;border-radius:10px}.cts-restore .action{width:100%}

body.custom-theme .cts-preset-card,body.custom-theme .cts-saved-look,body.custom-theme .cts-color-row{background:var(--custom-card)!important;color:var(--custom-text)!important;border-color:var(--custom-line)!important;box-shadow:var(--custom-shadow)!important}
body.custom-theme .cts-preset-card small,body.custom-theme .cts-saved-look span,body.custom-theme .cts-saved-look small{color:var(--custom-muted)!important}
body.custom-theme .cts-current-pill{background:color-mix(in srgb,var(--custom-primary) 14%,var(--custom-card));border-color:var(--custom-line);color:var(--custom-text)}

@media(max-width:560px){.cts-preset-grid{grid-template-columns:1fr}.cts-control-grid,.cts-color-grid{grid-template-columns:1fr}.cts-saved-look{grid-template-columns:1fr}.cts-saved-actions{justify-content:flex-start}}
