/*
 * TalentOS 1.149 — Estrutura do painel no padrão Smart Connecta (platform.css 1.4.28).
 * Layout: barra lateral de 230px agrupada por seções, barra superior de 86px com trilha
 * (breadcrumb), ações e conta (avatar, nome, perfil, menu), cabeçalho de página com ícone,
 * configurações com navegação lateral e login dividido (ilustração + cartão).
 * As regras usam as variáveis de tema; as cores do Smart ficam em talentos-smart-theme-v1149.css.
 */
:root{--talentos-fixed-topbar-height:86px;--tos-sidebar-w:230px}

/* ---------- Ícones ---------- */
.cp-icon{width:20px;height:20px;flex:0 0 20px;vertical-align:middle}

/* ---------- Barra lateral ---------- */
@media(min-width:901px){.sidebar{width:var(--tos-sidebar-w)!important;padding:26px 15px 18px!important;display:flex;flex-direction:column;gap:0}}
.sidebar-top{padding:0 10px 26px!important;align-items:flex-start}
.talentos-brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-decoration:none;color:inherit}
.talentos-brand-lockup .logo{max-width:118px;height:auto;display:block}
.talentos-brand-lockup strong{font-size:22px!important;line-height:1.05;letter-spacing:-.6px}
.talentos-brand-lockup span{font-size:9.5px!important;letter-spacing:1.4px;text-transform:uppercase}
.sidebar nav{display:flex!important;flex-direction:column;gap:2px;flex:1;overflow-y:auto;margin:0}
.sidebar .nav-group{display:flex;flex-direction:column;gap:3px}
.sidebar .nav-group.is-empty{display:none}
.sidebar .sidebar-section-label{display:block;margin:15px 7px 8px;padding:0!important;font-size:10px!important;font-weight:700;letter-spacing:1.6px}
.sidebar .nav-group:first-child .sidebar-section-label{margin-top:0}
.sidebar .navbtn{display:flex;align-items:center;gap:13px;padding:11px 16px!important;border-radius:11px;font-size:14px;line-height:1.3;text-align:left}
.sidebar .navbtn .nav-icon{width:20px!important;height:20px!important;display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 20px;background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important;font-size:0}
.sidebar .navbtn .nav-icon .cp-icon{width:20px;height:20px}
.sidebar .navbtn.active .cp-icon{stroke-width:2}
.sidebar-footer{display:flex!important;align-items:center;gap:10px;margin:auto 6px 0!important;padding:22px 4px 0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.sidebar-footer strong{font-size:11px;font-weight:600;color:var(--muted)}
.sidebar-footer small{font-size:10px;color:var(--muted);opacity:.8}
.sidebar-status-dot{width:9px!important;height:9px!important;flex:0 0 9px;border-radius:50%;background:linear-gradient(130deg,#ff8152,#ef36a8,#8257ed,#22bbeb)!important;box-shadow:none!important;animation:none!important}

/* ---------- Barra superior ---------- */
.admin-main>.topbar{
 display:flex;align-items:center;justify-content:space-between;gap:20px;
 height:var(--talentos-fixed-topbar-height);min-height:var(--talentos-fixed-topbar-height)!important;
 padding:0 35px!important;box-shadow:none!important;
}
.topbar-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.cp-breadcrumb{display:flex;gap:14px;align-items:center;font-size:13px;white-space:nowrap;color:var(--muted);min-width:0}
.cp-breadcrumb strong{font-size:13px;font-weight:600;color:var(--soft);overflow:hidden;text-overflow:ellipsis}
.topbar>.actions{display:flex;align-items:center;gap:14px;min-width:0}
.topbar .triage-notification-btn,.topbar .kebab,.cp-icon-button{
 display:inline-flex!important;align-items:center;justify-content:center;width:36px!important;height:36px!important;flex:0 0 36px!important;
 padding:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--muted)!important;font-size:0!important;position:relative;cursor:pointer;
}
.topbar .triage-notification-btn:hover,.topbar .kebab:hover{background:color-mix(in srgb,var(--teal) 10%,transparent)!important;color:var(--teal)!important}
.topbar .triage-notification-btn .cp-icon,.topbar .kebab .cp-icon{width:20px;height:20px}
.topbar .triage-notification-badge{font-size:10px!important;position:absolute;top:2px;right:0}
.user-wrap{display:flex;align-items:center;gap:6px;position:relative}
.cp-account{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;padding:4px 6px;border-radius:12px;cursor:pointer;text-align:left}
.cp-account:hover{background:color-mix(in srgb,var(--teal) 7%,transparent)}
.cp-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:color-mix(in srgb,var(--teal) 14%,var(--panel));color:var(--teal);font-size:12px;font-weight:700;letter-spacing:.1px}
.cp-account-name{display:flex;flex-direction:column;min-width:70px}
.cp-account-name strong{font-size:13px;font-weight:600;color:var(--text);line-height:1.2}
.cp-account-name small{font-size:11px;color:var(--muted);margin-top:1px}
.cp-account-menu{position:absolute!important;right:0;top:52px!important;width:300px!important;padding:8px!important;border:1px solid var(--line);border-radius:14px!important;background:var(--panel);box-shadow:0 14px 45px rgba(49,33,83,.13)!important;z-index:180}
.cp-account-menu a,.cp-account-menu>button{display:flex;width:100%;align-items:center;gap:12px;border:0;background:transparent;text-align:left;font-size:13px;padding:11px;border-radius:8px;color:var(--soft);text-decoration:none;cursor:pointer}
.cp-account-menu a:hover,.cp-account-menu>button:hover{background:color-mix(in srgb,var(--teal) 8%,transparent);color:var(--teal)}
.cp-account-menu hr{border:0;border-top:1px solid var(--line);margin:6px 8px}
.cp-account-detail{padding:10px 10px 12px}
.cp-account-detail strong,.cp-account-detail small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cp-account-detail strong{font-size:13px;color:var(--text)}
.cp-account-detail small{font-size:11px;color:var(--muted);margin-top:3px}
.cp-account-appearance .appearance-controls{display:flex!important;flex-direction:column;align-items:stretch;gap:10px;padding:4px 10px 8px}
.cp-account-appearance .appearance-control{display:flex;flex-direction:column;gap:6px;width:100%}
.cp-account-appearance .appearance-control>span{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.cp-account-appearance .theme-picker-button,.cp-account-appearance .font-size-slider-wrap{width:100%}
.cp-account-appearance .theme-picker-menu{position:fixed!important;right:24px!important;top:96px!important;left:auto!important;max-height:calc(100vh - 120px);overflow:auto;z-index:200}

/* ---------- Conteúdo e cabeçalho da página ---------- */
.admin-main{margin-left:var(--tos-sidebar-w)!important;padding:calc(var(--talentos-fixed-topbar-height) + 30px) 36px 55px!important}
.admin-main>.topbar{left:var(--tos-sidebar-w)!important}
.admin-main>.view,.admin-main>.page-heading{max-width:1700px;margin-left:auto;margin-right:auto}
.page-heading{display:flex;align-items:center;gap:17px;margin:0 0 28px}
.page-mark{height:55px;width:55px;flex:0 0 55px;border-radius:17px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--teal) 12%,var(--panel));color:var(--teal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 16%,transparent)}
.page-mark .cp-icon{width:25px;height:25px;flex-basis:25px}
.page-heading .eyebrow{display:block;font-size:10px!important;font-weight:700;letter-spacing:1.6px;color:var(--muted)!important}
.page-heading h1{font-size:26px;line-height:1.2;letter-spacing:-.7px;font-weight:650;margin:4px 0 6px;color:var(--text)}
.page-heading p{margin:0;color:var(--muted);font-size:13px}
.section-head h3,.dash-toolbar h3{font-size:19px;font-weight:650;letter-spacing:-.4px}

