:root {
    --studio-ink: #18212f;
    --studio-muted: #667085;
    --studio-panel: rgba(255, 255, 255, 0.92);
    --studio-line: rgba(15, 23, 42, 0.08);
    --studio-cyan: #0891b2;
    --studio-rose: #e11d48;
    --studio-amber: #d97706;
    --studio-emerald: #059669;
}

body {
    background:
        linear-gradient(135deg, rgba(8, 145, 178, 0.08), transparent 34%),
        linear-gradient(315deg, rgba(225, 29, 72, 0.06), transparent 32%),
        #f6f7fb;
}

.fi-sidebar {
    border-inline-end: 1px solid var(--studio-line);
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(18px);
}

.fi-topbar {
    border-bottom: 1px solid var(--studio-line);
    background: rgba(255, 255, 255, 0.82);
    backdrop-filter: blur(18px);
}

.studio-brand-mark {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, var(--studio-cyan), var(--studio-rose));
    color: #fff;
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0;
    box-shadow: 0 12px 30px rgba(8, 145, 178, 0.24);
}

.studio-brand-name {
    color: var(--studio-ink);
    font-weight: 760;
    letter-spacing: 0;
}

.fi-sidebar-nav-groups {
    gap: 1.1rem;
}

.fi-sidebar-group-label {
    color: var(--studio-muted);
    font-size: 0.72rem;
    font-weight: 760;
    letter-spacing: 0;
    text-transform: uppercase;
}

.fi-sidebar-item-button {
    border-radius: 0.5rem;
}

.fi-sidebar-item-active .fi-sidebar-item-button {
    background: linear-gradient(90deg, rgba(8, 145, 178, 0.14), rgba(225, 29, 72, 0.08));
}

.fi-main {
    color: var(--studio-ink);
}

.fi-section,
.fi-wi-stats-overview-stat,
.fi-ta-ctn {
    border: 1px solid var(--studio-line);
    border-radius: 0.5rem;
    background: var(--studio-panel);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.045);
}

.fi-section-header,
.fi-ta-header {
    border-bottom-color: var(--studio-line);
}

.fi-btn {
    border-radius: 0.5rem;
    font-weight: 650;
}

.fi-badge {
    border-radius: 999px;
    font-weight: 680;
}

.fi-input-wrp,
.fi-fo-select,
.fi-fo-textarea {
    border-radius: 0.5rem;
}

.fi-ta-row:hover {
    background: rgba(8, 145, 178, 0.04);
}

.fi-wi-stats-overview-stat {
    overflow: hidden;
    position: relative;
}

.fi-wi-stats-overview-stat::after {
    position: absolute;
    right: 1rem;
    bottom: 0;
    left: 1rem;
    height: 0.2rem;
    border-radius: 999px;
    background: rgba(8, 145, 178, 0.52);
    content: "";
}

.fi-wi-stats-overview-stat:nth-child(2)::after {
    background: rgba(217, 119, 6, 0.52);
}

.fi-wi-stats-overview-stat:nth-child(3)::after {
    background: rgba(5, 150, 105, 0.52);
}

.fi-wi-stats-overview-stat:nth-child(4)::after {
    background: rgba(225, 29, 72, 0.52);
}

.fi-in-repeatable {
    gap: 0.9rem;
}

.fi-in-repeatable-item {
    overflow: hidden;
    border: 1px solid var(--studio-line);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.7);
}

.studio-flow-panel {
    display: grid;
    gap: 1rem;
}

.studio-flow-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.studio-flow-step {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.65rem;
    border: 1px solid var(--studio-line);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.74);
    padding: 0.78rem;
}

.studio-flow-marker {
    display: inline-flex;
    width: 1.9rem;
    height: 1.9rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eef2f7;
    color: var(--studio-muted);
    font-size: 0.78rem;
    font-weight: 780;
}

.studio-flow-copy {
    min-width: 0;
}

.studio-flow-label,
.studio-flow-meta {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.studio-flow-label {
    color: var(--studio-ink);
    font-size: 0.88rem;
    font-weight: 760;
}

.studio-flow-meta {
    color: var(--studio-muted);
    font-size: 0.76rem;
}

.studio-flow-step.is-done {
    border-color: rgba(5, 150, 105, 0.22);
    background: rgba(5, 150, 105, 0.07);
}

.studio-flow-step.is-done .studio-flow-marker {
    background: var(--studio-emerald);
    color: #fff;
}

.studio-flow-step.is-current {
    border-color: rgba(8, 145, 178, 0.28);
    background: rgba(8, 145, 178, 0.08);
}

.studio-flow-step.is-current .studio-flow-marker {
    background: var(--studio-cyan);
    color: #fff;
}

.studio-flow-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.studio-flow-metrics div {
    min-width: 0;
    border: 1px solid var(--studio-line);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.62);
    padding: 0.72rem 0.78rem;
}

.studio-flow-metrics span,
.studio-flow-metrics small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.studio-flow-metrics span {
    color: var(--studio-ink);
    font-size: 0.92rem;
    font-weight: 780;
}

.studio-flow-metrics small {
    color: var(--studio-muted);
    font-size: 0.74rem;
}

.studio-chip {
    display: inline-flex;
    min-height: 1.55rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eef2f7;
    color: var(--studio-muted);
    font-size: 0.72rem;
    font-weight: 760;
    padding: 0.16rem 0.55rem;
    white-space: nowrap;
}

