/*
 * Tenant branding layer.
 * Loaded after app.css so product components consume semantic brand tokens
 * without coupling tenant colors to generated utility CSS.
 */

:root {
    --color-brand-primary: #2563eb;
    --color-brand-secondary: #0f172a;
    --color-brand-accent: #14b8a6;
    --color-brand-energy: #14b8a6;
    --color-brand-on-primary: #ffffff;
    --color-brand-on-secondary: #ffffff;
    --color-brand-on-accent: #0f172a;
    --color-brand-primary-ink: #1d4ed8;
    --color-brand-accent-ink: #0f766e;
    --brand-surface-primary: color-mix(in srgb, var(--color-brand-primary) 7%, #fff);
    --brand-surface-accent: color-mix(in srgb, var(--color-brand-accent) 9%, #fff);
    --brand-border: color-mix(in srgb, var(--color-brand-primary) 20%, #cbd5e1);
    --brand-focus: var(--color-brand-accent);
}

/* Structural identity */
.brand-sidebar {
    background:
        radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--color-brand-primary) 38%, transparent), transparent 30%),
        linear-gradient(180deg, var(--color-brand-secondary), color-mix(in srgb, var(--color-brand-secondary) 76%, #000));
    color: var(--color-brand-on-secondary);
}

.sidebar-brand-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.sidebar-menu-toggle {
    display: none;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 2.75rem;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--color-brand-on-secondary) 28%, transparent);
    border-radius: .5rem;
    color: var(--color-brand-on-secondary);
}

.sidebar-menu-toggle:hover {
    background: color-mix(in srgb, var(--color-brand-primary) 24%, transparent);
}

.sidebar-menu-toggle:focus-visible {
    outline: 2px solid var(--color-brand-accent);
    outline-offset: 2px;
}

.sidebar-menu-icon,
.sidebar-menu-icon::before,
.sidebar-menu-icon::after {
    display: block;
    width: 1.25rem;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .15s ease, opacity .15s ease;
}

.sidebar-menu-icon { position: relative; }

.sidebar-menu-icon::before,
.sidebar-menu-icon::after {
    position: absolute;
    content: "";
}

.sidebar-menu-icon::before { transform: translateY(-.4rem); }
.sidebar-menu-icon::after { transform: translateY(.4rem); }
.sidebar-menu-toggle[aria-expanded="true"] .sidebar-menu-icon { background: transparent; }
.sidebar-menu-toggle[aria-expanded="true"] .sidebar-menu-icon::before { transform: rotate(45deg); }
.sidebar-menu-toggle[aria-expanded="true"] .sidebar-menu-icon::after { transform: rotate(-45deg); }

.brand-sidebar .nav-section-label {
    color: color-mix(in srgb, var(--color-brand-on-secondary) 68%, var(--color-brand-accent));
}

.brand-sidebar .nav-link {
    color: color-mix(in srgb, var(--color-brand-on-secondary) 78%, transparent);
}

.brand-sidebar .nav-link:hover {
    background: color-mix(in srgb, var(--color-brand-primary) 18%, transparent);
    color: var(--color-brand-on-secondary);
}

.brand-sidebar .nav-link-active {
    background: var(--color-brand-primary);
    color: var(--color-brand-on-primary);
    box-shadow: inset 3px 0 0 var(--color-brand-accent);
}

.brand-sidebar .sidebar-user {
    border-color: color-mix(in srgb, var(--color-brand-on-secondary) 18%, transparent);
}

main > header {
    border-bottom-color: var(--brand-border);
    box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--color-brand-accent) 36%, transparent);
}

