/* EZConnect 5.5.0 full-page Internal Otto workspace. */
.ezc-otto-workspace,
.ezc-otto-workspace * { box-sizing: border-box; }

.ezc-otto-workspace {
    --workspace-yellow: var(--ezc-primary, #ffe300);
    --workspace-bg: #0b0d0f;
    --workspace-panel: #111418;
    --workspace-panel-2: #181c21;
    --workspace-panel-3: #20252b;
    --workspace-border: rgba(255,255,255,.10);
    --workspace-muted: #9299a3;
    width: min(1840px, calc(100vw - 24px));
    max-width: none;
    min-height: min(920px, calc(100dvh - 24px));
    margin: 12px auto;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    background: #0b0d0f;
    color: #f7f7f7;
    box-shadow: 0 24px 70px rgba(0,0,0,.26);
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
}

.ezc-workspace-masthead {
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 20px;
    border-bottom: 1px solid var(--workspace-border);
    background:
        radial-gradient(circle at 3% 0%, rgba(255,227,0,.10), transparent 30%),
        linear-gradient(135deg, #14171a 0%, #0b0d0f 72%);
}
.ezc-workspace-brand { display: flex; align-items: center; gap: 13px; min-width: 0; }
.ezc-workspace-mark {
    width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center;
    border-radius: 12px; background: var(--workspace-yellow); color: #111; font-size: 22px;
    box-shadow: 0 8px 22px rgba(255,227,0,.10);
}
.ezc-workspace-eyebrow { display: block; margin-bottom: 1px; color: var(--workspace-yellow); font-size: 8px; font-weight: 900; letter-spacing: .17em; }
.ezc-workspace-brand h1 { margin: 0 !important; color: #fff !important; font-size: 22px !important; line-height: 1.05 !important; letter-spacing: -.02em; }
.ezc-workspace-brand p { margin: 4px 0 0 !important; color: #8e96a0 !important; font-size: 11px !important; line-height: 1.35 !important; }

.ezc-workspace-user { display: flex; align-items: center; justify-content: flex-end; gap: 10px; min-width: 0; }
.ezc-workspace-status, .ezc-workspace-role {
    display: inline-flex; align-items: center; gap: 6px; width: auto; margin: 0;
    border-radius: 999px; padding: 5px 9px; font-size: 9px; font-weight: 850;
}
.ezc-workspace-status { background: rgba(255,227,0,.08); border: 1px solid rgba(255,227,0,.23); color: var(--workspace-yellow); }
.ezc-workspace-status i { width: 6px; height: 6px; border-radius: 50%; background: #77dc8c; box-shadow: 0 0 0 3px rgba(119,220,140,.10); }
.ezc-workspace-role { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); color: #cfd3d8; }
.ezc-workspace-user-copy { min-width: 0; text-align: right; line-height: 1.15; }
.ezc-workspace-user-copy strong, .ezc-workspace-user-copy small { display: block; }
.ezc-workspace-user-copy strong { color: #fff; font-size: 12px; }
.ezc-workspace-user-copy small { margin-top: 3px; color: #858d97; font-size: 10px; }

.ezc-workspace-layout {
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
    height: calc(100dvh - 102px);
    min-height: 680px;
    max-height: none;
}

.ezc-workspace-rail {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 18px 13px 14px;
    overflow-y: auto;
    border-right: 1px solid var(--workspace-border);
    background: #0e1114;
}
.ezc-workspace-rail-section { display: flex; flex-direction: column; gap: 6px; }
.ezc-workspace-rail-label { padding: 0 8px 5px; color: #6f7781; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.ezc-workspace-nav {
    width: 100%; min-width: 0; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 7px;
    min-height: 52px; padding: 8px 9px; border: 1px solid transparent; border-radius: 10px;
    background: transparent; color: #d6d9dd; text-align: left; cursor: pointer; transition: .15s ease;
}
.ezc-workspace-nav:hover { background: rgba(255,255,255,.04); color: #fff; }
.ezc-workspace-nav.is-active { border-color: rgba(255,227,0,.18); background: rgba(255,227,0,.07); color: #fff; }
.ezc-workspace-nav > span:first-child { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: rgba(255,255,255,.05); font-size: 15px; }
.ezc-workspace-nav.is-active > span:first-child { background: var(--workspace-yellow); color: #111; }
.ezc-workspace-nav > span:nth-child(2) { min-width: 0; }
.ezc-workspace-nav strong, .ezc-workspace-nav small { display: block; }
.ezc-workspace-nav strong { color: inherit; font-size: 11px; font-weight: 800; }
.ezc-workspace-nav small { margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #7e8690; font-size: 9px; font-weight: 500; }
.ezc-workspace-nav em { min-width: 20px; padding: 2px 5px; border-radius: 999px; background: var(--workspace-yellow); color: #111; text-align: center; font-style: normal; font-size: 9px; font-weight: 900; }
.ezc-workspace-new-chat {
    min-height: 38px; width: 100%; border: 1px solid rgba(255,227,0,.24); border-radius: 9px;
    background: rgba(255,227,0,.06); color: var(--workspace-yellow); font-size: 11px; font-weight: 850; cursor: pointer;
}
.ezc-workspace-new-chat:hover { background: var(--workspace-yellow); color: #111; }
.ezc-workspace-rail-note {
    margin-top: auto; padding: 10px 11px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(255,255,255,.025);
}
.ezc-workspace-rail-note + .ezc-workspace-rail-note { margin-top: -10px; }
.ezc-workspace-rail-note strong, .ezc-workspace-rail-note span { display: block; }
.ezc-workspace-rail-note strong { color: #dfe3e7; font-size: 10px; }
.ezc-workspace-rail-note span { margin-top: 4px; color: #7f8791; font-size: 9px; line-height: 1.4; }
.ezc-workspace-rail-note.is-muted strong { color: #aeb4bb; }

.ezc-workspace-main { min-width: 0; min-height: 0; display: flex; flex-direction: column; background: #121519; }
.ezc-workspace-pagebar {
    flex: 0 0 54px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding: 0 18px; border-bottom: 1px solid var(--workspace-border); background: #111418;
}
.ezc-workspace-pagebar > div:first-child { min-width: 0; }
#ezc-workspace-section-kicker { display: block; margin-bottom: 1px; color: #6f7781; font-size: 8px; font-weight: 900; letter-spacing: .14em; }
#ezc-workspace-section-title { display: block; color: #f5f6f7; font-size: 14px; }
.ezc-workspace-pagebar-actions { display: flex; align-items: center; gap: 7px; }
.ezc-workspace-pagebar-actions button {
    min-height: 30px; padding: 0 10px; border: 1px solid rgba(255,255,255,.10); border-radius: 8px;
    background: rgba(255,255,255,.04); color: #cbd0d6; font-size: 10px; font-weight: 700; cursor: pointer;
}
.ezc-workspace-pagebar-actions button:hover { border-color: rgba(255,227,0,.26); color: var(--workspace-yellow); }
.ezc-workspace-app { flex: 1 1 auto; min-height: 0; overflow: hidden; }

/* The standalone page reuses the real Otto/EZ Chat app, but strips away the floating-widget chrome. */
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode {
    position: relative !important; inset: auto !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
    width: 100% !important; height: 100% !important; min-height: 0 !important; pointer-events: auto !important; z-index: 20 !important; transform: none !important;
}
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode.ezc-session-dismissed,
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode.ezc-minimized { display: block !important; }
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode > #ezc-trigger-btn,
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode > #ezc-auto-popup,
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode > #ezc-bubble-tools,
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode > #ezc-mini-restore { display: none !important; }
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode #ezc-window {
    display: flex !important; position: relative !important; inset: auto !important; width: 100% !important; max-width: none !important;
    height: 100% !important; min-height: 0 !important; max-height: none !important; border: 0 !important; border-radius: 0 !important;
    background: #121519 !important; box-shadow: none !important; resize: none !important; overflow: hidden !important;
}
.ezc-otto-workspace #ezc-window > .ezc-header,
.ezc-otto-workspace #ezc-window > .ezc-tabs { display: none !important; }
.ezc-otto-workspace #ezc-window .ezc-body { flex: 1 1 auto !important; min-height: 0 !important; height: 100% !important; max-height: none !important; background: #121519 !important; }

.ezc-otto-workspace #ezc-tab-chat {
    height: 100% !important; min-height: 0 !important; display: none; flex-direction: column; padding: 0 !important; overflow: hidden !important; background: #121519;
}
.ezc-otto-workspace #ezc-tab-chat.active { display: flex !important; }

.ezc-workspace-chat-home {
    flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; justify-content: center;
    width: min(920px, calc(100% - 42px)); margin: 0 auto; padding: 28px 0 20px;
}
.ezc-workspace-chat-home[hidden],
.ezc-otto-workspace.has-otto-conversation .ezc-workspace-chat-home,
.ezc-otto-workspace #ezc-widget-container.ezc-archive-open .ezc-workspace-chat-home { display: none !important; }
.ezc-workspace-home-copy { text-align: center; margin: 0 auto 20px; max-width: 700px; }
.ezc-workspace-home-copy > span { color: var(--workspace-yellow); font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.ezc-workspace-home-copy h2 { margin: 7px 0 8px !important; color: #fff !important; font-size: clamp(25px, 3vw, 40px) !important; line-height: 1.08 !important; letter-spacing: -.03em; }
.ezc-workspace-home-copy p { margin: 0 !important; color: #9098a2 !important; font-size: 13px !important; line-height: 1.55 !important; }
.ezc-workspace-home-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ezc-workspace-home-grid button {
    min-height: 96px; display: grid; grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-content: center;
    padding: 14px; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; background: #171b20; color: #fff; text-align: left; cursor: pointer;
    transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.ezc-workspace-home-grid button:hover { transform: translateY(-1px); border-color: rgba(255,227,0,.28); background: #1b2026; }
.ezc-workspace-home-grid button > span { grid-row: 1 / span 2; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,227,0,.08); font-size: 18px; }
.ezc-workspace-home-grid strong { align-self: end; font-size: 12px; }
.ezc-workspace-home-grid small { align-self: start; margin-top: 3px; color: #818994; font-size: 10px; }
.ezc-workspace-paste-callout {
    display: flex; align-items: center; gap: 10px; width: fit-content; max-width: 100%; margin: 14px auto 0; padding: 9px 12px;
    border: 1px dashed rgba(255,227,0,.20); border-radius: 10px; background: rgba(255,227,0,.035);
}
.ezc-workspace-paste-callout > span { font-size: 17px; }
.ezc-workspace-paste-callout strong, .ezc-workspace-paste-callout small { display: block; }
.ezc-workspace-paste-callout strong { color: #dfe3e7; font-size: 10px; }
.ezc-workspace-paste-callout small { margin-top: 2px; color: #868e98; font-size: 9px; }

.ezc-otto-workspace #ezc-chat-box {
    flex: 1 1 auto !important; min-height: 0 !important; width: 100%; max-width: 1120px; margin: 0 auto;
    padding: 24px 28px 18px !important; overflow-y: auto !important; background: transparent !important;
}
.ezc-otto-workspace:not(.has-otto-conversation) #ezc-chat-box { display: none !important; }
.ezc-otto-workspace #ezc-chat-box .ezc-msg { max-width: min(860px, 86%) !important; font-size: 13px; line-height: 1.55; border-radius: 13px; }
.ezc-otto-workspace #ezc-chat-box .ezc-msg.user { margin-left: auto; }
.ezc-otto-workspace #ezc-chat-box .ezc-msg.ai,
.ezc-otto-workspace #ezc-chat-box .ezc-msg.system { margin-right: auto; }

.ezc-otto-workspace #ezc-internal-active-mode {
    flex: 0 0 auto; width: min(1120px, calc(100% - 36px)); margin: 0 auto 6px; min-height: 30px;
    padding: 5px 10px; border-radius: 8px; background: rgba(255,227,0,.035); border-color: rgba(255,227,0,.13);
}
.ezc-otto-workspace .ezc-internal-starters { display: none !important; }
.ezc-workspace-composer-note {
    flex: 0 0 auto; width: min(1120px, calc(100% - 36px)); margin: 0 auto 5px; color: #737b85; font-size: 9px; text-align: right;
}
.ezc-workspace-composer-note kbd { padding: 1px 4px; border: 1px solid #343a41; border-bottom-width: 2px; border-radius: 4px; background: #1c2025; color: #bbc1c7; font: inherit; }
.ezc-otto-workspace #ezc-widget-container.ezc-archive-open .ezc-workspace-composer-note,
.ezc-otto-workspace #ezc-widget-container.ezc-archive-open #ezc-otto-attachment-preview { display: none !important; }

.ezc-otto-workspace #ezc-otto-attachment-preview { flex: 0 0 auto; width: min(1120px, calc(100% - 36px)); margin: 0 auto 5px; }
.ezc-otto-workspace .ezc-input-wrapper {
    flex: 0 0 auto; width: min(1120px, calc(100% - 36px)); min-height: 58px; margin: 0 auto 18px; padding: 7px !important;
    display: flex; align-items: center; gap: 6px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px;
    background: #0d1013 !important; box-shadow: 0 12px 32px rgba(0,0,0,.18);
}
.ezc-otto-workspace #ezc-input { flex: 1 1 auto; min-width: 0; min-height: 42px; border: 0 !important; background: transparent !important; color: #fff !important; font-size: 13px; box-shadow: none !important; }
.ezc-otto-workspace .ezc-otto-attach-button { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 9px; background: #181d22; }
.ezc-otto-workspace #ezc-send { flex: 0 0 auto; min-width: 94px; min-height: 40px; border-radius: 9px; }

/* Archive becomes a first-class page in the standalone workspace. */
.ezc-otto-workspace .ezc-internal-archive-panel { padding: 22px 26px !important; background: #121519 !important; }
.ezc-otto-workspace .ezc-internal-archive-head { width: min(1050px, 100%); margin: 0 auto; padding-bottom: 14px; }
.ezc-otto-workspace .ezc-internal-archive-head strong { font-size: 20px; }
.ezc-otto-workspace .ezc-internal-archive-head small { margin-top: 5px; color: #858d97; font-size: 11px; }
.ezc-otto-workspace .ezc-internal-archive-searchbar,
.ezc-otto-workspace .ezc-internal-archive-summary,
.ezc-otto-workspace .ezc-internal-archive-list { width: min(1050px, 100%); margin-left: auto; margin-right: auto; }
.ezc-otto-workspace .ezc-internal-archive-searchbar { min-height: 48px; border-radius: 12px; padding: 0 13px; background: #0c0f12; }
.ezc-otto-workspace #ezc-internal-archive-search { font-size: 13px; }
.ezc-otto-workspace .ezc-internal-archive-list { gap: 8px; }
.ezc-otto-workspace .ezc-internal-archive-row { min-height: 64px; padding: 11px 13px; border-radius: 11px; background: #171b20; }
.ezc-otto-workspace .ezc-internal-archive-copy strong { font-size: 12px; }
.ezc-otto-workspace .ezc-internal-archive-copy small { font-size: 10px; }

/* EZ Chat is a true app panel here rather than a tab buried in a bubble. */
.ezc-otto-workspace #ezc-tab-ezchat.ezc-panel.active { height: 100% !important; display: block !important; }
.ezc-otto-workspace .ezc-ezchat-shell { height: 100% !important; border: 0 !important; border-radius: 0 !important; }
.ezc-otto-workspace .ezc-ezchat-sidebar { width: 290px; }

/* Manager settings */
.ezc-otto-workspace #ezc-tab-settings {
    display: none;
    height: 100% !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 !important;
    background: #101216;
    color: #f5f5f5;
}

.ezc-otto-workspace #ezc-tab-settings.active { display: block !important; }

.ezc-workspace-settings-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid var(--workspace-border);
    background: linear-gradient(180deg, #171a1f, #111318);
}

.ezc-workspace-settings-head h2 {
    margin: 2px 0 5px !important;
    color: #fff !important;
    font-size: 24px !important;
}

.ezc-workspace-settings-head p {
    margin: 0 !important;
    max-width: 760px;
    color: #9ea4ad !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

.ezc-settings-kicker {
    color: var(--workspace-yellow);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .16em;
}

.ezc-settings-admin-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.ezc-settings-admin-links a {
    border: 1px solid rgba(255,227,0,.26);
    border-radius: 999px;
    padding: 7px 10px;
    background: rgba(255,227,0,.07);
    color: var(--workspace-yellow) !important;
    text-decoration: none !important;
    font-size: 11px;
    font-weight: 800;
}

.ezc-workspace-settings-form {
    padding: 18px 22px 88px;
}

.ezc-settings-card {
    margin: 0 0 16px;
    padding: 18px;
    border: 1px solid var(--workspace-border);
    border-radius: 14px;
    background: #171a1f;
}

.ezc-settings-card-title {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 16px;
}

.ezc-settings-card-title > span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 9px;
    background: var(--workspace-yellow);
    color: #111;
    font-weight: 900;
    font-size: 11px;
}

.ezc-settings-card-title h3 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 16px !important;
}

.ezc-settings-card-title p {
    margin: 3px 0 0 !important;
    color: #8f969f !important;
    font-size: 11px !important;
}

.ezc-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.ezc-setting-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    color: #e6e8eb;
    font-size: 12px;
    font-weight: 700;
}

.ezc-setting-field > span {
    color: #f1f2f3;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .01em;
}

.ezc-setting-field input[type="text"],
.ezc-setting-field input[type="url"],
.ezc-setting-field input[type="number"],
.ezc-setting-field select,
.ezc-setting-field textarea {
    width: 100%;
    min-height: 39px;
    border: 1px solid #3a3f46;
    border-radius: 9px;
    background: #0f1114;
    color: #fff;
    padding: 9px 10px;
    outline: none;
    box-shadow: none;
}

.ezc-setting-field textarea { resize: vertical; line-height: 1.45; }
.ezc-setting-field input:focus,
.ezc-setting-field select:focus,
.ezc-setting-field textarea:focus { border-color: var(--workspace-yellow); box-shadow: 0 0 0 2px rgba(255,227,0,.08); }
.ezc-setting-field small { color: #848b94; font-size: 10px; line-height: 1.4; font-weight: 500; }
.ezc-setting-wide { grid-column: 1 / -1; margin-top: 12px; }

.ezc-setting-toggle {
    min-height: 92px;
    justify-content: center;
    position: relative;
    padding: 12px 54px 12px 13px;
    border: 1px solid #343941;
    border-radius: 10px;
    background: #111419;
}

.ezc-setting-toggle input[type="checkbox"] {
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    accent-color: var(--workspace-yellow);
}

.ezc-setting-danger { margin-bottom: 13px; border-color: rgba(214,54,56,.45); background: rgba(214,54,56,.08); }

.ezc-role-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}
.ezc-role-grid label {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 36px;
    padding: 7px 9px;
    border: 1px solid #343941;
    border-radius: 8px;
    background: #111419;
    color: #dfe2e6;
    font-size: 11px;
    font-weight: 600;
}
.ezc-role-grid input { accent-color: var(--workspace-yellow); }
.ezc-role-grid small { color: #8b9198; }

.ezc-staff-source {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 2px 8px;
    margin: 13px 0;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #343941;
    background: #111419;
    font-size: 11px;
}
.ezc-staff-source strong { grid-row: 1 / span 2; align-self: center; }
.ezc-staff-source small { color: #8d949d; }
.ezc-staff-source.is-connected strong { color: #6ed88a; }
.ezc-staff-source.is-disconnected strong { color: #ff8585; }

.ezc-roster-wrap {
    max-height: 360px;
    overflow: auto;
    border: 1px solid #343941;
    border-radius: 10px;
    background: #101216;
}

.ezc-roster-table {
    width: 100%;
    border-collapse: collapse;
    color: #dfe2e6;
    font-size: 10px;
}
.ezc-roster-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 9px 10px;
    text-align: left;
    background: #20242a;
    color: #fff;
    border-bottom: 1px solid #353a42;
}
.ezc-roster-table td { padding: 9px 10px; border-bottom: 1px solid rgba(255,255,255,.06); vertical-align: top; }
.ezc-roster-table tr:last-child td { border-bottom: 0; }
.ezc-roster-table td small { display: block; margin-top: 2px; color: #858c95; }
.ezc-roster-table input { accent-color: var(--workspace-yellow); }
.ezc-match-ok { color: #6ed88a; font-weight: 800; }
.ezc-match-warn { color: #e7bd68 !important; }

.ezc-settings-savebar {
    position: sticky;
    bottom: 0;
    z-index: 8;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    margin: 18px -22px -88px;
    padding: 12px 22px;
    border-top: 1px solid rgba(255,255,255,.10);
    background: rgba(14,16,19,.96);
    backdrop-filter: blur(9px);
}

#ezc-workspace-settings-status {
    margin-right: auto;
    color: #aeb4bc;
    font-size: 11px;
}
#ezc-workspace-settings-status.is-success { color: #72db8e; }
#ezc-workspace-settings-status.is-error { color: #ff8585; }

#ezc-workspace-settings-save {
    min-height: 38px;
    border: 0;
    border-radius: 9px;
    padding: 0 15px;
    background: var(--workspace-yellow);
    color: #111;
    font-weight: 900;
    cursor: pointer;
}
#ezc-workspace-settings-save[disabled] { opacity: .55; cursor: wait; }

.ezc-workspace-access-card {
    max-width: 620px;
    margin: 60px auto;
    padding: 36px;
    border: 1px solid rgba(0,0,0,.1);
    border-radius: 18px;
    background: #111;
    color: #fff;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
.ezc-workspace-access-icon { font-size: 36px; }
.ezc-workspace-access-card h2 { margin: 10px 0 5px; color: #fff; }
.ezc-workspace-access-card p { color: #b9bec5; }
.ezc-workspace-login-button { display: inline-block; margin-top: 10px; padding: 10px 15px; border-radius: 9px; background: #ffe300; color: #111 !important; text-decoration: none !important; font-weight: 900; }

@media (max-width: 900px) {
    .ezc-otto-workspace { width: calc(100vw - 16px); margin-top: 8px; }
    .ezc-workspace-masthead { border-radius: 14px 14px 0 0; padding: 14px; }
    .ezc-workspace-brand p { display: none; }
    .ezc-workspace-user { min-width: 145px; }
    .ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode { height: calc(100dvh - 128px) !important; min-height: 560px !important; }
    .ezc-settings-grid { grid-template-columns: 1fr; }
    .ezc-setting-wide { grid-column: auto; }
    .ezc-role-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 620px) {
    .ezc-workspace-masthead { gap: 10px; }
    .ezc-workspace-mark { width: 42px; height: 42px; flex-basis: 42px; border-radius: 12px; font-size: 21px; }
    .ezc-workspace-eyebrow { font-size: 8px; }
    .ezc-workspace-brand h1 { font-size: 22px !important; }
    .ezc-workspace-user { min-width: 0; }
    .ezc-workspace-user small, .ezc-workspace-role { display: none; }
    .ezc-workspace-status { font-size: 8px; }
    .ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode { height: calc(100dvh - 102px) !important; min-height: 520px !important; }
    .ezc-otto-workspace #ezc-window .ezc-tab-btn { min-width: 0; flex: 1 1 auto; padding: 10px 8px; font-size: 11px; }
    .ezc-otto-workspace #ezc-tab-chat { padding: 10px 11px 12px !important; }
    .ezc-workspace-settings-head { display: block; padding: 16px; }
    .ezc-settings-admin-links { justify-content: flex-start; margin-top: 12px; }
    .ezc-workspace-settings-form { padding: 12px 12px 76px; }
    .ezc-settings-card { padding: 13px; }
    .ezc-role-grid { grid-template-columns: 1fr; }
    .ezc-roster-wrap { overflow-x: auto; }
    .ezc-roster-table { min-width: 680px; }
    .ezc-settings-savebar { margin-left: -12px; margin-right: -12px; margin-bottom: -76px; padding: 10px 12px; }
}


.ezc-setting-number-suffix { display: flex; align-items: stretch; }
.ezc-setting-number-suffix input { border-radius: 9px 0 0 9px !important; }
.ezc-setting-number-suffix > span { display: flex; align-items: center; padding: 0 10px; border: 1px solid #3a3f46; border-left: 0; border-radius: 0 9px 9px 0; background: #191d22; color: #9ca3ab; font-size: 10px; }

@media (max-width: 980px) {
    .ezc-otto-workspace { width: calc(100vw - 12px); margin: 6px auto; border-radius: 13px; }
    .ezc-workspace-layout { grid-template-columns: 74px minmax(0,1fr); height: calc(100dvh - 88px); min-height: 580px; }
    .ezc-workspace-rail { padding: 12px 8px; gap: 12px; }
    .ezc-workspace-rail-label, .ezc-workspace-nav small, .ezc-workspace-nav strong, .ezc-workspace-rail-note, .ezc-workspace-new-chat { display: none; }
    .ezc-workspace-nav { display: grid; grid-template-columns: 1fr; justify-items: center; min-height: 48px; padding: 8px; }
    .ezc-workspace-nav > span:first-child { width: 32px; height: 32px; }
    .ezc-workspace-rail-actions::after { content: '+'; display: grid; place-items: center; width: 42px; height: 38px; margin: 0 auto; border: 1px solid rgba(255,227,0,.20); border-radius: 9px; color: var(--workspace-yellow); font-weight: 900; }
    .ezc-workspace-rail-actions { cursor: pointer; }
    .ezc-workspace-home-grid { grid-template-columns: 1fr 1fr; }
    .ezc-settings-grid { grid-template-columns: 1fr; }
    .ezc-setting-wide { grid-column: auto; }
    .ezc-role-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 680px) {
    .ezc-workspace-masthead { height: 64px; padding: 0 12px; }
    .ezc-workspace-brand p, .ezc-workspace-role, .ezc-workspace-user-copy small, .ezc-workspace-pagebar-actions { display: none; }
    .ezc-workspace-mark { width: 36px; height: 36px; flex-basis: 36px; font-size: 18px; }
    .ezc-workspace-brand h1 { font-size: 18px !important; }
    .ezc-workspace-status { font-size: 8px; }
    .ezc-workspace-layout { grid-template-columns: 1fr; height: calc(100dvh - 76px); }
    .ezc-workspace-rail {
        order: 2; flex-direction: row; align-items: center; justify-content: space-around; overflow: visible;
        padding: 6px 8px; border-right: 0; border-top: 1px solid var(--workspace-border);
    }
    .ezc-workspace-rail-section { flex-direction: row; align-items: center; gap: 4px; }
    .ezc-workspace-rail-actions { display: none; }
    .ezc-workspace-nav { width: 48px; min-height: 42px; }
    .ezc-workspace-main { order: 1; min-height: 0; }
    .ezc-workspace-pagebar { flex-basis: 46px; padding: 0 12px; }
    .ezc-workspace-chat-home { width: calc(100% - 24px); padding: 18px 0 12px; justify-content: flex-start; }
    .ezc-workspace-home-copy h2 { font-size: 26px !important; }
    .ezc-workspace-home-grid { grid-template-columns: 1fr; }
    .ezc-workspace-home-grid button { min-height: 78px; }
    .ezc-workspace-paste-callout { display: none; }
    .ezc-otto-workspace #ezc-chat-box { padding: 14px 12px 10px !important; }
    .ezc-otto-workspace #ezc-chat-box .ezc-msg { max-width: 94% !important; }
    .ezc-otto-workspace #ezc-internal-active-mode,
    .ezc-workspace-composer-note,
    .ezc-otto-workspace #ezc-otto-attachment-preview,
    .ezc-otto-workspace .ezc-input-wrapper { width: calc(100% - 20px); }
    .ezc-workspace-composer-note { display: none; }
    .ezc-otto-workspace .ezc-input-wrapper { margin-bottom: 10px; }
    .ezc-otto-workspace .ezc-internal-archive-panel { padding: 14px 12px !important; }
    .ezc-otto-workspace .ezc-ezchat-sidebar { width: 130px; min-width: 130px; }
    .ezc-workspace-settings-head { display: block; padding: 16px; }
    .ezc-settings-admin-links { justify-content: flex-start; margin-top: 12px; }
    .ezc-workspace-settings-form { padding: 12px 12px 76px; }
    .ezc-settings-card { padding: 13px; }
    .ezc-role-grid { grid-template-columns: 1fr; }
    .ezc-roster-wrap { overflow-x: auto; }
    .ezc-roster-table { min-width: 680px; }
    .ezc-settings-savebar { margin-left: -12px; margin-right: -12px; margin-bottom: -76px; padding: 10px 12px; }
}

/* ========================================================================== 
   EZConnect 5.5.0 professional workspace refresh
   Flatter geometry, denser information, quieter hierarchy. The floating Otto
   widget keeps its existing personality; these rules apply only to full-page
   Internal Otto.
   ========================================================================== */
.ezc-otto-workspace {
    width: min(1880px, calc(100vw - 16px));
    min-height: min(940px, calc(100dvh - 16px));
    margin: 8px auto;
    border-radius: 8px;
    border-color: rgba(255,255,255,.11);
    box-shadow: 0 10px 34px rgba(0,0,0,.20);
}

.ezc-workspace-masthead {
    height: 64px;
    padding: 0 18px;
    background: #101317;
}
.ezc-workspace-brand { gap: 11px; }
.ezc-workspace-mark {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    border-radius: 4px;
    box-shadow: none;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .04em;
}
.ezc-workspace-eyebrow { font-size: 7px; letter-spacing: .18em; }
.ezc-workspace-brand h1 { font-size: 18px !important; letter-spacing: -.01em; }
.ezc-workspace-brand p { margin-top: 3px !important; font-size: 10px !important; }
.ezc-workspace-status,
.ezc-workspace-role {
    border-radius: 4px;
    padding: 4px 7px;
    font-size: 8px;
    letter-spacing: .02em;
}
.ezc-workspace-status i { width: 5px; height: 5px; box-shadow: none; }
.ezc-workspace-user-copy strong { font-size: 11px; }
.ezc-workspace-user-copy small { font-size: 9px; }

.ezc-workspace-layout {
    grid-template-columns: 218px minmax(0,1fr);
    height: calc(100dvh - 82px);
}
.ezc-workspace-rail {
    gap: 15px;
    padding: 15px 11px 12px;
    background: #0d1013;
}
.ezc-workspace-rail-label { padding: 0 7px 4px; font-size: 8px; }
.ezc-workspace-nav {
    grid-template-columns: 25px minmax(0,1fr) auto;
    min-height: 44px;
    gap: 7px;
    padding: 6px 7px;
    border-radius: 4px;
    transition: background .12s ease, border-color .12s ease, color .12s ease;
}
.ezc-workspace-nav > span:first-child {
    width: 25px;
    height: 25px;
    border-radius: 3px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
}
.ezc-workspace-nav strong { font-size: 10px; }
.ezc-workspace-nav small { font-size: 8px; }
.ezc-workspace-nav em { min-width: 18px; padding: 2px 4px; border-radius: 3px; font-size: 8px; }
.ezc-workspace-new-chat {
    min-height: 34px;
    border-radius: 4px;
    font-size: 10px;
}
.ezc-workspace-rail-note {
    padding: 9px 10px;
    border-radius: 4px;
    background: #11151a;
}
.ezc-workspace-rail-note strong { font-size: 9px; }
.ezc-workspace-rail-note span { font-size: 8px; }

.ezc-workspace-main { background: #121519; }
.ezc-workspace-pagebar {
    flex-basis: 48px;
    padding: 0 16px;
    background: #111418;
}
#ezc-workspace-section-kicker { font-size: 7px; }
#ezc-workspace-section-title { font-size: 13px; }
.ezc-workspace-pagebar-actions button {
    min-height: 28px;
    border-radius: 4px;
    padding: 0 9px;
    font-size: 9px;
}

.ezc-workspace-chat-home {
    justify-content: flex-start;
    width: min(1060px, calc(100% - 56px));
    padding: clamp(42px, 8vh, 84px) 0 24px;
}
.ezc-workspace-home-copy {
    max-width: 760px;
    margin: 0 0 22px;
    text-align: left;
}
.ezc-workspace-home-copy > span { font-size: 8px; letter-spacing: .18em; }
.ezc-workspace-home-copy h2 {
    margin: 6px 0 7px !important;
    font-size: clamp(25px, 2.5vw, 32px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.02em;
}
.ezc-workspace-home-copy p { max-width: 700px; font-size: 12px !important; line-height: 1.5 !important; }
.ezc-workspace-home-grid { gap: 8px; }
.ezc-workspace-home-grid button {
    min-height: 68px;
    grid-template-columns: 30px minmax(0,1fr);
    column-gap: 10px;
    padding: 10px 12px;
    border-radius: 5px;
    background: #161a1f;
    transition: border-color .12s ease, background .12s ease;
}
.ezc-workspace-home-grid button:hover {
    transform: none;
    border-color: rgba(255,227,0,.34);
    background: #191e24;
}
.ezc-workspace-home-grid button > span {
    width: 28px;
    height: 28px;
    border-radius: 3px;
    border: 1px solid rgba(255,227,0,.20);
    background: rgba(255,227,0,.05);
    color: var(--workspace-yellow);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
}
.ezc-workspace-home-grid strong { font-size: 11px; }
.ezc-workspace-home-grid small { margin-top: 2px; font-size: 9px; }
.ezc-workspace-paste-callout {
    margin: 12px 0 0;
    padding: 8px 10px;
    border-style: solid;
    border-radius: 4px;
    background: #11151a;
}
.ezc-workspace-paste-callout > span {
    min-width: 34px;
    color: var(--workspace-yellow);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .08em;
}

.ezc-otto-workspace #ezc-chat-box {
    max-width: 1160px;
    padding: 20px 24px 14px !important;
    gap: 8px;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg {
    max-width: min(900px, 84%) !important;
    border-radius: 5px;
    padding: 11px 12px;
    box-shadow: none;
    font-size: 12px;
    line-height: 1.55;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.ai,
.ezc-otto-workspace #ezc-chat-box .ezc-msg.system {
    background: #181c21;
    border-color: rgba(255,255,255,.09);
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.user {
    max-width: min(760px, 74%) !important;
    background: var(--workspace-yellow);
}
.ezc-otto-workspace .ezc-msg-meta { margin-bottom: 6px; font-size: 9px; letter-spacing: .07em; }
.ezc-otto-workspace .ezc-msg-icon { width: 19px; height: 19px; border-radius: 3px; font-size: 10px; }
.ezc-otto-workspace .ezc-msg-content { font-size: 13px; }
.ezc-otto-workspace .ezc-internal-answer-tools button { border-radius: 4px; }

.ezc-otto-workspace #ezc-internal-active-mode {
    width: min(1160px, calc(100% - 40px));
    min-height: 27px;
    margin-bottom: 5px;
    padding: 4px 8px;
    border-radius: 4px;
}
.ezc-workspace-composer-note,
.ezc-otto-workspace #ezc-otto-attachment-preview,
.ezc-otto-workspace .ezc-input-wrapper { width: min(1160px, calc(100% - 40px)); }
.ezc-workspace-composer-note { margin-bottom: 4px; font-size: 8px; }
.ezc-otto-workspace .ezc-input-wrapper {
    min-height: 54px;
    margin-bottom: 14px;
    padding: 6px !important;
    border-radius: 5px;
    box-shadow: none;
    background: #0c0f12 !important;
}
.ezc-otto-workspace #ezc-input { min-height: 40px; font-size: 12px; }
.ezc-otto-workspace .ezc-otto-attach-button {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
    border-radius: 4px;
}
.ezc-otto-workspace #ezc-send {
    min-width: 88px;
    min-height: 38px;
    border-radius: 4px;
}

.ezc-otto-workspace .ezc-internal-archive-panel { padding: 20px 24px !important; }
.ezc-otto-workspace .ezc-internal-archive-head strong { font-size: 17px; }
.ezc-otto-workspace .ezc-internal-archive-searchbar { min-height: 42px; border-radius: 4px; }
.ezc-otto-workspace .ezc-internal-archive-list { gap: 6px; }
.ezc-otto-workspace .ezc-internal-archive-row {
    min-height: 56px;
    padding: 9px 11px;
    border-radius: 4px;
    background: #161a1f;
}
.ezc-otto-workspace .ezc-ezchat-shell { border-radius: 0 !important; }

/* Settings: denser admin console rather than oversized cards. */
.ezc-workspace-settings-head {
    gap: 16px;
    padding: 18px 20px 15px;
    background: #14171b;
}
.ezc-workspace-settings-head h2 { margin: 2px 0 4px !important; font-size: 20px !important; }
.ezc-workspace-settings-head p { font-size: 11px !important; }
.ezc-settings-kicker { font-size: 8px; }
.ezc-settings-admin-links a {
    border-radius: 4px;
    padding: 6px 8px;
    font-size: 9px;
}
.ezc-workspace-settings-form { padding: 14px 18px 82px; }
.ezc-settings-card {
    margin-bottom: 12px;
    padding: 15px;
    border-radius: 6px;
    background: #161a1f;
}
.ezc-settings-card-title { gap: 9px; margin-bottom: 13px; }
.ezc-settings-card-title > span {
    width: 27px;
    height: 27px;
    flex-basis: 27px;
    border-radius: 3px;
    font-size: 9px;
}
.ezc-settings-card-title h3 { font-size: 14px !important; }
.ezc-settings-card-title p { margin-top: 2px !important; font-size: 10px !important; }
.ezc-settings-grid { gap: 10px 12px; }
.ezc-setting-field { gap: 5px; font-size: 11px; }
.ezc-setting-field > span { font-size: 10px; }
.ezc-setting-field input[type="text"],
.ezc-setting-field input[type="url"],
.ezc-setting-field input[type="number"],
.ezc-setting-field select,
.ezc-setting-field textarea {
    min-height: 36px;
    border-radius: 4px;
    padding: 8px 9px;
}
.ezc-setting-field small { font-size: 9px; }
.ezc-setting-toggle {
    min-height: 72px;
    padding: 10px 48px 10px 11px;
    border-radius: 5px;
}
.ezc-role-grid { gap: 6px; }
.ezc-role-grid label { min-height: 33px; border-radius: 4px; padding: 6px 8px; font-size: 10px; }
.ezc-staff-source { padding: 9px 10px; border-radius: 4px; font-size: 10px; }
.ezc-roster-wrap { border-radius: 4px; }
.ezc-roster-table th,
.ezc-roster-table td { padding: 8px 9px; }
.ezc-settings-savebar { padding: 10px 18px; }
#ezc-workspace-settings-save { min-height: 35px; border-radius: 4px; padding: 0 13px; }
.ezc-setting-number-suffix input { border-radius: 4px 0 0 4px !important; }
.ezc-setting-number-suffix > span { border-radius: 0 4px 4px 0; }

/* Usage dashboard */
.ezc-usage-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 8px;
}
.ezc-usage-stat {
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid #333941;
    border-radius: 4px;
    background: #101317;
}
.ezc-usage-stat > span,
.ezc-usage-stat > strong,
.ezc-usage-stat > small { display: block; }
.ezc-usage-stat > span { color: #89919b; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ezc-usage-stat > strong { margin-top: 4px; color: #fff; font-size: 18px; line-height: 1.1; }
.ezc-usage-stat > small { margin-top: 4px; color: #858d97; font-size: 9px; }
.ezc-usage-details {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 1px;
    margin-top: 9px;
    border: 1px solid #30353d;
    border-radius: 4px;
    overflow: hidden;
    background: #30353d;
}
.ezc-usage-details > div { padding: 8px 10px; background: #13171b; }
.ezc-usage-details span,
.ezc-usage-details strong { display: block; }
.ezc-usage-details span { color: #7f8791; font-size: 8px; }
.ezc-usage-details strong { margin-top: 2px; color: #dfe3e7; font-size: 11px; }
.ezc-usage-models { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.ezc-usage-models > span {
    padding: 5px 7px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 3px;
    background: #111419;
    color: #aeb5bd;
    font-size: 9px;
}
.ezc-usage-models strong { color: #e9ecef; }
.ezc-usage-note,
.ezc-usage-empty { margin: 9px 0 0 !important; color: #747d87 !important; font-size: 9px !important; line-height: 1.45 !important; }

.ezc-workspace-access-card { border-radius: 6px; box-shadow: 0 12px 36px rgba(0,0,0,.16); }
.ezc-workspace-login-button { border-radius: 4px; }

@media (max-width: 980px) {
    .ezc-otto-workspace { width: calc(100vw - 10px); margin: 5px auto; border-radius: 6px; }
    .ezc-workspace-layout { grid-template-columns: 68px minmax(0,1fr); height: calc(100dvh - 74px); }
    .ezc-workspace-nav { grid-template-columns: 1fr; min-height: 43px; }
    .ezc-workspace-nav > span:first-child { width: 28px; height: 28px; border-radius: 3px; }
    .ezc-workspace-rail-actions::after { width: 38px; height: 34px; border-radius: 4px; }
    .ezc-usage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
    .ezc-workspace-masthead { height: 58px; padding: 0 10px; }
    .ezc-workspace-mark { width: 31px; height: 31px; flex-basis: 31px; border-radius: 3px; font-size: 9px; }
    .ezc-workspace-brand h1 { font-size: 16px !important; }
    .ezc-workspace-layout { height: calc(100dvh - 68px); }
    .ezc-workspace-chat-home { width: calc(100% - 24px); padding: 24px 0 12px; }
    .ezc-workspace-home-copy { margin-bottom: 16px; }
    .ezc-workspace-home-copy h2 { font-size: 23px !important; }
    .ezc-workspace-home-grid { grid-template-columns: 1fr; }
    .ezc-workspace-home-grid button { min-height: 62px; }
    .ezc-otto-workspace #ezc-chat-box { padding: 12px 10px 8px !important; }
    .ezc-otto-workspace #ezc-chat-box .ezc-msg,
    .ezc-otto-workspace #ezc-chat-box .ezc-msg.user { max-width: 94% !important; }
    .ezc-otto-workspace #ezc-internal-active-mode,
    .ezc-otto-workspace #ezc-otto-attachment-preview,
    .ezc-otto-workspace .ezc-input-wrapper { width: calc(100% - 18px); }
    .ezc-otto-workspace .ezc-input-wrapper { margin-bottom: 8px; }
    .ezc-workspace-settings-head { padding: 14px; }
    .ezc-workspace-settings-form { padding: 10px 10px 70px; }
    .ezc-settings-card { padding: 11px; }
    .ezc-usage-grid,
    .ezc-usage-details { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ezc-settings-savebar { margin-left: -10px; margin-right: -10px; margin-bottom: -70px; padding: 9px 10px; }
}


/* ========================================================================== 
   EZConnect 5.5.1 full-page workspace redesign
   Light, operational, and intentionally boring in the good way. Otto can keep
   the yellow accent; the whole screen no longer needs to cosplay as a terminal.
   ========================================================================== */
.ezc-otto-workspace {
    --workspace-yellow: #f2cf00;
    --workspace-bg: #f4f6f8;
    --workspace-panel: #ffffff;
    --workspace-panel-2: #f8fafb;
    --workspace-panel-3: #eef2f5;
    --workspace-border: #dfe4ea;
    --workspace-muted: #667085;
    --workspace-ink: #17202a;
    --workspace-subtle: #475467;
    --workspace-focus: #fff8c5;
    background: #f4f6f8;
    color: var(--workspace-ink);
    border: 1px solid #d9dfe6;
    border-radius: 10px;
    box-shadow: 0 10px 32px rgba(16,24,40,.10);
    color-scheme: light;
}

.ezc-otto-workspace.is-hub-embed {
    width: 100%;
    min-height: 100%;
    height: 100%;
    margin: 0;
    left: auto;
    transform: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.ezc-workspace-masthead {
    height: 66px;
    padding: 0 20px;
    border-bottom: 1px solid #dfe4ea;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(16,24,40,.02);
}
.ezc-workspace-brand { gap: 12px; }
.ezc-workspace-mark {
    width: 36px; height: 36px; flex-basis: 36px;
    border-radius: 8px;
    background: #ffe600;
    color: #111827;
    border: 1px solid #e0c900;
    box-shadow: none;
    font-size: 10px;
    font-weight: 950;
}
.ezc-workspace-eyebrow { color: #776900; font-size: 7px; }
.ezc-workspace-brand h1 { color: #101828 !important; font-size: 18px !important; }
.ezc-workspace-brand p { color: #667085 !important; font-size: 10px !important; }
.ezc-workspace-status,
.ezc-workspace-role {
    border-radius: 7px;
    padding: 5px 8px;
    font-size: 8px;
}
.ezc-workspace-status { background: #f9fafb; border-color: #d0d5dd; color: #344054; }
.ezc-workspace-status i { background: #12b76a; }
.ezc-workspace-role { background: #fffbe6; border-color: #eadb76; color: #645b00; }
.ezc-workspace-user-copy strong { color: #101828; }
.ezc-workspace-user-copy small { color: #667085; }

.ezc-workspace-layout {
    grid-template-columns: 224px minmax(0, 1fr);
    height: calc(100dvh - 84px);
    background: #f4f6f8;
}
.ezc-otto-workspace.is-hub-embed .ezc-workspace-layout { height: calc(100% - 66px); }
.ezc-workspace-rail {
    padding: 16px 12px 13px;
    gap: 14px;
    border-right: 1px solid #dfe4ea;
    background: #f8fafb;
}
.ezc-workspace-rail-label { color: #98a2b3; font-size: 8px; }
.ezc-workspace-nav {
    min-height: 46px;
    border-radius: 7px;
    color: #475467;
}
.ezc-workspace-nav:hover { background: #f2f4f7; color: #101828; }
.ezc-workspace-nav.is-active {
    border-color: #e7d350;
    background: #fffbed;
    color: #101828;
    box-shadow: inset 3px 0 0 #e3c800;
}
.ezc-workspace-nav > span:first-child { background: #eef2f6; color: #475467; border-radius: 6px; }
.ezc-workspace-nav.is-active > span:first-child { background: #ffe600; color: #111827; }
.ezc-workspace-nav strong { font-size: 10px; }
.ezc-workspace-nav small { color: #98a2b3; font-size: 8px; }
.ezc-workspace-nav em { background: #ffe600; color: #111827; }
.ezc-workspace-new-chat {
    min-height: 36px;
    border-radius: 7px;
    border-color: #e0cc3e;
    background: #fffbed;
    color: #5f5500;
}
.ezc-workspace-new-chat:hover { background: #ffe600; color: #111827; }
.ezc-workspace-rail-note {
    padding: 10px 11px;
    border-color: #e3e7ec;
    border-radius: 7px;
    background: #ffffff;
}
.ezc-workspace-rail-note strong { color: #344054; }
.ezc-workspace-rail-note span { color: #7a8491; }
.ezc-workspace-rail-note.is-training {
    border-color: #eadf98;
    background: #fffdf2;
}
.ezc-workspace-rail-note.is-training strong { color: #5d5400; }
.ezc-workspace-rail-note.is-muted strong { color: #667085; }

.ezc-workspace-main { background: #ffffff; }
.ezc-workspace-pagebar {
    flex-basis: 50px;
    padding: 0 18px;
    border-bottom: 1px solid #e4e7ec;
    background: #ffffff;
}
#ezc-workspace-section-kicker { color: #98a2b3; }
#ezc-workspace-section-title { color: #101828; font-size: 13px; }
.ezc-workspace-pagebar-actions button {
    min-height: 30px;
    border-radius: 7px;
    border-color: #d0d5dd;
    background: #ffffff;
    color: #475467;
}
.ezc-workspace-pagebar-actions button:hover { border-color: #b9a600; background: #fffbed; color: #5f5500; }

/* Keep the real Otto app, lose the floating-widget look. */
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode #ezc-window,
.ezc-otto-workspace #ezc-window .ezc-body,
.ezc-otto-workspace #ezc-tab-chat {
    background: #ffffff !important;
}
.ezc-otto-workspace #ezc-window > .ezc-header,
.ezc-otto-workspace #ezc-window > .ezc-tabs { display: none !important; }

.ezc-workspace-chat-home {
    justify-content: flex-start;
    width: min(1080px, calc(100% - 64px));
    padding: clamp(38px, 7vh, 72px) 0 24px;
}
.ezc-workspace-home-copy {
    max-width: 790px;
    margin: 0 0 22px;
    text-align: left;
}
.ezc-workspace-home-copy > span { color: #8a7900; }
.ezc-workspace-home-copy h2 {
    margin: 6px 0 8px !important;
    color: #101828 !important;
    font-size: clamp(28px, 3vw, 38px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em;
}
.ezc-workspace-home-copy p {
    max-width: 760px;
    color: #667085 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}
.ezc-workspace-home-grid { gap: 10px; }
.ezc-workspace-home-grid button {
    min-height: 78px;
    padding: 12px 13px;
    border: 1px solid #e0e5eb;
    border-radius: 9px;
    background: #ffffff;
    color: #101828;
    box-shadow: 0 2px 8px rgba(16,24,40,.04);
}
.ezc-workspace-home-grid button:hover {
    transform: translateY(-1px);
    border-color: #d4c23f;
    background: #fffdf3;
    box-shadow: 0 6px 16px rgba(16,24,40,.07);
}
.ezc-workspace-home-grid button > span {
    width: 31px; height: 31px;
    border-radius: 7px;
    border: 1px solid #e2d158;
    background: #fffbe8;
    color: #6b6100;
}
.ezc-workspace-home-grid strong { color: #101828; font-size: 11px; }
.ezc-workspace-home-grid small { color: #667085; font-size: 9px; }

.ezc-workspace-home-notes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    margin-top: 12px;
}
.ezc-workspace-paste-callout,
.ezc-workspace-training-note {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 10px 11px;
    border: 1px solid #e1e6eb;
    border-radius: 8px;
    background: #f8fafb;
}
.ezc-workspace-paste-callout { border-style: solid; }
.ezc-workspace-paste-callout > span,
.ezc-workspace-training-note > span {
    flex: 0 0 36px;
    min-width: 36px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 6px;
    background: #ffffff;
    border: 1px solid #d0d5dd;
    color: #475467;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .05em;
}
.ezc-workspace-training-note { background: #fffdf2; border-color: #eadf98; }
.ezc-workspace-training-note > span { background: #fff7bf; border-color: #e1cf53; color: #665c00; font-size: 15px; }
.ezc-workspace-paste-callout strong,
.ezc-workspace-paste-callout small,
.ezc-workspace-training-note strong,
.ezc-workspace-training-note small { display: block; }
.ezc-workspace-paste-callout strong,
.ezc-workspace-training-note strong { color: #344054; font-size: 10px; }
.ezc-workspace-paste-callout small,
.ezc-workspace-training-note small { margin-top: 2px; color: #667085; font-size: 9px; line-height: 1.4; }

/* Conversation */
.ezc-otto-workspace #ezc-chat-box {
    max-width: 1120px;
    padding: 22px 28px 16px !important;
    background: #ffffff !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg {
    max-width: min(880px, 86%) !important;
    border-radius: 9px !important;
    padding: 11px 13px !important;
    border: 1px solid #e1e6eb !important;
    box-shadow: none !important;
    font-size: 12px;
    line-height: 1.55;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.ai,
.ezc-otto-workspace #ezc-chat-box .ezc-msg.system {
    background: #f7f9fb !important;
    color: #253040 !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.user {
    max-width: min(760px, 74%) !important;
    background: #fff4a8 !important;
    color: #1f2937 !important;
    border-color: #e5d367 !important;
}
.ezc-otto-workspace .ezc-msg-meta { color: #667085 !important; }
.ezc-otto-workspace .ezc-msg-content,
.ezc-otto-workspace .ezc-msg-content * { color: inherit; }
.ezc-otto-workspace .ezc-msg-content a { color: #175cd3 !important; }
.ezc-otto-workspace .ezc-msg-icon { background: #ffffff; border: 1px solid #d0d5dd; }
.ezc-otto-workspace .ezc-internal-answer-tools button {
    border: 1px solid #d0d5dd !important;
    background: #ffffff !important;
    color: #475467 !important;
}

.ezc-otto-workspace #ezc-internal-active-mode {
    width: min(1120px, calc(100% - 48px));
    min-height: 28px;
    margin-bottom: 6px;
    padding: 4px 9px;
    border: 1px solid #eadf98 !important;
    border-radius: 7px;
    background: #fffdf2 !important;
    color: #5f5500 !important;
}
.ezc-otto-workspace:not(.has-otto-conversation) #ezc-internal-active-mode { display: none !important; }
.ezc-otto-workspace #ezc-internal-active-mode .ezc-mode-kicker,
.ezc-otto-workspace #ezc-internal-active-mode .ezc-mode-source { color: #8a7900 !important; }
.ezc-otto-workspace #ezc-internal-active-mode strong { color: #4f4700 !important; }
.ezc-workspace-composer-note,
.ezc-otto-workspace #ezc-otto-attachment-preview,
.ezc-otto-workspace .ezc-input-wrapper { width: min(1120px, calc(100% - 48px)); }
.ezc-workspace-composer-note { color: #98a2b3; }
.ezc-workspace-composer-note kbd { border-color: #cfd5dc; background: #f2f4f7; color: #475467; }
.ezc-otto-workspace .ezc-input-wrapper {
    min-height: 58px;
    margin-bottom: 16px;
    padding: 7px !important;
    border: 1px solid #cfd6de !important;
    border-radius: 9px;
    background: #ffffff !important;
    box-shadow: 0 5px 18px rgba(16,24,40,.08);
}
.ezc-otto-workspace .ezc-input-wrapper:focus-within {
    border-color: #c4ae00 !important;
    box-shadow: 0 0 0 3px rgba(255,230,0,.16), 0 5px 18px rgba(16,24,40,.07);
}
.ezc-otto-workspace #ezc-input {
    min-height: 40px;
    color: #101828 !important;
    font-size: 12px;
}
.ezc-otto-workspace #ezc-input::placeholder { color: #98a2b3 !important; }
.ezc-otto-workspace .ezc-otto-attach-button {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    border: 1px solid #d0d5dd !important;
    border-radius: 7px;
    background: #f8fafb !important;
    color: #475467 !important;
}
.ezc-otto-workspace #ezc-send {
    min-width: 92px;
    min-height: 40px;
    border: 1px solid #d6c100 !important;
    border-radius: 7px;
    background: #ffe600 !important;
    color: #111827 !important;
    font-weight: 850 !important;
}
.ezc-otto-workspace #ezc-send:hover { background: #f4dc00 !important; }

/* Archive */
.ezc-otto-workspace .ezc-internal-archive-panel { background: #ffffff !important; color: #101828 !important; }
.ezc-otto-workspace .ezc-internal-archive-head strong { color: #101828 !important; }
.ezc-otto-workspace .ezc-internal-archive-head small { color: #667085 !important; }
.ezc-otto-workspace .ezc-internal-archive-searchbar {
    border: 1px solid #d0d5dd !important;
    background: #ffffff !important;
}
.ezc-otto-workspace #ezc-internal-archive-search { color: #101828 !important; }
.ezc-otto-workspace .ezc-internal-archive-summary { color: #667085 !important; }
.ezc-otto-workspace .ezc-internal-archive-row {
    border: 1px solid #e1e6eb !important;
    background: #f8fafb !important;
    color: #344054 !important;
}
.ezc-otto-workspace .ezc-internal-archive-row:hover { border-color: #c8b400 !important; background: #fffdf2 !important; }
.ezc-otto-workspace .ezc-internal-archive-copy strong { color: #344054 !important; }
.ezc-otto-workspace .ezc-internal-archive-copy small { color: #667085 !important; }

/* EZ Chat gets a light app shell inside the full workspace. */
.ezc-otto-workspace .ezc-ezchat-shell,
.ezc-otto-workspace .ezc-ezchat-main,
.ezc-otto-workspace .ezc-ezchat-messages { background: #ffffff !important; color: #101828 !important; }
.ezc-otto-workspace .ezc-ezchat-sidebar { background: #f8fafb !important; border-right-color: #e1e6eb !important; }
.ezc-otto-workspace .ezc-ezchat-sidebar-head,
.ezc-otto-workspace .ezc-ezchat-chat-header { border-color: #e1e6eb !important; background: #ffffff !important; }
.ezc-otto-workspace .ezc-ezchat-section-label { color: #98a2b3 !important; }
.ezc-otto-workspace .ezc-ezchat-list button,
.ezc-otto-workspace .ezc-ezchat-conversation { color: #344054 !important; }
.ezc-otto-workspace #ezc-ezchat-search,
.ezc-otto-workspace #ezc-ezchat-input { background: #ffffff !important; color: #101828 !important; border-color: #d0d5dd !important; }
.ezc-otto-workspace .ezc-ezchat-composer { background: #f8fafb !important; border-top-color: #e1e6eb !important; }

/* Manager settings follow the same visual system. */
.ezc-otto-workspace #ezc-tab-settings {
    background: #f4f6f8;
    color: #101828;
}
.ezc-workspace-settings-head {
    border-bottom-color: #dfe4ea;
    background: #ffffff;
}
.ezc-workspace-settings-head h2 { color: #101828 !important; }
.ezc-workspace-settings-head p { color: #667085 !important; }
.ezc-settings-kicker { color: #776900; }
.ezc-settings-admin-links a {
    border-color: #d8c544;
    background: #fffbed;
    color: #645b00 !important;
}
.ezc-settings-card {
    border-color: #dfe4ea;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(16,24,40,.03);
}
.ezc-settings-card-title h3 { color: #101828 !important; }
.ezc-settings-card-title p { color: #667085 !important; }
.ezc-setting-field { color: #344054; }
.ezc-setting-field > span { color: #344054; }
.ezc-setting-field input[type="text"],
.ezc-setting-field input[type="url"],
.ezc-setting-field input[type="number"],
.ezc-setting-field select,
.ezc-setting-field textarea {
    border-color: #d0d5dd;
    background: #ffffff;
    color: #101828;
}
.ezc-setting-field small { color: #667085; }
.ezc-setting-toggle,
.ezc-role-grid label,
.ezc-staff-source { border-color: #dfe4ea; background: #f8fafb; color: #344054; }
.ezc-role-grid label { color: #344054; }
.ezc-roster-wrap { border-color: #dfe4ea; background: #ffffff; }
.ezc-roster-table { color: #344054; }
.ezc-roster-table th { background: #f2f4f7; color: #344054; border-bottom-color: #dfe4ea; }
.ezc-roster-table td { border-bottom-color: #eef2f5; }
.ezc-usage-stat,
.ezc-usage-models,
.ezc-usage-details { border-color: #dfe4ea !important; background: #f8fafb !important; color: #344054 !important; }
.ezc-settings-savebar { background: rgba(255,255,255,.96); border-top-color: #dfe4ea; }
#ezc-workspace-settings-save { background: #ffe600; color: #111827; border-color: #d6c100; }

/* Access card */
.ezc-workspace-access-card {
    background: #ffffff;
    color: #101828;
    border: 1px solid #dfe4ea;
    box-shadow: 0 8px 30px rgba(16,24,40,.08);
}
.ezc-workspace-access-card h2 { color: #101828 !important; }
.ezc-workspace-access-card p { color: #667085 !important; }
.ezc-workspace-login-button { background: #ffe600; color: #111827 !important; }

/* Embedded Hub viewport: use every useful pixel and avoid nested black gutters. */
.ezc-otto-workspace.is-hub-embed .ezc-workspace-masthead { height: 60px; }
.ezc-otto-workspace.is-hub-embed .ezc-workspace-layout { height: calc(100% - 60px); }
.ezc-otto-workspace.is-hub-embed .ezc-workspace-chat-home { padding-top: clamp(30px, 5vh, 52px); }

@media (max-width: 900px) {
    .ezc-workspace-home-notes { grid-template-columns: 1fr; }
    .ezc-workspace-user-copy { display: none; }
}

@media (max-width: 720px) {
    .ezc-otto-workspace { width: 100%; min-height: 100dvh; margin: 0; border: 0; border-radius: 0; transform: none; left: auto; }
    .ezc-workspace-masthead { height: 58px; padding: 0 12px; }
    .ezc-workspace-brand p,
    .ezc-workspace-status,
    .ezc-workspace-role { display: none; }
    .ezc-workspace-layout { display: block; height: calc(100dvh - 58px); }
    .ezc-workspace-rail { position: static; display: flex; flex-direction: row; gap: 6px; overflow-x: auto; padding: 8px; border-right: 0; border-bottom: 1px solid #dfe4ea; }
    .ezc-workspace-rail-section { flex-direction: row; gap: 6px; }
    .ezc-workspace-rail-label,
    .ezc-workspace-rail-note,
    .ezc-workspace-nav small,
    .ezc-workspace-rail-actions { display: none !important; }
    .ezc-workspace-nav { width: auto; min-height: 36px; grid-template-columns: 24px auto; white-space: nowrap; }
    .ezc-workspace-main { height: calc(100% - 53px); }
    .ezc-workspace-pagebar { padding: 0 10px; }
    .ezc-workspace-pagebar-actions button:first-child { display: none; }
    .ezc-workspace-chat-home { width: calc(100% - 24px); padding: 24px 0 16px; }
    .ezc-workspace-home-copy h2 { font-size: 26px !important; }
    .ezc-workspace-home-grid { grid-template-columns: 1fr; }
    .ezc-workspace-home-notes { grid-template-columns: 1fr; }
    .ezc-workspace-training-note { display: none; }
    .ezc-workspace-composer-note { display: none; }
    .ezc-otto-workspace #ezc-chat-box { padding: 14px 12px 10px !important; }
    .ezc-otto-workspace #ezc-internal-active-mode,
    .ezc-otto-workspace #ezc-otto-attachment-preview,
    .ezc-otto-workspace .ezc-input-wrapper { width: calc(100% - 20px); }
}

/* ===== EZConnect 5.5.12: Internal workspace refresh ===== */
.ezc-otto-workspace {
    border-color: #e6dfd1;
    background: linear-gradient(180deg, #fcfbf7 0%, #f3efe5 100%);
    color: #101828;
    box-shadow: 0 24px 70px rgba(16,24,40,.10);
}

.ezc-workspace-masthead {
    border-bottom-color: #e6dfd1;
    background:
        radial-gradient(circle at 4% 0%, rgba(255,224,77,.28), transparent 28%),
        linear-gradient(135deg, #fffef9 0%, #f8f5eb 74%);
}

.ezc-workspace-mark {
    box-shadow: 0 10px 26px rgba(240, 204, 0, .20);
}

.ezc-workspace-brand h1 { color: #101828 !important; }
.ezc-workspace-brand p { color: #667085 !important; }
.ezc-workspace-user-copy strong { color: #101828; }
.ezc-workspace-user-copy small { color: #667085; }
.ezc-workspace-role {
    background: #ffffff;
    border-color: #dfe4ea;
    color: #344054;
}

.ezc-workspace-rail {
    border-right-color: #e6dfd1;
    background: linear-gradient(180deg, #faf8f2 0%, #f4f0e5 100%);
}
.ezc-workspace-rail-label,
#ezc-workspace-section-kicker { color: #8a6f00; }
.ezc-workspace-nav { color: #344054; }
.ezc-workspace-nav:hover {
    background: rgba(255,230,0,.08);
    color: #101828;
}
.ezc-workspace-nav.is-active {
    border-color: #e5d16b;
    background: linear-gradient(180deg, #fff9d1 0%, #fff4ac 100%);
    color: #101828;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.40);
}
.ezc-workspace-nav > span:first-child {
    background: #ffffff;
    border: 1px solid #e3e8ef;
    color: #667085;
}
.ezc-workspace-nav strong { color: inherit; }
.ezc-workspace-nav small { color: #667085; }
.ezc-workspace-new-chat {
    border-color: #d7c55a;
    background: #fff9d6;
    color: #6b5a00;
}
.ezc-workspace-new-chat:hover {
    background: #ffe600;
    color: #111827;
}
.ezc-workspace-rail-note {
    border-color: #e5e7eb;
    background: rgba(255,255,255,.78);
    box-shadow: 0 6px 16px rgba(16,24,40,.04);
}
.ezc-workspace-rail-note strong { color: #344054; }
.ezc-workspace-rail-note span { color: #667085; }
.ezc-workspace-rail-note.is-training {
    background: #fffced;
    border-color: #f0df7d;
}
.ezc-workspace-rail-note.is-muted { background: #f7f8fa; }

.ezc-workspace-main {
    background: linear-gradient(180deg, #fbfaf7 0%, #f5f2ea 100%);
}
.ezc-workspace-pagebar {
    border-bottom-color: #e6dfd1;
    background: rgba(255,255,255,.82);
    backdrop-filter: blur(12px);
}
#ezc-workspace-section-title { color: #101828; }
.ezc-workspace-pagebar-actions button {
    border-color: #d0d5dd;
    background: #ffffff;
    color: #344054;
}
.ezc-workspace-pagebar-actions button:hover,
.ezc-workspace-pagebar-actions button.is-history-open {
    border-color: #d7c55a;
    background: #fff9d6;
    color: #6b5a00;
}

.ezc-workspace-app,
.ezc-otto-workspace #ezc-widget-container.ezc-standalone-mode #ezc-window,
.ezc-otto-workspace #ezc-window .ezc-body,
.ezc-otto-workspace #ezc-tab-chat {
    background: transparent !important;
}

.ezc-workspace-chat-home {
    width: min(940px, calc(100% - 40px));
    padding-top: clamp(28px, 5vh, 48px);
}
.ezc-workspace-home-copy h2 { color: #101828 !important; }
.ezc-workspace-home-copy p { color: #667085 !important; }
.ezc-workspace-home-grid button {
    border-color: #e5e7eb;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    color: #101828;
    box-shadow: 0 6px 18px rgba(16,24,40,.05);
}
.ezc-workspace-home-grid button:hover {
    border-color: #e1cc5a;
    background: linear-gradient(180deg, #fffdf1 0%, #fff9dd 100%);
    box-shadow: 0 10px 26px rgba(16,24,40,.08);
}
.ezc-workspace-home-grid button > span {
    background: linear-gradient(180deg, #fff9d1 0%, #ffef92 100%);
    color: #6b5a00;
    border: 1px solid #e8d870;
}
.ezc-workspace-home-grid small { color: #667085; }
.ezc-workspace-home-notes { gap: 12px; }
.ezc-workspace-paste-callout,
.ezc-workspace-training-note {
    box-shadow: 0 8px 20px rgba(16,24,40,.04);
}
.ezc-workspace-paste-callout {
    border-color: #edd872;
    background: #fffdf2;
}
.ezc-workspace-paste-callout strong { color: #344054; }
.ezc-workspace-paste-callout small { color: #667085; }

/* Stronger workspace chat contrast. */
.ezc-otto-workspace #ezc-chat-box {
    background: linear-gradient(180deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,0) 100%);
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg {
    border-radius: 16px;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 10px 28px rgba(16,24,40,.07);
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.ai,
.ezc-otto-workspace #ezc-chat-box .ezc-msg.system {
    background: #ffffff !important;
    color: #101828 !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.ai {
    border-left: 4px solid #f0d54a !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.system {
    background: #fffbea !important;
    border-color: #efdf8a !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.user {
    background: linear-gradient(180deg, #fff19a 0%, #ffe450 100%) !important;
    border-color: #ecd14c !important;
    color: #101828 !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg-meta {
    color: #667085 !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg-icon {
    background: #f4f6f8 !important;
    color: #475467 !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg-content,
.ezc-otto-workspace #ezc-chat-box .ezc-chat-paragraph,
.ezc-otto-workspace #ezc-chat-box .ezc-clean-list,
.ezc-otto-workspace #ezc-chat-box .ezc-clean-list li {
    color: #101828 !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-chat-heading {
    color: #7a6700 !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-chat-subheading {
    color: #344054 !important;
}
.ezc-otto-workspace #ezc-chat-box .ezc-inline-code {
    background: #f2f4f7 !important;
    color: #344054 !important;
}

.ezc-otto-workspace #ezc-internal-active-mode {
    border-color: #ecd979 !important;
    background: linear-gradient(180deg, #fffdf1 0%, #fff7d4 100%) !important;
    color: #5a4c00 !important;
    box-shadow: 0 6px 16px rgba(16,24,40,.04);
}
.ezc-workspace-composer-note { color: #667085; }
.ezc-workspace-composer-note.is-highlighted {
    color: #7a6700;
    font-weight: 700;
}
.ezc-otto-workspace .ezc-input-wrapper {
    border-color: #d5dbe3 !important;
    border-radius: 14px;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 12px 30px rgba(16,24,40,.10);
}
.ezc-otto-workspace .ezc-input-wrapper:focus-within {
    border-color: #d7c55a !important;
    box-shadow: 0 0 0 3px rgba(255,230,0,.14), 0 14px 34px rgba(16,24,40,.10);
}
.ezc-otto-workspace #ezc-input { color: #101828 !important; }
.ezc-otto-workspace #ezc-input::placeholder { color: #98a2b3 !important; }
.ezc-otto-workspace .ezc-otto-attach-button {
    border-color: #d5dbe3 !important;
    background: #f8fafc !important;
    color: #475467 !important;
}
.ezc-otto-workspace #ezc-send {
    border-color: #d6c100 !important;
    background: linear-gradient(180deg, #ffe95c 0%, #ffe000 100%) !important;
    color: #111827 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}

/* Hide the old inline starter row in workspace mode; the home cards already do this job better. */
.ezc-otto-workspace .ezc-internal-starters {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Archive: make it obvious how to go back. */
.ezc-otto-workspace .ezc-internal-archive-panel {
    background: transparent !important;
    color: #101828 !important;
}
.ezc-otto-workspace .ezc-internal-archive-head {
    align-items: center;
}
.ezc-otto-workspace #ezc-close-chat-archive {
    min-height: 36px;
    padding: 0 14px;
    border: 1px solid #d6c55b !important;
    border-radius: 999px;
    background: #fff9d6 !important;
    color: #6b5a00 !important;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
}
.ezc-otto-workspace #ezc-close-chat-archive:hover {
    background: #ffe600 !important;
    color: #111827 !important;
}
.ezc-otto-workspace .ezc-internal-archive-searchbar {
    border-color: #d5dbe3 !important;
    box-shadow: 0 6px 16px rgba(16,24,40,.04);
}
.ezc-otto-workspace .ezc-internal-archive-row {
    box-shadow: 0 6px 18px rgba(16,24,40,.04);
}
.ezc-otto-workspace.is-archive-open .ezc-workspace-chat-home,
.ezc-otto-workspace.is-archive-open #ezc-internal-active-mode,
.ezc-otto-workspace.is-archive-open .ezc-workspace-composer-note,
.ezc-otto-workspace.is-archive-open #ezc-otto-attachment-preview,
.ezc-otto-workspace.is-archive-open .ezc-input-wrapper {
    display: none !important;
}

/* Keep the embedded Operations Hub view clean. */
.ezc-otto-workspace.is-hub-embed {
    width: 100%;
    margin: 0;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
}
.ezc-otto-workspace.is-hub-embed .ezc-workspace-masthead {
    background: linear-gradient(135deg, #fffef9 0%, #f8f5eb 100%);
}

@media (max-width: 720px) {
    .ezc-workspace-rail {
        background: #faf8f2;
    }
    .ezc-workspace-pagebar {
        background: #ffffff;
    }
    .ezc-workspace-chat-home {
        width: calc(100% - 24px);
    }
    .ezc-otto-workspace.is-archive-open .ezc-input-wrapper {
        display: none !important;
    }
}


/* ===== 5.5.13 visible accent pass ===== */
.ezc-workspace-masthead {
    position: relative;
}
.ezc-workspace-masthead::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    background: linear-gradient(90deg, #ffe600 0%, #f4cf00 22%, rgba(255,230,0,.12) 68%, transparent 100%);
}
.ezc-workspace-main {
    background:
        radial-gradient(circle at 80% 14%, rgba(255,230,0,.07), transparent 24%),
        linear-gradient(180deg, #fbfaf7 0%, #f3f0e8 100%);
}
.ezc-workspace-pagebar {
    box-shadow: 0 1px 0 rgba(16,24,40,.03), 0 8px 24px rgba(16,24,40,.025);
}
.ezc-workspace-home-grid button:nth-child(2),
.ezc-workspace-home-grid button:nth-child(4) {
    background: linear-gradient(180deg, #fffef8 0%, #fffbed 100%);
}
.ezc-workspace-home-copy > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 1px solid #eadb83;
    border-radius: 999px;
    background: #fff9d9;
    color: #6f5d00;
}
.ezc-workspace-home-copy > span::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #e3c600;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.ai::before {
    content: "OTTO";
    display: inline-block;
    margin: 0 0 8px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #fff5b8;
    color: #6a5900;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}
.ezc-otto-workspace #ezc-chat-box .ezc-msg.user::before {
    content: "YOU";
    display: inline-block;
    margin: 0 0 8px;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.55);
    color: #5c4e00;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}


/* ===== EZConnect 5.5.14: composer/button polish ===== */
.ezc-otto-workspace .ezc-input-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px !important;
}
.ezc-otto-workspace .ezc-otto-attach-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 92px;
    height: 42px;
    padding: 0 16px;
    border-radius: 12px;
    border: 1px solid #d0d7e2 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important;
    color: #344054 !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.75);
}
.ezc-otto-workspace .ezc-otto-attach-button:hover {
    border-color: #c4ccd8 !important;
    background: #f8fafc !important;
    color: #101828 !important;
}
.ezc-otto-workspace #ezc-input {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    min-height: 42px;
    padding: 0 4px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.ezc-otto-workspace #ezc-input:focus {
    border: 0 !important;
    box-shadow: none !important;
}
.ezc-otto-workspace #ezc-send {
    flex: 0 0 auto;
    min-width: 118px;
    height: 42px;
    margin-left: auto;
    padding: 0 18px;
    border-radius: 12px;
    white-space: nowrap;
}
.ezc-otto-workspace .ezc-workspace-pagebar-actions button,
.ezc-otto-workspace #ezc-close-chat-archive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap;
}
.ezc-otto-workspace #ezc-close-chat-archive {
    min-width: 110px;
    min-height: 38px;
    padding: 0 16px !important;
    line-height: 1.1;
}

@media (max-width: 720px) {
    .ezc-otto-workspace .ezc-input-wrapper {
        gap: 8px;
        padding: 8px !important;
    }
    .ezc-otto-workspace .ezc-otto-attach-button {
        min-width: 82px;
        padding: 0 12px;
        font-size: 12px;
    }
    .ezc-otto-workspace #ezc-send {
        min-width: 104px;
        padding: 0 14px;
    }
    .ezc-otto-workspace #ezc-close-chat-archive {
        min-width: 102px;
        padding: 0 14px !important;
    }
}
