:is(.c365-app--authenticated, .c365-login-page) {
    overflow-x: hidden;
    /* Logic365 semantic design tokens. These are the single application-wide
       contract consumed by the shell, management screens, Boards and Tiles. */
    --c365-color-bg-page: #040b15;
    --c365-color-bg-canvas: #07131b;
    --c365-color-bg-sidebar: #061222;
    --c365-color-bg-header: #071426;
    --c365-color-surface-panel: #0a172a;
    --c365-color-surface-panel-raised: #0f2340;
    --c365-color-surface-nested: #0b1d38;
    --c365-color-surface-elevated: #102844;
    --c365-color-surface-hover: rgba(38, 113, 190, .14);
    --c365-color-surface-selected: rgba(101, 52, 190, .62);
    --c365-color-surface-disabled: rgba(93, 116, 137, .12);
    --c365-color-overlay: rgba(1, 6, 13, .78);

    --c365-color-border-subtle: rgba(73, 111, 164, .30);
    --c365-color-border-default: rgba(73, 119, 174, .48);
    --c365-color-border-strong: rgba(90, 151, 207, .68);
    --c365-color-border-focus: rgba(52, 243, 242, .72);
    --c365-color-divider: rgba(91, 137, 190, .24);

    --c365-color-text-primary: #f7f5ff;
    --c365-color-text-secondary: #b7cbe2;
    --c365-color-text-muted: #8fa8c8;
    --c365-color-text-disabled: #65768c;
    --c365-color-text-inverse: #031118;
    --c365-color-accent-primary: #34f3f2;
    --c365-color-accent-primary-rgb: 52, 243, 242;
    --c365-color-accent-blue: #168bff;
    --c365-color-accent-purple: #9b5cff;
    --c365-color-accent-coral: #ff6e58;
    --c365-color-accent-ai: #b66cff;
    --c365-color-app-runtime: var(--c365-color-accent-blue);
    --c365-color-app-design: var(--c365-color-accent-purple);
    --c365-color-app-published: var(--c365-color-success);

    --c365-color-success: #4ee6aa;
    --c365-color-success-rgb: 78, 230, 170;
    --c365-color-warning: #f6c653;
    --c365-color-warning-rgb: 246, 198, 83;
    --c365-color-danger: #ff766f;
    --c365-color-danger-rgb: 255, 118, 111;
    --c365-color-info: #57d5ef;
    --c365-color-info-rgb: 87, 213, 239;
    --c365-color-state-surface: rgba(18, 37, 60, .82);

    --c365-chart-series-1: #168bff;
    --c365-chart-series-2: #9b5cff;
    --c365-chart-series-3: #34f3f2;
    --c365-chart-series-4: #ff6e58;
    --c365-chart-series-5: #f6c653;
    --c365-chart-series-6: #57d5ef;
    --c365-chart-series-7: #bf7cff;
    --c365-chart-series-8: #3ba6ff;
    --c365-chart-series-9: #f09b5d;
    --c365-chart-series-10: #ef82b8;
    --c365-chart-grid: rgba(117, 185, 212, .12);
    --c365-chart-grid-strong: rgba(52, 243, 242, .24);
    --c365-chart-tooltip-surface: rgba(3, 12, 23, .97);
    --c365-chart-tooltip-border: rgba(52, 243, 242, .34);

    --c365-type-size-xs: .68rem;
    --c365-type-size-sm: .78rem;
    --c365-type-size-md: .9rem;
    --c365-type-size-lg: 1.05rem;
    --c365-type-size-xl: 1.35rem;
    --c365-type-weight-regular: 500;
    --c365-type-weight-semibold: 650;
    --c365-type-weight-bold: 750;
    --c365-radius-xs: 6px;
    --c365-radius-sm: 8px;
    --c365-radius-md: 11px;
    --c365-radius-lg: 16px;
    --c365-radius-xl: 20px;
    --c365-radius-pill: 999px;
    --c365-shadow-card: inset 0 1px 0 rgba(255, 255, 255, .025), 0 16px 36px rgba(0, 0, 0, .28);
    --c365-shadow-elevated: 0 22px 55px rgba(0, 0, 0, .38);
    --c365-shadow-dialog: 0 28px 80px rgba(0, 0, 0, .55);
    --c365-glow-primary: 0 0 0 1px rgba(52, 243, 242, .12), 0 0 28px rgba(22, 139, 255, .10);
    --c365-glow-selected: 0 0 0 1px rgba(155, 92, 255, .22), 0 0 28px rgba(155, 92, 255, .13);
    --c365-control-height-sm: 36px;
    --c365-control-height-md: 44px;
    --c365-control-height-lg: 52px;

    /* Compatibility aliases keep established shared components on the same
       semantic source while feature CSS is migrated incrementally. */
    --c365-canvas: var(--c365-color-bg-canvas);
    --c365-surface-0: var(--c365-color-bg-page);
    --c365-surface-1: var(--c365-color-surface-panel);
    --c365-surface-2: var(--c365-color-surface-nested);
    --c365-surface-elevated: var(--c365-color-surface-elevated);
    --c365-border-subtle: var(--c365-color-border-subtle);
    --c365-border: var(--c365-color-border-default);
    --c365-border-illuminated: var(--c365-color-border-focus);
    --c365-shadow-surface: var(--c365-shadow-card);
    --c365-glow-cyan: var(--c365-glow-primary);
    --c365-glow-danger: 0 0 0 1px rgba(239, 82, 73, 0.18), 0 0 32px rgba(239, 82, 73, 0.18);
    --c365-transition-fast: 120ms ease;
    --c365-transition-standard: 220ms cubic-bezier(.2, .8, .2, 1);
    /* Canonical screen-layer contract. Component-local layers stay below 100;
       page controls and menus stay inside the workspace stacking context;
       viewport overlays are ordered here instead of competing with Bootstrap. */
    --c365-layer-content: 0;
    --c365-layer-page-controls: 100;
    --c365-layer-page-menu: 200;
    --c365-layer-ai-launcher: 1025;
    --c365-layer-header: 1100;
    --c365-layer-overflow-menu: 2100;
    --c365-layer-feedback: 2300;
    --c365-layer-mobile-navigation: 3000;
    --c365-layer-account-menu: 3100;
    --c365-layer-modal-backdrop: 3990;
    --c365-layer-modal: 4000;
    --c365-header-z: var(--c365-layer-header);
    --c365-header-height: 72px;
    --c365-title-size: clamp(1.12rem, 0.85rem + 0.74vw, 1.62rem);
    --c365-shell-background: var(--c365-color-bg-canvas);
    --c365-workspace-background:
        radial-gradient(circle at 20% 0, rgba(0, 177, 216, .055), transparent 34rem),
        linear-gradient(180deg, #010507 0, #000 42%, #010507 100%);
    --c365-navigation-font-size: 0.86rem;
    --c365-standard-grid-font-size: var(--c365-navigation-font-size);
    --c365-control-height: var(--c365-control-height-md);
    --c365-control-radius: var(--c365-radius-md);
    --c365-control-background: rgba(6, 6, 24, .72);
    --c365-control-border: var(--c365-color-border-default);
    --c365-control-border-focus: var(--c365-color-border-focus);
    --c365-control-text: var(--c365-color-text-primary);
    --c365-control-placeholder: var(--c365-color-text-muted);
    --c365-app-surface-background:
        radial-gradient(circle at 82% 0%, rgba(52, 243, 242, .045), transparent 38%),
        linear-gradient(150deg, rgba(18, 38, 72, .985), rgba(7, 20, 40, .995) 72%);
    --c365-app-surface-raised:
        radial-gradient(circle at 84% 0%, rgba(143, 72, 255, .065), transparent 40%),
        linear-gradient(145deg, rgba(20, 42, 78, .96), rgba(8, 22, 44, .985));
    --c365-app-surface-border: var(--c365-color-border-default);
    --c365-app-surface-border-strong: var(--c365-color-border-strong);
    --c365-app-surface-shadow: var(--c365-shadow-elevated);
    color: var(--c365-color-text-primary);
    background: var(--c365-color-bg-page);
}

/* Canonical text-entry treatment. Specialist editors may opt out with
   data-c365-control="unstyled"; native choice and file inputs are unaffected. */
.c365-app--authenticated :is(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="url"], input[type="tel"], input[type="number"], input[type="date"], input[type="datetime-local"], input[type="time"], select, textarea, .form-control, .form-select):not([data-c365-control="unstyled"]) {
    min-height: var(--c365-control-height);
    padding: .62rem .85rem;
    border: 1px solid var(--c365-control-border) !important;
    border-radius: var(--c365-control-radius) !important;
    color: var(--c365-control-text) !important;
    background-color: var(--c365-control-background) !important;
    box-shadow: none !important;
    font-family: var(--c365-font-body, "Manrope", sans-serif);
    font-size: .9rem;
    line-height: 1.35;
    transition: border-color var(--c365-transition-fast), background var(--c365-transition-fast);
}

.c365-app--authenticated :is(input, select, textarea, .form-control, .form-select):not([data-c365-control="unstyled"]):focus {
    border-color: var(--c365-control-border-focus) !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(52, 243, 242, .08) !important;
}

.c365-app--authenticated :is(input, textarea, .form-control):not([data-c365-control="unstyled"])::placeholder {
    color: var(--c365-control-placeholder);
    opacity: 1;
}

/* Public account access uses the authenticated workspace's semantic theme
   without mounting the application rail. */
.c365-login-page {
    overflow-x: hidden;
    min-height: 100dvh;
    background:
        radial-gradient(circle at 78% 5%, rgba(52, 243, 242, .075), transparent 28rem),
        radial-gradient(circle at 16% 78%, rgba(155, 92, 255, .075), transparent 30rem),
        linear-gradient(145deg, var(--c365-color-bg-header), var(--c365-color-bg-page) 62%);
}

.c365-login-page .c365-header {
    display: none;
}

.c365-login-page .c365-page-wrapper,
.c365-login-page .c365-main {
    width: 100%;
    max-width: none;
    padding: 0;
}

.c365-login {
    position: relative;
    display: grid;
    min-height: 100dvh;
    place-items: center;
    padding: clamp(1.5rem, 5vw, 4.5rem);
    overflow: hidden;
}

.c365-login__ambient {
    position: absolute;
    z-index: 0;
    top: 8%;
    right: 4%;
    width: min(42rem, 70vw);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(22, 139, 255, .11), rgba(52, 243, 242, .035) 38%, transparent 68%);
    filter: blur(8px);
    pointer-events: none;
}

.c365-login__shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(22rem, .76fr);
    width: min(68rem, 100%);
    min-height: 37rem;
    overflow: hidden;
    border: 1px solid var(--c365-color-border-default);
    border-radius: var(--c365-radius-xl);
    background: var(--c365-app-surface-background);
    box-shadow: var(--c365-shadow-dialog), var(--c365-glow-primary);
}

.c365-login__intro {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(2.5rem, 6vw, 5.5rem);
    border-right: 1px solid var(--c365-color-divider);
    background:
        linear-gradient(145deg, rgba(17, 41, 76, .84), rgba(6, 20, 41, .96)),
        var(--c365-color-surface-panel);
}

.c365-login__intro::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(52, 243, 242, .045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(52, 243, 242, .045) 1px, transparent 1px);
    background-size: 3rem 3rem;
    mask-image: linear-gradient(135deg, transparent 8%, #000 72%);
}

.c365-login__wordmark {
    position: relative;
    z-index: 1;
    align-self: flex-start;
    margin-bottom: clamp(3rem, 8vw, 6rem);
    font-size: clamp(1.35rem, 2.2vw, 1.8rem);
    filter: drop-shadow(0 0 18px rgba(52, 243, 242, .12));
}

