@media(max-width:680px){
  /* Sections breathe more like a native app */
  .section-intro{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:14px!important;
    margin-bottom:18px!important;
  }
  .section-intro h2{
    font-size:clamp(29px,10vw,40px)!important;
    line-height:1.05!important;
  }
  .section-intro>.primary-btn,
  .section-intro>.section-actions{
    width:100%;
  }
  .section-intro>.primary-btn{
    min-height:50px;
  }

  /* Replace desktop tables with clean stacked cards */
  .table-card{
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
    border-radius:0!important;
  }
  .table-card>.table-head{
    display:none!important;
  }
  #leadsTable,
  #invoicesTable,
  #mileageTable,
  #timeEntriesTable{
    display:grid;
    gap:12px;
  }
  .mobile-record-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:16px!important;
    border:1px solid var(--line)!important;
    border-radius:19px!important;
    background:#fff!important;
    box-shadow:0 8px 24px rgba(25,25,25,.025);
  }
  .mobile-record-card>.record-primary{
    padding-bottom:10px;
    border-bottom:1px solid #EEEAE2;
  }
  .mobile-record-card>.record-primary strong{
    font-size:17px;
    line-height:1.2;
  }
  .mobile-record-card>.record-primary small{
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
  }
  .mobile-record-card>.record-field{
    display:grid!important;
    grid-template-columns:minmax(80px,.75fr) minmax(0,1.25fr);
    align-items:center;
    gap:12px;
    min-height:28px;
    font-size:13px;
  }
  .mobile-record-card>.record-field:before{
    content:attr(data-label);
    color:#8A857D;
    font-size:10px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .mobile-record-card>.record-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding-top:11px;
    border-top:1px solid #EEEAE2;
  }
  .mobile-record-card .safe-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
  }
  .mobile-record-card .safe-actions button{
    min-height:40px;
    width:100%;
    padding:9px 10px!important;
    font-size:11px!important;
    border-radius:12px!important;
  }
  .mobile-record-card .record-delete-btn,
  .record-card-actions .record-delete-btn{
    width:100%;
    min-height:44px;
    margin-top:2px;
  }

  /* Client cards */
  .client-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .client-card{
    padding:17px!important;
    border-radius:19px!important;
  }
  .client-card .client-avatar{
    width:40px;
    height:40px;
    margin-bottom:4px;
  }
  .client-card>strong{
    font-size:18px;
  }
  .client-card>span,
  .client-card>small{
    overflow-wrap:anywhere;
  }
  .record-card-actions{
    padding-top:11px;
    margin-top:8px!important;
    border-top:1px solid #EEEAE2;
  }
  .record-card-actions .safe-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .record-card-actions .safe-actions button{
    width:100%;
    min-height:40px;
    border-radius:12px!important;
  }

  /* Quotes: one clean column instead of a squeezed Kanban */
  .kanban{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .kanban-col{
    border-radius:18px!important;
    padding:12px!important;
  }
  .kanban-col h3{
    margin:2px 2px 9px!important;
  }
  .kanban-col article{
    padding:15px!important;
    border-radius:16px!important;
  }
  .kanban-col .record-card-actions{
    display:grid!important;
  }

  /* Calendar job list */
  .job-block{
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:start!important;
    padding:15px!important;
    border-radius:17px!important;
  }
  .job-block>time{
    font-size:11px;
    color:var(--muted);
    font-weight:900;
  }
  .job-block>.record-actions{
    display:flex!important;
    grid-column:auto!important;
    justify-content:flex-start!important;
    padding-top:9px;
    border-top:1px solid #EEEAE2;
  }
  .buffer-block{
    padding-left:12px!important;
  }

  /* Booking request rows and other split rows */
  .booking-request-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .booking-request-row>.record-actions{
    justify-content:flex-start!important;
  }

  /* Dashboard feels lighter and faster */
  [data-page="today"] .metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  [data-page="today"] .metric-card{
    padding:16px!important;
    border-radius:18px!important;
    min-height:125px;
  }
  [data-page="today"] .metric-card span{
    font-size:11px!important;
    line-height:1.25;
  }
  [data-page="today"] .metric-card strong{
    font-size:29px!important;
    margin:9px 0 4px!important;
  }
  [data-page="today"] .metric-card small{
    font-size:11px;
    line-height:1.35;
  }
  [data-page="today"] .metric-card:last-child{
    grid-column:1/-1;
    min-height:auto;
  }
  .dashboard-grid,
  .dashboard-grid.lower{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .quick-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .quick-card{
    min-height:84px!important;
    padding:12px!important;
    border-radius:16px!important;
    font-size:20px!important;
  }
  .quick-card span{
    font-size:10px!important;
    line-height:1.25;
    margin-top:14px!important;
  }
  .timeline-item{
    grid-template-columns:62px 1fr!important;
    gap:9px!important;
  }
  .timeline-item>.status{
    grid-column:2;
  }

  /* Social / booking presence stays compact */
  .presence-panel{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:18px!important;
    border-radius:20px!important;
  }
  .presence-actions{
    grid-template-columns:1fr!important;
    width:100%;
  }
  .presence-btn{
    min-height:56px;
    padding:10px 12px;
  }
}

@media(max-width:410px){
  [data-page="today"] .metric-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .quick-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .mobile-record-card .safe-actions,
  .record-card-actions .safe-actions{
    grid-template-columns:1fr 1fr;
  }
}

@media (prefers-reduced-motion: reduce){
  .view.view-enter{animation:none!important}
  .metric-card,.panel,.client-card,.kanban-col article,.job-block,.mobile-record-card,
  .quick-card,.primary-btn,.dark-btn,.ghost-btn,.text-btn,.card-actions button,.record-actions button,.presence-btn{
    transition:none!important;
  }
}

.table-head.mileage-head{grid-template-columns:1.1fr .7fr 1.1fr .7fr}
.table-head.time-head{grid-template-columns:1.25fr .7fr .7fr .8fr}

/* 2026-09-27 mobile list hardening + premium dashboard */
html,body{max-width:100%;overflow-x:hidden}
.app-shell,.main,.view,.table-card,.client-grid,.kanban,.dashboard-grid{min-width:0;max-width:100%}
.main{overflow-x:clip}

/* Destructive actions must never look like ordinary actions */
.record-delete-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  width:100%!important;
  min-height:48px!important;
  margin-top:4px!important;
  border:1px solid #E3B9B2!important;
  background:#FFF1EE!important;
  color:#8A352E!important;
  border-radius:14px!important;
  font-size:12px!important;
  font-weight:900!important;
}
.record-delete-btn::before{
  content:"Delete";
  display:none;
}
.record-delete-btn:hover{
  background:#FCE8E4!important;
  border-color:#D9A59C!important;
}
.record-actions>.record-delete-btn,
.record-card-actions>.record-delete-btn{
  border-top:1px solid transparent;
}