/* ---------- Métricas do dashboard (cartões estilo Smart) ---------- */
.admin-main .stats{gap:15px}
.admin-main .stats .stat{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;gap:4px;border-radius:13px!important;padding:19px 22px!important;min-height:0!important}
.admin-main .stats .stat small,.admin-main .stats .stat span{text-transform:none!important;letter-spacing:0!important;font-size:12px!important;color:var(--muted)!important;text-align:left!important}
.admin-main .stats .stat strong{font-size:28px!important;letter-spacing:-.8px;font-weight:650;text-align:left!important;color:var(--text)}

/* ---------- Configurações: navegação lateral ---------- */
#settingsPanel{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
#settingsPanel>*{grid-column:2;min-width:0}
#settingsPanel>.settings-category-nav{grid-column:1;grid-row:1 / span 60;position:sticky;top:calc(var(--talentos-fixed-topbar-height) + 20px);display:flex!important;flex-direction:column;gap:2px;padding:10px;margin:0;border:1px solid var(--line);border-radius:15px;background:var(--panel)}
#settingsPanel .settings-category-btn{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px!important;border:0!important;border-radius:9px!important;background:transparent!important;font-size:13px;color:var(--soft);box-shadow:none!important}
#settingsPanel .settings-category-btn>span{display:inline-flex;font-size:0!important;color:inherit}
#settingsPanel .settings-category-btn>span .cp-icon{width:17px;height:17px;flex-basis:17px}
#settingsPanel .settings-category-btn strong{font-weight:500}
#settingsPanel .settings-category-btn small{display:none!important}
#settingsPanel .settings-category-btn:hover{background:color-mix(in srgb,var(--teal) 6%,transparent)!important;color:var(--teal)}
#settingsPanel .settings-category-btn.active{background:color-mix(in srgb,var(--teal) 12%,var(--panel))!important;color:var(--teal)!important}
#settingsPanel .settings-category-btn.active strong{font-weight:650}

