
:root{--bg:#f3f6f9;--surface:#fff;--surface-alt:#eef3f7;--text:#12202f;--muted:#637083;--border:#dce4eb;--primary:#155e46;--primary-dark:#104a38;--danger:#a62b2b;--sidebar:#10251f;--sidebar-text:#e8f2ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text)}button,input,select{font:inherit}[hidden]{display:none!important}
.full-loader{min-height:100vh;display:grid;place-items:center;color:var(--muted)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 18px;background:var(--sidebar);color:var(--sidebar-text)}
.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 4px 24px}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand small{margin-top:3px;opacity:.68}
.brand-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--primary);color:white;font-weight:800}.brand-mark.small{width:42px;height:42px;border-radius:12px}
.nav-list{display:grid;gap:6px}.nav-link{width:100%;text-align:left;border:0;display:block;padding:11px 12px;border-radius:10px;background:transparent;color:var(--sidebar-text);text-decoration:none;cursor:pointer}.nav-link.active{background:rgba(255,255,255,.12)}.nav-link.disabled{opacity:.42;cursor:not-allowed}
.sidebar-footer{margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}.user-mini strong,.user-mini span{display:block}.user-mini span{margin-top:4px;font-size:13px;opacity:.7}
.secondary-button{width:100%;margin-top:14px;padding:10px 14px;border:0;border-radius:10px;background:rgba(255,255,255,.10);color:white;font-weight:700;cursor:pointer}
.main-content{padding:34px;overflow:hidden}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:28px}h1,h2,h3,p{margin-top:0}.eyebrow{margin-bottom:5px;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.status-pill{padding:9px 12px;border-radius:999px;background:#dcfce7;color:#166534;font-weight:700;font-size:13px}
.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric-card,.table-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 30px rgba(30,50,65,.06)}.metric-card{padding:21px}.metric-card span,.metric-card small{display:block;color:var(--muted)}.metric-card strong{display:block;margin:10px 0 5px;font-size:22px}
.primary-button,.cancel-button,.close-button,.text-button{border:0;border-radius:10px;cursor:pointer;font-weight:700}.primary-button{padding:12px 18px;background:var(--primary);color:white}.primary-button:hover{background:var(--primary-dark)}.primary-button.compact{padding:10px 15px}.primary-button:disabled{opacity:.6;cursor:wait}
.toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 220px;gap:12px;margin-bottom:16px}input,select{width:100%;min-height:45px;padding:10px 12px;border:1px solid #cbd6df;border-radius:10px;background:white;color:var(--text);outline:none}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(21,94,70,.12)}
.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:15px 16px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafb}tbody tr:last-child td{border-bottom:0}.user-cell strong,.user-cell span{display:block}.user-cell span{margin-top:3px;color:var(--muted);font-size:13px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge.active{background:#dcfce7;color:#166534}.badge.inactive{background:#fee2e2;color:#991b1b}.edit-button{border:1px solid var(--border);background:white;border-radius:8px;padding:7px 10px;cursor:pointer;font-weight:700}
.message{display:none;margin:12px 0;padding:12px 14px;border-radius:10px}.message.error{display:block;background:#fee2e2;color:#7f1d1d}.message.ok{display:block;background:#dcfce7;color:#14532d}
dialog{border:0;padding:0;border-radius:18px;width:min(900px,calc(100% - 24px));max-height:92vh;box-shadow:0 30px 90px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(10,24,20,.55)}.dialog-card{padding:26px;overflow:auto;max-height:92vh}.dialog-header,.section-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.close-button{width:38px;height:38px;background:var(--surface-alt);font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label>span{display:block;margin-bottom:6px;font-size:13px;font-weight:800}.wide{grid-column:1/-1}.switch-row{display:flex;align-items:center;gap:10px}.switch-row input{width:18px;min-height:18px}
.form-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.small-text{font-size:13px}.muted{color:var(--muted)}.choice-grid{display:flex;flex-wrap:wrap;gap:10px}.choice{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--border);border-radius:10px}.choice input{width:16px;min-height:16px}
.permissions-box{display:grid;gap:18px}.permission-group{border:1px solid var(--border);border-radius:12px;overflow:hidden}.permission-group h4{margin:0;padding:11px 13px;background:var(--surface-alt);text-transform:capitalize}.permission-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px;gap:12px;align-items:center;padding:10px 13px;border-top:1px solid var(--border)}.permission-row small{display:block;color:var(--muted);margin-top:2px}.permission-row select{min-height:38px}.text-button{padding:7px 9px;background:transparent;color:var(--primary)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.cancel-button{padding:12px 18px;background:var(--surface-alt);color:var(--text)}
.permission-row-override{background:color-mix(in srgb,var(--primary) 6%,transparent)}.permission-override-active{border-color:var(--primary);font-weight:700}
.admin-permission-tabs{display:flex;gap:8px;margin:0 0 16px;border-bottom:1px solid var(--border)}.admin-permission-tabs button{border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--muted);padding:10px 16px}.admin-permission-tabs button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:800}.role-permissions-panel{display:block}.role-permissions-card{padding:18px}.role-picker{display:grid;gap:5px;min-width:240px}.role-permissions-impact{display:grid;gap:4px;margin:14px 0;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface-alt)}.role-permissions-impact span{color:var(--muted)}.permission-exception-badge{background:#fef3c7;color:#92400e}.role-permissions-panel .permission-row select:disabled{opacity:.7;cursor:not-allowed}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.nav-list{grid-template-columns:repeat(2,1fr)}.sidebar-footer{margin-top:20px}.grid-cards{grid-template-columns:1fr}.main-content{padding:22px 16px}}
@media(max-width:620px){.topbar{display:block}.topbar .primary-button{margin-top:12px}.toolbar,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.permission-row{grid-template-columns:1fr}.dialog-card{padding:20px}.admin-permission-tabs{overflow-x:auto}.role-permissions-card{padding:10px}.role-picker{min-width:0;width:100%}}
.aggregation-create,.aggregation-state-card{padding:20px;margin-bottom:18px}.aggregation-form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px}.aggregation-state-card pre{white-space:pre-wrap;max-height:320px;overflow:auto}.aggregation-actions{display:flex;flex-wrap:wrap;gap:6px}.aggregation-actions button{padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:white;cursor:pointer}
body.ui-compact .aggregation-create,body.ui-compact .aggregation-state-card{padding:12px}body.ui-compact .aggregation-form{gap:7px}body.ui-compact .aggregation-actions button{padding:4px 7px}
@media(max-width:900px){.aggregation-form{grid-template-columns:1fr 1fr}.aggregation-form button{grid-column:1/-1}}
.operational-status-badge {
  --status-color: #64748b;
  align-items: center;
  background: color-mix(in srgb, var(--status-color) 12%, white);
  border: 1px solid color-mix(in srgb, var(--status-color) 45%, white);
  border-left: 4px solid var(--status-color);
  border-radius: 999px;
  color: #1f2937;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 700;
  gap: .25rem;
  line-height: 1;
  padding: .38rem .58rem;
  white-space: nowrap;
}

