@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap");
:root{--bg:#f5f7fb;--panel:#fff;--line:#e5eaf2;--text:#172033;--muted:#667085;--blue:#075ed8;--blue2:#e8f1ff;--amber:#f5a524;--purple:#7c3fc7;--teal:#0ea5a4;--green:#2e9f4f;--red:#e33b56;--shadow:0 18px 40px rgba(16,24,40,.07)}

/* Cursor personalizado FE DEVTECH */
:root{
  --fe-cursor-arrow: url("/static/img/cursor_fe_arrow.svg") 4 4, auto;
  --fe-cursor-pointer: url("/static/img/cursor_fe_pointer.svg") 8 4, pointer;
}
body{cursor:var(--fe-cursor-arrow);}
a, button, .btn, .hamb, .bell, select, .filter-chip, .nav a, .profile-area, .theme-toggle, .studio-company-chip a, .studio-login-button, .password-line button{cursor:var(--fe-cursor-pointer)!important;}
input, textarea, [contenteditable="true"]{cursor:text!important;}
.studio-login-button.loading{cursor:wait!important;}

*{box-sizing:border-box}body{margin:0;font-family:"Inter","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0b2149,#075ed8)}.login-card{width:400px;background:#fff;border-radius:28px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.26)}.brand{font-size:25px;font-weight:900;color:#0b2149}.subtitle{color:var(--muted);margin:6px 0 24px}.app-shell{display:flex;min-height:100vh}.sidebar{width:230px;background:#fff;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand-box{display:flex;gap:12px;align-items:center;padding:0 8px 22px}.brand-box strong{display:block;font-size:13px;letter-spacing:.04em}.brand-box small,.profile-area small,.sidebar-footer small{display:block;color:var(--muted);font-size:12px}.brand-mark{width:42px;height:42px;display:flex;gap:4px;align-items:flex-end}.brand-mark span{display:block;width:9px;background:#075ed8;border-radius:4px 4px 1px 1px}.brand-mark span:nth-child(1){height:18px}.brand-mark span:nth-child(2){height:29px}.brand-mark span:nth-child(3){height:38px}.nav{display:grid;gap:5px}.nav a{display:flex;align-items:center;gap:12px;padding:12px 12px;border-radius:12px;color:#344054;font-weight:700}.nav a:hover,.nav a:first-child{background:#075ed8;color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:16px 8px 8px;display:flex;gap:10px;align-items:center}.mini-user,.avatar,.photo{width:38px;height:38px;border-radius:999px;background:linear-gradient(135deg,#075ed8,#5aa0ff);display:grid;place-items:center;color:#fff;font-weight:900}.logout-link{margin:8px;color:#667085;font-size:13px}.main{flex:1;padding:0 28px 24px;min-width:0}.topbar{height:78px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);margin-bottom:18px}.page-title{display:flex;align-items:center;gap:14px;min-width:300px}.page-title h1{font-size:24px;margin:0}.page-title p{margin:2px 0 0;color:var(--muted);font-size:13px}.hamb{border:0;background:#fff;font-size:20px}.global-search{flex:1;max-width:460px;display:flex;background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 10px;box-shadow:0 4px 14px rgba(16,24,40,.03)}.global-search input{border:0;outline:0;flex:1;padding:13px;background:transparent}.global-search button{border:0;background:transparent;font-size:18px;color:#475467}.top-filters{display:flex;gap:10px}.filter-chip{background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 18px;min-width:108px}.filter-chip b,.filter-chip span{display:block;font-size:12px}.filter-chip span{color:var(--muted)}.profile-area{display:flex;align-items:center;gap:10px;margin-left:auto}.bell{position:relative}.bell em{position:absolute;top:-8px;right:-10px;background:var(--red);color:#fff;border-radius:999px;font-size:10px;padding:2px 5px}.page-actions{display:flex;justify-content:flex-end;margin-bottom:12px}.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:800;display:inline-flex;gap:8px;align-items:center;justify-content:center;cursor:pointer}.btn-primary{background:#075ed8;color:#fff}.btn-dark{background:#172033;color:#fff}.btn-light{background:#f1f5fb;color:#243047;border:1px solid #dfe6f0}.btn-success{background:var(--green);color:#fff}.btn-warning{background:#ffcc66;color:#382b00}.btn-danger{background:var(--red);color:#fff}.actions{display:flex;gap:10px;flex-wrap:wrap}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:16px;margin-bottom:18px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow);display:flex;gap:16px;align-items:center}.kpi-card span{display:block;color:#344054;font-weight:800;font-size:13px}.kpi-card strong{display:block;font-size:30px;margin:6px 0}.kpi-card small{font-weight:800;font-size:12px}.up{color:#16833a}.down{color:#d92d20}.kpi-icon{width:52px;height:52px;border-radius:999px;display:grid;place-items:center;color:#fff;font-size:22px}.blue{background:#075ed8}.amber{background:#f5a524}.purple{background:#7c3fc7}.teal{background:#0ea5a4}.green{background:#2e9f4f}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.board-card,.panel,.table-card,.filter-card,.employee-hero,.employee-preview,.side-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.board-card{padding:14px}.board-card.full{overflow-x:auto}.section-head,.side-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-head h2,.side-title h3{margin:0;font-size:18px}.section-head span{color:var(--muted);font-size:13px}.kanban-modern{display:grid;grid-template-columns:repeat(6,minmax(174px,1fr));gap:10px}.kanban-modern.wide{display:flex;min-height:620px}.kanban-modern.wide .stage-col{min-width:260px}.stage-col{background:#f8fafd;border:1px solid #edf1f6;border-radius:14px;padding:10px}.stage-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.stage-head strong{font-size:13px}.stage-head em,.side-title em{background:#edf4ff;color:#075ed8;border-radius:999px;padding:3px 8px;font-style:normal;font-size:12px;font-weight:900}.person-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:9px;position:relative;transition:.16s}.person-card:hover,.person-card.selected{border-color:#075ed8;box-shadow:0 8px 22px rgba(7,94,216,.12)}.person-card strong{display:block;font-size:13px;margin-bottom:4px}.person-card small,.person-card span{display:block;color:#667085;font-size:11px;margin-top:4px}.card-menu{position:absolute;right:10px;top:8px;color:#667085}.empty-col{font-size:12px;color:#98a2b3;text-align:center;padding:18px 4px}.right-panel{display:grid;gap:18px;align-content:start}.side-card{padding:16px}.pending-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.pending-row i{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#f3f6fb}.pending-row strong,.pending-row small{display:block}.pending-row small{color:var(--muted);font-size:12px}.prio{border-radius:8px;padding:4px 8px;font-size:11px}.prio.high{background:#ffe4e8;color:#b4233a}.prio.mid{background:#fff1d6;color:#a15c00}.prio.low{background:#ddf7e5;color:#15703d}.see-all{display:block;color:#075ed8;font-weight:800;font-size:13px;margin-top:12px}.action-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.action-row b{font-size:11px;background:#f1f5fb;border-radius:8px;padding:4px 7px}.employee-preview{margin-top:18px;padding:18px;display:grid;grid-template-columns:280px 1fr 310px;gap:18px;align-items:center;border-color:#9ac2ff}.preview-id{display:flex;gap:14px;align-items:center}.preview-id h2{margin:0;font-size:20px}.preview-id p{margin:6px 0 0;color:var(--muted);font-size:12px}.preview-grid,.hero-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.preview-grid small,.hero-metrics small{display:block;color:var(--muted);font-size:12px}.preview-grid strong,.hero-metrics strong{display:block;margin-top:4px}.preview-actions,.stack{display:grid;gap:9px}.empty-state{display:block;text-align:center}.employee-hero{padding:18px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center}.photo.big{width:56px;height:56px;font-size:24px}.hero-metrics{grid-template-columns:repeat(3,150px)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}.detail-main{display:grid;gap:18px}.panel{padding:18px}.detail-side{display:grid;gap:18px;align-content:start}.form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.smart-filter{display:grid;grid-template-columns:1fr 240px auto;gap:12px}.input,.select{width:100%;padding:12px 13px;border:1px solid #d9e0ea;border-radius:12px;background:#fff;outline:0}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#f8fafd;border:1px solid var(--line);border-radius:12px;padding:11px 12px;margin-bottom:8px}.ok{color:#16833a;font-weight:900}.no{color:#d92d20;font-weight:900}.warn{color:#a15c00;font-weight:900}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.action-grid form,.action-grid button{width:100%}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:13px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.table th{font-size:12px;color:#667085;text-transform:uppercase;letter-spacing:.04em;background:#f8fafd}.filter-card,.table-card{padding:16px;margin-bottom:18px}.badge{display:inline-block;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:900}.b-secondary{background:#eef1f5;color:#344054}.b-warning{background:#fff1d6;color:#a15c00}.b-info{background:#e8f1ff;color:#075ed8}.b-primary{background:#e8f1ff;color:#075ed8}.b-success{background:#ddf7e5;color:#15703d}.b-dark{background:#172033;color:#fff}.b-danger{background:#ffe4e8;color:#b4233a}.flash{padding:12px 14px;border-radius:14px;margin-bottom:14px;font-weight:700}.flash.success{background:#ddf7e5}.flash.danger{background:#ffe4e8}.flash.warning{background:#fff1d6}.flash.info{background:#e8f1ff}.audit-item{border-bottom:1px solid var(--line);padding-bottom:10px;font-size:13px}.audit-item span,.muted{color:var(--muted)}.grid{display:grid;gap:16px}.grid.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.metric{font-size:30px;font-weight:900}.notice{background:#f8fafd;border:1px solid var(--line);border-radius:14px;padding:14px;font-weight:800}.danger-text{color:var(--red)}.app-footer{margin-top:24px;color:#98a2b3;font-size:12px;text-align:center}code{display:block;background:#0f172a;color:#dbeafe;padding:14px;border-radius:14px;margin:10px 0;overflow:auto}
@media(max-width:1350px){.top-filters{display:none}.dashboard-layout,.detail-layout{grid-template-columns:1fr}.employee-preview{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:relative}.topbar{height:auto;flex-wrap:wrap;padding:14px 0}.global-search{order:3;max-width:none;flex-basis:100%}.profile-area{display:none}.main{padding:0 14px 20px}.kpi-grid,.form-row,.checklist-grid,.action-grid,.grid.cards{grid-template-columns:1fr}.kanban-modern{display:flex;overflow-x:auto}.stage-col{min-width:260px}.smart-filter{grid-template-columns:1fr}.hero-metrics,.preview-grid{grid-template-columns:1fr}}
/* Ajustes v2.6 - filtros funcionais, ações laterais e exclusão lógica */
.top-filter-form{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.top-filter-form .global-search{max-width:430px;flex:1}.filter-select{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px;min-width:118px;color:#172033;font-weight:700;outline:0}.smart-filter{grid-template-columns:minmax(260px,1fr) 190px 210px 190px 170px auto auto}.employee-table{min-width:1220px}.table-card{overflow:auto}.actions-col{width:260px}.row-actions{display:flex;gap:7px;align-items:center;white-space:nowrap}.inline{display:inline-flex;margin:0}.btn-sm{padding:8px 10px;border-radius:10px;font-size:12px}.status-active,.status-inactive,.status-deleted{display:inline-block;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900}.status-active{background:#ddf7e5;color:#15703d}.status-inactive{background:#fff1d6;color:#a15c00}.status-deleted{background:#ffe4e8;color:#b4233a}.row-inactive{opacity:.68;background:#fafafa}.row-inactive td{color:#667085}.btn-warning{background:#fff1d6;color:#a15c00;border:1px solid #ffd899}.btn-danger{background:#ffe4e8;color:#b4233a;border:1px solid #ffc3cc}.btn-danger:hover{background:#e33b56;color:#fff}.btn-warning:hover{background:#f5a524;color:#fff}.btn-light:hover{border-color:#075ed8;color:#075ed8}
@media(max-width:1350px){.top-filter-form .filter-select{display:none}.smart-filter{grid-template-columns:1fr 1fr}.actions-col{width:auto}}
@media(max-width:900px){.top-filter-form{flex-basis:100%;order:3}.smart-filter{grid-template-columns:1fr}.row-actions{flex-wrap:wrap}}
/* Ajustes v2.7 - Sublogin por empresa */
.company-login-card{max-width:480px}.field-label{display:block;font-size:13px;font-weight:900;color:#344054;margin:8px 0 8px}.selected-company-box{background:#f1f6ff;border:1px solid #cfe0ff;border-radius:16px;padding:14px;margin-bottom:16px;display:flex;justify-content:space-between;gap:12px;align-items:center}.selected-company-box a{color:#075ed8;font-weight:900;font-size:13px}.company-code-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.company-code-list span{background:#f8fafd;border:1px solid var(--line);border-radius:12px;padding:9px;font-size:12px;font-weight:800;color:#344054}.sidebar-footer+.logout-link{margin-top:4px}.logout-link{display:block}
@media(max-width:640px){.company-code-list{grid-template-columns:1fr}}

/* v2.8 - interações reais do layout */
.sidebar,.main,.nav a span,.brand-text,.sidebar-user-text,.logout-link{transition:all .18s ease}.hamb{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;color:#172033}.hamb:hover{border-color:#075ed8;color:#075ed8;background:#f3f7ff}.sidebar-collapsed .sidebar{width:82px;padding-left:12px;padding-right:12px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav a span,.sidebar-collapsed .sidebar-user-text,.sidebar-collapsed .logout-link{display:none}.sidebar-collapsed .brand-box{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .nav a{justify-content:center;font-size:18px}.sidebar-collapsed .sidebar-footer{justify-content:center;padding-left:0;padding-right:0}.profile-wrap{position:relative;margin-left:auto}.profile-area{border:0;background:transparent;cursor:pointer;padding:7px 8px;border-radius:14px}.profile-area:hover{background:#f3f7ff}.profile-menu{position:absolute;right:0;top:58px;width:245px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px rgba(16,24,40,.14);padding:8px;display:none;z-index:50}.profile-menu.open{display:block}.profile-menu-head{padding:10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.profile-menu-head strong,.profile-menu-head small{display:block}.profile-menu-head small{color:var(--muted);font-size:12px;margin-top:3px}.profile-menu a{display:block;padding:10px 12px;border-radius:12px;font-weight:800;font-size:13px;color:#344054}.profile-menu a:hover{background:#f3f7ff;color:#075ed8}.filter-select{min-width:150px}.table.employee-table th.actions-col,.table.employee-table td.row-actions{position:sticky;right:0;background:#fff;z-index:2;box-shadow:-10px 0 14px rgba(16,24,40,.04)}.table.employee-table th.actions-col{z-index:3;background:#f8fafd}.row-actions{min-width:286px}.employee-table{min-width:1360px}.btn-sm{min-width:62px}.status-active,.status-inactive,.status-deleted{white-space:nowrap}.table td{vertical-align:middle}.top-filter-form{min-width:520px}.global-search input::placeholder{color:#98a2b3}.nav a.active{background:#075ed8;color:#fff}
@media(max-width:1100px){.profile-text{display:none}.filter-select{min-width:120px}.top-filter-form{min-width:0}.sidebar-collapsed .sidebar{width:74px}}
.nav a:first-child{background:transparent;color:#344054}.nav a:first-child:hover,.nav a:hover,.nav a.active{background:#075ed8;color:#fff}

/* v2.9 - itens destacados do layout agora clicáveis e funcionais */
.kpi-click{transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease; cursor:pointer}
.kpi-click:hover{transform:translateY(-2px); border-color:#9ac2ff; box-shadow:0 22px 52px rgba(7,94,216,.12)}
.person-card-wrap{position:relative; display:block}
.person-card-wrap .person-card{padding-right:38px; min-height:112px}
.card-menu-btn{position:absolute; top:10px; right:10px; width:28px; height:28px; border:0; border-radius:8px; background:transparent; color:#344054; font-size:18px; cursor:pointer; z-index:5; display:grid; place-items:center}
.card-menu-btn:hover,.card-menu-btn.active{background:#eef4ff; color:#075ed8}
.card-dropdown{position:absolute; top:42px; right:8px; width:190px; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 45px rgba(16,24,40,.16); padding:7px; display:none; z-index:30}
.card-dropdown.open{display:block}
.card-dropdown a,.card-dropdown button{display:block; width:100%; border:0; background:transparent; text-align:left; padding:9px 10px; border-radius:10px; font-size:12px; font-weight:800; color:#344054; cursor:pointer; font-family:inherit}
.card-dropdown a:hover,.card-dropdown button:hover{background:#f3f7ff; color:#075ed8}
.card-dropdown form{margin:0}
.card-dropdown .danger-text:hover{background:#ffe4e8; color:#b4233a}
.stage-col{overflow:visible}.kanban-modern{overflow-x:auto; padding-bottom:10px}.board-card{overflow:visible}.dashboard-layout{align-items:start}
.pending-row:hover,.action-row:hover{background:#f8fafd;border-radius:12px;padding-left:8px;padding-right:8px;transition:all .15s ease}.see-all:hover{ text-decoration:underline }

/* v2.9.3 - gráficos profissionais nos relatórios */
.report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.report-kpi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px 18px;box-shadow:var(--shadow)}.report-kpi span{display:block;color:#667085;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.report-kpi strong{display:block;margin-top:7px;font-size:30px;line-height:1;color:#111827}.report-kpi small{display:block;margin-top:8px;color:#667085;font-size:12px}.reports-grid-enhanced{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.chart-card{min-height:310px}.chart-card-large{grid-row:span 2}.card-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}.card-title-row h3{margin:0 0 4px}.mini-pill{background:#eef4ff;color:#075ed8;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.status-chart-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;align-items:center}.donut-chart{width:220px;height:220px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#075ed8 0 calc(var(--p1)*1%),#7f3fd6 calc(var(--p1)*1%) calc((var(--p1) + var(--p2))*1%),#00a6a6 calc((var(--p1) + var(--p2))*1%) calc((var(--p1) + var(--p2) + var(--p3))*1%),#f5a524 calc((var(--p1) + var(--p2) + var(--p3))*1%) 100%);position:relative}.donut-chart::after{content:"";position:absolute;width:132px;height:132px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line)}.donut-chart>div{position:relative;z-index:1;text-align:center}.donut-chart strong{display:block;font-size:34px;color:#111827}.donut-chart small{display:block;color:#667085;font-weight:800}.chart-list,.horizontal-bars{display:grid;gap:14px}.chart-row-head,.hbar-label{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;font-weight:800}.chart-row-head span{display:flex;align-items:center;gap:8px;color:#344054}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#98a2b3}.dot-1{background:#075ed8}.dot-2{background:#7f3fd6}.dot-3{background:#00a6a6}.dot-4{background:#f5a524}.dot-5{background:#15703d}.dot-6{background:#b4233a}.bar-track{height:10px;background:#eef2f7;border-radius:999px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:#075ed8}.bar-1{background:#075ed8}.bar-2{background:#7f3fd6}.bar-3{background:#00a6a6}.bar-4{background:#f5a524}.bar-5{background:#15703d}.bar-6{background:#b4233a}.company-bar{background:linear-gradient(90deg,#075ed8,#00a6a6)}.vertical-chart{height:220px;display:flex;align-items:end;gap:14px;padding-top:18px;border-bottom:1px solid var(--line)}.vbar-item{flex:1;min-width:0;display:grid;gap:7px;text-align:center;align-items:end}.vbar-wrap{height:150px;background:#eef2f7;border-radius:13px 13px 6px 6px;display:flex;align-items:end;overflow:hidden}.vbar-fill{width:100%;background:linear-gradient(180deg,#075ed8,#00a6a6);border-radius:13px 13px 0 0;min-height:8px}.vbar-item strong{font-size:13px}.vbar-item span{font-size:11px;color:#667085;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rules-list{display:grid;gap:12px}.rules-list div{display:flex;gap:10px;align-items:flex-start;background:#f8fafd;border:1px solid var(--line);padding:12px;border-radius:14px;font-weight:700;color:#344054}.rules-list span{background:#ddf7e5;color:#15703d;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 24px}
@media(max-width:1350px){.reports-grid-enhanced{grid-template-columns:1fr}.chart-card-large{grid-row:auto}.report-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.report-kpis{grid-template-columns:1fr}.status-chart-layout{grid-template-columns:1fr}.donut-chart{margin:auto}}

/* v2.9.4 - Sublogin mais profissional e intuitivo */
.company-select-body{min-height:100vh;background:radial-gradient(circle at top left,rgba(86,142,255,.32),transparent 32%),linear-gradient(135deg,#071c3f 0%,#075ed8 62%,#0a7cff 100%);display:grid;place-items:center;padding:28px;color:#172033;overflow:auto}.select-shell{width:min(1120px,100%);display:grid;grid-template-columns:1fr 460px;gap:34px;align-items:center}.select-hero{color:#fff;padding:18px 12px}.select-logo{display:flex;align-items:center;gap:14px;margin-bottom:36px}.select-logo strong{display:block;font-weight:900;letter-spacing:.04em}.select-logo small{display:block;opacity:.8;margin-top:2px}.select-logo.compact{margin-bottom:22px;color:#172033}.brand-mark.large{width:58px;height:58px}.brand-mark.large span{width:12px}.brand-mark.large span:nth-child(1){height:24px}.brand-mark.large span:nth-child(2){height:38px}.brand-mark.large span:nth-child(3){height:52px}.select-hero h1{font-size:46px;line-height:1.05;margin:0 0 16px;letter-spacing:-.04em}.select-hero p{font-size:17px;line-height:1.65;opacity:.86;max-width:610px;margin:0 0 28px}.select-benefits{display:grid;gap:12px;max-width:520px}.select-benefits div{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);padding:12px 14px;border-radius:16px}.select-benefits b{width:24px;height:24px;border-radius:999px;background:#fff;color:#075ed8;display:grid;place-items:center}.company-select-card,.auth-card{background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.5);box-shadow:0 28px 80px rgba(0,0,0,.28);border-radius:30px;padding:30px}.company-select-card h2,.auth-card h2{font-size:26px;margin:8px 0 6px;letter-spacing:-.03em}.company-card-subtitle{margin:0 0 22px;color:#667085;font-size:14px;line-height:1.45}.step-pill{display:inline-flex;background:#e8f1ff;color:#075ed8;border:1px solid #cfe1ff;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px}.company-code-input-wrap{display:grid;grid-template-columns:1fr 132px;gap:10px}.company-code-input{font-size:18px;font-weight:900;letter-spacing:.06em}.company-select-helper{margin:10px 0 18px;font-size:12px;font-weight:800;color:#667085;background:#f8fafd;border:1px solid #e5eaf2;border-radius:12px;padding:10px 12px}.company-select-helper.ok{color:#15703d;background:#ddf7e5;border-color:#a7e8b7}.quick-company-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.company-option{border:1px solid #e5eaf2;background:#fff;border-radius:16px;padding:13px;text-align:left;cursor:pointer;transition:.16s ease;font-family:inherit;color:#172033}.company-option:hover,.company-option.selected{border-color:#075ed8;box-shadow:0 12px 28px rgba(7,94,216,.13);transform:translateY(-1px)}.company-option.selected{background:#eef4ff}.company-option .company-code{display:inline-flex;background:#eef4ff;color:#075ed8;border-radius:9px;padding:4px 7px;font-size:12px;font-weight:900;margin-bottom:8px}.company-option strong{display:block;font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-option small{display:block;color:#667085;margin-top:3px;font-size:11px;font-weight:700}.select-footer-note{display:flex;justify-content:space-between;gap:10px;margin-top:18px;color:#667085;font-size:12px;font-weight:800}.auth-shell.single{width:min(460px,100%)}.auth-card .field-label{margin-top:14px}.auth-submit{width:100%;justify-content:center;margin-top:18px}.selected-company-box.improved{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafd;border:1px solid #e5eaf2;border-radius:18px;padding:14px 16px;margin:0 0 20px}.selected-company-box.improved small{display:block;color:#667085;font-size:12px;font-weight:800}.selected-company-box.improved strong{display:block;margin-top:4px}.selected-company-box.improved a{background:#e8f1ff;color:#075ed8;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:900}.auth-help-row{margin-top:18px;background:#f8fafd;border:1px dashed #d5deeb;color:#667085;border-radius:14px;padding:12px;font-size:12px}.flash{border-radius:12px;padding:10px 12px;margin-bottom:14px;font-size:13px;font-weight:800}.flash.danger{background:#ffe4e8;color:#b4233a}.flash.success{background:#ddf7e5;color:#15703d}.flash.info{background:#e8f1ff;color:#075ed8}.flash.warning{background:#fff1d6;color:#a15c00}@media(max-width:900px){.select-shell{grid-template-columns:1fr}.select-hero{text-align:center}.select-logo{justify-content:center}.select-benefits{margin:auto}.select-hero h1{font-size:34px}.quick-company-grid{grid-template-columns:1fr}.company-code-input-wrap{grid-template-columns:1fr}.company-select-body{padding:18px}}

/* v2.9.5 - Sublogin premium: seleção mais clara, validação visual e login aprimorado */
.premium-login-bg{
  background:
    radial-gradient(circle at 18% 14%, rgba(255,255,255,.22), transparent 22%),
    radial-gradient(circle at 82% 22%, rgba(47,129,255,.28), transparent 28%),
    linear-gradient(135deg,#061a3a 0%,#074fb8 58%,#0b79f7 100%);
}
.tenant-shell{
  width:min(1160px,100%);
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) 480px;
  gap:34px;
  align-items:stretch;
}
.tenant-hero-panel{
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  border-radius:34px;
  padding:34px;
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.07));
  box-shadow:0 28px 80px rgba(0,0,0,.24);
  backdrop-filter:blur(10px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  position:relative;
}
.tenant-hero-panel::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-90px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.tenant-logo-row{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.tenant-logo-row strong{display:block;font-size:15px;font-weight:900;letter-spacing:.08em}
.tenant-logo-row small{display:block;margin-top:3px;opacity:.78;font-weight:700}
.tenant-copy{position:relative;z-index:1;margin:46px 0}
.tenant-eyebrow{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;margin-bottom:16px}
.tenant-copy h1{font-size:48px;line-height:1.02;margin:0 0 16px;letter-spacing:-.045em;max-width:650px}
.tenant-copy p{font-size:17px;line-height:1.65;margin:0;opacity:.86;max-width:630px}
.tenant-flow{display:flex;align-items:center;gap:10px;position:relative;z-index:1;margin-bottom:24px}
.flow-step{display:flex;align-items:center;gap:9px;color:rgba(255,255,255,.72);font-weight:900;font-size:13px;white-space:nowrap}
.flow-step b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}
.flow-step.active{color:#fff}.flow-step.active b,.flow-step.done b{background:#fff;color:#075ed8}.flow-line{height:1px;flex:1;background:rgba(255,255,255,.22)}
.tenant-benefit-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tenant-benefit-grid div{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:12px 14px;font-weight:800}
.tenant-benefit-grid b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#075ed8;flex:0 0 24px}
.tenant-card,.login-premium-card{
  background:rgba(255,255,255,.98);
  border:1px solid rgba(255,255,255,.6);
  border-radius:34px;
  padding:30px;
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.tenant-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.tenant-card h2{font-size:28px;margin:10px 0 4px;letter-spacing:-.04em;color:#101828}.tenant-card p{margin:0;color:#667085}
.tenant-secure-badge{background:#ddf7e5;color:#15703d;border:1px solid #bcefc9;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900;white-space:nowrap}
.tenant-code-row{display:grid;grid-template-columns:1fr 140px;gap:10px}.tenant-code-input{font-size:20px;font-weight:900;letter-spacing:.08em;text-align:left}.tenant-submit:disabled{opacity:.55;cursor:not-allowed;background:#9dbff3}
.tenant-hint{margin:10px 0 18px;background:#f8fafd;border:1px solid #e6ebf3;border-radius:14px;padding:12px 13px;color:#667085;font-size:13px;font-weight:800}.tenant-hint.ok{background:#ddf7e5;border-color:#a7e8b7;color:#15703d}.tenant-hint.warn{background:#fff1d6;border-color:#ffd58a;color:#a15c00}
.tenant-options-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px;font-weight:900;color:#101828}.tenant-options-title small{color:#667085;font-weight:800}
.tenant-company-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tenant-company-option{border:1px solid #e3e8f1;background:#fff;border-radius:18px;padding:14px;text-align:left;font-family:inherit;color:#172033;cursor:pointer;transition:.16s ease;position:relative;overflow:hidden}.tenant-company-option::after{content:"Selecionar";position:absolute;right:12px;top:12px;background:#f2f6fc;border:1px solid #e4eaf3;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;color:#667085}.tenant-company-option:hover{transform:translateY(-1px);border-color:#075ed8;box-shadow:0 12px 28px rgba(7,94,216,.13)}.tenant-company-option.selected{background:#eef4ff;border-color:#075ed8;box-shadow:0 14px 32px rgba(7,94,216,.18)}.tenant-company-option.selected::after{content:"Selecionado";background:#075ed8;color:#fff;border-color:#075ed8}.tenant-company-option .company-code{display:inline-flex;background:#eef4ff;color:#075ed8;border-radius:9px;padding:5px 8px;font-size:12px;font-weight:900;margin-bottom:12px}.tenant-company-option strong{display:block;font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:78px}.tenant-company-option small{display:block;color:#667085;margin-top:4px;font-size:12px;font-weight:700}
.tenant-note{margin-top:18px;border-radius:16px;padding:13px 14px;background:#f8fafd;border:1px dashed #d6e0ef;display:flex;gap:10px;align-items:flex-start}.tenant-note span{font-weight:900}.tenant-note p{margin:0;font-size:12px;color:#667085;line-height:1.45;font-weight:700}
.login-premium-shell{width:min(470px,100%)}.login-premium-card{padding:32px}.login-top-brand{display:flex;align-items:center;gap:14px;margin-bottom:20px}.login-top-brand strong{display:block;font-weight:900}.login-top-brand small{display:block;color:#667085;font-size:12px;font-weight:800;margin-top:2px}.login-progress-mini{display:grid;grid-template-columns:1fr 1fr 1fr;background:#f3f7fc;border:1px solid #e4eaf3;border-radius:999px;padding:4px;margin-bottom:16px}.login-progress-mini span{text-align:center;padding:8px 4px;border-radius:999px;font-size:12px;font-weight:900;color:#667085}.login-progress-mini span.done{color:#15703d}.login-progress-mini span.active{background:#075ed8;color:#fff}.login-company-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafd;border:1px solid #e4eaf3;border-radius:18px;padding:14px 16px;margin-bottom:20px}.login-company-banner small{display:block;color:#667085;font-size:12px;font-weight:800}.login-company-banner strong{display:block;margin-top:4px;color:#101828}.login-company-banner a{background:#e8f1ff;color:#075ed8;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:900}.login-premium-card h1{font-size:28px;line-height:1;margin:0 0 8px;letter-spacing:-.04em}.login-subtitle{margin:0 0 20px;color:#667085;line-height:1.45}.password-wrap{position:relative}.password-wrap input{padding-right:84px}.password-wrap button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:#eef4ff;color:#075ed8;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:900;cursor:pointer}.login-submit{width:100%;margin-top:18px;padding:13px}.login-helper-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.login-helper-grid div{background:#f8fafd;border:1px solid #e6ebf3;border-radius:14px;padding:11px}.login-helper-grid b{display:block;color:#101828;font-size:12px}.login-helper-grid span{display:block;margin-top:4px;color:#667085;font-size:11px;font-weight:700;line-height:1.35}
@media(max-width:980px){.tenant-shell{grid-template-columns:1fr}.tenant-hero-panel{min-height:auto}.tenant-copy h1{font-size:36px}.tenant-benefit-grid{grid-template-columns:1fr}.tenant-code-row{grid-template-columns:1fr}.tenant-company-grid{grid-template-columns:1fr}}
@media(max-width:560px){.tenant-card,.login-premium-card,.tenant-hero-panel{border-radius:24px;padding:22px}.tenant-card-head{display:block}.tenant-secure-badge{display:inline-flex;margin-top:12px}.login-helper-grid{grid-template-columns:1fr}.company-select-body{padding:16px}}


/* v2.9.6 - Logo Apoio Engenharia no login/sublogin e símbolo no menu recolhido */
.brand-with-logo{
  min-height:64px;
  padding:10px 8px 20px;
  gap:10px;
  align-items:center;
}
.brand-logo-full{
  width:142px;
  max-height:46px;
  object-fit:contain;
  display:block;
}
.brand-logo-icon{
  width:38px;
  height:38px;
  object-fit:contain;
  display:none;
}
.brand-with-logo .brand-text small{
  margin-top:4px;
  font-weight:800;
  color:#667085;
}
.app-shell.sidebar-collapsed .brand-box{
  justify-content:center;
  padding-left:0;
  padding-right:0;
}
.app-shell.sidebar-collapsed .brand-logo-full{
  display:none;
}
.app-shell.sidebar-collapsed .brand-logo-icon{
  display:block;
}
.app-shell.sidebar-collapsed .brand-with-logo .brand-text{
  display:none;
}
.login-logo-full{
  width:190px;
  max-height:58px;
  object-fit:contain;
  display:block;
}
.logo-brand-row,.login-logo-area{
  align-items:center;
}
.logo-brand-row{
  gap:18px;
}
.logo-brand-row strong,.login-logo-area strong{
  letter-spacing:0;
  font-size:15px;
}
.login-logo-area{
  flex-direction:column;
  text-align:center;
  gap:12px;
  margin-bottom:22px;
}
.login-logo-area .login-logo-full{
  width:210px;
}
.login-logo-area div strong{
  color:#101828;
  font-size:18px;
}
.login-logo-area div small{
  font-size:12px;
}
@media(max-width:980px){
  .logo-brand-row{align-items:flex-start;flex-direction:column;gap:14px;}
  .login-logo-full{width:180px;}
}

/* v2.9.7 - Logos por empresa no sublogin e sidebar */
.tenant-company-option{
  min-height:126px;
}
.tenant-company-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:44px;
  margin:6px 0 10px;
}
.tenant-company-logo-wrap img{
  max-width:150px;
  max-height:42px;
  object-fit:contain;
  display:block;
}
.tenant-company-option .company-code{
  margin-bottom:2px;
}
.tenant-company-option strong{
  padding-right:78px;
}
.brand-logo-full[src*="logo_wq"],
.brand-logo-full[src*="logo_industech"],
.brand-logo-full[src*="logo_apbvix"]{
  max-height:54px;
}
.brand-logo-icon[src*="simbolo_apbvix"],
.brand-logo-icon[src*="simbolo_wq"]{
  width:44px;
  height:44px;
}
.login-logo-full[src*="logo_wq"],
.login-logo-full[src*="logo_industech"]{
  max-height:88px;
}
.login-logo-full[src*="logo_apbvix"]{
  max-height:64px;
}
.login-company-banner strong{
  display:flex;
  align-items:center;
  gap:8px;
}
@media(max-width:560px){
  .tenant-company-logo-wrap img{max-width:130px;}
}


/* v2.9.8 - Login institucional Apoio Group */
.group-login-logo{
  max-width:220px;
  max-height:74px;
  object-fit:contain;
}
.login-top-brand .group-login-logo{
  max-width:210px;
}
.tenant-logo-row .group-login-logo{
  max-width:240px;
}
@media(max-width:700px){
  .group-login-logo{max-width:190px;}
}


/* v2.9.9 - Sidebar: remover código/nome ao lado da logo da empresa */
.brand-with-logo{
  justify-content:center;
  flex-direction:column;
  gap:0;
}
.brand-with-logo .brand-text{display:none!important;}
.sidebar:not(.force-expanded) .brand-logo-full{
  max-width:158px;
  width:100%;
  margin:0 auto;
}
.app-shell.sidebar-collapsed .brand-with-logo{
  min-height:54px;
  padding:8px 0 18px;
}
.app-shell.sidebar-collapsed .brand-logo-icon{
  display:block;
  margin:0 auto;
  width:42px;
  height:42px;
}


/* v3.0 - Sublogin limpo: cards apenas com logos e chamada mais objetiva */
.tenant-copy h1{
  max-width: 620px;
}
.tenant-copy p{
  max-width: 650px;
}
.tenant-company-option.logo-only-option{
  min-height: 124px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 18px 14px 14px;
}
.tenant-company-option.logo-only-option .company-code{
  position: absolute;
  top: 12px;
  left: 12px;
  margin: 0;
}
.tenant-company-option.logo-only-option .tenant-company-logo-wrap{
  width: 100%;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
}
.tenant-company-option.logo-only-option .tenant-company-logo-wrap img{
  max-width: 150px;
  max-height: 58px;
  object-fit: contain;
}
.tenant-company-option.logo-only-option strong,
.tenant-company-option.logo-only-option small{
  display: none !important;
}
.tenant-company-option.logo-only-option::after{
  top: 12px;
  right: 12px;
}
@media(max-width:560px){
  .tenant-company-option.logo-only-option{min-height:110px;}
  .tenant-company-option.logo-only-option .tenant-company-logo-wrap img{max-width:135px;}
}


/* v3.0.1 - Assinatura do desenvolvedor no sublogin/login */
.tenant-dev-signature{
  position:relative;
  z-index:1;
  margin-top:70px;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.06));
  border-radius:22px;
  padding:22px 24px;
  box-shadow:0 24px 60px rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
}
.tenant-dev-signature .signature-kicker{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 12px;
  background:rgba(255,255,255,.14);
  color:rgba(255,255,255,.88);
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
  margin-bottom:12px;
}
.tenant-dev-signature strong{
  display:block;
  color:#fff;
  font-size:30px;
  font-weight:900;
  letter-spacing:.4px;
  line-height:1.1;
}
.tenant-dev-signature p{
  margin:10px 0 0;
  color:rgba(255,255,255,.82);
  max-width:520px;
  line-height:1.55;
  font-size:14px;
}
.login-dev-signature{
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #e4eaf3;
  background:#f8fafc;
  border-radius:16px;
  color:#667085;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
  text-align:center;
}
.login-dev-signature strong{color:#172033;font-weight:900;}
.login-dev-signature span{display:block;margin-top:4px;font-size:12px;font-weight:600;color:#8a94a6;}
@media(max-width:980px){
  .tenant-dev-signature{margin-top:36px;}
}

/* v3.0.2 - Melhorias da tela de seleção da empresa */
.tenant-hero-panel.tenant-hero-improved{
  justify-content:flex-start;
  gap:28px;
  min-height:650px;
}
.tenant-brand-header{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:18px;
}
.tenant-brand-header .group-login-logo{
  width:220px;
  max-height:64px;
  object-fit:contain;
  flex:0 0 auto;
}
.tenant-brand-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.tenant-brand-copy strong{
  color:#fff;
  font-size:28px;
  font-weight:900;
  line-height:1.05;
  letter-spacing:-.03em;
}
.tenant-brand-copy small{
  color:rgba(255,255,255,.82);
  font-size:14px;
  font-weight:700;
}
.tenant-copy.improved-copy{
  margin:0;
}
.tenant-copy.improved-copy h1{
  font-size:42px;
  line-height:1.04;
  max-width:620px;
  margin-bottom:18px;
}
.tenant-copy.improved-copy p{
  font-size:18px;
  line-height:1.7;
  max-width:640px;
}
.tenant-info-strip{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.tenant-info-item{
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  border-radius:18px;
  padding:16px 18px;
  backdrop-filter:blur(8px);
  box-shadow:0 16px 34px rgba(0,0,0,.08);
}
.tenant-info-item b{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:900;
  margin-bottom:6px;
}
.tenant-info-item span{
  color:rgba(255,255,255,.84);
  font-size:14px;
  line-height:1.5;
  font-weight:600;
}
.tenant-dev-signature.compact-signature{
  margin-top:auto;
  padding:18px 20px;
  border-radius:20px;
}
.tenant-dev-signature.compact-signature strong{
  font-size:24px;
}
.tenant-dev-signature.compact-signature p{
  font-size:13px;
  max-width:none;
}
@media(min-width:981px){
  .tenant-info-strip{
    grid-template-columns:repeat(3,1fr);
  }
}
@media(max-width:980px){
  .tenant-brand-header{
    flex-direction:column;
    align-items:flex-start;
  }
  .tenant-brand-header .group-login-logo{
    width:210px;
  }
  .tenant-brand-copy strong{
    font-size:24px;
  }
  .tenant-copy.improved-copy h1{
    font-size:36px;
  }
  .tenant-copy.improved-copy p{
    font-size:16px;
  }
}
@media(max-width:560px){
  .tenant-brand-header .group-login-logo{
    width:180px;
  }
  .tenant-brand-copy strong{
    font-size:22px;
  }
  .tenant-copy.improved-copy h1{
    font-size:32px;
  }
  .tenant-info-item{
    padding:14px 15px;
  }
}


/* v3.0.4 - Logo da sidebar clicável para voltar ao Dashboard */
.brand-home-link{
  display:flex;
  text-decoration:none;
  cursor:pointer;
  transition:transform .16s ease, opacity .16s ease, box-shadow .16s ease;
}
.brand-home-link:hover{
  transform:translateY(-1px);
  opacity:.95;
}
.brand-home-link:focus-visible{
  outline:3px solid rgba(7,94,216,.28);
  outline-offset:3px;
  border-radius:18px;
}


/* v3.0.7 - Drag and drop entre buckets do Kanban */
.draggable-card{cursor:grab;}
.draggable-card:active{cursor:grabbing;}
.draggable-card.dragging{opacity:.48;transform:rotate(.4deg);}
.kanban-dropzone{transition:border-color .16s ease, background .16s ease, box-shadow .16s ease;}
.kanban-dropzone.drag-over{border-color:#075ed8;background:#eef4ff;box-shadow:inset 0 0 0 2px rgba(7,94,216,.14);}
.kanban-toast{position:fixed;right:24px;bottom:24px;z-index:1000;background:#172033;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 18px 50px rgba(16,24,40,.24);font-weight:800;font-size:13px;opacity:0;transform:translateY(10px);transition:.18s ease;}
.kanban-toast.show{opacity:1;transform:translateY(0);}
.kanban-toast.ok{background:#15703d;}
.kanban-toast.err{background:#b4233a;}

/* v3.1.9 - Layout limpo: menos itens soltos no menu e filtros contextuais */
.sidebar{
  width:218px;
  padding:18px 12px;
}
.brand-with-logo{
  min-height:54px;
  padding:4px 6px 14px;
  margin-bottom:4px;
}
.brand-logo-full{
  width:132px;
  max-height:42px;
}
.nav-clean{
  gap:4px;
}
.nav a:first-child:not(.active){
  background:transparent;
  color:#344054;
}
.nav-clean > a,
.nav-group a{
  min-height:38px;
  padding:9px 11px;
  border-radius:10px;
  font-size:13px;
}
.nav-group{
  display:grid;
  gap:4px;
  margin-top:6px;
}
.nav-group summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  color:#98a2b3;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:10px 11px 6px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.nav-group summary::-webkit-details-marker{display:none;}
.nav-group summary::after{
  content:"+";
  font-size:14px;
  color:#667085;
}
.nav-group[open] summary::after{content:"−";}
.nav-group a{
  margin-left:8px;
  padding-left:12px;
  color:#475467;
}
.nav-group:not([open]) a{display:none;}
.compact-actions{
  border-top:1px solid var(--line);
  padding:14px 4px 0;
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.compact-actions .logout-link{
  margin:0;
  font-size:12px;
  font-weight:800;
}
.main{
  padding:0 22px 22px;
}
.topbar{
  height:68px;
  gap:14px;
  margin-bottom:16px;
}
.page-title{
  min-width:260px;
}
.page-title h1{
  font-size:21px;
}
.page-title p{
  font-size:12px;
}
.hamb{
  width:38px;
  height:38px;
  border-radius:11px;
}
.top-filter-form{
  min-width:0 !important;
  flex:1;
  gap:8px;
}
.top-filter-form .global-search{
  max-width:360px;
}
.global-search{
  border-radius:12px;
}
.global-search input{
  padding:10px 9px;
  font-size:13px;
}
.filter-select.compact-select,
.filter-select{
  min-width:132px;
  padding:9px 10px;
  border-radius:11px;
  font-size:12px;
}
.profile-area{
  padding:5px 6px;
}
.profile-text strong{
  font-size:12px;
}
.profile-text small{
  font-size:11px;
}
.avatar{
  width:34px;
  height:34px;
}
.bell{
  transform:scale(.9);
}
.table-card,.filter-card,.panel,.board-card,.side-card,.employee-hero,.employee-preview{
  border-radius:16px;
  box-shadow:0 8px 24px rgba(16,24,40,.04);
}
.table th,.table td{
  padding:10px 12px;
}
.app-footer{
  font-size:11px;
  color:#98a2b3;
}
.app-shell.sidebar-collapsed .nav-group summary{
  display:none;
}
.app-shell.sidebar-collapsed .nav-group a{
  display:flex;
  margin-left:0;
  justify-content:center;
  padding-left:11px;
}
.app-shell.sidebar-collapsed .compact-actions{
  display:none;
}
@media(max-width:1350px){
  .top-filter-form .filter-select.compact-select{display:none;}
}
@media(max-width:980px){
  .sidebar{position:fixed;z-index:80;left:0;top:0;transform:translateX(-100%);transition:.2s ease;}
  .app-shell:not(.sidebar-collapsed) .sidebar{transform:translateX(0);}
  .main{padding:0 14px 18px;}
  .topbar{flex-wrap:wrap;height:auto;padding:12px 0;}
  .page-title{min-width:0;flex:1;}
  .top-filter-form{order:3;flex-basis:100%;}
}


/* v3.2.1 - Botão modo claro/escuro */
.theme-toggle{
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--text);
  min-height:42px;
  padding:0 12px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:inherit;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(16,24,40,.05);
  transition:.18s ease;
  white-space:nowrap;
}
.theme-toggle:hover{transform:translateY(-1px);border-color:#b9c7db}.theme-toggle-icon{font-size:16px;line-height:1}.theme-toggle-text{font-size:12px}
html[data-theme="dark"]{
  --bg:#0b1220;
  --panel:#111827;
  --line:#253044;
  --text:#eef4ff;
  --muted:#a9b4c7;
  --blue:#3b82f6;
  --blue2:#14233d;
  --shadow:0 18px 40px rgba(0,0,0,.30);
}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .sidebar,
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .hamb,
html[data-theme="dark"] .global-search,
html[data-theme="dark"] .profile-menu,
html[data-theme="dark"] .filter-select,
html[data-theme="dark"] .compact-select,
html[data-theme="dark"] .input,
html[data-theme="dark"] .select,
html[data-theme="dark"] .kpi-card,
html[data-theme="dark"] .board-card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .table-card,
html[data-theme="dark"] .filter-card,
html[data-theme="dark"] .employee-hero,
html[data-theme="dark"] .employee-preview,
html[data-theme="dark"] .side-card,
html[data-theme="dark"] .card,
html[data-theme="dark"] .person-card,
html[data-theme="dark"] .company-select-card,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .selected-company-box.improved,
html[data-theme="dark"] .company-option{
  background:var(--panel);
  color:var(--text);
  border-color:var(--line);
}
html[data-theme="dark"] .topbar{background:var(--bg)}
html[data-theme="dark"] .main{background:var(--bg)}
html[data-theme="dark"] .page-title p,
html[data-theme="dark"] .profile-area small,
html[data-theme="dark"] .profile-text small,
html[data-theme="dark"] .logout-link,
html[data-theme="dark"] .muted,
html[data-theme="dark"] .table th,
html[data-theme="dark"] .section-head span,
html[data-theme="dark"] .person-card small,
html[data-theme="dark"] .person-card span,
html[data-theme="dark"] .pending-row small,
html[data-theme="dark"] .action-row,
html[data-theme="dark"] .app-footer{color:var(--muted)}
html[data-theme="dark"] .nav a{color:#d7e2f2}
html[data-theme="dark"] .nav a:hover,
html[data-theme="dark"] .nav a.active,
html[data-theme="dark"] .nav a:first-child{background:#1d4ed8;color:#fff}
html[data-theme="dark"] .nav-group summary{color:#b6c2d5}
html[data-theme="dark"] .stage-col,
html[data-theme="dark"] .check,
html[data-theme="dark"] .notice,
html[data-theme="dark"] .rules-list div,
html[data-theme="dark"] .company-select-helper,
html[data-theme="dark"] .auth-help-row,
html[data-theme="dark"] .table th,
html[data-theme="dark"] .pending-row i,
html[data-theme="dark"] .action-row b{
  background:#0f172a;
  border-color:var(--line);
  color:var(--text);
}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{color:var(--text);background:#111827;border-color:var(--line)}
html[data-theme="dark"] input::placeholder{color:#7f8ca3}
html[data-theme="dark"] .global-search button{color:#b9c4d7}
html[data-theme="dark"] .btn-light{background:#172033;color:#e8eef8;border-color:var(--line)}
html[data-theme="dark"] .b-secondary{background:#263248;color:#d7e2f2}
html[data-theme="dark"] .b-info,
html[data-theme="dark"] .b-primary,
html[data-theme="dark"] .stage-head em,
html[data-theme="dark"] .side-title em{background:#17345f;color:#bfdbfe}
html[data-theme="dark"] .b-warning{background:#4a3210;color:#ffd88a}
html[data-theme="dark"] .b-success{background:#12351f;color:#90f0b0}
html[data-theme="dark"] .b-danger{background:#4b1721;color:#ffb3c0}
html[data-theme="dark"] .flash.success{background:#12351f;color:#90f0b0}
html[data-theme="dark"] .flash.danger{background:#4b1721;color:#ffb3c0}
html[data-theme="dark"] .flash.warning{background:#4a3210;color:#ffd88a}
html[data-theme="dark"] .flash.info{background:#17345f;color:#bfdbfe}
html[data-theme="dark"] .brand-logo-full,
html[data-theme="dark"] .brand-logo-icon{filter:brightness(1.05) contrast(1.03)}
@media(max-width:900px){.theme-toggle-text{display:none}.theme-toggle{width:42px;padding:0}}

/* v3.2.2 - Sininho de notificações funcional */
.notification-wrap{position:relative;display:flex;align-items:center;flex:0 0 auto}
.notification-btn{width:42px;height:42px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:14px;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(16,24,40,.05);transition:.18s ease}
.notification-btn:hover{transform:translateY(-1px);border-color:#b9c7db}.notification-btn .bell{transform:none;font-size:18px;line-height:1}.notification-btn .bell em{top:-10px;right:-12px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 5px;font-size:10px;border:2px solid var(--panel)}
.notification-menu{position:absolute;right:0;top:52px;width:360px;max-width:calc(100vw - 28px);background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 60px rgba(16,24,40,.18);padding:10px;z-index:120;display:none;color:var(--text)}
.notification-menu.open{display:block}.notification-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.notification-head strong,.notification-head small{display:block}.notification-head small{color:var(--muted);font-size:12px;margin-top:2px}.notification-head button{border:0;background:transparent;color:#075ed8;font-weight:900;font-size:12px;cursor:pointer;white-space:nowrap}.notification-list{display:grid;gap:6px;max-height:420px;overflow:auto}.notification-item{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;padding:10px;border-radius:13px;border:1px solid transparent;transition:.16s ease}.notification-item:hover{background:#f6f9fe;border-color:var(--line)}.notification-item i{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#f3f6fb;font-style:normal}.notification-item strong,.notification-item small{display:block}.notification-item strong{font-size:13px}.notification-item small{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.35}.notification-item.high i{background:#ffe4e8}.notification-item.mid i{background:#fff1d6}.notification-item.low i{background:#e8f1ff}.notification-item.ok i{background:#ddf7e5}.notification-item.read{opacity:.62}.notification-empty{padding:16px;text-align:center;color:var(--muted);font-weight:800}
html[data-theme="dark"] .notification-menu,
html[data-theme="dark"] .notification-btn{background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] .notification-item:hover{background:#0f172a;border-color:var(--line)}
html[data-theme="dark"] .notification-item i{background:#0f172a}
html[data-theme="dark"] .notification-head button{color:#93c5fd}
@media(max-width:900px){.notification-menu{right:-54px;width:330px}.notification-head button{font-size:11px}}

/* v3.2.4 - Login mais animado, leve e descontraído */
.login-playful-body{
  position:relative;
  overflow:hidden;
  padding:28px;
  background:
    radial-gradient(circle at 12% 18%, rgba(255,255,255,.24), transparent 24%),
    radial-gradient(circle at 86% 18%, rgba(89,168,255,.32), transparent 26%),
    radial-gradient(circle at 50% 100%, rgba(20,226,178,.16), transparent 30%),
    linear-gradient(135deg,#05142d 0%,#0752bd 56%,#0886ff 100%);
}
.login-playful-shell{
  width:min(1120px,100%);
  min-height:670px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) 440px;
  gap:26px;
  align-items:stretch;
  position:relative;
  z-index:2;
}
.login-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(.2px);
  opacity:.72;
  pointer-events:none;
  animation:loginFloat 8s ease-in-out infinite;
}
.orb-one{width:170px;height:170px;left:5%;top:9%;background:rgba(255,255,255,.10);animation-delay:0s;}
.orb-two{width:96px;height:96px;right:10%;top:12%;background:rgba(20,226,178,.18);animation-delay:1.4s;}
.orb-three{width:230px;height:230px;right:18%;bottom:-80px;background:rgba(255,255,255,.08);animation-delay:2.8s;}
@keyframes loginFloat{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-18px) translateX(10px)}}
.login-welcome-panel{
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:34px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07));
  box-shadow:0 28px 80px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
  padding:34px;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.login-welcome-panel::before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:-150px;
  top:-120px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
}
.login-welcome-panel::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  left:-70px;
  bottom:70px;
  border-radius:999px;
  background:rgba(20,226,178,.12);
}
.login-welcome-top,.login-welcome-copy,.login-feature-cards,.login-mini-kanban{position:relative;z-index:1;}
.login-welcome-top{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.login-welcome-logo{width:200px;max-height:62px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.20));}
.login-live-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.20);border-radius:999px;padding:9px 12px;font-size:12px;font-weight:900;white-space:nowrap;}
.login-live-pill i{width:8px;height:8px;border-radius:999px;background:#14e2b2;box-shadow:0 0 0 6px rgba(20,226,178,.16);}
.login-eyebrow{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;margin-bottom:16px;}
.login-welcome-copy h1{font-size:52px;line-height:1.02;margin:0 0 16px;letter-spacing:-.055em;}
.login-welcome-copy p{font-size:17px;line-height:1.65;margin:0;max-width:610px;color:rgba(255,255,255,.84);}
.login-feature-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;}
.login-feature-card{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:15px;box-shadow:0 16px 40px rgba(0,0,0,.12);animation:cardBreathe 5s ease-in-out infinite;}
.login-feature-card.delay-a{animation-delay:.2s}.login-feature-card.delay-b{animation-delay:.9s}.login-feature-card.delay-c{animation-delay:1.6s}
.login-feature-card b{display:grid;place-items:center;width:38px;height:38px;border-radius:14px;background:#fff;color:#075ed8;font-size:18px;margin-bottom:12px;}
.login-feature-card span{display:block;font-weight:900;font-size:14px;}
.login-feature-card small{display:block;margin-top:4px;color:rgba(255,255,255,.74);font-weight:700;font-size:12px;}
@keyframes cardBreathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.login-mini-kanban{display:flex;gap:10px;margin-top:24px;}
.login-mini-kanban span{height:7px;border-radius:999px;background:rgba(255,255,255,.24);display:block;animation:kanbanPulse 2.5s ease-in-out infinite;}
.login-mini-kanban span:nth-child(1){width:28%;}.login-mini-kanban span:nth-child(2){width:42%;animation-delay:.35s}.login-mini-kanban span:nth-child(3){width:18%;animation-delay:.7s}
@keyframes kanbanPulse{0%,100%{opacity:.42}50%{opacity:1}}
.login-playful-card{
  position:relative;
  overflow:hidden;
  align-self:center;
  animation:loginCardIn .45s ease both;
}
@keyframes loginCardIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.login-playful-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,#075ed8,#14e2b2,#0b79f7);
}
.login-card-badge{position:absolute;right:22px;top:18px;background:#ddf7e5;color:#15703d;border:1px solid #bcefc9;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;}
.login-playful-logo-area{margin-top:12px;}
.login-progress-soft{box-shadow:inset 0 1px 0 rgba(255,255,255,.7);}
.login-company-soft{background:linear-gradient(180deg,#f8fafd,#eef5ff);}
.login-input-icon{position:relative;}
.login-input-icon > span{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:15px;z-index:1;opacity:.72;}
.login-input-icon .input{padding-left:42px;transition:.16s ease;border-color:#d8e1ee;background:#fbfdff;}
.login-input-icon .input:focus{border-color:#075ed8;box-shadow:0 0 0 4px rgba(7,94,216,.10);background:#fff;}
.login-password-icon .input{padding-right:88px;}
.login-playful-submit{border-radius:16px;padding:14px 16px;box-shadow:0 14px 30px rgba(7,94,216,.25);transition:.16s ease;}
.login-playful-submit:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(7,94,216,.30);}
.login-playful-submit span{font-size:18px;line-height:1;}
.login-tip-box{display:flex;gap:10px;align-items:flex-start;margin-top:14px;background:#fff8e8;border:1px solid #ffe2a8;color:#8a5a00;border-radius:16px;padding:12px 13px;font-size:12px;line-height:1.4;}
.login-tip-box b{white-space:nowrap;}
.login-tip-box span{font-weight:700;}
.login-dev-soft{background:#f8fafc;border-style:dashed;}
@media(max-width:980px){
  .login-playful-shell{grid-template-columns:1fr;min-height:auto;}
  .login-welcome-panel{min-height:420px;}
  .login-welcome-copy h1{font-size:40px;}
  .login-feature-cards{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .login-playful-body{padding:16px;}
  .login-welcome-panel{display:none;}
  .login-playful-shell{display:block;}
  .login-card-badge{position:static;display:inline-flex;margin-bottom:12px;}
  .login-playful-card{padding:22px;}
}
@media(prefers-reduced-motion:reduce){
  .login-orb,.login-feature-card,.login-mini-kanban span,.login-playful-card{animation:none!important;}
}


/* === FE DEVTECH v325 - Bloquinhos com olhos no Login === */
.login-creature-form{overflow:visible; position:relative;}
.login-creatures-wrap{display:grid; grid-template-columns:repeat(6, minmax(36px,1fr)); gap:10px; margin:2px 0 18px; align-items:end;}
.login-creature{position:relative; height:50px; border-radius:16px; display:flex; align-items:center; justify-content:center; gap:5px; box-shadow:0 12px 28px rgba(15,23,42,.13); transform-origin:center bottom; animation:creatureFloat 3.6s ease-in-out infinite; overflow:hidden;}
.login-creature:nth-child(2){animation-delay:.14s}.login-creature:nth-child(3){animation-delay:.28s}.login-creature:nth-child(4){animation-delay:.42s}.login-creature:nth-child(5){animation-delay:.56s}.login-creature:nth-child(6){animation-delay:.70s}
.creature-shine{position:absolute; inset:7px auto auto 8px; width:20px; height:8px; border-radius:999px; background:rgba(255,255,255,.42); transform:rotate(-20deg);}
.login-creature .eye{width:12px; height:14px; border-radius:999px; background:#fff; display:flex; align-items:center; justify-content:center; z-index:2; box-shadow:inset 0 -1px 2px rgba(15,23,42,.12);}
.login-creature .eye i{width:5px; height:5px; border-radius:999px; background:#172033; display:block; transition:transform .12s ease;}
.login-creature .mouth{position:absolute; bottom:10px; left:50%; width:14px; height:7px; border-radius:0 0 999px 999px; border-bottom:2px solid rgba(23,32,51,.58); transform:translateX(-50%); transition:.2s ease;}
.creatures-error .login-creature{animation:creatureWrong .58s cubic-bezier(.36,.07,.19,.97) both !important;}
.creatures-error .login-creature .mouth{height:6px; border-radius:999px 999px 0 0; border-bottom:0; border-top:2px solid rgba(23,32,51,.65); bottom:9px;}
.creatures-password-focus .login-creature .eye{height:5px; margin-top:-6px;}
.creatures-password-focus .login-creature .eye i{opacity:0;}
.login-error-shake .login-input-icon:has(#passwordInput), .login-error-shake .password-wrap{animation:inputWrong .42s ease both;}
@keyframes creatureFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-1deg)}}
@keyframes creatureWrong{0%,100%{transform:translateX(0) rotate(0)}15%{transform:translateX(-7px) rotate(-4deg)}30%{transform:translateX(7px) rotate(4deg)}45%{transform:translateX(-6px) rotate(-3deg)}60%{transform:translateX(6px) rotate(3deg)}75%{transform:translateX(-3px) rotate(-1deg)}}
@keyframes inputWrong{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media (max-width: 760px){.login-creatures-wrap{grid-template-columns:repeat(3,1fr)}.login-creature{height:46px}}

.login-creatures-premium .login-creature{background:linear-gradient(145deg,#f8fafc,#e2e8f0); border:1px solid rgba(15,23,42,.08); box-shadow:0 10px 22px rgba(15,23,42,.10);}
.login-creatures-premium .login-creature .eye i{background:#0f172a;}
.login-creatures-premium .creature-1,.login-creatures-premium .creature-4{background:linear-gradient(145deg,#eff6ff,#dbeafe)}
.login-creatures-premium .creature-2,.login-creatures-premium .creature-5{background:linear-gradient(145deg,#f8fafc,#e5e7eb)}
.login-creatures-premium .creature-3,.login-creatures-premium .creature-6{background:linear-gradient(145deg,#ecfeff,#d1fae5)}
.login-creatures-premium.creatures-error .login-creature{background:linear-gradient(145deg,#fff1f2,#ffe4e6); border-color:rgba(239,68,68,.18);}

/* === FE DEVTECH v326 - Login estilo ilustração premium com bloquinhos === */
.login-studio-body{
  min-height:100vh;
  margin:0;
  display:grid;
  place-items:center;
  padding:28px;
  background:
    radial-gradient(circle at 15% 15%, rgba(255,255,255,.09), transparent 28%),
    radial-gradient(circle at 85% 80%, rgba(245,158,11,.12), transparent 32%),
    linear-gradient(135deg,#15171c 0%,#20242b 48%,#101216 100%);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-y:auto;
  overflow-x:hidden;
}
.login-studio-body::-webkit-scrollbar{width:10px;}
.login-studio-body::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:999px;}
.login-studio-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.35);border-radius:999px;border:2px solid rgba(17,18,22,.35);}
.login-studio-body::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.52);}
.login-studio-shell{
  width:min(1180px,100%);
  min-height:720px;
  max-height:calc(100vh - 56px);
  display:grid;
  grid-template-columns:1.08fr .92fr;
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 30px 90px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.62);
  position:relative;
}
.login-studio-shell::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:28px;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88), inset 0 0 0 1px rgba(15,23,42,.05);
  z-index:5;
}
.login-studio-art{
  position:relative;
  background:linear-gradient(135deg,#f1f1f2 0%,#e7e7e9 100%);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:40px;
  overflow:hidden;
}
.login-studio-art::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:999px;
  left:-160px;
  bottom:-180px;
  background:rgba(255,255,255,.54);
}
.login-studio-art::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border-radius:999px;
  right:-100px;
  top:-90px;
  background:rgba(255,255,255,.48);
}
.studio-top-brand{
  position:absolute;
  top:30px;
  left:34px;
  display:flex;
  align-items:center;
  gap:12px;
  z-index:4;
}
.studio-top-brand img{width:145px;max-height:42px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(15,23,42,.08));}
.studio-top-brand span{font-size:12px;font-weight:900;color:#697386;background:rgba(255,255,255,.62);border:1px solid rgba(15,23,42,.06);padding:7px 10px;border-radius:999px;}
.studio-cursor{position:absolute;width:0;height:0;border-top:18px solid transparent;border-bottom:18px solid transparent;border-left:32px solid #111827;filter:drop-shadow(0 8px 12px rgba(15,23,42,.18));z-index:3;animation:studioCursor 5s ease-in-out infinite;}
.cursor-a{left:90px;top:270px;transform:rotate(-42deg);}
.cursor-b{right:180px;top:80px;transform:rotate(0deg) scale(.72);animation-delay:1.5s;}
@keyframes studioCursor{0%,100%{translate:0 0}50%{translate:8px -10px}}
.studio-mascots{
  width:min(560px,92%);
  height:400px;
  position:relative;
  z-index:2;
  margin-top:30px;
}
.studio-creature{
  position:absolute;
  display:flex;
  justify-content:center;
  gap:12px;
  box-shadow:0 22px 45px rgba(15,23,42,.16);
  transform-origin:center bottom;
  animation:studioCreatureFloat 4s ease-in-out infinite;
  overflow:hidden;
}
.studio-creature::before{content:"";position:absolute;left:20px;top:18px;width:34%;height:10px;border-radius:999px;background:rgba(255,255,255,.26);transform:rotate(-12deg);}
.studio-creature .eye{width:22px;height:22px;border-radius:999px;background:#fff;display:grid;place-items:center;z-index:2;box-shadow:inset 0 -2px 4px rgba(15,23,42,.16);margin-top:32px;transition:.18s ease;}
.studio-creature .eye i{width:8px;height:8px;border-radius:999px;background:#101216;display:block;transition:transform .12s ease, opacity .12s ease;}
.studio-creature .mouth{position:absolute;left:50%;bottom:38px;width:26px;height:11px;transform:translateX(-50%);border-radius:0 0 999px 999px;border-bottom:4px solid rgba(17,24,39,.72);transition:.2s ease;}
.creature-orange{left:18px;bottom:28px;width:280px;height:142px;border-radius:180px 180px 0 0;background:linear-gradient(145deg,#ff9c2e,#fb6f1f);}
.creature-purple{left:155px;bottom:128px;width:155px;height:270px;border-radius:3px;background:linear-gradient(145deg,#7b35ff,#5417db);}
.creature-dark{left:286px;bottom:68px;width:122px;height:205px;border-radius:3px;background:linear-gradient(145deg,#25262b,#111216);}
.creature-yellow{left:384px;bottom:28px;width:125px;height:190px;border-radius:90px 90px 0 0;background:linear-gradient(145deg,#ffe21e,#f0c600);}
.creature-blue{left:315px;bottom:282px;width:78px;height:78px;border-radius:28px;background:linear-gradient(145deg,#70b8ff,#2f80ed);transform:rotate(-7deg);}
.creature-green{left:70px;bottom:190px;width:84px;height:84px;border-radius:26px;background:linear-gradient(145deg,#44d17c,#16a34a);transform:rotate(5deg);}
.creature-orange .eye{margin-top:50px}.creature-orange .mouth{bottom:48px;width:30px;height:14px;border-bottom-width:5px;}
.creature-yellow .eye{margin-top:54px}.creature-yellow .mouth{bottom:96px;width:40px;height:0;border-radius:999px;border-bottom:4px solid rgba(17,24,39,.78);}
.creature-dark .eye{margin-top:40px}.creature-dark .mouth{bottom:118px;width:18px;height:0;border-bottom:3px solid rgba(255,255,255,.56);}
.creature-blue .eye,.creature-green .eye{width:14px;height:14px;margin-top:22px;gap:5px}.creature-blue .eye i,.creature-green .eye i{width:5px;height:5px}.creature-blue .mouth,.creature-green .mouth{bottom:24px;width:18px;border-bottom-width:3px;}
.creature-1{animation-delay:.05s}.creature-2{animation-delay:.2s}.creature-3{animation-delay:.4s}.creature-4{animation-delay:.65s}.creature-5{animation-delay:.9s}.creature-6{animation-delay:1.1s}

.creatures-idle-look .studio-creature{filter:saturate(1.02);}
.creatures-user-focus .studio-creature{animation-duration:3.2s;}
.creatures-user-focus .studio-creature .eye{box-shadow:inset 0 -2px 4px rgba(15,23,42,.16),0 0 0 4px rgba(255,255,255,.16);}
.creatures-user-focus .studio-creature .mouth{width:20px;height:8px;border-bottom-width:4px;}
.creatures-typing-user .studio-creature{animation:studioCurious .9s ease both, studioCreatureFloat 4s ease-in-out infinite .9s;}
.creatures-typing-user .creature-1,.creatures-typing-user .creature-4{translate:0 -4px;}
.creatures-typing-user .studio-creature .mouth{height:13px;border-bottom-width:4px;}
.creatures-typing-user .creature-yellow .mouth,.creatures-typing-user .creature-dark .mouth{height:0;border-bottom-width:4px;}
@keyframes studioCurious{0%{scale:1}38%{scale:1.035}100%{scale:1}}
@keyframes studioCreatureFloat{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -7px;rotate:-.6deg}}
.creatures-error .studio-creature{animation:studioWrong .62s cubic-bezier(.36,.07,.19,.97) both!important;}
.creatures-error .studio-creature .mouth{height:7px;border-radius:999px 999px 0 0;border-bottom:0;border-top:4px solid rgba(17,24,39,.72);bottom:42px;}
.creatures-error .creature-yellow .mouth,.creatures-error .creature-dark .mouth{bottom:96px;border-top-width:3px;}
.creatures-password-focus .studio-creature .eye{height:5px;margin-top:38px;}
.creatures-password-focus .studio-creature .eye i{opacity:0;}
.creatures-success .studio-creature .mouth{height:16px;border-radius:0 0 999px 999px;border-bottom:5px solid rgba(22,101,52,.78);border-top:0;}
@keyframes studioWrong{0%,100%{translate:0 0;rotate:0}15%{translate:-10px 0;rotate:-4deg}30%{translate:10px 0;rotate:4deg}45%{translate:-8px 0;rotate:-3deg}60%{translate:8px 0;rotate:3deg}75%{translate:-4px 0;rotate:-1deg}}
.studio-art-caption{position:absolute;left:40px;right:40px;bottom:34px;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.58);border:1px solid rgba(15,23,42,.07);border-radius:18px;padding:13px 16px;color:#111827;backdrop-filter:blur(8px);}
.studio-art-caption strong{font-size:14px}.studio-art-caption span{font-size:12px;color:#6b7280;font-weight:800;text-align:right;}
.login-studio-form-panel{background:#fff;display:grid;place-items:center;padding:42px;position:relative;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#c7ced8 transparent;}
.login-studio-form-panel::-webkit-scrollbar{width:9px;}
.login-studio-form-panel::-webkit-scrollbar-track{background:transparent;}
.login-studio-form-panel::-webkit-scrollbar-thumb{background:#c7ced8;border-radius:999px;border:2px solid #fff;}
.login-studio-form-panel::-webkit-scrollbar-thumb:hover{background:#9aa4b2;}
.login-studio-form{width:min(370px,100%);position:relative;animation:studioFormIn .45s ease both;}
@keyframes studioFormIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.studio-form-logo{width:44px;height:44px;border-radius:16px;margin:0 auto 28px;display:grid;place-items:center;background:#111216;box-shadow:0 12px 26px rgba(17,18,22,.15);}
.studio-form-logo img{width:25px;height:25px;object-fit:contain;filter:brightness(0) invert(1);}
.login-studio-form h1{margin:0;text-align:center;color:#111827;font-size:34px;line-height:1.05;letter-spacing:-.045em;font-weight:950;}
.studio-form-subtitle{text-align:center;color:#7b8495;margin:10px 0 24px;font-size:13px;font-weight:700;}
.studio-company-chip{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;background:#f7f7f8;border:1px solid #eceef2;border-radius:18px;padding:12px 14px;margin-bottom:18px;}
.studio-company-chip span{font-size:10px;color:#8a93a3;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.studio-company-chip strong{font-size:13px;color:#111827}.studio-company-chip a{grid-row:1/3;grid-column:2;color:#111827;text-decoration:none;font-weight:950;font-size:12px;background:#fff;border:1px solid #e6e8ed;border-radius:999px;padding:7px 10px;}
.studio-label{display:block;margin:14px 0 6px;color:#20242b;font-size:13px;font-weight:900;}
.studio-input-line{position:relative;border-bottom:2px solid #d1d5db;transition:.18s ease;}
.studio-input-line:focus-within{border-bottom-color:#111216;}
.studio-input-line input{width:100%;border:0;outline:0;background:transparent;padding:12px 0 11px;font-size:15px;color:#111827;font-weight:800;}
.studio-input-line input::placeholder{color:#a0a7b5;font-weight:700;}
.password-line{display:flex;align-items:center;gap:8px;}
.password-line input{min-width:0;}.password-line button{border:0;background:transparent;cursor:pointer;font-size:18px;width:36px;height:36px;border-radius:999px;transition:.15s ease;}.password-line button:hover{background:#f1f3f6;}
.studio-form-options{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0 20px;color:#6b7280;font-size:12px;font-weight:800;}.studio-form-options label{display:flex;align-items:center;gap:6px}.studio-form-options input{accent-color:#111216;}
.studio-login-button{width:100%;border:0;border-radius:17px;background:#111216;color:#fff;padding:15px 16px;font-size:15px;font-weight:950;cursor:pointer;box-shadow:0 16px 32px rgba(17,18,22,.18);transition:.18s ease;}
.studio-login-button:hover{transform:translateY(-1px);box-shadow:0 20px 38px rgba(17,18,22,.24);}.studio-login-button.loading{opacity:.82;cursor:wait;}
.studio-help-text{margin:18px 0 0;text-align:center;color:#9aa2af;font-size:12px;line-height:1.45;font-weight:700;}
.studio-dev-signature{position:static;margin-top:22px;text-align:center;color:#8b94a3;font-size:11px;line-height:1.55;font-weight:700;}.studio-dev-signature strong{color:#111827;}
.studio-login-flash{border-radius:14px;margin:0 0 12px;font-size:13px;}.login-error-shake .studio-input-line:has(#passwordInput),.login-error-shake .password-line{animation:inputWrong .42s ease both;}
@media(max-width:980px){.login-studio-body{padding:16px;overflow:auto}.login-studio-shell{grid-template-columns:1fr;min-height:auto;max-height:none}.login-studio-art{min-height:520px}.login-studio-form-panel{padding:32px 22px 70px}.studio-dev-signature{margin-top:22px}.studio-art-caption{position:relative;left:auto;right:auto;bottom:auto;margin-top:16px}.studio-mascots{height:370px}}
@media(max-width:560px){.login-studio-art{display:none}.login-studio-shell{border-radius:24px}.login-studio-form-panel{min-height:calc(100vh - 32px)}.login-studio-form h1{font-size:29px}.studio-form-options{align-items:flex-start;flex-direction:column}.login-studio-body{background:#111216}}
@media(prefers-reduced-motion:reduce){.studio-creature,.studio-cursor,.login-studio-form{animation:none!important;}}
