.projects-modal,
.project-edit-modal{
max-height:min(92vh,960px);
overflow-y:auto;
overflow-x:hidden;
position:relative;
width:min(850px,100%);


padding:30px;
border:1px solid transparent;
border-radius:14px;
background:
linear-gradient(#070910,#070910) padding-box,
linear-gradient(135deg,var(--v),var(--p),var(--o)) border-box;
box-shadow:0 28px 85px rgba(0,0,0,.65)
}
.project-edit-modal{width:min(980px,100%)}

.projects-heading,
.project-edit-heading{
display:flex;
align-items:flex-start;
gap:20px;
padding:4px 8px 22px;
border-bottom:1px solid #222635
}
.projects-heading>div,
.project-edit-heading>div{margin-right:auto}
.projects-heading>img{width:54px;height:54px}
.projects-kicker{
margin:0 0 4px;
font-size:11px;
text-transform:uppercase;
letter-spacing:.16em;
color:#d14cff
}
.projects-heading h2,
.project-edit-heading h2{
margin:0;
font-size:34px;
letter-spacing:-.025em
}
.projects-heading p:last-child,
.project-edit-heading p:last-child{
margin:5px 0 0;color:#aaa8b2
}
.projects-list{padding:18px 4px}
.projects-loading{padding:25px;color:#8d8b95;text-align:center}
.project-list-item{
display:grid;
grid-template-columns:62px 1fr auto;
gap:17px;
align-items:center;
padding:12px 14px;
margin-bottom:10px;
border:1px solid #292d3d;
border-radius:9px;
background:#090b13;
cursor:pointer
}
.project-list-item:hover{border-color:#8044a8}
.project-list-thumb{
width:62px;height:62px;border-radius:8px;
display:grid;place-items:center;
overflow:hidden;
background:linear-gradient(135deg,#14152b,#25103a)
}
.project-list-thumb img{width:100%;height:100%;object-fit:cover}
.project-list-thumb .fallback{width:34px;height:34px}
.project-list-copy strong{display:block;font-size:18px}
.project-list-copy span{display:block;color:#97949f;font-size:13px;margin-top:3px}
.project-list-arrow{color:#d44fff;font-size:23px}
.projects-empty{
padding:48px 20px;
text-align:center;
border:1px dashed #303344;
border-radius:10px;
color:#aaa8b2
}
.projects-empty strong{display:block;color:white;font-size:21px;margin-bottom:5px}
.projects-footer{
padding:18px 4px 3px;
border-top:1px solid #222635;
display:flex;justify-content:flex-end
}
.project-add-button,.project-save-button{
border:0;border-radius:7px;
padding:12px 18px;
background:linear-gradient(90deg,var(--v),var(--p),var(--o));
color:white;font-weight:800;text-transform:uppercase;cursor:pointer
}
.project-main-fields{
display:grid;
grid-template-columns:230px 1fr;
gap:30px;
padding:28px 8px
}
.project-image-column{text-align:center}
.project-image-preview{
height:210px;
border:1px solid #303446;
border-radius:10px;
background:linear-gradient(145deg,#0d1020,#140b20);
display:grid;place-items:center;overflow:hidden
}
.project-image-preview>img{
width:100%;height:100%;object-fit:cover
}
#project-image-placeholder img{width:65px;height:65px}
.project-image-button{
display:block;margin-top:12px;
padding:10px 12px;
border:1px solid #b947ff;border-radius:7px;
cursor:pointer;color:#d55aff;font-weight:700
}
.project-image-button input{display:none}
.project-image-column small{
display:block;margin-top:7px;color:#777681;font-size:11px
}
.project-fields-column{padding-top:2px}
.project-name-label>span,.field-label{
display:block;margin-bottom:7px;color:#d0cdd6;font-size:13px
}
.project-name-label input{
width:100%;padding:14px;
border:1px solid #343849;border-radius:8px;
background:#0a0d16;color:white;font:inherit;outline:none
}
.project-name-label input:focus{border-color:#b548ff}
.project-genres-block{margin-top:25px}
.project-genres-block>p{margin:-2px 0 13px;color:#85838d;font-size:13px}
.project-genre-picker{display:flex;flex-wrap:wrap;gap:9px}
.project-genre-chip{
position:relative;
padding:8px 13px;
border:1px solid #343748;
border-radius:999px;
background:#0a0c14;
color:#c6c4cd;
cursor:pointer
}
.project-genre-chip input{
position:absolute;opacity:0;pointer-events:none
}
.project-genre-chip.is-selected{
border-color:transparent;color:white;
background:
linear-gradient(#0a0c14,#0a0c14) padding-box,
linear-gradient(90deg,var(--v),var(--p),var(--o)) border-box
}
.project-placeholder-section{
margin:0 8px 18px;
padding:20px 22px;
display:grid;
grid-template-columns:1fr auto;
gap:22px;
align-items:center;
border:1px solid #292d3d;
border-radius:10px;
background:#080a12
}
.placeholder-number{
text-transform:uppercase;font-size:11px;letter-spacing:.13em;color:#c94dff
}
.project-placeholder-section h3{margin:3px 0;font-size:19px}
.project-placeholder-section p{margin:0;color:#8e8c96;font-size:13px}
.placeholder-empty{
padding:9px 13px;border:1px solid #343747;border-radius:7px;color:#777681;font-size:12px
}
.stats-dummies{display:flex;gap:11px}
.stats-dummies div{
min-width:88px;padding:10px 12px;
border:1px solid #2d3040;border-radius:7px;text-align:center
}
.stats-dummies strong{display:block;font-size:20px}
.stats-dummies span{display:block;color:#777681;font-size:10px;text-transform:uppercase}
.project-edit-footer{
display:flex;align-items:center;gap:20px;
padding:18px 8px 2px;border-top:1px solid #222635
}
.project-message{margin:0 auto 0 0;color:#ff969f;font-size:13px}
.project-message.ok{color:#79e5aa}

@media(max-width:700px){
.projects-modal,.project-edit-modal{padding:23px 18px;max-height:92vh}
.projects-heading h2,.project-edit-heading h2{font-size:29px}
.project-main-fields{grid-template-columns:1fr;padding-left:0;padding-right:0}
.project-image-preview{height:210px;max-width:280px;margin:auto}
.project-placeholder-section{grid-template-columns:1fr;margin-left:0;margin-right:0}
.stats-dummies{flex-wrap:wrap}
.project-edit-footer{flex-direction:column;align-items:stretch}
.project-save-button{width:100%}
.project-list-item{grid-template-columns:54px 1fr auto}
.project-list-thumb{width:54px;height:54px}
}
.project-edit-modal {
}


.project-edit-modal::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(
        180deg,
        #b85cff,
        #f04aad,
        #ff9635
    );
}

/* TRACKS V1 */
.project-songs-section{margin:0 8px 18px;padding:20px 22px;border:1px solid #292d3d;border-radius:10px;background:#080a12}
.project-songs-head{display:flex;gap:20px;align-items:center}
.project-songs-head>div{margin-right:auto}
.project-songs-head h3{margin:3px 0;font-size:19px}
.project-songs-head p{margin:0;color:#8e8c96;font-size:13px}
.track-upload-button{display:inline-block;padding:10px 14px;border:1px solid #c44cff;border-radius:7px;color:#df6aff;font-weight:800;cursor:pointer;white-space:nowrap}
.track-upload-button input{display:none}
.track-upload-button.is-disabled{opacity:.35;pointer-events:none}
.track-upload-status{min-height:18px;margin-top:12px;font-size:12px;color:#aaa8b2}
.track-upload-status.error{color:#ff969f}.track-upload-status.ok{color:#79e5aa}
.project-tracks-list{display:grid;gap:8px;margin-top:4px}
.track-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid #272b3a;border-radius:8px;background:#0b0d15}
.track-cover{width:48px;height:48px;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#14152b,#25103a);display:grid;place-items:center}
.track-cover img{width:100%;height:100%;object-fit:cover}.track-cover img.fallback{width:25px;height:25px;object-fit:contain}
.track-copy strong{display:block}.track-copy span{font-size:11px;color:#777681}
.track-state{font-size:11px;color:#79e5aa;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:700px){.project-songs-head{align-items:flex-start;flex-direction:column}.track-upload-button{width:100%;text-align:center}.project-songs-section{margin-left:0;margin-right:0}}


/* =========================================================
   EARliest BUSY / SAVE / UPLOAD LOADER
   ========================================================= */

.project-edit-modal{
  position:relative;
}

.project-busy-overlay{
  position:absolute;
  z-index:150;
  inset:0;
  display:grid;
  place-items:center;
  border-radius:inherit;
  background:rgba(3,4,10,.68);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

.project-busy-overlay[hidden]{
  display:none !important;
}

.project-busy-box{
  min-width:210px;
  padding:22px 26px;
  border:1px solid transparent;
  border-radius:12px;
  text-align:center;
  background:
    linear-gradient(#080a12,#080a12) padding-box,
    linear-gradient(135deg,var(--v),var(--p),var(--o)) border-box;
  box-shadow:
    0 20px 50px rgba(0,0,0,.45),
    0 0 22px rgba(190,57,224,.13);
}

.project-busy-box img{
  display:block;
  width:58px;
  height:66px;
  margin:0 auto 10px;
  animation:earliest-ear-spin 1.25s linear infinite;
  transform-origin:50% 50%;
  filter:drop-shadow(0 0 8px rgba(205,68,255,.24));
}

.project-busy-box strong{
  display:block;
  font-size:17px;
  color:#f6f4f8;
}

.project-busy-box span{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:#96939d;
}

@keyframes earliest-ear-spin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

.project-save-button:disabled,
.track-upload-button.is-disabled{
  opacity:.5;
  cursor:wait;
}

@media(prefers-reduced-motion:reduce){
  .project-busy-box img{
    animation:none;
  }
}


/* =========================================================
   TRACK EDIT / DELETE V1
   ========================================================= */

.track-row{
  cursor:pointer;
  transition:border-color .14s ease,background .14s ease;
}

.track-row:hover{
  border-color:#6c3f84;
  background:#0d0f19;
}

.track-edit-modal{
  position:relative;
  width:min(720px,100%);
  max-height:90vh;
  overflow-y:auto;
  overflow-x:hidden;
  padding:30px;
  border:1px solid transparent;
  border-radius:14px;
  background:
    linear-gradient(#070910,#070910) padding-box,
    linear-gradient(135deg,var(--v),var(--p),var(--o)) border-box;
  box-shadow:0 28px 85px rgba(0,0,0,.65);
}

.track-edit-heading{
  padding:4px 8px 22px;
  border-bottom:1px solid #222635;
}

.track-edit-heading h2{
  margin:0;
  font-size:31px;
  letter-spacing:-.025em;
}

.track-edit-heading p:last-child{
  margin:5px 0 0;
  color:#aaa8b2;
}

.track-edit-body{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:28px;
  padding:28px 8px;
}

.track-edit-cover-column{
  text-align:center;
}

.track-edit-cover-preview{
  width:190px;
  height:190px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid #303446;
  border-radius:10px;
  background:linear-gradient(145deg,#0d1020,#140b20);
}

.track-edit-cover-preview>img{
  width:100%;
  height:100%;
  object-fit:cover;
}

#track-edit-cover-placeholder img{
  width:58px;
  height:58px;
}

.track-cover-remove-button{
  width:100%;
  margin-top:8px;
  padding:8px 10px;
  border:1px solid #3a3d4d;
  border-radius:7px;
  background:#0a0c14;
  color:#9997a1;
  cursor:pointer;
}

.track-cover-remove-button:hover{
  border-color:#a345be;
  color:#d565ef;
}

.track-edit-cover-column small{
  display:block;
  margin-top:7px;
  color:#777681;
  font-size:11px;
}

.track-edit-fields label>span{
  display:block;
  margin-bottom:7px;
  color:#d0cdd6;
  font-size:13px;
}

.track-edit-fields input[type="text"]{
  width:100%;
  padding:14px;
  border:1px solid #343849;
  border-radius:8px;
  background:#0a0d16;
  color:white;
  font:inherit;
  outline:none;
}

.track-edit-fields input[type="text"]:focus{
  border-color:#b548ff;
}

.track-edit-info{
  margin-top:18px;
  padding:14px 15px;
  border:1px solid #292d3d;
  border-radius:8px;
  color:#96939d;
  font-size:12px;
  line-height:1.65;
}

.track-edit-footer{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 8px 2px;
  border-top:1px solid #222635;
}

.track-delete-button{
  flex:0 0 auto;
  padding:11px 14px;
  border:1px solid #7f303b;
  border-radius:7px;
  background:#16090d;
  color:#ff8d98;
  font-weight:700;
  cursor:pointer;
}

.track-delete-button:hover{
  border-color:#c94354;
  color:#ffb0b8;
}

.track-delete-button:disabled{
  opacity:.45;
  cursor:wait;
}

.track-edit-footer .project-message{
  margin:0 auto;
}

@media(max-width:620px){
  .track-edit-modal{
    padding:23px 18px;
    max-height:94vh;
  }

  .track-edit-body{
    grid-template-columns:1fr;
    padding-left:0;
    padding-right:0;
  }

  .track-edit-cover-preview{
    margin:auto;
  }

  .track-edit-footer{
    flex-direction:column;
    align-items:stretch;
  }

  .track-edit-footer .project-message{
    margin:0;
  }

  .track-delete-button,
  #track-save-button{
    width:100%;
  }
}

.artist-balance-card{display:grid;grid-template-columns:170px 1fr auto;gap:22px;align-items:center;margin:18px 4px 6px;padding:17px 18px;border:1px solid #2f3343;border-radius:10px;background:#090b13}
.artist-balance-copy>span{display:block;font-size:11px;color:#9c99a4;text-transform:uppercase;letter-spacing:.12em}
.artist-balance-copy>strong{display:block;margin:2px 0 0;font-size:28px;line-height:1.1;background:linear-gradient(90deg,var(--v),var(--p),var(--o));-webkit-background-clip:text;background-clip:text;color:transparent}
.artist-balance-copy>small{display:block;margin-top:3px;color:#aaa8b2}
.artist-balance-explainer{padding-left:20px;border-left:1px solid #292d3c}.artist-balance-explainer p{margin:2px 0;color:#9b99a3;font-size:12px}.artist-balance-explainer strong{color:#d8d5dd}
.artist-add-funds-button{padding:10px 14px;border:1px solid #c04cff;border-radius:7px;background:#0a0c14;color:#db60ff;font-weight:800;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.early-artist-bonus{display:flex;align-items:center;gap:18px;margin:10px 4px 4px;padding:13px 15px;border:1px solid transparent;border-radius:9px;background:linear-gradient(#0a0c14,#0a0c14) padding-box,linear-gradient(90deg,var(--v),var(--p),var(--o)) border-box}
.early-artist-bonus>div{margin-right:auto}.early-artist-bonus strong{display:block;color:#d753ff}.early-artist-bonus span{display:block;color:#a6a3ad;font-size:12px;margin-top:2px}.early-artist-bonus button{padding:9px 12px;border:0;border-radius:6px;background:linear-gradient(90deg,var(--v),var(--p),var(--o));color:white;font-weight:800;cursor:pointer}
.track-row{grid-template-columns:48px 1fr auto auto}.track-reward-toggle{display:flex;align-items:center;gap:7px;padding:6px 8px;border:1px solid #343747;border-radius:999px;background:#090b13;color:#777681;font-size:10px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.track-reward-toggle .dot{width:9px;height:9px;border-radius:50%;background:#555763}.track-reward-toggle.is-on{border-color:#c246ff;color:#d25cff}.track-reward-toggle.is-on .dot{background:linear-gradient(135deg,var(--v),var(--p),var(--o));box-shadow:0 0 8px rgba(211,66,240,.45)}.track-reward-toggle:disabled{opacity:.45;cursor:wait}
.track-links-editor{margin-top:20px;padding-top:18px;border-top:1px solid #272a39}.track-links-heading{display:flex;align-items:center;gap:15px;margin-bottom:11px}.track-links-heading>div{margin-right:auto}.track-links-heading span{display:block;color:#d0cdd6;font-size:13px}.track-links-heading p{margin:2px 0 0;color:#7f7d87;font-size:11px}.track-links-heading button{border:1px solid #4d3a57;border-radius:6px;background:#0a0c14;color:#c75be1;padding:7px 9px;cursor:pointer}.track-link-row{display:grid;grid-template-columns:145px 1fr 32px;gap:8px;margin-top:8px}.track-link-row select,.track-link-row input{width:100%;padding:9px 10px;border:1px solid #343849;border-radius:6px;background:#0a0d16;color:white;font:inherit;font-size:12px}.track-link-remove{border:1px solid #4c3036;border-radius:6px;background:#13090c;color:#df7c88;cursor:pointer}
.faq-section{max-width:var(--max);margin:48px auto 10px;padding:32px 28px;border-top:1px solid #252836}.faq-kicker{margin:0;color:#c84dff;text-transform:uppercase;letter-spacing:.14em;font-size:11px}.faq-section>h2{margin:4px 0 22px;font-size:30px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq-grid article{padding:18px 19px;border:1px solid #292c3a;border-radius:8px;background:#080a11}.faq-grid h3{margin:0 0 7px;font-size:16px}.faq-grid p{margin:0;color:#9b98a3;font-size:13px}
@media(max-width:760px){.artist-balance-card{grid-template-columns:1fr;gap:12px}.artist-balance-explainer{padding-left:0;padding-top:12px;border-left:0;border-top:1px solid #292d3c}.artist-add-funds-button{width:100%}.early-artist-bonus{align-items:stretch;flex-direction:column}.early-artist-bonus button{width:100%}.track-row{grid-template-columns:48px 1fr auto}.track-reward-toggle{grid-column:2/-1;justify-self:start}.track-link-row{grid-template-columns:1fr}.faq-grid{grid-template-columns:1fr}}


/* =========================================================
   ROLE COLOR PASS
   Artist = orange
   Scout = purple (defined in scout.css)
   Preferences = shared EARliest purple/pink/orange gradient
   ========================================================= */

/* ARTIST DASHBOARD */
.artist-balance-card{
  border-color:rgba(255,131,22,.34);
  background:
    linear-gradient(#090b13,#090b13) padding-box,
    linear-gradient(135deg,rgba(255,131,22,.46),rgba(236,52,157,.12)) border-box;
}

.artist-balance-copy>strong{
  background:none;
  -webkit-background-clip:initial;
  background-clip:initial;
  color:var(--o);
}

.artist-balance-explainer{
  border-left-color:rgba(255,131,22,.20);
}

.artist-add-funds-button{
  border-color:rgba(255,131,22,.78);
  color:#ff963f;
}

.artist-add-funds-button:hover{
  background:rgba(255,131,22,.08);
}

.early-artist-bonus{
  background:
    linear-gradient(#0a0c14,#0a0c14) padding-box,
    linear-gradient(90deg,#ff6e1a,#ff9a36) border-box;
}

.early-artist-bonus strong{
  color:#ff963f;
}

.early-artist-bonus button{
  background:linear-gradient(90deg,#ed681a,#ff963f);
}

.track-reward-toggle.is-on{
  border-color:#ff8316;
  color:#ff963f;
}

.track-reward-toggle.is-on .dot{
  background:#ff8316;
  box-shadow:0 0 8px rgba(255,131,22,.45);
}

.track-links-heading button{
  border-color:rgba(255,131,22,.42);
  color:#ff963f;
}

@media(max-width:760px){
  .artist-balance-explainer{
    border-top-color:rgba(255,131,22,.20);
  }
}

/* PREFERENCES
   Preferences belong to both roles, so use the full EARliest spectrum. */
.preferences-modal,
.preferences-panel,
#preferences-modal .modal-card,
#preferences-modal .modal-panel{
  border-color:transparent;
  background:
    linear-gradient(#070910,#070910) padding-box,
    linear-gradient(135deg,#a33cff,#ec349d,#ff8316) border-box;
}

.preferences-modal h2,
.preferences-panel h2,
#preferences-modal h2{
  background:linear-gradient(90deg,#a33cff,#ec349d,#ff8316);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.preference-button.is-active,
.preferences-button.is-active,
#preferences-modal .preference-chip.is-active,
#preferences-modal .pref-chip.is-active{
  border-color:transparent;
  background:
    linear-gradient(#0b0d15,#0b0d15) padding-box,
    linear-gradient(90deg,#a33cff,#ec349d,#ff8316) border-box;
  color:#f3eef5;
}


/* =========================================================
   ROLE KICKERS
   Keep the small workspace labels consistent across every
   Artist sub-screen: workspace, Project / Act and Track.
   ========================================================= */
.projects-kicker.artist-kicker{
  color:#ff8a2b;
}

.projects-kicker.scout-kicker{
  color:#c75cff;
}


/* =========================================================
   ROLE COLORS V3 — ARTIST AREA
   Everything interactive inside Artist project/track editing
   uses Artist orange rather than Scout purple.
   ========================================================= */
.project-name-label input:focus,
.track-edit-fields input[type="text"]:focus{
  border-color:#ff8316;
  box-shadow:0 0 0 3px rgba(255,131,22,.09);
}

.project-image-button,
.track-upload-button,
.track-edit-cover-button,
#track-edit-cover-button,
label[for="project-image"],
label[for="track-edit-cover"]{
  border-color:#ff8316 !important;
  color:#ff963f !important;
}

.project-image-button:hover,
.track-upload-button:hover,
.track-edit-cover-button:hover,
#track-edit-cover-button:hover{
  background:rgba(255,131,22,.07);
}

.project-songs-section .projects-kicker,
.project-stats-section .projects-kicker,
.project-statistics-section .projects-kicker,
.project-songs-section .section-kicker,
.project-stats-section .section-kicker,
.project-statistics-section .section-kicker{
  color:#ff8a2b !important;
}

.track-row:hover{
  border-color:#ff8316 !important;
  box-shadow:0 0 0 1px rgba(255,131,22,.05);
}

/* General EARliest areas use the full shared spectrum. */
.faq-kicker{
  display:table;
  background:linear-gradient(90deg,var(--v),var(--p),var(--o));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
}


/* ROLE COLORS V4 — remaining Artist-only accents. */
.project-list-item:hover{
  border-color:#ff8316 !important;
}
.project-list-item:hover .project-list-arrow{
  color:#ff963f;
}

.project-songs-section .placeholder-number,
.project-placeholder-section.stats-placeholder .placeholder-number{
  color:#ff8a2b !important;
}

.track-cover-remove-button:hover{
  border-color:#ff8316 !important;
  color:#ff963f !important;
  background:rgba(255,131,22,.055);
}


/* =========================================================
   AI / PERSONA TRANSPARENCY
   Artist area remains orange.
   ========================================================= */
.project-persona-label,
.track-creation-label{
  display:block;
  margin-top:18px;
}

.project-persona-label>span,
.track-creation-label>span{
  display:block;
  margin-bottom:7px;
  color:#d0cdd6;
  font-size:13px;
}

.project-persona-label select,
.track-creation-label select{
  width:100%;
  padding:12px 13px;
  border:1px solid #343849;
  border-radius:8px;
  background:#0a0d16;
  color:white;
  font:inherit;
  outline:none;
}

.project-persona-label select:focus,
.track-creation-label select:focus{
  border-color:#ff8316;
  box-shadow:0 0 0 3px rgba(255,131,22,.09);
}

.project-persona-label small,
.track-creation-label small{
  display:block;
  margin-top:6px;
  color:#777681;
  font-size:11px;
}

.track-upload-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.track-rights-confirm{display:flex;align-items:flex-start;gap:8px;max-width:390px;color:#9c98a2;font-size:11px;line-height:1.35;cursor:pointer}
.track-rights-confirm input{margin-top:2px;accent-color:#ff8316}