.c365-login__eyebrow,
.c365-login__kicker {
    position: relative;
    z-index: 1;
    color: var(--c365-color-accent-primary);
    font-size: var(--c365-type-size-xs);
    font-weight: var(--c365-type-weight-bold);
    letter-spacing: .14em;
    text-transform: uppercase;
}

.c365-login__intro h1 {
    position: relative;
    z-index: 1;
    max-width: 11ch;
    margin: .85rem 0 1rem;
    color: var(--c365-color-text-primary);
    font-family: var(--c365-font-heading);
    font-size: clamp(2.1rem, 4vw, 3.65rem);
    font-weight: 750;
    line-height: 1.06;
    letter-spacing: -.035em;
}

.c365-login__intro p {
    position: relative;
    z-index: 1;
    max-width: 34rem;
    margin: 0;
    color: var(--c365-color-text-secondary);
    font-size: clamp(.92rem, 1.4vw, 1.05rem);
    line-height: 1.75;
}

.c365-login__signal {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    gap: .34rem;
    height: 1.75rem;
    margin-top: 2.1rem;
}

.c365-login__signal span {
    width: 3px;
    border-radius: var(--c365-radius-pill);
    background: linear-gradient(180deg, var(--c365-color-accent-primary), var(--c365-color-accent-blue));
    box-shadow: 0 0 12px rgba(var(--c365-color-accent-primary-rgb), .22);
}

.c365-login__signal span:nth-child(1) { height: 28%; }
.c365-login__signal span:nth-child(2) { height: 48%; }
.c365-login__signal span:nth-child(3) { height: 72%; }
.c365-login__signal span:nth-child(4) { height: 100%; }
.c365-login__signal span:nth-child(5) { height: 72%; }

.c365-login__panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(2rem, 5vw, 4rem);
    background:
        radial-gradient(circle at 88% 4%, rgba(155, 92, 255, .085), transparent 42%),
        linear-gradient(160deg, rgba(12, 29, 55, .98), rgba(5, 16, 32, .99));
}

.c365-login__panel-header h2 {
    margin: .65rem 0 .45rem;
    color: var(--c365-color-text-primary);
    font-family: var(--c365-font-heading);
    font-size: clamp(1.8rem, 3vw, 2.35rem);
    font-weight: 750;
    letter-spacing: -.025em;
}

.c365-login__panel-header p {
    margin: 0;
    color: var(--c365-color-text-muted);
    font-size: .9rem;
}

.c365-login__form {
    display: grid;
    gap: 1.15rem;
    margin-top: 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.c365-login__field { display: grid; gap: .45rem; }

.c365-login__field-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
}

.c365-login__field .form-label {
    margin: 0;
    color: var(--c365-color-text-secondary);
    font-size: .78rem;
    font-weight: var(--c365-type-weight-semibold);
}

.c365-login__field-heading a,
.c365-login__footer a {
    color: var(--c365-color-accent-primary);
    font-size: .78rem;
    font-weight: var(--c365-type-weight-semibold);
}

.c365-login__field-heading a:hover,
.c365-login__footer a:hover { color: var(--c365-color-text-primary); }

.c365-login-page .c365-login :is(input[type="email"], input[type="password"], .form-control) {
    min-height: var(--c365-control-height-lg);
    padding: .72rem .9rem;
    border: 1px solid var(--c365-control-border) !important;
    border-radius: var(--c365-control-radius) !important;
    color: var(--c365-control-text) !important;
    background: var(--c365-control-background) !important;
    box-shadow: none !important;
    font-family: var(--c365-font-body);
    font-size: .9rem;
    transition: border-color var(--c365-transition-fast), box-shadow var(--c365-transition-fast), background var(--c365-transition-fast);
}

.c365-login-page .c365-login :is(input[type="email"], input[type="password"], .form-control):focus {
    border-color: var(--c365-control-border-focus) !important;
    outline: none;
    background: rgba(8, 14, 35, .92) !important;
    box-shadow: 0 0 0 3px rgba(var(--c365-color-accent-primary-rgb), .08) !important;
}

.c365-login-page .c365-login .form-control::placeholder {
    color: var(--c365-control-placeholder);
    opacity: .82;
}

.c365-login__remember {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: .6rem;
    color: var(--c365-color-text-secondary);
    font-size: .82rem;
    cursor: pointer;
}

.c365-login__remember .form-check-input {
    width: 1.05rem;
    height: 1.05rem;
    margin: 0;
    accent-color: var(--c365-color-accent-blue);
}

.c365-login__submit {
    min-height: var(--c365-control-height-lg);
    border: 1px solid rgba(var(--c365-color-accent-primary-rgb), .82);
    border-radius: var(--c365-radius-md);
    color: var(--c365-color-text-inverse);
    background: linear-gradient(135deg, var(--c365-color-accent-primary), #32c8e5);
    box-shadow: 0 12px 30px rgba(22, 139, 255, .16);
    font-size: .9rem;
    font-weight: var(--c365-type-weight-bold);
}

.c365-login__submit:hover,
.c365-login__submit:focus-visible {
    color: var(--c365-color-text-inverse);
    border-color: var(--c365-color-accent-primary);
    background: linear-gradient(135deg, #63fbfa, #47d6ed);
    box-shadow: 0 0 0 3px rgba(var(--c365-color-accent-primary-rgb), .10), 0 16px 34px rgba(22, 139, 255, .2);
}

.c365-login__validation:empty,
.c365-login__field .text-danger:empty { display: none; }

.c365-login__validation:not(:empty) {
    padding: .75rem .85rem;
    border: 1px solid rgba(var(--c365-color-danger-rgb), .4);
    border-radius: var(--c365-radius-sm);
    color: var(--c365-color-danger) !important;
    background: rgba(var(--c365-color-danger-rgb), .08);
    font-size: .8rem;
}

.c365-login__field .text-danger {
    color: var(--c365-color-danger) !important;
    font-size: .75rem;
}

.c365-login__external {
    display: grid;
    gap: .8rem;
    margin-top: 1.45rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--c365-color-divider);
    color: var(--c365-color-text-muted);
    font-size: .75rem;
    text-align: center;
}

.c365-login__external form {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.c365-login__external .btn { flex: 1 1 9rem; }

.c365-login__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .7rem;
    margin-top: 1.65rem;
    color: var(--c365-color-text-muted);
    font-size: .78rem;
}

.c365-login__footer #resend-confirmation {
    flex-basis: 100%;
    color: var(--c365-color-text-secondary);
    font-weight: var(--c365-type-weight-regular);
}

@media (max-width: 820px) {
    .c365-login { padding: 1.25rem; }
    .c365-login__shell { grid-template-columns: 1fr; min-height: 0; }
    .c365-login__intro { padding: 2rem; border-right: 0; border-bottom: 1px solid var(--c365-color-divider); }
    .c365-login__wordmark { margin-bottom: 2rem; }
    .c365-login__intro h1 { max-width: 16ch; font-size: clamp(1.75rem, 7vw, 2.5rem); }
    .c365-login__signal { display: none; }
    .c365-login__panel { padding: 2rem; }
}

@media (max-width: 480px) {
    .c365-login { place-items: start center; padding: .8rem; }
    .c365-login__shell { border-radius: var(--c365-radius-lg); }
    .c365-login__intro { padding: 1.5rem; }
    .c365-login__intro p { display: none; }
    .c365-login__wordmark { margin-bottom: 1.4rem; }
    .c365-login__panel { padding: 1.5rem; }
    .c365-login__field-heading { align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
    .c365-login-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.c365-app-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    /* Follow the rendered header height when browser zoom or text scaling
       makes its controls taller than the normal minimum. */
    grid-template-rows: auto minmax(0, 1fr);
    width: 100%;
    min-height: 100dvh;
    align-items: start;
    background: var(--c365-shell-background);
}

.c365-app-layout.c365-app-layout--no-ai {
    grid-template-columns: minmax(0, 1fr);
}

.c365-topbar {
    grid-column: 1 / -1;
    grid-row: 1;
    position: sticky;
    top: 0;
    z-index: var(--c365-header-z);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: clamp(1rem, 2.2vw, 2.5rem);
    min-height: var(--c365-header-height);
    padding: 0 clamp(1rem, 2vw, 2rem);
    border-bottom: 1px solid var(--c365-border-subtle);
    background:
        radial-gradient(circle at 72% 0, rgba(var(--c365-color-accent-primary-rgb), .045), transparent 28rem),
        linear-gradient(110deg, var(--c365-color-bg-header), var(--c365-color-bg-page));
    box-shadow: 0 12px 42px rgba(0, 0, 0, .48);
}

.c365-topbar::after {
    content: "";
    position: absolute;
    inset: auto 0 -1px;
    height: 1px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent 2%, rgba(0, 207, 242, .62) 18%, rgba(0, 207, 242, .12) 58%, transparent 94%);
}

.c365-topbar__brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    filter: drop-shadow(0 0 14px rgba(72, 208, 226, .12));
}

.c365-topbar__app-name {
    overflow: hidden;
    max-width: 100%;
    color: #f8f6ff;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.c365-topbar__brand--app {
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    text-align: left;
}

.c365-topbar .c365-nav-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; width: 100%; min-width: 0; }
.c365-topbar .c365-nav__list { width: 100%; justify-content: flex-start; gap: .15rem; }

.c365-topbar .c365-nav__link,
.c365-topbar .c365-nav__group {
    min-height: 38px;
    padding: .55rem .72rem;
    border: 0;
    border-radius: 0;
    color: #a9beca;
    background: transparent;
    font: 650 var(--c365-navigation-font-size)/1 var(--c365-font-body);
    letter-spacing: .01em;
    text-decoration: none;
    transition: color var(--c365-transition-fast), background var(--c365-transition-fast), box-shadow var(--c365-transition-fast);
}