/* Dashboard polish */
[data-page="today"]{
  --dash-shadow:0 12px 38px rgba(25,25,25,.045);
}
[data-page="today"] .hero-card,
[data-page="today"] .weather-brief,
[data-page="today"] .metric-card,
[data-page="today"] .panel{
  box-shadow:var(--dash-shadow);
}
[data-page="today"] .hero-card,
[data-page="today"] .weather-brief,
[data-page="today"] .presence-panel{
  transition:transform .26s cubic-bezier(.2,.8,.2,1),box-shadow .26s ease,background-color .45s ease;
}
[data-page="today"] .hero-card:active,
[data-page="today"] .presence-btn:active{
  transform:scale(.992);
}
.presence-panel{
  border:1px solid #E9E4DA!important;
  box-shadow:0 14px 40px rgba(25,25,25,.04);
}
.presence-mark{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
#presenceInstagramBtn .presence-mark{font-family:Arial,sans-serif}
#presenceFacebookBtn .presence-mark{font-family:Arial,sans-serif}
.presence-btn.connected small::after{
  content:" · connected";
  opacity:.72;
}

@media(max-width:680px){
  /* No horizontal table UI on phones, anywhere */
  .table-card{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .table-card .table-head{
    display:none!important;
  }
  .table-card .table-row:not(.table-head),
  #leadsTable .table-row,
  #invoicesTable .table-row,
  #mileageTable .table-row,
  #timeEntriesTable .table-row{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:8px!important;
    padding:16px!important;
    overflow:hidden!important;
    border:1px solid var(--line)!important;
    border-radius:20px!important;
    background:#fff!important;
  }
  .table-card .table-row:not(.table-head)>*{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .mobile-record-card>.record-primary{
    display:grid!important;
    gap:3px!important;
    padding-bottom:11px!important;
  }
  .mobile-record-card>.record-primary strong{
    font-size:18px!important;
    letter-spacing:-.015em;
  }
  .mobile-record-card>.record-primary small{
    font-size:12px!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
  }
  .mobile-record-card>.record-field{
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-start!important;
    gap:14px!important;
    min-height:0!important;
    padding:3px 0!important;
    line-height:1.35!important;
  }
  .mobile-record-card>.record-field:before{
    flex:0 0 auto!important;
    max-width:42%!important;
  }
  .mobile-record-card>.record-field>strong,
  .mobile-record-card>.record-field>i,
  .mobile-record-card>.record-field>small{
    text-align:right!important;
    overflow-wrap:anywhere!important;
  }
  .mobile-record-card>.record-actions{
    margin-top:5px!important;
    padding-top:13px!important;
    gap:13px!important;
  }
  .mobile-record-card .safe-actions,
  .record-card-actions .safe-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .mobile-record-card .safe-actions button,
  .record-card-actions .safe-actions button{
    min-width:0!important;
    min-height:44px!important;
    padding:10px 8px!important;
    border-radius:13px!important;
    font-size:11px!important;
    white-space:normal!important;
    line-height:1.2!important;
  }
  .record-delete-btn{
    min-height:50px!important;
    margin-top:3px!important;
    border-radius:15px!important;
    font-size:12px!important;
  }

  /* Cards outside tables follow the same action hierarchy */
  .client-card,
  .kanban-col article{
    overflow:hidden!important;
  }
  .record-card-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  /* Cleaner dashboard rhythm */
  [data-page="today"] .hero-card{
    border-radius:26px!important;
    padding:24px 20px!important;
    margin-bottom:14px!important;
  }
  [data-page="today"] .hero-card h2{
    font-size:clamp(34px,10.5vw,48px)!important;
    line-height:.98!important;
    margin:18px 0 12px!important;
  }
  [data-page="today"] .hero-card p{
    font-size:15px!important;
    line-height:1.45!important;
    max-width:90%;
  }
  [data-page="today"] .hero-card .dark-btn{
    margin-top:18px!important;
    min-height:52px!important;
    border-radius:17px!important;
  }
  [data-page="today"] .weather-brief{
    box-shadow:0 10px 30px rgba(25,25,25,.035)!important;
  }
  [data-page="today"] .metric-grid{
    gap:9px!important;
  }
  [data-page="today"] .metric-card{
    min-height:112px!important;
    padding:15px!important;
  }
  [data-page="today"] .metric-card span{
    font-size:10px!important;
    text-transform:uppercase;
    letter-spacing:.055em;
  }
  [data-page="today"] .metric-card small{
    color:#8D887F!important;
  }

  /* Social + booking feels like a polished control center */
  .presence-panel{
    padding:16px!important;
    gap:12px!important;
    margin-top:4px!important;
  }
  .presence-copy h3{
    font-size:20px!important;
  }
  .presence-actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
  }
  .presence-btn{
    display:grid!important;
    justify-items:center!important;
    text-align:center!important;
    gap:7px!important;
    min-height:88px!important;
    padding:11px 7px!important;
    border-radius:16px!important;
  }
  .presence-mark{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:12px!important;
  }
  .presence-btn>span:last-child{
    justify-items:center!important;
  }
  .presence-btn strong{
    font-size:10px!important;
  }
  .presence-btn small{
    max-width:88px;
    font-size:9px!important;
  }
  .presence-btn.connected small::after{
    content:""!important;
  }
}

@media(max-width:390px){
  .mobile-record-card .safe-actions,
  .record-card-actions .safe-actions{
    grid-template-columns:1fr!important;
  }
  .presence-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* Premium dashboard stagger + 4-way presence controls */
.view[data-page="today"].view-enter > *{
  animation:tleDashboardRise .38s cubic-bezier(.2,.8,.2,1) both;
}
.view[data-page="today"].view-enter > *:nth-child(1){animation-delay:0ms}
.view[data-page="today"].view-enter > *:nth-child(2){animation-delay:35ms}
.view[data-page="today"].view-enter > *:nth-child(3){animation-delay:70ms}
.view[data-page="today"].view-enter > *:nth-child(4){animation-delay:105ms}
.view[data-page="today"].view-enter > *:nth-child(5){animation-delay:140ms}
.view[data-page="today"].view-enter > *:nth-child(6){animation-delay:175ms}
@keyframes tleDashboardRise{
  from{opacity:.15;transform:translateY(9px) scale(.995)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.presence-actions{
  grid-template-columns:repeat(4,minmax(105px,1fr))!important;
}
#presenceInstagramBtn.connected .presence-mark{background:#191919}
#presenceFacebookBtn.connected .presence-mark{background:#191919}
#presenceGoogleBtn.connected .presence-mark{background:#191919}
#presenceBookingBtn .presence-mark{background:#191919}
@media(max-width:680px){
  .presence-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .presence-btn{
    min-height:76px!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    justify-items:start!important;
    text-align:left!important;
    padding:11px!important;
  }
  .presence-btn>span:last-child{
    justify-items:start!important;
  }
  .presence-btn small{
    max-width:none!important;
  }
  .view[data-page="today"].view-enter > *{
    animation-duration:.32s;
  }
}
@media (prefers-reduced-motion: reduce){
  .view[data-page="today"].view-enter > *{animation:none!important}
}

/* Dashboard tap targets */
.metric-link{
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.metric-link:active{
  transform:scale(.985);
}
.metric-link:focus-visible{
  outline:3px solid rgba(25,25,25,.16);
  outline-offset:3px;
}
@media(hover:hover){
  .metric-link:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(25,25,25,.06);
  }
}

/* FINAL mobile record layout — vertical, readable, no compressed columns */
@media(max-width:680px){
  #leadsTable .mobile-record-card,
  #invoicesTable .mobile-record-card,
  #mileageTable .mobile-record-card,
  #timeEntriesTable .mobile-record-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    gap:0!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:18px!important;
    overflow:visible!important;
  }

  .mobile-record-card>.record-primary{
    width:100%!important;
    min-width:0!important;
    padding:0 0 13px!important;
    margin:0 0 11px!important;
    border-bottom:1px solid #ECE7DD!important;
  }
  .mobile-record-card>.record-primary strong{
    display:block!important;
    font-size:19px!important;
    line-height:1.15!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .mobile-record-card>.record-primary small{
    display:block!important;
    margin-top:5px!important;
    font-size:12px!important;
    line-height:1.35!important;
    color:var(--muted)!important;
  }

  .mobile-record-card>.record-field{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    justify-content:stretch!important;
    align-items:start!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:10px 0!important;
    border-bottom:1px solid #F1EDE5!important;
    text-align:left!important;
    font-size:14px!important;
    line-height:1.35!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  .mobile-record-card>.record-field:before{
    content:attr(data-label)!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    color:#8A857D!important;
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:.11em!important;
    line-height:1.2!important;
    text-transform:uppercase!important;
    text-align:left!important;
  }

  .mobile-record-card>.record-field>strong,
  .mobile-record-card>.record-field>i,
  .mobile-record-card>.record-field>small{
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    text-align:left!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  /* Money must never break into vertical characters */
  #invoicesTable .record-field[data-label="Amount"]>strong,
  #invoicesTable .record-field[data-label="Monto"]>strong{
    display:block!important;
    width:max-content!important;
    max-width:100%!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    font-size:25px!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }

  #invoicesTable .record-field .status{
    justify-self:start!important;
    width:max-content!important;
    white-space:nowrap!important;
  }

  #invoicesTable .payment-choice-note{
    display:block!important;
    margin-top:3px!important;
    color:#625A36!important;
    font-size:12px!important;
    line-height:1.35!important;
  }

  .mobile-record-card>.record-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
    padding:15px 0 0!important;
    margin:2px 0 0!important;
    border-top:0!important;
  }

  .mobile-record-card .safe-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }

  #invoicesTable .safe-actions{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .mobile-record-card .safe-actions button{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:11px 12px!important;
    border-radius:14px!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }

  .mobile-record-card .record-delete-btn,
  .record-card-actions .record-delete-btn{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:52px!important;
    margin:7px 0 0!important;
    padding:13px 16px!important;
    border-radius:16px!important;
    font-size:13px!important;
    line-height:1.2!important;
  }

  /* Client + quote cards use the same safe action hierarchy */
  .client-card .record-card-actions,
  .kanban-col article .record-card-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    padding-top:14px!important;
    margin-top:10px!important;
    border-top:1px solid #ECE7DD!important;
  }
  .client-card .record-card-actions .safe-actions,
  .kanban-col article .record-card-actions .safe-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .client-card .record-delete-btn,
  .kanban-col article .record-delete-btn{
    width:100%!important;
    min-height:50px!important;
    margin-top:4px!important;
  }
}

