/* Touch feedback shares the theme reveal's light, without delaying the action. */
.dialog-tools{display:flex;align-items:center;gap:6px;flex-shrink:0}
.keyboard-dismiss{display:none}
button,.btn,.rail a,.tablet-menu-link{position:relative;isolation:isolate;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.press-glow{position:absolute;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(circle,#ffffffb3 0%,#ffffff38 42%,transparent 70%);mix-blend-mode:soft-light}
button:not(:disabled),.tablet-menu-link{transition:transform 180ms var(--ease-out),background 180ms ease,box-shadow 220ms ease}
button:not(:disabled):active,.tablet-menu-link:active{transform:scale(.97)}
main{position:relative}
.feature-wave{position:absolute;inset:0 0 auto;pointer-events:none;z-index:4;border-radius:24px;background:linear-gradient(125deg,#ffffff70,#e1edc22b 48%,#ffffff08);contain:paint}
[data-theme=dark] .feature-wave{background:linear-gradient(125deg,#c4dfa52e,#829a621a 48%,transparent)}
@media(max-width:600px){
  .app-top{height:76px;padding:10px 12px;gap:8px}
  .top-capsule{padding:3px;gap:0;background:linear-gradient(135deg,#ffffffb3,#ffffff4d);border-color:#ffffffe6;box-shadow:inset 0 1px 1px #fff,inset 0 -1px 2px #7a89672e,0 8px 24px #26351d14;backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6)}
  .top-capsule .search-button,.top-tools .icon-btn,.session-button{width:44px;height:44px;min-height:44px;justify-content:center;padding:0}
  .top-capsule .divider{display:none}.brand{gap:7px}.brand .wordmark{font-size:9px;letter-spacing:1.2px}
  .rail{left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));height:72px;padding:7px;gap:2px;align-items:center;justify-content:space-between;border-radius:27px;background:linear-gradient(135deg,#ffffffb3,#ffffff59 55%,#e3eac485);border:1px solid #fffffff2;box-shadow:inset 0 2px 2px #fff,inset 0 -2px 3px #87977138,0 12px 32px #26351d24;backdrop-filter:blur(18px) saturate(1.8);-webkit-backdrop-filter:blur(18px) saturate(1.8);transition:transform 320ms var(--ease-drawer),opacity 180ms ease}
  .rail a[data-route=agenda],.rail a[data-route=mensagens],.rail a[data-route=financeiro],.rail a[data-route=equipe],.rail a[data-route=ajustes],.rail-spacer{display:none}
  .rail a,.rail .tablet-more{display:flex;flex:1;min-width:0;width:auto;min-height:56px;height:56px;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:9px;border-radius:19px;z-index:1;color:var(--muted);background:none!important;box-shadow:none!important}
  .rail a.active,.rail .tablet-more.active{color:#fff}
  .rail a .icon,.rail .tablet-more .icon{height:21px;width:21px}
  .rail .rail-lens{top:0;left:0;border-radius:19px;transition:transform 480ms var(--ease-drawer),width 260ms var(--ease-out);box-shadow:inset 0 2px 2px #ffffff8c,inset 0 -2px 2px #15230b70,0 5px 12px #25391733}
  main{padding:16px 16px calc(110px + env(safe-area-inset-bottom))}
  .page-head p{max-width:100%;line-height:1.6}.page-head .actions .btn{min-height:46px;font-size:12px}
  .segment button{min-height:44px}.search input,.control,.filter-select{font-size:16px}.filter-select{max-width:100%}
  .panel,.metric{box-shadow:inset 0 1px #ffffffc4,0 8px 26px #32412007}
  #dialog[open]{position:fixed;display:flex;flex-direction:column;overflow:hidden;padding:0;width:calc(100% - 16px);max-width:none;max-height:calc(var(--visible-height,100dvh) - 16px);left:8px;right:8px;top:auto;bottom:calc(var(--layout-height,100dvh) - var(--visible-top,0px) - var(--visible-height,100dvh) + 8px);margin:0;border-radius:28px;background:linear-gradient(130deg,#ffffffb8,#ffffff73 58%,#e9efd69c);border-color:#fffffff2;box-shadow:inset 0 2px 2px #fff,inset 0 -2px 3px #82936f4a,0 20px 60px #18281140;backdrop-filter:blur(18px) saturate(1.7);-webkit-backdrop-filter:blur(18px) saturate(1.7);transform-origin:50% 100%}
  #dialog.drawer{height:calc(var(--visible-height,100dvh) - 16px);top:calc(var(--visible-top,0px) + 8px);bottom:auto}
  #dialog::backdrop{background:#202b1c45;backdrop-filter:none;-webkit-backdrop-filter:none;animation-duration:300ms}
  .dialog-top{position:relative;flex:none;min-height:84px;padding:16px 18px;gap:8px;backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(120deg,#ffffffa8,#ffffff45);border-bottom-color:#ffffffb3}
  .dialog-top h2{font-size:21px;margin-top:5px;letter-spacing:-.6px}.dialog-top .eyebrow{font-size:8px}
  .dialog-tools .icon-btn{width:44px;height:44px;border-radius:50%;background:#ffffff59;border:1px solid #ffffff85}
  .dialog-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:16px;padding:22px 18px}
  .dialog-body .form-grid,.form-grid:has(.field.full){grid-template-columns:1fr;gap:19px}
  .field>span{font-size:12px}.dialog-body .control{min-height:52px;font-size:16px;background:#ffffffb8;border-color:#a8b39b70;border-radius:14px;scroll-margin:16px}
  .dialog-body textarea.control{min-height:96px;resize:vertical}.dialog-body .check{min-height:48px}.dialog-body .check input{width:22px;height:22px}
  .dialog-actions{flex:none;flex-wrap:nowrap;display:flex;justify-content:space-between;gap:10px;margin:0;min-height:80px;padding:14px 18px max(14px,env(safe-area-inset-bottom));background:linear-gradient(120deg,#ffffffd9,#ffffff8a);border-top:1px solid #ffffffb3;box-shadow:0 -8px 24px #35432a05}
  .dialog-actions .btn{flex:1;min-width:0;min-height:50px;padding:0 12px;font-size:13px}.dialog-sheen{display:none}
  .tablet-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tablet-menu-link{flex-wrap:wrap;align-items:flex-start;gap:12px;min-height:122px;padding:16px;background:linear-gradient(140deg,#ffffffb3,#ffffff52);border-color:#ffffffe6;box-shadow:inset 0 1px 1px #fff,0 4px 12px #26351d07;border-radius:20px}
  .tablet-menu-link>span{flex-basis:100%}.tablet-menu-link strong{font-size:14px}.tablet-menu-link small{font-size:11px;line-height:1.5;margin-top:5px}.tablet-menu-link>.icon:last-child{display:none}
  .tablet-menu-link:last-child:nth-child(odd){grid-column:1/-1;min-height:76px;align-items:center}.tablet-menu-link:last-child:nth-child(odd)>span{flex-basis:0}
  .menu-sheet .dialog-body{padding-top:14px}.menu-sheet .dialog-top{border-bottom:0}
  [data-keyboard=true] .rail,[data-panel=open] .rail{opacity:0;transform:translateY(110%);pointer-events:none}
  [data-keyboard=true] .keyboard-dismiss{display:grid;place-items:center}
  [data-keyboard=true] .dialog-top{min-height:70px;padding-block:10px}
  [data-keyboard=true] .dialog-actions{min-height:72px;padding-block:10px}
  [data-keyboard=true] .dialog-body{padding-block:16px}
  [data-keyboard=true] .floating-footer{position:fixed;top:calc(var(--visible-top,0px) + var(--visible-height,100dvh) - 80px);bottom:auto;left:12px;right:12px;min-height:68px;margin:0}
  .floating-footer{bottom:calc(94px + env(safe-area-inset-bottom))}#toast{bottom:calc(96px + env(safe-area-inset-bottom))}
  [data-theme=dark] .top-capsule,[data-theme=dark] .rail{background:linear-gradient(135deg,#66745466,#263420d1 58%,#40523399);border-color:#ffffff5c;box-shadow:inset 0 2px 2px #ffffff52,inset 0 -2px 2px #0005,0 12px 30px #0004}
  [data-theme=dark] #dialog{background:linear-gradient(135deg,#4d5b3dc9,#25301fe6 58%,#3f5033c9);border-color:#ffffff59;box-shadow:inset 0 2px 2px #ffffff59,inset 0 -2px 2px #0005,0 20px 60px #0006}
  [data-theme=dark] .dialog-top,[data-theme=dark] .dialog-actions{background:linear-gradient(120deg,#435236b3,#293723a6);border-color:#ffffff26}
  [data-theme=dark] .dialog-tools .icon-btn{background:#ffffff0d;border-color:#ffffff26}
  [data-theme=dark] .dialog-body .control{background:#1c2819a6;border-color:#ffffff2e}
  [data-theme=dark] .tablet-menu-link{background:linear-gradient(140deg,#7b906333,#25351d66);border-color:#ffffff38;box-shadow:inset 0 1px #ffffff26,0 4px 12px #0001}
  [data-theme=dark] .panel,[data-theme=dark] .metric{box-shadow:inset 0 1px #ffffff17,0 8px 26px #0001}
}
@media(max-width:600px) and (max-height:500px){.dialog-top{min-height:68px;padding-block:9px}.dialog-actions{min-height:70px;padding-block:9px}.dialog-body{padding-block:14px}}
[data-opaque=true] .rail,[data-opaque=true] .top-capsule,[data-opaque=true] #dialog,[data-opaque=true] .dialog-top,[data-opaque=true] .dialog-actions,[data-opaque=true] .tablet-menu-link{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}
@media(prefers-reduced-transparency:reduce){.dialog-actions,.tablet-menu-link{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(prefers-reduced-motion:reduce){.feature-wave,.press-glow{display:none}}
@media(forced-colors:active){.rail,.top-capsule,#dialog,.dialog-actions,.tablet-menu-link{border:1px solid CanvasText}.rail a.active,.rail .tablet-more.active{outline:2px solid Highlight}.feature-wave,.press-glow{display:none}}
@media(max-width:600px){.hero-banner{flex-direction:column;align-items:flex-start;gap:18px}.hero-banner .btn{flex-shrink:0;min-height:46px;padding:0 18px;font-size:12px;max-width:100%}}
/* The handle and header own vertical drags; the body keeps native touch scrolling. */
.sheet-grip{display:none}
@media(max-width:600px){
  #dialog .dialog-top{padding-top:30px;touch-action:pan-x pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab}
  #dialog .dialog-tools{cursor:default}
  .sheet-grip{display:block;position:absolute;top:10px;left:calc(50% - 22px);width:44px;height:5px;border-radius:8px;background:#6c785655;box-shadow:inset 0 1px 1px #ffffffb3,0 1px 1px #34422914;pointer-events:none}
  [data-theme=dark] .sheet-grip{background:#d3e2bd70;box-shadow:inset 0 1px 1px #ffffff59}
  #dialog[data-dragging=true] .dialog-top{cursor:grabbing}
  #dialog[data-dragging=true]::backdrop{animation:none}
}
[data-pressed=true]{transform:scale(.97)!important;transition-duration:120ms!important}
[data-touch-cancelled=true]{transform:none!important}
[data-reduce=true] [data-pressed=true]{transform:none!important}
@media(prefers-reduced-motion:reduce){[data-pressed=true]{transform:none!important}}
/* Geometry stays identical while the keyboard opens/closes; only the visible area changes. */
@media(max-width:600px){
  #dialog.editable-sheet[open]{top:calc(var(--visible-top,0px) + 8px);bottom:auto;height:calc(var(--visible-height,100dvh) - 16px)}
  #dialog .dialog-top,[data-keyboard=true] #dialog .dialog-top{min-height:100px;padding:30px 18px 16px;overflow-anchor:none}
  #dialog .dialog-body,[data-keyboard=true] #dialog .dialog-body{padding:22px 18px;overflow-anchor:none;scroll-behavior:auto}
  #dialog .dialog-actions,[data-keyboard=true] #dialog .dialog-actions{min-height:80px;padding:14px 18px max(14px,env(safe-area-inset-bottom));overflow-anchor:none}
  #dialog.editable-sheet .keyboard-dismiss{display:grid;place-items:center;visibility:hidden;pointer-events:none}
  [data-keyboard=true] #dialog.editable-sheet .keyboard-dismiss{visibility:visible;pointer-events:auto}
  #dialog .dialog-tools{gap:4px}#dialog.editable-sheet .dialog-top h2{font-size:19px}
  [data-viewport-moving=true] #dialog .dialog-body{scroll-behavior:auto!important}
}