/* Scheduler administration follows the same compact workspace language as connectors. */
.scheduler-center { overflow: hidden; }
.scheduler-center-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    border-bottom: 1px solid var(--brand-border);
    padding: 1.1rem 1.25rem;
    background: linear-gradient(90deg, color-mix(in srgb, var(--color-brand-primary) 7%, #fff), #fff 48%);
}
.scheduler-center-heading { display: flex; min-width: 0; align-items: center; gap: .85rem; }
.scheduler-center-icon {
    display: grid;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 2.6rem;
    place-items: center;
    border-radius: .5rem;
    background: var(--color-brand-primary);
    color: var(--color-brand-on-primary);
    box-shadow: inset 0 -2px 0 rgb(0 0 0 / 12%);
}
.scheduler-center-icon .nav-icon { width: 1.35rem; height: 1.35rem; opacity: 1; }
.scheduler-center-eyebrow { color: var(--color-brand-primary); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.scheduler-center-heading h2 { margin-top: .06rem; color: #0f172a; font-size: 1rem; font-weight: 750; line-height: 1.25; }
.scheduler-center-heading h2 + p { margin-top: .12rem; color: #64748b; font-size: .72rem; line-height: 1.4; }
.scheduler-center-updated { flex: 0 0 auto; color: #64748b; font-size: .68rem; }
.scheduler-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid var(--brand-border); background: #f8fafc; }
.scheduler-summary-item { display: flex; min-width: 0; align-items: center; gap: .6rem; border-right: 1px solid var(--brand-border); padding: .7rem 1rem; }
.scheduler-summary-item:last-child { border-right: 0; }
.scheduler-summary-symbol { width: .6rem; height: .6rem; flex: 0 0 .6rem; border-radius: 999px; background: #94a3b8; box-shadow: 0 0 0 3px #e2e8f0; }
.scheduler-summary-item.is-healthy .scheduler-summary-symbol { background: #16a34a; box-shadow: 0 0 0 3px #dcfce7; }
.scheduler-summary-item.is-running .scheduler-summary-symbol { background: #d97706; box-shadow: 0 0 0 3px #fef3c7; }
.scheduler-summary-item.is-failed .scheduler-summary-symbol { background: #dc2626; box-shadow: 0 0 0 3px #fee2e2; }
.scheduler-summary-item > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.scheduler-summary-item strong { color: #0f172a; font-size: 1rem; line-height: 1; }
.scheduler-summary-item small { margin-top: .18rem; color: #64748b; font-size: .62rem; }
.scheduler-list { background: #fff; }
.scheduler-list-columns,
.scheduler-row { display: grid; grid-template-columns: minmax(15rem, 2.2fr) minmax(7rem, .8fr) minmax(10rem, 1fr) minmax(7rem, .7fr) minmax(9rem, .9fr); align-items: center; gap: 1rem; }
.scheduler-list-columns { border-bottom: 1px solid var(--brand-border); padding: .55rem 1rem; background: #f8fafc; color: #64748b; font-size: .62rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.scheduler-row { position: relative; border-bottom: 1px solid #e8edf2; padding: .75rem 1rem; }
.scheduler-row:last-child { border-bottom: 0; }
.scheduler-row:hover { background: color-mix(in srgb, var(--color-brand-primary) 3%, #fff); }
.scheduler-row::before { position: absolute; inset: 0 auto 0 0; width: 3px; background: #94a3b8; content: ""; }
.scheduler-row.is-healthy::before { background: #16a34a; }
.scheduler-row.is-running::before { background: #d97706; }
.scheduler-row.is-failed::before { background: #dc2626; }
.scheduler-task-identity { display: flex; min-width: 0; align-items: center; gap: .7rem; }
.scheduler-task-icon { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; place-items: center; border: 1px solid #dbe2e8; border-radius: .4rem; background: #f8fafc; color: var(--color-brand-primary); }
.scheduler-task-icon .nav-icon { width: 1rem; height: 1rem; opacity: 1; }
.scheduler-task-identity > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.scheduler-task-identity strong { overflow: hidden; color: #0f172a; font-size: .76rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.scheduler-task-identity small { overflow: hidden; margin-top: .14rem; color: #64748b; font-size: .64rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.scheduler-row-field { display: flex; min-width: 0; flex-direction: column; }
.scheduler-row-field > small:first-child { display: none; }
.scheduler-row-field span { overflow: hidden; color: #334155; font-size: .7rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.scheduler-row-field span + small { margin-top: .12rem; color: #94a3b8; font-size: .59rem; }
.scheduler-row-status { justify-self: start; }
.scheduler-row-status .status-badge { display: inline-flex; align-items: center; gap: .35rem; white-space: nowrap; }
.scheduler-row-status .status-badge i { width: .4rem; height: .4rem; border-radius: 999px; background: currentColor; }
.scheduler-diagnostics { grid-column: 1 / -1; margin: -.15rem 0 0 2.7rem; }
.scheduler-diagnostics summary { width: max-content; cursor: pointer; color: var(--color-brand-primary); font-size: .62rem; font-weight: 700; list-style-position: inside; }
.scheduler-diagnostics summary:focus-visible { border-radius: .2rem; outline: 2px solid var(--color-brand-accent); outline-offset: 2px; }
.scheduler-diagnostics > div { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .35rem .65rem; margin-top: .5rem; border-left: 3px solid var(--color-brand-accent); border-radius: .25rem; background: #f8fafc; padding: .6rem .75rem; }
.scheduler-diagnostics > div span { color: #64748b; font-size: .6rem; font-weight: 750; text-transform: uppercase; }
.scheduler-diagnostics code,
.scheduler-diagnostics p { overflow-wrap: anywhere; color: #334155; font-size: .64rem; line-height: 1.45; }

@media (max-width: 74.999rem) {
    .scheduler-list-columns,
    .scheduler-row { grid-template-columns: minmax(14rem, 2fr) minmax(7rem, .8fr) minmax(9rem, 1fr) minmax(8rem, .8fr); }
    .scheduler-list-columns span:nth-child(4) { display: none; }
    .scheduler-row > .scheduler-row-field:nth-child(4) { display: none; }
}

@media (max-width: 47.999rem) {
    .scheduler-center-header { align-items: flex-start; padding: 1rem; }
    .scheduler-center-icon { width: 2.25rem; height: 2.25rem; flex-basis: 2.25rem; }
    .scheduler-center-updated { display: none; }
    .scheduler-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .scheduler-summary-item:nth-child(2) { border-right: 0; }
    .scheduler-summary-item:nth-child(-n+2) { border-bottom: 1px solid var(--brand-border); }
    .scheduler-list-columns { display: none; }
    .scheduler-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: .9rem 1rem; }
    .scheduler-task-identity { grid-column: 1 / -1; align-items: flex-start; }
    .scheduler-task-identity strong,
    .scheduler-task-identity small { overflow: visible; white-space: normal; }
    .scheduler-row-field { border-top: 1px solid #e8edf2; padding-top: .55rem; }
    .scheduler-row-field > small:first-child { display: block; margin-bottom: .15rem; color: #94a3b8; font-size: .56rem; font-weight: 750; text-transform: uppercase; }
    .scheduler-row-status { grid-column: 1 / -1; justify-self: stretch; }
    .scheduler-row-status .status-badge { justify-content: center; width: 100%; min-height: 2rem; }
    .scheduler-diagnostics { grid-column: 1 / -1; margin: 0; }
    .scheduler-diagnostics > div { grid-template-columns: 1fr; }
}

/* Actions and interactive controls */
.btn-primary {
    border-color: var(--color-brand-primary);
    background: var(--color-brand-primary);
    color: var(--color-brand-on-primary);
    box-shadow: 0 1px 2px color-mix(in srgb, var(--color-brand-secondary) 22%, transparent);
}

.btn-primary:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--color-brand-primary) 84%, #000);
    background: color-mix(in srgb, var(--color-brand-primary) 84%, #000);
}

.btn-secondary {
    border-color: var(--brand-border);
    background: #fff;
    color: var(--color-brand-primary-ink);
}

.btn-secondary:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--color-brand-primary) 45%, #cbd5e1);
    background: var(--brand-surface-primary);
}

.action-link,
.text-brand-primary {
    color: var(--color-brand-primary-ink);
}

.text-brand-accent {
    color: var(--color-brand-accent-ink);
}

.action-link:hover,
a.text-brand-primary:hover {
    color: color-mix(in srgb, var(--color-brand-primary-ink) 78%, #000);
    text-decoration-color: var(--color-brand-accent);
}

:is(button, a, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--brand-focus);
    outline-offset: 2px;
}

:is(input[type="checkbox"], input[type="radio"], progress) {
    accent-color: var(--color-brand-primary);
}

/* Forms */
.field-input {
    border-color: color-mix(in srgb, var(--color-brand-secondary) 18%, #cbd5e1);
    background: #fff;
}

.field-input:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--color-brand-primary) 38%, #cbd5e1);
}

.field-input:focus {
    border-color: var(--color-brand-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-primary) 16%, transparent);
}

.field-input:disabled,
.btn-primary:disabled,
.btn-secondary:disabled {
    cursor: not-allowed;
    filter: grayscale(.35);
    opacity: .58;
}

/* Panels, cards and data */
.panel {
    border-color: color-mix(in srgb, var(--color-brand-secondary) 12%, #e2e8f0);
}

.panel-title {
    color: color-mix(in srgb, var(--color-brand-secondary) 90%, #000);
}

.panel-header {
    border-bottom-color: var(--brand-border);
    background: linear-gradient(90deg, var(--brand-surface-primary), #fff 48%);
}

.connector-card:hover,
.connector-card:focus-within {
    border-color: color-mix(in srgb, var(--color-brand-primary) 48%, #cbd5e1);
    background: var(--brand-surface-primary);
    box-shadow: 0 8px 24px color-mix(in srgb, var(--color-brand-secondary) 10%, transparent);
}

.connector-card:hover .connector-icon {
    border-color: color-mix(in srgb, var(--color-brand-accent) 42%, #cbd5e1);
    background: var(--brand-surface-accent);
}

.table-wrap,
.data-table {
    border-color: var(--brand-border);
}

:is(.table-wrap, .data-table) thead {
    background: linear-gradient(90deg, var(--brand-surface-primary), color-mix(in srgb, var(--color-brand-secondary) 3%, #fff));
}

:is(.table-wrap, .data-table) tbody tr:hover {
    background: color-mix(in srgb, var(--color-brand-primary) 4%, #fff);
}

.device-ap-history-toggle {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-top: .65rem;
    border: 0;
    background: transparent;
    color: var(--color-brand-primary);
    cursor: pointer;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.2;
}

.device-ap-history-toggle::before {
    content: "+";
    display: grid;
    width: 1rem;
    height: 1rem;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--color-brand-primary) 34%, #cbd5e1);
    border-radius: 999px;
    font-size: .72rem;
}

.device-ap-history-toggle[aria-expanded="true"]::before {
    content: "-";
}

.device-ap-history-toggle:hover,
.device-ap-history-toggle:focus-visible {
    color: var(--color-brand-accent);
    outline: none;
}

.device-ap-history-row[hidden] {
    display: none;
}

.device-ap-history-row > td {
    padding: 0;
    background: #f8fafc;
}

.device-ap-history-panel {
    display: grid;
    gap: .8rem;
    border-top: 1px solid var(--brand-border);
    padding: 1rem;
}

.device-ap-history-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.device-ap-history-header strong {
    display: block;
    color: #0f172a;
    font-size: .9rem;
}

.device-ap-history-header span,
.device-ap-history-status {
    color: #64748b;
    font-size: .78rem;
}

.device-ap-history-table-wrap {
    border-radius: .5rem;
    background: #fff;
}

.device-ap-history-table th,
.device-ap-history-table td {
    font-size: .8rem;
}

.device-ap-history-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.empty-state {
    border-color: color-mix(in srgb, var(--color-brand-primary) 20%, #e2e8f0);
    background: linear-gradient(135deg, var(--brand-surface-primary), #fff);
}

/* Branding settings preview */
.brand-preview-header {
    background:
        radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--color-brand-primary) 36%, transparent), transparent 34%),
        var(--color-brand-secondary);
    color: var(--color-brand-on-secondary);
}

.brand-preview-accent {
    border: 1px solid color-mix(in srgb, var(--color-brand-accent) 45%, #cbd5e1);
    background: var(--brand-surface-accent);
    color: var(--color-brand-accent-ink);
}

.brand-preview-swatch {
    height: .75rem;
    border: 1px solid color-mix(in srgb, var(--color-brand-secondary) 15%, #e2e8f0);
    border-radius: .25rem;
}

.brand-preview-primary {
    background: var(--color-brand-primary);
}

.brand-preview-secondary {
    background: var(--color-brand-secondary);
}

.brand-preview-accent-swatch {
    background: var(--color-brand-accent);
}

/* Editors and command surfaces */
.plan-ribbon {
    border-top-color: var(--color-brand-accent);
}

.ribbon-button:hover,
.ribbon-button.is-active,
.ribbon-command[open] > summary,
.ribbon-layers[open] > summary {
    border-color: color-mix(in srgb, var(--color-brand-primary) 38%, #cbd5e1);
    background: var(--brand-surface-primary);
}

.ribbon-button.is-active {
    box-shadow: inset 0 -3px 0 var(--color-brand-primary);
}

.ribbon-command-panel,
.plan-rename-dialog {
    border-top-color: var(--color-brand-accent);
}

.plan-editor-section-tab,
.plan-sheet-tab.is-active {
    color: var(--color-brand-primary-ink);
}

/* Preserve semantic status colors: success, warning, danger and errors are not tenant branding. */

@media (max-width: 48rem) {
    main > header {
        box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--color-brand-accent) 38%, transparent);
    }

    .brand-sidebar .nav-link-active {
        box-shadow: inset 3px 0 0 var(--color-brand-accent);
    }
}

@media (max-width: 63.999rem) {
    .brand-sidebar {
        position: sticky;
        z-index: 60;
        top: 0;
        width: 100%;
        max-height: none;
    }

    .brand-sidebar.nav-enhanced .sidebar-menu-toggle {
        display: inline-flex;
    }

    .brand-sidebar.nav-enhanced .sidebar-collapsible {
        position: fixed;
        z-index: 61;
        top: 4.75rem;
        right: 0;
        bottom: 0;
        display: flex;
        width: min(23rem, 90vw);
        max-height: none;
        flex-direction: column;
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateX(105%);
        background: var(--color-brand-secondary);
        padding: 0 1.25rem 1.25rem;
        box-shadow: -12px 16px 32px rgb(15 23 42 / 28%);
        visibility: hidden;
        transition: transform .2s ease, visibility .2s;
    }

    .brand-sidebar.nav-enhanced.is-nav-open .sidebar-collapsible {
        transform: translateX(0);
        visibility: visible;
    }

    .brand-sidebar .sidebar-nav {
        flex: 1 1 auto;
        margin-top: 1.25rem !important;
    }

    .sidebar-backdrop {
        position: fixed;
        z-index: 55;
        inset: 0;
        border: 0;
        background: rgb(15 23 42 / 52%);
    }

    .sidebar-backdrop[hidden] { display: none; }
    body.has-open-navigation { overflow: hidden; }
}

@media (min-width: 64rem) {
    .brand-sidebar .sidebar-collapsible { display: flex; min-height: 0; flex: 1 1 auto; flex-direction: column; }
    .brand-sidebar .sidebar-nav { flex: 1 1 auto; }
    .sidebar-backdrop { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .brand-sidebar.nav-enhanced .sidebar-collapsible { transition: none; }
}

@media (prefers-reduced-motion: no-preference) {
    .btn-primary,
    .btn-secondary,
    .nav-link,
    .connector-card,
    .field-input {
        transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
    }
}
/* Editable scheduler intervals */
.scheduler-frequency-form{display:flex;min-width:0;flex-direction:column;gap:.22rem}.scheduler-frequency-form>label{color:#64748b;font-size:.66rem;font-weight:700;text-transform:uppercase}.scheduler-frequency-form>div{display:grid;grid-template-columns:minmax(3.8rem,5rem) auto auto;align-items:center;gap:.35rem}.scheduler-frequency-form input{width:100%;border:1px solid #b8c4d0;border-radius:.3rem;background:#fff;padding:.38rem .45rem;color:#0f172a;font-size:.75rem}.scheduler-frequency-form input:focus{border-color:var(--color-brand-primary);outline:2px solid color-mix(in srgb,var(--color-brand-primary) 24%,transparent);outline-offset:1px}.scheduler-frequency-form>div>span{color:#64748b;font-size:.68rem}.scheduler-frequency-form button{border:1px solid color-mix(in srgb,var(--color-brand-primary) 55%,#cbd5e1);border-radius:.3rem;background:color-mix(in srgb,var(--color-brand-primary) 8%,#fff);padding:.38rem .55rem;color:var(--color-brand-primary);font-size:.68rem;font-weight:700}.scheduler-frequency-form button:hover{background:color-mix(in srgb,var(--color-brand-primary) 14%,#fff)}.scheduler-frequency-form button:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.scheduler-frequency-form>small{color:#64748b;font-size:.62rem}@media(max-width:48rem){.scheduler-frequency-form>div{grid-template-columns:minmax(4rem,1fr) auto auto}.scheduler-frequency-form button{min-height:2rem}}

.automation-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;overflow:hidden;border:1px solid #cbd5e1;border-top:3px solid var(--color-brand-accent);border-radius:.45rem;background:linear-gradient(110deg,#fff 0%,#f8fafc 62%,color-mix(in srgb,var(--color-brand-primary) 8%,#fff) 100%);padding:1.3rem 1.5rem;box-shadow:0 2px 8px #0f172a12}.automation-eyebrow{color:var(--color-brand-primary);font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.automation-hero h2{margin-top:.2rem;color:#0f172a;font-size:1.25rem;font-weight:750}.automation-hero>div>p:last-child{margin-top:.28rem;max-width:48rem;color:#526174;font-size:.78rem}.automation-runtime{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.08rem .55rem;min-width:15rem;border-left:1px solid #dbe2ea;padding-left:1.3rem}.automation-runtime>span{grid-row:1/3;width:.65rem;height:.65rem;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px #dcfce7}.automation-runtime strong{font-size:.76rem}.automation-runtime small{color:#64748b;font-size:.62rem}.automation-policy{display:grid;grid-template-columns:2.7rem minmax(0,1fr) auto;align-items:center;gap:1rem;margin-top:1rem;border:1px solid #bfdbfe;border-radius:.45rem;background:#eff6ff;padding:1rem 1.15rem}.automation-policy-icon{display:grid;width:2.7rem;height:2.7rem;place-items:center;border-radius:.35rem;background:#fff;color:var(--color-brand-primary);box-shadow:0 1px 4px #0f172a1a}.automation-policy-icon .nav-icon{width:1.35rem;height:1.35rem;opacity:1}.automation-policy-label{color:#1d4ed8;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.automation-policy h3{margin-top:.1rem;color:#172033;font-size:.88rem;font-weight:750}.automation-policy p{margin-top:.18rem;max-width:60rem;color:#526174;font-size:.7rem;line-height:1.45}.automation-switch{display:flex;align-items:center;gap:.55rem;cursor:pointer}.automation-switch input{position:absolute;opacity:0}.automation-switch>span{position:relative;width:2.55rem;height:1.35rem;border:1px solid #94a3b8;border-radius:999px;background:#cbd5e1;transition:.16s}.automation-switch>span:after{content:"";position:absolute;top:.15rem;left:.16rem;width:.92rem;height:.92rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:.16s}.automation-switch input:checked+span{border-color:var(--color-brand-primary);background:var(--color-brand-primary)}.automation-switch input:checked+span:after{transform:translateX(1.18rem)}.automation-switch input:focus-visible+span{outline:2px solid var(--color-brand-primary);outline-offset:2px}.automation-switch strong{min-width:5.4rem;color:#334155;font-size:.7rem}.automation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin-top:1rem}.automation-summary>div{display:flex;align-items:center;gap:.65rem;border:1px solid #dbe2ea;border-radius:.4rem;background:#fff;padding:.7rem .85rem;box-shadow:0 1px 3px #0f172a0d}.automation-summary i{width:.55rem;height:.55rem;border-radius:50%;background:#94a3b8}.automation-summary .is-healthy i{background:#16a34a}.automation-summary .is-running i{background:#2563eb}.automation-summary .is-failed i{background:#dc2626}.automation-summary span{display:flex;flex-direction:column}.automation-summary strong{color:#0f172a;font-size:1rem;line-height:1}.automation-summary small{margin-top:.12rem;color:#64748b;font-size:.62rem}.automation-task-list{display:grid;gap:.75rem;margin-top:1rem}.automation-task{overflow:hidden;border:1px solid #ccd6e0;border-left:3px solid #94a3b8;border-radius:.4rem;background:#fff;box-shadow:0 2px 6px #0f172a0d}.automation-task.is-healthy{border-left-color:#16a34a}.automation-task.is-failed{border-left-color:#dc2626}.automation-task.is-running,.automation-task.is-requested{border-left-color:#2563eb}.automation-task>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid #e5eaf0;padding:.85rem 1rem;background:#fbfcfd}.automation-task-title{display:flex;align-items:flex-start;gap:.7rem}.automation-task-title>span{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid #dbe2ea;border-radius:.3rem;background:#fff;color:var(--color-brand-primary)}.automation-task-title .nav-icon{width:1rem;height:1rem;opacity:1}.automation-task-title h3{color:#172033;font-size:.82rem;font-weight:750}.automation-task-title p{margin-top:.12rem;color:#64748b;font-size:.66rem}.automation-task-grid{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:1rem;padding:1rem}.automation-interval{display:flex;flex-direction:column}.automation-interval>span:first-child{color:#475569;font-size:.62rem;font-weight:750;text-transform:uppercase}.automation-input-shell{display:flex;align-items:center;overflow:hidden;margin-top:.35rem;border:1px solid #b8c4d0;border-radius:.35rem;background:#fff}.automation-input-shell:focus-within{border-color:var(--color-brand-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-brand-primary) 18%,transparent)}.automation-input-shell input{min-width:0;width:100%;border:0;padding:.48rem .55rem;color:#0f172a;font-size:.78rem;font-weight:700;outline:0}.automation-input-shell input:disabled{background:#e9eef3;color:#475569;cursor:not-allowed}.automation-input-shell>span{align-self:stretch;display:flex;align-items:center;border-left:1px solid #dbe2ea;background:#f8fafc;padding:0 .5rem;color:#64748b;font-size:.62rem}.automation-interval>small{margin-top:.3rem;color:#2563eb;font-size:.61rem}.automation-task-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.automation-task-metrics>div{min-width:0;border-left:1px solid #e2e8f0;padding-left:.75rem}.automation-task-metrics dt{color:#64748b;font-size:.59rem;font-weight:700;text-transform:uppercase}.automation-task-metrics dd{overflow:hidden;margin-top:.22rem;color:#1e293b;font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.automation-task-metrics small{display:block;overflow:hidden;margin-top:.14rem;color:#94a3b8;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.automation-task>footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #e5eaf0;background:#f8fafc;padding:.55rem 1rem}.automation-details{min-width:0}.automation-details summary{color:#475569;font-size:.65rem;font-weight:700;cursor:pointer}.automation-details>div{display:grid;gap:.28rem;margin-top:.55rem}.automation-details span{color:#64748b;font-size:.58rem;text-transform:uppercase}.automation-details code,.automation-details p{overflow-wrap:anywhere;color:#334155;font-size:.62rem}.automation-error{border-left:3px solid #dc2626;background:#fef2f2;padding:.5rem;color:#991b1b!important}.automation-run-button{display:flex;align-items:center;gap:.42rem;border:1px solid #9aa8b7;border-radius:.32rem;background:#fff;padding:.42rem .65rem;color:#334155;font-size:.65rem;font-weight:750}.automation-run-button:hover:not(:disabled){border-color:var(--color-brand-primary);background:#eff6ff;color:var(--color-brand-primary)}.automation-run-button:focus-visible{outline:2px solid var(--color-brand-primary);outline-offset:2px}.automation-run-button:disabled{opacity:.55;cursor:not-allowed}.automation-savebar{position:sticky;bottom:.75rem;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;border:1px solid #aeb9c5;border-radius:.45rem;background:#fffffff2;padding:.75rem 1rem;box-shadow:0 10px 28px #0f172a24;backdrop-filter:blur(12px)}.automation-savebar>div{display:flex;flex-direction:column}.automation-savebar strong{font-size:.72rem}.automation-savebar span{color:#64748b;font-size:.62rem}@media(max-width:64rem){.automation-task-grid{grid-template-columns:1fr}.automation-task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-task-metrics>div:nth-child(odd){border-left:0;padding-left:0}}@media(max-width:48rem){.automation-hero{align-items:flex-start;flex-direction:column}.automation-runtime{width:100%;border-top:1px solid #dbe2ea;border-left:0;padding-top:.75rem;padding-left:0}.automation-policy{grid-template-columns:2.7rem minmax(0,1fr)}.automation-switch{grid-column:1/-1;justify-self:start}.automation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-task>header{align-items:flex-start;flex-direction:column}.automation-task-grid{padding:.8rem}.automation-task-metrics{grid-template-columns:1fr}.automation-task-metrics>div{border-top:1px solid #e2e8f0;border-left:0;padding-top:.5rem;padding-left:0}.automation-task>footer{align-items:stretch;flex-direction:column}.automation-run-button{justify-content:center;width:100%;min-height:2.25rem}.automation-savebar{bottom:.35rem}.automation-savebar>div{display:none}.automation-savebar .btn-primary{width:100%}}

.meraki-processing-mode{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;margin-top:1.5rem;border:1px solid #cbd5e1;border-left:4px solid #64748b;border-radius:.45rem;background:#fff;padding:1.05rem 1.2rem;box-shadow:0 2px 7px #0f172a0d}.meraki-processing-mode.is-automatic{border-left-color:#16a34a;background:linear-gradient(105deg,#fff 65%,#f0fdf4)}.meraki-processing-mode.is-scheduled{border-left-color:#2563eb;background:linear-gradient(105deg,#fff 65%,#eff6ff)}.meraki-processing-eyebrow{color:var(--color-brand-primary);font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.meraki-processing-copy h3{margin-top:.14rem;color:#172033;font-size:.92rem;font-weight:750}.meraki-processing-copy>p{margin-top:.24rem;max-width:58rem;color:#526174;font-size:.7rem;line-height:1.45}.meraki-processing-copy dl{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:.65rem}.meraki-processing-copy dl>div{display:flex;gap:.35rem;font-size:.62rem}.meraki-processing-copy dt{color:#64748b}.meraki-processing-copy dd{color:#334155;font-weight:700}.meraki-processing-switch{display:grid;grid-template-columns:auto minmax(10rem,1fr);align-items:center;gap:.08rem .6rem;cursor:pointer}.meraki-processing-switch input{position:absolute;opacity:0}.meraki-processing-switch>span{position:relative;grid-row:1/3;width:2.65rem;height:1.4rem;border:1px solid #94a3b8;border-radius:999px;background:#cbd5e1}.meraki-processing-switch>span:after{content:"";position:absolute;top:.15rem;left:.16rem;width:.96rem;height:.96rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:.16s}.meraki-processing-switch input:checked+span{border-color:#15803d;background:#16a34a}.meraki-processing-switch input:checked+span:after{transform:translateX(1.2rem)}.meraki-processing-switch input:focus-visible+span{outline:2px solid var(--color-brand-primary);outline-offset:2px}.meraki-processing-switch strong{color:#334155;font-size:.7rem}.meraki-processing-switch small{color:#64748b;font-size:.6rem}@media(max-width:48rem){.meraki-processing-mode{grid-template-columns:1fr}.meraki-processing-copy dl{display:grid;gap:.35rem}.meraki-processing-switch{border-top:1px solid #dbe2ea;padding-top:.8rem}}
.meraki-processing-mode>form{display:grid;gap:.55rem;justify-items:end}@media(max-width:48rem){.meraki-processing-mode>form{justify-items:stretch}.meraki-processing-mode>form .btn-secondary{width:100%}}
.automation-run-button.is-loading .automation-run-symbol{width:.9rem;height:.9rem;border:2px solid color-mix(in srgb,var(--color-brand-primary) 25%,#cbd5e1);border-top-color:var(--color-brand-primary);border-radius:50%;font-size:0;animation:automation-spin .72s linear infinite}.automation-run-result{max-width:24rem;margin-top:.35rem;color:#64748b;font-size:.61rem;line-height:1.4;text-align:right}.automation-run-result:empty{display:none}.automation-run-result.is-success{color:#047857}.automation-run-result.is-error{color:#b91c1c}@keyframes automation-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.automation-run-button.is-loading .automation-run-symbol{animation-duration:1.5s}}@media(max-width:48rem){.automation-run-result{max-width:none;text-align:left}}
.toast-region{right:1.15rem;bottom:1.15rem;display:flex;max-height:calc(100dvh - 2.3rem);width:min(25rem,calc(100vw - 2rem));flex-direction:column;justify-content:flex-end;gap:.65rem;overflow-x:hidden;overflow-y:auto;padding:.35rem;scrollbar-width:none}.toast-region::-webkit-scrollbar{display:none}.app-toast{position:relative;display:grid;min-height:4.65rem;grid-template-columns:2.15rem minmax(0,1fr) 1.75rem;flex:none;gap:.75rem;overflow:hidden;border:1px solid #c7d0db;border-left:1px solid #c7d0db;border-radius:.45rem;background:color-mix(in srgb,#fff 94%,transparent);padding:.85rem .8rem .8rem;box-shadow:0 12px 32px #0f172a2e,0 2px 8px #0f172a1a;backdrop-filter:blur(20px) saturate(145%);animation:windows-toast-in .28s cubic-bezier(.2,.8,.2,1)}.app-toast:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#64748b}.app-toast-success:before{background:#107c10}.app-toast-error:before{background:#d13438}.app-toast-warning:before{background:#ca5010}.app-toast-info:before,.app-toast-loading:before{background:#0078d4}.app-toast-icon{width:2.15rem;height:2.15rem;border-radius:.3rem;background:#eef2f6;color:#475569;font-family:"Segoe UI",system-ui,sans-serif;font-size:.85rem;font-weight:700}.app-toast-success .app-toast-icon{background:#dff6dd;color:#0b6a0b}.app-toast-error .app-toast-icon{background:#fde7e9;color:#a4262c}.app-toast-warning .app-toast-icon{background:#fff4ce;color:#8a4600}.app-toast-info .app-toast-icon{background:#deecf9;color:#005a9e}.app-toast-loading .app-toast-icon{width:1.25rem;height:1.25rem;margin:.42rem;border:2px solid #c7e0f4;border-top-color:#0078d4;border-radius:50%;background:transparent;animation:windows-toast-spin .75s linear infinite}.app-toast-title{color:#1f2937;font-family:"Segoe UI Variable","Segoe UI",system-ui,sans-serif;font-size:.8rem;font-weight:650;letter-spacing:.005em}.app-toast-message,.app-toast-list{margin-top:.2rem;color:#4b5563;font-size:.71rem;line-height:1.45}.app-toast-close{border-radius:.25rem;color:#5f6b7a}.app-toast-close:hover,.app-toast-close:focus-visible{background:#e8edf2;color:#111827}.app-toast-progress{position:absolute;inset:auto 0 0;height:2px;transform-origin:left;background:#0078d4}.app-toast-success .app-toast-progress{background:#107c10}.app-toast-error .app-toast-progress{background:#d13438}.app-toast-warning .app-toast-progress{background:#ca5010}.app-toast.has-timeout .app-toast-progress{animation:windows-toast-progress var(--toast-duration) linear forwards}.app-toast:hover .app-toast-progress,.app-toast:focus-within .app-toast-progress{animation-play-state:paused}.app-toast.is-dismissing{animation:windows-toast-out .2s ease-in forwards}@keyframes windows-toast-in{from{transform:translateX(calc(100% + 1.5rem));opacity:0}to{transform:translateX(0);opacity:1}}@keyframes windows-toast-out{to{transform:translateX(calc(100% + 1.5rem));opacity:0}}@keyframes windows-toast-progress{from{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes windows-toast-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-toast,.app-toast.is-dismissing{animation-duration:.01ms}.app-toast-loading .app-toast-icon{animation-duration:1.5s}.app-toast-progress{display:none}}@media(max-width:48rem){.toast-region{right:.5rem;bottom:.5rem;max-height:calc(100dvh - 1rem);width:calc(100vw - 1rem);padding:.2rem}.app-toast{min-height:4.35rem;grid-template-columns:2rem minmax(0,1fr) 1.65rem;padding:.75rem}.app-toast-icon{width:2rem;height:2rem}}
.toast-region{position:fixed!important;inset:auto max(1.15rem,env(safe-area-inset-right)) max(1.15rem,env(safe-area-inset-bottom)) auto!important;z-index:2147483000!important;margin:0!important;pointer-events:none}.toast-region>.app-toast{pointer-events:auto}@media(max-width:48rem){.toast-region{inset:auto max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) auto!important}}
