:root {
    --ogma-bg: #f4f6fb;
    --ogma-card: #ffffff;
    --ogma-text: #172033;
    --ogma-muted: #6f7890;
    --ogma-line: #e6e9f1;
    --ogma-primary: #6c4cf1;
    --ogma-primary-2: #8d6cff;
    --ogma-success: #168a61;
    --ogma-warning: #c97900;
    --ogma-danger: #c63e55;
    --ogma-shadow: 0 18px 60px rgba(38, 31, 78, .11);
}

.ogma-console-wrap {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ogma-text);
    margin: 28px auto;
    max-width: 1480px;
    line-height: 1.45;
}

.ogma-console-wrap--full {
    width: calc(100vw - 32px);
    max-width: 1480px;
    margin-left: calc(50% - 50vw + 16px);
    margin-right: calc(50% - 50vw + 16px);
}

.ogma-console-app {
    min-height: 760px;
    display: grid;
    grid-template-columns: 264px minmax(0, 1fr);
    background: var(--ogma-bg);
    border: 1px solid rgba(108, 76, 241, .12);
    border-radius: 28px;
    overflow: hidden;
    box-shadow: var(--ogma-shadow);
}

.ogma-console-sidebar {
    position: relative;
    z-index: 20;
    padding: 26px 18px 20px;
    background:
        radial-gradient(circle at 15% 0%, rgba(151, 119, 255, .34), transparent 30%),
        linear-gradient(180deg, #241d52 0%, #17172e 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
}

.ogma-console-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 2px 8px 26px;
}