@media(max-width:390px){
  .mobile-record-card .safe-actions,
  .client-card .record-card-actions .safe-actions,
  .kanban-col article .record-card-actions .safe-actions{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


/* Animated dashboard greeting */
#todayHeroCard{
  isolation:isolate;
  border:1px solid rgba(25,25,25,.07);
  transition:background-color .8s ease,border-color .8s ease,box-shadow .8s ease;
}
#todayHeroCard.assistant-arrival{
  animation:tleGreetingEnter .58s cubic-bezier(.2,.8,.2,1) both;
}
#todayHeroCard::before{
  content:"";
  position:absolute;
  width:190px;
  height:190px;
  right:-68px;
  top:-78px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
  opacity:.42;
  pointer-events:none;
  z-index:0;
  animation:tleGreetingOrb 7s ease-in-out infinite;
}
#todayHeroCard::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  left:-46px;
  bottom:-62px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
  opacity:.35;
  pointer-events:none;
  z-index:0;
  animation:tleGreetingOrbSmall 9s ease-in-out infinite;
}
#todayHeroCard>div,
#todayHeroCard>#todayHeroAction,
#todayHeroCard>.hero-moment-icon{
  position:relative;
  z-index:1;
}
.hero-assistant-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}
@keyframes tleGreetingEnter{
  0%{opacity:0;transform:translateY(10px) scale(.99)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes tleGreetingColorCycle{
  0%,24.999%{background-color:#FFF0B7}
  25%,49.999%{background-color:#DDEBFA}
  50%,74.999%{background-color:#F8F5EE}
  75%,99.999%{background-color:#E7E5FF}
  100%{background-color:#FFF0B7}
}
@keyframes tleGreetingOrb{
  0%,100%{transform:translate3d(0,0,0) scale(.95)}
  50%{transform:translate3d(-18px,16px,0) scale(1.08)}
}
@keyframes tleGreetingOrbSmall{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(15px,-10px,0)}
}
@media (prefers-reduced-motion: reduce){
  #todayHeroCard,
  #todayHeroCard::before,
  #todayHeroCard::after,
  .trial-card{
    animation:none!important;
  }
}

/* Compact grouped visitor activity */
#platformRecentVisits{
  gap:0;
}
.visit-group{
  padding:14px 0;
  border-top:1px solid var(--line);
}
.visit-group:first-child{
  border-top:0;
  padding-top:4px;
}
.visit-group-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:start;
}
.visit-group-main>span{
  min-width:0;
  display:grid;
  gap:4px;
}
.visit-group-main strong{
  font-size:15px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.visit-group-main small{
  font-size:11px;
  color:var(--muted);
}
.visit-group-main>time{
  font-size:10px;
  color:var(--muted);
  white-space:nowrap;
}
.visit-group-details{
  margin-top:8px;
}
.visit-group-details summary{
  width:max-content;
  list-style:none;
  cursor:pointer;
  font-size:10px;
  font-weight:900;
  color:var(--muted);
  border:1px solid var(--line);
  border-radius:999px;
  padding:6px 9px;
  background:#fff;
}
.visit-group-details summary::-webkit-details-marker{display:none}
.visit-group-details summary:after{content:" ↓"}
.visit-group-details[open] summary:after{content:" ↑"}
.visit-detail-list{
  margin-top:9px;
  padding:9px 10px;
  border-radius:12px;
  background:var(--ivory);
  display:grid;
  gap:7px;
}
.visit-detail-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  font-size:11px;
}
.visit-detail-row span{
  color:var(--ink);
  overflow-wrap:anywhere;
}
.visit-detail-row time{
  color:var(--muted);
  font-size:9px;
  white-space:nowrap;
}
@media(max-width:620px){
  .visit-group{
    padding:13px 0;
  }
  .visit-group-main{
    gap:10px;
  }
  .visit-group-main strong{
    font-size:14px;
  }
}

/* Admin activity controls */
.activity-panel-head{
  align-items:flex-start;
  gap:12px;
}
.activity-refresh-btn,
.activity-archive-btn{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  border-radius:999px;
  font:900 10px/1 Futura,"Avenir Next",Arial,sans-serif;
  padding:8px 10px;
  cursor:pointer;
  white-space:nowrap;
}
.activity-refresh-btn{
  background:#191919;
  color:#fff;
  border-color:#191919;
}
.activity-refresh-btn:disabled,
.activity-archive-btn:disabled{
  opacity:.55;
  cursor:wait;
}
.activity-row-actions{
  display:grid;
  justify-items:end;
  gap:7px;
  flex:0 0 auto;
}
.activity-row-actions time{
  white-space:nowrap;
}
.visit-group-actions{
  margin-top:8px;
  display:flex;
  align-items:flex-start;
  gap:8px;
  flex-wrap:wrap;
}
.visit-group-actions .visit-group-details{
  margin-top:0;
}
.activity-archive-btn{
  color:#655F57;
}
@media(max-width:620px){
  .activity-refresh-btn{
    padding:8px 11px;
  }
  .activity-row-actions{
    gap:6px;
  }
}

/* Global installed-app refresh */
.app-refresh-btn .top-icon{
  display:inline-block;
  font-size:18px;
  line-height:1;
  transform-origin:50% 50%;
}
.app-refresh-btn.is-refreshing .top-icon{
  animation:tleManualRefreshSpin .8s linear infinite;
}
@keyframes tleManualRefreshSpin{
  to{transform:rotate(360deg)}
}
@media(prefers-reduced-motion:reduce){
  .app-refresh-btn.is-refreshing .top-icon{animation:none}
}

/* Inquiry notification bell */
.top-actions{position:relative;align-items:center}
.notification-shell{position:relative}
.notification-bell-btn{position:relative}
.notification-bell-icon{
  display:inline-block;
  position:relative;
  width:18px;
  height:18px;
  font-size:0;
}
.notification-bell-icon:before{
  content:"";
  position:absolute;
  left:4px;
  top:2px;
  width:10px;
  height:11px;
  border:2px solid currentColor;
  border-radius:7px 7px 5px 5px;
  border-bottom-width:2px;
}
.notification-bell-icon:after{
  content:"";
  position:absolute;
  left:8px;
  bottom:0;
  width:4px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}
.notification-bell-btn.has-notifications{
  background:#FFF3A8;
  border-color:#D4BC3E;
}
.notification-badge{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:17px;
  height:17px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#191919;
  color:#fff;
  border:2px solid #FAF8F3;
  font-size:8px;
  line-height:1;
  font-weight:900;
}
.notification-popover{
  position:absolute;
  z-index:90;
  right:0;
  top:calc(100% + 10px);
  width:min(360px,calc(100vw - 30px));
  max-height:min(560px,70vh);
  overflow:auto;
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 22px 60px rgba(25,25,25,.16);
  padding:12px;
}
.notification-popover-head{
  position:sticky;
  top:-12px;
  z-index:2;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:12px 8px 11px;
  border-bottom:1px solid var(--line);
}
.notification-popover-head>div{display:grid;gap:2px}
.notification-popover-head small{
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
  color:var(--muted);
}
.notification-popover-head strong{font-size:17px}
.notification-close-btn{
  width:30px;
  height:30px;
  border:0;
  border-radius:50%;
  background:var(--ivory);
  font-size:20px;
  line-height:1;
}
.notification-list{display:grid}
.notification-item{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  border:0;
  border-bottom:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  padding:13px 8px;
  display:grid;
  grid-template-columns:8px minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  text-align:left;
  cursor:pointer;
}
.notification-item:last-child{border-bottom:0}
.notification-item.is-new{background:#FFFDF2}
.notification-dot{
  width:7px;
  height:7px;
  margin-top:6px;
  border-radius:50%;
  background:#D6D1C8;
}
.notification-item.is-new .notification-dot{background:var(--yellow);box-shadow:0 0 0 2px #191919}
.notification-copy{display:grid;gap:3px;min-width:0}
.notification-copy strong{font-size:13px;overflow-wrap:anywhere}
.notification-copy small{font-size:10px;color:#514D46;font-weight:800}
.notification-copy em{font-size:9px;color:var(--muted);font-style:normal}
.notification-arrow{align-self:center;font-size:14px}
.notification-empty{
  padding:22px 12px;
  display:grid;
  gap:4px;
  text-align:center;
}
.notification-empty strong{font-size:13px}
.notification-empty span{font-size:10px;color:var(--muted)}
@media(max-width:620px){
  .notification-popover{
    position:fixed;
    top:72px;
    right:12px;
    left:12px;
    width:auto;
    max-height:66vh;
  }
}

/* Inquiry detail opened from notification bell */
.inquiry-detail-card{
  display:grid;
  gap:16px;
}
.inquiry-detail-service{
  padding:18px;
  border:1px solid var(--ink);
  border-radius:18px;
  background:var(--yellow);
  display:grid;
  gap:5px;
}
.inquiry-detail-service>span{
  font-size:9px;
  font-weight:900;
  letter-spacing:.14em;
}
.inquiry-detail-service>strong{
  font-family:Prompt,Arial,sans-serif;
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.inquiry-detail-service>small{
  width:max-content;
  max-width:100%;
  border:1px solid rgba(25,25,25,.18);
  border-radius:999px;
  background:rgba(255,255,255,.52);
  padding:5px 8px;
  font-size:9px;
  font-weight:900;
  text-transform:capitalize;
}
.inquiry-detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.inquiry-detail-grid>div{
  min-width:0;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  display:grid;
  gap:4px;
}
.inquiry-detail-grid>div.full{
  grid-column:1/-1;
}
.inquiry-detail-grid small{
  font-size:9px;
  font-weight:900;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.inquiry-detail-grid strong,
.inquiry-detail-grid p{
  margin:0;
  font-size:12px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.inquiry-detail-actions{
  flex-wrap:wrap;
}
@media(max-width:620px){
  .inquiry-detail-grid{
    grid-template-columns:1fr;
  }
  .inquiry-detail-grid>div.full{
    grid-column:auto;
  }
  .inquiry-detail-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .inquiry-detail-actions button{
    width:100%;
  }
}

/* Soft animated app atmosphere — Safari-safe, no fixed layers */
.app-shell{
  position:relative;
  isolation:auto;
  min-height:100vh;
  min-height:100dvh;
  background-color:#EEF9FF;
  background-image:
    radial-gradient(circle at 15% 18%,rgba(255,255,255,.34) 0 44px,rgba(178,226,250,.10) 45px 64px,transparent 65px),
    radial-gradient(circle at 82% 28%,rgba(255,255,255,.24) 0 30px,rgba(178,226,250,.08) 31px 46px,transparent 47px),
    radial-gradient(circle at 74% 72%,rgba(255,255,255,.22) 0 38px,rgba(178,226,250,.07) 39px 56px,transparent 57px),
    radial-gradient(circle at 24% 82%,rgba(255,255,255,.18) 0 24px,rgba(178,226,250,.06) 25px 38px,transparent 39px),
    linear-gradient(180deg,#F5FCFF 0%,#EAF7FF 52%,#F7FCFF 100%);
  background-size:
    520px 520px,
    440px 440px,
    600px 600px,
    460px 460px,
    100% 100%;
  background-repeat:repeat;
  background-position:
    0 0,
    180px 70px,
    90px 260px,
    300px 340px,
    0 0;
  animation:tleSafeBubbleBackground 36s ease-in-out infinite alternate;
}
.app-shell>.main{
  position:relative;
}
.main{
  background:transparent!important;
}
@keyframes tleSafeBubbleBackground{
  from{
    background-position:
      0 0,
      180px 70px,
      90px 260px,
      300px 340px,
      0 0;
  }
  to{
    background-position:
      18px -16px,
      164px 88px,
      108px 240px,
      284px 324px,
      0 0;
  }
}

/* Live seasonal + current-weather animation inside greeting card */
#todayHeroCard{
  position:relative;
  overflow:hidden;
}
.hero-weather-effects{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
  border-radius:inherit;
}
/* Keep the live-weather canvas covering the full hero. A broader
   #todayHeroCard>div rule elsewhere sets child divs to position:relative,
   so this explicit selector prevents the animation layer from collapsing. */
#todayHeroCard > .hero-weather-effects{
  position:absolute!important;
  inset:0!important;
  width:100%;
  height:100%;
  z-index:1!important;
}
#todayHeroCard > .hero-ecosystem{
  position:relative!important;
  z-index:2!important;
}
.hero-season-layer,
.hero-precip-layer{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.hero-season-layer{
  opacity:.26;
}
.hero-precip-layer{
  opacity:.48;
}
#todayHeroCard .hero-ecosystem,
#todayHeroCard>.hero-moment-icon{
  position:relative;
  z-index:2;
}

/* seasonal washes stay subtle so text remains the focus */
#todayHeroCard[data-season="spring"] .hero-season-layer{
  background:
    radial-gradient(circle at 84% 18%,rgba(255,255,255,.36),transparent 26%),
    linear-gradient(135deg,rgba(233,251,242,.22),transparent 58%);
}
#todayHeroCard[data-season="summer"] .hero-season-layer{
  background:
    radial-gradient(circle at 82% 10%,rgba(255,243,174,.33),transparent 24%),
    linear-gradient(135deg,rgba(229,247,255,.18),transparent 58%);
}
#todayHeroCard[data-season="fall"] .hero-season-layer{
  background:
    radial-gradient(circle at 86% 12%,rgba(246,218,166,.30),transparent 24%),
    linear-gradient(135deg,rgba(255,239,215,.18),transparent 58%);
}
#todayHeroCard[data-season="winter"] .hero-season-layer{
  background:
    radial-gradient(circle at 82% 10%,rgba(255,255,255,.42),transparent 26%),
    linear-gradient(135deg,rgba(226,241,255,.24),transparent 58%);
}

.season-particle,
.rain-drop,
.snow-flake{
  position:absolute;
  left:var(--x);
  top:-18px;
  transform:scale(var(--scale));
  animation-delay:var(--delay);
  animation-duration:var(--dur);
  animation-iteration-count:infinite;
  animation-timing-function:linear;
}
.season-particle{
  width:8px;
  height:8px;
  border-radius:55% 45% 60% 40%;
  opacity:.42;
}
.season-spring .season-particle{
  background:rgba(255,255,255,.72);
  box-shadow:0 0 0 1px rgba(188,226,207,.22);
  animation-name:tleSeasonFloat;
}
.season-summer .season-particle{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,245,184,.48);
  filter:blur(.2px);
  animation-name:tleSeasonGlow;
}
.season-fall .season-particle{
  width:9px;
  height:6px;
  border-radius:70% 20% 70% 30%;
  background:rgba(211,159,96,.32);
  animation-name:tleSeasonLeaf;
}
.season-winter .season-particle{
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(255,255,255,.62);
  animation-name:tleSeasonFloat;
}

.rain-drop{
  width:1.5px;
  height:24px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(113,174,214,.72));
  animation-name:tleLiveRain;
}
.intensity-light .rain-drop{height:16px;opacity:.46}
.intensity-heavy .rain-drop{height:30px;opacity:.72}
.snow-flake{
  width:7px;
  height:7px;
  border-radius:50%;
  background:rgba(255,255,255,.88);
  box-shadow:0 0 7px rgba(255,255,255,.38);
  animation-name:tleLiveSnow;
}
.intensity-heavy .snow-flake{width:9px;height:9px}

.drizzle-drop,
.cloud-puff,
.mist-band,
.wind-streak{
  position:absolute;
  left:var(--x);
  top:-18px;
  transform:scale(var(--scale));
  animation-delay:var(--delay);
  animation-duration:var(--dur);
  animation-iteration-count:infinite;
  animation-timing-function:linear;
}
.drizzle-drop{
  width:1px;
  height:12px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(128,185,220,.55));
  animation-name:tleLiveDrizzle;
  opacity:.48;
}
.cloud-puff{
  width:76px;
  height:27px;
  border-radius:999px;
  background:rgba(255,255,255,.34);
  filter:blur(6px);
  animation-name:tleCloudDrift;
  opacity:.34;
}
.weather-partly .cloud-puff{opacity:.20}
.mist-band{
  width:130px;
  height:18px;
  border-radius:999px;
  background:rgba(255,255,255,.42);
  filter:blur(9px);
  animation-name:tleMistDrift;
  opacity:.32;
}
.wind-streak{
  width:82px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(126,160,183,.40),transparent);
  animation-name:tleWindSweep;
  opacity:.34;
}
.sun-glow{
  position:absolute;
  width:185px;
  height:185px;
  right:-66px;
  top:-82px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,224,107,.34) 0%,rgba(255,236,174,.18) 35%,rgba(255,255,255,0) 72%);
  animation:tleSunPulse 7s ease-in-out infinite;
}
.lightning-flash{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 75% 16%,rgba(255,255,255,.72),rgba(255,255,255,0) 26%),
    linear-gradient(120deg,transparent 52%,rgba(255,255,255,.44) 54%,transparent 58%);
  opacity:0;
  animation:tleLightning 7.2s ease-in-out infinite;
}
.weather-storm .rain-drop{
  animation-duration:calc(var(--dur) * .64);
}

