:root{
    --producer-ink:#172026;
    --producer-muted:#66717b;
    --producer-line:#d8dee5;
    --producer-bg:#f6f8fa;
    --producer-surface:#ffffff;
    --producer-accent:#0f766e;
    --producer-accent-strong:#134e4a;
    --producer-warm:#b45309;
    --producer-danger:#b91c1c;
}

body{
    background:var(--producer-bg);
}

.producer-shell{
    min-height:calc(100vh - 80px);
    color:var(--producer-ink);
}

.producer-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:18px clamp(16px, 4vw, 40px);
    border-bottom:1px solid var(--producer-line);
    background:#101820;
    color:#fff;
}

.producer-brand{
    display:flex;
    align-items:center;
    gap:12px;
}

.producer-brand img{
    width:44px;
    height:44px;
}

.producer-brand span{
    display:block;
    color:#9bd8d1;
    font-size:.78rem;
    font-weight:700;
    text-transform:uppercase;
}

.producer-brand h1{
    margin:0;
    font-size:1.45rem;
}

.producer-actions,
.producer-submit,
.panel-heading,
.producer-tabs,
.row-actions,
.section-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.producer-workspace{
    display:grid;
    grid-template-columns:minmax(240px, 300px) minmax(0, 1fr);
    gap:18px;
    padding:18px clamp(16px, 4vw, 40px) 32px;
}

.producer-sidebar,
.producer-main{
    display:grid;
    align-content:start;
    gap:18px;
}

.producer-panel,
.brief-grid,
.producer-section{
    border:1px solid var(--producer-line);
    border-radius:8px;
    background:var(--producer-surface);
}

.producer-panel{
    padding:14px;
}

.panel-heading{
    justify-content:space-between;
    margin-bottom:12px;
}

.panel-heading h2,
.producer-section h2{
    margin:0;
    font-size:1rem;
}

.panel-heading button{
    width:32px;
    height:32px;
    border:1px solid var(--producer-line);
    border-radius:6px;
    background:#fff;
    font-size:1.25rem;
    cursor:pointer;
}

.project-list{
    display:grid;
    gap:8px;
}

.project-item{
    width:100%;
    padding:10px;
    border:1px solid var(--producer-line);
    border-radius:6px;
    background:#fff;
    color:var(--producer-ink);
    text-align:left;
    cursor:pointer;
}

.project-item strong,
.project-item span{
    display:block;
}

.project-item span{
    margin-top:3px;
    color:var(--producer-muted);
    font-size:.8rem;
}

.producer-metrics{
    display:grid;
    gap:10px;
    margin:0;
}

.producer-metrics div{
    display:flex;
    justify-content:space-between;
    gap:12px;
}

.producer-metrics dt{
    color:var(--producer-muted);
}

.producer-metrics dd{
    margin:0;
    font-weight:800;
}

.brief-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    padding:16px;
}

.producer-field{
    display:grid;
    gap:7px;
}

.producer-field label{
    font-size:.86rem;
    font-weight:800;
}

.producer-field input,
.producer-field select,
.producer-field textarea{
    width:100%;
    border:1px solid var(--producer-line);
    border-radius:8px;
    padding:11px 12px;
    background:#fff;
    color:var(--producer-ink);
    font:inherit;
}

.producer-field textarea{
    min-height:128px;
    resize:vertical;
    line-height:1.5;
}

.span-2{
    grid-column:span 2;
}

.producer-submit{
    justify-content:space-between;
    flex-wrap:wrap;
}

.primary-button,
.secondary-button{
    border:1px solid transparent;
    border-radius:8px;
    padding:10px 14px;
    font-weight:800;
    cursor:pointer;
}

.primary-button{
    background:var(--producer-accent);
    color:#fff;
}

.primary-button:disabled,
.secondary-button:disabled{
    opacity:.55;
    cursor:not-allowed;
}

.secondary-button{
    border-color:var(--producer-line);
    background:#fff;
    color:var(--producer-ink);
}

.producer-tabs{
    flex-wrap:wrap;
}

.producer-tabs button{
    border:1px solid var(--producer-line);
    border-radius:8px;
    padding:9px 12px;
    background:#fff;
    color:var(--producer-muted);
    font-weight:800;
    cursor:pointer;
}

.producer-tabs button.active{
    border-color:var(--producer-accent);
    background:#e7f5f2;
    color:var(--producer-accent-strong);
}

.producer-section{
    padding:16px;
}

.producer-empty{
    margin:0;
    color:var(--producer-muted);
}

.beat-list,
.shot-grid,
.bible-grid,
.delivery-grid{
    display:grid;
    gap:10px;
    margin-top:12px;
}

.shot-grid{
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
}

.producer-row{
    border:1px solid var(--producer-line);
    border-radius:8px;
    padding:12px;
    background:#fff;
}

.producer-row header{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:8px;
}

.producer-row h3{
    margin:0;
    font-size:.96rem;
}

.producer-row p{
    margin:0;
    color:var(--producer-muted);
    line-height:1.45;
}

.producer-row p + p,
.row-actions{
    margin-top:8px;
}

.take-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:8px;
}

.take-row p{
    min-width:0;
}

.take-row button{
    flex:0 0 auto;
    padding:6px 10px;
}

.section-actions{
    justify-content:flex-end;
    margin-top:-28px;
    margin-bottom:12px;
}

.producer-row a{
    color:var(--producer-accent-strong);
    font-weight:800;
}

.producer-chip{
    display:inline-flex;
    align-items:center;
    height:24px;
    border-radius:999px;
    padding:0 8px;
    background:#eef2f7;
    color:#475569;
    font-size:.75rem;
    font-weight:800;
    white-space:nowrap;
}

.producer-chip.warn{
    background:#fff7ed;
    color:var(--producer-warm);
}

@media (max-width: 900px){
    .producer-workspace,
    .brief-grid{
        grid-template-columns:1fr;
    }

    .span-2{
        grid-column:auto;
    }

    .producer-topbar{
        align-items:flex-start;
        flex-direction:column;
    }
}
