body{
  --bg:#050403;--bg-mid:#0a0806;--panel:#0d0a08;--panel-deep:#070504;
  --gold:#c99a33;--gold-bright:#f0d489;--gold-dark:#765011;
  --text:#f8edd2;--muted:#c9b88f;--subtle:#968566;
  --line:rgba(232,193,88,.72);--line-soft:rgba(232,193,88,.20);
  --danger:#df9a90;--success:#8fd19b;--purple:#c589df;
  background:radial-gradient(circle at 50% -8%,rgba(232,193,88,.12),transparent 29rem),linear-gradient(180deg,#13100d 0%,#080705 38%,#050403 100%);
  color:var(--text);
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.42;background:linear-gradient(135deg,transparent 0 8%,rgba(232,193,88,.045) 8.1% 8.25%,transparent 8.35%),linear-gradient(225deg,transparent 0 15%,rgba(232,193,88,.035) 15.1% 15.25%,transparent 15.35%)}
.brand{text-align:center;padding:4px 0 20px}
.brand-medallion{width:92px;height:92px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 42% 24%,rgba(255,255,255,.16),transparent 28%),linear-gradient(180deg,#5d4319,#171109 70%,#090705);border:1px solid var(--gold-bright);box-shadow:inset 0 0 0 5px rgba(5,4,3,.68),0 0 0 2px rgba(201,150,50,.26),0 0 18px rgba(232,193,88,.14),0 14px 30px rgba(0,0,0,.46)}
.brand-medallion::before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,225,139,.34);border-radius:50%}
.brand-medallion svg{width:52px;height:52px}
.brand h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,8vw,3.8rem);font-weight:700;line-height:1;letter-spacing:.045em;text-transform:uppercase;color:var(--gold-bright);white-space:nowrap;text-shadow:0 1px 0 #000,0 0 16px rgba(232,193,88,.08)}
.scripture{margin:15px auto 0;width:min(100%,740px);font-family:var(--font-display)}
.scripture em{display:block;font-size:clamp(1rem,4vw,1.35rem);color:#f5e8c5}
.scripture strong{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px;font-size:clamp(.93rem,3.4vw,1.12rem);letter-spacing:.035em;color:var(--gold-bright)}
.scripture strong::before,.scripture strong::after{content:"";width:52px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);box-shadow:0 0 6px rgba(232,193,88,.26)}

.lux-frame,.connected-menu,.page-panel,.card,.metric,.settings-row,.notice,.empty-state,.dialog{
  position:relative;border:1px solid var(--line);border-radius:var(--radius-frame);background:linear-gradient(180deg,rgba(17,13,10,.98),rgba(6,5,4,.99));box-shadow:inset 0 1px 0 rgba(255,241,196,.08),inset 0 -8px 18px rgba(0,0,0,.16),0 12px 24px rgba(0,0,0,.30);overflow:hidden
}
.lux-frame::before,.connected-menu::before,.page-panel::before,.card::before,.metric::before,.settings-row::before,.notice::before,.empty-state::before,.dialog::before{content:"";position:absolute;inset:5px;border:1px solid rgba(232,193,88,.13);border-radius:7px;pointer-events:none}
.lux-frame::after,.connected-menu::after,.page-panel::after,.card::after,.metric::after,.settings-row::after,.notice::after,.empty-state::after,.dialog::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:.62;pointer-events:none}