#todayHeroCard[data-weather="storm"]{
  box-shadow:inset 0 0 0 999px rgba(138,165,184,.10);
}
#todayHeroCard[data-weather="drizzle"]{
  box-shadow:inset 0 0 0 999px rgba(214,235,247,.05);
}
#todayHeroCard[data-weather="fog"]{
  box-shadow:inset 0 0 0 999px rgba(238,242,242,.08);
}
#todayHeroCard[data-weather="cloudy"]{
  box-shadow:inset 0 0 0 999px rgba(226,233,237,.05);
}

#todayHeroCard[data-weather="rain"]{
  box-shadow:inset 0 0 0 999px rgba(205,230,247,.06);
}
#todayHeroCard[data-weather="snow"]{
  box-shadow:inset 0 0 0 999px rgba(241,248,255,.08);
}

@keyframes tleLiveRain{
  0%{transform:translate3d(0,-34px,0) rotate(8deg) scale(var(--scale));opacity:0}
  8%{opacity:.75}
  100%{transform:translate3d(var(--drift),430px,0) rotate(8deg) scale(var(--scale));opacity:.12}
}
@keyframes tleLiveSnow{
  0%{transform:translate3d(0,-22px,0) scale(var(--scale));opacity:0}
  12%{opacity:.9}
  100%{transform:translate3d(var(--drift),430px,0) scale(var(--scale));opacity:.10}
}

