/* Platform Owner Design System — scoped to prevent visual changes in school workspaces. */
.platform-owner-shell {
    --platform-brand-900: var(--opsync-brand-900, #0D5C57);
    --platform-brand-700: var(--opsync-brand-700, #117A70);
    --platform-brand-500: var(--opsync-brand-500, #19A38C);
    --platform-brand-mint: var(--opsync-brand-mint-300, #6EDBCB);
    --platform-brand-surface: var(--opsync-brand-surface, #F3F8F7);
    --platform-brand-border: var(--opsync-brand-border, #DCEBE8);
    --platform-bg: #f4f7fb;
    --platform-surface: #ffffff;
    --platform-surface-subtle: #f8fafc;
    --platform-surface-raised: #ffffff;
    --platform-text: #172033;
    --platform-text-secondary: #536176;
    --platform-text-muted: #7b8798;
    --platform-border: #e2e8f0;
    --platform-border-strong: #cbd5e1;
    --platform-primary: #2457c5;
    --platform-primary-hover: #1d48a8;
    --platform-primary-soft: #eef4ff;
    --platform-success: #087a55;
    --platform-success-soft: #eaf9f2;
    --platform-warning: #a85b08;
    --platform-warning-soft: #fff7e8;
    --platform-danger: #b42318;
    --platform-danger-soft: #fff1f0;
    --platform-info: #1769aa;
    --platform-info-soft: #edf7ff;
    --platform-focus: #117A70;
    --platform-disabled: #a8b1bf;
    --platform-danger-zone: #7f1d1d;

    --platform-space-1: .25rem;
    --platform-space-2: .5rem;
    --platform-space-3: .75rem;
    --platform-space-4: 1rem;
    --platform-space-5: 1.25rem;
    --platform-space-6: 1.5rem;
    --platform-space-8: 2rem;
    --platform-space-10: 2.5rem;

    --platform-radius-sm: .5rem;
    --platform-radius-md: .75rem;
    --platform-radius-lg: 1rem;
    --platform-radius-xl: 1.25rem;
    --platform-radius-pill: 999px;

    --platform-shadow-float: 0 8px 24px rgba(15, 31, 61, .08);
    --platform-shadow-dialog: 0 24px 72px rgba(15, 31, 61, .24);
    --platform-duration-fast: 140ms;
    --platform-duration: 200ms;

    --platform-font-page: clamp(1.55rem, 2.4vw, 2.1rem);
    --platform-font-section: 1.125rem;
    --platform-font-card: .95rem;
    --platform-font-body: .875rem;
    --platform-font-small: .78rem;
    --platform-font-caption: .7rem;
    --platform-font-metric: clamp(1.45rem, 2.3vw, 2rem);

    color: var(--platform-text);
    background: var(--platform-bg);
}

.platform-owner-shell :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid color-mix(in srgb, var(--platform-focus) 38%, transparent);
    outline-offset: 2px;
}

.platform-owner-shell :where(button, input, select, textarea):disabled {
    cursor: not-allowed;
    opacity: .62;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
