@charset "UTF-8";

/* src/styles.scss */
* {
  box-sizing: border-box;
}
:root {
  --gc-color-blue-600: #1d4ed8;
  --gc-color-blue-600-bg: #eff6ff;
  --gc-color-blue-700: #2563eb;
  --gc-color-slate-900: #0f172a;
  --gc-color-slate-700: #334155;
  --gc-color-slate-600: #475569;
  --gc-color-slate-500: #64748b;
  --gc-color-slate-200: #e2e8f0;
  --gc-color-slate-100: #f1f5f9;
  --gc-color-slate-50: #f8fafc;
  --gc-color-border: #d7dce2;
  --gc-color-green-700: #166534;
  --gc-color-green-600: #047857;
  --gc-color-green-bg: #ecfdf5;
  --gc-color-green-bg-strong: #f0fdf4;
  --gc-color-green-border: #bbf7d0;
  --gc-color-amber-bg: #fff7ed;
  --gc-color-amber-border: #fdba74;
  --gc-color-amber-border-soft: #fed7aa;
  --gc-color-amber-text: #9a3412;
  --gc-color-amber-icon: #c2410c;
  --gc-color-red-text: #b91c1c;
  --gc-color-red-border: #fecaca;
  --gc-color-red-bg: #fff1f2;
  --gc-surface-page: #f4f6f9;
  --gc-surface-card: #ffffff;
  --gc-surface-muted: var(--gc-color-slate-50);
  --gc-border: var(--gc-color-border);
  --gc-border-soft: var(--gc-color-slate-200);
  --gc-text-primary: var(--gc-color-slate-900);
  --gc-text-secondary: var(--gc-color-slate-700);
  --gc-text-muted: var(--gc-color-slate-600);
  --gc-text-soft: var(--gc-color-slate-500);
  --gc-text-inverse: #ffffff;
  --gc-action-primary: var(--gc-color-blue-600);
  --gc-action-primary-bg: var(--gc-color-blue-600-bg);
  --gc-action-primary-strong: var(--gc-color-blue-700);
  --gc-action-success-strong: #10b981;
  --gc-link: #1155cc;
  --gc-action-primary-text: var(--gc-text-inverse);
  --gc-action-primary-border: var(--gc-action-primary);
  --gc-action-secondary-text: var(--gc-text-secondary);
  --gc-action-secondary-bg: var(--gc-surface-muted);
  --gc-action-secondary-border: var(--gc-border-soft);
  --gc-action-danger-text: var(--gc-status-blocked-text);
  --gc-action-danger-bg: var(--gc-status-blocked-bg);
  --gc-action-danger-border: var(--gc-status-blocked-border);
  --gc-border-primary-soft: #bcd2ff;
  --gc-context-selected-bg: var(--gc-color-green-bg);
  --gc-context-selected-border: var(--gc-color-green-border);
  --gc-context-selected-text: var(--gc-color-green-700);
  --gc-chip-neutral-text: var(--gc-text-secondary);
  --gc-chip-neutral-bg: var(--gc-surface-muted);
  --gc-chip-neutral-border: var(--gc-border-soft);
  --gc-chip-muted-text: var(--gc-text-secondary);
  --gc-chip-muted-bg: var(--gc-surface-card);
  --gc-chip-muted-border: var(--gc-border-soft);
  --gc-chip-info-text: var(--gc-action-primary);
  --gc-chip-info-bg: var(--gc-action-primary-bg);
  --gc-chip-info-border: var(--gc-border-primary-soft);
  --gc-chip-success-text: var(--gc-context-selected-text);
  --gc-chip-success-bg: var(--gc-color-green-bg-strong);
  --gc-chip-success-border: var(--gc-status-active-border);
  --gc-chip-warning-text: var(--gc-status-warning-text);
  --gc-chip-warning-bg: var(--gc-status-warning-bg);
  --gc-chip-warning-border: var(--gc-status-warning-border);
  --gc-chip-danger-text: var(--gc-status-blocked-text);
  --gc-chip-danger-bg: var(--gc-status-blocked-bg);
  --gc-chip-danger-border: var(--gc-status-blocked-border);
  --gc-chip-role-admin-text: var(--gc-chip-info-text);
  --gc-chip-role-admin-bg: var(--gc-chip-info-bg);
  --gc-chip-role-admin-border: var(--gc-chip-info-border);
  --gc-chip-role-guard-text: var(--gc-color-green-600);
  --gc-chip-role-guard-bg: var(--gc-color-green-bg);
  --gc-chip-role-guard-border: var(--gc-color-green-border);
  --gc-chip-role-supervisor-text: #6d28d9;
  --gc-chip-role-supervisor-bg: #f5f3ff;
  --gc-chip-role-supervisor-border: #ddd6fe;
  --gc-chip-role-technical-text: #4338ca;
  --gc-chip-role-technical-bg: #eef2ff;
  --gc-chip-role-technical-border: #c7d2fe;
  --gc-chip-role-auditor-text: var(--gc-text-muted);
  --gc-chip-role-auditor-bg: var(--gc-surface-muted);
  --gc-chip-role-auditor-border: var(--gc-border-soft);
  --gc-filter-chip-text: var(--gc-text-secondary);
  --gc-filter-chip-bg: var(--gc-surface-card);
  --gc-filter-chip-border: var(--gc-border-soft);
  --gc-filter-chip-selected-text: var(--gc-action-primary);
  --gc-filter-chip-selected-bg: var(--gc-action-primary-bg);
  --gc-filter-chip-selected-border: var(--gc-border-primary-soft);
  --gc-filter-chip-focus-ring: var(--gc-action-primary-bg);
  --gc-status-active-text: var(--gc-color-green-600);
  --gc-status-active-bg: var(--gc-color-green-bg);
  --gc-status-active-border: var(--gc-color-green-border);
  --gc-status-warning-text: var(--gc-color-amber-text);
  --gc-status-warning-bg: var(--gc-color-amber-bg);
  --gc-status-warning-border: var(--gc-color-amber-border-soft);
  --gc-status-blocked-text: var(--gc-color-red-text);
  --gc-status-blocked-bg: var(--gc-color-red-bg);
  --gc-status-blocked-border: var(--gc-color-red-border);
  --gc-dashboard-pending-bg: var(--gc-color-amber-bg);
  --gc-dashboard-pending-border: var(--gc-color-amber-border);
  --gc-dashboard-pending-icon: var(--gc-color-amber-icon);
  --gc-dashboard-ok-bg: var(--gc-color-green-bg);
  --gc-dashboard-ok-border: var(--gc-color-green-border);
  --gc-dashboard-ok-icon: var(--gc-status-active-text);
  --gc-dashboard-notification-off: var(--gc-text-soft);
  --gc-dashboard-notification-blocked: var(--gc-color-red-text);
  --gc-overlay-bg: rgba(15, 23, 42, 0.35);
  --gc-overlay-blur: 4px;
  --gc-bottom-sheet-bg: var(--gc-surface-card);
  --gc-bottom-sheet-border: var(--gc-border-soft);
  --gc-skeleton-bg: var(--gc-color-slate-200);
  --gc-skeleton-highlight: var(--gc-color-slate-50);
}
html,
body {
  margin: 0;
  padding: 0;
  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  background: var(--gc-surface-page);
}
html.gc-scroll-lock,
body.gc-scroll-lock {
  overflow: hidden;
}
input,
button {
  width: 100%;
}
button {
  cursor: pointer;
}
.ops-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.ops-item {
  border: 1px solid #d7dce2;
  border-radius: 10px;
  padding: 12px;
  background: #ffffff;
}
.ops-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.ops-item-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}
.ops-item-status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid #cbd5e1;
  background: #f8fafc;
  color: #334155;
}
.ops-item-status--pending {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}
.ops-item-status--accepted {
  background: #ecfdf5;
  border-color: #86efac;
  color: #166534;
}
.ops-item-status--expired {
  background: #f8fafc;
  border-color: #cbd5e1;
  color: #475569;
}
.ops-item-status--revoked {
  background: #fef2f2;
  border-color: #fecaca;
  color: #991b1b;
}
.ops-item-body {
  display: grid;
  gap: 4px;
  margin-bottom: 8px;
}
.ops-item-row {
  margin: 0;
  color: #374151;
}
.ops-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ops-item-actions button {
  width: auto;
}
@media (max-width: 640px) {
  .ops-item-header {
    flex-direction: column;
    align-items: flex-start;
  }
}
.bs-actions {
  display: grid;
  gap: 8px;
}
.bs-actions--double {
  grid-template-columns: 1fr 1fr;
}
.bs-actions-button {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 600;
  font-size: 0.9rem;
}
.bs-actions--double .bs-actions-button {
  padding: 9px 12px;
}
.bs-actions-button:focus-visible {
  box-shadow: 0 0 0 3px var(--gc-action-primary-bg);
}
.bs-actions-button[data-variant=secondary] {
  border: 1px solid var(--gc-action-secondary-border);
  background: var(--gc-action-secondary-bg);
  color: var(--gc-action-secondary-text);
}
.bs-actions-button[data-variant=primary] {
  border: 1px solid var(--gc-action-primary-border);
  background: var(--gc-action-primary);
  color: var(--gc-action-primary-text);
}
.bs-actions-button[data-variant=danger] {
  border: 1px solid var(--gc-action-danger-border);
  background: var(--gc-action-danger-bg);
  color: var(--gc-action-danger-text);
}
.bs-actions--double .bs-actions-button[data-variant=primary] {
  border-color: var(--gc-border-primary-soft);
  background: var(--gc-action-primary-bg);
  color: var(--gc-action-primary);
}
.bs-actions--double .bs-actions-button[data-variant=secondary] {
  background: transparent;
  color: var(--gc-text-muted);
}
.bs-actions-button:disabled {
  opacity: 0.6;
}
.bsd-title {
  display: grid;
  gap: 8px;
}
.bsd-title-top {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}
.bsd-title-right:empty {
  display: none;
}
.bsd-title-text {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--gc-text-primary);
  overflow-wrap: anywhere;
}
.bsd-title-subtitle {
  margin: 0;
  color: var(--gc-text-soft);
  font-size: 0.875rem;
}
.bsd-title-chips:empty {
  display: none;
}
.bsd-title-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.bsd-detail-stack {
  display: grid;
  gap: 12px;
}
.bsd-card {
  border: 1px solid var(--gc-border-soft);
  border-radius: 14px;
  padding: 12px;
  display: grid;
  gap: 8px;
}
.bsd-card[data-variant=context] {
  background: var(--gc-surface-muted);
}
.bsd-card[data-variant=content] {
  background: var(--gc-surface-card);
}
.bsd-card--compact {
  padding: 10px;
  gap: 6px;
}
.bsd-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.6rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 500;
  border: 1px solid var(--gc-chip-neutral-border);
  background: var(--gc-chip-neutral-bg);
  color: var(--gc-chip-neutral-text);
  white-space: nowrap;
}
.bsd-chip[data-variant=success] {
  border-color: var(--gc-chip-success-border);
  background: var(--gc-chip-success-bg);
  color: var(--gc-chip-success-text);
}
.bsd-chip[data-variant=warning] {
  border-color: var(--gc-chip-warning-border);
  background: var(--gc-chip-warning-bg);
  color: var(--gc-chip-warning-text);
}
.bsd-chip[data-variant=info] {
  border-color: var(--gc-chip-info-border);
  background: var(--gc-chip-info-bg);
  color: var(--gc-chip-info-text);
}
.bsd-chip[data-variant=danger] {
  border-color: var(--gc-chip-danger-border);
  background: var(--gc-chip-danger-bg);
  color: var(--gc-chip-danger-text);
}
.bsd-chip[data-variant=role-admin] {
  border-color: var(--gc-chip-role-admin-border);
  background: var(--gc-chip-role-admin-bg);
  color: var(--gc-chip-role-admin-text);
}
.bsd-chip[data-variant=role-guard] {
  border-color: var(--gc-chip-role-guard-border);
  background: var(--gc-chip-role-guard-bg);
  color: var(--gc-chip-role-guard-text);
}
.bsd-chip[data-variant=role-supervisor] {
  border-color: var(--gc-chip-role-supervisor-border);
  background: var(--gc-chip-role-supervisor-bg);
  color: var(--gc-chip-role-supervisor-text);
}
.bsd-chip[data-variant=role-technical] {
  border-color: var(--gc-chip-role-technical-border);
  background: var(--gc-chip-role-technical-bg);
  color: var(--gc-chip-role-technical-text);
}
.bsd-chip[data-variant=role-auditor] {
  border-color: var(--gc-chip-role-auditor-border);
  background: var(--gc-chip-role-auditor-bg);
  color: var(--gc-chip-role-auditor-text);
}
.bsd-meta {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.bsd-meta--compact {
  gap: 6px;
}
.bsd-meta-icon {
  width: 1rem;
  height: 1rem;
  color: var(--gc-text-muted);
  flex: 0 0 auto;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.bsd-meta-icon :where(svg) {
  width: 1rem;
  height: 1rem;
  display: block;
}
.bsd-meta-main {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.bsd-meta-value:empty,
.bsd-meta-secondary:empty {
  display: none;
}
.bsd-meta-value {
  color: var(--gc-text-primary);
  font-size: 0.95rem;
  overflow-wrap: anywhere;
}
.bsd-meta-secondary {
  color: var(--gc-text-soft);
  font-size: 0.85rem;
  overflow-wrap: anywhere;
}
.mbs-body {
  display: grid;
  gap: 12px;
  margin-top: 0;
}
.mbs-section {
  display: grid;
  gap: 8px;
}
.mbs-section-label {
  margin: 0;
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--gc-text-secondary);
}
.mbs-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 14px;
  border: 1px solid var(--gc-border-soft);
  background: var(--gc-surface-muted);
}
.mbs-search-input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 22px;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--gc-text-primary);
  font-size: 0.86rem;
  font-weight: 400;
  line-height: 1.3;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
}
.mbs-search-input::placeholder {
  color: var(--gc-text-soft);
  font-weight: 400;
}
.mbs-filter-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 2px;
}
.mbs-filter-chip {
  width: auto;
  padding: 5px 9px;
  min-height: 34px;
  border-radius: 999px;
  border: 1px solid var(--gc-filter-chip-border);
  background: var(--gc-filter-chip-bg);
  color: var(--gc-filter-chip-text);
  font-weight: 500;
  font-size: 0.82rem;
  white-space: nowrap;
}
.mbs-filter-chip[aria-pressed=true] {
  border-color: var(--gc-filter-chip-selected-border);
  background: var(--gc-filter-chip-selected-bg);
  color: var(--gc-filter-chip-selected-text);
}
.gc-skeleton {
  background:
    linear-gradient(
      90deg,
      var(--gc-skeleton-bg) 0%,
      var(--gc-skeleton-highlight) 50%,
      var(--gc-skeleton-bg) 100%);
  background-size: 200% 100%;
  animation: gc-skeleton-shimmer 1.2s ease-in-out infinite;
  border-radius: 10px;
  display: inline-block;
}
@media (prefers-reduced-motion: reduce) {
  .gc-skeleton {
    animation: none;
    background: var(--gc-skeleton-bg);
  }
  .mlc-skeleton {
    animation: none;
    background: var(--gc-skeleton-bg);
  }
}
@keyframes gc-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.mlc-card {
  border: 1px solid var(--gc-border-soft);
  border-radius: 14px;
  padding: 0.75rem;
  background: var(--gc-surface-card);
  color: var(--gc-text-primary);
}
.mlc-card[data-clickable=true] {
  cursor: pointer;
}
.mlc-card[data-clickable=true]:focus-visible {
  box-shadow: 0 0 0 3px var(--gc-action-primary-bg);
}
.mlc-card[data-unread=true] {
  border-left: 4px solid var(--gc-status-warning-border);
  padding-left: calc(0.75rem - 4px);
}
.mlc-card[data-highlight=true] {
  border-color: var(--gc-border-primary-soft);
  box-shadow: 0 0 0 3px var(--gc-action-primary-bg);
}
.mlc-list {
  margin-top: 1rem;
  display: grid;
  gap: 0.75rem;
}
.mlc-skeleton {
  background:
    linear-gradient(
      90deg,
      var(--gc-skeleton-bg) 0%,
      var(--gc-skeleton-highlight) 50%,
      var(--gc-skeleton-bg) 100%);
  background-size: 200% 100%;
  animation: mlc-skeleton-shimmer 1.2s ease-in-out infinite;
  border-radius: 10px;
  display: inline-block;
}
.mlc-skeleton-card {
  display: grid;
  gap: 8px;
}
.mlc-skeleton-chips {
  display: flex;
  gap: 8px;
}
.mlc-skeleton-title {
  width: min(18rem, 70%);
  height: 1rem;
}
.mlc-skeleton-chip {
  width: 4.25rem;
  height: 1.125rem;
  border-radius: 999px;
  flex: 0 0 auto;
}
.mlc-skeleton-line {
  height: 0.875rem;
  width: 100%;
}
.mlc-skeleton-line--short {
  width: 70%;
}
@keyframes mlc-skeleton-shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.mlc-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.25;
  color: var(--gc-text-primary);
  overflow-wrap: anywhere;
}
.mlc-chips {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 0.375rem;
}
.mlc-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  border: 1px solid var(--gc-chip-neutral-border);
  background: var(--gc-chip-neutral-bg);
  color: var(--gc-chip-neutral-text);
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mlc-chip[data-variant=muted] {
  border-color: var(--gc-chip-muted-border);
  background: var(--gc-chip-muted-bg);
  color: var(--gc-chip-muted-text);
}
.mlc-chip[data-variant=info] {
  border-color: var(--gc-chip-info-border);
  background: var(--gc-chip-info-bg);
  color: var(--gc-chip-info-text);
}
.mlc-chip[data-variant=success] {
  border-color: var(--gc-chip-success-border);
  background: var(--gc-chip-success-bg);
  color: var(--gc-chip-success-text);
}
.mlc-chip[data-variant=warning] {
  border-color: var(--gc-chip-warning-border);
  background: var(--gc-chip-warning-bg);
  color: var(--gc-chip-warning-text);
}
.mlc-chip[data-variant=danger] {
  border-color: var(--gc-chip-danger-border);
  background: var(--gc-chip-danger-bg);
  color: var(--gc-chip-danger-text);
}
.mlc-chip[data-variant=role-admin] {
  border-color: var(--gc-chip-role-admin-border);
  background: var(--gc-chip-role-admin-bg);
  color: var(--gc-chip-role-admin-text);
}
.mlc-chip[data-variant=role-guard] {
  border-color: var(--gc-chip-role-guard-border);
  background: var(--gc-chip-role-guard-bg);
  color: var(--gc-chip-role-guard-text);
}
.mlc-chip[data-variant=role-supervisor] {
  border-color: var(--gc-chip-role-supervisor-border);
  background: var(--gc-chip-role-supervisor-bg);
  color: var(--gc-chip-role-supervisor-text);
}
.mlc-chip[data-variant=role-technical] {
  border-color: var(--gc-chip-role-technical-border);
  background: var(--gc-chip-role-technical-bg);
  color: var(--gc-chip-role-technical-text);
}
.mlc-chip[data-variant=role-auditor] {
  border-color: var(--gc-chip-role-auditor-border);
  background: var(--gc-chip-role-auditor-bg);
  color: var(--gc-chip-role-auditor-text);
}
.mlc-meta {
  margin: 0.25rem 0 0;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.mlc-meta-icon {
  width: 1rem;
  height: 1rem;
  color: var(--gc-text-muted);
  flex: 0 0 auto;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mlc-meta-icon:empty {
  display: none;
}
.mlc-meta-main {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.mlc-meta-text {
  color: var(--gc-text-muted);
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}
.mlc-meta-text:empty {
  display: none;
}
.mlc-meta-secondary:empty {
  display: none;
}
.mlc-meta-secondary {
  color: var(--gc-text-soft);
  font-size: 0.875rem;
  overflow-wrap: anywhere;
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