.ogma-console-brand__mark,
.ogma-console-gate__mark {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: linear-gradient(135deg, var(--ogma-primary-2), #b79cff);
    color: #fff;
    font-size: 22px;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(111, 76, 241, .34);
}

.ogma-console-brand strong { display: block; font-size: 18px; letter-spacing: .02em; }
.ogma-console-brand small { display: block; color: rgba(255,255,255,.58); font-size: 12px; text-transform: uppercase; letter-spacing: .16em; }

.ogma-console-nav { display: flex; flex-direction: column; gap: 6px; }
.ogma-console-nav__item {
    width: 100%;
    border: 0;
    color: rgba(255,255,255,.72);
    background: transparent;
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 13px;
    text-align: left;
    cursor: pointer;
    transition: .18s ease;
}
.ogma-console-nav__item:hover { color: #fff; background: rgba(255,255,255,.075); transform: translateX(2px); }
.ogma-console-nav__item.is-active { color: #fff; background: linear-gradient(135deg, rgba(136,102,255,.94), rgba(102,73,229,.88)); box-shadow: 0 11px 25px rgba(0,0,0,.18); }
.ogma-console-nav__item[aria-disabled="true"] { opacity: .48; cursor: default; }
.ogma-console-nav__item[aria-disabled="true"]:hover { transform: none; background: transparent; }
.ogma-console-nav__copy { min-width: 0; display: flex; flex-direction: column; }
.ogma-console-nav__copy strong { font-size: 14px; font-weight: 650; }
.ogma-console-nav__copy small { font-size: 10px; text-transform: uppercase; letter-spacing: .11em; color: rgba(255,255,255,.55); }
.ogma-console-icon { width: 22px; height: 22px; flex: 0 0 22px; display: inline-grid; place-items: center; }
.ogma-console-icon svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ogma-console-sidebar__footer { margin-top: auto; padding: 18px 10px 0; color: rgba(255,255,255,.42); font-size: 11px; }

.ogma-console-main { min-width: 0; display: flex; flex-direction: column; }
.ogma-console-topbar {
    min-height: 92px;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 30px;
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--ogma-line);
}
.ogma-console-topbar__title { flex: 1; min-width: 0; }
.ogma-console-eyebrow { color: var(--ogma-primary); text-transform: uppercase; letter-spacing: .14em; font-size: 10px; font-weight: 750; }
.ogma-console-topbar h1 { margin: 2px 0 0; font-size: clamp(22px, 3vw, 30px); line-height: 1.15; }
.ogma-console-user { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ogma-console-user img,
.ogma-console-user__avatar { width: 42px; height: 42px; border-radius: 14px; object-fit: cover; background: #ece8ff; display: grid; place-items: center; color: var(--ogma-primary); font-weight: 800; }
.ogma-console-user strong, .ogma-console-user small { display: block; max-width: 220px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ogma-console-user strong { font-size: 13px; }
.ogma-console-user small { color: var(--ogma-muted); font-size: 11px; }
.ogma-console-menu-toggle { display: none; border: 0; background: #eeebff; width: 42px; height: 42px; border-radius: 13px; padding: 11px; }
.ogma-console-menu-toggle span { display: block; height: 2px; background: var(--ogma-primary); margin: 4px 0; border-radius: 2px; }

.ogma-console-content { flex: 1; padding: 30px; min-width: 0; }
.ogma-console-loading { min-height: 380px; display: grid; place-items: center; align-content: center; color: var(--ogma-muted); }
.ogma-console-spinner { width: 38px; height: 38px; border: 3px solid #ded9fb; border-top-color: var(--ogma-primary); border-radius: 50%; animation: ogma-spin .8s linear infinite; }
@keyframes ogma-spin { to { transform: rotate(360deg); } }

.ogma-console-hero { background: linear-gradient(135deg, #6c4cf1 0%, #9576ff 58%, #bca5ff 100%); color: #fff; padding: clamp(24px, 4vw, 38px); border-radius: 24px; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(220px, .8fr); gap: 24px; overflow: hidden; position: relative; }
.ogma-console-hero::after { content:""; position:absolute; width:260px; height:260px; border:1px solid rgba(255,255,255,.22); border-radius:50%; right:-80px; top:-110px; box-shadow: 0 0 0 45px rgba(255,255,255,.05), 0 0 0 90px rgba(255,255,255,.035); }
.ogma-console-hero > * { position: relative; z-index: 1; }
.ogma-console-hero h2 { margin: 0 0 10px; font-size: clamp(26px, 4vw, 42px); line-height: 1.05; color: #fff; }
.ogma-console-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.78); font-size: 15px; }
.ogma-console-hero__stats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; align-self: end; }
.ogma-console-hero__stat { padding: 14px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 16px; backdrop-filter: blur(8px); }
.ogma-console-hero__stat strong { display:block; font-size: 23px; }
.ogma-console-hero__stat span { font-size: 11px; color: rgba(255,255,255,.72); }

.ogma-console-section { margin-top: 26px; }
.ogma-console-section__head { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; margin-bottom:14px; }
.ogma-console-section__head h2, .ogma-console-section__head h3 { margin:0; font-size:19px; }
.ogma-console-section__head p { margin:3px 0 0; color:var(--ogma-muted); font-size:13px; }
.ogma-console-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.ogma-console-grid--services { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ogma-console-card { background:var(--ogma-card); border:1px solid var(--ogma-line); border-radius:19px; padding:18px; min-width:0; box-shadow:0 8px 25px rgba(38,31,78,.045); }
.ogma-console-card--clickable { cursor:pointer; transition:.18s ease; }
.ogma-console-card--clickable:hover { transform:translateY(-3px); box-shadow:0 15px 32px rgba(38,31,78,.09); border-color:rgba(108,76,241,.28); }
.ogma-console-metric__label { color:var(--ogma-muted); font-size:12px; }
.ogma-console-metric__value { display:block; font-size:29px; margin-top:5px; font-weight:780; letter-spacing:-.03em; }
.ogma-console-metric__note { display:block; color:var(--ogma-muted); font-size:11px; margin-top:4px; }
.ogma-console-service { display:flex; gap:13px; align-items:flex-start; }
.ogma-console-service__icon { width:44px; height:44px; border-radius:14px; background:#f0edff; color:var(--ogma-primary); display:grid; place-items:center; flex:0 0 44px; }
.ogma-console-service h3 { margin:0 0 4px; font-size:15px; }
.ogma-console-service p { margin:0; color:var(--ogma-muted); font-size:12px; }
.ogma-console-chip { display:inline-flex; align-items:center; gap:6px; margin-top:10px; padding:5px 9px; border-radius:999px; background:#eef0f5; color:#5c657b; font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.ogma-console-chip::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.ogma-console-chip--healthy, .ogma-console-chip--connected, .ogma-console-chip--active { color:var(--ogma-success); background:#eaf8f1; }
.ogma-console-chip--warning, .ogma-console-chip--planned, .ogma-console-chip--not_connected { color:var(--ogma-warning); background:#fff5df; }
.ogma-console-chip--error { color:var(--ogma-danger); background:#fff0f2; }

.ogma-console-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; margin-bottom:18px; }
.ogma-console-tabs { display:inline-flex; padding:4px; background:#e9e9f3; border-radius:12px; }
.ogma-console-tabs button, .ogma-console-button { border:0; border-radius:9px; padding:9px 13px; font-size:12px; font-weight:700; cursor:pointer; }
.ogma-console-tabs button { background:transparent; color:var(--ogma-muted); }
.ogma-console-tabs button.is-active { background:#fff; color:var(--ogma-primary); box-shadow:0 4px 12px rgba(38,31,78,.08); }
.ogma-console-button { background:var(--ogma-primary); color:#fff; }
.ogma-console-button--soft { background:#ebe7ff; color:var(--ogma-primary); }
.ogma-console-health { display:flex; gap:14px; align-items:flex-start; padding:18px; border-radius:18px; margin-bottom:18px; border:1px solid; }
.ogma-console-health--healthy { background:#effaf5; border-color:#cdeedf; }
.ogma-console-health--warning { background:#fff8e9; border-color:#f1dda8; }
.ogma-console-health--error { background:#fff1f3; border-color:#f0c9d0; }
.ogma-console-health__dot { width:12px; height:12px; margin-top:5px; border-radius:50%; background:currentColor; flex:0 0 12px; }
.ogma-console-health--healthy { color:var(--ogma-success); }
.ogma-console-health--warning { color:var(--ogma-warning); }
.ogma-console-health--error { color:var(--ogma-danger); }
.ogma-console-health strong { color:var(--ogma-text); display:block; }
.ogma-console-health p { color:var(--ogma-muted); margin:3px 0 0; font-size:13px; }

.ogma-console-table-wrap { overflow:auto; border:1px solid var(--ogma-line); border-radius:18px; background:#fff; }
.ogma-console-table { width:100%; border-collapse:collapse; min-width:760px; }
.ogma-console-table th, .ogma-console-table td { padding:13px 15px; border-bottom:1px solid var(--ogma-line); text-align:left; font-size:12px; vertical-align:top; }
.ogma-console-table th { color:var(--ogma-muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; background:#fafafe; }
.ogma-console-table tr:last-child td { border-bottom:0; }
.ogma-console-primary { font-weight:700; color:var(--ogma-text); }
.ogma-console-secondary { color:var(--ogma-muted); font-size:11px; margin-top:2px; }
.ogma-console-list { display:flex; flex-direction:column; gap:10px; }
.ogma-console-list-item { background:#fff; border:1px solid var(--ogma-line); border-radius:16px; padding:14px 16px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.ogma-console-list-item h3 { margin:0 0 4px; font-size:14px; }
.ogma-console-list-item p { margin:0; color:var(--ogma-muted); font-size:12px; }
.ogma-console-list-item time { color:var(--ogma-muted); font-size:10px; white-space:nowrap; }
.ogma-console-empty { background:#fff; border:1px dashed #ccd0dc; border-radius:18px; padding:34px; text-align:center; color:var(--ogma-muted); }
.ogma-console-alert { padding:13px 15px; background:#fff1f3; color:#9d2e42; border:1px solid #f0c9d0; border-radius:13px; margin:10px 0; font-size:12px; }
.ogma-console-placeholder { min-height:420px; display:grid; place-items:center; text-align:center; background:linear-gradient(135deg,#fff,#f6f3ff); border:1px solid var(--ogma-line); border-radius:24px; padding:40px; }
.ogma-console-placeholder__icon { width:68px; height:68px; border-radius:22px; display:grid; place-items:center; color:var(--ogma-primary); background:#eeeaff; margin:0 auto 18px; }
.ogma-console-placeholder h2 { margin:0 0 8px; }
.ogma-console-placeholder p { max-width:520px; margin:0; color:var(--ogma-muted); }

.ogma-console-gate { max-width:680px; margin:42px auto; padding:42px; text-align:center; border-radius:24px; border:1px solid var(--ogma-line); background:#fff; box-shadow:var(--ogma-shadow); font-family:inherit; }
.ogma-console-gate__mark { margin:0 auto 18px; }
.ogma-console-gate h2 { margin:0 0 8px; }
.ogma-console-gate p { color:var(--ogma-muted); }
.ogma-console-gate__button { display:inline-block; padding:11px 17px; border-radius:11px; background:var(--ogma-primary); color:#fff!important; text-decoration:none!important; font-weight:700; }
.ogma-console-gate__small { font-size:12px; }
.ogma-console-backdrop { display:none; }

@media (max-width: 1120px) {
    .ogma-console-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ogma-console-grid--services { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ogma-console-hero { grid-template-columns:1fr; }
}

@media (max-width: 820px) {
    .ogma-console-wrap, .ogma-console-wrap--full { width:calc(100vw - 20px); margin:14px 10px; max-width:none; }
    .ogma-console-app { grid-template-columns:1fr; border-radius:20px; min-height:680px; }
    .ogma-console-sidebar { position:fixed; top:0; bottom:0; left:0; width:278px; transform:translateX(-105%); transition:.22s ease; box-shadow:20px 0 50px rgba(0,0,0,.2); }
    .ogma-console-wrap.is-menu-open .ogma-console-sidebar { transform:translateX(0); }
    .ogma-console-backdrop { position:fixed; inset:0; border:0; background:rgba(12,10,29,.5); z-index:15; }
    .ogma-console-wrap.is-menu-open .ogma-console-backdrop { display:block; }
    .ogma-console-menu-toggle { display:block; }
    .ogma-console-topbar { padding:14px 16px; min-height:78px; }
    .ogma-console-user small { display:none; }
    .ogma-console-content { padding:18px; }
}

@media (max-width: 560px) {
    .ogma-console-grid, .ogma-console-grid--services { grid-template-columns:1fr; }
    .ogma-console-hero__stats { grid-template-columns:1fr 1fr; }
    .ogma-console-user > span:not(.ogma-console-user__avatar) { display:none; }
    .ogma-console-section__head { align-items:flex-start; flex-direction:column; }
    .ogma-console-list-item { grid-template-columns:1fr; }
}

/* Perfex SSO session controls. */
.ogma-console-sidebar__footer { display:flex; flex-direction:column; gap:9px; align-items:flex-start; }
.ogma-console-logout { color:rgba(255,255,255,.72)!important; text-decoration:none!important; font-size:12px; font-weight:700; }
.ogma-console-logout:hover { color:#fff!important; }
.ogma-console-gate .ogma-console-eyebrow { display:block; margin-bottom:8px; color:var(--ogma-primary); }
.ogma-console-gate__button { min-width:190px; }

/* Email Intelligence statistics module. */
.ogma-console-grid--stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ogma-pipeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.ogma-pipeline-step { position:relative; min-height:118px; padding:17px; border:1px solid var(--ogma-line); border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(38,31,78,.04); }
.ogma-pipeline-step:not(:last-child)::after { content:'→'; position:absolute; right:-11px; top:45%; z-index:2; color:#a3a8ba; font-weight:800; }
.ogma-pipeline-step span,.ogma-pipeline-step small { display:block; color:var(--ogma-muted); }
.ogma-pipeline-step span { font-size:11px; text-transform:uppercase; letter-spacing:.06em; font-weight:750; }
.ogma-pipeline-step strong { display:block; margin:7px 0 3px; font-size:27px; }
.ogma-pipeline-step small { font-size:11px; }
.ogma-pipeline-step--warning { background:#fff8e9; border-color:#f1dda8; }
.ogma-pipeline-step--error { background:#fff1f3; border-color:#f0c9d0; }
.ogma-stat-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.ogma-stat-bars { display:flex; flex-direction:column; gap:12px; }
.ogma-stat-bar__head { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; }
.ogma-stat-bar__head span { color:var(--ogma-text); text-transform:capitalize; }
.ogma-stat-bar__head strong { font-size:12px; }
.ogma-stat-bar__track { height:7px; margin-top:5px; overflow:hidden; border-radius:999px; background:#eeeef5; }
.ogma-stat-bar__track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--ogma-primary),#a68bff); }
.ogma-llm-status { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px; border:1px solid #d8cffd; border-radius:20px; background:linear-gradient(135deg,#f7f4ff,#fff); }
.ogma-llm-status.is-stale { border-color:#f0c9d0; background:linear-gradient(135deg,#fff1f3,#fff); }
.ogma-llm-status h2 { margin:3px 0 7px; }
.ogma-llm-status p { margin:0; color:var(--ogma-muted); }
.ogma-llm-status__number { flex:0 0 auto; min-width:120px; padding:16px; text-align:center; border-radius:16px; background:#fff; border:1px solid var(--ogma-line); }
.ogma-llm-status__number strong,.ogma-llm-status__number span { display:block; }
.ogma-llm-status__number strong { font-size:30px; }
.ogma-llm-status__number span { color:var(--ogma-muted); font-size:11px; }
@media (max-width:1120px){.ogma-console-grid--stats,.ogma-pipeline{grid-template-columns:repeat(2,minmax(0,1fr));}.ogma-pipeline-step::after{display:none;}}
@media (max-width:700px){.ogma-console-grid--stats,.ogma-pipeline,.ogma-stat-columns{grid-template-columns:1fr;}.ogma-llm-status{align-items:flex-start;flex-direction:column;}.ogma-llm-status__number{width:100%;}}
.ogma-console-grid--stats .ogma-console-metric__note { min-height:34px; }


/* Secure Email Intelligence message detail. */
.ogma-console-list-item--linked { padding: 0; }
.ogma-console-list-link { align-items: center; color: inherit; display: flex; gap: 24px; justify-content: space-between; padding: 18px 20px; text-decoration: none; width: 100%; }
.ogma-console-list-link:hover { background: rgba(38, 103, 255, .045); }
.ogma-console-list-link > div { min-width: 0; }
.ogma-console-list-link time { flex: 0 0 auto; }
.ogma-email-detail { background: #fff; border: 1px solid var(--ogma-border, #e7eaf0); border-radius: 18px; box-shadow: 0 14px 40px rgba(22, 31, 55, .06); overflow: hidden; }
.ogma-email-detail__header { border-bottom: 1px solid var(--ogma-border, #e7eaf0); padding: 28px 30px 24px; }
.ogma-email-detail__header h2 { font-size: clamp(1.35rem, 2.4vw, 2rem); line-height: 1.2; margin: 7px 0 10px; }
.ogma-email-detail__header p { margin: 0; overflow-wrap: anywhere; }
.ogma-email-detail__meta { background: #fafbfe; display: grid; gap: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 8px 30px; }
.ogma-email-detail__meta > div { border-bottom: 1px solid #edf0f5; min-width: 0; padding: 15px 16px 15px 0; }
.ogma-email-detail__meta > div.is-wide { grid-column: 1 / -1; }
.ogma-email-detail__meta dt { color: #6f7787; font-size: .77rem; font-weight: 700; letter-spacing: .05em; margin-bottom: 5px; text-transform: uppercase; }
.ogma-email-detail__meta dd { margin: 0; overflow-wrap: anywhere; }
.ogma-email-detail > .ogma-console-alert { margin: 22px 30px 0; }
.ogma-email-detail__body { padding: 28px 30px 34px; }
.ogma-email-detail__body h3 { margin: 0 0 16px; }
.ogma-email-detail__body pre { background: #fbfcfe; border: 1px solid #edf0f5; border-radius: 12px; font-family: inherit; font-size: .95rem; line-height: 1.65; margin: 0; max-height: 70vh; overflow: auto; padding: 22px; white-space: pre-wrap; word-break: break-word; }
.ogma-email-detail__footer { border-top: 1px solid var(--ogma-border, #e7eaf0); color: #7b8291; display: flex; flex-wrap: wrap; font-size: .78rem; gap: 10px 24px; padding: 16px 30px; }
.ogma-email-detail__footer span { overflow-wrap: anywhere; }
@media (max-width: 720px) {
    .ogma-console-list-link { align-items: flex-start; flex-direction: column; gap: 10px; }
    .ogma-email-detail__header, .ogma-email-detail__body { padding-left: 20px; padding-right: 20px; }
    .ogma-email-detail__meta { grid-template-columns: 1fr; padding-left: 20px; padding-right: 20px; }
    .ogma-email-detail__meta > div.is-wide { grid-column: auto; }
    .ogma-email-detail > .ogma-console-alert { margin-left: 20px; margin-right: 20px; }
    .ogma-email-detail__footer { padding-left: 20px; padding-right: 20px; }
}
