/* ==========================================================================
   Colosian Markets — Creator Terminal
   ========================================================================== */

.creator-page {
    --creator-border: rgba(255, 255, 255, 0.075);
    --creator-border-strong: rgba(255, 255, 255, 0.12);

    --creator-surface: rgba(255, 255, 255, 0.014);
    --creator-surface-hover: rgba(255, 255, 255, 0.032);

    --creator-text: rgba(255, 255, 255, 0.92);
    --creator-soft: rgba(255, 255, 255, 0.58);
    --creator-muted: rgba(255, 255, 255, 0.39);
    --creator-dim: rgba(255, 255, 255, 0.24);

    --creator-green: #20c997;
    --creator-red: #ff6b6b;

    display: grid;
    grid-template-rows:
        auto auto minmax(0, 1fr);

    gap: 8px;

    width: 100%;
    min-width: 0;

    padding: 12px 18px 18px;
}


/* ==========================================================================
   Shared terminal strip
   ========================================================================== */

.creator-terminal-strip {
    min-width: 0;

    border:
        1px solid var(--creator-border);

    border-radius: 7px;

    background:
        linear-gradient(180deg,
            rgba(255, 255, 255, 0.018),
            rgba(255, 255, 255, 0.006));

    overflow: hidden;
}


/* ==========================================================================
   Asset strip
   ========================================================================== */

.creator-asset-strip {
    display: grid;

    grid-template-columns:
        minmax(240px, 1.45fr) minmax(110px, 0.7fr) minmax(105px, 0.65fr) minmax(105px, 0.65fr) minmax(100px, 0.62fr) auto;

    min-height: 68px;
}


.creator-asset-strip>* {
    min-width: 0;

    border-right:
        1px solid var(--creator-border);
}


.creator-asset-strip>*:last-child {
    border-right: 0;
}


/* ==========================================================================
   Identity
   ========================================================================== */

.creator-asset-strip__identity {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 7px;

    padding: 10px 13px;
}


.creator-terminal-label,
.creator-terminal-metric span,
.creator-intelligence-cell span,
.creator-panel-header__eyebrow {
    color:
        var(--creator-dim);

    font-size: 7px;
    font-weight: 800;

    line-height: 1;

    letter-spacing: 0.17em;

    text-transform: uppercase;
}


.creator-asset-strip__identity-row {
    display: flex;
    align-items: baseline;

    gap: 8px;

    min-width: 0;
}


.creator-asset-strip__name {
    overflow: hidden;

    color:
        var(--creator-text);

    font-size: 15px;
    font-weight: 650;

    line-height: 1.15;

    letter-spacing: -0.025em;

    text-overflow: ellipsis;
    white-space: nowrap;
}


.creator-asset-strip__symbol {
    flex: 0 0 auto;

    color:
        rgba(255, 255, 255, 0.58);

    font-size: 9px;
    font-weight: 750;

    letter-spacing: 0.08em;
}