@keyframes tleLiveDrizzle{
  0%{transform:translate3d(0,-26px,0) rotate(6deg) scale(var(--scale));opacity:0}
  12%{opacity:.52}
  100%{transform:translate3d(var(--drift),420px,0) rotate(6deg) scale(var(--scale));opacity:.06}
}
@keyframes tleCloudDrift{
  0%{transform:translate3d(-80px,calc(54px + var(--x) * .25),0) scale(var(--scale));opacity:0}
  18%{opacity:.34}
  82%{opacity:.28}
  100%{transform:translate3d(430px,calc(30px + var(--x) * .18),0) scale(var(--scale));opacity:0}
}
@keyframes tleMistDrift{
  0%{transform:translate3d(-110px,calc(90px + var(--x) * .18),0) scale(var(--scale));opacity:0}
  20%,80%{opacity:.32}
  100%{transform:translate3d(390px,calc(70px + var(--x) * .12),0) scale(var(--scale));opacity:0}
}
@keyframes tleWindSweep{
  0%{transform:translate3d(-120px,calc(90px + var(--x) * .24),0) scale(var(--scale));opacity:0}
  18%{opacity:.38}
  100%{transform:translate3d(470px,calc(45px + var(--x) * .18),0) scale(var(--scale));opacity:0}
}
@keyframes tleSunPulse{
  0%,100%{transform:scale(.94);opacity:.55}
  50%{transform:scale(1.06);opacity:.82}
}
@keyframes tleLightning{
  0%,72%,76%,100%{opacity:0}
  73%{opacity:.78}
  74%{opacity:.08}
  75%{opacity:.48}
}
@keyframes tleSeasonFloat{
  0%{transform:translate3d(0,-12px,0) rotate(0deg) scale(var(--scale));opacity:0}
  14%{opacity:.42}
  100%{transform:translate3d(var(--drift),390px,0) rotate(160deg) scale(var(--scale));opacity:0}
}
@keyframes tleSeasonLeaf{
  0%{transform:translate3d(0,-12px,0) rotate(0deg) scale(var(--scale));opacity:0}
  15%{opacity:.42}
  100%{transform:translate3d(var(--drift),370px,0) rotate(420deg) scale(var(--scale));opacity:0}
}
@keyframes tleSeasonGlow{
  0%,100%{transform:translate3d(0,42px,0) scale(var(--scale));opacity:.12}
  50%{transform:translate3d(var(--drift),190px,0) scale(calc(var(--scale) * 1.22));opacity:.38}
}

