/* v0.24.65 crisp + smooth portal-wide interaction pass */
:root{
  --sme-ui-radius:11px;
  --sme-ui-radius-sm:8px;
  --sme-ui-gap:10px;
  --sme-ui-fast:120ms;
  --sme-ui-normal:170ms;
  --sme-ui-ease:cubic-bezier(.2,.78,.24,1);
  --sme-text-1:#f5f8fa;
  --sme-text-2:#c3ced5;
  --sme-text-3:#91a0aa;
  --sme-surface-1:#111920;
  --sme-surface-2:#151f27;
  --sme-surface-3:#1a2630;
  --sme-focus:rgba(242,106,33,.22)
}
html{scrollbar-gutter:stable}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#page{min-width:0}
.shell{min-width:0}
.page-head{min-height:0!important}
@media(min-width:761px){
  .page-head{padding:18px 6px 14px!important;margin-bottom:11px!important}
  .page-head .title{line-height:1.08}
  .page-head .subtitle{margin-top:4px}
  .sme-context-strip{margin-bottom:10px}
}
:is(.panel,.card,.dash-card,.section,.mobile-card,.tech-job-card,.parts-conversation-card,.dispatch-live-card,.planner-stop-card,.file-card,.comm-thread){
  border-radius:var(--sme-ui-radius)!important
}
:is(.panel,.card,.dash-card,.section){min-width:0}
:is(.panel-head,.dash-card-head,.section-title){letter-spacing:.005em}
:is(.panel-sub,.dash-card-sub,.muted,.activity-when,.file-card-main span,.file-card-main small){color:var(--sme-text-3)!important}
:is(.panel-title,.dash-card-title,.section-title,.file-card-main b,.comm-thread b){color:var(--sme-text-1)!important}
.btn,.pill-btn,.top-action,.nav-item{
  transition:background var(--sme-ui-fast) ease,border-color var(--sme-ui-fast) ease,color var(--sme-ui-fast) ease,box-shadow var(--sme-ui-fast) ease,transform var(--sme-ui-fast) var(--sme-ui-ease)
}
.btn{border-radius:9px;font-weight:800;letter-spacing:.005em}
.btn:not(.btn-small){min-height:38px}
.btn-small{min-height:30px}
.btn:hover:not(:disabled){border-color:#435564}
.btn:active:not(:disabled),.pill-btn:active,.top-action:active{transform:translateY(1px) scale(.985)!important}
.btn:focus-visible,.pill-btn:focus-visible,.top-action:focus-visible,.nav-item:focus-visible,[role="button"]:focus-visible,[data-ticket]:focus-visible{
  outline:2px solid #ff9859!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 4px var(--sme-focus)!important
}
.btn.is-busy{position:relative;cursor:progress!important;opacity:.88!important;padding-left:34px!important}
.btn.is-busy:before{
  content:"";position:absolute;left:13px;top:50%;width:12px;height:12px;margin-top:-7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sme-crisp-spin .65s linear infinite
}
@keyframes sme-crisp-spin{to{transform:rotate(360deg)}}
.nav-item{border-radius:9px}
.nav-item:hover{background:rgba(255,255,255,.055)}
.nav-item.active{background:linear-gradient(90deg,rgba(242,106,33,.14),rgba(242,106,33,.035))}
.nav-item.active .nav-label{color:#fff}
.input,.select,.textarea{border-radius:9px;transition:border-color var(--sme-ui-fast) ease,box-shadow var(--sme-ui-fast) ease,background var(--sme-ui-fast) ease}
.input:hover,.select:hover,.textarea:hover{border-color:#3b4d5a!important}
.table-wrap,.dash-table-wrap,.inline-search-results,.comm-thread-list,.sme-message-stream,.drawer-scroll,.modal-body,.dispatch-board-list,.planner-unscheduled-list,.smart-route-list{
  scrollbar-gutter:stable;
  overscroll-behavior:contain
}
.table-wrap,.dash-table-wrap{border-radius:var(--sme-ui-radius)!important}
.table-wrap table,.dash-table{border-collapse:separate;border-spacing:0}
.table-wrap thead th,.dash-table thead th{
  position:sticky;top:0;z-index:3;
  background:#0c1319!important;
  box-shadow:0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(10px)
}
.table-wrap tbody tr,.dash-table tbody tr{transition:background var(--sme-ui-fast) ease,box-shadow var(--sme-ui-fast) ease}
.table-wrap tbody tr:hover,.dash-table tbody tr:hover{background:#192630!important}
.table-wrap tbody tr[aria-selected="true"],.table-wrap tbody tr.selected,.mobile-card.selected,.file-card.selected{
  background:#1b2a34!important;
  box-shadow:inset 3px 0 #f26a21
}
.table-wrap :is(th,td){vertical-align:middle}
.status,.badge,.current-chip{font-weight:850;letter-spacing:.01em}
.quickbar,.work-toolbar,.parts-toolbar,.dispatch-toolbar,.comm-viewbar,.dashboard-controls{
  border-radius:var(--sme-ui-radius)!important;
  backdrop-filter:blur(12px)
}
.kpis{gap:10px!important}
.kpi{border-radius:var(--sme-ui-radius)!important}
.kpi-value,.dash-kpi-value{font-variant-numeric:tabular-nums}
:is(.mobile-card,.tech-job-card,.parts-conversation-card,.planner-stop-card,.dispatch-live-card,.file-card,.comm-thread,.customer-equipment-card,.customer-history-button){
  content-visibility:auto;
  contain-intrinsic-size:72px
}
.file-card-photo{contain-intrinsic-size:100px}
:is(.mobile-card,.tech-job-card,.parts-conversation-card,.planner-stop-card,.dispatch-live-card,.file-card,.comm-thread){
  transition:background var(--sme-ui-fast) ease,border-color var(--sme-ui-fast) ease,box-shadow var(--sme-ui-normal) var(--sme-ui-ease),transform var(--sme-ui-normal) var(--sme-ui-ease)!important
}
@media(hover:hover){
  :is(.mobile-card,.tech-job-card,.parts-conversation-card,.planner-stop-card,.dispatch-live-card,.file-card,.comm-thread):hover{
    transform:translateY(-1px)!important;
    box-shadow:0 12px 28px rgba(0,0,0,.22)!important
  }
}
.skeleton{
  background:linear-gradient(100deg,#18232c 18%,#263540 47%,#18232c 76%)!important;
  background-size:220% 100%!important;
  animation:sme-crisp-shimmer 1.25s ease-in-out infinite!important
}
@keyframes sme-crisp-shimmer{to{background-position:-220% 0}}
.sme-route-skeleton{display:grid;gap:12px}
.sme-route-skeleton .kpis{margin-bottom:0!important}
.sme-route-skeleton .skeleton-card{height:78px!important}
.sme-skeleton-panel{padding:14px!important;min-height:310px}
.sme-skeleton-toolbar{display:flex;gap:8px;margin-bottom:15px}
.sme-skeleton-toolbar .skeleton{display:block;width:116px;height:34px;border-radius:9px}
.sme-skeleton-toolbar .skeleton:first-child{width:min(320px,45%)}
.sme-skeleton-rows{display:grid;gap:8px}
.sme-skeleton-rows .skeleton{display:block;height:42px;border-radius:9px}
.sme-skeleton-rows .skeleton:nth-child(2n){width:96%}
.sme-skeleton-rows .skeleton:nth-child(3n){width:92%}
.sme-page-leaving{opacity:1!important;transform:none!important;transition:none!important}
.sme-page-entering{animation:sme-crisp-page-in .16s var(--sme-ui-ease)!important}
@keyframes sme-crisp-page-in{from{opacity:.76;transform:translateY(2px)}to{opacity:1;transform:none}}
#page.sme-background-refresh{position:relative}
#page.sme-background-refresh:after{
  content:"Updating";position:fixed;right:18px;top:78px;z-index:92;
  padding:5px 9px 5px 22px;border:1px solid rgba(188,204,214,.16);border-radius:999px;
  background:rgba(12,19,25,.88);color:#aebbc4;font-size:8.5px;font-weight:850;letter-spacing:.035em;
  backdrop-filter:blur(10px);pointer-events:none;box-shadow:0 7px 20px rgba(0,0,0,.18)
}
#page.sme-background-refresh:before{
  content:"";position:fixed;right:75px;top:88px;z-index:93;width:7px;height:7px;border-radius:50%;
  background:#49b77c;box-shadow:0 0 0 3px rgba(73,183,124,.11);pointer-events:none
}
.loading-line{height:2px!important;opacity:.9}
.live-update-notice{border-color:rgba(73,183,124,.3)!important;background:rgba(18,35,29,.96)!important;color:#dff7e9!important}
.live-update-notice small{color:#9fc4ad!important}
.toast{border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.drawer,.modal{box-shadow:0 28px 80px rgba(0,0,0,.42)!important}
.drawer-head,.modal-head{position:sticky;top:0;z-index:5;background:rgba(16,24,32,.96);backdrop-filter:blur(14px)}
.drawer-scroll,.modal-body{scroll-behavior:smooth}
.file-card-main b,.comm-thread-top>b,.customer-document-row b{overflow-wrap:anywhere}
.file-card-main b{font-size:11px!important}
.file-card-main span{font-size:9px!important}
.file-card-main small{font-size:8.5px!important}
body:is(.sme-route-work,.sme-route-tech,.sme-route-writer,.sme-route-manager,.sme-route-parts,.sme-route-customers,.sme-route-files,.sme-route-dispatch,.sme-route-communications) .panel{
  margin-bottom:11px
}
body:is(.sme-route-work,.sme-route-tech,.sme-route-writer,.sme-route-manager,.sme-route-parts,.sme-route-customers,.sme-route-files,.sme-route-dispatch,.sme-route-communications) :is(.panel-head,.section-title){
  padding-top:11px;padding-bottom:9px
}
body.sme-route-files .file-grid{gap:8px!important}
body.sme-route-files .file-card{min-height:54px}
body.sme-route-communications .comm-thread{min-height:58px}
body.sme-route-tech .tech-job-card{min-height:0}
@media(max-width:760px){
  html{scrollbar-gutter:auto}
  .page-head{margin-bottom:7px!important}
  .sme-context-strip{margin-bottom:7px!important}
  .btn:not(.btn-small){min-height:40px}
  .table-wrap thead th,.dash-table thead th{position:static}
  #page.sme-background-refresh:after{top:auto;right:9px;bottom:calc(9px + env(safe-area-inset-bottom));font-size:8px}
  #page.sme-background-refresh:before{top:auto;right:66px;bottom:calc(18px + env(safe-area-inset-bottom))}
  .sme-skeleton-toolbar .skeleton:nth-child(n+3){display:none}
  .sme-skeleton-toolbar .skeleton:first-child{width:64%}
  :is(.mobile-card,.tech-job-card,.parts-conversation-card,.planner-stop-card,.dispatch-live-card,.file-card,.comm-thread):hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .drawer-scroll,.modal-body{scroll-behavior:auto}
  .skeleton,.btn.is-busy:before{animation:none!important}
  .sme-page-entering{animation:none!important}
}
