:root{
  --bg:#f3f6fb;
  --panel:#ffffff;
  --panel-2:#f8fafc;
  --text:#10253f;
  --muted:#60708a;
  --border:#dbe3ee;
  --primary:#173555;
  --primary-dark:#0d2540;
  --accent:#d6b15f;
  --accent-dark:#c39b43;
  --sidebar:#081a2f;
  --success:#15803d;
  --warning:#b7791f;
  --danger:#c53030;
  --shadow:0 10px 30px rgba(8,26,47,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;background:linear-gradient(180deg,#081a2f,#0d2540);color:#fff;padding:22px 20px;box-shadow:8px 0 24px rgba(15,23,42,.14);display:flex;flex-direction:column}
.brand-card{background:#fff;border-radius:18px;padding:10px 10px 8px;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.brand-logo{display:block;width:100%;height:auto;border-radius:12px}
.brand-mini{padding:14px 4px 18px;display:flex;flex-direction:column;gap:4px}
.brand-mini strong{font-size:18px;letter-spacing:-.02em}
.brand-mini span{font-size:12px;color:#b8c6db;line-height:1.35}
.sidebar nav{display:flex;flex-direction:column;gap:8px}
.sidebar a{color:#e7edf6;padding:12px 14px;border-radius:12px;transition:.18s;font-weight:600}
.sidebar a:hover{background:rgba(255,255,255,.09);text-decoration:none;color:#fff}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;display:flex;flex-direction:column;gap:6px;color:#b8c6db;font-size:12px}
.content{margin-left:280px;padding:28px;min-height:100vh}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px}.page-header h1{font-size:32px;line-height:1.1;margin:0 0 6px;letter-spacing:-.04em}.page-header p{margin:0;color:var(--muted)}
.eyebrow{display:inline-block;padding:6px 10px;border-radius:999px;background:#eaf1f8;color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.header-actions{display:flex;gap:10px;align-items:center}
.btn,button{border:0;background:var(--primary);color:#fff;border-radius:12px;padding:10px 15px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px rgba(23,53,85,.18)}
.btn:hover,button:hover{background:var(--primary-dark);text-decoration:none}
.btn-secondary{display:inline-block;background:#fff;border:1px solid var(--border);color:#1f2937;border-radius:12px;padding:10px 15px;font-weight:700;box-shadow:var(--shadow)}
.btn-secondary:hover{text-decoration:none;background:#f8fafc}
.btn-link{background:transparent;color:var(--primary);box-shadow:none;padding:0;border-radius:0}.danger-link{color:var(--danger)!important}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.cards-dashboard{grid-template-columns:repeat(4,1fr)}.cards-compact{grid-template-columns:repeat(4,1fr)}
.card,.hero-banner{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px 18px;box-shadow:var(--shadow)}
.card span{display:block;color:var(--muted);font-size:14px;margin-bottom:8px}.card strong{font-size:28px;letter-spacing:-.04em;color:var(--primary-dark)}.small-strong{font-size:18px!important;letter-spacing:0!important}
.hero-banner{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;background:linear-gradient(135deg,#fff,#f5f8fc)}
.hero-banner strong{display:block;font-size:18px;margin-bottom:6px;color:var(--primary-dark)}
.hero-banner p{margin:0;color:var(--muted);max-width:780px}
.panel,.form-card,table{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.panel{padding:18px}.panel h2{margin:0 0 14px}.mt{margin-top:22px}
.split{display:grid;grid-template-columns:2fr 1fr;gap:16px}.details{display:grid;grid-template-columns:150px 1fr;gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin:0}.details dt,.details dd{padding:10px 12px;border-bottom:1px solid var(--border);margin:0}.details dt{font-weight:700;background:var(--panel-2)}.details dd{background:#fff}.details dt:last-of-type,.details dd:last-of-type{border-bottom:0}
.form-card{padding:20px;max-width:980px}.grid-form{display:grid;grid-template-columns:170px 1fr;gap:12px 14px;align-items:center}.grid-form textarea{min-height:95px}.grid-form .actions,.grid-form .check{grid-column:2}.actions{display:flex;align-items:center;gap:12px;margin-top:8px}
.filter{display:flex;gap:10px;margin:0 0 18px;align-items:center}.filter-wide input{min-width:360px}.filter-report{display:grid;grid-template-columns:repeat(6,1fr);align-items:end;background:#fff;border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.filter-report label{display:block;margin-bottom:6px;font-size:13px;color:var(--muted);font-weight:700}.filter-report input,.filter-report select{width:100%}
input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;color:var(--text)}textarea{resize:vertical}label{font-weight:700}.check{font-weight:500}.check input{width:auto;margin-right:6px}
table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}th,td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}th{font-size:13px;text-transform:uppercase;letter-spacing:.035em;background:#eff4f9;color:#16314e}tbody tr:hover td{background:#fbfdff}tfoot th{background:#eef2f7}.nowrap{white-space:nowrap}
.badge{display:inline-flex;align-items:center;border-radius:999px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:800;padding:5px 9px;text-transform:none}.status-aberta{background:#dbeafe;color:#1d4ed8}.status-em_andamento{background:#fef3c7;color:#92400e}.status-concluida{background:#dcfce7;color:#166534}.status-cancelada{background:#fee2e2;color:#991b1b}
.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px;border:1px solid}.alert.success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.alert.danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.alert.warning{background:#fef3c7;color:#92400e;border-color:#fde68a}
.inline-form{display:flex;gap:10px}.entry-form{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;align-items:end}.entry-form label{display:block;margin-bottom:6px;color:var(--muted);font-size:13px}.entry-desc{grid-column:span 4}.entry-button{display:flex;align-items:end}.entry-button button{width:100%}.hint{font-size:13px;color:var(--muted);margin:10px 0 0}
.brand-preview{display:inline-block;background:#fff;border:1px solid var(--border);border-radius:14px;padding:10px;box-shadow:var(--shadow)}
.brand-preview img{display:block;max-width:360px;width:100%;height:auto}
.login-page{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at top left,#173555,#081a2f 52%,#06101d)}
.login-card{width:430px;background:#fff;border-radius:22px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.25)}.login-logo{display:block;width:320px;max-width:100%;margin:0 auto 18px}.login-card h1{margin:0 0 8px;color:var(--primary-dark)}.login-card p{color:var(--muted);margin:0 0 20px}.login-card form{display:grid;gap:12px}.login-card button{margin-top:6px}.login-help{margin-top:14px;font-size:12px;color:var(--muted);text-align:center}
@media (max-width:1180px){.cards,.cards-dashboard{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.entry-form{grid-template-columns:repeat(2,1fr)}.entry-desc{grid-column:span 2}.filter-report{grid-template-columns:repeat(2,1fr)}.hero-banner{display:block}.hero-actions{margin-top:14px}}
@media (max-width:860px){.sidebar{position:static;width:auto}.content{margin-left:0;padding:18px}.cards,.cards-dashboard,.cards-compact{grid-template-columns:1fr}.page-header{display:block}.header-actions{margin-top:12px;flex-wrap:wrap}.btn{display:inline-block;margin-top:12px}.filter,.inline-form{display:block}.filter input,.filter select,.inline-form select{max-width:none;margin-bottom:8px}.entry-form{grid-template-columns:1fr}.entry-desc{grid-column:span 1}.details{grid-template-columns:1fr}.filter-report{grid-template-columns:1fr}.grid-form{grid-template-columns:1fr}.grid-form .actions,.grid-form .check{grid-column:1}.brand-preview img{max-width:100%}.login-card{width:92%}}
.perfil-pill{display:inline-flex;align-items:center;width:max-content;margin-top:5px;padding:4px 8px;border-radius:999px;background:rgba(214,177,95,.16);color:#f4d58a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.brand-card{overflow:hidden}
.brand-card .brand-logo{object-fit:contain;max-height:92px}
.login-logo{filter:drop-shadow(0 12px 22px rgba(8,26,47,.10))}
.status-arquivada{background:#e5e7eb;color:#374151}
.form-section-title{grid-column:1 / -1;margin-top:10px;padding-top:18px;border-top:1px solid var(--border);font-weight:900;color:var(--primary-dark);font-size:18px}
.form-section-help{grid-column:1 / -1;margin-top:-6px;margin-bottom:4px;color:var(--muted);font-size:13px}
.inline-delete{display:inline}.inline-delete button{vertical-align:baseline}
.nav-group{margin:14px 4px 4px;color:#9fb1c8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.sidebar a.nav-child{padding:9px 14px 9px 24px;font-size:13px;color:#d7e1ee;background:rgba(255,255,255,.035)}
.tabs{display:flex;gap:10px;margin:-8px 0 18px;flex-wrap:wrap}.tabs a{display:inline-block;background:#fff;border:1px solid var(--border);border-radius:999px;padding:8px 13px;font-weight:800;color:var(--primary);box-shadow:var(--shadow)}.tabs a:hover{text-decoration:none;background:#f8fafc}
.muted{color:var(--muted);font-size:12px}code{background:#eef2f7;border:1px solid #dce4ef;border-radius:6px;padding:2px 5px;color:#0d2540;font-size:12px}.compact-form{margin-bottom:18px}.check-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.check-row label{font-weight:600;color:var(--text)}.check-row input{width:auto;margin-right:6px}.builder-form{display:grid;grid-template-columns:1.4fr 1.6fr 1fr .7fr .7fr .7fr repeat(4,.75fr) 1.1fr;gap:10px;align-items:center}.builder-form input,.builder-form select{min-width:0}.builder-form label{font-size:12px;color:var(--muted);font-weight:800}.grid-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}.grid-mini textarea{grid-column:1/-1;min-height:90px}.grid-mini button{grid-column:1/-1}.inline-mini{display:inline}.sql-preview{background:#0b1726;color:#dbeafe;border-radius:14px;padding:18px;overflow:auto;line-height:1.45;border:1px solid #1f3352;box-shadow:var(--shadow)}
@media (max-width:1200px){.builder-form{grid-template-columns:repeat(2,1fr)}.builder-form button{grid-column:1/-1}.grid-mini{grid-template-columns:1fr}}
.nav-divider{height:1px;background:rgba(255,255,255,.13);margin:12px 2px}
.nav-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;color:#9fb1c8;border:0;box-shadow:none;border-radius:10px;padding:10px 4px 6px;margin:4px 0 0;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;text-align:left;cursor:pointer}
.nav-toggle:hover{background:rgba(255,255,255,.04);color:#fff}
.nav-toggle-icon{transition:.18s;font-size:12px}.nav-toggle.closed .nav-toggle-icon{transform:rotate(-90deg)}
.nav-children{display:flex;flex-direction:column;gap:6px;margin:0 0 4px}.nav-children.closed{display:none}
.sidebar a.nav-child{padding:9px 14px 9px 24px;font-size:13px;color:#d7e1ee;background:rgba(255,255,255,.035)}
.sidebar a.nav-child:hover{background:rgba(255,255,255,.10)}
.sidebar a.muted-child{color:#b9c6d8}.sidebar a.muted-child small{display:block;color:#8496ad;font-size:10px;margin-top:2px}
.sql-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.inline-mini{display:inline}.muted{color:var(--muted)}

/* V10 - menu recolhível e abas internas */
.app-chrome{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;margin:-28px -28px 22px;padding:10px 16px;background:rgba(243,246,251,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.chrome-btn{width:38px;height:36px;padding:0;border-radius:10px;display:grid;place-items:center;background:#fff;color:var(--primary);border:1px solid var(--border);box-shadow:var(--shadow)}
.app-tabs{display:flex;align-items:center;gap:6px;overflow-x:auto;min-height:38px;flex:1}
.app-tab{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:0 4px 0 12px;box-shadow:0 4px 12px rgba(8,26,47,.06);white-space:nowrap;max-width:240px}
.app-tab.active{background:#eaf1f8;border-color:#b8c9df}
.app-tab a{display:block;color:var(--primary-dark);font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;padding:9px 2px;max-width:185px;text-decoration:none}
.app-tab button{background:transparent;color:var(--muted);box-shadow:none;border-radius:8px;padding:4px 7px;font-size:16px;line-height:1}
.app-tab button:hover{background:#eef2f7;color:var(--danger)}
body.sidebar-collapsed .sidebar{transform:translateX(-100%)}
body.sidebar-collapsed .content{margin-left:0}
.sidebar{transition:transform .2s ease}.content{transition:margin-left .2s ease}
.main-nav{overflow-y:auto;padding-right:2px}
.sidebar .nav-toggle{width:100%;box-shadow:none;background:transparent;color:#b8c6db;padding:12px 4px;margin-top:4px;border-radius:10px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;display:flex;align-items:center;justify-content:space-between;font-weight:900}
.sidebar .nav-toggle:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-toggle-icon{transition:.18s;font-size:12px}.nav-toggle.closed .nav-toggle-icon{transform:rotate(-90deg)}
.nav-children{display:flex;flex-direction:column;gap:6px;margin:0 0 4px}.nav-children.closed{display:none}
.nav-divider{height:1px;background:rgba(255,255,255,.14);margin:12px 0}
.sidebar a.nav-child{padding:9px 14px 9px 20px;font-size:13px;color:#d7e1ee;background:rgba(255,255,255,.035)}
.sidebar a.nav-child:hover{background:rgba(255,255,255,.10)}
.sidebar a.muted-child{color:#b9c6d8}.sidebar a.muted-child small{display:block;color:#8496ad;font-size:10px;margin-top:2px}
@media (max-width:860px){.app-chrome{margin:-18px -18px 18px}.sidebar{transform:none}body.sidebar-collapsed .sidebar{display:none}.content{margin-left:0!important}}
.vertical-checks{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.vertical-checks label{font-weight:600;color:var(--text)}

/* V10.1 - manutenção segura do construtor */
.danger-panel{border-color:#fecaca;background:linear-gradient(135deg,#fff,#fff7f7)}
.danger-panel h2{color:var(--danger)}
.btn-danger{background:var(--danger)!important;color:#fff!important}
.btn-danger:hover{background:#991b1b!important}
.split-actions{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;align-items:start}
.split-actions form{background:#fff;border:1px solid #fecaca;border-radius:14px;padding:14px;box-shadow:var(--shadow);display:grid;gap:10px}
@media (max-width:860px){.split-actions{grid-template-columns:1fr}}
.muted-text{color:var(--muted);font-size:12px}
.danger-btn{background:var(--danger)!important}.danger-btn:hover{filter:brightness(.92)}

/* V10.3 - abas */
.chrome-close-all{width:auto;min-width:74px;padding:0 10px;font-size:12px;font-weight:800;white-space:nowrap}
.chrome-close-all:hover{background:#fee2e2;color:#991b1b;border-color:#fecaca}


/* V10.4 - menu de abas estilo Sankhya */
.tabs-dropdown-wrap{position:relative;display:flex;align-items:center}
.tabs-dropdown{display:none;position:absolute;top:42px;left:0;min-width:280px;max-width:360px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 45px rgba(8,26,47,.18);z-index:50;overflow:hidden}
.tabs-dropdown.open{display:block}
.tabs-dropdown-title{padding:10px 14px;font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:#f8fafc;border-bottom:1px solid var(--border)}
.tabs-dropdown-list{max-height:340px;overflow:auto}
.tabs-dropdown-item{display:block;padding:10px 14px;color:var(--primary-dark);font-size:13px;border-bottom:1px solid #edf2f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tabs-dropdown-item:hover{background:#f8fafc;text-decoration:none}
.tabs-dropdown-item.active{font-weight:900;background:#eaf1f8}
.tabs-dropdown-action{width:100%;border-radius:0;box-shadow:none;background:#fff;color:var(--primary);border-top:1px solid var(--border);padding:12px 14px;text-align:left;font-weight:900}
.tabs-dropdown-action:hover{background:#fee2e2;color:#991b1b}
/* V10.8 */
.danger-text{color:var(--danger)!important}
.danger-text:hover{color:#fff!important;background:var(--danger)!important;border-color:var(--danger)!important}

/* V10.12 - descrições longas e abas menos poluídas */
.textarea-long{min-height:120px;resize:vertical;line-height:1.45}
.entry-desc-textarea{grid-column:span 5}
.entry-desc-textarea textarea{width:100%}
@media (max-width:1180px){.entry-desc-textarea{grid-column:span 2}}
@media (max-width:860px){.entry-desc-textarea{grid-column:span 1}}

/* V11 - GT Gestão / empresa ativa */
.empresa-switcher{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:6px 8px;box-shadow:0 4px 12px rgba(8,26,47,.06);white-space:nowrap}
.empresa-switcher span{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.empresa-switcher select{width:auto;min-width:170px;max-width:260px;border:0;background:#f8fafc;padding:6px 8px;border-radius:8px;font-size:13px;font-weight:800;color:var(--primary-dark)}
@media (max-width:1100px){.empresa-switcher span{display:none}.empresa-switcher select{min-width:130px;max-width:180px}}
@media (max-width:860px){.empresa-switcher{width:100%;order:4}.empresa-switcher select{width:100%;max-width:none}}

/* V12.1 - campos de pesquisa/autocomplete */
.lookup-field{position:relative;width:100%;display:flex;align-items:center;gap:0}
.lookup-field .lookup-input{padding-right:84px}
.lookup-search,.lookup-clear{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:9px;padding:0;box-shadow:none;background:#eef4fb;color:#334155;font-size:18px;line-height:1;z-index:2}
.lookup-search{right:42px;font-size:18px;font-weight:900}
.lookup-clear{right:6px}
.lookup-search:hover,.lookup-clear:hover{background:#dbe7f3;color:#0d2540}
.lookup-results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 36px rgba(8,26,47,.18);display:none;z-index:50;max-height:260px;overflow:auto;padding:6px}
.lookup-results.open{display:block}
.lookup-option{display:block;width:100%;border:0;background:#fff;color:var(--text);box-shadow:none;text-align:left;padding:10px 12px;border-radius:10px;font-weight:700;cursor:pointer}
.lookup-option:hover{background:#f1f6fb;color:var(--primary-dark)}
.lookup-empty{padding:12px;color:var(--muted);font-size:13px}

/* V13.1 - pesquisa de menu */
.menu-search-wrap{position:relative;margin:4px 0 12px}
.menu-search-input{height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;padding:8px 10px;font-size:13px;width:100%}
.menu-search-input::placeholder{color:#9fb1c8}
.menu-search-input:focus{outline:none;border-color:rgba(214,177,95,.55);background:rgba(255,255,255,.12)}
.menu-search-results{display:none;position:absolute;top:42px;left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 45px rgba(8,26,47,.28);z-index:80;padding:6px;max-height:320px;overflow:auto}
.menu-search-results.open{display:block}
.menu-search-item{display:block;padding:10px 12px;border-radius:10px;color:var(--primary-dark)!important;background:#fff!important}
.menu-search-item:hover{background:#f1f6fb!important;text-decoration:none!important}
.menu-search-item strong{display:block;font-size:13px}
.menu-search-item span{display:block;margin-top:2px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.menu-search-empty{padding:12px;color:var(--muted);font-size:13px}

/* V19.1 - avatar do usuário e branding mais limpo */
.brand-mini-clean{padding-top:12px;padding-bottom:14px}
.brand-mini-clean strong{font-size:17px}
.user-menu-wrap{position:relative;margin-left:4px;flex:0 0 auto}
.user-menu-btn{width:38px;height:38px;border-radius:999px;padding:0;display:grid;place-items:center;overflow:hidden;background:#eef4fb;color:var(--primary-dark);border:1px solid var(--border);box-shadow:0 4px 12px rgba(8,26,47,.08);font-size:13px;font-weight:900}
.user-menu-btn img{width:100%;height:100%;object-fit:cover;display:block}
.user-menu-btn span{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,#173555,#0d2540);color:#fff}
.user-menu-dropdown{display:none;position:absolute;right:0;top:46px;width:260px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 45px rgba(8,26,47,.22);overflow:hidden;z-index:80}
.user-menu-dropdown.open{display:block}
.user-menu-header{display:flex;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--border);background:#f8fafc}
.user-menu-header img{width:46px;height:46px;border-radius:999px;object-fit:cover;border:1px solid var(--border)}
.user-menu-header strong{display:block;color:var(--primary-dark);font-size:14px;line-height:1.2}.user-menu-header span{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.user-menu-dropdown a{display:block;padding:12px 14px;color:var(--primary-dark);font-size:13px;font-weight:800;border-bottom:1px solid #edf2f7}.user-menu-dropdown a:hover{background:#f8fafc;text-decoration:none}
.avatar-small{width:32px;height:32px;border-radius:999px;object-fit:cover;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid var(--border)}
.avatar-fallback{background:linear-gradient(135deg,#173555,#0d2540);color:#fff;font-size:11px;font-weight:900;text-align:center}
.user-list-cell{display:flex;align-items:center;gap:10px}
.profile-photo-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.profile-photo-large{width:96px;height:96px;border-radius:22px;object-fit:cover;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff}
.avatar-fallback-large{display:grid;place-items:center;background:linear-gradient(135deg,#173555,#0d2540);color:#fff;font-size:24px;font-weight:900}
.avatar-fallback-large.compact{width:46px;height:46px;border-radius:999px;font-size:14px;flex:0 0 auto}
@media (max-width:860px){.user-menu-wrap{order:5;margin-left:auto}.user-menu-dropdown{right:0}.app-chrome{flex-wrap:wrap}}

/* V21 - Assistente GT */
.gt-assistant{position:fixed;right:22px;bottom:22px;z-index:9999}
.gt-assistant-fab{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#0f766e,#10b981);color:#fff;border:3px solid #fff;box-shadow:0 16px 34px rgba(15,23,42,.28);font-weight:900;font-size:15px;display:grid;place-items:center;cursor:pointer}
.gt-assistant-fab:hover{transform:translateY(-1px);background:linear-gradient(135deg,#0f766e,#059669)}
.gt-assistant-panel{display:none;position:absolute;right:0;bottom:72px;width:390px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 110px);background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden}
.gt-assistant-panel.open{display:flex;flex-direction:column}
.gt-assistant-panel header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#0d2540,#173555);color:#fff}
.gt-assistant-panel header strong{display:block;font-size:16px}.gt-assistant-panel header span{display:block;font-size:12px;color:#cbd5e1;margin-top:2px}
.gt-assistant-panel header button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:10px;width:32px;height:32px;box-shadow:none;font-size:20px;line-height:1}
.gt-assistant-messages{flex:1;overflow:auto;padding:14px;background:#f6f8fb;display:flex;flex-direction:column;gap:10px}
.gt-assistant-msg{max-width:88%;border-radius:14px;padding:10px 12px;border:1px solid #dbe3ee;box-shadow:0 5px 14px rgba(15,23,42,.06);font-size:14px;line-height:1.35}
.gt-assistant-msg p{margin:0;white-space:pre-wrap}.gt-assistant-msg.bot{background:#fff;color:#10253f;align-self:flex-start}.gt-assistant-msg.user{background:#173555;color:#fff;border-color:#173555;align-self:flex-end}.gt-assistant-msg.error{border-color:#fecaca;background:#fff1f2;color:#991b1b}.gt-assistant-msg.muted{opacity:.76}
.gt-assistant-example,.gt-assistant-link{display:inline-flex;margin-top:10px;padding:8px 10px;border-radius:10px;background:#eaf1f8;color:#173555;font-weight:800;font-size:12px;border:1px solid #dbe3ee;box-shadow:none;text-decoration:none}
.gt-assistant-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;background:#fff;border-top:1px solid var(--border)}
.gt-assistant-form textarea{resize:none;min-height:44px;max-height:110px}.gt-assistant-form button{height:44px;align-self:end}
@media (max-width:760px){.gt-assistant{right:14px;bottom:14px}.gt-assistant-panel{right:-4px;width:calc(100vw - 24px);height:70vh}}

/* V21.1 - Assistente GT como help do sistema */
.gt-assistant-examples{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gt-assistant-examples .gt-assistant-example{margin-top:0}
.gt-assistant-msg.bot p:first-child{margin-bottom:0}
.gt-assistant-link{margin-right:6px}

/* V21.2 - manutenção dos logs do Assistente GT */
.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.two-cols .check{grid-column:1 / -1}
.field-label-small{display:block;font-size:13px;color:var(--muted);font-weight:800;margin:0 0 6px}
.soft-separator{border:0;border-top:1px solid var(--border);width:100%;margin:8px 0}
@media (max-width:860px){.two-cols{grid-template-columns:1fr}}

/* V25 - SaaS / Produção */
.login-instance {
  margin: 10px 0 16px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(15, 23, 42, .06);
  font-size: 13px;
  color: #475569;
  line-height: 1.35;
}
.login-instance small { color: #64748b; }
.help-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 14px 16px;
  color: #334155;
  line-height: 1.5;
}
.check-row {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
}
.check-row input[type="checkbox"] { width: auto; }

/* V26 - Extrato de horas e fechamento provisionado */
.panel-soft{background:#f8fafc;border:1px solid var(--border);border-radius:18px;padding:18px;margin:16px 0;box-shadow:0 8px 22px rgba(8,26,47,.05)}
.panel-soft h2{margin:0 0 6px;color:var(--primary-dark);font-size:18px}.panel-soft p{margin:0;color:var(--muted);line-height:1.45}
.provision-form{display:grid;grid-template-columns:1.2fr 1.4fr auto;gap:14px;align-items:end}.provision-form textarea{min-height:74px}.provision-form button:disabled{opacity:.55;cursor:not-allowed}
.mt-section{margin-top:24px}.sub-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 10px}.sub-header h2{margin:0;color:var(--primary-dark)}.sub-header p{margin:3px 0 0;color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.detail-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(8,26,47,.05)}.detail-card h2{margin:0 0 10px;color:var(--primary-dark);font-size:18px}.detail-card p{margin:6px 0;color:#334155}
.status-fechamento-provisionado{background:#dbeafe;color:#1e3a8a}.status-fechamento-faturado{background:#dcfce7;color:#166534}.status-fechamento-cancelado{background:#fee2e2;color:#991b1b}
@media (max-width:980px){.provision-form{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.sub-header{align-items:flex-start;flex-direction:column}}

/* V27 - Dashboard moderno / produto web */
.brand-mini,
.brand-mini-clean,
.perfil-pill {
  display: none !important;
}
.brand-card {
  height: 56px;
  padding: 8px 14px;
  margin-bottom: 18px;
  border-radius: 18px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.brand-card .brand-logo,
.brand-logo {
  max-width: 185px;
  max-height: 38px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  display: block;
}
.menu-search-wrap { margin-bottom: 18px; }

.dashboard-hero-v27 {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
}
.hero-copy-v27,
.hero-panel-v27,
.quick-card-v27,
.kpi-card-v27,
.finance-overview-v27,
.section-card-v27 {
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  box-shadow: 0 18px 45px rgba(8,26,47,.07);
  backdrop-filter: blur(8px);
}
.hero-copy-v27 {
  min-height: 210px;
  border-radius: 26px;
  padding: 28px;
  overflow: hidden;
  position: relative;
}
.hero-copy-v27:before {
  content: "";
  position: absolute;
  inset: auto -80px -120px auto;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(214,177,95,.32), rgba(214,177,95,0) 68%);
  pointer-events: none;
}
.hero-copy-v27:after {
  content: "";
  position: absolute;
  inset: -120px auto auto 45%;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(23,53,85,.14), rgba(23,53,85,0) 70%);
  pointer-events: none;
}
.hero-copy-v27 h1 {
  margin: 4px 0 8px;
  font-size: clamp(34px, 4vw, 54px);
  line-height: .96;
  letter-spacing: -.06em;
  color: var(--primary-dark);
}
.hero-copy-v27 p {
  margin: 0;
  max-width: 680px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.45;
}
.hero-actions-v27 {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.hero-panel-v27 {
  border-radius: 26px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
  background: linear-gradient(135deg, #0d2540, #173555 70%, #1f456d);
  color: #fff;
  overflow: hidden;
  position: relative;
}
.hero-panel-v27:after {
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  right:-96px;
  top:-78px;
  background:rgba(255,255,255,.08);
}
.hero-panel-label {
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.hero-panel-v27 strong {
  font-size: 42px;
  letter-spacing: -.05em;
  line-height: 1;
}
.hero-panel-v27 small {
  color: #cbd5e1;
  line-height: 1.35;
}
.hero-progress-v27 {
  height: 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.13);
  overflow: hidden;
  margin: 8px 0 2px;
}
.hero-progress-v27 span {
  display: block;
  height: 100%;
  min-width: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), #f9d77d);
}
.quick-grid-v27 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.quick-card-v27 {
  border-radius: 20px;
  padding: 16px;
  display: grid;
  grid-template-columns: 44px 1fr;
  column-gap: 12px;
  align-items: center;
  color: var(--text);
}
.quick-card-v27:hover {
  transform: translateY(-1px);
  text-decoration: none;
  box-shadow: 0 20px 46px rgba(8,26,47,.1);
}
.quick-card-v27 span {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  display: grid;
  place-items: center;
  background: #eaf1f8;
  color: var(--primary);
  font-size: 13px;
  font-weight: 950;
}
.quick-card-v27 strong { display:block; font-size:14px; color:var(--primary-dark); }
.quick-card-v27 small { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.kpi-grid-v27 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}
.kpi-card-v27 {
  border-radius: 22px;
  padding: 18px;
  min-height: 126px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  overflow: hidden;
  position: relative;
}
.kpi-card-v27:after {
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  right:-54px;
  bottom:-58px;
  border-radius:50%;
  background:rgba(23,53,85,.06);
}
.kpi-icon-v27 {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: #edf4fb;
  color: var(--primary);
  font-size: 13px;
  font-weight: 950;
  flex: 0 0 auto;
}
.kpi-card-v27 span { display:block; color:var(--muted); font-size:13px; }
.kpi-card-v27 strong { display:block; margin-top:8px; font-size:28px; line-height:1; letter-spacing:-.05em; color:var(--primary-dark); }
.kpi-card-v27 small { display:block; margin-top:8px; color:#718096; line-height:1.25; }
.kpi-card-v27.accent .kpi-icon-v27 { background:#fff6db; color:#926d14; }
.kpi-card-v27.success .kpi-icon-v27 { background:#dcfce7; color:#166534; }
.kpi-card-v27.warning .kpi-icon-v27 { background:#fef3c7; color:#92400e; }
.kpi-card-v27.money .kpi-icon-v27 { background:#dff7ed; color:#047857; }
.kpi-card-v27.info .kpi-icon-v27 { background:#dbeafe; color:#1e40af; }
.finance-overview-v27 {
  border-radius: 24px;
  padding: 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 12px;
  margin-bottom: 18px;
}
.finance-overview-v27 div {
  padding: 14px 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #edf2f7;
}
.finance-overview-v27 span { display:block; color:var(--muted); font-size:13px; }
.finance-overview-v27 strong { display:block; margin-top:7px; color:var(--primary-dark); font-size:23px; letter-spacing:-.04em; }
.finance-overview-v27 small { display:block; margin-top:5px; color:#718096; }
.dashboard-layout-v27 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 18px;
  align-items: start;
}
.dashboard-main-v27,
.dashboard-side-v27 { display:flex; flex-direction:column; gap:18px; }
.section-card-v27 {
  border-radius: 24px;
  padding: 18px;
}
.section-title-v27 {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:14px;
}
.section-title-v27 h2 { margin:0; color:var(--primary-dark); font-size:22px; letter-spacing:-.03em; }
.section-title-v27 p { margin:4px 0 0; color:var(--muted); font-size:13px; }
.section-title-v27 a { font-weight:900; font-size:13px; white-space:nowrap; }
.section-title-v27.compact h2 { font-size:18px; }
.os-list-v27 { display:flex; flex-direction:column; gap:10px; }
.os-item-v27 {
  display:grid;
  grid-template-columns: 180px minmax(0, 1fr) 150px auto;
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid #edf2f7;
  background:#fbfdff;
  border-radius:18px;
}
.os-item-v27 strong { color:var(--primary-dark); }
.os-item-v27 span { display:block; margin-top:3px; color:var(--muted); font-size:13px; }
.os-title-v27 { min-width:0; }
.os-title-v27 strong {
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.os-meta-v27 { display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.os-meta-v27 strong { font-size:16px; }
.btn-mini-v27 {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  height:36px;
  border-radius:12px;
  background:#eaf1f8;
  color:var(--primary-dark);
  font-weight:900;
  font-size:13px;
}
.btn-mini-v27:hover { background:var(--primary); color:#fff; text-decoration:none; }
.empty-v27 {
  padding:18px;
  border-radius:16px;
  background:#f8fafc;
  color:var(--muted);
  border:1px dashed var(--border);
}
.pending-list-v27,
.stats-list-v27,
.finance-list-v27,
.mini-table-v27 { display:flex; flex-direction:column; gap:10px; }
.pending-item-v27 {
  display:grid;
  grid-template-columns: 10px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px;
  border-radius:16px;
  border:1px solid #edf2f7;
  background:#fbfdff;
}
.pending-item-v27 > span {
  width:10px;
  height:36px;
  border-radius:999px;
  background:#dbeafe;
}
.pending-item-v27.alerta > span { background:#f97316; }
.pending-item-v27.ok > span { background:#22c55e; }
.pending-item-v27.financeiro > span { background:#d6b15f; }
.pending-item-v27.operacao > span { background:#3b82f6; }
.pending-item-v27 strong { display:block; color:var(--primary-dark); font-size:13px; }
.pending-item-v27 small { display:block; margin-top:3px; color:var(--muted); line-height:1.25; }
.pending-item-v27 b { color:var(--primary-dark); font-size:18px; white-space:nowrap; }
.stats-list-v27 div {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid #edf2f7;
}
.stats-list-v27 div:last-child { border-bottom:0; }
.stats-list-v27 span { color:var(--muted); }
.stats-list-v27 strong { color:var(--primary-dark); }
.finance-item-v27,
.mini-row-v27 {
  display:grid;
  align-items:center;
  gap:10px;
  padding:12px;
  border-radius:16px;
  background:#fbfdff;
  border:1px solid #edf2f7;
  color:var(--text);
}
.finance-item-v27 { grid-template-columns:minmax(0,1fr) auto; }
.finance-item-v27:hover,
.mini-row-v27:hover { text-decoration:none; background:#f5f9fe; }
.finance-item-v27 strong,
.mini-row-v27 strong { color:var(--primary-dark); }
.finance-item-v27 span,
.mini-row-v27 span { display:block; margin-top:3px; color:var(--muted); font-size:12px; }
.finance-item-v27.receita b { color:#047857; }
.finance-item-v27.despesa b { color:#b91c1c; }
.mini-row-v27 {
  grid-template-columns:minmax(0,1.3fr) 70px 110px auto;
}
@media (max-width:1500px) {
  .kpi-grid-v27 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .dashboard-layout-v27 { grid-template-columns: minmax(0,1fr) 360px; }
}
@media (max-width:1180px) {
  .dashboard-hero-v27,
  .dashboard-layout-v27 { grid-template-columns:1fr; }
  .quick-grid-v27,
  .finance-overview-v27 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:860px) {
  .quick-grid-v27,
  .kpi-grid-v27,
  .finance-overview-v27 { grid-template-columns:1fr; }
  .hero-copy-v27 { padding:22px; }
  .os-item-v27 { grid-template-columns:1fr; align-items:start; }
  .mini-row-v27 { grid-template-columns:1fr; }
}