/* ---------- Modais ---------- */
.modal .modal-card{border-radius:20px!important;border:1px solid var(--line)!important;box-shadow:0 20px 75px rgba(36,20,45,.16)!important}
.modal .modal-x{width:34px;height:34px;border-radius:10px;border:0;background:transparent;color:var(--muted);font-size:20px}
.modal .modal-x:hover{background:color-mix(in srgb,var(--teal) 8%,transparent);color:var(--teal)}

/* ---------- Login dividido ---------- */
.login-page.login-v2.hidden{display:none!important}
.login-page.login-v2{min-height:100vh;display:grid!important;grid-template-columns:56% 44%;place-items:stretch!important;padding:0;overflow:hidden}
.login-v2 .login-visual{position:relative;min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6vh 4vw;background:radial-gradient(circle at 20% 80%,#e6dcff 0,transparent 45%),linear-gradient(160deg,#fbfaff,#f1ebff)}
.login-v2 .login-visual img{width:min(92%,760px);height:auto;display:block;mix-blend-mode:multiply}
.login-v2 .login-message{align-self:flex-start;margin:3vh 0 0 2vw;max-width:440px}
.login-v2 .login-message strong{display:block;font-size:clamp(26px,2.4vw,40px);line-height:1.08;letter-spacing:-1px;color:#26116c;font-weight:800}
.login-v2 .login-message span{display:block;margin-top:12px;font-size:16px;line-height:1.5;color:#6a5f8f}
.login-v2 .login-access{display:grid;place-items:center;padding:32px 2.5vw;background:radial-gradient(circle at 35% 15%,#f3edff 0,transparent 30%),#fbfaff}
.login-v2 .login-card{width:min(100%,520px)!important;padding:clamp(36px,3vw,52px) clamp(34px,3.4vw,58px)!important;border-radius:30px!important;background:#fff!important;color:#26116c;box-shadow:0 24px 55px rgba(58,21,132,.12)!important;border:0!important}
.login-v2 .login-card .logo{max-width:130px;margin:0 auto 16px;display:block}
.login-v2 .login-brand{text-align:center;margin-bottom:22px}
.login-v2 .login-brand strong{display:block;font-size:34px;font-weight:800;letter-spacing:-1px;background:linear-gradient(90deg,#6d25ff 0%,#a42fe0 55%,#ef1aa1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-v2 .login-brand span{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#a39bad}
.login-v2 .login-card h2{margin:0;text-align:center;color:#281069;font-size:clamp(28px,2vw,36px);line-height:1.1;letter-spacing:-1px}
.login-v2 .login-subtitle{text-align:center;margin:8px 0 26px;color:#77709d;font-size:15px}
.login-v2 .login-card label{color:#241168;font-weight:700;font-size:14px}
.login-v2 .login-card input{height:52px;border:1.5px solid #dcdced!important;border-radius:14px!important;background:#fff!important;color:#33226b!important;font-size:16px;padding:0 16px}
.login-v2 .login-card input:focus{border-color:#6d25ff!important;box-shadow:0 0 0 4px rgba(109,37,255,.1)!important;outline:0}
.login-v2 .login-submit,#loginPage .btn.primary.login-submit{height:54px;margin-top:8px;border:0!important;border-radius:14px!important;font-size:17px;font-weight:800;color:#fff!important;background:linear-gradient(90deg,#ff7140 0%,#ef1aa1 38%,#6d25ff 72%,#08b9ee 100%)!important;box-shadow:0 10px 24px rgba(109,37,255,.18)!important}
#loginPage .btn.primary.login-submit:hover{filter:brightness(1.05)}
.login-v2 #forgotBtn{color:#6d25ff;font-weight:700;text-decoration:underline;text-underline-offset:3px;background:transparent;border:0}

/* ---------- Responsivo ---------- */
@media(max-width:1100px){
 .cp-account-name{display:none}
 .admin-main{padding-left:24px!important;padding-right:24px!important}
}
@media(max-width:900px){
 .admin-main{margin-left:0!important;padding:calc(var(--talentos-fixed-topbar-height) + 18px) 14px 36px!important}
 .admin-main>.topbar{left:0!important;padding:0 14px!important}
 :root{--talentos-fixed-topbar-height:64px}
 .mobile-menu-open{display:inline-flex!important;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--text)}
 .mobile-menu-close{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--text)}
 .page-heading{margin-bottom:18px}.page-mark{display:none}.page-heading h1{font-size:22px}
 #settingsPanel{grid-template-columns:1fr}
 #settingsPanel>.settings-category-nav{grid-column:1;grid-row:auto;position:static;flex-direction:row;flex-wrap:wrap}
 #settingsPanel>*{grid-column:1}
 #settingsPanel .settings-category-btn{width:auto}
 .login-page.login-v2{grid-template-columns:1fr}
 .login-v2 .login-visual{display:none}
}

/* ---------- Ajustes do menu da conta e responsivo ---------- */
.cp-account-appearance .theme-picker-wrap{position:relative;width:100%;display:block}
.cp-account-appearance .theme-picker-button{display:flex!important;align-items:center;gap:10px;width:100%!important;height:42px!important;min-height:0!important;padding:0 12px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--panel)!important;color:var(--text)!important;font-size:13px!important;font-weight:600;position:static!important}
.cp-account-appearance .theme-current-preview{width:22px!important;height:22px!important;flex:0 0 22px!important;border-radius:7px!important;display:block}
.cp-account-appearance .theme-picker-chevron{margin-left:auto;color:var(--muted)}
.cp-account-appearance .font-size-slider-wrap{display:flex!important;align-items:center;gap:10px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.cp-account-appearance .font-size-slider-wrap input[type=range]{flex:1;min-width:0}
#view-settings>.section-head{display:none}
@media(max-width:900px){
 .cp-breadcrumb>span{display:none}
 .cp-breadcrumb strong{font-size:15px;color:var(--text)}
 .cp-account-menu{position:fixed!important;top:70px!important;right:10px!important;width:min(300px,calc(100vw - 20px))!important}
 .cp-account-appearance .theme-picker-menu{right:10px!important;top:80px!important;width:calc(100vw - 20px)}
}
.cp-account-appearance .theme-picker-menu{width:min(560px,calc(100vw - 48px))!important;padding:10px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:var(--panel)!important;box-shadow:0 14px 45px rgba(49,33,83,.15)!important}
.cp-account-appearance .theme-picker-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important}
.cp-account-appearance .theme-option-card{display:grid!important;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:10px!important;border:1px solid var(--line)!important;border-radius:10px!important;background:var(--panel)!important;color:var(--text)!important;cursor:pointer}
.cp-account-appearance .theme-option-card .theme-swatch{grid-row:1 / span 2;width:28px!important;height:28px!important;border-radius:8px!important;display:block}
.cp-account-appearance .theme-option-card strong{font-size:12px;font-weight:600}
.cp-account-appearance .theme-option-card small{font-size:10px;color:var(--muted)}
.cp-account-appearance .theme-option-card.active{border-color:var(--teal)!important;box-shadow:inset 0 0 0 1px var(--teal)!important}
@media(max-width:900px){.cp-account-appearance .theme-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