.operational-status-badge.excluded {
  opacity: .86;
}

.operational-status-badge.definition-inactive {
  filter: grayscale(.7);
  opacity: .62;
  text-decoration: line-through;
}

.eligibility-current-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 1rem;
  padding: 1rem;
}

.eligibility-current-card > div {
  display: grid;
  gap: .35rem;
}

.eligibility-current-card span {
  color: #64748b;
  font-size: .82rem;
}

body.compact-mode .operational-status-badge {
  font-size: .7rem;
  padding: .25rem .42rem;
}

body.compact-mode .eligibility-current-card {
  gap: .55rem;
  padding: .65rem;
}

@media (max-width: 680px) {
  .eligibility-current-card {
    grid-template-columns: 1fr;
  }
}

.article-identity-dialog {
  width: min(1040px, calc(100vw - 2rem));
}
.article-identity-dialog .dialog-card {
  width: 100%;
  max-height: min(88vh, 900px);
  overflow: auto;
}
.article-identity-status {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr)) auto auto;
  gap: .75rem;
  align-items: end;
  padding: .9rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-soft);
}
.article-identity-status > div,
.article-identity-group,
.article-merge-panel,
.article-identity-members {
  display: grid;
  gap: .5rem;
}
.article-identity-groups {
  display: grid;
  gap: .8rem;
}
.article-identity-group,
.article-merge-panel {
  padding: .9rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
}
.article-identity-group small {
  display: block;
  color: var(--muted);
}
.article-identity-members label {
  display: flex;
  gap: .5rem;
  align-items: flex-start;
}
.identity-conflicts {
  padding: .6rem;
  border-left: 4px solid #d97706;
  background: #fff7ed;
}
.identity-conflicts p {
  margin: .25rem 0;
}
.identity-conflicts .conflict-blocking,
.conflict-blocking {
  color: #b91c1c;
  font-weight: 700;
}
.identity-report {
  max-height: 260px;
  overflow: auto;
  padding: .75rem;
  white-space: pre-wrap;
  background: #0f172a;
  color: #e2e8f0;
  border-radius: 10px;
}
body.compact-mode .article-identity-group,
body.compact-mode .article-merge-panel,
body.compact-mode .article-identity-status {
  padding: .55rem;
  gap: .45rem;
}
@media (max-width: 760px) {
  .article-identity-status {
    grid-template-columns: 1fr;
  }
  .article-identity-dialog {
    width: calc(100vw - .75rem);
  }
}
.vavis-confirm-dialog{width:min(520px,calc(100% - 24px))}.vavis-confirm-dialog [data-confirm-message]{font-size:16px;line-height:1.55}.vavis-confirm-dialog .dialog-actions{justify-content:flex-end}
