.titulo-pagina{font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.1;letter-spacing:-1px}
.subtitulo-pagina{margin-top:8px;color:var(--cor-texto-secundario);font-size:16px;line-height:1.6}
.rotulo{display:block;margin-bottom:8px;color:var(--cor-texto-secundario);font-size:14px;font-weight:700}
.campo{position:relative}
.campo input,.campo select,.campo textarea{width:100%;min-height:50px;padding:0 15px;border:1px solid var(--cor-borda);border-radius:var(--raio-medio);outline:none;background:var(--cor-fundo-secundario);color:var(--cor-texto);transition:border-color var(--transicao),box-shadow var(--transicao),background var(--transicao)}
.campo textarea{min-height:130px;padding-top:14px;padding-bottom:14px;resize:vertical}
.campo input::placeholder,.campo textarea::placeholder{color:var(--cor-texto-suave)}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:#454b54;background:var(--cor-superficie)}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--cor-dourado);box-shadow:0 0 0 4px rgba(201,162,79,.13);background:var(--cor-superficie)}
.campo input:disabled,.campo select:disabled,.campo textarea:disabled{cursor:not-allowed;opacity:.55}
.campo-com-icone input{padding-left:46px}
.campo-icone{position:absolute;left:15px;top:50%;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--cor-texto-suave);transform:translateY(-50%);pointer-events:none}
.campo-ajuda{display:block;margin-top:7px;color:var(--cor-texto-suave);font-size:12px;line-height:1.45}
.campo-erro input,.campo-erro select,.campo-erro textarea{border-color:var(--cor-erro);box-shadow:0 0 0 4px rgba(239,100,100,.1)}
.campo-erro-texto{display:block;margin-top:7px;color:var(--cor-erro);font-size:12px;font-weight:700}
.botao{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;border:1px solid transparent;border-radius:var(--raio-medio);font-size:14px;font-weight:800;line-height:1;white-space:nowrap;transition:transform var(--transicao),background var(--transicao),border-color var(--transicao),color var(--transicao),box-shadow var(--transicao)}
.botao:hover{transform:translateY(-1px)}
.botao:active{transform:translateY(0)}
.botao:disabled{cursor:not-allowed;opacity:.55;transform:none}
.botao-primario{background:linear-gradient(135deg,var(--cor-dourado-claro),var(--cor-dourado));color:#17130b;box-shadow:0 8px 22px rgba(201,162,79,.2)}
.botao-primario:hover{background:linear-gradient(135deg,#ebca79,var(--cor-dourado-claro));box-shadow:0 10px 26px rgba(201,162,79,.28)}
.botao-secundario{border-color:var(--cor-borda);background:var(--cor-superficie);color:var(--cor-texto)}
.botao-secundario:hover{border-color:#484f58;background:var(--cor-superficie-hover)}
.botao-transparente{background:transparent;color:var(--cor-texto-secundario)}
.botao-transparente:hover{background:var(--cor-superficie);color:var(--cor-texto)}
.botao-perigo{background:var(--cor-erro);color:#fff}
.botao-perigo:hover{background:#ff7373}
.botao-sucesso{background:var(--cor-sucesso);color:#2d1b00}
.botao-bloco{width:100%}
.botao-pequeno{min-height:38px;padding:0 14px;border-radius:10px;font-size:13px}
.botao-grande{min-height:54px;padding:0 26px;font-size:15px}
.botao-icone{width:44px;min-width:44px;padding:0;border-radius:50%}
.botao-carregando{position:relative;color:transparent!important;pointer-events:none}
.botao-carregando::after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(0,0,0,.25);border-top-color:currentColor;border-radius:50%;animation:girar .7s linear infinite}
.card{border:1px solid var(--cor-borda-suave);border-radius:var(--raio-grande);background:var(--cor-superficie);box-shadow:var(--sombra-pequena)}
.card-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--cor-borda-suave)}
.card-corpo{padding:22px}
.card-rodape{padding:18px 22px;border-top:1px solid var(--cor-borda-suave)}
.alerta{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border:1px solid transparent;border-radius:var(--raio-medio);font-size:14px;line-height:1.5}
.alerta strong{display:block;margin-bottom:3px}
.alerta-sucesso{border-color:rgba(211,168,63,.28);background:rgba(211,168,63,.1);color:#94e8ba}
.alerta-erro{border-color:rgba(239,100,100,.3);background:rgba(239,100,100,.1);color:#ff9d9d}
.alerta-aviso{border-color:rgba(240,184,74,.3);background:rgba(240,184,74,.1);color:#f5ce7d}
.alerta-info{border-color:rgba(95,168,255,.28);background:rgba(95,168,255,.1);color:#9bc7ff}
.badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:26px;padding:0 10px;border:1px solid var(--cor-borda);border-radius:var(--raio-redondo);background:var(--cor-superficie-clara);color:var(--cor-texto-secundario);font-size:11px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}
.badge-dourado{border-color:rgba(201,162,79,.35);background:rgba(201,162,79,.1);color:var(--cor-dourado-claro)}
.badge-sucesso{border-color:rgba(211,168,63,.3);background:rgba(211,168,63,.1);color:#83dfa9}
.badge-erro{border-color:rgba(239,100,100,.3);background:rgba(239,100,100,.1);color:#ff9696}
.avatar{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:var(--cor-superficie-clara);color:var(--cor-dourado-claro);font-weight:800}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-pequeno{width:36px;height:36px;font-size:12px}
.avatar-medio{width:48px;height:48px;font-size:15px}
.avatar-grande{width:96px;height:96px;font-size:28px}
.esqueleto{position:relative;overflow:hidden;border-radius:8px;background:#25292e}
.esqueleto::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);animation:esqueleto 1.4s infinite}
.modal-fundo{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}
.modal{width:min(100%,560px);max-height:calc(100vh - 44px);overflow:auto;border:1px solid var(--cor-borda);border-radius:var(--raio-grande);background:var(--cor-superficie);box-shadow:var(--sombra-grande)}
.modal-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--cor-borda-suave)}
.modal-corpo{padding:22px}
.modal-acoes{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:18px 22px;border-top:1px solid var(--cor-borda-suave)}
.toast-container{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:10px;width:min(380px,calc(100% - 40px))}
.toast{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border:1px solid var(--cor-borda);border-radius:var(--raio-medio);background:var(--cor-superficie-clara);box-shadow:var(--sombra-media);animation:toast-entrada .25s ease}
.grade-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grade-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grupo-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@keyframes girar{to{transform:rotate(360deg)}}
@keyframes esqueleto{100%{transform:translateX(100%)}}
@keyframes toast-entrada{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.grade-2,.grade-3{grid-template-columns:1fr}.card-cabecalho,.card-corpo,.card-rodape,.modal-cabecalho,.modal-corpo,.modal-acoes{padding-left:17px;padding-right:17px}.modal-acoes{flex-direction:column-reverse}.modal-acoes .botao{width:100%}.toast-container{top:12px;right:12px;width:calc(100% - 24px)}}