.c365-topbar .c365-nav__link:hover,
.c365-topbar .c365-nav__group:hover,
.c365-topbar .c365-nav__link:focus-visible,
.c365-topbar .c365-nav__group:focus-visible { color: #f3fbff; background: transparent; }

.c365-topbar .c365-nav__link.active,
.c365-topbar .c365-nav__group.active {
    color: var(--c365-brand);
    background: transparent;
    box-shadow: none;
    text-decoration: none;
}

.c365-nav__group::after {
    content: "";
    display: inline-block;
    width: .38rem;
    height: .38rem;
    margin: -.18rem 0 0 .48rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
}

.c365-nav-menu {
    min-width: 210px;
    padding: .45rem;
    border: 1px solid var(--c365-border);
    border-radius: var(--c365-radius-md);
    color: var(--text);
    background: rgba(6, 18, 25, .98);
    box-shadow: var(--c365-shadow-lg), var(--c365-glow-cyan);
    backdrop-filter: blur(18px);
}

.c365-nav-menu .dropdown-item {
    padding: .62rem .72rem;
    border-radius: var(--c365-radius-sm);
    color: #b8cbd5;
    font-size: .84rem;
    font-weight: 600;
}
.c365-nav-menu .dropdown-item:hover,
.c365-nav-menu .dropdown-item:focus,
.c365-nav-menu .dropdown-item.active { color: #effcff; background: rgba(72, 208, 226, .1); }

.c365-nav__system { margin-left: auto; }
.c365-nav__icon-button {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid transparent;
    border-radius: 50%;
    color: #9db5c1;
    background: transparent;
    font-weight: 800;
    letter-spacing: .08em;
}
.c365-nav__icon-button:hover,
.c365-nav__icon-button:focus-visible { color: #eafaff; border-color: var(--c365-border); background: rgba(72, 208, 226, .07); }

.c365-nav__identity { position: relative; margin-left: auto; }
.c365-nav__identity-button {
    display: grid;
    grid-template-columns: 42px minmax(0, auto) 18px;
    align-items: center;
    gap: .6rem;
    min-height: 44px;
    padding: .28rem .55rem .28rem .32rem;
    border: 1px solid var(--c365-border-subtle);
    border-radius: 999px;
    color: var(--text);
    background: rgba(10, 28, 38, .66);
}
.c365-nav__identity-button:hover,
.c365-nav__identity-button:focus-visible { border-color: var(--c365-border-illuminated); box-shadow: var(--c365-glow-cyan); }
.c365-nav__identity-mark {
    display: grid;
    place-items: center;
    width: 42px;
    aspect-ratio: 1;
    border: 1px solid rgba(72, 208, 226, .42);
    border-radius: 50%;
    color: #ffffff;
    background: linear-gradient(145deg, rgba(72, 208, 226, .27), rgba(97, 69, 211, .22));
    box-shadow: inset 0 1px rgba(255, 255, 255, .14), 0 0 14px rgba(72, 208, 226, .1);
    font: 800 .92rem/1 var(--c365-font-heading);
    text-transform: uppercase;
}
.c365-nav__identity-initials { display: block; letter-spacing: .015em; }
.c365-nav__identity-exit { width: 17px; height: 17px; fill: none; stroke: #7893a0; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; transition: stroke var(--c365-transition-fast); }
.c365-nav__identity-button:hover .c365-nav__identity-exit,
.c365-nav__identity-button:focus-visible .c365-nav__identity-exit { stroke: var(--c365-color-accent-primary); }
.c365-nav__identity-copy { display: grid; min-width: 0; padding-right: .2rem; text-align: left; }
.c365-nav__identity-name { max-width: 10rem; overflow: hidden; color: #eaf6fa; font-size: .74rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.c365-nav__identity-account { max-width: 10rem; overflow: hidden; color: #7893a0; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }

.c365-logout-confirmation {
    position: fixed;
    z-index: var(--c365-layer-modal);
    inset: 0;
    display: grid;
    width: min(19rem, calc(100vw - 1.5rem));
    max-width: none;
    height: max-content;
    max-height: calc(100dvh - 1.5rem);
    margin: auto;
    gap: .75rem;
    padding: .9rem;
    border: 1px solid var(--c365-color-border-default);
    border-radius: var(--c365-radius-md);
    color: var(--c365-color-text-primary);
    background: linear-gradient(145deg, rgba(17, 40, 74, .98), rgba(6, 18, 37, .99));
    box-shadow: var(--c365-shadow-elevated), 0 0 24px rgba(72, 208, 226, .08);
    backdrop-filter: blur(18px);
}
.c365-logout-confirmation::backdrop {
    background: rgba(1, 5, 17, .72);
    backdrop-filter: blur(5px);
}
.c365-logout-confirmation[hidden] { display: none; }
.c365-logout-confirmation__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.c365-logout-confirmation__header strong { font: 750 1rem/1.2 var(--c365-font-heading); }
.c365-logout-confirmation p { margin: 0; color: var(--c365-color-text-secondary); font-size: .82rem; line-height: 1.45; }
.c365-logout-confirmation__close {
    display: grid;
    width: 2rem;
    height: 2rem;
    place-items: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--c365-radius-sm);
    color: var(--c365-color-text-muted);
    background: transparent;
    font-size: 1.25rem;
}
.c365-logout-confirmation__close:hover { border-color: var(--c365-color-border-default); color: var(--c365-color-text-primary); background: var(--c365-color-surface-hover); }
.c365-logout-confirmation__actions { display: flex; justify-content: flex-end; gap: .55rem; }
.c365-logout-confirmation__actions form { margin: 0; }
.c365-logout-confirmation__cancel,
.c365-logout-confirmation__submit { display: inline-flex; min-height: 2.45rem; align-items: center; justify-content: center; gap: .42rem; padding: .5rem .78rem; border-radius: var(--c365-radius-sm); font-size: .8rem; font-weight: 750; }
.c365-logout-confirmation__cancel { border: 1px solid var(--c365-color-border-default); color: var(--c365-color-text-secondary); background: var(--c365-color-surface-nested); }
.c365-logout-confirmation__cancel:hover { color: var(--c365-color-text-primary); background: var(--c365-color-surface-hover); }
.c365-logout-confirmation__submit { border: 1px solid rgba(var(--c365-color-danger-rgb), .62); color: #ffe9e7; background: linear-gradient(135deg, rgba(153, 39, 55, .95), rgba(106, 25, 43, .96)); }
.c365-logout-confirmation__submit:hover { border-color: rgba(var(--c365-color-danger-rgb), .9); background: linear-gradient(135deg, rgba(181, 45, 61, .98), rgba(126, 28, 48, .98)); }
.c365-logout-confirmation__submit svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }

@media (min-width: 901px) {
    .c365-topbar.c365-workspace-bar { padding-right: max(.75rem, env(safe-area-inset-right, 0px)); }
}

.c365-ai-launcher {
    position: fixed;
    z-index: var(--c365-layer-ai-launcher);
    right: max(1rem, env(safe-area-inset-right, 0px));
    bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    min-width: 132px;
    height: 46px;
    padding: 0 1rem;
    border: 1px solid rgba(0, 199, 232, .62);
    border-radius: 999px;
    color: #dffaff;
    background: linear-gradient(145deg, rgba(3, 34, 46, .98), rgba(2, 17, 24, .98));
    box-shadow: inset 0 0 22px rgba(0, 199, 232, .08), 0 12px 34px rgba(0, 0, 0, .52), 0 0 22px rgba(0, 199, 232, .12);
}
.c365-ai-toggle__spark { width: 6px; height: 6px; border-radius: 50%; background: var(--c365-brand); box-shadow: 0 0 10px var(--c365-brand); }

#askCapture365AIToggle[aria-expanded="true"],
.c365-app-layout:has(.c365-nav-panel.show) #askCapture365AIToggle,
.c365-app-layout:has(.c365-nav-panel.collapsing) #askCapture365AIToggle {
    display: none;
}

.c365-sidebar {
    position: sticky;
    top: 0;
    height: 100dvh;
    min-width: 0;
    padding: 1.25rem 0.75rem 0.8rem;
    background: var(--c365-shell-background);
    border-right: 0;
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
}

.c365-sidebar__brand {
    align-self: flex-start;
    margin-left: 0.55rem;
    text-decoration: none;
}

.c365-workspace {
    grid-column: 1;
    grid-row: 2;
    position: relative;
    min-width: 0;
    min-height: 100dvh;
    background: var(--c365-workspace-background);
}

.c365-workspace-bar {
    display: none;
}

.c365-workspace .c365-main {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-inline: 0;
    padding-inline: 24px;
    padding-top: 1.25rem;
}

.c365-workspace .c365-main h1 {
    font-family: var(--c365-font-heading);
    font-size: var(--c365-title-size) !important;
    font-weight: 700;
    line-height: 1 !important;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}

/* Page headings use the same unframed treatment as the Datasets page. */
.page-hero {
    align-items: flex-start;
    margin: 0 0 1.6rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.page-hero-content h1 {
    margin: 0;
}

.page-hero-kicker {
    display: none !important;
}

.c365-app--authenticated .capture365-wordmark,
.c365-app--authenticated .capture365-page-title,
.c365-app--authenticated .c365-ai-brand__title {
    font-size: var(--c365-title-size) !important;
    line-height: 1 !important;
}

.c365-app--authenticated input[type="date"] {
    color-scheme: dark;
    padding-right: 2.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23bfeaff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem 1rem;
}

.c365-app--authenticated input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0;
    cursor: pointer;
}

/* Canonical management-page composition: title, one working toolbar, then data. */
.c365-management-page .standard-page-header {
    margin-bottom: 1.35rem;
}

.c365-management-toolbar {
    --c365-management-control-height: 40px;
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(180px, 260px) auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.25rem;
}

.c365-management-toolbar input[type="search"],
.c365-management-toolbar select {
    min-width: 0;
    height: var(--c365-management-control-height);
}

.c365-management-toolbar input[type="search"] {
    padding: 0 1rem;
    border: 1px solid rgba(108, 153, 176, 0.24);
    border-radius: 8px;
    color: #eef6fa;
    background: #0b1821;
    outline: none;
}

.c365-management-toolbar input[type="search"]:focus {
    border-color: #18bfff;
    box-shadow: 0 0 0 2px rgba(24, 191, 255, 0.14);
}

.c365-management-toolbar__new {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 88px;
    height: var(--c365-management-control-height);
}

.c365-date-range-select {
    --c365-date-range-height: 44px;
    --c365-date-range-width: 13rem;
    position: relative;
    display: inline-grid;
    grid-template-columns: 2.4rem minmax(0, 1fr) 2.15rem;
    align-items: center;
    width: min(100%, var(--c365-date-range-width));
    min-width: min(100%, var(--c365-date-range-width));
    height: var(--c365-date-range-height);
    min-height: var(--c365-date-range-height);
    border: 1px solid rgba(128, 194, 214, 0.28);
    border-radius: 10px;
    color: #d8d3e2;
    background: rgba(8, 20, 28, 0.72);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.015);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.c365-date-range-select[hidden] {
    display: none !important;
}

.c365-date-range-select:focus-within {
    border-color: rgba(72, 206, 226, .78);
    box-shadow: 0 0 0 3px rgba(72, 206, 226, .12), inset 0 0 0 1px rgba(72, 206, 226, .08);
}

.c365-date-range-select select {
    position: relative;
    z-index: 1;
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    border-radius: inherit;
    padding: 0 2.15rem 0 2.4rem;
    color: #f1eef7;
    background: transparent;
    font: 650 .9rem/1.2 "Manrope", sans-serif;
    outline: 0;
    appearance: none;
    cursor: pointer;
}

.c365-date-range-select select:disabled {
    cursor: wait;
    opacity: .64;
}

.c365-date-range-select select option {
    color: #f1eef7;
    background: #0b1024;
}

.c365-date-range-select__calendar,
.c365-date-range-select__chevron {
    z-index: 2;
    grid-row: 1;
    width: 1.1rem;
    height: 1.1rem;
    pointer-events: none;
    fill: none;
    stroke: #aaa5b8;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.c365-date-range-select__calendar {
    grid-column: 1;
    justify-self: center;
}

.c365-date-range-select__chevron {
    grid-column: 3;
    justify-self: center;
    width: .95rem;
    height: .95rem;
}

.c365-page-date-range {
    align-items: center;
}

.c365-date-filter {
    position: relative;
    width: min(100%, 20rem);
    color: #f1eef7;
    font: 650 .9rem/1.2 "Manrope", sans-serif;
}

.c365-date-filter[hidden] { display: none !important; }
.c365-date-filter > summary { list-style: none; }
.c365-date-filter > summary::-webkit-details-marker { display: none; }

.c365-date-filter__summary {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
    min-height: 44px;
    padding: .65rem .8rem;
    border: 1px solid rgba(128, 194, 214, .28);
    border-radius: 10px;
    background: rgba(8, 20, 28, .72);
    cursor: pointer;
}

.c365-date-filter__summary svg {
    width: 1.1rem;
    height: 1.1rem;
    fill: none;
    stroke: #aaa5b8;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.c365-date-filter[open] .c365-date-filter__summary,
.c365-date-filter__summary:focus-visible {
    border-color: rgba(72, 206, 226, .78);
    box-shadow: 0 0 0 3px rgba(72, 206, 226, .12);
    outline: 0;
}

.c365-date-filter__popover {
    position: absolute;
    z-index: 1200;
    top: calc(100% + .5rem);
    right: 0;
    width: min(24rem, calc(100vw - 2rem));
    padding: 1rem;
    border: 1px solid rgba(128, 194, 214, .32);
    border-radius: 12px;
    background: #0b1822;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .42);
}

.c365-date-filter__field,
.c365-date-filter__stack,
.c365-date-filter__row,
.c365-date-filter__specific {
    display: flex;
    gap: .65rem;
    align-items: end;
}

.c365-date-filter__field,
.c365-date-filter__stack { flex-direction: column; align-items: stretch; }
.c365-date-filter__field > span,
.c365-date-filter__row label { color: #aaa5b8; font-size: .78rem; }
.c365-date-filter__row label { flex: 1; }

.c365-date-filter select,
.c365-date-filter input,
.c365-date-filter button {
    min-height: 38px;
    border: 1px solid rgba(128, 194, 214, .28);
    border-radius: 8px;
    color: #f1eef7;
    background: #080c1d;
    font: inherit;
}

.c365-date-filter select,
.c365-date-filter input { width: 100%; padding: .45rem .6rem; }
.c365-date-filter__row,
.c365-date-filter__specific,
.c365-date-filter__stack,
.c365-date-filter__none { margin-top: .8rem; }
.c365-date-filter__specific input { flex: 1; }
.c365-date-filter__specific button { min-width: 2.5rem; padding: .4rem .65rem; }
.c365-date-filter__presets { display: flex; gap: .45rem; align-items: center; }
.c365-date-filter__presets button { min-height: 32px; padding: .3rem .65rem; }
.c365-date-filter__presets span { color: #aaa5b8; font-size: .78rem; }
.c365-date-filter__none { color: #aaa5b8; }
.c365-date-filter__actions { display: flex; justify-content: flex-end; margin-top: 1rem; }
.c365-date-filter__actions button { padding: .45rem 1rem; }

[data-c365-date-filter-panel][hidden] { display: none !important; }

.c365-management-toolbar .c365-page-date-range {
    grid-column: 1 / -1;
}

@media (max-width: 760px) {
    .c365-management-toolbar {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .c365-management-toolbar input[type="search"] {
        grid-column: 1 / -1;
    }

    .c365-management-toolbar .c365-page-date-range {
        width: min(100%, var(--c365-date-range-width));
    }
}

.c365-management-grid.app-surface {
    overflow: visible;
}

.c365-management-grid__viewport {
    overflow-x: auto;
    overflow-y: visible;
}

.c365-management-table {
    width: 100%;
    min-width: 680px;
    table-layout: fixed;
    margin: 0;
}

.c365-management-table th,
.c365-management-table td {
    height: 58px;
    max-height: 58px;
    padding: 0.55rem 0.45rem;
    overflow: hidden;
    color: #e6edf3;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: middle;
    border-color: rgba(108, 153, 176, 0.16);
    font-size: var(--c365-standard-grid-font-size);
}

.c365-management-table th {
    height: 44px;
    color: #9aa7b2;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.c365-management-table__name { width: 27%; }
.c365-management-table__description { width: auto; }
.c365-management-table__primary { width: 32%; }
.c365-management-table__target { width: 26%; }
.c365-management-table__compact { width: 7.5rem; }
.c365-management-table__state { width: 9.5rem; }
.c365-management-table__related { width: 10rem; }
.c365-management-table__status { width: 152px; }
.c365-management-table__rows { width: 72px; text-align: center; }
.c365-management-table__numeric { width: 7rem; text-align: right; white-space: nowrap; }
.c365-management-table__updated { width: 176px; }
.c365-management-table__actions { width: 76px; min-width: 76px; text-align: right; overflow: visible !important; }

/* Canonical screen framework ------------------------------------------------ */
.c365-screen-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.c365-screen-header__copy { min-width: 0; }
.c365-screen-header__copy p { margin: 0.45rem 0 0; color: #91aab7; font-size: 0.86rem; }
.c365-primary-action { min-height: 40px; white-space: nowrap; }

.c365-cell-primary {
    display: block;
    overflow: hidden;
    color: #eef6fa;
    font-size: var(--c365-standard-grid-font-size);
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.c365-cell-secondary {
    display: block;
    overflow: hidden;
    margin-top: 0.18rem;
    color: #8ea5b1;
    font-size: 0.74rem;
    font-weight: 500;
    line-height: 1.2;
    text-overflow: ellipsis;
}

.c365-technical-value {
    display: inline-flex;
    max-width: 100%;
    overflow: hidden;
    color: #b9dce9;
    font: 500 0.75rem/1.35 ui-monospace, SFMono-Regular, Consolas, monospace;
    text-overflow: ellipsis;
    user-select: all;
}

.c365-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.34rem;
    min-height: 1.5rem;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.22rem 0.56rem;
    border: 1px solid rgba(132, 170, 188, 0.32);
    border-radius: 999px;
    color: #c9d8df;
    background: rgba(80, 112, 126, 0.13);
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    text-decoration: none;
    white-space: normal;
}

.c365-status-badge__dot {
    flex: 0 0 auto;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 50%;
    background: currentColor;
}
.c365-status-badge__label { min-width: 0; overflow-wrap: anywhere; }
.c365-status-badge--compact { min-height: 1.3rem; padding: 0.14rem 0.44rem; font-size: 0.66rem; }
.c365-status-badge--no-dot { gap: 0; }
.c365-status-badge--success { border-color: rgba(63, 200, 156, 0.42); color: #83e6c1; background: rgba(28, 143, 111, 0.14); }
.c365-status-badge--info { border-color: rgba(24, 191, 255, 0.42); color: #71dcff; background: rgba(15, 134, 177, 0.14); }
.c365-status-badge--warning { border-color: rgba(244, 190, 72, 0.45); color: #f5d07d; background: rgba(174, 119, 16, 0.14); }
.c365-status-badge--danger { border-color: rgba(255, 100, 112, 0.48); color: #ff9aa3; background: rgba(184, 47, 61, 0.14); }
.c365-status-badge--neutral { border-color: rgba(132, 170, 188, 0.32); color: #a9b8bf; background: rgba(80, 112, 126, 0.13); }
.c365-status-badge[href], button.c365-status-badge { cursor: pointer; }
.c365-status-badge[href]:focus-visible, button.c365-status-badge:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.c365-overflow { display: inline-flex; overflow: visible; }
.c365-overflow__trigger {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 7px;
    color: #d6e2e8;
    background: transparent;
    font-size: 1.35rem;
    line-height: 1;
}
.c365-overflow__trigger:hover,
.c365-overflow__trigger:focus-visible { border-color: rgba(24, 191, 255, 0.34); background: rgba(255,255,255,.06); outline: none; }
.c365-overflow__menu {
    position: fixed;
    z-index: var(--c365-layer-overflow-menu);
    display: grid;
    min-width: 174px;
    max-width: min(260px, calc(100vw - 16px));
    padding: 0.35rem;
    border: 1px solid rgba(108, 153, 176, 0.28);
    border-radius: 9px;
    background: #0b1821;
    box-shadow: 0 16px 36px rgba(0,0,0,.48);
}
.c365-overflow__menu[hidden] { display: none; }
.c365-overflow__menu form { display: contents; }
.c365-overflow__menu a,
.c365-overflow__menu button {
    width: 100%;
    padding: 0.52rem 0.7rem;
    border: 0;
    border-radius: 6px;
    color: #dfe9ee;
    background: transparent;
    font: inherit;
    font-size: 0.8rem;
    text-align: left;
    text-decoration: none;
}
.c365-overflow__menu a:hover,
.c365-overflow__menu a:focus-visible,
.c365-overflow__menu button:hover,
.c365-overflow__menu button:focus-visible { color: #fff; background: rgba(255,255,255,.065); outline: none; }
.c365-overflow__menu .is-danger { color: #ff8d95; }
.c365-overflow__menu [disabled], .c365-overflow__menu [aria-disabled="true"] { opacity: .42; pointer-events: none; }
.c365-overflow__separator { height: 1px; margin: .28rem .35rem; background: rgba(130,166,181,.18); }

.c365-secondary-nav { display: flex; gap: .35rem; margin: -.25rem 0 1rem; border-bottom: 1px solid rgba(130,166,181,.22); }
.c365-secondary-nav a { padding: .68rem .85rem; color: #8fc4e3; text-decoration: none; border-bottom: 2px solid transparent; }
.c365-secondary-nav a:hover, .c365-secondary-nav a:focus-visible { color: #fff; outline: none; }
.c365-secondary-nav a.active { color: #fff; border-bottom-color: #35c8ea; }
.c365-history-summary { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .8rem; margin-bottom: 1rem; }
.c365-history-summary > div { padding: 1rem 1.15rem; display: flex; flex-direction: column; gap: .2rem; }
.c365-history-summary span { color: #8fc4e3; }
.c365-history-summary strong { color: #f4fbff; font-size: 1.6rem; }
.c365-history-toolbar { flex-wrap: wrap; }
.c365-history-toolbar select { min-height: 2.55rem; border: 1px solid rgba(130,166,181,.28); border-radius: .42rem; background: #0d1c25; color: #eef9ff; padding: .45rem .7rem; }
.c365-secure-action-table { min-width: 68rem; }
.c365-secure-action-table th:first-child { width: 18rem; }
.c365-secure-action-table th:nth-child(2) { width: 11rem; }
.c365-history-advanced { flex: 1 0 100%; padding-top: .25rem; }
.c365-history-advanced summary { color: #8fc4e3; cursor: pointer; width: max-content; }
.c365-history-advanced__grid { display: grid; grid-template-columns: repeat(4,minmax(9rem,1fr)); gap: .75rem; padding-top: .8rem; }
.c365-history-advanced__grid label { color: #9fc6dc; font-size: .8rem; display: grid; gap: .3rem; }
.c365-history-toolbar--empty { max-width: 34rem; }
.c365-management-page .c365-empty-state { min-height: 15rem; padding: 2rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: left; font-size: 1rem; }

.c365-device-health-filters { display: flex; flex-wrap: wrap; width: fit-content; margin: 0 0 1.25rem; padding: .2rem; border: 1px solid var(--c365-border, #2d2759); border-radius: 1rem; background: rgba(3, 5, 22, .72); }
.c365-device-health-filters a { min-height: 2.8rem; padding: .65rem 1rem; border-radius: .78rem; color: var(--c365-text-muted, #aaa4c4); text-decoration: none; }
.c365-device-health-filters a:hover, .c365-device-health-filters a:focus-visible { color: var(--c365-text, #f7f5ff); background: rgba(83, 49, 151, .3); }
.c365-device-health-filters a.is-active { color: #fff; background: #4b2599; box-shadow: inset 0 0 0 1px #7547da; }
.c365-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.c365-summary-card { min-height: 9rem; padding: 1.25rem; display: flex; flex-direction: column; gap: .45rem; }
.c365-summary-card > span, .c365-summary-card small { color: var(--c365-text-muted, #aaa4c4); }
.c365-summary-card > strong { font-size: 1.6rem; color: var(--c365-text, #f7f5ff); }
.c365-device-diagnostics { margin-bottom: 1rem; padding: 1.4rem; }
.c365-device-diagnostics > header, .c365-management-grid > header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; }
.c365-device-diagnostics h2, .c365-management-grid > header h2 { margin: 0 0 .25rem; font-size: 1.3rem; }
.c365-device-diagnostics header p, .c365-management-grid > header p { margin: 0; color: var(--c365-text-muted, #aaa4c4); }
.c365-diagnostic-group { border-top: 1px solid var(--c365-border, #2d2759); }
.c365-diagnostic-group summary { min-height: 4.5rem; padding: 1rem 0; display: flex; justify-content: space-between; gap: 1rem; align-items: center; cursor: pointer; }
.c365-diagnostic-group summary span:first-child { display: flex; flex-direction: column; }
.c365-diagnostic-group summary small { color: var(--c365-text-muted, #aaa4c4); }
.c365-diagnostic-group__body { padding: 0 0 1.25rem; }
.c365-diagnostic-group__body dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.c365-diagnostic-group__body dl > div { padding: .8rem; border: 1px solid var(--c365-border, #2d2759); border-radius: .8rem; background: rgba(3, 5, 22, .55); }
.c365-diagnostic-group__body dt { color: var(--c365-text-muted, #aaa4c4); font-weight: 500; }
.c365-diagnostic-group__body dd { margin: .2rem 0 0; }
@media (max-width: 1000px) { .c365-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .c365-diagnostic-group__body dl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.c365-detail-heading { display: flex; align-items: start; justify-content: space-between; gap: 1rem; margin: 1rem 0; }
.c365-linked-automations { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.c365-linked-automations li { display: grid; gap: .2rem; }
.c365-linked-automations span { color: #8fc4e3; }
.c365-history-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.c365-history-timeline li { display: grid; grid-template-columns: 10rem minmax(0,1fr) auto; gap: 1rem; align-items: start; padding: .75rem 0; border-bottom: 1px solid rgba(130,166,181,.16); }
.c365-history-timeline time { color: #8fc4e3; font-size: .82rem; }
.c365-history-timeline div { display: grid; gap: .2rem; }
.c365-history-timeline div span { color: #9fc6dc; }
@media (max-width: 900px) { .c365-history-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } .c365-history-advanced__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .c365-secondary-nav { overflow-x: auto; } .c365-secondary-nav a { white-space: nowrap; } .c365-history-summary { grid-template-columns: repeat(2,minmax(0,1fr)); } .c365-history-advanced__grid { grid-template-columns: 1fr; } .c365-history-timeline li { grid-template-columns: 1fr auto; } .c365-history-timeline time { grid-column: 1 / -1; } }

.c365-change-dialog {
    width: min(34rem, calc(100vw - 2rem));
    max-height: calc(100dvh - 2rem);
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--c365-board-border-strong, rgba(133, 111, 232, .46));
    border-radius: var(--c365-board-radius, 13px);
    color: var(--c365-board-text, #f7f5ff);
    background: var(--c365-board-background, #030516);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .66), 0 0 34px rgba(143, 72, 255, .09);
}
.c365-change-dialog::backdrop { background: rgba(1,2,13,.78); backdrop-filter: blur(5px); }
.c365-change-dialog__surface { display:flex; flex-direction:column; max-height:calc(100dvh - 2rem); background:radial-gradient(circle at 86% 0, rgba(143,72,255,.14), transparent 24rem), linear-gradient(155deg, rgba(15,13,47,.99), rgba(3,5,22,.995) 74%); }
.c365-change-dialog header, .c365-change-dialog footer { display:flex; align-items:center; justify-content:space-between; gap:.7rem; padding:.9rem 1rem; border-bottom:1px solid var(--c365-board-border, rgba(124,103,211,.28)); background:rgba(3,5,22,.76); }
.c365-change-dialog header > span { color:var(--c365-board-accent-primary,#34f3f2); font-size:.64rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.c365-change-dialog header button { display:grid; place-items:center; width:2.5rem; height:2.5rem; margin:-.35rem; border:1px solid transparent; border-radius:var(--c365-board-control-radius,11px); color:var(--c365-board-text-muted,#9e9ab3); background:transparent; }
.c365-change-dialog header button:hover, .c365-change-dialog header button:focus-visible { border-color:var(--c365-board-border-strong,rgba(133,111,232,.46)); color:var(--c365-board-text,#f7f5ff); background:rgba(143,72,255,.12); }
.c365-change-dialog__body { min-height:0; padding:1rem; overflow:auto; overscroll-behavior:contain; }
.c365-change-dialog__body h2 { margin:0 0 .55rem; color:var(--c365-board-text,#f7f5ff); font:700 1.08rem/1.3 Sora,Manrope,sans-serif; }
.c365-change-dialog__body p, .c365-change-dialog__body dd { color:var(--c365-board-text-muted,#9e9ab3); }
.c365-change-dialog__warning { margin-top:1rem; padding:.75rem .8rem; border:1px solid rgba(255,185,72,.42); border-radius:var(--c365-board-control-radius,11px); background:rgba(255,185,72,.08); }
.c365-change-dialog__warning strong { color:#ffd28a; font-size:.72rem; letter-spacing:.05em; text-transform:uppercase; }
.c365-change-dialog__warning p { margin:.25rem 0 0; color:#f1d9b1; }
.c365-change-dialog__result { margin:1rem 0 0; color:var(--c365-board-accent-primary,#34f3f2); }
.c365-change-dialog__result.is-error { color:#ff9bb3; }
.c365-change-dialog__body dl { display:grid; gap:.55rem; margin:1rem 0 0; }
.c365-change-dialog__body dl div { padding:.7rem; border:1px solid var(--c365-board-border,rgba(124,103,211,.28)); border-radius:var(--c365-board-control-radius,11px); background:rgba(3,5,22,.48); }
.c365-change-dialog__body dt { color:#d8d3e8; font-size:.72rem; }
.c365-change-dialog__body dd { margin:.2rem 0 0; font-size:.78rem; }
.c365-change-dialog footer { justify-content:flex-end; border-top:1px solid var(--c365-board-border,rgba(124,103,211,.28)); border-bottom:0; }
.c365-change-dialog footer .btn { min-height:42px; border-radius:var(--c365-board-control-radius,11px); font-size:.82rem; font-weight:700; }
.c365-change-dialog__verification { display:grid; gap:.4rem; margin-top:1rem; padding:.75rem; border:1px solid rgba(52,243,242,.28); border-radius:var(--c365-board-control-radius,11px); background:rgba(52,243,242,.055); }
.c365-change-dialog__verification label { color:#d8d3e8; font-size:.78rem; font-weight:700; }
.c365-change-dialog__verification small { color:var(--c365-board-text-muted,#9e9ab3); }

.account-audit-page { display:grid; gap:1rem; }
.account-audit-details { padding:1rem; border:1px solid rgba(108,153,176,.2); border-radius:10px; background:rgba(7,19,27,.45); }
.account-audit-details h2, .account-audit-details h3 { margin:0; color:#eaf6fa; }
.account-audit-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr)); gap:.65rem; align-items:end; }
.account-audit-filters label { display:grid; gap:.3rem; color:#9eb4bf; font-size:.72rem; font-weight:700; }
.account-audit-filters input, .account-audit-filters select { min-width:0; padding:.55rem .6rem; border:1px solid rgba(108,153,176,.28); border-radius:7px; color:#eaf6fa; background:#091923; }
.account-audit-filters__search { grid-column:span 2; }
.account-audit-table td strong { display:block; }
.account-audit-table td small { display:block; margin-top:.2rem; color:#85a3b1; }
.account-audit-pagination { display:flex; flex-wrap:wrap; gap:.35rem; justify-content:flex-end; }
.account-audit-pagination a { min-width:2rem; padding:.35rem .55rem; border:1px solid rgba(108,153,176,.25); border-radius:6px; text-align:center; color:#9fdcf0; }
.account-audit-pagination a.active { border-color:#58d8f2; color:#07131b; background:#58d8f2; }
.account-audit-details__head { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.account-audit-details__head span { color:#58d8f2; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.account-audit-details dl { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; margin:1rem 0; }
.account-audit-details dl div { padding:.65rem; border:1px solid rgba(108,153,176,.14); border-radius:7px; }
.account-audit-details dt { color:#85a3b1; font-size:.7rem; text-transform:uppercase; }
.account-audit-details dd { margin:.25rem 0 0; overflow-wrap:anywhere; color:#eaf6fa; }
.account-audit-failure { padding:.7rem; border-left:3px solid #ff6f73; color:#ffd0d3; background:rgba(255,111,115,.08); }
@media (max-width:1100px) { .account-audit-details dl { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .account-audit-filters { grid-template-columns:1fr 1fr; } .account-audit-filters__search { grid-column:1 / -1; } .account-audit-details dl { grid-template-columns:1fr; } }
.c365-screen-feedback { position:fixed; z-index:var(--c365-layer-feedback); right:1rem; bottom:1rem; max-width:min(420px,calc(100vw - 2rem)); padding:.8rem 1rem; border:1px solid var(--c365-board-border-strong,rgba(133,111,232,.46)); border-radius:var(--c365-board-control-radius,11px); color:var(--c365-board-text,#f7f5ff); background:radial-gradient(circle at 90% 0,rgba(143,72,255,.14),transparent 14rem),var(--c365-board-background,#030516); box-shadow:0 18px 52px rgba(0,0,0,.5),0 0 22px rgba(52,243,242,.06); opacity:0; pointer-events:none; transform:translateY(8px); transition:.18s ease; }
.c365-screen-feedback.is-visible { opacity:1; pointer-events:auto; transform:none; }
.c365-screen-feedback--success { border-color:rgba(82,214,164,.44); }
.c365-screen-feedback--error { border-color:rgba(255,102,138,.56); color:#ffb4c5; }
.c365-is-loading [data-c365-live-region] { opacity:.58; pointer-events:none; transition:opacity .15s; }

@media (max-width: 640px) {
    .c365-screen-header { align-items:stretch; flex-direction:column; }
    .c365-screen-header .standard-page-header__actions, .c365-primary-action { width:100%; }
}

.c365-management-table td a {
    color: #eef6fa;
    text-decoration: none;
}

.c365-management-table td a:hover {
    color: #22d3ee;
}

.c365-management-table .dv-status {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
}

.c365-row-menu {
    position: relative;
    display: inline-block;
    overflow: visible;
}

.c365-row-menu summary {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 7px;
    color: #d6e2e8;
    cursor: pointer;
    font-size: 1.35rem;
    line-height: 1;
    list-style: none;
}

.c365-row-menu summary::-webkit-details-marker { display: none; }
.c365-row-menu summary:hover { background: rgba(255, 255, 255, 0.06); }

.c365-row-menu__items {
    position: fixed;
    z-index: var(--c365-layer-overflow-menu);
    top: 0;
    right: auto;
    display: grid;
    min-width: 148px;
    padding: 0.35rem;
    border: 1px solid rgba(108, 153, 176, 0.26);
    border-radius: 9px;
    background: #0b1821;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.38);
}

.c365-row-menu__items a {
    padding: 0.5rem 0.65rem;
    border-radius: 6px;
    text-align: left;
}

.c365-row-menu__items a:hover { background: rgba(255, 255, 255, 0.055); }
.c365-row-menu__items a.is-danger { color: #ff7a7a; }

.c365-management-table__empty td {
    height: 84px;
    color: #91a5b0;
    text-align: center;
}

.c365-management-pagination {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 58px;
    color: #9aa7b2;
    font-size: 0.78rem;
}

.c365-management-pagination > span { margin-right: auto; }
.c365-management-pagination__size { display: flex; align-items: center; gap: 0.45rem; }

.c365-management-pagination select,
.c365-management-pagination__buttons a,
.c365-management-pagination__buttons span {
    height: 34px;
    border: 1px solid rgba(108, 153, 176, 0.24);
    border-radius: 7px;
    color: #dfe9ee;
    background: #0b1821;
}

.c365-management-pagination select { padding: 0 1.65rem 0 0.65rem; }
.c365-management-pagination__buttons { display: flex; gap: 0.4rem; }
.c365-management-pagination__buttons a,
.c365-management-pagination__buttons span { display: grid; place-items: center; width: 34px; text-decoration: none; }
.c365-management-pagination__buttons span { border-color: #18bfff; color: #18bfff; }
.c365-management-pagination__buttons .is-disabled { opacity: 0.35; pointer-events: none; }
[data-c365-partial-link][aria-disabled="true"] { opacity: .45; pointer-events: none; }

.c365-workspace .board-shell,
.c365-workspace .board-shell .board-header.body-content-header {
    margin-top: 0;
}

.c365-workspace .app-page-shell > .page-hero:first-child {
    padding-top: 0;
}

.c365-main--notice {
    padding-top: 0.75rem !important;
    padding-bottom: 0 !important;
}

/* Account management uses the same horizontal tab treatment as Compute. */
.manage-shell {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
}

.manage-tabs,
.manage-content {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}

.manage-tabs {
    contain: inline-size;
}

.c365-account-settings-tabs {
    margin-bottom: .9rem;
}

.manage-tabs,
.manage-content {
    overflow-x: hidden;
}

.manage-content > .row {
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.manage-nav {
    display: flex;
    flex-direction: row;
    min-width: 0;
    gap: 0.35rem;
    margin: 0;
    padding: 0.35rem;
    overflow-x: auto;
    overflow-y: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(75, 154, 190, 0.25);
    border-radius: 10px;
    background: #081923;
    list-style: none;
    scrollbar-width: thin;
}

.manage-nav .nav-item {
    flex: 0 0 auto;
}

.manage-nav .nav-link {
    padding: 0.62rem 0.8rem;
    border: 0;
    border-radius: 7px;
    color: #9bbfd2;
    background: transparent;
    font-size: 0.83rem;
    font-weight: 700;
    white-space: nowrap;
}

.manage-nav .nav-link:hover,
.manage-nav .nav-link.active {
    color: #eafaff;
    background: rgba(0, 178, 220, 0.14);
    box-shadow: inset 0 0 0 1px rgba(55, 205, 236, 0.25);
}

.c365-sidebar .c365-nav-panel {
    display: flex;
    flex: 1 1 auto;
    align-items: stretch;
    justify-content: flex-start;
}

.c365-sidebar .c365-nav__list {
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.12rem;
}

.c365-sidebar .c365-nav__item {
    display: block;
}

.c365-sidebar .c365-nav__item:last-child {
    margin-top: auto;
    padding-top: 0.7rem;
}

.c365-sidebar .c365-nav__link {
    width: 100%;
    min-height: 38px;
    justify-content: flex-start;
    padding: 0.48rem 0.62rem;
    color: #b8c7d0;
    border-radius: 8px;
    font-size: var(--c365-navigation-font-size);
}

.c365-sidebar .c365-nav__link:hover,
.c365-sidebar a.c365-nav__link:hover {
    color: #eef8fc;
    background: rgba(185, 214, 226, 0.06);
}

.c365-sidebar .c365-nav__link.active {
    color: #f3fbff;
    font-weight: 600;
    text-decoration: none;
    background: rgba(185, 214, 226, 0.09);
}

@media (min-width: 1280px) {
    .c365-app-layout .c365-ai-panel {
        position: sticky;
        inset: 0 auto auto;
        z-index: 1;
        width: auto;
        height: 100dvh;
        transform: none;
        padding: 1rem 0.85rem 0.85rem;
        border-left: 1px solid rgba(108, 153, 176, 0.12);
        background: var(--c365-shell-background);
        box-shadow: none;
        visibility: visible;
        pointer-events: auto;
    }

    .c365-app-layout .c365-ai-backdrop,
    .c365-workspace-bar {
        display: none;
    }

    .c365-app-layout .c365-ai-header {
        min-height: 48px;
        padding-top: 0;
    }

    .c365-app-layout.c365-ai-docked-collapsed {
        grid-template-columns: minmax(0, 1fr) 0;
    }

    .c365-app-layout.c365-ai-docked-collapsed .c365-ai-panel {
        display: none;
    }

    .c365-app-layout.c365-ai-docked-collapsed .c365-workspace-bar {
        position: fixed;
        z-index: 1025;
        top: 0.8rem;
        right: 0.8rem;
        display: block;
        min-height: 0;
        padding: 0;
        background: transparent;
    }

    .c365-app-layout.c365-ai-docked-collapsed .c365-workspace-bar > :not(.c365-ai-toggle) {
        display: none;
    }

    .c365-app-layout.c365-ai-docked-collapsed .c365-ai-toggle {
        display: inline-flex;
        border: 1px solid rgba(108, 153, 176, 0.24);
        background: #0b1821;
    }

    .c365-app-layout:not(.c365-ai-docked-collapsed) .c365-ai-launcher {
        display: none !important;
    }
}

.c365-ai-nudge {
    position: fixed;
    z-index: var(--c365-layer-feedback, 1200);
    right: 1rem;
    bottom: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem 1rem;
    width: min(34rem, calc(100vw - 2rem));
    padding: 1rem;
    border: 1px solid rgba(103, 78, 205, .58);
    border-radius: 14px;
    color: #edf5ff;
    background: linear-gradient(145deg, rgba(18, 16, 61, .98), rgba(5, 12, 27, .99));
    box-shadow: 0 18px 48px rgba(0, 0, 0, .42), 0 0 24px rgba(82, 58, 190, .16);
}

.c365-ai-nudge[hidden] { display: none !important; }
.c365-ai-nudge p { margin: .25rem 0 0; color: #aeb8cf; }
.c365-ai-nudge__close { position: absolute; top: .35rem; right: .45rem; border: 0; color: #c6c8db; background: transparent; font-size: 1.35rem; }
.c365-ai-nudge__actions { display: flex; align-items: center; gap: .45rem; padding-right: 1.25rem; }
.c365-ai-nudge__actions .board-display-toggle { width: auto; min-width: 0; padding-inline: .8rem; white-space: nowrap; }
.c365-ai-nudge__primary { color: #06121a; border-color: #50d7ef; background: #50cce2; }

@media (min-width: 1280px) {
    .c365-app-layout .c365-ai-panel {
        position: fixed;
        z-index: calc(var(--c365-layer-header, 1100) + 1);
        top: 0;
        right: 0;
        width: min(390px, 100vw);
        height: 100dvh;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(102%);
        transition: transform .2s ease, visibility .2s ease;
    }
    .c365-app-layout .c365-ai-panel.is-open {
        display: flex;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }
    .c365-app-layout .c365-ai-panel:not(.is-open) {
        display: none;
    }
    .c365-app-layout.c365-ai-docked-collapsed { grid-template-columns: minmax(0, 1fr); }
    .c365-app-layout.c365-ai-docked-collapsed .c365-ai-panel.is-open { display: flex; }
    .c365-app-layout .c365-ai-backdrop { display: none; }
}

@media (min-width: 901px) {
    .c365-sidebar .c365-nav-panel.collapse:not(.show) {
        display: flex;
    }
}

@media (max-width: 1279.98px) {
    .c365-app-layout {
        grid-template-columns: 216px minmax(0, 1fr);
    }

    .c365-workspace-bar {
        position: sticky;
        top: 0;
        z-index: 1025;
        min-height: 56px;
        padding: 0.55rem var(--c365-shell-gutter);
        display: flex;
        align-items: center;
        justify-content: flex-end;
        background: rgba(7, 19, 27, 0.94);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .c365-workspace-bar .c365-ai-toggle {
        display: inline-flex;
    }

    .c365-app-layout .c365-ai-panel {
        top: 0;
        width: min(420px, 100vw);
        height: 100dvh;
        background: var(--c365-shell-background);
    }

    .c365-app-layout .c365-ai-panel:not(.is-open) {
        display: none;
    }

    .c365-app-layout .c365-ai-panel.is-open {
        display: flex;
    }
}

@media (max-width: 900px) {
    .c365-app-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .c365-sidebar {
        position: static;
        height: 0;
        width: 0;
        padding: 0;
        border: 0;
    }

    .c365-sidebar__brand {
        display: none;
    }

    .c365-sidebar .c365-nav-panel {
        position: fixed;
        z-index: 1035;
        top: 56px;
        bottom: 0;
        left: 0;
        width: min(280px, calc(100vw - 3rem));
        padding: 0.7rem 0.75rem 0.8rem;
        background: var(--c365-shell-background);
        box-shadow: 18px 0 38px rgba(0, 0, 0, 0.36);
    }

    .c365-sidebar .c365-nav-panel.collapse:not(.show) {
        display: none;
        visibility: hidden;
        pointer-events: none;
    }

    .c365-sidebar .c365-nav-panel.show,
    .c365-sidebar .c365-nav-panel.collapsing {
        display: flex;
        visibility: visible;
        pointer-events: auto;
    }

    .c365-workspace-bar {
        justify-content: space-between;
    }

    .c365-workspace-bar .c365-nav-toggle {
        display: inline-flex;
        border-color: transparent;
    }

    .c365-workspace-bar__brand {
        display: inline-flex;
        text-decoration: none;
    }
}

@media (max-width: 480px) {
    .c365-workspace .c365-main {
        padding-inline: 16px;
        padding-top: 0.85rem;
    }

    .c365-app-layout .c365-ai-panel {
        width: 100vw;
    }
}

@media (max-width: 760px) {
    .c365-management-table__description { display: none; }
    .c365-management-table { min-width: 600px; }
    .c365-management-pagination { flex-wrap: wrap; }
}
.c365-form-field { display: grid; gap: var(--c365-space-2); }

.c365-page-secondary-actions {
  display: flex;
  justify-content: flex-end;
  margin: calc(var(--c365-space-4) * -1) 0 var(--c365-space-4);
}

.c365-import-surface {
  max-width: 46rem;
  padding: var(--c365-space-5);
}

.c365-stacked-form {
  display: grid;
  gap: var(--c365-space-5);
  margin-top: var(--c365-space-5);
}

.c365-import-return-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  margin: 0 0 var(--c365-space-3);
  color: var(--c365-cyan, #49c8dc);
  font-size: var(--c365-nav-font-size);
  text-decoration: none;
}

.c365-import-return-link:hover { text-decoration: underline; }
.c365-import-return-link:focus-visible { outline: 2px solid var(--c365-focus, #49c8dc); outline-offset: 3px; border-radius: .2rem; }

.c365-stacked-form input[type="text"],
.c365-stacked-form input:not([type]) {
  width: 100%;
}
.c365-form-actions { display: flex; justify-content: flex-end; gap: var(--c365-space-2); margin-top: var(--c365-space-5); }
.c365-source-category-option { cursor: pointer; transition: border-color 120ms ease, background-color 120ms ease; }
.btn-check:checked + .c365-source-category-option { border-color: var(--c365-brand); background: var(--c365-brand-dim); }
.btn-check:focus-visible + .c365-source-category-option { outline: 2px solid var(--c365-brand); outline-offset: 2px; }
.btn-check:disabled + .c365-source-category-option { cursor: not-allowed; opacity: 0.55; }
.c365-data-browser__filters {
  display: grid;
  grid-template-columns: minmax(13rem, 1fr) minmax(13rem, 1fr) minmax(10rem, .55fr) auto;
  align-items: end;
  gap: .75rem;
}
.c365-data-browser__filter-field { display: grid; min-width: 0; gap: .35rem; }
.c365-data-browser__filter-field label { color: var(--c365-text-muted); font-size: .74rem; font-weight: 700; letter-spacing: .035em; }
.c365-data-browser__filter-field :is(input, select) { width: 100%; min-width: 0; min-height: 44px; }
.c365-data-browser__filter-actions { display: flex; align-items: center; justify-content: flex-end; gap: .55rem; }
.c365-data-browser__filter-actions .btn { min-height: 44px; white-space: nowrap; }
.c365-data-browser__surface { padding: 0; overflow: hidden; }
.c365-data-browser__viewport { max-width: 100%; overflow: auto; max-height: min(68vh, 56rem); }
.c365-data-browser__table { min-width: max-content; table-layout: auto; margin: 0; }
.c365-data-browser__table thead th { position: sticky; top: 0; z-index: 1; background: var(--c365-surface, #0b1b25); white-space: nowrap; }
.c365-data-browser__table td { min-width: 8rem; max-width: 22rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c365-data-browser__table td.is-null { color: var(--c365-text-muted); opacity: .65; }
.c365-data-browser__table .c365-data-browser__empty-row td {
    min-width: 18rem;
    padding: 1.5rem;
    color: var(--c365-text-muted);
    text-align: center;
    white-space: normal;
}
.c365-data-browser__table .c365-data-browser__actions {
  position: sticky;
  right: 0;
  z-index: 2;
  min-width: 6.5rem;
  background: var(--c365-surface, #0b1b25);
  box-shadow: -1rem 0 1rem -.9rem rgba(0, 0, 0, .72);
}
.c365-data-browser__table thead .c365-data-browser__actions { z-index: 3; }
.tile-series-settings[hidden],
.tile-axis-settings[hidden],
#createTilePopup[data-c365-renderer-type="activitytracker"] .tile-series-settings,
#createTilePopup[data-c365-renderer-type="activitytracker"] .tile-axis-settings {
  display: none !important;
}
.c365-data-browser__row--focused { outline: 2px solid rgba(70, 200, 225, .78); outline-offset: -2px; background: rgba(70, 200, 225, .08); }
@media (max-width: 960px) {
  .c365-data-browser__filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .c365-data-browser__filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .c365-data-browser__filters { grid-template-columns: minmax(0, 1fr); }
  .c365-data-browser__filter-actions { grid-column: auto; justify-content: stretch; }
  .c365-data-browser__filter-actions .btn { flex: 1 1 0; }
}
.c365-api-endpoints {
    display: grid;
    gap: 0.85rem;
}

.c365-api-endpoint {
    display: grid;
    grid-template-columns: minmax(190px, 0.7fr) minmax(0, 1.3fr);
    gap: 1rem;
    align-items: center;
}

.c365-api-endpoint__label {
    display: grid;
    gap: 0.2rem;
}

.c365-api-endpoint__label span,
.c365-api-guidance p {
    color: var(--bs-secondary-color);
    margin: 0;
}

.c365-api-copy,
.c365-api-copy .form-control {
    min-width: 0;
}

.c365-api-copy .form-control {
    overflow: hidden;
    text-overflow: ellipsis;
}

.c365-api-context__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.c365-api-context__grid,
.c365-api-guidance {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.c365-api-context__wide {
    grid-column: 1 / -1;
}

.c365-api-code {
    max-width: 100%;
    margin: 0;
    padding: 1rem;
    border: 1px solid rgba(77, 205, 255, 0.2);
    border-radius: 0.65rem;
    background: #07131b;
    color: #d7f5ff;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    .c365-api-endpoint,
    .c365-api-context__grid,
    .c365-api-guidance {
        grid-template-columns: minmax(0, 1fr);
    }

    .c365-api-context__wide {
        grid-column: auto;
    }

    .c365-api-context__heading {
        align-items: stretch;
        flex-direction: column;
    }

    .c365-api-copy {
        align-items: stretch;
        flex-direction: column;
    }

    .c365-api-copy > .form-control,
    .c365-api-copy > .btn {
        width: 100%;
        border-radius: var(--bs-border-radius) !important;
    }

    .c365-api-copy > .form-control {
        white-space: normal;
        overflow-wrap: anywhere;
    }
}
.c365-nav__identity {
    margin-top: auto;
    padding: 1rem .75rem .25rem;
    border-top: 1px solid rgba(104, 214, 255, .12);
    display: grid;
    gap: .2rem;
}

.c365-nav__identity-name { color: #f2f8fb; font-weight: 650; font-size: .9rem; }
.c365-nav__identity-account { color: rgba(210, 229, 238, .65); font-size: .78rem; }

/* Logic365 top-navigation shell and shared visual foundation. */
.c365-topbar .c365-nav__identity { display: block; margin: 0; padding: 0; border: 0; justify-self: end; }
.c365-topbar .c365-nav__identity-name { color: #eaf6fa; font-size: .74rem; font-weight: 700; }
.c365-topbar .c365-nav__identity-account { color: #7893a0; font-size: .65rem; }
.c365-app--authenticated :is(.app-surface, .c365-management-grid, .c365-form-surface, .c365-change-dialog__panel, .modal-content) {
    border-color: var(--c365-color-border-subtle);
    background: linear-gradient(145deg, color-mix(in srgb, var(--c365-color-surface-panel-raised) 78%, transparent), var(--c365-color-surface-panel));
    box-shadow: var(--c365-shadow-surface);
}

.c365-app--authenticated :is(.btn-primary, .c365-primary-action) {
    border-color: rgba(72, 208, 226, .72);
    color: #021217;
    background: linear-gradient(135deg, #69dbea, #32bad1 72%, #26a7c0);
    box-shadow: 0 8px 24px rgba(33, 184, 216, .16), inset 0 1px rgba(255, 255, 255, .28);
    font-weight: 750;
}
.c365-app--authenticated :is(.btn-primary, .c365-primary-action):hover {
    border-color: #8de8f2;
    color: #010b0f;
    background: linear-gradient(135deg, #83e5f0, #42c7dc 72%, #2db0c8);
    box-shadow: 0 10px 30px rgba(33, 184, 216, .24), inset 0 1px rgba(255, 255, 255, .34);
}
.c365-app--authenticated :is(.btn-secondary, .btn-outline-secondary, .btn-outline-light) {
    min-height: var(--c365-control-height-sm);
    border-color: var(--c365-color-border-default);
    color: var(--c365-color-text-secondary);
    background: var(--c365-color-surface-nested);
    box-shadow: none;
}
.c365-app--authenticated :is(.btn-secondary, .btn-outline-secondary, .btn-outline-light):hover {
    border-color: var(--c365-color-border-strong);
    color: var(--c365-color-text-primary);
    background: var(--c365-color-surface-hover);
}
.c365-app--authenticated :is(.btn, button):disabled,
.c365-app--authenticated :is(.btn, button).disabled {
    border-color: var(--c365-color-border-subtle) !important;
    color: var(--c365-color-text-disabled) !important;
    background: var(--c365-color-surface-disabled) !important;
    box-shadow: none !important;
    opacity: 1;
}
.c365-app--authenticated :is(.btn, button, a, input, select, textarea):focus-visible {
    outline: 2px solid var(--c365-color-border-focus);
    outline-offset: 2px;
}

/* Framework adapters ensure Bootstrap and native controls participate in the
   Logic365 Design System instead of introducing a second visual language. */
.c365-app--authenticated :is(.dropdown-menu, .popover) {
    border: 1px solid var(--c365-color-border-default);
    border-radius: var(--c365-radius-md);
    color: var(--c365-color-text-primary);
    background: var(--c365-color-surface-elevated);
    box-shadow: var(--c365-shadow-elevated);
}
.c365-app--authenticated :is(.dropdown-item, .page-link) { color: var(--c365-color-text-secondary); }
.c365-app--authenticated :is(.dropdown-item, .page-link):hover,
.c365-app--authenticated :is(.dropdown-item, .page-link):focus {
    color: var(--c365-color-text-primary);
    background: var(--c365-color-surface-hover);
}
.c365-app--authenticated :is(.dropdown-item.active, .dropdown-item:active, .page-item.active .page-link) {
    border-color: var(--c365-color-accent-purple);
    color: var(--c365-color-text-primary);
    background: var(--c365-color-surface-selected);
}
.c365-app--authenticated .dropdown-divider { border-color: var(--c365-color-divider); }
.c365-app--authenticated :is(.nav-tabs, .pagination) { border-color: var(--c365-color-divider); }
.c365-app--authenticated .nav-tabs .nav-link { border-color: transparent; color: var(--c365-color-text-muted); }
.c365-app--authenticated .nav-tabs .nav-link:hover { border-color: transparent; color: var(--c365-color-text-primary); background: var(--c365-color-surface-hover); }
.c365-app--authenticated .nav-tabs .nav-link.active {
    border-color: var(--c365-color-border-default);
    color: var(--c365-color-text-primary);
    background: var(--c365-color-surface-selected);
}
.c365-app--authenticated :is(.table, .table > :not(caption) > * > *) {
    border-color: var(--c365-color-divider);
    color: var(--c365-color-text-secondary);
    background-color: transparent;
}
.c365-app--authenticated .table thead { color: var(--c365-color-text-muted); background: var(--c365-color-surface-nested); }
.c365-app--authenticated .table-hover > tbody > tr:hover > * { color: var(--c365-color-text-primary); background: var(--c365-color-surface-hover); }
.c365-app--authenticated :is(.form-check-input, input[type="checkbox"], input[type="radio"]) { accent-color: var(--c365-color-accent-blue); }
.c365-app--authenticated .form-check-input { border-color: var(--c365-color-border-default); background-color: var(--c365-color-surface-nested); }
.c365-app--authenticated .form-check-input:checked { border-color: var(--c365-color-accent-blue); background-color: var(--c365-color-accent-blue); }
.c365-app--authenticated .progress { border-radius: var(--c365-radius-pill); background: var(--c365-color-surface-nested); }
.c365-app--authenticated .progress-bar { background: linear-gradient(90deg, var(--c365-color-accent-blue), var(--c365-color-accent-primary)); }
.c365-app--authenticated .tooltip-inner {
    border: 1px solid var(--c365-color-border-default);
    border-radius: var(--c365-radius-sm);
    color: var(--c365-color-text-primary);
    background: var(--c365-color-surface-elevated);
    box-shadow: var(--c365-shadow-card);
}
.c365-app--authenticated :is(.alert, .validation-summary-errors) {
    border: 1px solid var(--c365-color-border-default);
    border-radius: var(--c365-radius-md);
    color: var(--c365-color-text-secondary);
    background: var(--c365-color-state-surface);
}
.c365-app--authenticated :is(.alert-success) { border-color: rgba(var(--c365-color-success-rgb), .42); color: var(--c365-color-success); }
.c365-app--authenticated :is(.alert-warning) { border-color: rgba(var(--c365-color-warning-rgb), .42); color: var(--c365-color-warning); }
.c365-app--authenticated :is(.alert-danger, .validation-summary-errors) { border-color: rgba(var(--c365-color-danger-rgb), .42); color: var(--c365-color-danger); }
.c365-app--authenticated :is(.alert-info) { border-color: rgba(var(--c365-color-info-rgb), .42); color: var(--c365-color-info); }

.c365-management-grid { border: 1px solid var(--c365-border-subtle); border-radius: 12px; }
.c365-management-table thead { background: var(--c365-color-surface-nested); }
.c365-management-table tbody tr { transition: background var(--c365-transition-fast); }
.c365-management-table tbody tr:hover { background: var(--c365-color-surface-hover); }
.c365-management-table th { color: var(--c365-color-text-muted); letter-spacing: .075em; }

@media (min-width: 1280px) {
    .c365-topbar.c365-workspace-bar {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
    }
    .c365-topbar .c365-header-account { grid-column: 3; }
    .c365-topbar .c365-nav-panel.collapse:not(.show) { display: flex; }
    .c365-app-layout .c365-ai-panel {
        grid-column: 2;
        grid-row: 2;
        top: var(--c365-header-height);
        height: calc(100dvh - var(--c365-header-height));
        border-left-color: var(--c365-border-subtle);
        background: linear-gradient(155deg, rgba(8, 24, 32, .97), rgba(3, 12, 17, .99));
    }
    .c365-app-layout.c365-ai-docked-collapsed { grid-template-columns: minmax(0, 1fr) 0; }
    .c365-app-layout.c365-ai-docked-collapsed .c365-topbar.c365-workspace-bar {
        position: sticky;
        top: 0;
        right: auto;
        bottom: auto;
        display: grid;
        min-height: var(--c365-header-height);
        padding: 0 clamp(1rem, 2vw, 2rem);
        background: linear-gradient(110deg, var(--c365-color-bg-header), var(--c365-color-bg-page));
    }
    .c365-app-layout.c365-ai-docked-collapsed .c365-topbar.c365-workspace-bar > :not(.c365-ai-toggle) { display: initial; }
    .c365-app-layout.c365-ai-docked-collapsed .c365-topbar .c365-nav-panel { display: flex; }
    .c365-app-layout.c365-ai-docked-collapsed .c365-topbar .c365-nav__list { display: flex; }
    .c365-app-layout.c365-ai-docked-collapsed .c365-topbar .c365-ai-toggle { display: inline-flex; }
}

@media (min-width: 1101px) and (max-width: 1279.98px) {
    .c365-app-layout { grid-template-columns: minmax(0, 1fr); }
    .c365-topbar.c365-workspace-bar { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; }
    .c365-topbar .c365-nav-panel.collapse:not(.show) { display: flex; }
    .c365-workspace { grid-column: 1; }
    .c365-app-layout .c365-ai-panel { top: var(--c365-header-height); height: calc(100dvh - var(--c365-header-height)); }
    .c365-nav__identity-copy { display: none; }
    .c365-nav__identity-button { grid-template-columns: 42px; padding-right: .32rem; }
    .c365-nav__identity-exit { display: none; }
}

@media (max-width: 1100px) {
    .c365-app-layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: 58px minmax(0, 1fr); }
    .c365-topbar.c365-workspace-bar {
        position: fixed;
        inset: 0 0 auto;
        z-index: var(--c365-header-z);
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr) auto;
        height: 58px;
        min-height: 58px;
        padding: 0 1rem;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    .c365-topbar__brand { grid-column: 1; }
    .c365-topbar .c365-nav-toggle { grid-column: 2; display: inline-flex; }
    .c365-topbar .c365-nav-panel {
        position: fixed;
        z-index: var(--c365-layer-mobile-navigation);
        top: calc(58px + .45rem);
        right: max(1rem, env(safe-area-inset-right, 0px));
        bottom: auto;
        left: auto;
        width: min(19rem, calc(100vw - 1.5rem));
        height: calc(100dvh - 70px);
        max-height: calc(100dvh - 70px);
        padding: .45rem;
        overflow: hidden;
        border: 1px solid var(--c365-border);
        border-radius: var(--c365-radius-md);
        background: rgba(6, 18, 25, .98);
        box-shadow: var(--c365-shadow-lg), var(--c365-glow-cyan);
        backdrop-filter: blur(18px);
    }
    .c365-topbar .c365-nav-panel.collapse:not(.show) { display: none !important; }
    .c365-topbar .c365-nav-panel.show,
    .c365-topbar .c365-nav-panel.collapsing {
        display: flex !important;
        flex-direction: column;
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
    }
    .c365-topbar .c365-nav__list { display: grid; flex: 1 1 auto; align-content: start; align-items: stretch; gap: .2rem; overflow-y: auto; }
    .c365-topbar .c365-nav__item { display: block; }
    .c365-topbar .c365-nav__link,
    .c365-topbar .c365-nav__group { width: 100%; justify-content: space-between; min-height: 44px; padding-inline: .8rem; }
    .c365-topbar .c365-nav-menu { position: static !important; width: 100%; margin: .25rem 0 .45rem !important; transform: none !important; box-shadow: none; }
    .c365-topbar .c365-nav__footer { flex: 0 0 auto; margin-top: auto; padding: .7rem .25rem .2rem; border-top: 1px solid var(--c365-border-subtle); }
    .c365-topbar .c365-header-account { width: 100%; margin: 0; padding: 0; border: 0; }
    .c365-topbar .c365-header-account .c365-nav__identity-button { width: 100%; grid-template-columns: 42px minmax(0, 1fr) 18px; border: 0; border-radius: var(--c365-radius-sm); background: transparent; }
    .c365-topbar .c365-header-account .c365-nav__identity-copy { display: grid; }
    .c365-topbar .c365-header-account .c365-nav__identity-exit { display: block; }
    .c365-topbar .c365-header-account .c365-logout-confirmation { right: 0; bottom: calc(100% + .55rem); top: auto; }
    .c365-nav__system { margin-left: 0; }
    .c365-nav__icon-button { width: 100%; border-radius: 7px; justify-content: start; padding-inline: .8rem; }
    .c365-nav__icon-button::after { content: "System"; margin-left: .65rem; font-size: .84rem; letter-spacing: 0; }
    .c365-workspace { grid-row: 2; }
    .c365-app-layout .c365-ai-panel {
        top: 58px;
        height: calc(100dvh - 58px);
        background: var(--c365-workspace-background);
    }
}

@media (max-width: 520px) {
    .c365-topbar.c365-workspace-bar { grid-template-columns: minmax(0, 1fr) auto; gap: .45rem; }
    .c365-topbar__brand { grid-column: 1; }
    .c365-topbar .c365-nav-toggle { grid-column: 2; }
    .c365-topbar .c365-nav-panel { right: max(.75rem, env(safe-area-inset-right, 0px)); width: min(19rem, calc(100vw - 1.5rem)); }
}

@media (min-width: 1101px) {
    .c365-topbar.c365-workspace-bar .c365-nav-toggle,
    .c365-app-layout.c365-ai-docked-collapsed .c365-topbar.c365-workspace-bar .c365-nav-toggle {
        display: none !important;
    }

    .c365-ai-launcher {
        position: fixed;
        z-index: var(--c365-layer-ai-launcher);
        right: max(1rem, env(safe-area-inset-right, 0px));
        bottom: max(1rem, env(safe-area-inset-bottom, 0px));
        display: inline-flex;
        width: auto;
        min-width: 132px;
        height: 46px;
        padding: 0 1rem;
        border: 1px solid rgba(0, 199, 232, .62);
        border-radius: 999px;
        background: linear-gradient(145deg, rgba(3, 34, 46, .98), rgba(2, 17, 24, .98));
        box-shadow: inset 0 0 22px rgba(0, 199, 232, .08), 0 12px 34px rgba(0, 0, 0, .52), 0 0 22px rgba(0, 199, 232, .12);
    }

    .c365-ai-launcher:hover,
    .c365-ai-launcher:focus-visible {
        border-color: rgba(0, 216, 248, .9);
        background: linear-gradient(145deg, rgba(4, 45, 59, .99), rgba(2, 21, 29, .99));
        box-shadow: inset 0 0 24px rgba(0, 199, 232, .12), 0 14px 38px rgba(0, 0, 0, .56), 0 0 28px rgba(0, 199, 232, .2);
    }
}

/* Bootstrap's default modal layers stop below the authenticated header.
   An open modal must own the viewport, including the application chrome. */
.c365-app--authenticated .modal-backdrop {
    z-index: var(--c365-layer-modal-backdrop);
}

.c365-app--authenticated .modal {
    z-index: var(--c365-layer-modal);
}

@media (prefers-reduced-motion: reduce) {
    .c365-app--authenticated *,
    .c365-app--authenticated *::before,
    .c365-app--authenticated *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.c365-overflow__submenu {
    position: relative;
}

.c365-overflow__submenu > button {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.c365-overflow__submenu-menu {
    background: var(--c365-surface-elevated, #0d1b27);
    border: 1px solid var(--c365-border, rgba(79, 198, 230, .24));
    border-radius: var(--c365-radius-md, 12px);
    box-shadow: var(--c365-shadow-overlay, 0 18px 50px rgba(0, 0, 0, .45));
    display: none;
    right: calc(100% - 4px);
    min-width: 9rem;
    padding: .35rem;
    position: absolute;
    top: -.35rem;
    z-index: 1;
}

.c365-overflow__submenu:hover > .c365-overflow__submenu-menu,
.c365-overflow__submenu.is-open > .c365-overflow__submenu-menu {
    display: block;
}

.c365-overflow__submenu-menu > button,
.c365-overflow__submenu-menu > a {
    width: 100%;
}

.c365-overflow__submenu-menu > [role="menuitemradio"] {
    display: grid;
    grid-template-columns: 1rem minmax(0, 1fr);
    gap: .42rem;
    align-items: center;
    text-align: left;
}

.c365-overflow__check {
    color: var(--c365-accent-cyan, #28d7e7);
    font-weight: 800;
    text-align: center;
}

/* Final shell contract: Logic365 AI is an on-demand overlay and never consumes
   application grid width. Page and Board actions open it explicitly. */
#askCapture365AIToggle[hidden] { display: none !important; }

.c365-toolbar-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding-inline: 1rem;
    border-radius: 8px;
    white-space: nowrap;
}

.c365-app--authenticated .c365-toolbar-action.c365-toolbar-action--primary {
    color: #eef1fa;
    border: 1px solid rgba(109, 85, 190, .52);
    background: rgba(10, 12, 36, .82);
    box-shadow: none;
    font-weight: 700;
}

.c365-app--authenticated .c365-toolbar-action.c365-toolbar-action--primary:hover,
.c365-app--authenticated .c365-toolbar-action.c365-toolbar-action--primary:focus-visible {
    color: #fff;
    border-color: rgba(72, 208, 226, .78);
    background: rgba(28, 21, 70, .94);
    box-shadow: 0 0 0 3px rgba(72, 208, 226, .1);
}

@media (min-width: 1280px) {
    .c365-app-layout,
    .c365-app-layout.c365-ai-docked-collapsed {
        grid-template-columns: minmax(0, 1fr);
    }

    .c365-app-layout .c365-ai-panel,
    .c365-app-layout.c365-ai-docked-collapsed .c365-ai-panel {
        position: fixed;
        z-index: calc(var(--c365-layer-header, 1100) + 1);
        inset: 0 0 auto auto;
        grid-column: auto;
        grid-row: auto;
        display: flex;
        width: min(390px, 100vw);
        height: 100dvh;
        padding: 1rem .85rem .85rem;
        border-left: 1px solid var(--c365-border-subtle);
        background: linear-gradient(155deg, rgba(8, 24, 32, .98), rgba(3, 12, 17, .995));
        box-shadow: -18px 0 48px rgba(0, 0, 0, .38);
        visibility: hidden;
        pointer-events: none;
        transform: translateX(102%);
        transition: transform .2s ease, visibility .2s ease;
    }

    .c365-app-layout .c365-ai-panel.is-open {
        visibility: visible;
        pointer-events: auto;
        transform: translateX(0);
    }

    .c365-app-layout .c365-ai-backdrop { display: none; }
}
/* Standalone App Surface: no Logic365 provider shell is present. */
.c365-app-surface-shell {
    min-height: 100vh;
    background: var(--c365-page-bg, #07131b);
}

.c365-app-surface-shell > .c365-app-header {
    position: sticky;
    top: 0;
    z-index: 1200;
}

.c365-app-surface-shell > .c365-main {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 1.45rem 2rem 2.2rem;
}

/* Runtime screens have three stable visual regions: App Header, Page Header, then content. */
.c365-app-surface-shell [data-c365-region="page-header"] {
    margin-bottom: 1.35rem;
    padding-bottom: 1.15rem;
    border-bottom: 1px solid rgba(73, 113, 153, .34);
}

.c365-app-surface-shell [data-c365-region="page-content"] {
    min-width: 0;
}

.c365-app-surface-shell .c365-app-page-content {
    width: min(100%, 48rem);
    margin: 0 auto;
}

@media (max-width: 767.98px) {
    .c365-app-surface-shell > .c365-main { padding: 1.2rem 1.1rem 1.8rem; }
}

.c365-app-auth {
    min-height: 100vh;
    margin: 0;
    background: radial-gradient(circle at top, #102746, #07131b 65%);
    color: #eef8ff;
}

.c365-app-auth__surface {
    width: min(94vw, 31rem);
    margin: 0 auto;
    padding: clamp(2rem, 8vh, 6rem) 0;
}

.c365-app-auth__brand { display: flex; align-items: center; gap: .8rem; margin-bottom: 1.25rem; }
.c365-app-auth__brand span { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 1rem; background: #1a9f8a; font-weight: 800; }
.c365-auth-card { display: grid; gap: .85rem; padding: 1.6rem; border: 1px solid #284d70; border-radius: 1.25rem; background: rgba(8, 19, 42, .94); box-shadow: 0 22px 60px rgba(0,0,0,.35); }
.c365-auth-card form { display: grid; gap: .65rem; }
.c365-auth-card input:not([type=checkbox]) { width: 100%; padding: .75rem .9rem; border: 1px solid #315678; border-radius: .65rem; background: #070b22; color: #fff; }
.c365-auth-card__check { display: flex; align-items: center; gap: .5rem; }