.creator-asset-strip__niche {
    overflow: hidden;

    color:
        var(--creator-dim);

    font-size: 8px;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ==========================================================================
   Primary metrics
   ========================================================================== */

.creator-terminal-metric {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 7px;

    padding: 10px 13px;
}


.creator-terminal-metric strong {
    overflow: hidden;

    color:
        var(--creator-text);

    font-size: 13px;
    font-weight: 650;

    line-height: 1;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ==========================================================================
   Asset actions
   ========================================================================== */

.creator-asset-strip__actions {
    display: flex;
    align-items: center;

    gap: 5px;

    padding: 8px;
}


.creator-terminal-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 34px;

    padding:
        0 11px;

    border:
        1px solid var(--creator-border-strong);

    border-radius: 4px;

    outline: none;

    background:
        rgba(255, 255, 255, 0.025);

    color:
        rgba(255, 255, 255, 0.68);

    font-family: inherit;

    font-size: 7px;
    font-weight: 800;

    letter-spacing: 0.12em;

    text-decoration: none;

    white-space: nowrap;

    cursor: pointer;

    transition:
        background 140ms ease,
        border-color 140ms ease,
        color 140ms ease;
}


.creator-terminal-action:hover {
    border-color:
        rgba(255, 255, 255, 0.18);

    background:
        rgba(255, 255, 255, 0.06);

    color: white;
}


/* ==========================================================================
   YouTube
   ========================================================================== */

.creator-terminal-action--youtube {
    color:
        rgba(255, 255, 255, 0.58);
}


/* ==========================================================================
   Buy
   ========================================================================== */

.creator-terminal-action--buy {
    border-color:
        rgba(32, 201, 151, 0.24);

    background:
        rgba(32, 201, 151, 0.065);

    color:
        var(--creator-green);
}


.creator-terminal-action--buy:hover {
    border-color:
        rgba(32, 201, 151, 0.4);

    background:
        rgba(32, 201, 151, 0.12);

    color:
        #45ddb0;
}


/* ==========================================================================
   Sell
   ========================================================================== */

.creator-terminal-action--sell {
    border-color:
        rgba(255, 107, 107, 0.22);

    background:
        rgba(255, 107, 107, 0.055);

    color:
        var(--creator-red);
}


.creator-terminal-action--sell:hover {
    border-color:
        rgba(255, 107, 107, 0.4);

    background:
        rgba(255, 107, 107, 0.11);

    color:
        #ff8585;
}


/* ==========================================================================
   Intelligence strip
   ========================================================================== */

.creator-intelligence-strip {
    display: grid;

    grid-template-columns:
        minmax(155px, 0.85fr) minmax(105px, 0.55fr) minmax(105px, 0.55fr) minmax(105px, 0.55fr) minmax(300px, 2fr);

    min-height: 61px;
}


.creator-intelligence-cell {
    display: flex;
    flex-direction: column;
    justify-content: center;

    gap: 7px;

    min-width: 0;

    padding: 9px 13px;

    border-right:
        1px solid var(--creator-border);
}


.creator-intelligence-cell:last-child {
    border-right: 0;
}


.creator-intelligence-cell strong {
    overflow: hidden;

    color:
        rgba(255, 255, 255, 0.79);

    font-size: 11px;
    font-weight: 600;

    line-height: 1.25;

    text-overflow: ellipsis;
    white-space: nowrap;
}


.creator-intelligence-cell--logic strong {
    color:
        var(--creator-soft);

    font-size: 10px;
    font-weight: 500;
}


/* ==========================================================================
   Main terminal workspace
   ========================================================================== */

.creator-terminal-workspace {
    display: grid;

    grid-template-columns:
        minmax(0, 3fr) minmax(260px, 0.92fr);

    min-width: 0;

    min-height: 0;

    border:
        1px solid var(--creator-border);

    border-radius: 7px;

    background:
        linear-gradient(180deg,
            rgba(255, 255, 255, 0.012),
            rgba(255, 255, 255, 0.004));

    overflow: hidden;
}


.creator-workspace-panel {
    min-width: 0;

    background:
        rgba(0, 0, 0, 0.025);
}


.creator-chart-card {
    border-right:
        1px solid var(--creator-border);
}


.creator-news-card {
    background:
        rgba(0, 0, 0, 0.055);
}


/* ==========================================================================
   Panel headers
   ========================================================================== */

.creator-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 14px;

    min-height: 51px;

    padding:
        8px 12px;

    border-bottom:
        1px solid var(--creator-border);
}


.creator-panel-header>div {
    display: flex;
    flex-direction: column;

    gap: 6px;

    min-width: 0;
}


.creator-panel-header h2 {
    overflow: hidden;

    margin: 0;

    color:
        rgba(255, 255, 255, 0.82);

    font-size: 10px;
    font-weight: 650;

    line-height: 1.1;

    letter-spacing: 0.005em;

    text-overflow: ellipsis;
    white-space: nowrap;
}


.creator-panel-header__meta {
    flex: 0 0 auto;

    color:
        var(--creator-dim);

    font-size: 7px;
    font-weight: 750;

    letter-spacing: 0.11em;

    text-transform: uppercase;

    white-space: nowrap;
}