.studio-chip.is-ready,
.studio-chip.is-configured,
.studio-chip.is-approved {
    background: rgba(5, 150, 105, 0.12);
    color: #047857;
}

.studio-chip.is-pending,
.studio-chip.is-needs_key {
    background: rgba(217, 119, 6, 0.14);
    color: #b45309;
}

.studio-chip.is-failed,
.studio-chip.is-error,
.studio-chip.is-blocked {
    background: rgba(225, 29, 72, 0.12);
    color: #be123c;
}

.studio-chip.is-paused {
    background: rgba(100, 116, 139, 0.12);
    color: #475569;
}

.studio-asset-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.studio-asset-card {
    display: grid;
    grid-template-columns: minmax(9rem, 0.45fr) minmax(0, 1fr);
    overflow: hidden;
    border: 1px solid var(--studio-line);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.78);
}

.studio-asset-preview {
    display: flex;
    min-height: 12rem;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(135deg, rgba(8, 145, 178, 0.1), transparent 42%),
        #edf2f7;
}

.studio-asset-preview img,
.studio-asset-preview video {
    width: 100%;
    height: 100%;
    max-height: 20rem;
    object-fit: cover;
}

.studio-asset-placeholder {
    display: flex;
    width: 4.25rem;
    height: 4.25rem;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(8, 145, 178, 0.24);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.74);
    color: var(--studio-cyan);
    font-size: 0.84rem;
    font-weight: 800;
}

.studio-asset-placeholder span {
    max-width: 3.6rem;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.studio-audio-preview {
    display: grid;
    width: min(100%, 18rem);
    gap: 0.9rem;
    padding: 1rem;
}

.studio-audio-preview span {
    display: inline-flex;
    width: 4.25rem;
    height: 4.25rem;
    align-items: center;
    justify-content: center;
    justify-self: center;
    border: 1px solid rgba(217, 119, 6, 0.24);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.74);
    color: var(--studio-amber);
    font-size: 0.78rem;
    font-weight: 800;
}

.studio-audio-preview audio {
    width: 100%;
}

.studio-asset-body {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    padding: 0.95rem;
}

.studio-asset-head {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.studio-asset-head div {
    min-width: 0;
}

.studio-asset-head strong,
.studio-asset-head span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.studio-asset-head strong {
    color: var(--studio-ink);
    font-size: 0.94rem;
    font-weight: 780;
}

.studio-asset-head span {
    color: var(--studio-muted);
    font-size: 0.76rem;
}

.studio-asset-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
    margin: 0;
}

.studio-asset-meta div {
    min-width: 0;
}

.studio-asset-meta dt,
.studio-asset-meta dd {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.studio-asset-meta dt {
    color: var(--studio-muted);
    font-size: 0.7rem;
    font-weight: 720;
}

.studio-asset-meta dd {
    margin: 0;
    color: var(--studio-ink);
    font-size: 0.8rem;
    font-weight: 650;
}

.studio-asset-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.studio-asset-actions a {
    display: inline-flex;
    min-height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background: var(--studio-ink);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 720;
    padding: 0.32rem 0.7rem;
    text-decoration: none;
}

.studio-asset-actions a:first-child:not(:last-child) {
    background: var(--studio-cyan);
}

.studio-provider-card {
    display: grid;
    gap: 1rem;
    border: 1px solid var(--studio-line);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.78);
    padding: 1rem;
}

.studio-provider-card.is-ready {
    border-color: rgba(5, 150, 105, 0.24);
    background: rgba(5, 150, 105, 0.06);
}

.studio-provider-card.is-needs_key {
    border-color: rgba(217, 119, 6, 0.28);
    background: rgba(217, 119, 6, 0.07);
}

.studio-provider-top {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.8rem;
}

.studio-provider-top div {
    min-width: 0;
    flex: 1;
}

.studio-provider-mark {
    display: inline-flex;
    width: 2.65rem;
    height: 2.65rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, var(--studio-cyan), var(--studio-rose));
    color: #fff;
    font-size: 0.82rem;
    font-weight: 820;
}

.studio-provider-top h3,
.studio-provider-top p {
    overflow: hidden;
    margin: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.studio-provider-top h3 {
    color: var(--studio-ink);
    font-size: 1rem;
    font-weight: 780;
}

.studio-provider-top p {
    color: var(--studio-muted);
    font-size: 0.78rem;
}

.studio-provider-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.7rem;
}

.studio-provider-metrics div {
    min-width: 0;
    border: 1px solid var(--studio-line);
    border-radius: 0.5rem;
    background: rgba(255, 255, 255, 0.58);
    padding: 0.7rem;
}

.studio-provider-metrics span,
.studio-provider-metrics small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.studio-provider-metrics span {
    color: var(--studio-ink);
    font-size: 0.88rem;
    font-weight: 760;
}

.studio-provider-metrics small {
    color: var(--studio-muted);
    font-size: 0.72rem;
}

.studio-empty-panel {
    border: 1px dashed rgba(100, 116, 139, 0.32);
    border-radius: 0.5rem;
    color: var(--studio-muted);
    padding: 1rem;
}

@media (max-width: 1024px) {
    .studio-flow-grid,
    .studio-flow-metrics,
    .studio-asset-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .studio-asset-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .studio-flow-grid,
    .studio-flow-metrics,
    .studio-asset-grid,
    .studio-provider-metrics {
        grid-template-columns: 1fr;
    }
}
