/* Portal WePoint — complementos ao styles.css/admin.css */
.pt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:18px}
.pt-stats .stat-card .value{font-size:1.6rem}
.pt-stats .stat-card .sub{font-size:.74rem;color:var(--muted);margin-top:4px}
.pt-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px}
@media (max-width:960px){.pt-grid{grid-template-columns:1fr}}

.pt-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.pt-toolbar .grow{flex:1}
.pt-toolbar .field{width:auto;min-width:160px}

.pt-table{width:100%;border-collapse:collapse;font-size:.84rem}
.pt-table th{text-align:left;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.pt-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.pt-table tr:hover td{background:rgba(255,255,255,.02)}
.pt-table td.num,.pt-table th.num{text-align:right;white-space:nowrap}
.pt-table .sub{display:block;font-size:.72rem;color:var(--muted)}
.pt-table a{color:var(--cyan);text-decoration:none}
.pt-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.pt-actions .btn{padding:5px 10px;font-size:.76rem}
.pt-wrap{overflow:auto}
a.btn{text-decoration:none}

.pt-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.03em}
.pt-badge.active,.pt-badge.paid,.pt-badge.up,.pt-badge.info{background:rgba(34,197,94,.15);color:var(--ok)}
.pt-badge.suspended,.pt-badge.warn,.pt-badge.overdue{background:rgba(245,158,11,.15);color:var(--warn)}
.pt-badge.down,.pt-badge.err,.pt-badge.canceled{background:rgba(239,68,68,.15);color:var(--err)}
.pt-badge.pending,.pt-badge.open,.pt-badge.archived,.pt-badge.unknown{background:rgba(133,147,173,.15);color:var(--muted)}
.pt-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:var(--muted)}
.pt-dot.up{background:var(--ok);box-shadow:0 0 8px var(--ok)}
.pt-dot.down{background:var(--err);box-shadow:0 0 8px var(--err)}

.pt-count{display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;background:var(--err);color:#fff;
  font-size:.66rem;font-weight:700;line-height:18px;text-align:center;margin-left:4px}

.pt-alert{display:flex;gap:10px;align-items:flex-start;padding:10px 16px;border-bottom:1px solid var(--line);font-size:.84rem}
.pt-alert.read{opacity:.55}
.pt-alert .when{color:var(--muted);font-size:.72rem;white-space:nowrap}
.pt-alert .msg{flex:1}

.pt-modal-wide{max-width:760px !important;width:calc(100% - 32px)}
.pt-items{width:100%;border-collapse:collapse;margin-top:6px}
.pt-items td{padding:4px}
.pt-items input{width:100%}
.pt-cred{background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:14px;font-family:monospace;
  font-size:.9rem;line-height:1.8;word-break:break-all}
.pt-cred b{color:var(--cyan)}
.pt-section-title{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 4px}
.pt-kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.84rem}
.pt-kv span:nth-child(odd){color:var(--muted)}
.pt-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}
.pt-settings .panel-body label{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 4px}
.pt-settings .row{display:flex;gap:10px}
.pt-settings .row > *{flex:1}