/* ==========================================================================
   Chart
   ========================================================================== */

.creator-chart-card__canvas {
    display: flex;
    align-items: stretch;

    width: 100%;

    min-height: 0;

    overflow: hidden;
}


.creator-chart-card .charts-svg,
.creator-chart-svg {
    display: block;

    width: 100%;

    min-width: 0;

    height: auto;
}


/* ==========================================================================
   Chart grid
   ========================================================================== */

.creator-page .charts-grid-line {
    stroke:
        rgba(255, 255, 255, 0.055);

    stroke-width: 1;
}


.creator-page .charts-grid-line--vertical {
    stroke-dasharray:
        4 7;
}


/* ==========================================================================
   Chart axes
   ========================================================================== */

.creator-page .charts-axis-label {
    fill:
        rgba(255, 255, 255, 0.47);

    font-size: 12px;
    font-weight: 500;

    letter-spacing: 0.01em;
}


.creator-page .charts-axis-label--y {
    text-anchor: start;
}


.creator-page .charts-axis-label--x {
    text-anchor: middle;
}


/* ==========================================================================
   Price line
   ========================================================================== */

.creator-page .charts-line {
    fill: none;

    stroke:
        var(--creator-green);

    stroke-width: 3;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.creator-page .charts-point {
    fill:
        var(--creator-green);

    stroke:
        rgba(17, 19, 21, 1);

    stroke-width: 2;
}


/* ==========================================================================
   Creator news
   ========================================================================== */

.creator-news-list {
    max-height: 430px;

    overflow-y: auto;
}


.creator-news-item {
    display: grid;

    grid-template-columns:
        24px minmax(0, 1fr) 16px;

    gap: 8px;

    align-items: start;

    min-width: 0;

    padding:
        12px 11px;

    border-bottom:
        1px solid var(--creator-border);

    background:
        transparent;

    color: inherit;

    text-decoration: none;

    transition:
        background 140ms ease;
}


.creator-news-item:hover {
    background:
        var(--creator-surface-hover);
}


.creator-news-item__index {
    padding-top: 2px;

    color:
        var(--creator-dim);

    font-size: 7px;
    font-weight: 700;
}


.creator-news-item__content {
    min-width: 0;
}


.creator-news-item__title {
    display: -webkit-box;

    overflow: hidden;

    margin: 0;

    color:
        rgba(255, 255, 255, 0.77);

    font-size: 10px;
    font-weight: 600;

    line-height: 1.4;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}


.creator-news-item__meta {
    overflow: hidden;

    margin:
        6px 0 0;

    color:
        var(--creator-dim);

    font-size: 7px;

    text-overflow: ellipsis;
    white-space: nowrap;
}


.creator-news-item__arrow {
    padding-top: 1px;

    color:
        var(--creator-dim);

    font-size: 9px;
}


/* ==========================================================================
   Empty news
   ========================================================================== */

.creator-news-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 260px;

    padding: 24px;

    text-align: center;
}


.creator-news-empty__mark {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    margin-bottom: 3px;

    border:
        1px solid var(--creator-border);

    border-radius: 50%;

    color:
        var(--creator-dim);

    font-size: 8px;
    font-weight: 800;
}


.creator-news-empty strong {
    color:
        rgba(255, 255, 255, 0.48);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 0.12em;
}


.creator-news-empty>span:last-child {
    max-width: 210px;

    color:
        var(--creator-dim);

    font-size: 8px;

    line-height: 1.5;
}


/* ==========================================================================
   Generic empty/loading
   ========================================================================== */

.creator-empty,
.creator-loading-state {
    display: grid;

    place-items: center;

    min-height: 260px;

    color:
        var(--creator-dim);

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 0.12em;
}


.creator-loading-state {
    min-height: 400px;

    border:
        1px solid var(--creator-border);

    border-radius: 7px;
}


/* ==========================================================================
   Buy / Sell summary
   ========================================================================== */

.buy-sell-summary-list {
    display: flex;
    flex-direction: column;

    gap: 0.75rem;
}