@media(max-width:680px){
  .app-shell{
    background-size:
      420px 420px,
      360px 360px,
      500px 500px,
      380px 380px,
      100% 100%;
  }
  .hero-season-layer{opacity:.20}
  .hero-precip-layer{opacity:.40}
}
@media(prefers-reduced-motion:reduce){
  .app-shell,
  .season-particle,
  .rain-drop,
  .snow-flake,
  .drizzle-drop,
  .cloud-puff,
  .mist-band,
  .wind-streak,
  .sun-glow,
  .lightning-flash{
    animation:none!important;
  }
}



/* Deterministic shell visibility — Safari-safe */
body.shell-auth #appShell,
body.shell-auth #workerShell,
body.shell-auth #publicShell{
  display:none!important;
}
body.shell-auth #authShell{
  display:grid!important;
}

body.shell-app #authShell,
body.shell-app #workerShell,
body.shell-app #publicShell{
  display:none!important;
}
body.shell-app #appShell{
  display:grid!important;
}

body.shell-worker #authShell,
body.shell-worker #appShell,
body.shell-worker #publicShell{
  display:none!important;
}
body.shell-worker #workerShell{
  display:block!important;
}

body.shell-public #authShell,
body.shell-public #appShell,
body.shell-public #workerShell{
  display:none!important;
}
body.shell-public #publicShell{
  display:block!important;
}

@media(max-width:860px){
  body.shell-app #appShell{
    display:block!important;
    width:100%!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0!important;
  }
  body.shell-app #appShell>.main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:max(12px,env(safe-area-inset-left))!important;
    padding-right:max(12px,env(safe-area-inset-right))!important;
  }
  body.shell-app #appShell>.sidebar{
    width:min(84vw,300px)!important;
    max-width:300px!important;
    left:calc(-1 * min(84vw,300px) - 20px)!important;
  }
  body.shell-app #appShell>.sidebar.open{
    left:0!important;
  }
}

/* Mobile sidebar must never participate in document flow */
@media(max-width:860px){
  body.shell-app #appShell>.sidebar{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:calc(-1 * min(84vw,300px) - 20px)!important;
    width:min(84vw,300px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    z-index:40!important;
  }
  body.shell-app #appShell>.sidebar.open{
    left:0!important;
  }
  body.shell-app #appShell>.main{
    position:relative!important;
    top:0!important;
    margin:0!important;
    width:100%!important;
  }
}

