.auth-tabs{display:flex;gap:8px;margin-bottom:18px}.auth-tabs button{flex:1}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:0 0 16px}.toolbar input,.toolbar select{max-width:320px}.dialog-backdrop{position:fixed;inset:0;background:rgba(2,8,23,.72);display:grid;place-items:center;padding:24px;z-index:1000}.dialog{width:min(560px,100%);max-height:90vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.dialog h2{margin-top:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.state{padding:28px;text-align:center;border:1px dashed var(--line);border-radius:16px;color:var(--muted);background:var(--panel)}.state.error{border-color:var(--danger);color:var(--danger);background:var(--panel)}.state.loading{animation:pulse 1.2s ease-in-out infinite}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--input);color:var(--text);font-size:.78rem;font-weight:700}.badge.success{background:#dcfce7;color:#166534}.badge.warning{background:#fef3c7;color:#7a4305}.badge.danger{background:#fee2e2;color:#991b1b}.detail-list,.details{display:grid;grid-template-columns:minmax(130px,.45fr) 1fr;gap:10px 16px}.detail-list dt,.details dt{font-weight:700;color:var(--muted)}.detail-list dd,.details dd{margin:0;overflow-wrap:anywhere}.settings-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}textarea{min-height:110px;resize:vertical;background:var(--input);color:var(--text);border:1px solid var(--line)}@keyframes pulse{50%{opacity:.55}}
@media(max-width:720px){.toolbar{align-items:stretch;flex-direction:column}.toolbar input,.toolbar select{max-width:none}.detail-list,.details{grid-template-columns:1fr}.dialog-actions{flex-direction:column-reverse}.settings-grid{grid-template-columns:1fr}}
.legal-copy{white-space:pre-wrap;line-height:1.7;color:var(--text)}
.link-button{width:auto!important;padding:4px 0!important;border:0!important;background:transparent!important;color:var(--blue)!important;text-align:left;text-decoration:underline;box-shadow:none!important;cursor:pointer}.link-button:disabled{color:var(--muted)!important;cursor:not-allowed;text-decoration:none}
.nav-item.module-disabled,
[data-page].module-disabled {
  cursor: not-allowed;
  opacity: .48;
  filter: saturate(.35);
}
