:root{--gl-ink:#172b42;--gl-active:#0758bd;--gl-outline:#becddd}
/* Scroll only the navigation; keep the brand and account actions reachable. */
@media screen {
  body.app-active .sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 80;
    height: 100vh; height: 100dvh; padding-bottom: 0;
    overflow: hidden; background: #f5f9fd;
    backdrop-filter: none; -webkit-backdrop-filter: none;
  }
  body.app-active .sidebar > .brand,
  body.app-active .sidebar > .workspace-switcher { flex-shrink: 0; }
  body.app-active .sidebar > .brand { margin-bottom: 10px; }
  body.app-active .sidebar-nav {
    flex: 1 1 0; min-height: 0; overflow-y: auto; overflow-x: hidden;
    align-content: start; overscroll-behavior-y: contain;
    scrollbar-width: thin; scrollbar-color: #b2c3d5 transparent;
    scrollbar-gutter: stable; padding-bottom: 12px;
  }
  body.app-active .sidebar-nav::-webkit-scrollbar { width: 6px; }
  body.app-active .sidebar-nav::-webkit-scrollbar-track { background: transparent; }
  body.app-active .sidebar-nav::-webkit-scrollbar-thumb { background: #b2c3d5; border-radius: 8px; }
  body.app-active .sidebar-nav::-webkit-scrollbar-thumb:hover { background: #819bb6; }
  body.app-active .sidebar-nav::-webkit-scrollbar-button { display: none; }
  body.app-active .sidebar-bottom {
    flex-shrink: 0; margin-top: 0; padding: 8px 12px max(10px, env(safe-area-inset-bottom));
    background: inherit; box-shadow: 0 -8px 18px rgba(37, 64, 91, .04);
  }
  body.app-active .sidebar-bottom .nav-item { min-height: 40px; }
  body.app-active .sidebar .nav-item:hover { transform: none; }
  body.app-active .sidebar .nav-item:focus-visible { outline: 2px solid #1478e5; outline-offset: -2px; }
  body.app-active .main { margin-left: var(--sidebar-width); }
}
@media screen and (max-width: 860px) {
  body.app-active .main { margin-left: 0; }
}
@media screen and (max-height: 520px) {
  body.app-active .sidebar > .brand { height: 58px; padding-top: 8px; padding-bottom: 8px; margin-bottom: 4px; }
  body.app-active .sidebar-bottom { gap: 0; padding-top: 4px; padding-bottom: 4px; }
  body.app-active .sidebar-bottom .nav-item { min-height: 34px; padding-top: 6px; padding-bottom: 6px; }
}
/* Keep login controls independent from the general full-width input rules. */
#login-form .password-field{position:relative;display:block}
#login-form .password-field input{padding-right:52px}
#login-form [data-action="toggle-login-password"]{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:9px;background:transparent;color:#64748b;cursor:pointer}
#login-form [data-action="toggle-login-password"]:hover{background:#eef2ff;color:#4353c8}
#login-form .login-row>label{display:inline-flex;align-items:center;gap:9px;margin:0;font-size:13px;line-height:1.4;cursor:pointer}
#login-form input[type="checkbox"]{appearance:auto;flex:0 0 16px;width:16px;height:16px;min-width:16px;min-height:16px;padding:0;margin:0;accent-color:var(--blue);border-radius:4px;box-shadow:none}
#login-feedback:empty{display:none}
#login-form .login-row{margin:2px 0 6px;flex-wrap:wrap;row-gap:12px}
@media(max-width:400px){#login-form .login-row{align-items:flex-start;flex-direction:column}}
.gl-icon{width:21px;height:21px;display:inline-block;flex-shrink:0;vertical-align:middle}.gl-icon-wrap{display:inline-flex;align-items:center;justify-content:center;margin-right:.25em}
.sidebar .nav-item{color:var(--brand-text,#263d55)!important;font-weight:600!important;border:1px solid transparent!important;transition:transform .16s ease,background-color .16s ease,color .16s ease;transform-origin:left center}
.sidebar .nav-item:hover{background:color-mix(in srgb,var(--brand-primary,#1478e5) 13%,var(--brand-menu,#f5f9fd))!important;color:var(--brand-primary,#084f9f)!important;transform:scale(1.025);border-color:color-mix(in srgb,var(--brand-primary,#1478e5) 35%,transparent)!important}
.sidebar .nav-item.active{color:var(--brand-tab-active-text,#fff)!important;background:var(--brand-tab-active,#095cbc)!important;border-color:var(--brand-tab-active,#0754ac)!important;box-shadow:0 3px 9px color-mix(in srgb,var(--brand-tab-active,#0758bd) 25%,transparent)!important}
.sidebar .nav-icon{color:inherit!important;background:transparent!important;opacity:1!important}.sidebar .nav-section-label{color:#49627b!important;font-size:11px!important;font-weight:750;letter-spacing:.08em}
.sidebar-nav{padding-left:12px!important;padding-right:16px!important}.menu-organizer{gap:10px!important}.sidebar-bottom{border-top:1px solid #b7cadd!important}
.workspace-tabs{background:color-mix(in srgb,var(--brand-card,#fff) 78%,transparent)!important;border-bottom:1px solid color-mix(in srgb,var(--brand-muted,#718198) 30%,transparent)!important;padding:9px 14px!important;overflow:visible!important}
.workspace-tabs-inner{gap:8px!important;padding:3px!important;overflow-x:auto!important}.workspace-tab{background:var(--brand-tab,#fff)!important;color:var(--brand-muted,#2a415b)!important;border:1px solid color-mix(in srgb,var(--brand-muted,#718198) 45%,transparent)!important;border-radius:8px!important;min-height:41px;font-weight:650!important;box-shadow:none!important;opacity:1!important;transition:transform .15s ease,background .15s ease!important}
.workspace-tab.active{background:var(--brand-tab-active,#0758bd)!important;color:var(--brand-tab-active-text,#fff)!important;border-color:var(--brand-tab-active,#0758bd)!important;box-shadow:0 3px 8px color-mix(in srgb,var(--brand-tab-active,#0758bd) 25%,transparent)!important}.workspace-tab.active i{color:var(--brand-tab-active-text,#fff)!important}.workspace-tab:hover{transform:scale(1.025);background:color-mix(in srgb,var(--brand-primary,#1478e5) 15%,var(--brand-tab,#fff))!important}.workspace-tab.active:hover{background:var(--brand-tab-active,#064b9f)!important}
.tabs button,.tab-button,.tab-btn,.settings-tab,.contract-tab,.proposal-tab{color:var(--brand-text,#29425d)!important;border-color:color-mix(in srgb,var(--brand-muted,#718198) 45%,transparent)!important;font-weight:650!important;opacity:1!important}.tabs button.active,.tab-button.active,.tab-btn.active,.settings-tab.active,.contract-tab.active,.proposal-tab.active{background:var(--brand-tab-active,#0758bd)!important;color:var(--brand-tab-active-text,#fff)!important;border-color:var(--brand-tab-active,#0758bd)!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-primary,#247bd0)!important;outline-offset:3px}.button-ghost{color:var(--brand-text,#234666)!important;border-color:color-mix(in srgb,var(--brand-muted,#718198) 45%,transparent)!important;background:var(--brand-card,#f8fbff)!important}.row-action{font-weight:650!important;color:var(--brand-primary,#0758bd)!important}.row-action.danger{color:#a92626!important}.status{font-weight:700!important;opacity:1!important}.status-amber{background:#fff0c2!important;color:#754500!important}.status-blue{background:#dceaff!important;color:#07509e!important}.status-green{background:#d9f2e6!important;color:#13623f!important}
.menu-order-list{list-style:none;padding:0;max-height:55vh;overflow-y:auto}.menu-order-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid #cedbe9;margin:5px 0;border-radius:8px;background:#f7faff}.menu-order-list li>span{display:flex;gap:10px;align-items:center}.menu-order-list li>div{display:flex;gap:6px}.menu-order-list button:disabled{opacity:.35;cursor:default}.modal-form input,.form-label input,.form-label select,.form-label textarea{border-color:color-mix(in srgb,var(--brand-muted,#718198) 45%,transparent)!important;color:var(--brand-text,#172b42)!important}.login-heading p,.form-label{color:var(--brand-text,#354e67)!important}.brand-image{max-width:190px;max-height:55px;object-fit:contain}.login-card .brand-image{max-width:235px;max-height:72px}.login-screen footer{color:inherit}
.gl-completion{background:#dbf5e7;border:1px solid #86c5a1;color:#12472e;border-radius:12px;padding:20px;margin-bottom:18px}.gl-completion h2{color:#12472e;margin:0 0 6px}.gl-payment-focus{order:-1;border:2px solid #1c6ac4!important;background:#eef6ff!important;box-shadow:0 4px 18px #2268a817!important}.gl-preview{position:fixed;inset:0;z-index:10000;background:#152c46b8;display:grid;place-items:center;padding:20px}.gl-preview-panel{background:white;border-radius:14px;width:min(1100px,96vw);height:90vh;display:flex;flex-direction:column;overflow:hidden}.gl-preview-header{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #c7d7e7}.gl-preview-body{flex:1;min-height:0;background:#e8eef5;display:flex;align-items:center;justify-content:center}.gl-preview-body iframe,.gl-preview-body object{width:100%;height:100%;border:0}.gl-preview-body img{max-width:100%;max-height:100%;object-fit:contain}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}.sidebar .nav-item:hover,.workspace-tab:hover{transform:none!important}}
@media(max-width:700px){.workspace-tab{min-height:44px}.gl-preview{padding:5px}.gl-preview-panel{width:100%;height:96vh}.gl-preview-header{flex-wrap:wrap;padding:10px}.menu-order-list li{padding:6px}.menu-order-list .icon-button{min-width:40px;min-height:40px}}

/* Contraste visual reforçado: superfícies nítidas e ações fáceis de identificar. */
body.app-active .app-shell{background:
  radial-gradient(circle at 4% 8%,color-mix(in srgb,var(--brand-primary,#1478e5) 13%,transparent),transparent 31%),
  radial-gradient(circle at 94% 12%,color-mix(in srgb,var(--brand-accent,#f1b746) 10%,transparent),transparent 30%),
  var(--brand-page-fill,#eef3fb)!important}
body.app-active .card,body.app-active .metric-card,body.app-active .quick-action,body.app-active .equipment-card,body.app-active .project-card,body.app-active .summary-card,body.app-active .settings-card,body.app-active .admin-card,body.app-active .access-card,body.app-active .connection-card,body.app-active .tracked-card{background:color-mix(in srgb,var(--brand-card,#fff) 96%,var(--brand-primary,#1478e5) 4%)!important;border:1px solid color-mix(in srgb,var(--brand-primary,#1478e5) 22%,#c8d4e3)!important;box-shadow:0 10px 28px rgba(26,55,92,.10)!important}
body.app-active .button-primary{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary,#1478e5) 88%,#071d3d),var(--brand-primary,#1478e5))!important;border-color:color-mix(in srgb,var(--brand-primary,#1478e5) 78%,#071d3d)!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--brand-primary,#1478e5) 28%,transparent)!important;text-shadow:0 1px 1px rgba(0,0,0,.18)}
body.app-active .button-primary:hover{filter:saturate(1.16) brightness(.94);transform:translateY(-1px);box-shadow:0 11px 24px color-mix(in srgb,var(--brand-primary,#1478e5) 34%,transparent)!important}
body.app-active .button-ghost,body.app-active .quick-action{background:color-mix(in srgb,var(--brand-primary,#1478e5) 7%,var(--brand-card,#fff))!important;border-color:color-mix(in srgb,var(--brand-primary,#1478e5) 42%,#bdc9d8)!important;color:color-mix(in srgb,var(--brand-primary,#1478e5) 70%,#102a49)!important;box-shadow:0 4px 12px rgba(32,63,100,.07)!important}
body.app-active .button-ghost:hover,body.app-active .quick-action:hover{background:color-mix(in srgb,var(--brand-primary,#1478e5) 14%,var(--brand-card,#fff))!important;border-color:var(--brand-primary,#1478e5)!important;color:color-mix(in srgb,var(--brand-primary,#1478e5) 78%,#071d3d)!important}
body.app-active input,body.app-active select,body.app-active textarea{background:color-mix(in srgb,var(--brand-card,#fff) 97%,var(--brand-primary,#1478e5) 3%)!important;border-color:color-mix(in srgb,var(--brand-primary,#1478e5) 35%,#b7c3d2)!important;color:var(--brand-text,#172b42)!important}
body.app-active input:focus,body.app-active select:focus,body.app-active textarea:focus{border-color:var(--brand-primary,#1478e5)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary,#1478e5) 16%,transparent)!important}
body.app-active .kanban-column{background:color-mix(in srgb,var(--brand-primary,#1478e5) 8%,var(--brand-card,#fff))!important;border-color:color-mix(in srgb,var(--brand-primary,#1478e5) 30%,#c3cfdd)!important;box-shadow:0 8px 20px rgba(31,62,98,.08)}
body.app-active .lead-card{background:var(--brand-card,#fff)!important;border:1px solid color-mix(in srgb,var(--brand-primary,#1478e5) 22%,#cbd5e1)!important;box-shadow:0 6px 16px rgba(31,62,98,.09)}
body.app-active .settings-note,body.app-active .dimensioning-note{background:color-mix(in srgb,var(--brand-primary,#1478e5) 7%,var(--brand-card,#fff))!important;border-color:color-mix(in srgb,var(--brand-primary,#1478e5) 24%,#cad5e2)!important}
body.app-active .overline,body.app-active .eyebrow{color:color-mix(in srgb,var(--brand-primary,#1478e5) 88%,#071d3d)!important}

/* Login: estado de conexão azul, sem a antiga mensagem verde. */
#login-feedback{display:flex;align-items:center;justify-content:center;gap:9px;min-height:22px;border-radius:10px;color:#b42336;font-weight:750;transition:background .2s ease,color .2s ease,padding .2s ease}
#login-feedback{max-width:100%;overflow-wrap:anywhere;word-break:normal;white-space:normal;text-align:left;line-height:1.45}
#login-form,#login-form>*{min-width:0}
#login-feedback.is-connecting{min-height:42px;padding:8px 12px;color:#0b4f9c;background:linear-gradient(90deg,#edf6ff,#f7fbff,#edf6ff);background-size:220% 100%;border:1px solid #b9d7f7;box-shadow:0 7px 18px rgba(13,100,190,.10);animation:login-loading-sheen 1.7s ease-in-out infinite}
#login-feedback.is-connecting::before{content:"";width:17px;height:17px;flex:0 0 auto;border:2px solid #b8d5f3;border-top-color:#0876e8;border-right-color:#0876e8;border-radius:50%;animation:login-loading-spin .75s linear infinite}
#login-feedback.is-success{color:#0b5f77;background:#eaf8fb;border:1px solid #b8e0e8;padding:8px 12px}
@keyframes login-loading-spin{to{transform:rotate(360deg)}}
@keyframes login-loading-sheen{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@media(prefers-reduced-motion:reduce){#login-feedback.is-connecting,#login-feedback.is-connecting::before{animation:none}}

/* Mais respiro entre a marca e a chamada principal do login. */
@media(min-width:861px){.login-intro .intro-copy{padding-top:32px}}

/* Navegação e páginas mais compactas, preservando todos os controles. */
@media(min-width:861px){
  body.app-active .sidebar{width:238px!important;flex-basis:238px!important;padding:15px 10px 12px!important}
  body.app-active .sidebar .brand{margin:0 12px 13px!important}
  body.app-active .sidebar-nav{gap:2px!important;padding:0 4px!important}
  body.app-active .nav-section-label{padding:10px 12px 5px!important;font-size:9px!important}
  body.app-active .nav-item{min-height:40px!important;padding:8px 11px!important;border-radius:9px!important;font-size:12px!important}
  body.app-active .sidebar-bottom .nav-item{min-height:38px!important;font-size:11px!important}
  body.app-active .topbar{height:64px!important;margin:8px 10px 0!important;padding:0 22px!important;border-radius:15px!important}
  body.app-active .page{padding:20px clamp(20px,2.4vw,38px) 44px!important}
  body.app-active .page-heading{margin-bottom:17px!important}
  body.app-active .page-heading h1{font-size:clamp(25px,2.3vw,32px)!important}
  body.app-active .workspace-tabs{padding:0 14px!important}
  body.app-active .workspace-tabs-inner{min-height:38px!important}
  body.app-active .workspace-tab{min-height:34px!important;margin-top:4px!important;padding:6px 9px 6px 11px!important}
}

/* Orçamento: mais conteúdo visível e menos rolagem entre decisões. */
@media(min-width:1181px){
  body.app-active .quote-layout{grid-template-columns:minmax(0,1.62fr) minmax(330px,.72fr)!important;gap:12px!important}
  body.app-active .quote-layout>.stack{gap:10px!important}
  body.app-active .quote-layout .form-card{padding:14px 16px!important;border-radius:14px!important}
  body.app-active .quote-layout .section-title{margin-bottom:11px!important}
  body.app-active .quote-layout .section-title h2{font-size:15px!important}
  body.app-active .quote-layout .section-title p{margin-top:2px!important;font-size:10px!important}
  body.app-active .quote-layout .form-grid{gap:10px 12px!important}
  body.app-active .quote-layout .form-label{gap:5px!important;font-size:11px!important}
  body.app-active .quote-layout input:not([type=range]):not([type=checkbox]),body.app-active .quote-layout select,body.app-active .quote-layout textarea{min-height:38px!important;padding:8px 10px!important;font-size:12px!important}
  body.app-active .quote-layout textarea{min-height:72px!important}
  body.app-active .quote-layout .range-field{gap:5px!important}
  body.app-active .quote-layout>.quote-summary-aside{top:78px!important;gap:8px!important}
  body.app-active .quote-layout .selected-equipment-brands{margin-bottom:9px!important}
}
body.app-active .kanban-column{min-height:310px!important}
body.app-active .equipment-card{min-height:205px!important;padding:15px!important}
body.app-active .project-card{padding:15px!important}
body.app-active .agenda-layout{gap:12px!important}
body.app-active .calendar-card,body.app-active .agenda-list{padding:16px!important}

/* Microinterações modernas para botões e ações. */
.button,.row-action,.nav-item,.workspace-tab,.catalog-tab,.icon-button,.text-button,.link-button{position:relative;isolation:isolate;overflow:hidden;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,filter .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease!important}
.button::after,.row-action::after,.icon-button::after,.catalog-tab::after{content:"";position:absolute;z-index:-1;inset:-45%;pointer-events:none;background:linear-gradient(115deg,transparent 36%,rgba(255,255,255,.42) 49%,transparent 62%);transform:translateX(-72%) rotate(8deg);transition:transform .48s ease}
.button:hover::after,.row-action:hover::after,.icon-button:hover::after,.catalog-tab:hover::after{transform:translateX(72%) rotate(8deg)}
.button:hover,.row-action:hover,.icon-button:hover{transform:translateY(-2px)}
.button:active,.row-action:active,.nav-item:active,.workspace-tab:active,.catalog-tab:active,.icon-button:active{transform:translateY(0) scale(.975)!important;transition-duration:.08s!important}
.button:disabled,.row-action:disabled,.icon-button:disabled{transform:none!important;filter:saturate(.55);cursor:not-allowed}
@media(prefers-reduced-motion:reduce){.button,.row-action,.nav-item,.workspace-tab,.catalog-tab,.icon-button,.text-button,.link-button{transition:none!important}.button::after,.row-action::after,.icon-button::after,.catalog-tab::after{display:none}.button:hover,.row-action:hover,.icon-button:hover{transform:none}}

/* Vidro estilo iOS: o fundo permanece visível e suavemente desfocado. */
body.app-active .sidebar{
  background:linear-gradient(155deg,rgba(246,250,255,.76),rgba(226,239,253,.64))!important;
  border-right:1px solid rgba(255,255,255,.78)!important;
  box-shadow:12px 0 34px rgba(33,67,107,.10),inset -1px 0 rgba(102,145,192,.12),inset 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(28px) saturate(155%)!important;
  -webkit-backdrop-filter:blur(28px) saturate(155%)!important
}
body.app-active .sidebar::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.48),transparent 34%,rgba(141,192,244,.09));border-radius:inherit}
body.app-active .sidebar .brand{padding-bottom:14px;border-bottom:1px solid rgba(103,143,187,.16)}
body.app-active .sidebar .nav-item{color:color-mix(in srgb,var(--brand-text,#172b42) 92%,#31577e)!important}
body.app-active .sidebar .nav-item:hover{background:rgba(255,255,255,.54)!important;border-color:rgba(255,255,255,.76)!important;box-shadow:0 7px 18px rgba(50,84,124,.08),inset 0 1px rgba(255,255,255,.84)!important}
body.app-active .sidebar .nav-item.active{background:linear-gradient(135deg,color-mix(in srgb,var(--brand-primary,#1478e5) 88%,#0a458d),var(--brand-primary,#1478e5))!important;border-color:rgba(255,255,255,.36)!important;color:#fff!important;box-shadow:0 9px 20px color-mix(in srgb,var(--brand-primary,#1478e5) 28%,transparent),inset 0 1px rgba(255,255,255,.28)!important}
body.app-active .sidebar-bottom{border-top:1px solid rgba(93,137,183,.22)!important;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.28))}

body.app-active .topbar{
  background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(245,249,255,.55))!important;
  border:1px solid rgba(255,255,255,.82)!important;
  box-shadow:0 12px 32px rgba(40,72,111,.09),inset 0 1px rgba(255,255,255,.95)!important;
  backdrop-filter:blur(26px) saturate(160%)!important;
  -webkit-backdrop-filter:blur(26px) saturate(160%)!important
}
body.app-active .topbar-search{background:rgba(247,251,255,.48)!important;border-color:rgba(114,151,191,.20)!important;box-shadow:inset 0 1px 2px rgba(39,67,101,.05),0 1px rgba(255,255,255,.76)!important;backdrop-filter:blur(12px)}
body.app-active .profile-trigger{padding:6px 8px;border-radius:12px;background:rgba(255,255,255,.28);transition:background .2s ease,box-shadow .2s ease}
body.app-active .profile-trigger:hover{background:rgba(255,255,255,.58);box-shadow:0 6px 16px rgba(42,75,115,.08)}

/* As abas não ficam mais presas dentro de uma grande caixa branca. */
body.app-active .workspace-tabs{margin:6px 10px 0!important;padding:3px 6px 5px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}
body.app-active .workspace-tabs-inner{align-items:center;gap:7px!important;min-height:39px!important;padding:0 2px!important}
body.app-active .workspace-tab{margin:0!important;min-height:34px!important;padding:7px 11px!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:11px!important;color:var(--brand-text,#263d55)!important;background:linear-gradient(135deg,rgba(255,255,255,.54),rgba(240,247,255,.36))!important;box-shadow:0 5px 15px rgba(42,75,115,.07),inset 0 1px rgba(255,255,255,.88)!important;backdrop-filter:blur(18px) saturate(145%)!important;-webkit-backdrop-filter:blur(18px) saturate(145%)!important}
body.app-active .workspace-tab:hover{background:rgba(255,255,255,.68)!important;border-color:rgba(122,163,207,.32)!important;box-shadow:0 8px 19px rgba(42,75,115,.11),inset 0 1px rgba(255,255,255,.92)!important}
body.app-active .workspace-tab.active{color:#fff!important;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-tab-active,#1478e5) 88%,#0a458d),var(--brand-tab-active,#1478e5))!important;border-color:rgba(255,255,255,.32)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--brand-tab-active,#1478e5) 26%,transparent),inset 0 1px rgba(255,255,255,.28)!important}
body.app-active .workspace-tab.active i{color:rgba(255,255,255,.9)!important}
@media(max-width:860px){body.app-active .sidebar{background:linear-gradient(155deg,rgba(246,250,255,.88),rgba(225,239,253,.82))!important}.workspace-tabs{margin-left:6px!important;margin-right:6px!important}}

/* Portal do cliente: abertura suave e arquivos diretamente em cada etapa. */
.client-portal-shell{animation:portal-shell-enter .42s cubic-bezier(.2,.75,.25,1) both}
.client-portal-header{animation:portal-header-enter .5s cubic-bezier(.2,.75,.25,1) .04s both}
.portal-welcome{animation:portal-content-enter .5s cubic-bezier(.2,.75,.25,1) .10s both}
.portal-stat-grid{animation:portal-content-enter .5s cubic-bezier(.2,.75,.25,1) .16s both}
.portal-layout{animation:portal-content-enter .55s cubic-bezier(.2,.75,.25,1) .22s both}
@keyframes portal-shell-enter{from{opacity:0}to{opacity:1}}
@keyframes portal-header-enter{from{opacity:0;transform:translateY(-14px) scale(.992)}to{opacity:1;transform:none}}
@keyframes portal-content-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.portal-stage-content{min-width:0;display:grid;gap:7px}
.portal-stage-content>span:first-child{display:grid;gap:2px}
.portal-stage-files{display:grid;gap:5px}
.portal-stage-file{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 7px;border:1px solid #dce9f7;border-radius:9px;background:linear-gradient(135deg,rgba(240,247,255,.82),rgba(255,255,255,.72))}
.portal-stage-file>small{min-width:0;overflow:hidden;color:#49627d!important;font-size:9px!important;text-overflow:ellipsis;white-space:nowrap}
.portal-stage-file>span,.portal-document-actions{display:flex;flex-wrap:wrap;gap:5px}
.portal-stage-file .button,.portal-document-actions .button{min-height:27px!important;padding:5px 8px!important;font-size:9px!important}
.portal-stage-file em{color:#8a97a8;font-size:9px;font-style:normal;font-weight:750;white-space:nowrap}
.portal-document-actions{justify-content:flex-end}

/* Destaque do boleto menor, refinado e sem pulsação agressiva. */
.portal-boleto-highlight.gl-payment-focus{position:relative;overflow:hidden;border:1px solid rgba(54,126,205,.42)!important;border-left:3px solid var(--portal-blue,#1478e5)!important;background:linear-gradient(135deg,rgba(241,248,255,.92),rgba(255,255,255,.82))!important;box-shadow:0 10px 28px rgba(36,91,151,.10),inset 0 1px rgba(255,255,255,.92)!important}
.portal-boleto-highlight.gl-payment-focus::before{content:""!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;border:0!important;border-radius:inherit!important;background:linear-gradient(112deg,transparent 28%,rgba(255,255,255,.48) 45%,transparent 61%)!important;transform:translateX(-105%)!important;animation:portal-boleto-sheen 4.8s ease-in-out infinite!important;pointer-events:none}
.portal-boleto-highlight.gl-payment-focus::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.44)}
.portal-boleto-highlight .portal-payment-step{transform:scale(.9)}
.client-portal-active .alert-blink{animation:portal-soft-pulse 2.6s ease-in-out infinite!important}
.portal-payment-pending .portal-boleto-open{animation:portal-soft-button 2.8s ease-in-out infinite!important}
@keyframes portal-boleto-sheen{0%,68%{transform:translateX(-105%)}88%,100%{transform:translateX(105%)}}
@keyframes portal-soft-pulse{0%,100%{opacity:.76;box-shadow:none}50%{opacity:1;box-shadow:0 0 0 3px rgba(20,120,229,.08)}}
@keyframes portal-soft-button{0%,100%{box-shadow:0 7px 16px rgba(20,120,229,.17)}50%{box-shadow:0 9px 22px rgba(20,120,229,.28)}}
@media(max-width:620px){
  .portal-stage-file{align-items:flex-start;display:grid}
  .portal-stage-file>span{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:7px}
  .portal-stage-file .button{width:100%;min-width:0!important;justify-content:center;white-space:nowrap}
  .portal-document-row{grid-template-columns:34px minmax(0,1fr)!important;align-items:start!important}
  .portal-document-actions{grid-column:2;display:grid!important;grid-template-columns:1fr 1fr;width:100%;gap:7px;margin-top:3px}
  .portal-document-actions .button{width:100%;min-width:0!important;justify-content:center;white-space:nowrap}
  .portal-document-row .portal-locked{grid-column:2!important}
}
@media(prefers-reduced-motion:reduce){.client-portal-shell,.client-portal-header,.portal-welcome,.portal-stat-grid,.portal-layout,.portal-boleto-highlight.gl-payment-focus::before,.client-portal-active .alert-blink,.portal-payment-pending .portal-boleto-open{animation:none!important}}

/* The visual editor is authoritative, including the former glass overrides. */
body.app-active, body.app-active .app-shell { background: var(--brand-page-fill, #f7f8fb) !important; }
body.app-active .sidebar { background: var(--brand-menu, #f5f9fd) !important; }
body.app-active .sidebar .brand strong,body.app-active .sidebar .nav-item{color:var(--brand-menu-text,#18314d)!important}
body.app-active .sidebar .brand small,body.app-active .sidebar .nav-section-label{color:var(--brand-menu-muted,#55708d)!important}
body.app-active .sidebar .nav-item.active,body.app-active .sidebar .nav-item.active:hover{color:var(--brand-tab-active-text,#fff)!important}
body.app-active .sidebar-bottom{background:transparent!important;border-top-color:color-mix(in srgb,var(--brand-menu-text,#18314d) 18%,transparent)!important;box-shadow:none!important}
body.app-active .sidebar .brand { width: auto; padding-left: 8px; padding-right: 8px; gap: 9px; }
body.app-active .sidebar .brand strong { font-size: 18px; letter-spacing: -.5px; }
body.app-active .sidebar .brand small { font-size: 9px; letter-spacing: 1.5px; }
body.app-active .sidebar::before { background: none; }
body.app-active .card, body.app-active .metric-card, body.app-active .quick-action,
body.app-active .equipment-card, body.app-active .project-card, body.app-active .summary-card,
body.app-active .settings-card, body.app-active .admin-card, body.app-active .access-card,
body.app-active .connection-card, body.app-active .tracked-card { background: var(--brand-card, #fff) !important; }
body.app-active .workspace-tab { background: var(--brand-tab, #eef5fd) !important; }
body.app-active .workspace-tab.active, body.app-active .workspace-tab.active:hover,
body.app-active .sidebar .nav-item.active, body.app-active .sidebar .nav-item.active:hover {
  background: var(--brand-tab-active, #0758bd) !important;
  color: var(--brand-tab-active-text, #fff) !important;
}
body.app-active .workspace-tab.active i { color: var(--brand-tab-active-text, #fff) !important; }
.brand-choice-card input:focus-visible + span { outline: 3px solid var(--brand-primary, #1478e5); outline-offset: 2px; }
.brand-color-modal { max-width: 440px; }
#brand-color-editor { display: grid; gap: 16px; }
.brand-color-preview { height: 72px; border: 1px solid #b7c3d2; border-radius: 12px; }
.brand-color-presets { display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; }
.brand-color-presets button { min-width: 0; height: 36px; border: 1px solid #aebbc9; border-radius: 8px; cursor: pointer; }
.brand-color-channel { display: grid; grid-template-columns: 70px minmax(0, 1fr) 30px; gap: 8px; align-items: center; font-size: 12px; }
.brand-color-channel input { width: 100%; min-width: 0; }
.brand-color-channel output { text-align: right; }
/* The company mark is shared by profile, contracts and outgoing messages. */
.profile-trigger .user-avatar img,.workspace-switcher .workspace-avatar img{width:100%;height:100%;object-fit:contain;border-radius:inherit;background:#fff}
.profile-trigger .user-avatar,.workspace-switcher .workspace-avatar{overflow:hidden;background:#fff}
.profile-trigger > span:nth-child(2){display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.2}
.profile-trigger > span:nth-child(2) b,.profile-trigger > span:nth-child(2) small{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-trigger > span:nth-child(2) small{margin-top:3px}
.nav-submenu{min-width:0}
.nav-submenu-summary{display:flex;align-items:center;gap:11px;min-height:40px;padding:8px 11px;border-radius:9px;cursor:pointer;color:var(--brand-menu-text,#18314d);font-size:12px;font-weight:700;list-style:none}
.nav-submenu-summary::-webkit-details-marker{display:none}
.nav-submenu-summary:hover,.nav-submenu-summary:focus-visible{background:rgba(255,255,255,.54);outline:none}
.nav-submenu-chevron{margin-left:auto;transition:transform .2s ease}
.nav-submenu[open] .nav-submenu-chevron{transform:rotate(180deg)}
.nav-submenu-items{display:grid;gap:2px;padding-left:20px;border-left:1px solid rgba(76,108,146,.24);margin-left:18px}
.nav-submenu-items .nav-item{width:100%;min-height:36px!important;font-size:11px!important;padding:7px 9px!important}
