/* Chrome global "Create" menu — low-emphasis app-wide trigger + flyout
 * panel listing creation actions grouped by job-to-be-done (Records /
 * Engage / Revenue). Replaces the legacy `.fab-items` Apps grid.
 *
 * Fully namespaced via [data-tt-cc-*] selectors — does not collide with
 * .btn / .dropdown-menu / .fab-items rules in default-layout.css. Color
 * tokens align with chrome-search.css. The trigger intentionally uses
 * lower emphasis so page-specific create actions remain the primary CTA.
 *
 * Adaptive sizing matches chrome-search: the full pill remains available
 * on ordinary desktop/laptop pages and collapses only when the header is
 * genuinely cramped.
 */

.tt-chrome-create-host {
    display: inline-flex !important;
    align-items: center;
    height: 40px;
    padding: 0 !important;
    flex-shrink: 1;
    min-width: 0;
}
.tt-chrome-create-host > a:hover { background: transparent !important; }

[data-tt-cc] {
    --tt-cc-brand: var(--tt-chrome-row-selected-border, #2b7fff);
    --tt-cc-brand-dark: var(--ds-color-action-primary-hover, #1d4ed8);
    --tt-cc-teal: var(--ds-color-action-primary, #2563eb);
    --tt-cc-teal-accent: var(--tt-chrome-row-selected-border, #2b7fff);
    --tt-cc-green-border: var(--tt-chrome-create-border, #2b7fff);
    --tt-cc-green-border-strong: var(--tt-chrome-row-selected-border, #2b7fff);
    --tt-cc-teal-soft: var(--tt-chrome-row-selected-bg, #e8f3ff);
    --tt-cc-brand-soft: var(--tt-chrome-row-selected-bg, #e8f3ff);
    --tt-cc-border: #d9e2ec;
    --tt-cc-border-soft: #eef2f6;
    --tt-cc-text: #1f2937;
    --tt-cc-muted: #64748b;
    --tt-cc-faint: #94a3b8;
    --tt-cc-bg-soft: var(--ds-surface-secondary-menu, #f8fafc);
    --tt-cc-shadow: 0 24px 56px -16px rgba(15, 23, 42, .18), 0 4px 12px -4px rgba(15, 23, 42, .08);

    position: relative;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    margin: 0 12px 0 0;
}

[data-tt-cc-trigger] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 32px;
    padding: 0 12px;
    background: #ffffff;
    color: var(--tt-cc-text);
    border: 1px solid var(--tt-cc-green-border);
    border-radius: 8px;
    font: 600 13px inherit;
    cursor: pointer;
    transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
    line-height: 1;
    white-space: nowrap;
}
[data-tt-cc-trigger]:hover {
    background: var(--tt-cc-teal-soft);
    border-color: var(--tt-cc-green-border-strong);
    color: var(--tt-cc-teal);
}
[data-tt-cc][aria-expanded="true"] [data-tt-cc-trigger],
[data-tt-cc-trigger]:focus-visible {
    background: var(--tt-cc-teal-soft);
    border-color: var(--tt-cc-green-border-strong);
    color: var(--tt-cc-teal);
    box-shadow: 0 0 0 3px rgba(0, 184, 200, .18) !important;
    outline: none;
}
[data-tt-cc-trigger] [data-tt-cc-icon] {
    display: inline-flex;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
}
[data-tt-cc-trigger] [data-tt-cc-icon] svg { width: 14px; height: 14px; }
[data-tt-cc-trigger] [data-tt-cc-label] {
    display: inline-block;
}
[data-tt-cc-trigger] [data-tt-cc-kbd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border: 1px solid var(--tt-cc-border);
    border-radius: 4px;
    background: var(--tt-cc-bg-soft);
    color: var(--tt-cc-muted);
    font: 600 10px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    line-height: 1;
}
[data-tt-cc-trigger]:hover [data-tt-cc-kbd],
[data-tt-cc][aria-expanded="true"] [data-tt-cc-trigger] [data-tt-cc-kbd],
[data-tt-cc-trigger]:focus-visible [data-tt-cc-kbd] {
    border-color: #b7eef3;
    background: #ffffff;
    color: var(--tt-cc-teal);
}

[data-tt-cc-panel] {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    left: auto;
    width: min(360px, calc(100vw - 32px));
    background: var(--tt-chrome-panel-bg, #f8fafc);
    border: 1px solid var(--tt-cc-border);
    border-radius: 12px;
    box-shadow: var(--tt-cc-shadow);
    overflow: hidden;
    z-index: 9999;
}
[data-tt-cc-panel][hidden] { display: none; }

[data-tt-cc-list] {
    max-height: 460px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 0;
    /* Reserve scrollbar gutter in layout so the kbd chip can't be
     * overlaid or clipped on any platform — overlay (macOS/iPad),
     * classic (Windows), or "Always show scrollbars" macOS preference.
     * scrollbar-gutter is the only mechanism that handles all three
     * uniformly; padding alone cannot. */
    scrollbar-gutter: stable;
    scrollbar-width: thin;
}
[data-tt-cc-list]::-webkit-scrollbar { width: 8px; }
[data-tt-cc-list]::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
[data-tt-cc-list]::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
[data-tt-cc-list]::-webkit-scrollbar-track { background: transparent; }
/* See chrome-search.css — same reasoning. Right padding baked into
 * the shorthand rules below so it isn't lost to cascade override. */

[data-tt-cc-section-label] {
    padding: 10px 22px 4px 14px;
    font: 600 10.5px inherit;
    color: var(--tt-cc-faint);
    text-transform: uppercase;
    letter-spacing: .06em;
}

[data-tt-cc-item] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 22px 8px 14px;
    cursor: pointer;
    color: var(--tt-cc-text);
    font-size: 13.5px;
    text-decoration: none;
    border: 0;
    background: transparent;
    width: 100%;
    /* CRITICAL: <a> defaults to content-box, so width:100% + horizontal
     * padding makes the item wider than its parent — pushing the kbd
     * chip past the panel's right edge and (with overflow:hidden) clipping
     * it visually. border-box makes width:100% include the padding. */
    box-sizing: border-box;
    text-align: left;
    line-height: 1.3;
}
[data-tt-cc-section-label] { box-sizing: border-box; }
[data-tt-cc-item]:hover {
    background: var(--tt-cc-bg-soft);
}
/* Keyboard-active row needs to stand out enough that arrow-key
 * navigation is obviously working. Brand-tinted bg + brand-colored
 * label + filled-brand icon makes the active row read clearly even
 * across a list of 11 mostly-similar entries. */
[data-tt-cc-item][data-tt-cc-active="true"] {
    background: var(--tt-cc-brand-soft);
    box-shadow: inset 3px 0 0 var(--tt-cc-brand);
}
[data-tt-cc-item][data-tt-cc-active="true"] [data-tt-cc-item-label] {
    color: var(--tt-cc-brand);
    font-weight: 600;
}
[data-tt-cc-item][data-tt-cc-active="true"] [data-tt-cc-item-icon] {
    background: var(--tt-cc-brand);
    color: #fff;
}
[data-tt-cc-item][data-tt-cc-active="true"] [data-tt-cc-item-kbd] {
    border-color: var(--tt-cc-brand);
    background: #fff;
    color: var(--tt-cc-brand);
}

[data-tt-cc-item-icon] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--tt-cc-bg-soft);
    color: var(--tt-cc-muted);
    transition: background .12s ease, color .12s ease;
}
[data-tt-cc-item-icon] svg { width: 15px; height: 15px; }
[data-tt-cc-item-label] {
    flex: 1;
    min-width: 0;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .12s ease;
}
[data-tt-cc-item-kbd] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border: 1px solid var(--tt-cc-border);
    border-radius: 4px;
    background: #fff;
    color: var(--tt-cc-muted);
    font: 600 10px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    line-height: 1;
}

@media (max-width: 1700px) {
    [data-tt-cc] { margin: 0 12px 0 0; }
    [data-tt-cc-trigger] { padding: 0 11px; }
}

@media (max-width: 1500px) {
    [data-tt-cc] { margin: 0 10px 0 0; }
}

@media (max-width: 1180px) {
    [data-tt-cc] { margin: 0 4px 0 0; }
    [data-tt-cc-trigger] { padding: 0 10px; gap: 0; }
    [data-tt-cc-trigger] [data-tt-cc-kbd] { display: none; }
    [data-tt-cc-trigger] [data-tt-cc-label] { display: none; }
}
@media (max-width: 860px) {
    /* Already icon-only; tighten further if the trigger and search both
     * need to coexist in a phone-sized chrome. */
    [data-tt-cc-trigger] { padding: 0 8px; }
}