.buy-sell-summary-row {
    display: flex;
    justify-content: space-between;

    gap: 1rem;

    padding:
        0.8rem 0;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.05);
}


.buy-sell-summary-row:last-child {
    border-bottom: 0;
}


.buy-sell-summary-row span {
    color:
        var(--color-text-muted);
}


.buy-sell-summary-row strong {
    color:
        var(--color-text);

    text-align: right;
}


/* ==========================================================================
   Scrollbars
   ========================================================================== */

.creator-page * {
    scrollbar-width: thin;

    scrollbar-color:
        rgba(255, 255, 255, 0.12) transparent;
}


.creator-page *::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}


.creator-page *::-webkit-scrollbar-thumb {
    background:
        rgba(255, 255, 255, 0.12);
}


/* ==========================================================================
   Responsive — medium desktop
   ========================================================================== */

@media (max-width: 1250px) {

    .creator-asset-strip {
        grid-template-columns:
            minmax(210px, 1.25fr) minmax(95px, 0.6fr) minmax(90px, 0.55fr) minmax(90px, 0.55fr) minmax(90px, 0.55fr) auto;
    }


    .creator-terminal-action {
        padding:
            0 8px;
    }


    .creator-intelligence-strip {
        grid-template-columns:
            minmax(140px, 0.8fr) minmax(90px, 0.5fr) minmax(90px, 0.5fr) minmax(90px, 0.5fr) minmax(240px, 1.65fr);
    }


    .creator-terminal-workspace {
        grid-template-columns:
            minmax(0, 2.7fr) minmax(240px, 0.9fr);
    }
}


/* ==========================================================================
   Responsive — laptop
   ========================================================================== */

@media (max-width: 1050px) {

    .creator-asset-strip {
        grid-template-columns:
            minmax(200px, 1.4fr) repeat(4,
                minmax(82px, 0.6fr));
    }


    .creator-asset-strip__actions {
        grid-column:
            1 / -1;

        border-top:
            1px solid var(--creator-border);

        border-right: 0;

        justify-content: flex-end;
    }


    .creator-intelligence-strip {
        grid-template-columns:
            repeat(4,
                minmax(0, 1fr));
    }


    .creator-intelligence-cell--logic {
        grid-column:
            1 / -1;

        border-top:
            1px solid var(--creator-border);

        border-right: 0;
    }


    .creator-terminal-workspace {
        grid-template-columns:
            minmax(0, 2fr) minmax(235px, 0.8fr);
    }
}


/* ==========================================================================
   Responsive — tablet/mobile
   ========================================================================== */

@media (max-width: 760px) {

    .creator-page {
        display: flex;
        flex-direction: column;

        gap: 8px;

        padding:
            10px 12px 18px;
    }


    .creator-asset-strip {
        grid-template-columns:
            repeat(2,
                minmax(0, 1fr));
    }


    .creator-asset-strip__identity {
        grid-column:
            1 / -1;

        border-right: 0;

        border-bottom:
            1px solid var(--creator-border);
    }


    .creator-terminal-metric {
        border-bottom:
            1px solid var(--creator-border);
    }


    .creator-asset-strip__actions {
        grid-column:
            1 / -1;

        justify-content: stretch;
    }


    .creator-terminal-action {
        flex: 1;
    }


    .creator-intelligence-strip {
        grid-template-columns:
            repeat(2,
                minmax(0, 1fr));
    }


    .creator-intelligence-cell--logic {
        grid-column:
            1 / -1;
    }


    .creator-terminal-workspace {
        display: flex;
        flex-direction: column;
    }


    .creator-chart-card {
        border-right: 0;

        border-bottom:
            1px solid var(--creator-border);
    }


    .creator-chart-card__canvas {
        overflow-x: auto;
    }


    .creator-chart-card .charts-svg,
    .creator-chart-svg {
        min-width: 760px;
    }


    .creator-news-list {
        max-height: none;
    }


    .buy-sell-summary-row {
        flex-direction: column;
        align-items: flex-start;
    }


    .buy-sell-summary-row strong {
        text-align: left;
    }
}