/* Visual layer for /Grancasa/. Load AFTER the original stylesheet.
   No changes to API, records, authentication or application handlers. */
@media screen {
  :root { --gq-navy:#071127; --gq-teal:#087f96; --gq-cyan:#17c7e8; --gq-border:#d6e2ed; }
  body, button, input, select, textarea { font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif; }
  #root .login-page, #root .login-page *, #root .app, #root .app * { font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif!important; }
  body { background:#f4f6f9; color:#182033; }
  :focus-visible { outline:3px solid #17c7e8; outline-offset:3px; }
  #root.gq-menu-enabled .sidebar .menu-group-items { display:none!important; }
  body.gq-modal-open { overflow:hidden; }
  .gq-menu-backdrop { position:fixed; inset:62px 0 0; z-index:1000; display:grid; place-items:start center; overflow:hidden; background:#07112766; padding:clamp(8px,1.5vw,20px); backdrop-filter:blur(3px); animation:gq-fade-in .18s ease-out; }
  .gq-menu-dialog,.gq-menu-dialog * { box-sizing:border-box; font-family:Inter,"Segoe UI",Arial,sans-serif!important; }
  .gq-menu-dialog { display:grid; grid-template-columns:minmax(220px,252px) minmax(0,1fr); width:min(100%,1560px); min-width:0; height:min(760px,calc(100dvh - 92px)); min-height:min(410px,calc(100dvh - 92px)); background:#f8fbfe; color:#0b2740; border:1px solid #d6e2ed; border-radius:12px; box-shadow:0 24px 70px #07112755; overflow:hidden; animation:gq-dialog-in .22s cubic-bezier(.2,.75,.25,1); }
  @keyframes gq-fade-in { from { opacity:0; } }
  @keyframes gq-dialog-in { from { opacity:0; transform:translateY(12px) scale(.99); } }
  .gq-menu-rail { min-width:0; max-width:100%; background:linear-gradient(160deg,#092b3e,#081429 65%); padding:22px 14px 16px; display:flex; flex-direction:column; gap:6px; overflow-y:auto; }
  .gq-rail-title { color:white; font-size:13px; padding:0 8px; }
  .gq-rail-subtitle { color:#8eb0c7; font-size:10px; padding:0 8px 15px; border-bottom:1px solid #33516a; margin-bottom:5px; }
  .gq-module-button { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px; background:transparent; color:#c5d7ec; border:1px solid transparent; border-radius:7px; font-weight:700; font-size:12px; text-align:left; cursor:pointer; flex-shrink:0; transition:background .16s ease,border-color .16s ease,transform .16s ease; }
  .gq-module-button svg { width:27px; height:27px; padding:4px; color:#17c7e8; border:1px solid #17c7e850; border-radius:5px; }
  .gq-module-button:hover { background:#133349; transform:translateX(2px); }
  .gq-module-button[aria-pressed=true] { background:#173e52; color:white; border-color:#246076; border-left:3px solid #17c7e8; }
  .gq-module-count { margin-left:auto; min-width:22px; padding:2px 6px; border-radius:999px; background:#ffffff14; color:#9fc8dc; font-size:9px; text-align:center; }
  .gq-module-button[aria-pressed=true] .gq-module-count { background:#17c7e824; color:#c7f8ff; }
  .gq-rail-footer { margin-top:auto; padding:18px 8px 0; color:#86a3bc; font-size:10px; }
  .gq-menu-area { min-width:0; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
  .gq-menu-header { display:flex; width:100%; gap:12px; align-items:center; min-width:0; padding:clamp(14px,1.6vw,20px); background:#ffffffd9; border-bottom:1px solid #d6e2ed; }
  .gq-heading-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid #8edfeb; border-radius:7px; background:#eafafd; color:#00b6d2; flex-shrink:0; }
  .gq-heading-icon svg { width:23px; height:23px; }
  .gq-heading-text { flex:1; min-width:0; }
  .gq-heading-text small { font-size:9px; font-weight:800; color:#00a9bf; }
  .gq-heading-text h2 { margin:4px 0; font-size:19px; color:#0b2740; }
  .gq-heading-text p { margin:0; font-size:11px; line-height:1.5; color:#607b98; }
  .gq-menu-status { font-size:10px; font-weight:700; border:1px solid #d4e3ee; border-radius:20px; padding:5px 9px; color:#52718f; white-space:nowrap; }
  .gq-app-link { display:inline-flex; align-items:center; min-height:34px; padding:7px 11px; border:1px solid #00a9c3; border-radius:7px; background:#eafafd; color:#087f98; font-size:11px; font-weight:800; text-decoration:none; white-space:nowrap; }
  .gq-app-link:hover,.gq-app-link:focus-visible { background:#d7f7fb; border-color:#087f98; }
  .gq-app-link[hidden] { display:none!important; }
  .gq-menu-close { height:38px; width:38px; border:1px solid #cdddea; background:white; border-radius:8px; color:#52718f; font-size:24px; cursor:pointer; flex-shrink:0; transition:color .16s ease,background .16s ease,transform .16s ease; }
  .gq-menu-close:hover { color:#0b6177; background:#eafafd; transform:rotate(4deg); }
  .gq-menu-body { padding:12px 16px 26px; overflow:auto; min-height:0; overscroll-behavior:contain; scrollbar-gutter:stable; background:linear-gradient(110deg,#eaf7f9aa,transparent 34%); }
  .gq-menu-search { position:sticky; top:0; z-index:2; display:flex; align-items:center; gap:10px; min-height:46px; margin-bottom:12px; padding:0 10px 0 12px; border:1px solid #c7d9e9; border-radius:9px; background:#fffffff2; color:#6886a0; box-shadow:0 5px 16px #0b27400a; backdrop-filter:blur(8px); }
  .gq-menu-search:focus-within { border-color:#00c2df; box-shadow:0 0 0 3px #00c2df15; }
  .gq-search-icon { font-size:25px; }
  .gq-menu-search input { width:100%; min-width:0; border:0!important; background:transparent!important; box-shadow:none!important; outline:none!important; padding:10px 0; font-size:12px; color:#18394d; }
  .gq-search-clear { display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px; border:0; border-radius:50%; background:#e8f1f6; color:#46677f; font-size:19px; cursor:pointer; }
  .gq-search-clear:hover { background:#d8edf2; color:#087f96; }
  .gq-menu-sections { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
  .gq-menu-section { background:white; border:1px solid #d2e2ee; border-top-color:#25c9dc; border-radius:8px; overflow:hidden; box-shadow:0 4px 14px #173a5210; }
  .gq-section-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:38px; padding:10px; margin:0; border:0; border-bottom:1px solid #dce7f0; background:#f3f7fa; color:#23445e; font-size:10px; font-weight:800; text-align:left; text-transform:uppercase; cursor:pointer; }
  .gq-section-toggle:hover,.gq-section-toggle:focus-visible { background:#eaf5f8; }
  .gq-section-chevron { font-size:15px; transition:transform .18s ease; }
  .gq-section-toggle[aria-expanded=false] .gq-section-chevron { transform:rotate(180deg); }
  .gq-section-items { display:grid; }
  .gq-menu-item { display:flex; width:100%; align-items:center; gap:10px; padding:12px 10px; min-height:62px; text-align:left; border:0; border-bottom:1px solid #e0e9f1; background:white; color:#12344d; cursor:pointer; transition:background .15s ease,box-shadow .15s ease,transform .15s ease; }
  .gq-menu-item:last-child { border-bottom:0; }
  .gq-menu-item:hover,.gq-menu-item:focus-visible { position:relative; z-index:1; background:#f0fbfd; box-shadow:inset 3px 0 #17c7e8; transform:translateX(2px); }
  .gq-menu-item:disabled { opacity:.5; cursor:not-allowed; }
  .gq-item-icon { display:grid; place-items:center; width:34px; height:34px; border:1px solid #9edfea; border-radius:7px; background:#effbfe; color:#00b8d2; flex-shrink:0; }
  .gq-item-icon svg { width:20px; height:20px; }
  /* Semantic colors echo the reference while labels retain their meaning. */
  .gq-item-icon { --icon-color:#087f96; --icon-bg:#effbfe; --icon-border:#9edfea; color:var(--icon-color); background:var(--icon-bg); border-color:var(--icon-border); }
  .gq-item-icon:has([data-symbol=user], [data-symbol=car], [data-symbol=grid], [data-symbol=document]) { --icon-color:#2563eb; --icon-bg:#eff5ff; --icon-border:#b7ceff; }
  .gq-item-icon:has([data-symbol=check], [data-symbol=incoming], [data-symbol=calendar]) { --icon-color:#07834c; --icon-bg:#effbf4; --icon-border:#a9dfc0; }
  .gq-item-icon:has([data-symbol=tag], [data-symbol=box], [data-symbol=cart], [data-symbol=outgoing]) { --icon-color:#b66b05; --icon-bg:#fff8e9; --icon-border:#efd29c; }
  .gq-item-icon:has([data-symbol=link], [data-symbol=lock], [data-symbol=palette], [data-symbol=settings]) { --icon-color:#8850d3; --icon-bg:#f8f2ff; --icon-border:#d9bdf7; }
  .gq-item-icon:has([data-symbol=report], [data-symbol=wallet], [data-symbol=sync], [data-symbol=clock], [data-symbol=phone]) { --icon-color:#087f96; --icon-bg:#eafaff; --icon-border:#9ddbe6; }
  .gq-item-text { display:grid; gap:5px; min-width:0; }
  .gq-item-text strong { font-size:12px; }
  .gq-item-text small { font-size:10px; line-height:1.4; color:#66829d; }
  .gq-item-arrow { margin-left:auto; color:#70a4b9; font-size:18px; }
  .gq-menu-dialog [hidden] { display:none!important; }
  .gq-menu-empty { margin:28px auto; max-width:420px; padding:22px; border:1px dashed #b8cedd; border-radius:10px; background:#fff; color:#607b98; font-size:13px; text-align:center; }
  @media(max-width:1350px) { .gq-menu-backdrop { top:108px; } .gq-menu-dialog { height:calc(100dvh - 124px); min-height:0; } }
  @media(max-width:1050px) {
    .gq-menu-dialog { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); }
    .gq-menu-rail { flex-direction:row; align-items:center; padding:8px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; }
    .gq-rail-title,.gq-rail-subtitle,.gq-rail-footer { display:none; }
    .gq-module-button { white-space:nowrap; scroll-snap-align:start; }
    .gq-module-button:hover { transform:translateY(-1px); }
    .gq-module-count { margin-left:2px; }
  }
  @media(max-width:760px) {
    #root .app.layout-top .sidebar { transform:none!important; left:auto!important; width:100%!important; }
    #root .app.layout-top .topbar>.menu { display:none!important; }
    .gq-menu-backdrop { inset:56px 0 0; padding:0; place-items:stretch; }
    .gq-menu-dialog { width:100%; height:calc(100dvh - 56px); min-height:0; border-width:1px 0 0; border-radius:0; }
    .gq-menu-status { display:none; }
    .gq-app-link { min-height:38px; padding:8px 10px; }
    .gq-module-button { white-space:nowrap; min-height:38px; }
    .gq-menu-header { padding:10px 12px; gap:9px; }
    .gq-heading-icon { width:38px; height:38px; }
    .gq-heading-text h2 { margin:2px 0; font-size:17px; }
    .gq-heading-text p { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .gq-menu-sections { grid-template-columns:1fr; }
    .gq-menu-body { padding:8px 10px 18px; }
    .gq-menu-search { min-height:44px; margin-bottom:9px; }
    .gq-menu-item { min-height:58px; }
  }
  @media(max-width:480px) {
    .gq-app-link { width:38px; overflow:hidden; color:transparent; padding:0; justify-content:center; }
    .gq-app-link:before { content:'APP'; color:#087f98; font-size:9px; }
    .gq-menu-close { width:38px; height:38px; }
    .gq-heading-text small,.gq-heading-text p { display:none; }
    .gq-menu-rail { gap:4px; }
    .gq-module-button { gap:6px; padding:6px; }
    .gq-module-button svg { width:25px; height:25px; }
  }
  @media(max-height:650px) and (min-width:761px) {
    .gq-menu-backdrop { padding:6px 10px; }
    .gq-menu-dialog { height:calc(100dvh - 120px); }
    .gq-menu-header { padding:10px 14px; }
    .gq-menu-body { padding-top:8px; }
    .gq-menu-item { min-height:54px; padding-block:8px; }
  }
  @media(prefers-reduced-motion:reduce) {
    .gq-menu-backdrop,.gq-menu-dialog { animation:none; }
    .gq-module-button,.gq-menu-item,.gq-section-chevron,.gq-menu-close { transition:none; }
  }
  #root .has-official-logo > :not(.grancasa-official-logo) { display:none!important; }
  #root .has-official-logo .grancasa-official-logo { display:block; width:100%; height:auto; object-fit:contain; border-radius:4px; }
  #root .login-brand.has-official-logo { width:88px; }
  #root .login-mobile-brand.has-official-logo { width:88px; }
  #root .app.layout-top .brand.has-official-logo { width:49px!important; flex:0 0 49px; height:49px!important; }
  #root .legacy-home img { max-width:200px; }

  /* Preserve the native login form and its password visibility control. */
  main.login-page { padding:0; display:grid; grid-template-columns:minmax(0,68%) minmax(390px,32%); background:#f8fbfe; min-height:100vh; }
  main.login-page:before { display:none; }
  .login-page .login-hero { display:flex; position:relative; inset:auto; min-height:100vh; padding:48px 56px; flex-direction:column; justify-content:space-between; pointer-events:auto; background:linear-gradient(90deg,#040f1d80,#07152635),linear-gradient(0deg,#031224e8,transparent 85%),url('./login-hero.png') 57% center/cover; }
  .login-page .login-brand { position:static; transform:none; justify-content:flex-start; gap:12px; }
  .login-page .login-brand>b,.login-page .login-mobile-brand>b { width:42px; height:42px; border:0; border-radius:8px; background:var(--gq-cyan); color:#071127; display:grid; place-items:center; font-size:0; }
  .login-page .login-brand>b:after,.login-page .login-mobile-brand>b:after { content:'GC'; font-size:16px; font-weight:800; }
  .login-page .login-brand span { display:grid; color:white; gap:3px; }
  .login-page .login-brand strong { font-size:18px; letter-spacing:.04em; }
  .login-page .login-brand small { font-size:12px; color:#cee0eb; }
  .login-page .login-hero .hero-copy { display:block; margin:100px 0 30px; max-width:740px; }
  .login-page .login-hero:before,.login-page .login-hero:after { display:none!important; }
  .login-page .hero-copy>span { color:#a6eff5; letter-spacing:.18em; font-size:12px; font-weight:700; }
  .login-page .hero-copy h1 { color:#fff; font-size:clamp(2.4rem,4.5vw,4.7rem); line-height:1.04; letter-spacing:-.045em; margin:24px 0; }
  .login-page .hero-copy p { color:#d8e8f4; max-width:610px; font-size:17px; line-height:1.7; }
  .login-page .hero-points,.login-page .login-hero footer { display:none; }
  .login-page .login-panel { display:flex; flex-direction:column; align-items:stretch; justify-content:center; position:relative; padding:clamp(32px,4vw,72px); background:#f8fbfe; }
  .login-page .login-panel { min-height:0; }
  .login-page h1,.login-page h2 { font-weight:700!important; }
  .login-page .login-panel .login-mobile-brand { display:flex!important; gap:12px; align-items:center; margin-bottom:48px; color:#0b172b; }
  .login-page .login-panel form { width:100%; max-width:460px; border:0; padding:0; margin:0; background:none; box-shadow:none; }
  .login-page .login-panel form>.eyebrow { display:block; color:#087f96; font-size:11px; letter-spacing:.14em; font-weight:800; }
  .login-page .login-panel form>.eyebrow { background:none; padding:0; }
  .login-page .login-panel form>label>div,.login-page .login-submit { box-shadow:none; }
  .login-page .login-panel form>h2 { display:block; margin:12px 0; font-size:32px; color:#0b172b; letter-spacing:-.035em; }
  .login-page .login-panel form>p { display:block; color:#60758e; line-height:1.65; margin-bottom:28px; }
  .login-page .login-panel form>label { margin:0 0 18px; }
  .login-page .login-panel form>label>span { display:block; color:#1f3048; font-size:14px; text-shadow:none; text-transform:none; margin-bottom:8px; }
  .login-page .login-panel form>label>div { display:flex; align-items:center; background:white; border:1px solid #cddaea; border-radius:7px; height:48px; padding:0 12px; }
  .login-page .login-panel form>label>div:focus-within { border-color:#0ba8c1; box-shadow:0 0 0 3px #0ba8c11f; }
  .login-page .login-panel form>label svg:not(button svg) { display:block; width:18px; color:#60758e; flex-shrink:0; }
  .login-page .login-panel input { min-width:0; width:100%; height:100%; color:#182033; background:none; border:0; outline:none; padding:0 10px!important; font-size:16px; }
  .login-page .login-panel label button { background:transparent; border:0; color:#60758e; min-width:36px; min-height:36px; }
  .login-page .login-submit { display:flex; justify-content:center; align-items:center; width:100%; min-height:48px; background:#087f96; border:0; border-radius:8px; font:700 16px Inter,"Segoe UI",sans-serif; letter-spacing:normal; color:white; }
  .login-page .login-submit:hover { background:#066c80; }
  .login-page .login-submit:disabled { opacity:.65; cursor:wait; }
  .login-page .login-panel .login-support { display:block!important; margin-top:36px; color:#60758e; font-size:11px; text-align:left; }

  /* Desktop shell: reference header, tabs and module menus. */
  .app.layout-top { background:#f4f6f9!important; --blue:#087f96!important; }
  .app.layout-top .sidebar { height:62px!important; min-height:62px!important; padding:5px 12px!important; background:#071127!important; border-bottom:1px solid #5dd3e729!important; box-shadow:0 8px 24px #02081726!important; gap:12px!important; }
  .app.layout-top .brand { height:48px!important; gap:9px!important; }
  .app.layout-top .brandmark { width:34px!important; height:34px!important; background:#17c7e8!important; border:0!important; border-radius:8px!important; color:#071127!important; font-size:0!important; }
  .app.layout-top .brandmark:after { content:'GC'; font-size:14px; font-weight:800; }
  .app.layout-top .brand strong { font-size:14px!important; }
  .app.layout-top .sidebar nav { gap:5px!important; align-items:center; height:48px!important; }
  .app.layout-top .menu-group { height:38px!important; }
  .app.layout-top .menu-group-title { height:38px!important; padding:0 10px!important; border:1px solid #94a3b833!important; border-radius:8px!important; background:#101d36!important; color:#dce6f5!important; font-size:12px!important; gap:7px!important; }
  .app.layout-top .menu-group-title:hover,.app.layout-top .menu-group:focus-within>.menu-group-title { background:#13384b!important; border-color:#22c7d680!important; color:white!important; }
  .app.layout-top .group-icon { color:#24c8db!important; width:20px!important; }
  .app.layout-top .group-icon svg { width:18px!important; height:18px!important; }
  .app.layout-top .topbar { top:62px!important; height:44px!important; background:#edf2f7!important; border-bottom:1px solid #d6e2ed!important; padding:0 12px!important; }
  .app.layout-top>main { padding-top:0!important; }
  .app.layout-top .profile { flex-shrink:0; margin-left:auto; }
  .app.layout-top .sidebar { display:flex!important; flex-direction:row!important; align-content:flex-start!important; align-items:center!important; }
  .app.layout-top .brand { width:126px!important; flex:0 0 126px; }
  .app.layout-top .sidebar nav { min-width:0; flex:1; }
  .app .legacy-home { margin:0!important; width:100%!important; max-width:none!important; min-height:calc(100vh - 154px)!important; height:auto!important; border:1px solid #d6e2ed; border-radius:10px; background:#fff!important; display:grid!important; place-items:center; }
  .app .legacy-home img { width:min(360px,70%)!important; height:auto!important; opacity:1!important; }
  .app.layout-top .workspace-tab { color:#526782!important; border-radius:7px 7px 0 0!important; padding:0 16px!important; }
  .app.layout-top .workspace-tab.active { background:white!important; color:#087f96!important; border-top:2px solid #17c7e8!important; }
  .app.layout-top .menu-group-items { top:43px!important; border:1px solid #cdddea!important; border-radius:10px!important; padding:10px!important; background:#f8fbfe!important; box-shadow:0 18px 45px #07112730!important; }
  .app.layout-top .dropdown-heading { color:#0b2740!important; background:#edf7fa!important; border-bottom:1px solid #d6e2ed!important; padding:14px!important; }
  .app.layout-top .navitem { color:#253b53!important; border-radius:6px!important; min-height:39px!important; }
  .app.layout-top .navitem:hover,.app.layout-top .navitem.active { color:#066b80!important; background:#e7f8fb!important; }
  .app .card,.app .legacy-app { border-color:#d6e2ed; border-radius:10px; box-shadow:0 30px 72px #07112747,0 12px 30px #102a4333,0 3px 9px #102a4326; }
  .app .primary { background:#087f96!important; border-color:#087f96!important; border-radius:7px; }
  .app .functional-search,.app .legacy-search { border:1px solid #cddaea; background:white; border-radius:7px; }
  .app .functional-search:focus-within,.app .legacy-search:focus-within { border-color:#0ba8c1; box-shadow:0 0 0 3px #0ba8c11f; }
  .app table thead th { background:#f1f6fa; color:#274159; border-color:#d6e2ed; }
  @media(max-width:1350px) {
    main.login-page { grid-template-columns:55% 45%; }
    .login-page .login-hero { padding:36px; }
    .app.layout-top .sidebar { flex-wrap:wrap!important; height:108px!important; row-gap:0!important; }
    .app.layout-top .sidebar nav { order:3; width:100%!important; flex:0 0 100%; overflow-x:auto!important; }
    .app.layout-top .menu-group-items { position:fixed!important; top:108px!important; left:12px!important; right:12px!important; width:auto!important; max-height:calc(100vh - 130px); overflow-y:auto; }
    .app.layout-top .topbar { top:108px!important; }
    .app.layout-top>main { padding-top:0!important; }
  }
  @media(max-width:700px) {
    main.login-page { grid-template-columns:1fr; }
    .login-page .login-hero { min-height:290px; padding:24px; }
    .login-page .login-hero .hero-copy { margin:30px 0 0; }
    .login-page .hero-copy h1 { font-size:30px; margin:16px 0 0; }
    .login-page .hero-copy p { display:none; }
    .login-page .login-panel { padding:28px 24px 36px; }
    .login-page .login-panel .login-mobile-brand { margin-bottom:24px; }
    .app.layout-top .env { display:none; }
  }
}

/* Cadastro/edição: linguagem visual da referência, sem alterar os formulários. */
@media screen {
  #root .modal-backdrop { background:rgba(7,17,39,.58); padding:16px; }
  #root .modal-backdrop > :is(section,form,div):has(>header) { border:1px solid #30445e!important; border-top:2px solid #17c7e8!important; border-radius:8px!important; box-shadow:0 24px 70px #02081755!important; max-width:calc(100vw - 32px)!important; }
  #root .modal-backdrop > :is(section,form,div)>header { background:linear-gradient(110deg,#0b1028,#111d3a 65%,#123b50)!important; border-bottom:1px solid #263c57!important; padding:16px 20px!important; min-height:80px!important; align-items:center!important; }
  #root .modal-backdrop > :is(section,form,div)>header h2 { color:#fff!important; font-size:18px!important; line-height:1.3; margin:4px 0!important; }
  #root .modal-backdrop > :is(section,form,div)>header :is(span,small) { color:#68e4f5!important; font-size:10px!important; font-weight:800!important; letter-spacing:.04em!important; }
  #root .modal-backdrop > :is(section,form,div)>header p { color:#b7c5df!important; font-size:12px!important; margin:3px 0 0!important; }
  #root .modal-backdrop > :is(section,form,div)>header :is(.icon,.modal-close) { background:#0b1530!important; border:1px solid #344465!important; color:#e4efff!important; border-radius:7px!important; width:34px; height:34px; flex-shrink:0; }
  #root .modal-backdrop > :is(section,form,div)>header svg { color:#5fe1f5!important; }
  #root .modal-backdrop :is(.modal-body,.functional-form,.customer-v2-body,.customer-body,.proposal-body) { background:#f8fbff!important; }
  #root .modal-backdrop .form-section-intro { border-bottom:1px solid #e1eaf3; padding:0 0 12px; margin-bottom:14px; color:#0b2340; }
  #root .modal-backdrop .form-section-intro>svg { color:#0783ff!important; background:#e9f4ff; border:1px solid #b8dcff; border-radius:7px; padding:6px; width:32px; height:32px; box-sizing:border-box; }
  #root .modal-backdrop :is(.form-section-title,.form-section-intro b) { color:#0c2341!important; font-size:13px!important; }
  #root .modal-backdrop .form-section-intro span { color:#56718e; font-size:11px; }
  #root .modal-backdrop label>span { color:#193754!important; text-transform:none!important; font-size:12px!important; letter-spacing:normal!important; }
  #root .modal-backdrop :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea) { background:#fbfdff!important; color:#132a43!important; border:1px solid #c7dafa!important; border-radius:7px!important; min-height:36px; padding:8px 10px!important; box-sizing:border-box; max-width:100%; }
  #root .modal-backdrop :is(input,select,textarea):focus { outline:0; border-color:#1687ff!important; box-shadow:0 0 0 3px #1687ff1a!important; }
  #root .modal-backdrop :is(input,select,textarea):disabled { background:#edf2f7!important; color:#6d7d91!important; }
  #root .modal-backdrop .customer-form-tabs { background:#f1f6fc!important; border-bottom:1px solid #d9e5f0; }
  #root .modal-backdrop .customer-form-tabs button.active { background:#e8f4ff!important; color:#006ce0!important; border-color:#0985ff!important; }
  #root .modal-backdrop > :is(section,form,div)>footer { background:#0b1025!important; border-top:1px solid #243654!important; padding:12px 20px!important; min-height:58px!important; gap:10px; }
  #root .modal-backdrop > :is(section,form,div)>footer>span { color:#b9c7de!important; }
  #root .modal-backdrop > :is(section,form,div)>footer button { border-radius:7px!important; min-height:36px; padding:8px 14px; font-size:12px; font-weight:700; }
  #root .modal-backdrop > :is(section,form,div)>footer :is(.secondary,button:not(.primary)) { background:#141e3c!important; border:1px solid #324365!important; color:#e4edff!important; }
  #root .modal-backdrop > :is(section,form,div)>footer .primary { background:#0783ff!important; border:1px solid #0783ff!important; color:#fff!important; }
  #root .modal-backdrop > :is(section,form,div)>footer .primary:hover:not(:disabled) { background:#006bd9!important; }
  #root .modal-backdrop button:disabled { opacity:.5; cursor:not-allowed; }
  @media(max-width:600px) {
    #root .modal-backdrop { padding:8px!important; }
    #root .modal-backdrop > :is(section,form,div):has(>header) { max-width:calc(100vw - 16px)!important; max-height:calc(100dvh - 16px)!important; }
    #root .modal-backdrop > :is(section,form,div)>header { padding:12px 14px!important; }
    #root .modal-backdrop > :is(section,form,div)>footer { flex-wrap:wrap; padding:10px 14px!important; }
    #root .modal-backdrop > :is(section,form,div)>footer>div { margin-left:auto; }
  }
}
@media screen {
  #root .modal-backdrop :is(.customer-v2-grid,.form-grid,.product-form-grid)>label { background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; border-radius:0!important; }
  #root .modal-backdrop .form-section-intro { background:transparent!important; border:0!important; border-bottom:1px solid #e1eaf3!important; box-shadow:none!important; border-radius:0!important; }
}
@media screen and (max-width:600px) {
  #root .modal-backdrop { box-sizing:border-box!important; }
  #root .modal-backdrop > :is(section,form,div):has(>header) { box-sizing:border-box!important; max-width:100%!important; }
}
/* Mobile chassis registration: keep touch targets and fields within the viewport. */
.gc-new-chassis-button { margin: 0 0 16px; width: 100%; }
.gc-new-chassis select { width: 100%; min-height: 48px; padding: 12px; border: 1px solid #ccd8eb; border-radius: 10px; background: #fff; color: #17345a; font: inherit; }
.gc-new-chassis p { line-height: 1.5; }
.gc-new-chassis button:disabled { opacity: .55; cursor: not-allowed; }
/* Let the account action size naturally instead of using the old chevron column. */
#root .app.layout-top .profile{display:flex!important;align-items:center;gap:10px;width:auto!important;min-width:0;flex:0 0 auto;padding:0 0 0 12px!important}
#root .app.layout-top .profile .avatar{flex:0 0 30px}
#root .app.layout-top .profile .gc-signout{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;min-width:84px;min-height:38px;padding:8px 14px;margin:0;border:1px solid #34869b;border-radius:8px;background:#103044;color:#e5faff;font:inherit;font-size:12px;font-weight:700;line-height:1;white-space:nowrap;cursor:pointer;flex:0 0 auto;transition:background .15s,border-color .15s}
#root .app.layout-top .profile .gc-signout svg{display:block!important;width:17px;height:17px;flex:0 0 17px;color:#39d3ea}
#root .app.layout-top .profile .gc-signout:hover{background:#164356;border-color:#37bfd3}
#root .app.layout-top .profile .gc-signout:focus-visible{outline:2px solid #37bfd3;outline-offset:3px}
@media(max-width:700px){#root .app.layout-top .profile{gap:8px;padding-left:8px!important}#root .app.layout-top .profile .gc-signout{min-height:44px}}

/* Printed documents must keep their footer in the page flow. A fixed footer
   overlays long proposal, dossier and report content on later pages. */
@media print {
  .proposal-print>footer,
  .dossier-print>footer,
  .corporate-print-footer {
    position:static!important;
    inset:auto!important;
    margin-top:10mm!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .proposal-contract-texts section,
  .proposal-print tr,
  .dossier-print tr,
  .print-document tr {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}

/* KuberQuality workspace foundation: consistent feedback, controls and data views. */
@media screen {
  #root .app {
    --gq-surface-shadow:0 30px 72px #07112747,0 12px 30px #102a4333,0 3px 9px #102a4326;
    --gq-inner-shadow:0 12px 28px #102a432e,0 4px 10px #102a4320;
    --gq-control-shadow:0 5px 13px #102a4329,0 2px 5px #102a431f;
    --gq-raised-shadow:0 40px 110px #02081773,0 18px 46px #07112752,0 6px 16px #102a4338;
  }
  #root .app :is(.card,.legacy-app,.customer-panel,.functional-app,.ops-app,.production-app,.proposals-app,.products-app,.customers-app,.catalog-app,.import-kit-app,.config-app,.finance-app,.executive-dashboard,.kanban-app,.chassis-page) {
    box-shadow:var(--gq-surface-shadow);
  }
  #root .app :is(
    article,
    fieldset,
    [class$="-app"],[class*="-app "],
    [class$="-card"],[class*="-card "],
    [class$="-panel"],[class*="-panel "],
    [class$="-kpi"],[class*="-kpi "],
    [class$="-summary"],[class*="-summary "],
    [class$="-dashboard"],[class*="-dashboard "],
    [class$="-sheet"],[class*="-sheet "],
    [class$="-detail"],[class*="-detail "],
    [class$="-form"],[class*="-form "],
    .tablewrap,
    .cadastro-table-scroll,
    .blank-cards,
    .checklist-paper,
    .dossier-files,
    .dossier-stack,
    .material-cards,
    .model-items,
    .relation-list,
    .security-control,
    .security-settings,
    .security-sync,
    .security-view,
    .settings-layout,
    .vehicle-stage-list,
    .vehicle-stages
  ) {
    box-shadow:var(--gq-surface-shadow);
  }
  #root .app :is(.functional-modal,.form-modal,.customer-modal,.production-modal,.proposal-modal,.dossier-modal,.finance-dashboard-modal,.operational-modal) {
    box-shadow:var(--gq-raised-shadow);
  }
  #root .app :is(
    [role="dialog"],
    dialog,
    [class$="-modal"],[class*="-modal "],
    [class$="-dialog"],[class*="-dialog "]
  ):not(.modal-backdrop,.gq-menu-backdrop) {
    box-shadow:var(--gq-raised-shadow);
  }
  #root .app :is(
    table,
    [class$="-table"],[class*="-table "]
  ) {
    box-shadow:0 20px 46px #0711273b,0 8px 20px #102a432e,0 2px 7px #102a4324;
  }
  #root .app :is(
    [class$="-toolbar"],[class*="-toolbar "],
    [class$="-actions"],[class*="-actions "],
    [class$="-filters"],[class*="-filters "],
    [class$="-notice"],[class*="-notice "],
    [class$="-message"],[class*="-message "],
    [class$="-empty"],[class*="-empty "],
    [class$="-status"],[class*="-status "],
    [class$="-error"],[class*="-error "],
    [class$="-success"],[class*="-success "],
    [class$="-row"],[class*="-row "],
    [class$="-tabs"],[class*="-tabs "],
    [class$="-fields"],[class*="-fields "],
    [class$="-options"],[class*="-options "],
    .config-menu,
    .finance-dashboard-grid,
    .proposal-data-layout,
    .segmented
  ) {
    box-shadow:var(--gq-inner-shadow);
  }
  #root .app button { box-shadow:var(--gq-control-shadow); }
  #root .app :is(.btn,.primary,.secondary) {
    min-height:38px;
    border-radius:7px;
    font-weight:700;
    line-height:1.2;
    cursor:pointer;
    box-shadow:var(--gq-control-shadow);
    transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
  }
  #root .app :is(.btn,.primary,.secondary):hover:not(:disabled) { transform:translateY(-1px); }
  #root .app :is(.btn,.primary,.secondary):active:not(:disabled) { transform:translateY(0); }
  #root .app :is(.btn,.primary,.secondary):disabled,
  #root .app :is(input,select,textarea):disabled {
    opacity:.58;
    cursor:not-allowed;
  }
  #root .app :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {
    min-height:38px;
    border-color:#c7d6e3;
    box-shadow:0 3px 9px #102a431c;
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
  }
  #root .app :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus {
    outline:0;
    border-color:#0ba8c1;
    box-shadow:0 0 0 3px #0ba8c11f;
  }
  #root .app :is(input,textarea)::placeholder { color:#71859a; opacity:1; }
  #root .app :is(input,select,textarea):user-invalid {
    border-color:#c9362b;
    box-shadow:0 0 0 3px #c9362b18;
  }
  #root .app :is(.customer-panel,.legacy-app,.card) { min-width:0; }
  #root .app .table-scroll {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
    overflow:auto;
    overscroll-behavior-inline:contain;
    scrollbar-gutter:stable;
    border:1px solid #d6e2ed;
    border-radius:9px;
    background:#fff;
    box-shadow:0 20px 46px #0711273b,0 8px 20px #102a432e,0 2px 7px #102a4324;
  }
  #root .app :is(.ops-table,.production-table,.finance-paid-table,.finance-report-table,.checklist-paper-table) {
    box-shadow:0 20px 46px #0711273b,0 8px 20px #102a432e,0 2px 7px #102a4324;
  }
  #root .app .table-scroll:focus-visible {
    outline:3px solid #17c7e8;
    outline-offset:3px;
  }
  #root .app .table-scroll table { margin:0; }
  #root .app .table-scroll thead th {
    position:sticky;
    top:0;
    z-index:1;
    background:#edf4f8;
    color:#244159;
    box-shadow:inset 0 -1px #d6e2ed;
    white-space:nowrap;
  }
  #root .app .table-scroll tbody tr { transition:background-color .14s ease; }
  #root .app .table-scroll tbody tr:hover td,
  #root .app .table-scroll tbody tr:focus-within td { background:#f2fafc; }
  #root .app .table-scroll tbody tr:last-child td { border-bottom:0; }
  #root .app .table-scroll td:last-child :is(button,.btn) { margin:2px 4px 2px 0; }
  #root .app .app-toolbar {
    flex-wrap:wrap;
    gap:10px;
    border-bottom:1px solid #e2eaf1;
    background:#fbfdff;
    box-shadow:var(--gq-inner-shadow);
    position:relative;
    z-index:2;
  }
  #root .app .app-toolbar:last-child { border-top:1px solid #e2eaf1; border-bottom:0; }
  #root .app .empty-state,
  #root .app .table-scroll>p:only-child {
    margin:0;
    padding:34px 22px;
    color:#5d7389;
    line-height:1.55;
    text-align:center;
    background:linear-gradient(180deg,#fbfdff,#f5f9fc);
    box-shadow:var(--gq-inner-shadow);
  }
  #root .app .form-error:not(:empty),
  #root .app [role=alert]:not(:empty) {
    padding:11px 13px;
    border:1px solid #efb8b3;
    border-left:4px solid #c9362b;
    border-radius:7px;
    background:#fff4f2;
    color:#8f241c;
    line-height:1.45;
    box-shadow:var(--gq-inner-shadow);
  }
  #root .app :is(.customer-panel,.legacy-app,.card)>[role=status]:not(:empty) {
    margin:12px 16px;
    padding:10px 12px;
    border:1px solid #acdccc;
    border-left:4px solid #16845e;
    border-radius:7px;
    background:#f0fbf6;
    color:#176348;
    line-height:1.45;
    box-shadow:var(--gq-inner-shadow);
  }
  @media(max-width:620px) {
    #root .app .app-toolbar { align-items:stretch; padding:12px; }
    #root .app .app-toolbar>.list-search { flex:1 1 100%; }
    #root .app .app-toolbar>:is(button,.btn) { flex:1 1 auto; }
    #root .app .app-toolbar :is(.btn,.primary,.secondary) { min-height:44px; }
    #root .app .table-scroll { border-radius:7px; }
    #root .app .table-scroll :is(th,td) { padding:12px; }
  }
  @media(prefers-reduced-motion:reduce) {
    #root .app *,#root .app *::before,#root .app *::after {
      scroll-behavior:auto!important;
      animation-duration:.01ms!important;
      animation-iteration-count:1!important;
      transition-duration:.01ms!important;
    }
  }
}

/* APK download workspace: independent Grancasa release data and interactions. */
@media screen {
  #root .gc-apk-page { width:min(1420px,100%); margin:0 auto; color:#10233f; }
  #root .gc-apk-page>.gc-apk-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 14px; padding:24px 28px; border:1px solid #1f3556; border-radius:12px; background:linear-gradient(120deg,#071127 0%,#0c1c38 68%,#073d4b 100%); box-shadow:0 14px 36px #0711271f; }
  #root .gc-apk-hero span { color:#50def1; font-size:11px; font-weight:800; letter-spacing:.08em; }
  #root .gc-apk-hero h1 { margin:4px 0; color:#fff; font-size:26px; line-height:1.15; }
  #root .gc-apk-hero p { margin:0; color:#bdcae0; font-size:14px; }
  #root .gc-apk-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,310px); gap:14px; align-items:stretch; }
  #root .gc-apk-main-card,#root .gc-apk-qr-card,#root .gc-apk-steps>article { border:1px solid #d2dfeb; background:#fff; box-shadow:0 7px 22px #102a430c; }
  #root .gc-apk-main-card { position:relative; overflow:hidden; border-radius:12px; padding:28px; }
  #root .gc-apk-main-card:before { position:absolute; inset:0 0 auto; height:3px; content:''; background:linear-gradient(90deg,#13c7e6,#16b985,#7a58ef); }
  #root .gc-apk-intro { display:flex; gap:18px; align-items:flex-start; }
  #root .gc-apk-phone { display:grid; place-items:center; width:54px; height:54px; flex:0 0 54px; border:1px solid #9edff1; border-radius:10px; background:#eafaff; color:#0788ad; }
  #root .gc-apk-phone svg { width:27px; height:27px; }
  #root .gc-apk-eyebrow { color:#087f96; font-size:11px; font-weight:800; letter-spacing:.07em; }
  #root .gc-apk-intro h2 { margin:3px 0 8px; color:#071127; font-size:25px; line-height:1.2; }
  #root .gc-apk-intro p { max-width:820px; margin:0; color:#5b6f88; line-height:1.55; }
  #root .gc-apk-facts { display:grid; grid-template-columns:.85fr 1.25fr .85fr 1.25fr; gap:8px; margin:28px 0 16px; }
  #root .gc-apk-facts>div { min-width:0; min-height:82px; padding:14px; border:1px solid #d6e2ed; border-radius:9px; background:#f7f9fc; }
  #root .gc-apk-facts dt { margin:0 0 5px; color:#60748e; font-size:10px; font-weight:800; text-transform:uppercase; }
  #root .gc-apk-facts dd { margin:0; color:#071127; font-size:14px; font-weight:800; overflow-wrap:anywhere; }
  #root .gc-apk-actions { display:flex; flex-wrap:wrap; gap:9px; }
  #root .gc-apk-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid transparent; border-radius:8px; font:700 13px Inter,"Segoe UI",sans-serif; text-decoration:none; cursor:pointer; transition:transform .15s,background .15s,border-color .15s; }
  #root .gc-apk-button svg { width:17px; height:17px; }
  #root .gc-apk-button:hover { transform:translateY(-1px); }
  #root .gc-apk-button-primary { background:#0783ff!important; border-color:#0783ff!important; color:#fff!important; }
  #root .gc-apk-button-primary:hover { background:#006bd9!important; border-color:#006bd9!important; }
  #root .gc-apk-button-secondary { background:#fff; border-color:#c9d8e6; color:#132a43; }
  #root .gc-apk-button-secondary:hover { border-color:#0783ff; color:#006bd9; }
  #root .gc-apk-button:focus-visible,#root .gc-apk-qr-link:focus-visible,#root .gc-apk-integrity summary:focus-visible { outline:3px solid #14bdd8; outline-offset:3px; }
  #root .gc-apk-copy-status { min-height:20px; margin:9px 0 0; color:#08745f; font-size:12px; }
  #root .gc-apk-integrity { margin-top:8px; border-top:1px solid #e2eaf2; padding-top:12px; color:#526983; font-size:12px; }
  #root .gc-apk-integrity summary { width:max-content; max-width:100%; color:#15547c; font-weight:700; cursor:pointer; }
  #root .gc-apk-integrity code { display:block; margin-top:8px; padding:9px; border-radius:6px; background:#f2f6fa; color:#334b65; font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; overflow-wrap:anywhere; }
  #root .gc-apk-qr-card { display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:12px; padding:20px; text-align:center; }
  #root .gc-apk-qr-link { display:block; width:min(218px,100%); padding:10px; border:1px solid #d8e3ed; border-radius:10px; background:#fff; }
  #root .gc-apk-qr-link img { display:block; width:100%; height:auto; aspect-ratio:1; }
  #root .gc-apk-qr-card h2 { margin:12px 0 5px; color:#071127; font-size:17px; }
  #root .gc-apk-qr-card p { margin:0; color:#5b6f88; font-size:13px; line-height:1.5; }
  #root .gc-apk-qr-card small { margin-top:12px; color:#087f96; font-size:10px; font-weight:700; }
  #root .gc-apk-install { margin-top:14px; }
  #root .gc-apk-install>h2 { margin:0 0 10px; color:#10233f; font-size:18px; }
  #root .gc-apk-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  #root .gc-apk-steps>article { position:relative; min-height:138px; border-radius:10px; padding:18px 18px 18px 64px; }
  #root .gc-apk-steps>article>span { position:absolute; top:18px; left:18px; display:grid; place-items:center; width:31px; height:31px; border-radius:8px; background:#0783ff; color:#fff; font-size:13px; font-weight:800; }
  #root .gc-apk-steps h3 { margin:2px 0 7px; color:#071127; font-size:15px; }
  #root .gc-apk-steps p { margin:0; color:#5b6f88; font-size:12px; line-height:1.55; }
  @media(max-width:980px) {
    #root .gc-apk-layout { grid-template-columns:1fr; }
    #root .gc-apk-qr-card { display:grid; grid-template-columns:170px 1fr; grid-template-rows:auto auto auto; column-gap:22px; text-align:left; justify-items:start; }
    #root .gc-apk-qr-link { grid-row:1/4; }
    #root .gc-apk-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media(max-width:700px) {
    #root .gc-apk-page>.gc-apk-hero { align-items:flex-start; flex-direction:column; padding:20px; }
    #root .gc-apk-hero .gc-apk-button { width:100%; }
    #root .gc-apk-main-card { padding:20px; }
    #root .gc-apk-intro { flex-direction:column; }
    #root .gc-apk-facts,#root .gc-apk-steps { grid-template-columns:1fr; }
    #root .gc-apk-facts>div { min-height:68px; }
    #root .gc-apk-actions { display:grid; grid-template-columns:1fr; }
    #root .gc-apk-qr-card { display:flex; text-align:center; justify-items:center; }
    #root .gc-apk-qr-link { width:min(220px,100%); }
    #root .gc-apk-steps>article { min-height:auto; }
  }
}

/* KuberQuality interaction layer. Motion reinforces existing actions without
   turning informational content into misleading controls. */
@media screen {
  #root .app {
    --gq-hover-shadow:0 36px 84px #07112752,0 16px 34px #102a4338,0 5px 13px #102a432b;
    --gq-focus-ring:0 0 0 3px #17c7e82e,0 10px 24px #102a4329;
    --gq-ease:cubic-bezier(.2,.72,.24,1);
  }
  #root .app :is(
    article,
    [class$="-card"],[class*="-card "],
    [class$="-kpi"],[class*="-kpi "],
    [class$="-summary"],[class*="-summary "]
  ) {
    transition:transform .2s var(--gq-ease),box-shadow .2s var(--gq-ease),border-color .2s ease,background-color .2s ease;
  }
  @media(hover:hover) {
    #root .app :is(
      article,
      [class$="-card"],[class*="-card "],
      [class$="-kpi"],[class*="-kpi "],
      [class$="-summary"],[class*="-summary "]
    ):has(:is(button:not(:disabled),a[href],input:not(:disabled),select:not(:disabled),textarea:not(:disabled))):hover {
      z-index:1;
      transform:translateY(-3px);
      box-shadow:var(--gq-hover-shadow);
      border-color:#9ccbd7;
    }
  }
  #root .app :is(
    article,
    [class$="-card"],[class*="-card "],
    [class$="-kpi"],[class*="-kpi "],
    [class$="-summary"],[class*="-summary "]
  ):focus-within {
    box-shadow:var(--gq-focus-ring),var(--gq-surface-shadow);
    border-color:#17b8cf;
  }
  #root .app :is(button,.btn,a[role="button"],[tabindex="0"]):not(:disabled) {
    transition:transform .15s var(--gq-ease),box-shadow .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease;
  }
  #root .app :is(button,.btn,a[role="button"]):not(:disabled):active {
    transform:translateY(1px) scale(.985);
    box-shadow:0 2px 5px #102a4326;
  }
  #root .app :is(button,.btn,a[href],input,select,textarea,summary):focus-visible {
    outline:3px solid #17c7e8;
    outline-offset:3px;
  }
  #root .app :is(input:not([type=checkbox]):not([type=radio]),select,textarea):hover:not(:disabled) {
    border-color:#8fb8ca;
    box-shadow:0 5px 13px #102a4324;
  }
  #root .app :is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus {
    box-shadow:var(--gq-focus-ring);
  }
  #root .app :is(table,[class$="-table"],[class*="-table "]) tbody tr,
  #root .app :is([class$="-row"],[class*="-row "]) {
    transition:transform .16s var(--gq-ease),box-shadow .16s ease,background-color .16s ease;
  }
  @media(hover:hover) {
    #root .app :is(table,[class$="-table"],[class*="-table "]) tbody tr:hover,
    #root .app :is([class$="-row"],[class*="-row "]):hover {
      position:relative;
      z-index:1;
      transform:translateY(-1px);
      box-shadow:0 9px 22px #102a432b;
    }
    #root .app :is(table,[class$="-table"],[class*="-table "]) tbody tr:hover td {
      background:#eefafd;
    }
  }
  #root .app :is(table,[class$="-table"],[class*="-table "]) tbody tr:focus-within td {
    background:#eaf8fc;
  }
  #root .app :is(
    .workspace-tab,
    [role="tab"],
    .form-tabs>button,
    .customer-form-tabs>button,
    .vehicle-tabs>button,
    .detail-tabs>button,
    .segmented>button
  ) {
    transition:background-color .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s var(--gq-ease);
  }
  @media(hover:hover) {
    #root .app :is(
      .workspace-tab,
      [role="tab"],
      .form-tabs>button,
      .customer-form-tabs>button,
      .vehicle-tabs>button,
      .detail-tabs>button,
      .segmented>button
    ):hover:not(:disabled) {
      color:#066b80;
      background:#e9f9fc;
      transform:translateY(-1px);
    }
  }
  #root .app :is([role="dialog"],dialog,[class$="-modal"],[class*="-modal "],[class$="-dialog"],[class*="-dialog "]):not(.modal-backdrop,.gq-menu-backdrop) {
    transform-origin:center top;
    animation:gq-surface-enter .22s var(--gq-ease);
  }
  #root .app :is(.modal-backdrop,[class$="-overlay"],[class*="-overlay "]) {
    animation:gq-backdrop-enter .18s ease-out;
    backdrop-filter:blur(3px);
  }
  #root .app :is([role="status"],[role="alert"],.functional-message,.functional-success,.functional-error):not(:empty) {
    animation:gq-feedback-enter .24s var(--gq-ease);
  }
  #root .app [aria-busy="true"],
  #root .app :is(button,.btn)[data-loading="true"] {
    cursor:progress;
    opacity:.76;
  }
  #root .app details>summary {
    cursor:pointer;
    transition:color .16s ease,background-color .16s ease,box-shadow .16s ease;
  }
  #root .app details>summary:hover { color:#06778e; background:#eefafd; }
  @keyframes gq-surface-enter {
    from { opacity:0; transform:translateY(12px) scale(.985); }
    to { opacity:1; transform:translateY(0) scale(1); }
  }
  @keyframes gq-backdrop-enter { from { opacity:0; } to { opacity:1; } }
  @keyframes gq-feedback-enter {
    from { opacity:0; transform:translateY(-6px); }
    to { opacity:1; transform:translateY(0); }
  }
  @media(prefers-reduced-motion:reduce) {
    #root .app :is([role="dialog"],dialog,[class$="-modal"],[class*="-modal "],[class$="-dialog"],[class*="-dialog "],.modal-backdrop,[role="status"],[role="alert"]) {
      animation:none!important;
    }
    #root .app :is(article,[class$="-card"],[class*="-card "],[class$="-row"],[class*="-row "]):hover {
      transform:none!important;
    }
  }
}