.connected-menu{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);margin-bottom:var(--space-3)}
.menu-button{min-width:0;min-height:76px;border:0;border-right:1px solid rgba(232,193,88,.22);border-radius:0;background:transparent;color:#d2bd91;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:9px 5px;position:relative;font-family:var(--font-display)}
.menu-button:last-child{border-right:0}
.menu-button svg{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.menu-button span{font-size:.79rem;font-weight:700;text-align:center;line-height:1.15}
.menu-button.active{color:var(--gold-bright);background:radial-gradient(circle at 50% 0%,rgba(255,224,136,.11),transparent 43%),linear-gradient(180deg,rgba(201,150,50,.10),transparent 38%);box-shadow:inset 0 0 0 1px rgba(240,210,121,.42)}
.menu-button.active::before,.menu-button.active::after{content:"";position:absolute;left:14%;right:14%;height:2px;background:linear-gradient(90deg,transparent,#fff0b2,transparent);box-shadow:0 0 8px rgba(255,225,138,.30)}
.menu-button.active::before{top:0}.menu-button.active::after{bottom:0}
.sub-menu{margin-bottom:var(--space-5)}
.sub-menu .menu-button{min-height:68px}

.page-panel{padding:20px;margin-bottom:var(--space-4)}
.page-heading{display:flex;align-items:center;gap:12px;margin-bottom:7px;position:relative;z-index:1}
.heading-icon{width:46px;height:46px;flex:0 0 auto;border:1px solid rgba(232,193,88,.45);border-radius:7px;background:#100c08;color:var(--gold-bright);display:grid;place-items:center}
.heading-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.page-heading h2,.section-heading h3{margin:0;font-family:var(--font-display);color:var(--gold-bright);line-height:1.08}
.page-heading h2{font-size:clamp(1.72rem,6.4vw,2.65rem)}
.page-sub{position:relative;z-index:1;margin:0 0 18px;color:var(--muted);font-family:var(--font-display);font-size:1rem;line-height:1.45}
.section-heading{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.section-heading h3{font-size:clamp(1.35rem,5vw,1.9rem)}
.section-heading .action{min-height:44px;padding:8px 12px}

.metrics-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.metric{min-height:138px;padding:16px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;text-align:left;gap:14px}
.metric.wide{grid-column:1/-1;width:min(100%,360px);justify-self:center}
.metric-heading{display:flex;align-items:center;gap:11px;min-width:0}
.metric-icon{width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(232,193,88,.42);border-radius:7px;background:#100c08;color:var(--gold-bright);display:grid;place-items:center}
.metric-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.metric-value{font-family:var(--font-display);font-size:2.5rem;line-height:1;color:var(--gold-bright);text-align:center}
.metric-label{font-family:var(--font-display);font-weight:700;color:#e6d2a5;line-height:1.15;font-size:.94rem}

.card-list{position:relative;z-index:1;display:grid;gap:12px}
.card{padding:16px}
.card-title{font-family:var(--font-display);font-size:1.35rem;color:#f8e8be;margin:0 0 4px}
.card-kicker{font-family:var(--font-display);font-weight:700;color:var(--gold-bright);margin:0 0 8px}
.card p{color:var(--muted);margin:4px 0;line-height:1.4}
.card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.action{min-height:54px;border:1px solid rgba(232,193,88,.56);border-radius:var(--radius-control);color:#ead7ad;background:linear-gradient(180deg,rgba(20,15,12,.97),rgba(7,6,5,.99));box-shadow:inset 0 1px 0 rgba(255,241,196,.06);padding:10px 14px;font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}
.action svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.75;flex:0 0 auto}
.action.primary,.action.active{color:var(--gold-bright);background:radial-gradient(circle at 50% 0%,rgba(255,226,141,.10),transparent 44%),linear-gradient(180deg,rgba(201,150,50,.10),transparent 38%),linear-gradient(180deg,rgba(20,15,12,.98),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.40),0 0 10px rgba(232,193,88,.08)}
.action.danger{color:var(--danger);border-color:rgba(223,154,144,.55);background:#160c0b}
.action:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.4)}

.progress-row{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;color:var(--muted);margin-bottom:8px}
.progress-track{position:relative;z-index:1;height:10px;border:1px solid rgba(232,193,88,.32);border-radius:999px;background:#080604;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold-dark),var(--gold-bright));box-shadow:0 0 8px rgba(232,193,88,.24)}

.quick-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}

.settings-menu{position:relative;z-index:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;margin-bottom:16px}
.settings-menu::-webkit-scrollbar{display:none}
.settings-menu .settings-menu-button{scroll-snap-align:start;min-height:82px}
.settings-menu .settings-menu-button span{white-space:normal;max-width:118px}
.settings-column{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:10px}
.settings-row{width:100%;min-height:82px;padding:14px 16px;border-radius:10px;color:var(--text);display:grid;grid-template-columns:48px minmax(0,1fr) 26px;gap:14px;align-items:center;text-align:left}
.settings-row.active{box-shadow:inset 0 0 0 1px rgba(240,210,121,.42),0 0 12px rgba(232,193,88,.08)}
.settings-icon{width:48px;height:48px;border:1px solid rgba(232,193,88,.42);border-radius:7px;background:#100c08;color:var(--gold-bright);display:grid;place-items:center}
.settings-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.settings-copy{min-width:0}
.settings-copy strong{display:block;font-family:var(--font-display);font-size:1.08rem;color:#ead7ad}
.settings-copy span{display:block;color:var(--muted);font-size:.82rem;line-height:1.3;margin-top:3px}
.settings-chevron svg{width:24px;height:24px;stroke:var(--gold-bright);fill:none;stroke-width:1.8}

.settings-detail{position:relative;z-index:1;margin-top:0;padding-top:0;border-top:0}
.settings-detail h3{font-family:var(--font-display);font-size:1.55rem;color:var(--gold-bright);margin:0 0 8px}
.settings-detail p{color:var(--muted);line-height:1.45}
.detail-grid{display:grid;gap:10px}
.detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(232,193,88,.24);border-radius:7px;background:#090705;color:var(--muted)}
.detail-row strong{color:#ead7ad}

.notice{padding:15px;color:var(--muted);line-height:1.45}
.notice strong{color:var(--gold-bright)}
.empty-state{padding:28px 18px;text-align:center;color:var(--muted)}
.empty-state svg{width:38px;height:38px;margin:0 auto 10px;stroke:var(--gold-bright);fill:none;stroke-width:1.6}

.dialog-layer{position:fixed;inset:0;pointer-events:none;z-index:100}
.dialog-layer.open{pointer-events:auto;background:rgba(0,0,0,.78);display:grid;place-items:center;padding:18px;backdrop-filter:blur(8px)}
.dialog{width:min(100%,520px);max-height:88vh;overflow:hidden;padding:18px;display:flex;flex-direction:column}
.dialog-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid rgba(232,193,88,.20)}
.dialog-head h3{margin:0;font-family:var(--font-display);color:var(--gold-bright);font-size:1.5rem}
.dialog-close{width:44px;height:44px;border:1px solid rgba(232,193,88,.48);border-radius:7px;background:#100c08;color:var(--gold-bright);font-size:1.3rem}
.dialog-body{padding:17px 4px 17px 0;color:var(--muted);line-height:1.45;overflow-y:auto;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.dialog-actions{flex:0 0 auto;display:flex;justify-content:flex-end;gap:9px;padding-top:13px;border-top:1px solid rgba(232,193,88,.20)}

.toast{position:fixed;left:50%;bottom:calc(20px + var(--safe-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:120;background:#120e0a;color:var(--gold-bright);border:1px solid var(--line);border-radius:8px;padding:11px 15px;box-shadow:0 12px 26px rgba(0,0,0,.38);transition:.2s ease}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:440px){
  .brand-medallion{width:82px;height:82px}.brand-medallion svg{width:47px;height:47px}
  .brand h1{font-size:2.02rem}
  .scripture strong::before,.scripture strong::after{width:34px}
  .menu-button{min-height:69px;padding:7px 3px}.menu-button svg{width:23px;height:23px}.menu-button span{font-size:.66rem}
  .sub-menu .menu-button{min-height:64px}
  .page-panel{padding:15px}
  .page-heading h2{font-size:1.72rem}
  .metric{min-height:128px;padding:14px 12px}.metric-value{font-size:2.25rem}.metric-label{font-size:.88rem}.metric-icon{width:38px;height:38px;flex-basis:38px}.metric-icon svg{width:22px;height:22px}.settings-menu{grid-auto-columns:minmax(124px,1fr)}
  .settings-row{grid-template-columns:44px minmax(0,1fr) 22px;padding:12px;gap:11px}.settings-icon{width:44px;height:44px}.settings-copy strong{font-size:1rem}
}

/* v2.42 tactile button feedback: physical press, full-width gold shimmer, and release pulse. */
.menu-button,.action,.settings-row,.dialog-close{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transform:translateZ(0);
  transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.menu-button.ui2-pressing,.action.ui2-pressing,.settings-row.ui2-pressing,.dialog-close.ui2-pressing{
  transform:translateY(2px) scale(.975);
  filter:brightness(1.10);
  border-color:rgba(255,224,136,.90)!important;
  box-shadow:inset 0 3px 10px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,229,152,.50),0 2px 5px rgba(0,0,0,.28)!important;
}
.menu-button.ui2-activated,.action.ui2-activated,.settings-row.ui2-activated,.dialog-close.ui2-activated{
  animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1);
}
.ui2-tap-shimmer{
  position:absolute;
  z-index:9;
  pointer-events:none;
  top:-42%;
  bottom:-42%;
  left:-52%;
  width:42%;
  opacity:0;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent 0%,rgba(255,231,158,.04) 16%,rgba(255,240,190,.25) 43%,rgba(255,251,222,.68) 52%,rgba(255,229,150,.20) 65%,transparent 100%);
  filter:blur(.25px);
  animation:ui2FullButtonShimmer .36s cubic-bezier(.2,.72,.24,1) forwards;
}
@keyframes ui2TapRelease{
  0%{transform:translateY(1px) scale(.975);filter:brightness(1.12)}
  48%{transform:translateY(-1px) scale(1.012);filter:brightness(1.16)}
  100%{transform:translateY(0) scale(1);filter:brightness(1)}
}
@keyframes ui2FullButtonShimmer{
  0%{left:-52%;opacity:0}
  15%{opacity:.92}
  72%{opacity:.68}
  100%{left:116%;opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .ui2-tap-shimmer{display:none}
  .menu-button.ui2-activated,.action.ui2-activated,.settings-row.ui2-activated,.dialog-close.ui2-activated{animation:none}
}


/* v2.44 reliable fixed navigation dock.
   JavaScript docks the real menus after the brand scrolls away, rather than relying on WebView sticky behavior. */
:root{
  --ui2-dock-top:calc(var(--safe-top) + 5px);
  --ui2-dock-width:min(calc(100vw - 20px - var(--safe-left) - var(--safe-right)),936px);
}
.nav-sentinel{height:0;pointer-events:none}
.nav-dock{position:relative;z-index:82;width:100%}
.nav-spacer{height:0;pointer-events:none}
.nav-dock .main-menu{margin-bottom:var(--space-3)}
.nav-dock .sub-menu{margin-bottom:var(--space-5)}
.nav-dock.is-docked{
  position:fixed;
  top:var(--ui2-dock-top);
  left:50%;
  width:var(--ui2-dock-width);
  transform:translateX(-50%);
  z-index:90;
  padding:0;
  filter:drop-shadow(0 14px 22px rgba(0,0,0,.54));
}
.nav-dock.is-docked .main-menu,
.nav-dock.is-docked .sub-menu{
  background:linear-gradient(180deg,rgba(17,13,10,.995),rgba(6,5,4,.995));
  box-shadow:inset 0 1px 0 rgba(255,241,196,.08),inset 0 -8px 18px rgba(0,0,0,.16),0 0 0 4px rgba(5,4,3,.88);
}
.nav-dock.is-docked .main-menu{margin-bottom:7px}
.nav-dock.is-docked .sub-menu{margin-bottom:0}
.nav-dock.is-docked + .nav-spacer{height:var(--ui2-nav-dock-height,76px)}
/* Settings categories now use the real sub-navigation dock, so there is no competing inner sticky menu. */
.settings-page{overflow:visible;overflow-anchor:none;padding-bottom:28px}
.settings-page .settings-menu{display:none!important}
@media(max-width:440px){
  :root{--ui2-dock-width:min(calc(100vw - 16px - var(--safe-left) - var(--safe-right)),940px)}
}
.settings-sub-menu{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(132px,1fr);
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  scrollbar-width:none;
}
.settings-sub-menu::-webkit-scrollbar{display:none}
.settings-sub-menu .settings-menu-button{scroll-snap-align:start;min-height:72px}
.settings-sub-menu .settings-menu-button span{white-space:normal;max-width:118px}
@media(max-width:440px){.settings-sub-menu{grid-auto-columns:minmax(124px,1fr)}}


/* v2.45: exact three-column settings menu alignment and persistent snap positions. */
.settings-sub-menu{
  grid-auto-columns:calc(100% / 3)!important;
  scroll-padding-inline:0;
  scroll-snap-type:x proximity;
  touch-action:pan-x pan-y;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.settings-sub-menu .menu-button{touch-action:pan-x pan-y}
.ui2-settings-active .app-shell{padding-bottom:calc(88px + var(--safe-bottom))}
.settings-scroll-end{height:28px;pointer-events:none}
.settings-sub-menu .settings-menu-button{
  width:100%;
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
.settings-sub-menu .settings-menu-button span{
  width:100%;
  max-width:none;
  padding-inline:5px;
  overflow-wrap:anywhere;
}
@media(max-width:440px){
  .settings-sub-menu{grid-auto-columns:calc(100% / 3)!important}
  .settings-sub-menu .settings-menu-button span{font-size:.64rem}
}


/* v2.46: Align Settings detail action buttons with the full width of the detail rows. */
.settings-detail > .action{
  width:100%;
  margin-top:12px;
  min-height:58px;
  justify-content:center;
}
.settings-detail > .detail-grid + .action{
  width:100%;
}


/* v2.47: opaque dock backing and a continuous inner gold frame across all Settings categories. */
body.ui2-nav-docked::after{
  content:"";
  position:fixed;
  z-index:85;
  top:0;
  left:0;
  right:0;
  height:calc(var(--ui2-dock-top) + var(--ui2-nav-dock-height,160px) + 12px);
  pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(5,4,3,1) 0%,
      rgba(5,4,3,1) calc(100% - 16px),
      rgba(5,4,3,.985) calc(100% - 8px),
      rgba(5,4,3,0) 100%);
  box-shadow:0 10px 18px rgba(0,0,0,.22);
}
.nav-dock.is-docked{z-index:90}

/* The inner line now belongs to the entire seven-item scrolling track instead of only the visible three-item viewport. */
.settings-sub-menu::before{
  top:5px;
  bottom:5px;
  left:5px;
  right:auto;
  width:calc((100% / 3) * var(--ui2-settings-count,7) - 10px);
  box-sizing:border-box;
  border-radius:7px;
}
.settings-sub-menu::after{
  left:0;
  right:auto;
  width:calc((100% / 3) * var(--ui2-settings-count,7));
}

/* v2.48 — UI2 Phase 2A Contacts. Built from the approved square Black & Gold Contacts design. */
.contacts-page{overflow:visible}
.contact-action-panel{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  margin-bottom:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  background:linear-gradient(180deg,rgba(17,13,10,.98),rgba(6,5,4,.99));
  box-shadow:inset 0 1px 0 rgba(255,241,196,.08),inset 0 -8px 18px rgba(0,0,0,.16),0 10px 20px rgba(0,0,0,.28)
}
.contact-action-panel::before{content:"";position:absolute;inset:4px;border:1px solid rgba(232,193,88,.15);border-radius:6px;pointer-events:none}
.contact-action-panel::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:.68;pointer-events:none}
.contact-action{min-width:0;min-height:70px;border:0;border-right:1px solid rgba(232,193,88,.22);border-radius:0;background:transparent;color:#d2bd91;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 5px;position:relative;font-family:var(--font-display);font-weight:700}
.contact-action:last-child{border-right:0}
.contact-action svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.contact-action.active{color:var(--gold-bright);background:radial-gradient(circle at 50% 0%,rgba(255,224,136,.11),transparent 43%),linear-gradient(180deg,rgba(201,150,50,.10),transparent 38%);box-shadow:inset 0 0 0 1px rgba(240,210,121,.42)}
.contact-action.active::before,.contact-action.active::after{content:"";position:absolute;left:14%;right:14%;height:2px;background:linear-gradient(90deg,transparent,#fff0b2,transparent);box-shadow:0 0 8px rgba(255,225,138,.30)}
.contact-action.active::before{top:0}.contact-action.active::after{bottom:0}
.contact-action.danger-tone{color:#ddb0a0}
.contact-action.danger-tone.active{color:#f1cec6;background:linear-gradient(180deg,rgba(177,82,62,.18),rgba(14,8,7,.95));box-shadow:inset 0 0 0 1px rgba(227,139,121,.55),0 0 14px rgba(199,92,71,.12)}
.contact-mode-note{display:none;position:relative;z-index:1;margin:-3px 0 13px;padding:10px 13px;border:1px solid rgba(232,193,88,.18);border-radius:7px;background:#0e0b09;color:var(--muted);font-size:.84rem;line-height:1.4}
.contact-mode-note.show{display:block}
.contact-search-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 72px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,rgba(17,13,10,.98),rgba(6,5,4,.99));box-shadow:inset 0 1px 0 rgba(255,241,196,.08),0 10px 20px rgba(0,0,0,.22)}
.contact-search-panel::before{content:"";position:absolute;inset:4px;border:1px solid rgba(232,193,88,.14);border-radius:6px;pointer-events:none}
.contact-search-wrap{position:relative;min-height:64px;border-right:1px solid rgba(232,193,88,.22);display:flex;align-items:center}
.contact-search-wrap>svg{position:absolute;left:18px;width:27px;height:27px;stroke:var(--gold-bright);fill:none;stroke-width:1.7;pointer-events:none}
.contact-search-wrap input{width:100%;height:64px;border:0;outline:0;background:transparent;color:var(--text);padding:0 15px 0 55px;font-size:1rem}
.contact-search-wrap input::placeholder{color:#8f7a57;opacity:1}
.contact-reset{border:0;background:transparent;color:var(--gold-bright);display:grid;place-items:center}
.contact-reset svg{width:29px;height:29px;stroke:currentColor;fill:none;stroke-width:1.7}
.contact-filter-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:18px}
.contact-filter{min-height:46px;padding:7px 10px;border:1px solid rgba(232,193,88,.54);border-radius:8px;color:#d1bd93;background:linear-gradient(180deg,rgba(20,15,12,.96),rgba(7,6,5,.99));box-shadow:inset 0 1px 0 rgba(255,241,196,.06),0 8px 16px rgba(0,0,0,.16);font-family:var(--font-display);font-size:.78rem;font-weight:700;text-transform:uppercase;line-height:1.15}
.contact-filter.active{color:var(--gold-bright);background:radial-gradient(circle at 50% 0%,rgba(255,226,141,.10),transparent 42%),linear-gradient(180deg,rgba(201,150,50,.10),transparent 38%),linear-gradient(180deg,rgba(20,15,12,.96),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.5),0 0 10px rgba(232,193,88,.10)}
.contact-list{position:relative;z-index:1;display:grid;gap:14px}
.contact-card{
  --accent:var(--gold);
  width:100%;min-height:150px;padding:15px;position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) 38px;gap:14px;align-items:center;overflow:hidden;
  border:1px solid color-mix(in srgb,var(--accent) 42%,var(--gold-bright));border-radius:10px;color:var(--text);text-align:left;
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent) 0 5px,transparent 5px 100%),linear-gradient(180deg,rgba(15,11,9,.98),rgba(6,5,4,.99));
  box-shadow:inset 0 1px 0 rgba(255,240,194,.06),inset 0 -8px 16px rgba(0,0,0,.16),0 10px 20px rgba(0,0,0,.26)
}
.contact-card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);box-shadow:0 0 7px rgba(232,193,88,.20)}
.contact-card::after{content:"";position:absolute;inset:6px;border:1px solid rgba(232,193,88,.10);border-radius:5px;pointer-events:none}
.contact-card.status-study{--accent:#79d39c}.contact-card.status-followup{--accent:#c485e5}.contact-card.status-contact{--accent:#e0b34a}.contact-card.status-paused{--accent:#d6c184}.contact-card.status-transferred{--accent:#a6b2e3}.contact-card.status-dnc{--accent:#e1a09d}
.contact-crest{position:absolute;right:52px;top:50%;transform:translateY(-50%);width:106px;height:106px;opacity:.09;pointer-events:none;stroke:currentColor;fill:none;stroke-width:2}
.contact-avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;position:relative;z-index:1;border:1px solid var(--gold-bright);background:radial-gradient(circle at 40% 25%,rgba(255,255,255,.06),transparent 28%),linear-gradient(180deg,#1c1510,#080604);box-shadow:inset 0 0 0 5px rgba(0,0,0,.34),0 0 8px color-mix(in srgb,var(--accent) 16%,transparent)}
.contact-avatar svg{width:40px;height:40px;stroke:var(--gold-bright);fill:none;stroke-width:1.7}
.contact-card-copy{min-width:0;position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start}
.contact-name{font-family:var(--font-display);font-size:1.47rem;line-height:1.05;color:#f8e8be;margin-bottom:4px}
.contact-type{display:inline-flex;padding:4px 10px;margin-bottom:6px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);background:rgba(0,0,0,.22);font-size:.75rem}
.contact-meta{display:block;color:#d3c39e;font-size:.88rem;line-height:1.3;margin-top:2px}
.contact-emphasis{color:var(--accent)}
.contact-chevron{position:relative;z-index:1;color:var(--gold-bright);display:grid;place-items:center}
.contact-chevron svg{width:32px;height:32px;stroke:currentColor;fill:none;stroke-width:2}
.contact-add-wrap{position:relative;z-index:1;display:flex;justify-content:center;margin-top:22px}
.contact-add{width:min(100%,360px);min-height:72px;text-transform:uppercase;letter-spacing:.03em;font-size:1.03rem}
.contact-add svg{width:27px;height:27px}
.contact-empty svg{width:40px;height:40px;stroke:var(--gold-bright);fill:none}

/* Contact dialogs, forms, details, and custom choices. */
.contact-form{display:grid;gap:16px}
.form-field{display:grid;gap:7px;margin:0;padding:0;border:0;color:#d8c49b;font-weight:700}
.form-field legend{padding:0;margin:0 0 2px;color:#d8c49b;font-weight:700}
.form-control{width:100%;min-height:52px;border:1px solid rgba(232,193,88,.46);border-radius:7px;background:#090705;color:var(--text);padding:0 13px;outline:0;font-family:var(--font-body);font-weight:400}
textarea.form-control{padding:12px 13px;resize:vertical;line-height:1.4}
.form-control:focus{border-color:var(--gold-bright);box-shadow:0 0 0 2px rgba(232,193,88,.10)}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choice-button{min-height:46px;border:1px solid rgba(232,193,88,.34);border-radius:7px;background:#090705;color:#d1bd93;padding:8px;font-family:var(--font-body);font-size:.88rem}
.choice-button.active{color:var(--gold-bright);border-color:var(--gold-bright);background:linear-gradient(180deg,rgba(201,150,50,.12),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.30)}
.contact-details{display:grid;gap:16px}
.contact-detail-grid{display:grid;gap:9px}
.contact-detail-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid rgba(232,193,88,.22);border-radius:7px;background:#090705}
.contact-detail-row strong{color:#ead7ad;flex:0 0 auto}.contact-detail-row span{color:var(--muted);text-align:right;overflow-wrap:anywhere}.contact-detail-row.stacked{display:grid}.contact-detail-row.stacked span{text-align:left;white-space:pre-wrap}
.contact-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.contact-detail-actions .action:last-child:nth-child(odd){grid-column:1/-1;width:min(100%,320px);justify-self:center}
.recurring-card{padding:14px;border:1px solid rgba(232,193,88,.36);border-radius:8px;background:linear-gradient(180deg,rgba(20,15,12,.95),rgba(7,6,5,.98))}
.recurring-card .section-heading{margin-bottom:8px}.recurring-card .section-heading h4{display:flex;align-items:center;gap:9px;margin:0;font-family:var(--font-display);font-size:1.25rem;color:var(--gold-bright)}.recurring-card h4 svg{width:24px;height:24px;stroke:currentColor;fill:none}.recurring-card p{margin:5px 0;color:var(--muted)}
.contact-next-notice{padding:12px}
.history-section{border-top:1px solid rgba(232,193,88,.20);padding-top:15px}.history-section>h3{margin:0 0 12px;font-family:var(--font-display);font-size:1.45rem;color:var(--gold-bright)}.history-list{display:grid;gap:10px}
.history-card{padding:13px;border:1px solid rgba(232,193,88,.24);border-radius:8px;background:#090705}.history-card h4{margin:0 0 8px;font-family:var(--font-display);font-size:1.06rem;color:#ead7ad}.history-card p{margin:5px 0;color:var(--muted);line-height:1.4}.history-card strong{color:#e6d2a5}
.empty-state.compact{padding:20px 14px}.empty-state.compact svg{width:32px;height:32px}
.share-preview{margin:0;max-height:44vh;overflow:auto;padding:13px;border:1px solid rgba(232,193,88,.28);border-radius:7px;background:#090705;color:var(--muted);white-space:pre-wrap;font-family:var(--font-body);font-size:.9rem;line-height:1.45}

@media(max-width:520px){
  .contact-action{min-height:62px;gap:5px;font-size:.74rem}.contact-action svg{width:20px;height:20px}
  .contact-card{grid-template-columns:62px minmax(0,1fr) 26px;gap:10px;padding:12px;min-height:134px}
  .contact-avatar{width:56px;height:56px}.contact-avatar svg{width:33px;height:33px}
  .contact-name{font-size:1.18rem}.contact-meta{font-size:.78rem}.contact-type{font-size:.68rem;padding:3px 8px}
  .contact-crest{right:36px;width:88px;height:88px}
  .contact-filter{font-size:.69rem}
  .contact-detail-row{display:grid;gap:4px}.contact-detail-row span{text-align:left}
  .contact-detail-actions{grid-template-columns:1fr 1fr}.contact-detail-actions .action{padding-inline:8px;font-size:.82rem}
}
@media(max-width:370px){
  .contact-action-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-action:nth-child(2){border-right:0}.contact-action:nth-child(-n+2){border-bottom:1px solid rgba(232,193,88,.22)}
  .contact-filter-row{grid-template-columns:1fr}
  .choice-grid{grid-template-columns:1fr}
}

/* Apply the approved tactile response to every new Contacts control. */
.contact-action,.contact-filter,.contact-reset,.contact-card,.choice-button{
  position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);
  transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.contact-action.ui2-pressing,.contact-filter.ui2-pressing,.contact-reset.ui2-pressing,.contact-card.ui2-pressing,.choice-button.ui2-pressing{
  transform:translateY(2px) scale(.975);filter:brightness(1.10);border-color:rgba(255,224,136,.90)!important;
  box-shadow:inset 0 3px 10px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,229,152,.50),0 2px 5px rgba(0,0,0,.28)!important
}
.contact-action.ui2-activated,.contact-filter.ui2-activated,.contact-reset.ui2-activated,.contact-card.ui2-activated,.choice-button.ui2-activated{animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1)}


/* v2.49 Contacts completion: compact horizontal filters and fully themed sharing choices. */
.contact-filter-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  overflow:visible!important;
}
.contact-filter{min-width:0!important;padding:7px 5px!important;font-size:.66rem!important;white-space:normal!important}
.share-instructions{margin:0 0 14px;color:var(--muted);line-height:1.45}
.share-option-list{display:grid;gap:9px}
.share-option{
  min-height:58px;width:100%;border:1px solid rgba(232,193,88,.42);border-radius:7px;
  background:linear-gradient(180deg,rgba(20,15,12,.98),rgba(7,6,5,.99));color:#d9c59c;
  display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 13px;text-align:left;
  font-family:var(--font-display);font-weight:700;
}
.share-option.active{color:var(--gold-bright);border-color:rgba(240,210,121,.72);box-shadow:inset 0 0 0 1px rgba(240,210,121,.24),0 0 10px rgba(232,193,88,.07)}
.share-option.required{cursor:default}
.share-option small{color:var(--muted);font-family:var(--font-body);font-size:.68rem;font-weight:600}
.share-check{width:30px;height:30px;border:1px solid rgba(232,193,88,.48);border-radius:5px;display:grid;place-items:center;background:#090705;color:var(--gold-bright);font-size:1.05rem}
.share-option.active .share-check{background:linear-gradient(180deg,#d9b657,#8a621b);color:#120c04;border-color:#f0d489}
.dialog-actions{flex-wrap:wrap}
@media(max-width:430px){
 .contact-filter{font-size:.59rem!important;line-height:1.05!important;padding-inline:3px!important}
 .share-option{grid-template-columns:32px minmax(0,1fr);}.share-option small{grid-column:2}
}


/* v2.50 — contact polish, complete dialog frame, custom How You Met picker, and smoother Settings scrolling. */
.contact-crest{display:none!important}
.form-picker{width:100%;min-height:52px;border:1px solid rgba(232,193,88,.46);border-radius:7px;background:#090705;color:var(--text);padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.form-picker svg{width:21px;height:21px;stroke:var(--gold-bright);fill:none;stroke-width:1.8;transition:transform .18s ease}
.form-picker[aria-expanded="true"] svg{transform:rotate(90deg)}
.form-picker-options{display:grid;grid-template-columns:1fr;gap:7px;padding:8px;border:1px solid rgba(232,193,88,.28);border-radius:7px;background:#070604}
.form-picker-option{min-height:46px;border:1px solid rgba(232,193,88,.26);border-radius:6px;background:#0c0907;color:#d4c099;padding:9px 11px;text-align:left}
.form-picker-option.active{color:var(--gold-bright);border-color:rgba(240,210,121,.72);box-shadow:inset 0 0 0 1px rgba(240,210,121,.24)}
.met-how-other{margin-top:2px}
.history-empty-action{width:100%;font-family:var(--font-body);color:var(--muted);cursor:pointer}
.history-empty-action small{display:block;margin-top:7px;color:var(--gold-bright);font-size:.78rem}
.history-empty-action:focus-visible{outline:2px solid rgba(240,210,121,.55);outline-offset:3px}

/* v2.51 — UI2 Phase 2B Visits. */
.visits-page{overflow:visible}
.visit-tab-row{
  position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:16px;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  background:linear-gradient(180deg,rgba(17,13,10,.98),rgba(6,5,4,.99));
  box-shadow:inset 0 1px 0 rgba(255,241,196,.08),inset 0 -8px 18px rgba(0,0,0,.16),0 10px 20px rgba(0,0,0,.26)
}
.visit-tab-row::before{content:"";position:absolute;inset:4px;border:1px solid rgba(232,193,88,.14);border-radius:6px;pointer-events:none}
.visit-tab{min-width:0;min-height:72px;border:0;border-right:1px solid rgba(232,193,88,.22);border-radius:0;background:transparent;color:#d2bd91;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:8px 5px;position:relative;font-family:var(--font-display);font-weight:700}
.visit-tab:last-child{border-right:0}.visit-tab svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.75}.visit-tab span{font-size:.78rem;line-height:1.12;text-align:center}
.visit-tab.active{color:var(--gold-bright);background:radial-gradient(circle at 50% 0%,rgba(255,224,136,.11),transparent 43%),linear-gradient(180deg,rgba(201,150,50,.10),transparent 38%);box-shadow:inset 0 0 0 1px rgba(240,210,121,.42)}
.visit-tab.active::before,.visit-tab.active::after{content:"";position:absolute;left:14%;right:14%;height:2px;background:linear-gradient(90deg,transparent,#fff0b2,transparent);box-shadow:0 0 8px rgba(255,225,138,.30)}.visit-tab.active::before{top:0}.visit-tab.active::after{bottom:0}
.visit-attention-controls{position:relative;z-index:1;margin-bottom:14px;padding:15px;border:1px solid rgba(232,193,88,.34);border-radius:9px;background:linear-gradient(180deg,rgba(18,13,10,.96),rgba(7,5,4,.98));box-shadow:inset 0 1px 0 rgba(255,241,196,.06)}
.visit-attention-controls h3{margin:0 0 12px;font-family:var(--font-display);font-size:1.12rem;color:#ead7ad}
.visit-days-row,.visit-reason-row{display:grid;gap:8px}.visit-days-row{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}.visit-reason-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.visit-choice{min-width:0;min-height:48px;padding:8px 7px;border:1px solid rgba(232,193,88,.38);border-radius:7px;background:#090705;color:#d1bd93;font-family:var(--font-display);font-weight:700;font-size:.78rem;line-height:1.12}
.visit-choice.active{color:var(--gold-bright);border-color:rgba(240,210,121,.74);background:linear-gradient(180deg,rgba(201,150,50,.12),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.28),0 0 9px rgba(232,193,88,.07)}
.visit-summary{position:relative;z-index:1;margin-bottom:12px;padding:12px 13px;border:1px solid rgba(232,193,88,.30);border-radius:8px;background:#090705;color:var(--muted);line-height:1.4}
.visit-reset-wrap{position:relative;z-index:1;display:flex;justify-content:center;margin-bottom:14px}.visit-reset-wrap .action{width:min(100%,310px)}
.visit-list{position:relative;z-index:1;display:grid;gap:14px}
.visit-card{position:relative;overflow:hidden;padding:16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,rgba(16,12,9,.98),rgba(6,5,4,.99));box-shadow:inset 0 1px 0 rgba(255,240,194,.07),inset 0 -8px 16px rgba(0,0,0,.16),0 10px 20px rgba(0,0,0,.25)}
.visit-card::before{content:"";position:absolute;inset:6px;border:1px solid rgba(232,193,88,.11);border-radius:5px;pointer-events:none}.visit-card::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-bright),transparent);opacity:.64}
.visit-card-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.visit-card-top h3{margin:0 0 4px;font-family:var(--font-display);font-size:1.45rem;color:#f8e8be}.visit-card-top p{margin:4px 0;color:var(--muted);line-height:1.38}.visit-status{font-family:var(--font-display);font-weight:700;color:var(--gold-bright)!important}
.visit-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border:1px solid rgba(232,193,88,.44);border-radius:999px;background:#100c08;color:var(--gold-bright);font-family:var(--font-display);font-size:.76rem;font-weight:700;text-align:center}.visit-badge.danger{color:#f0b2a9;border-color:rgba(223,154,144,.58)}.visit-badge.today{color:#9bdea6;border-color:rgba(143,209,155,.62)}.visit-badge.soon{color:#e8d393}
.visit-reasons{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.visit-reasons span{display:inline-flex;padding:6px 9px;border-radius:999px;border:1px solid rgba(223,154,144,.45);background:#150d0b;color:#e7b2a9;font-size:.72rem;line-height:1.18}
.visit-date-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.visit-date-grid>div{min-height:86px;padding:12px;border:1px solid rgba(232,193,88,.32);border-radius:8px;background:#090705}.visit-date-grid small{display:block;color:#d6c29a;font-family:var(--font-display);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.visit-date-grid strong{display:block;color:#f1dfb6;font-family:var(--font-display);font-size:1rem;line-height:1.25;overflow-wrap:anywhere}
.visit-card-actions{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.visit-card-actions .action{padding-inline:8px;font-size:.83rem}.visit-remove-schedule{grid-column:1/-1;width:min(100%,310px);justify-self:center}
.visit-form{display:grid;gap:15px}.visit-form h4{margin:0 0 -5px;font-family:var(--font-display);font-size:1.08rem;color:#ead7ad}.schedule-mode-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.picker-grid{display:grid;gap:7px}.date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.picker-choice{min-width:0;min-height:44px;border:1px solid rgba(232,193,88,.30);border-radius:7px;background:#090705;color:#d1bd93;padding:7px 5px;font-family:var(--font-body);font-size:.78rem;line-height:1.15}.picker-choice.active{color:var(--gold-bright);border-color:rgba(240,210,121,.74);background:linear-gradient(180deg,rgba(201,150,50,.12),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.24)}
.visit-tab,.visit-choice,.picker-choice,.visit-card{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.visit-tab.ui2-pressing,.visit-choice.ui2-pressing,.picker-choice.ui2-pressing,.visit-card.ui2-pressing{transform:translateY(2px) scale(.975);filter:brightness(1.10);border-color:rgba(255,224,136,.90)!important;box-shadow:inset 0 3px 10px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,229,152,.50),0 2px 5px rgba(0,0,0,.28)!important}
.visit-tab.ui2-activated,.visit-choice.ui2-activated,.picker-choice.ui2-activated,.visit-card.ui2-activated{animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1)}
@media(max-width:520px){
 .visit-tab{min-height:66px}.visit-tab span{font-size:.67rem}.visit-days-row,.visit-reason-row{gap:6px}.visit-choice{font-size:.66rem;padding-inline:4px}.visit-card{padding:13px}.visit-card-top h3{font-size:1.2rem}.visit-badge{font-size:.66rem;padding-inline:8px}.visit-date-grid strong{font-size:.88rem}.visit-card-actions .action{font-size:.76rem}.date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.weekday-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:370px){.visit-days-row,.visit-reason-row{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-card-actions{grid-template-columns:1fr}.visit-remove-schedule{grid-column:auto;width:100%}}


/* v2.52 — single empty-state action and duplicate-contact review/merge. */
.duplicate-alert{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:start;padding:13px;border:1px solid rgba(223,154,144,.48);border-radius:8px;background:linear-gradient(180deg,rgba(69,25,20,.36),rgba(18,9,7,.72));margin-bottom:13px}
.duplicate-alert-icon{width:48px;height:48px;border:1px solid rgba(223,154,144,.68);border-radius:7px;display:grid;place-items:center;color:#f0b2a9;background:#180d0b;font-family:var(--font-display);font-size:1.45rem;font-weight:700}
.duplicate-alert strong{display:block;color:#f1d9b7;font-family:var(--font-display);font-size:1.08rem;margin-bottom:4px}.duplicate-alert p{margin:0;color:var(--muted);line-height:1.42}
.duplicate-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:13px}
.duplicate-summary-card{min-width:0;padding:13px;border:1px solid rgba(232,193,88,.34);border-radius:8px;background:#090705;display:grid;gap:5px}
.duplicate-summary-card small{color:var(--gold-bright);font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.04em}
.duplicate-summary-card strong{color:#f2dfb5;font-family:var(--font-display);font-size:1.05rem;overflow-wrap:anywhere}.duplicate-summary-card span{color:var(--muted);font-size:.82rem;line-height:1.3;overflow-wrap:anywhere}
.duplicate-help{margin:0 0 12px;color:var(--muted);line-height:1.45}
.duplicate-merge-list{display:grid;gap:10px}.duplicate-merge-field{padding:12px;border:1px solid rgba(232,193,88,.28);border-radius:8px;background:#080604}.duplicate-merge-field>strong{display:block;color:#ead7ad;font-family:var(--font-display);font-size:.95rem;margin-bottom:8px}.duplicate-merge-field.same{display:grid;gap:4px}.duplicate-merge-field.same span{color:#f1dfb6;overflow-wrap:anywhere}.duplicate-merge-field.same small{color:#8f7c5a}
.duplicate-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.duplicate-value-choice{min-width:0;min-height:62px;border:1px solid rgba(232,193,88,.30);border-radius:7px;background:#0c0907;color:var(--muted);padding:8px 9px;text-align:left;display:grid;align-content:center;gap:3px}.duplicate-value-choice small{color:#bba77d;font-family:var(--font-display);font-size:.67rem;font-weight:700;text-transform:uppercase}.duplicate-value-choice span{font-size:.79rem;line-height:1.24;overflow-wrap:anywhere}.duplicate-value-choice.active{color:#f2dfb5;border-color:rgba(240,210,121,.74);background:linear-gradient(180deg,rgba(201,150,50,.13),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.26),0 0 9px rgba(232,193,88,.08)}.duplicate-value-choice.active small{color:var(--gold-bright)}.duplicate-value-choice.combine{grid-column:1/-1;text-align:center}
@media(max-width:430px){.duplicate-summary-grid,.duplicate-choice-grid{grid-template-columns:1fr}.duplicate-value-choice.combine{grid-column:auto}}

/* v2.53 — completed Visits workflow */
.visit-log-section{display:grid;gap:10px;padding:13px;border:1px solid rgba(232,193,88,.28);border-radius:8px;background:linear-gradient(180deg,rgba(16,12,9,.96),rgba(7,5,4,.98))}
.visit-log-section>h4{margin:0!important}
.schedule-mode-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.visit-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto;padding:2px;overscroll-behavior:contain}
.visit-resource-choice{min-width:0;min-height:58px;padding:9px 10px;border:1px solid rgba(232,193,88,.30);border-radius:7px;background:#090705;color:#d1bd93;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:3px}
.visit-resource-choice strong{font-family:var(--font-display);font-size:.85rem;color:#e8d5ad;line-height:1.15}.visit-resource-choice span{font-size:.7rem;color:var(--muted);line-height:1.2}
.visit-resource-choice.active{color:var(--gold-bright);border-color:rgba(240,210,121,.74);background:linear-gradient(180deg,rgba(201,150,50,.12),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.24)}
.visit-resource-choice{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.visit-resource-choice.ui2-pressing{transform:translateY(2px) scale(.975);filter:brightness(1.10);border-color:rgba(255,224,136,.90)!important;box-shadow:inset 0 3px 10px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,229,152,.50),0 2px 5px rgba(0,0,0,.28)!important}
.visit-resource-choice.ui2-activated{animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1)}
@media(max-width:430px){.visit-resource-grid{grid-template-columns:1fr}.schedule-mode-row.three{grid-template-columns:1fr}.schedule-mode-row.three .visit-choice{min-height:44px}}


/* v2.54 — direct Add Visit workflow and contact chooser. */
.visit-primary-action{position:relative;z-index:1;display:flex;justify-content:flex-end;margin:-2px 0 14px}.visit-primary-action .action{width:min(100%,270px)}
.visit-contact-picker{display:grid;gap:9px;max-height:min(56vh,520px);overflow:auto;padding:2px;overscroll-behavior:contain}
.visit-contact-choice{width:100%;min-height:72px;border:1px solid rgba(232,193,88,.34);border-radius:8px;background:linear-gradient(180deg,rgba(16,12,9,.98),rgba(7,5,4,.99));color:var(--text);padding:10px 12px;display:grid;grid-template-columns:46px minmax(0,1fr) 24px;gap:11px;align-items:center;text-align:left;position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.visit-contact-choice::before{content:"";position:absolute;inset:5px;border:1px solid rgba(232,193,88,.10);border-radius:5px;pointer-events:none}
.visit-contact-avatar{width:46px;height:46px;border:1px solid rgba(240,210,121,.58);border-radius:50%;display:grid;place-items:center;color:var(--gold-bright);background:#0b0806;position:relative;z-index:1}.visit-contact-avatar svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.7}
.visit-contact-copy{min-width:0;position:relative;z-index:1}.visit-contact-copy strong{display:block;font-family:var(--font-display);font-size:1rem;color:#f2dfb5;margin-bottom:4px;overflow-wrap:anywhere}.visit-contact-copy small{display:block;color:var(--muted);font-size:.76rem;line-height:1.3;overflow-wrap:anywhere}
.visit-contact-chevron{position:relative;z-index:1;color:var(--gold-bright);display:grid;place-items:center}.visit-contact-chevron svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9}
.visit-contact-choice.ui2-pressing{transform:translateY(2px) scale(.975);filter:brightness(1.10);border-color:rgba(255,224,136,.90)!important;box-shadow:inset 0 3px 10px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,229,152,.50),0 2px 5px rgba(0,0,0,.28)!important}
.visit-contact-choice.ui2-activated{animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1)}
@media(max-width:430px){.visit-primary-action .action{width:100%}.visit-contact-choice{grid-template-columns:42px minmax(0,1fr) 22px;padding-inline:9px}.visit-contact-avatar{width:42px;height:42px}}

/* v2.56 — native calendar/clock controls and refined study logging. */
.log-date-short{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.native-picker-field{min-height:54px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(232,193,88,.38);border-radius:7px;background:linear-gradient(180deg,rgba(16,12,9,.98),rgba(7,5,4,.99));color:var(--gold-bright);position:relative;overflow:hidden}
.native-picker-field:focus-within{border-color:rgba(240,210,121,.82);box-shadow:inset 0 0 0 1px rgba(240,210,121,.24),0 0 10px rgba(232,193,88,.08)}
.native-picker-icon{display:grid;place-items:center;color:var(--gold-bright)}
.native-picker-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8}
.native-picker-label{display:none}
.native-picker-input{width:100%;min-width:0;height:38px;padding:6px 8px;border:0!important;outline:0;background:transparent!important;color:#f2dfb5!important;font-family:var(--font-display);font-size:1rem;color-scheme:dark;-webkit-appearance:auto;appearance:auto}
.native-picker-input::-webkit-calendar-picker-indicator{opacity:.92;filter:sepia(1) saturate(1.3) brightness(1.35);cursor:pointer}
.study-publication-list{grid-template-columns:1fr;max-height:300px}
@media(max-width:430px){.native-picker-field{grid-template-columns:30px minmax(0,1fr);padding-inline:8px}.native-picker-input{font-size:.94rem}}

/* v2.59 — UI2 Phase 2C Ministry Map credit polish. */
.map-page{overflow:visible}
.map-search-panel{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 68px;margin:2px 0 12px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:linear-gradient(180deg,rgba(17,13,10,.98),rgba(6,5,4,.99));box-shadow:inset 0 1px 0 rgba(255,241,196,.08),0 10px 20px rgba(0,0,0,.22)}
.map-search-panel::before{content:"";position:absolute;inset:4px;border:1px solid rgba(232,193,88,.14);border-radius:6px;pointer-events:none}
.map-search-wrap{position:relative;min-height:64px;border-right:1px solid rgba(232,193,88,.22);display:flex;align-items:center}.map-search-wrap>svg{position:absolute;left:18px;width:27px;height:27px;stroke:var(--gold-bright);fill:none;stroke-width:1.7;pointer-events:none}.map-search-wrap input{width:100%;height:64px;border:0;outline:0;background:transparent;color:var(--text);padding:0 14px 0 55px;font-size:1rem}.map-search-wrap input::placeholder{color:#8f7a57;opacity:1}
.map-search-reset{position:relative;border:0;background:transparent;color:var(--gold-bright);display:grid;place-items:center}.map-search-reset svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.75}
.map-filter-row{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.map-filter{min-width:0;min-height:50px;padding:7px 5px;border:1px solid rgba(232,193,88,.42);border-radius:8px;color:#d1bd93;background:linear-gradient(180deg,rgba(20,15,12,.96),rgba(7,6,5,.99));font-family:var(--font-display);font-size:.67rem;font-weight:700;text-transform:uppercase;line-height:1.08}.map-filter.active{color:var(--gold-bright);border-color:rgba(240,210,121,.78);background:radial-gradient(circle at 50% 0%,rgba(255,226,141,.11),transparent 44%),linear-gradient(180deg,rgba(201,150,50,.11),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.34),0 0 10px rgba(232,193,88,.09)}
.map-summary-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;margin-bottom:12px;border:1px solid rgba(232,193,88,.28);border-radius:8px;background:#090705;color:var(--muted);font-size:.78rem;line-height:1.3}.map-summary-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.map-small-action{min-height:36px;padding:6px 9px;border:1px solid rgba(232,193,88,.42);border-radius:7px;background:#100c08;color:#e4cf9f;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:var(--font-display);font-size:.69rem;font-weight:700}.map-small-action svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}.map-small-action:disabled{opacity:.44}
.ui2-map-shell{position:relative;z-index:1;min-height:365px;border:1px solid rgba(232,193,88,.58);border-radius:10px;overflow:hidden;background:#080705;box-shadow:inset 0 0 0 5px #080604,inset 0 0 0 6px rgba(232,193,88,.15),0 14px 28px rgba(0,0,0,.34)}.ui2-map-shell::before{content:"";position:absolute;inset:5px;border:1px solid rgba(232,193,88,.13);border-radius:6px;pointer-events:none;z-index:550}.ui2-map-canvas{width:100%;height:365px;background:radial-gradient(circle at 50% 35%,#1b1810,#060504 72%)}
.ui2-map-canvas.leaflet-container{font-family:var(--font-body);background:#090806}.ui2-map-canvas .leaflet-tile-pane{filter:saturate(.42) sepia(.15) brightness(.72) contrast(1.13)}.ui2-map-canvas .leaflet-control-zoom{border:1px solid rgba(232,193,88,.55)!important;box-shadow:0 8px 18px rgba(0,0,0,.35)!important}.ui2-map-canvas .leaflet-control-zoom a{background:#100c08!important;color:var(--gold-bright)!important;border-bottom-color:rgba(232,193,88,.28)!important}.ui2-map-canvas .leaflet-control-zoom a:last-child{border-bottom:0!important}.ui2-map-canvas .leaflet-tooltip{background:#0b0806;color:#f1deb4;border:1px solid rgba(232,193,88,.62);box-shadow:0 8px 18px rgba(0,0,0,.35);font-family:var(--font-display);font-weight:700}.ui2-map-canvas .leaflet-tooltip-top::before{border-top-color:rgba(232,193,88,.62)}
.ui2-map-overlay{position:absolute;inset:6px;z-index:540;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:22px;text-align:center;background:rgba(5,4,3,.86);color:#ead8ae;backdrop-filter:blur(3px)}.ui2-map-overlay.is-hidden{display:none}.ui2-map-overlay>svg{width:38px;height:38px;stroke:#e7aa9d;fill:none;stroke-width:1.7}.map-loader{width:30px;height:30px;border:2px solid rgba(232,193,88,.24);border-top-color:var(--gold-bright);border-radius:50%;animation:ui2MapSpin .8s linear infinite}@keyframes ui2MapSpin{to{transform:rotate(360deg)}}
.ui2-map-legend{position:absolute;z-index:530;left:12px;right:12px;bottom:11px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:7px 9px;border:1px solid rgba(232,193,88,.32);border-radius:7px;background:rgba(7,5,4,.87);backdrop-filter:blur(4px);font-size:.65rem;color:#ddc99d}.ui2-map-legend span{display:inline-flex;align-items:center;gap:5px}.ui2-map-legend i,.map-contact-group h4 i{width:9px;height:9px;border-radius:50%;background:var(--gold-bright);box-shadow:0 0 8px currentColor}.ui2-map-legend i.study,.map-contact-group h4 i.study{background:#76d59a;color:#76d59a}.ui2-map-legend i.followup,.map-contact-group h4 i.followup{background:#c08ad7;color:#c08ad7}.ui2-map-legend i.contact,.map-contact-group h4 i.contact{background:#e8c45e;color:#e8c45e}.ui2-map-legend i.paused,.map-contact-group h4 i.paused{background:#aaa18e;color:#aaa18e}
.ui2-map-pin-wrap{background:transparent!important;border:0!important}.ui2-map-pin{position:relative;width:30px;height:30px;border:2px solid #f3d77f;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#0a0705;box-shadow:0 3px 9px rgba(0,0,0,.7),inset 0 0 0 3px rgba(232,193,88,.12)}.ui2-map-pin::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#e8c45e;box-shadow:0 0 10px rgba(232,196,94,.7)}.ui2-map-pin.study{border-color:#8fe0aa}.ui2-map-pin.study::after{background:#76d59a;box-shadow:0 0 10px rgba(118,213,154,.72)}.ui2-map-pin.followup{border-color:#d8a3eb}.ui2-map-pin.followup::after{background:#c08ad7;box-shadow:0 0 10px rgba(192,138,215,.72)}.ui2-map-pin.paused{border-color:#c1baa9}.ui2-map-pin.paused::after{background:#aaa18e;box-shadow:0 0 8px rgba(170,161,142,.58)}.ui2-map-pin.selected{transform:rotate(-45deg) scale(1.18);filter:brightness(1.18);box-shadow:0 0 0 4px rgba(255,224,136,.18),0 4px 13px rgba(0,0,0,.76)}
.map-preview-slot:empty{display:none}.map-contact-preview{position:relative;overflow:hidden;margin-bottom:16px;padding:16px;border:1px solid rgba(232,193,88,.52);border-radius:10px;background:linear-gradient(180deg,rgba(18,13,9,.99),rgba(7,5,4,.99));box-shadow:inset 0 1px 0 rgba(255,241,196,.07),0 12px 24px rgba(0,0,0,.27)}.map-contact-preview::before{content:"";position:absolute;inset:5px;border:1px solid rgba(232,193,88,.12);border-radius:6px;pointer-events:none}.map-contact-preview.study{border-color:rgba(118,213,154,.68)}.map-contact-preview.followup{border-color:rgba(192,138,215,.66)}.map-contact-preview.paused{border-color:rgba(170,161,142,.58)}.map-preview-top{position:relative;z-index:1;display:flex;align-items:center;gap:12px}.map-preview-pin{width:48px;height:48px;border:1px solid rgba(232,193,88,.68);border-radius:50%;display:grid;place-items:center;color:var(--gold-bright);background:#090705}.map-preview-pin svg{width:27px;height:27px;stroke:currentColor;fill:none;stroke-width:1.75}.map-preview-pin.study{color:#76d59a;border-color:rgba(118,213,154,.75)}.map-preview-pin.followup{color:#c08ad7;border-color:rgba(192,138,215,.74)}.map-preview-pin.paused{color:#aaa18e;border-color:rgba(170,161,142,.70)}.map-preview-top h3{margin:0 0 5px;font-family:var(--font-display);font-size:1.35rem;color:#f4e2b7}.map-type-badge{display:inline-flex;padding:4px 8px;border:1px solid rgba(232,193,88,.46);border-radius:999px;color:var(--gold-bright);font-size:.7rem}.map-type-badge.study{color:#76d59a;border-color:rgba(118,213,154,.62)}.map-type-badge.followup{color:#c08ad7;border-color:rgba(192,138,215,.60)}.map-type-badge.paused{color:#aaa18e;border-color:rgba(170,161,142,.56)}.map-preview-details{position:relative;z-index:1;margin:12px 0;color:var(--muted);line-height:1.4}.map-preview-details p{margin:4px 0}.map-preview-actions{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-preview-actions .action:last-child{grid-column:1/-1;width:min(100%,300px);justify-self:center}
.map-list-section{position:relative;margin-top:18px}.map-list-section>.section-heading{margin-bottom:9px}.map-list-section>.section-heading h3{font-size:1rem}.map-section-copy{margin:-3px 0 10px;color:var(--muted);font-size:.78rem;line-height:1.4}.map-contact-groups,.map-location-list{display:grid;gap:14px}.map-contact-group{display:grid;gap:8px}.map-contact-group h4{display:flex;align-items:center;gap:8px;margin:0;padding:0 3px;color:#e3cfa3;font-family:var(--font-display);font-size:.83rem;text-transform:uppercase;letter-spacing:.03em}.map-contact-group h4 span{margin-left:auto;color:#8f7c59}.map-contact-list{display:grid;gap:9px}
.map-contact-card{position:relative;overflow:hidden;border:1px solid rgba(232,193,88,.38);border-radius:9px;background:linear-gradient(180deg,rgba(16,12,9,.98),rgba(6,5,4,.99));box-shadow:inset 0 1px 0 rgba(255,241,196,.06),0 8px 18px rgba(0,0,0,.20)}.map-contact-card.study,.map-location-card.study{border-color:rgba(118,213,154,.55)}.map-contact-card.followup,.map-location-card.followup{border-color:rgba(192,138,215,.54)}.map-contact-card.paused,.map-location-card.paused{border-color:rgba(170,161,142,.48)}.map-contact-main{width:100%;border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:43px minmax(0,1fr) 22px;gap:10px;align-items:center;padding:12px;text-align:left}.map-card-pin{width:43px;height:43px;border:1px solid rgba(232,193,88,.58);border-radius:50%;display:grid;place-items:center;color:var(--gold-bright);background:#090705}.map-card-pin svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8}.map-card-pin.study{color:#76d59a;border-color:rgba(118,213,154,.68)}.map-card-pin.followup{color:#c08ad7;border-color:rgba(192,138,215,.66)}.map-card-pin.paused{color:#aaa18e;border-color:rgba(170,161,142,.64)}.map-card-copy{min-width:0}.map-card-copy strong{display:block;color:#f1deb3;font-family:var(--font-display);font-size:1rem;margin-bottom:3px}.map-card-copy small{display:block;color:var(--muted);font-size:.72rem;line-height:1.3;overflow-wrap:anywhere}.map-card-copy .map-card-date{color:#bba579;margin-top:3px}.map-card-chevron{color:var(--gold-bright)}.map-card-chevron svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.9}.map-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(232,193,88,.18)}.map-inline-action{min-height:38px;border:0;border-right:1px solid rgba(232,193,88,.18);background:#0b0806;color:#d8c499;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:.72rem;font-weight:700}.map-inline-action:last-child{border-right:0}
.map-location-warning-section{padding-top:4px}.map-location-card{position:relative;overflow:hidden;padding:13px;border:1px solid rgba(223,154,144,.46);border-radius:9px;background:linear-gradient(180deg,rgba(20,12,10,.96),rgba(7,5,4,.99));display:grid;gap:11px}.map-location-copy strong{display:block;color:#f1deb3;font-family:var(--font-display);font-size:1rem}.map-location-copy>span{display:inline-block;margin-top:3px;color:#c9b58e;font-size:.72rem}.map-location-copy p{margin:8px 0 3px;color:#e2afa6;font-size:.78rem;line-height:1.4}.map-location-copy small{color:var(--muted);line-height:1.35}.map-location-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-location-actions .action{min-height:46px;padding:8px;font-size:.75rem}
.map-filter,.map-search-reset,.map-small-action,.map-contact-main,.map-inline-action,.map-contact-card,.map-location-card{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.map-filter.ui2-pressing,.map-search-reset.ui2-pressing,.map-small-action.ui2-pressing,.map-contact-main.ui2-pressing,.map-inline-action.ui2-pressing{transform:translateY(2px) scale(.975);filter:brightness(1.10)}.map-filter.ui2-activated,.map-search-reset.ui2-activated,.map-small-action.ui2-activated,.map-contact-main.ui2-activated,.map-inline-action.ui2-activated{animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1)}
@media(max-width:430px){.map-summary-bar{align-items:flex-start;flex-direction:column}.map-summary-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.map-small-action{width:100%}.ui2-map-shell,.ui2-map-canvas{height:340px;min-height:340px}.map-filter{font-size:.59rem;padding-inline:3px}.map-preview-actions{grid-template-columns:1fr 1fr}.map-location-actions{grid-template-columns:1fr}.ui2-map-legend{gap:6px;font-size:.58rem}}
@media(max-width:370px){.map-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.map-preview-actions{grid-template-columns:1fr}.map-preview-actions .action:last-child{grid-column:auto;width:100%}.map-search-panel{grid-template-columns:minmax(0,1fr) 58px}}


/* v2.61 Follow-up publication picker linked to Teaching Toolbox */
.visit-section-note{margin:-2px 0 0!important;color:var(--muted);font-size:.82rem;line-height:1.35}
.visit-resource-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;padding:12px;border:1px dashed rgba(232,193,88,.30);border-radius:7px;background:rgba(8,6,5,.72);color:var(--muted)}
.visit-resource-empty strong{color:#e8d5ad;font-family:var(--font-display);font-size:.88rem}.visit-resource-empty span{font-size:.76rem}
.visit-toolbox-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:3px}.visit-toolbox-link>span{color:var(--muted);font-size:.78rem;line-height:1.3}.visit-toolbox-link .action{flex:0 0 auto;min-height:40px;width:auto;padding:8px 11px}
.settings-subheading{margin:18px 0 6px;color:var(--gold-bright);font-family:var(--font-display);font-size:1.05rem}.toolbox-publication-list{margin-bottom:12px}
@media(max-width:430px){.visit-toolbox-link{align-items:stretch;flex-direction:column}.visit-toolbox-link .action{width:100%}}

/* v2.62 — Teaching Toolbox choices, study lessons, and swipe navigation. */
.swipe-hint{position:relative;z-index:2;margin:0 0 12px;text-align:center;color:#a99772;font-family:var(--font-display);font-size:.72rem;letter-spacing:.025em;line-height:1.3;user-select:none}
.visit-swipe-hint{margin-top:-2px}
.visits-page,.contact-swipe-shell{touch-action:pan-y}
.main-menu,.sub-menu{touch-action:pan-y}
.contact-swipe-shell{will-change:transform,opacity}
.contact-swipe-shell.swipe-from-left{animation:ui2ContactFromRight .22s ease-out}
.contact-swipe-shell.swipe-from-right{animation:ui2ContactFromLeft .22s ease-out}
@keyframes ui2ContactFromRight{from{opacity:.45;transform:translateX(26px)}to{opacity:1;transform:translateX(0)}}
@keyframes ui2ContactFromLeft{from{opacity:.45;transform:translateX(-26px)}to{opacity:1;transform:translateX(0)}}
.study-lesson-grid{grid-template-columns:repeat(5,minmax(0,1fr));max-height:250px;overflow-y:auto;padding:2px;overscroll-behavior:contain}
.study-lesson-choice{font-family:var(--font-display);font-weight:700;font-size:.82rem}
.study-lesson-choice:last-child{grid-column:span 2}
.study-other-lesson{margin-top:2px}
@media(max-width:390px){.study-lesson-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.study-lesson-choice:last-child{grid-column:span 2}}


/* v2.64 — compact Teaching Toolbox dropdowns. */
.visit-resource-dropdown,.settings-toolbox-dropdown{position:relative;border:1px solid rgba(232,193,88,.42);border-radius:8px;background:#090705;overflow:hidden}
.visit-resource-dropdown>summary,.settings-toolbox-dropdown>summary{min-height:52px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#ead6a8;font-family:var(--font-display);font-weight:700;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.visit-resource-dropdown>summary::-webkit-details-marker,.settings-toolbox-dropdown>summary::-webkit-details-marker{display:none}
.visit-resource-dropdown>summary svg,.settings-toolbox-dropdown>summary svg{width:21px;height:21px;flex:0 0 auto;stroke:var(--gold-bright);fill:none;stroke-width:1.9;transition:transform .18s ease}
.visit-resource-dropdown[open]>summary svg,.settings-toolbox-dropdown[open]>summary svg{transform:rotate(90deg)}
.visit-resource-dropdown[open]>summary,.settings-toolbox-dropdown[open]>summary{border-bottom:1px solid rgba(232,193,88,.24);background:linear-gradient(180deg,rgba(201,150,50,.10),rgba(7,6,5,.99))}
.visit-resource-menu{display:grid;gap:7px;max-height:285px;overflow-y:auto;padding:9px;overscroll-behavior:contain}
.visit-resource-menu .visit-resource-choice{width:100%}
.settings-toolbox-dropdown{margin:9px 0 13px}
.settings-toolbox-dropdown .toolbox-publication-list{margin:0;padding:9px;max-height:310px;overflow-y:auto;overscroll-behavior:contain}
.settings-toolbox-dropdown .detail-row{border-radius:6px}


/* v2.65 — lesson selector opens a compact in-app list, not a native picker. */
.study-lesson-dropdown{position:relative;border:1px solid rgba(232,193,88,.42);border-radius:8px;background:#090705;overflow:hidden}
.study-lesson-dropdown>summary{min-height:52px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#ead6a8;font-family:var(--font-display);font-weight:700;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.study-lesson-dropdown>summary::-webkit-details-marker{display:none}
.study-lesson-dropdown>summary svg{width:21px;height:21px;flex:0 0 auto;stroke:var(--gold-bright);fill:none;stroke-width:1.9;transition:transform .18s ease}
.study-lesson-dropdown[open]>summary svg{transform:rotate(90deg)}
.study-lesson-dropdown[open]>summary{border-bottom:1px solid rgba(232,193,88,.24);background:linear-gradient(180deg,rgba(201,150,50,.10),rgba(7,6,5,.99))}
.study-lesson-dropdown[data-disabled="true"]>summary{color:#81745d;pointer-events:none}
.study-lesson-list{display:grid;max-height:300px;overflow-y:auto;padding:7px;overscroll-behavior:contain}
.study-lesson-list-choice{min-height:46px;width:100%;padding:10px 12px;border:0;border-bottom:1px solid rgba(232,193,88,.16);background:#090705;color:#e8d5ad;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-family:var(--font-display);font-weight:700}
.study-lesson-list-choice:last-child{border-bottom:0}
.study-lesson-list-choice svg{width:18px;height:18px;stroke:var(--gold-bright);fill:none;stroke-width:1.8}
.study-lesson-list-choice.active{background:linear-gradient(90deg,rgba(201,150,50,.18),rgba(9,7,5,.98));color:#ffe6a1}
.study-lesson-empty{padding:14px;color:var(--muted);font-size:.82rem;line-height:1.35}

/* v2.66 — edit and delete individual Bible Study and follow-up history entries. */
.history-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.history-card-header h4{margin:0;min-width:0}
.history-card-actions{display:flex;flex:0 0 auto;gap:7px}
.history-action{position:relative;overflow:hidden;isolation:isolate;min-height:38px;border:1px solid rgba(232,193,88,.34);border-radius:6px;background:linear-gradient(180deg,rgba(19,14,10,.98),rgba(7,6,5,.99));color:#d8c49b;padding:7px 9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-display);font-size:.74rem;font-weight:700;transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease}
.history-action svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}
.history-action.danger{color:#e8a6a6;border-color:rgba(206,107,107,.42)}
.history-action.ui2-pressing{transform:translateY(2px) scale(.975);filter:brightness(1.10);border-color:rgba(255,224,136,.90)!important;box-shadow:inset 0 3px 10px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,229,152,.50),0 2px 5px rgba(0,0,0,.28)!important}
.history-action.ui2-activated{animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1)}
@media(max-width:430px){.history-card-header{display:grid}.history-card-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.history-action{width:100%}}

/* v2.67 — UI2 Phase 3A Ministry Time and Service at a Glance. */
.time-page{overflow:visible}.time-month-controls,.time-year-controls{position:relative;z-index:2;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:8px;align-items:stretch;margin:2px 0 14px}.time-month-shift,.time-year-shift{min-height:58px;border:1px solid rgba(232,193,88,.48);border-radius:8px;background:linear-gradient(180deg,rgba(20,15,11,.98),rgba(7,5,4,.99));color:var(--gold-bright);font-family:var(--font-display);font-size:1.75rem;line-height:1}.time-month-picker{min-height:58px}.time-year-controls strong{min-height:58px;border:1px solid rgba(232,193,88,.48);border-radius:8px;background:linear-gradient(180deg,rgba(20,15,11,.98),rgba(7,5,4,.99));color:#f1ddb0;display:grid;place-items:center;padding:8px;text-align:center;font-family:var(--font-display);font-size:1rem}.time-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.time-metrics .metric{min-height:112px}.time-goal-card,.time-chart-panel{position:relative;z-index:1;margin:14px 0;padding:15px;border:1px solid rgba(232,193,88,.42);border-radius:9px;background:linear-gradient(180deg,rgba(18,13,9,.98),rgba(7,5,4,.99));box-shadow:inset 0 0 0 4px rgba(8,6,4,.96),inset 0 0 0 5px rgba(232,193,88,.10)}.time-card-kicker{display:block;color:#bca779;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.time-goal-card strong{display:block;color:#f0dba9;font-family:var(--font-display);font-size:1.1rem}.time-goal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}.time-goal-header>span{color:var(--gold-bright);font-family:var(--font-display);font-size:.78rem;font-weight:700;text-align:right}.time-goal-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;color:var(--muted);font-size:.76rem}.time-goal-footer .action,.time-goal-card>.row-between .action{width:auto;min-height:40px;padding:8px 11px}.time-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.time-study-note{margin:12px 0}.time-list-heading{margin:18px 0 10px}.time-list-heading>span{color:var(--muted);font-size:.72rem}.time-entry-list{display:grid;gap:10px}.time-entry-card{position:relative;overflow:hidden;padding:13px;border:1px solid rgba(232,193,88,.34);border-radius:8px;background:linear-gradient(180deg,rgba(16,12,9,.98),rgba(7,5,4,.99));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.time-entry-card::before{content:"";position:absolute;inset:4px;border:1px solid rgba(232,193,88,.10);border-radius:5px;pointer-events:none}.time-entry-copy,.time-entry-actions{position:relative;z-index:1}.time-entry-type{display:inline-block;color:#b9a477;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}.time-entry-copy h3{margin:3px 0 4px;color:#f1ddb0;font-family:var(--font-display);font-size:1rem}.time-entry-copy p{margin:0;color:var(--gold-bright);font-family:var(--font-display);font-weight:700}.time-entry-actions{display:flex;gap:7px}.time-inline-action{min-height:42px;padding:7px 9px;border:1px solid rgba(232,193,88,.34);border-radius:6px;background:#0d0906;color:#d9c397;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-display);font-size:.72rem;font-weight:700}.time-inline-action svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}.time-inline-action.danger{color:#e3a0a0;border-color:rgba(206,107,107,.40)}.time-inline-action,.time-month-shift,.time-year-shift,.time-scope-option,.time-goal-option,.time-quick-row button,.service-month-card{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.time-inline-action.ui2-pressing,.time-month-shift.ui2-pressing,.time-year-shift.ui2-pressing,.time-scope-option.ui2-pressing,.time-goal-option.ui2-pressing,.time-quick-row button.ui2-pressing,.service-month-card.ui2-pressing{transform:translateY(2px) scale(.975);filter:brightness(1.10)}.time-entry-form,.time-goal-form{display:grid;gap:12px}.time-scope-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.time-scope-option{min-height:48px;border:1px solid rgba(232,193,88,.34);border-radius:7px;background:#0b0806;color:#cbb78f;font-family:var(--font-display);font-weight:700}.time-scope-option.active{color:var(--gold-bright);border-color:rgba(240,210,121,.78);background:linear-gradient(180deg,rgba(201,150,50,.13),rgba(7,6,5,.99));box-shadow:inset 0 0 0 1px rgba(240,210,121,.24)}.time-duration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.time-duration-grid label,.time-custom-goal,.time-service-year-input{display:grid;gap:6px;color:#d8c49b;font-family:var(--font-display);font-size:.78rem}.time-duration-grid input,.time-custom-goal input,.time-service-year-input input{width:100%;min-height:50px;border:1px solid rgba(232,193,88,.34);border-radius:7px;background:#090705;color:#f1ddb0;padding:9px 11px;font-size:1rem;outline:0}.time-quick-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}.time-quick-row button{min-height:42px;border:1px solid rgba(232,193,88,.30);border-radius:6px;background:#0d0906;color:#d9c397;font-family:var(--font-display);font-size:.72rem;font-weight:700}.time-goal-options{display:grid;gap:8px}.time-goal-option{min-height:64px;padding:10px 12px;border:1px solid rgba(232,193,88,.32);border-radius:7px;background:#090705;color:#d1bd94;text-align:left;display:grid;gap:3px}.time-goal-option strong{color:#ead5aa;font-family:var(--font-display);font-size:.9rem}.time-goal-option span{color:var(--muted);font-size:.72rem}.time-goal-option.active{border-color:rgba(240,210,121,.80);background:linear-gradient(90deg,rgba(201,150,50,.18),rgba(9,7,5,.98));box-shadow:inset 0 0 0 1px rgba(240,210,121,.24)}.time-service-year-input small{color:var(--muted);font-family:var(--font-body);font-size:.7rem}.time-service-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.time-midyear-card{margin:14px 0;padding:16px;border:1px solid rgba(232,193,88,.56);border-radius:9px;background:radial-gradient(circle at 50% 0%,rgba(240,196,76,.15),transparent 45%),linear-gradient(180deg,rgba(24,17,9,.98),rgba(7,5,4,.99));box-shadow:0 0 18px rgba(232,193,88,.08)}.time-midyear-card>span{color:var(--gold-bright);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.time-midyear-card h3{margin:6px 0;color:#f4dfa8;font-family:var(--font-display);font-size:1.3rem}.time-midyear-card p{margin:0;color:var(--muted);line-height:1.5}.time-midyear-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:13px}.time-midyear-stats>div{padding:10px;border:1px solid rgba(232,193,88,.24);border-radius:7px;background:#090705;text-align:center}.time-midyear-stats small{display:block;color:var(--muted);font-size:.62rem}.time-midyear-stats strong{display:block;margin-top:4px;color:#f0dba9;font-family:var(--font-display);font-size:.86rem}.time-trend-chart{height:210px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;align-items:end;padding-top:20px;overflow-x:auto;overscroll-behavior:contain}.time-trend-column{min-width:28px;height:100%;display:grid;grid-template-rows:18px minmax(0,1fr) 18px;gap:4px;align-items:end;text-align:center}.time-trend-value{color:#c9b17d;font-size:.52rem}.time-trend-bar-wrap{height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid rgba(232,193,88,.24)}.time-trend-bar{width:72%;min-height:3px;border:1px solid rgba(240,210,121,.58);border-bottom:0;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#e4c568,#7d571b);box-shadow:0 0 7px rgba(232,193,88,.18)}.time-trend-column>span{color:var(--muted);font-size:.58rem}.service-month-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-month-card{min-height:132px;padding:12px;border:1px solid rgba(232,193,88,.30);border-radius:8px;background:linear-gradient(180deg,rgba(16,12,9,.98),rgba(7,5,4,.99));color:var(--text);text-align:left;display:grid;gap:7px;align-content:start}.service-month-card.current{border-color:rgba(240,210,121,.78);box-shadow:inset 0 0 0 1px rgba(240,210,121,.24),0 0 10px rgba(232,193,88,.10)}.service-month-card>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.service-month-card span{color:#ead5aa;font-family:var(--font-display);font-weight:700}.service-month-card small{color:var(--muted);font-size:.66rem}.service-month-card>strong{color:var(--gold-bright);font-family:var(--font-display);font-size:1.1rem}.service-month-card p{margin:0;color:var(--muted);font-size:.7rem}.mini-goal-track{height:5px;border-radius:99px;background:#161008;overflow:hidden}.mini-goal-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#8c6425,#f0d479)}
@media(max-width:520px){.time-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.time-metrics .metric{padding:10px 8px}.time-metrics .metric-label{font-size:.66rem}.time-metrics .metric-value{font-size:1.55rem}.time-entry-card{grid-template-columns:1fr}.time-entry-actions{display:grid;grid-template-columns:1fr 1fr}.time-inline-action{width:100%}.time-goal-header,.time-goal-footer{align-items:flex-start;flex-direction:column}.time-goal-footer .action{width:100%}.time-midyear-stats{grid-template-columns:1fr}.time-primary-actions{grid-template-columns:1fr}.service-month-grid{grid-template-columns:1fr}.time-service-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:370px){.time-month-controls,.time-year-controls{grid-template-columns:46px minmax(0,1fr) 46px}.time-duration-grid,.time-scope-row,.time-quick-row{grid-template-columns:1fr}.time-service-metrics{grid-template-columns:1fr}}

/* v2.68: OpenStreetMap attribution appears only at the bottom of About. */
.about-map-credit{position:relative;z-index:1;margin-top:24px;padding-top:16px;border-top:1px solid rgba(232,193,88,.18);color:#c9b174;font-size:.72rem;line-height:1.4;text-align:center}

/* v2.69 — completed UI2 Settings and app-wide polish. */
.settings-action-stack{display:grid;gap:10px;margin-top:14px}
.settings-action-stack .action{width:100%;min-height:58px}
.settings-warning{margin-top:14px;color:#e0b1a8;border-color:rgba(223,154,144,.42);background:#130b09}
.settings-toggle-list{display:grid;gap:9px}
.settings-toggle-row{width:100%;min-height:70px;padding:12px 13px;border:1px solid rgba(232,193,88,.30);border-radius:8px;background:linear-gradient(180deg,rgba(15,12,9,.98),rgba(7,5,4,.99));color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;box-shadow:inset 0 1px 0 rgba(255,241,196,.04)}
.settings-toggle-row.active{border-color:rgba(240,210,121,.64);box-shadow:inset 0 0 0 1px rgba(240,210,121,.20),0 0 10px rgba(232,193,88,.06)}
.settings-toggle-copy{min-width:0;display:grid;gap:3px}.settings-toggle-copy strong{font-family:var(--font-display);color:#ead7ad;font-size:1rem}.settings-toggle-copy span{color:var(--muted);font-size:.79rem;line-height:1.35}
.settings-toggle-switch{width:46px;height:25px;flex:0 0 auto;border:1px solid rgba(232,193,88,.40);border-radius:999px;background:#080604;padding:3px;display:flex;align-items:center;transition:background .18s ease,border-color .18s ease}
.settings-toggle-switch span{width:17px;height:17px;border-radius:50%;background:#806a42;box-shadow:0 1px 4px rgba(0,0,0,.55);transition:transform .18s ease,background .18s ease}
.settings-toggle-row.active .settings-toggle-switch{background:rgba(201,154,51,.22);border-color:var(--gold-bright)}
.settings-toggle-row.active .settings-toggle-switch span{transform:translateX(20px);background:var(--gold-bright);box-shadow:0 0 8px rgba(240,212,137,.24)}
.appearance-choice{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:13px;align-items:center;margin-top:11px;padding:13px;border:1px solid rgba(232,193,88,.28);border-radius:8px;background:#090705}
.appearance-choice.active{border-color:rgba(240,210,121,.56);box-shadow:inset 0 0 0 1px rgba(240,210,121,.14)}
.appearance-choice>div{min-width:0}.appearance-choice strong{display:block;color:#ead7ad;font-family:var(--font-display)}.appearance-choice>div>span{display:block;margin-top:3px;color:var(--muted);font-size:.79rem;line-height:1.35}
.appearance-choice .action{min-height:44px;padding:8px 11px}
.appearance-swatch{width:54px;height:54px;border:1px solid rgba(240,210,121,.55);border-radius:7px;box-shadow:inset 0 0 0 4px rgba(0,0,0,.25)}
.black-gold-swatch{background:radial-gradient(circle at 50% 0%,rgba(240,212,137,.22),transparent 42%),linear-gradient(145deg,#1d160c,#060504 68%)}
.futuristic-swatch{border-color:rgba(120,226,255,.7);background:radial-gradient(circle at 38% 22%,rgba(163,241,255,.50),transparent 28%),linear-gradient(145deg,#153d58,#07111d 72%)}
.appearance-active-label{color:var(--gold-bright);font-family:var(--font-display);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.settings-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:9px 0 16px;border:1px solid rgba(232,193,88,.48);border-radius:8px;overflow:hidden;background:#080604}
.settings-segmented button{min-height:52px;border:0;border-right:1px solid rgba(232,193,88,.23);background:transparent;color:var(--muted);font-family:var(--font-display);font-weight:700;padding:8px 5px}.settings-segmented button:last-child{border-right:0}.settings-segmented button.active{color:var(--gold-bright);background:linear-gradient(180deg,rgba(201,150,50,.13),rgba(7,6,5,.98));box-shadow:inset 0 0 0 1px rgba(240,210,121,.30)}
.toolbox-manage-list{display:grid;gap:8px;padding:9px;max-height:none;overflow:visible;overscroll-behavior:auto}
.toolbox-manage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid rgba(232,193,88,.22);border-radius:7px;background:#090705}.toolbox-manage-row>div:first-child{min-width:0}.toolbox-manage-row strong{display:block;color:#ead7ad;overflow-wrap:anywhere}.toolbox-manage-row span{display:block;color:var(--muted);font-size:.76rem;margin-top:3px}
.toolbox-manage-actions{display:flex;gap:7px}.toolbox-manage-actions button{width:42px;height:42px;border:1px solid rgba(232,193,88,.42);border-radius:7px;background:#100c08;color:var(--gold-bright);display:grid;place-items:center}.toolbox-manage-actions button.danger{color:var(--danger);border-color:rgba(223,154,144,.45)}.toolbox-manage-actions svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.settings-help-list{display:grid;gap:9px}.settings-help-list details{border:1px solid rgba(232,193,88,.28);border-radius:8px;background:#090705;overflow:hidden}.settings-help-list summary{min-height:54px;padding:12px 14px;display:flex;align-items:center;color:#ead7ad;font-family:var(--font-display);font-weight:700;cursor:pointer;list-style:none}.settings-help-list summary::-webkit-details-marker{display:none}.settings-help-list summary::after{content:'›';margin-left:auto;color:var(--gold-bright);font-size:1.35rem;transition:transform .18s ease}.settings-help-list details[open] summary::after{transform:rotate(90deg)}.settings-help-list details[open] summary{border-bottom:1px solid rgba(232,193,88,.20)}.settings-help-list p{margin:0;padding:13px 14px 15px}
.about-copy{margin-top:16px!important}
.settings-toggle-row,.settings-segmented button,.toolbox-manage-actions button{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.settings-toggle-row.ui2-pressing,.settings-segmented button.ui2-pressing,.toolbox-manage-actions button.ui2-pressing{transform:translateY(2px) scale(.975);filter:brightness(1.1);border-color:rgba(255,224,136,.90)!important}
.settings-toggle-row.ui2-activated,.settings-segmented button.ui2-activated,.toolbox-manage-actions button.ui2-activated{animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1)}
@media(max-width:560px){.appearance-choice{grid-template-columns:50px minmax(0,1fr)}.appearance-choice>.action,.appearance-active-label{grid-column:1/-1;width:100%}.appearance-active-label{text-align:center}.settings-segmented button{font-size:.72rem}.toolbox-manage-row{grid-template-columns:minmax(0,1fr)}.toolbox-manage-actions{justify-content:flex-end}}


/* v2.71 — Settings category bar supports both free drag scrolling and quick one-category swipes. */
.settings-sub-menu{
  scroll-snap-type:none!important;
  touch-action:pan-y!important;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
}
.settings-sub-menu.ui2-settings-dragging{cursor:grabbing;scroll-behavior:auto!important}
.settings-sub-menu .settings-menu-button{touch-action:pan-y!important}
.ui2-settings-active #viewRoot{padding-bottom:calc(132px + var(--safe-bottom))}
.ui2-settings-active .app-shell{padding-bottom:calc(120px + var(--safe-bottom))}
.settings-scroll-end{height:calc(84px + var(--safe-bottom))}

/* v2.73 — complete contact sharing, Make Disciples JSON transfer, and contact import. */
.contact-bottom-actions{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
.contact-bottom-actions .action{width:100%;min-height:68px}
.contact-import svg{width:27px;height:27px}
.share-review-section{display:grid;gap:11px}
.share-review-section+.share-review-section{margin-top:18px;padding-top:17px;border-top:1px solid rgba(232,193,88,.20)}
.share-review-section h4{margin:0;color:var(--gold-bright);font-family:var(--font-display);font-size:1.18rem}
.share-review-note{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}
.share-method-list{display:grid;gap:9px}
.share-method{position:relative;overflow:hidden;isolation:isolate;width:100%;min-height:76px;padding:11px 12px;border:1px solid rgba(232,193,88,.36);border-radius:8px;background:linear-gradient(180deg,rgba(18,13,9,.98),rgba(7,5,4,.99));color:var(--text);display:grid;grid-template-columns:42px minmax(0,1fr) 21px;gap:11px;align-items:center;text-align:left;box-shadow:inset 0 1px 0 rgba(255,241,196,.05)}
.share-method.primary{border-color:rgba(240,210,121,.70);box-shadow:inset 0 0 0 1px rgba(240,210,121,.20),0 0 10px rgba(232,193,88,.07)}
.share-method-icon{width:42px;height:42px;border:1px solid rgba(232,193,88,.40);border-radius:7px;background:#0b0805;display:grid;place-items:center;color:var(--gold-bright)}
.share-method-icon svg,.share-method>svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}
.share-method-copy{min-width:0;display:grid;gap:4px}.share-method-copy strong{color:#ead7ad;font-family:var(--font-display);font-size:1rem}.share-method-copy small{color:var(--muted);font-size:.75rem;line-height:1.35}
.share-method>svg{color:var(--gold-bright)}
.share-status{padding:11px 12px;border:1px solid rgba(232,193,88,.30);border-radius:7px;background:#0b0806;color:var(--muted);font-size:.8rem;line-height:1.35}
.share-status.success{color:#a9dfb9;border-color:rgba(121,211,156,.42);background:rgba(22,67,42,.18)}
.share-status.error{color:#e7aaa3;border-color:rgba(220,128,118,.44);background:rgba(78,26,20,.18)}
.share-status.working{color:#ead7ad}
.share-status.is-hidden{display:none}
.share-outcome-intro{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:14px}.share-outcome-intro p{margin:0;color:var(--muted);line-height:1.45}.share-outcome-check{width:46px;height:46px;border:1px solid rgba(121,211,156,.55);border-radius:50%;display:grid;place-items:center;color:#9fe0b5;background:rgba(28,89,55,.18);font-size:1.35rem;font-weight:700}
.share-outcome-list{display:grid;gap:9px}.share-outcome-button{min-height:72px;width:100%;padding:12px 13px;border:1px solid rgba(232,193,88,.34);border-radius:8px;background:linear-gradient(180deg,rgba(18,13,9,.98),rgba(7,5,4,.99));color:var(--text);display:grid;gap:4px;text-align:left}.share-outcome-button strong{font-family:var(--font-display);color:#ead7ad;font-size:1rem}.share-outcome-button small{color:var(--muted);font-size:.75rem;line-height:1.35}.share-outcome-button.primary{border-color:rgba(240,210,121,.68)}.share-outcome-button.danger{border-color:rgba(220,128,118,.48)}.share-outcome-button.danger strong{color:#e8aaa3}
.share-method,.share-outcome-button,.contact-import{transition:transform .09s ease,filter .12s ease,border-color .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.share-method.ui2-pressing,.share-outcome-button.ui2-pressing,.contact-import.ui2-pressing{transform:translateY(2px) scale(.975);filter:brightness(1.10);border-color:rgba(255,224,136,.90)!important;box-shadow:inset 0 3px 10px rgba(0,0,0,.58),inset 0 0 0 1px rgba(255,229,152,.50),0 2px 5px rgba(0,0,0,.28)!important}
.share-method.ui2-activated,.share-outcome-button.ui2-activated,.contact-import.ui2-activated{animation:ui2TapRelease .30s cubic-bezier(.2,.72,.25,1)}
@media(max-width:430px){.contact-bottom-actions{grid-template-columns:1fr}.share-method{grid-template-columns:40px minmax(0,1fr) 19px}.share-method-icon{width:40px;height:40px}}

/* v2.74 — stable share selection, import confirmation, and startup scroll correction. */
.share-option,
.share-option.active,
.share-option.required{
  -webkit-appearance:none;
  appearance:none;
  background:#090705!important;
  color:#ead7ad!important;
}
.share-option{border-color:rgba(232,193,88,.40)!important;box-shadow:inset 0 1px 0 rgba(255,241,196,.035)!important}
.share-option.active{border-color:rgba(240,210,121,.76)!important;box-shadow:inset 0 0 0 1px rgba(240,210,121,.18),0 0 9px rgba(232,193,88,.05)!important}
.share-option .share-check{
  background:#090705!important;
  color:transparent!important;
  border-color:rgba(232,193,88,.44)!important;
  box-shadow:none!important;
}
.share-option.active .share-check,
.share-option.required .share-check{
  background:#090705!important;
  color:var(--gold-bright)!important;
  border-color:rgba(240,210,121,.82)!important;
  box-shadow:inset 0 0 0 1px rgba(240,210,121,.16),0 0 7px rgba(232,193,88,.06)!important;
}
.share-option small{color:#a99772!important}
.share-method.primary{border-color:rgba(232,193,88,.36)!important;box-shadow:inset 0 1px 0 rgba(255,241,196,.05)!important}
.import-confirmation{display:grid;grid-template-columns:52px minmax(0,1fr);gap:14px;align-items:start}
.import-confirmation-check{width:52px;height:52px;border:1px solid rgba(240,210,121,.70);border-radius:50%;display:grid;place-items:center;background:#090705;color:var(--gold-bright);font-size:1.45rem;font-weight:800;box-shadow:inset 0 0 0 1px rgba(240,210,121,.14),0 0 10px rgba(232,193,88,.05)}
.import-confirmation h4{margin:0 0 7px;color:var(--gold-bright);font-family:var(--font-display);font-size:1.18rem}
.import-confirmation p{margin:0 0 7px;color:var(--muted);line-height:1.45}


/* v2.75 — Settings always opens at Backup, every section opens at the page top, and category swipe switching is removed. */
.settings-sub-menu{
  scroll-snap-type:none!important;
  touch-action:pan-x pan-y!important;
  cursor:auto!important;
  user-select:auto!important;
  -webkit-user-select:auto!important;
  scroll-behavior:auto!important;
}
.settings-sub-menu .settings-menu-button{touch-action:pan-x pan-y!important}
.settings-sub-menu.ui2-settings-dragging{cursor:auto!important}


/* ================================================================
   v3.03 — Black & Gold Settings + Time completion and raw-SVG repair
   ================================================================ */
.settings-hero{
  position:relative;z-index:1;margin:0 0 14px;padding:16px 17px;
  border:1px solid rgba(232,193,88,.44);border-radius:10px;
  background:linear-gradient(180deg,rgba(20,15,11,.98),rgba(7,5,4,.99));
  box-shadow:inset 0 0 0 4px rgba(6,5,4,.92),inset 0 0 0 5px rgba(232,193,88,.10)
}
.settings-hero>div{min-width:0}
.settings-eyebrow{display:block;margin-bottom:5px;color:#bba574;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.settings-hero h3{margin:0;color:var(--gold-bright);font-family:var(--font-display);font-size:clamp(1.45rem,5vw,2rem);line-height:1.08}
.settings-hero p{margin:7px 0 0;color:var(--muted);font-size:.86rem;line-height:1.42}
.settings-block{
  position:relative;z-index:1;margin:0 0 14px;padding:15px;
  border:1px solid rgba(232,193,88,.38);border-radius:10px;
  background:linear-gradient(180deg,rgba(16,12,9,.98),rgba(7,5,4,.99));
  box-shadow:inset 0 0 0 4px rgba(6,5,4,.94),inset 0 0 0 5px rgba(232,193,88,.09)
}
.settings-block-head{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(232,193,88,.18)}
.settings-block-head h4{margin:0;color:#ead7ad;font-family:var(--font-display);font-size:1.12rem}
.settings-block-head p{margin:5px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}
.settings-status-card{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:center;gap:0;
  margin-bottom:10px;padding:13px 14px;border:1px solid rgba(232,193,88,.34);border-radius:8px;
  background:linear-gradient(180deg,rgba(20,15,10,.98),rgba(8,6,4,.99));
  box-shadow:inset 0 1px 0 rgba(255,240,190,.05)
}
.settings-status-card small,.settings-status-card strong,.settings-status-card div>span{display:block}
.settings-status-card small{color:#aa966d;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.settings-status-card strong{margin-top:4px;color:#f0dba9;font-family:var(--font-display);font-size:1.03rem;overflow-wrap:anywhere}
.settings-status-card div>span{margin-top:4px;color:var(--muted);font-size:.73rem;line-height:1.35}
.settings-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:9px}
.settings-action-grid-primary{grid-template-columns:1fr}
.settings-action-grid .action{width:100%;min-height:54px}
.settings-note{margin-top:12px;padding:12px 13px;border:1px solid rgba(232,193,88,.24);border-radius:8px;background:#090705;color:var(--muted);font-size:.78rem;line-height:1.42}
.settings-note strong{color:#ead7ad}
.settings-footer-action{position:relative;z-index:1;margin-top:12px}.settings-footer-action .action{width:100%}
.settings-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.settings-stat-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.settings-stat{min-width:0;padding:12px 9px;border:1px solid rgba(232,193,88,.30);border-radius:8px;background:#090705;text-align:center;display:grid;justify-items:center;align-content:start;gap:5px}
.settings-stat-icon{width:38px;height:38px;border:1px solid rgba(232,193,88,.38);border-radius:7px;background:#100c08;color:var(--gold-bright);display:grid;place-items:center}
.settings-stat-icon svg{width:21px!important;height:21px!important;stroke:currentColor;fill:none;stroke-width:1.7}
.settings-stat strong{max-width:100%;color:#f0dba9;font-family:var(--font-display);font-size:.98rem;line-height:1.18;overflow-wrap:anywhere}
.settings-stat>span:last-child{color:var(--muted);font-size:.68rem;line-height:1.25}
.settings-danger-zone{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:12px;padding:13px;border:1px solid rgba(209,112,104,.45);border-radius:8px;background:#130b09}
.settings-danger-zone>div{min-width:0}.settings-danger-zone strong{display:block;color:#e7aaa3;font-family:var(--font-display)}.settings-danger-zone span{display:block;margin-top:4px;color:#c29b94;font-size:.75rem;line-height:1.35}
.appearance-grid{display:grid;gap:9px}
.appearance-copy{min-width:0}.appearance-copy strong{display:block;color:#ead7ad;font-family:var(--font-display)}.appearance-copy span{display:block;margin-top:3px;color:var(--muted);font-size:.76rem;line-height:1.35}
.appearance-active-label{justify-self:end;padding:7px 9px;border:1px solid rgba(240,210,121,.55);border-radius:6px;background:#100c08;color:var(--gold-bright);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.aqua-glass-swatch{border-color:#a9efff!important;border-radius:12px!important;background:radial-gradient(circle at 27% 15%,#fff 0 8%,rgba(255,255,255,.28) 9% 22%,transparent 23%),linear-gradient(145deg,#bff5ff 0%,#42cef2 40%,#087ccc 72%,#034b91 100%)!important;box-shadow:inset 0 1px 0 #fff,inset 0 -7px 13px rgba(0,49,114,.30),0 0 8px rgba(102,229,255,.16)!important}
.soft-radiance-swatch{border-color:#f39a82!important;border-radius:13px!important;background:radial-gradient(circle at 26% 18%,#fff 0 9%,transparent 10%),radial-gradient(circle at 75% 76%,#cdeccf 0 12%,transparent 13%),linear-gradient(145deg,#fff8ee 0 29%,#ffd6c2 30% 56%,#ff9b82 57% 77%,#bde1ff 78% 100%)!important;box-shadow:inset 0 1px 0 #fff,inset 0 -7px 13px rgba(217,91,67,.11),0 4px 9px rgba(0,0,0,.20)!important}
.toolbox-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.toolbox-summary-chip{padding:10px 8px;border:1px solid rgba(232,193,88,.25);border-radius:7px;background:#090705;text-align:center}.toolbox-summary-chip strong{display:block;color:#f0dba9;font-family:var(--font-display);font-size:1rem}.toolbox-summary-chip span{display:block;margin-top:2px;color:var(--muted);font-size:.64rem}
.toolbox-type-group+ .toolbox-type-group{margin-top:12px}.toolbox-type-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 2px;color:#ead7ad;font-family:var(--font-display);font-size:.9rem}.toolbox-type-heading span{color:var(--muted);font-family:var(--font-body);font-size:.68rem}
.toolbox-manage-row{grid-template-columns:40px minmax(0,1fr) auto!important}.toolbox-resource-icon{width:40px;height:40px;border:1px solid rgba(232,193,88,.32);border-radius:7px;background:#100c08;color:var(--gold-bright);display:grid;place-items:center}.toolbox-resource-icon svg{width:21px!important;height:21px!important;stroke:currentColor;fill:none;stroke-width:1.7}.toolbox-manage-copy{min-width:0}.toolbox-manage-copy strong{display:block;color:#ead7ad;overflow-wrap:anywhere}.toolbox-manage-copy span{display:block;margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.3}
.about-feature-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.about-feature-row span{padding:6px 8px;border:1px solid rgba(232,193,88,.24);border-radius:6px;background:#090705;color:#d7c291;font-size:.68rem}

.time-month-focus,.time-year-position{
  position:relative;z-index:1;display:grid!important;gap:10px;align-items:center;
  margin:0 0 12px;padding:12px 13px;border:1px solid rgba(232,193,88,.38);border-radius:9px;
  background:linear-gradient(180deg,rgba(18,13,9,.98),rgba(7,5,4,.99));
  box-shadow:inset 0 0 0 4px rgba(6,5,4,.94),inset 0 0 0 5px rgba(232,193,88,.08)
}
.time-month-focus{grid-template-columns:minmax(0,1fr) auto!important}
.time-year-position{grid-template-columns:minmax(0,1fr)!important}
.time-month-focus>div,.time-year-position>div{min-width:0}
.time-month-focus small,.time-year-position small{display:block;color:#aa966d;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.time-month-focus strong,.time-year-position strong{display:block;margin-top:4px;color:#f0dba9;font-family:var(--font-display);font-size:1.03rem;line-height:1.25}
.time-focus-total{justify-self:end;max-width:150px;padding:8px 10px;border:1px solid rgba(232,193,88,.32);border-radius:7px;background:#0b0806;color:var(--gold-bright);font-family:var(--font-display);font-weight:700;text-align:center}
.native-picker-icon svg{width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;stroke:currentColor;fill:none;stroke-width:1.7}
.time-entry-card{grid-template-columns:48px minmax(0,1fr) auto!important}.time-entry-icon{width:48px;height:48px;border:1px solid rgba(232,193,88,.38);border-radius:7px;background:#100c08;color:var(--gold-bright);display:grid;place-items:center;position:relative;z-index:1}.time-entry-icon svg{width:24px!important;height:24px!important;stroke:currentColor;fill:none;stroke-width:1.7}
.service-month-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.service-month-current{width:max-content;padding:3px 6px;border:1px solid rgba(240,210,121,.38);border-radius:5px;background:rgba(201,150,50,.10);color:var(--gold-bright)!important;font-size:.58rem!important;text-transform:uppercase;letter-spacing:.05em}.service-month-open{position:relative;z-index:1;display:block;margin-top:auto;color:#d8c28f;font-family:var(--font-display);font-size:.7rem;font-weight:700;text-align:right}.service-month-open svg{display:none!important}
.time-year-position+ .metrics-grid{margin-top:0}

/* Never allow a raw icon to expand to the browser's 300×150 default. */
.settings-status-card svg,.time-month-focus svg,.time-year-position svg{display:none!important}
.settings-stat svg,.toolbox-manage-row svg,.time-entry-card svg,.service-month-card svg{max-width:26px!important;max-height:26px!important}

@media(max-width:620px){
  .settings-action-grid{grid-template-columns:1fr}.settings-stat-grid-three{grid-template-columns:1fr}.settings-danger-zone{grid-template-columns:1fr}.settings-danger-zone .action{width:100%}
  .toolbox-summary-strip{grid-template-columns:1fr 1fr}.toolbox-manage-row{grid-template-columns:40px minmax(0,1fr)!important}.toolbox-manage-actions{grid-column:1/-1;justify-content:flex-end}
  .time-entry-card{grid-template-columns:48px minmax(0,1fr)!important}.time-entry-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.time-inline-action{width:100%}
}
@media(max-width:420px){
  .time-month-focus{grid-template-columns:minmax(0,1fr)!important}.time-focus-total{justify-self:start;margin-top:5px}
  .settings-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-block{padding:13px}.settings-hero{padding:14px}
}

/* v3.06 — Black & Gold whole-button color flash. */
body.black-gold .ui2-tap-shimmer,
body:not(.aqua-glass):not(.soft-radiance):not(.editorial-minimalist) .ui2-tap-shimmer{display:none!important}
body.black-gold .ui2-pressing,
body:not(.aqua-glass):not(.soft-radiance):not(.editorial-minimalist) .ui2-pressing{
  animation:none!important;
  transform:translateZ(0) scale(.965)!important;
  background:linear-gradient(180deg,#f5df91 0%,#bd821e 100%)!important;
  border-color:#ffeaa4!important;
  color:#120c05!important;
  filter:saturate(1.05) brightness(1.03)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62),0 0 14px rgba(235,192,74,.30)!important;
  transition:transform .075s ease,background .075s ease,color .075s ease,border-color .075s ease,box-shadow .075s ease!important
}
body.black-gold .ui2-pressing :is(span,strong,small),
body:not(.aqua-glass):not(.soft-radiance):not(.editorial-minimalist) .ui2-pressing :is(span,strong,small){color:#120c05!important}
body.black-gold .ui2-pressing svg,
body:not(.aqua-glass):not(.soft-radiance):not(.editorial-minimalist) .ui2-pressing svg{color:#120c05!important;stroke:currentColor!important}
body.black-gold .ui2-color-release,
body:not(.aqua-glass):not(.soft-radiance):not(.editorial-minimalist) .ui2-color-release{filter:none!important}
