:root{
  --bg1:#04070d;--bg2:#09101d;--bg3:#10284c;--text:#f7f8fb;--muted:#d8deea;--line:rgba(255,255,255,.16);
  --card:rgba(255,255,255,.11);--shadow:0 18px 50px rgba(0,0,0,.28);--brand:#143b77;--brand2:#2758a5;
  --ok:#8fe3a8;--warn:#ffd98f;--err:#ffb0b0;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}
body{background:radial-gradient(circle at top left, rgba(198,162,71,.14), transparent 28%),radial-gradient(circle at right, rgba(39,88,165,.18), transparent 28%),linear-gradient(135deg,var(--bg1) 0%,var(--bg2) 45%,var(--bg3) 100%)}
a{color:inherit}
.page-shell{width:min(1380px,95vw);margin:0 auto;padding:24px 0 40px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.brand-wrap{display:flex;align-items:center;gap:18px}
.avatar-box{display:flex;align-items:center;gap:14px}
.avatar-img{width:64px;height:64px;border-radius:50%;object-fit:cover;background:#17356b;border:2px solid rgba(255,255,255,.14)}
.logo-inline{width:56px;height:56px;object-fit:contain}
.brand-copy h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:2.3rem;line-height:1.05}
.brand-copy p{margin:6px 0 0;color:var(--muted);font-size:1.05rem}
.actions-row,.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{appearance:none;border:none;border-radius:999px;min-height:42px;padding:10px 18px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.16)}
.btn:hover{transform:translateY(-2px)} .btn-primary{background:linear-gradient(135deg,#1d4d9a,#143b77);box-shadow:0 12px 24px rgba(20,59,119,.28)} .btn-soft{background:rgba(255,255,255,.04)}
.hero,.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hero{padding:22px;margin-bottom:20px}.hero h2,.card h3,.panel h2,.section-title{margin:0 0 10px;font-family:Georgia,"Times New Roman",serif}.hero p,.panel p,.helper{color:var(--muted)}
.badge{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid transparent}
.badge-blue{background:rgba(122,167,255,.12);color:#bdd4ff;border-color:rgba(122,167,255,.18)} .badge-green{background:rgba(143,227,168,.12);color:#b9f0ca;border-color:rgba(143,227,168,.18)} .badge-gold{background:rgba(255,217,143,.12);color:#ffe7b2;border-color:rgba(255,217,143,.18)}
.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{padding:18px;display:grid;gap:10px}.card p{margin:0;line-height:1.6;color:var(--muted)}
.card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.card:hover{transform:translateY(-4px);transition:transform .18s ease}
.content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.panel{padding:20px}.panel-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:14px}
.list{display:grid;gap:12px}.list button,.list .item{width:100%;text-align:left;border:none;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:14px;color:#fff;cursor:pointer}
.list button:hover{background:rgba(255,255,255,.08)}
.item-title{font-weight:800;font-size:1rem}.item-meta{margin-top:6px;color:var(--muted);line-height:1.55}
.detail-card{display:none}.detail-card.is-open{display:block}.detail-card h3{margin-top:0;font-family:Georgia,"Times New Roman",serif}
.detail-grid,.metrics-grid,.small-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-box{padding:14px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.metric-box strong{display:block;margin-top:6px;font-size:1.02rem}.note{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);line-height:1.7}
.table-like{display:grid;gap:10px}.table-row{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr auto;gap:10px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1 / -1}
label{font-weight:700;font-size:.92rem} input,select,textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;padding:12px 14px;font-size:.96rem;outline:none} textarea{min-height:120px;resize:vertical} select option{color:#111}
.checkbox-line{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)} .checkbox-line input{width:18px;height:18px;min-height:auto;margin-top:3px}
.form-message{min-height:20px;margin-top:10px;font-size:.92rem}.ok{color:var(--ok)}.err{color:var(--err)}
.chat-body{display:grid;gap:12px;max-height:360px;overflow:auto;padding-right:6px}.message-item{padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)} .message-item small{display:block;color:var(--muted);margin-bottom:6px}
.empty-state{padding:18px;border-radius:18px;border:1px dashed rgba(255,255,255,.16);color:var(--muted)}
.page-footer{margin-top:22px;padding:18px 20px;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:6px;color:var(--muted);text-align:center}
.page-footer a{color:#dbe8ff;text-decoration:none}.page-footer a:hover{text-decoration:underline}
@media (max-width:1100px){.cards-grid,.content-grid{grid-template-columns:1fr}.table-row{grid-template-columns:1fr}.detail-grid,.metrics-grid,.small-metrics,.form-grid{grid-template-columns:1fr}}

.profile-chip{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.profile-chip img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#17356b}
.user-row{display:flex;align-items:center;gap:12px}.user-row img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#17356b;flex:0 0 42px}.user-row .meta-grow{min-width:0;flex:1}
.link-wrap,strong.wrap-any{overflow-wrap:anywhere;word-break:break-word}
.online-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.online-yes{background:#8fe3a8}.online-no{background:#ffb0b0}
.file-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);font-size:.9rem}
.toolbar-spread{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}


.panel-stack{display:grid;gap:18px}
.cert-list{display:grid;gap:14px}
.cert-card{padding:18px;border-radius:20px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}
.cert-card p{margin:6px 0;color:var(--muted);line-height:1.65}
.form-message.ok{color:var(--ok)}
.form-message.err{color:var(--err)}
.user-select-button.is-selected{border-color:rgba(143,227,168,.45);background:rgba(143,227,168,.08)}
.small-note{font-size:.92rem;color:var(--muted)}

.user-row-top{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
.presence-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:999px;font-size:.76rem;font-weight:700;border:1px solid rgba(255,255,255,.12);white-space:nowrap}
.presence-pill .presence-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.presence-pill.is-online{background:rgba(143,227,168,.14);color:#c9f5d5;border-color:rgba(143,227,168,.28)}
.presence-pill.is-online .presence-dot{background:#8fe3a8;box-shadow:0 0 0 4px rgba(143,227,168,.14)}
.presence-pill.is-offline{background:rgba(255,176,176,.10);color:#ffd3d3;border-color:rgba(255,176,176,.22)}
.presence-pill.is-offline .presence-dot{background:#ffb0b0}
.recipient-status{margin-top:10px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);display:grid;gap:6px}
.recipient-status strong{font-size:.95rem}
.recipient-status .helper{margin:0}
.message-item.is-self{border-color:rgba(143,227,168,.22);background:rgba(143,227,168,.06)}
.chat-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.chat-toolbar .helper{margin:0}
#notificacoes-dropdown { min-width: 280px; max-width: 350px; } 
.notificacao-item:hover { background-color: #f5f5f5; }