:root{--bg-card:#0f0f148c;--bg-deep:#050810b8;--bg-elevated:#16161d73;--bg-primary:#0f0f14;--border-color:#ffffff14;--brand-blue:#16bb1b;--brand-green:#16bb1b;--brand-green-hover:#129916;--brand-orange:#16bb1b;--login-accent:#f0c96a;--login-accent-soft:#f0c96a29;--highlight-active:#ffffff1a;--highlight-hover:#ffffff0d;--text-muted:#64748b;--text-primary:#e2e8f0;--text-secondary:#94a3b8;color:var(--text-primary);background:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:16px/1.5 DM Sans,Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100svh;margin:0}body{overflow-x:hidden}button,input,select{font:inherit}button{letter-spacing:0}a{color:inherit}.fixed{position:fixed}.inset-0{inset:0}.music-pattern-themed{pointer-events:none;z-index:-1;background:radial-gradient(circle at 50% 46%,#0f0f1429,#0f0f14f0 72%),radial-gradient(circle at 24% 20%,#16bb1b1f,#0000 32%),radial-gradient(circle at 78% 82%,#f0c96a17,#0000 30%),#0f0f14}.animate-music-drift{animation:20s ease-in-out infinite musicDrift}.animate-fade-in{animation:.3s ease-in fadeIn}@keyframes musicDrift{0%{background-position:0 0,0 0,0 0,0 0}25%{background-position:0 0,0 0,0 0,26px 13px}50%{background-position:0 0,0 0,0 0,0 26px}75%{background-position:0 0,0 0,0 0,-26px 13px}to{background-position:0 0,0 0,0 0,0 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-wordmark{color:#f8fafc}.theme-text-muted{color:var(--text-muted)}.theme-input{border:1px solid var(--border-color);background:var(--bg-elevated);width:100%;min-height:42px;color:var(--text-primary);border-radius:8px;padding:0 12px}.theme-input::placeholder{color:var(--text-muted)}.theme-input:focus,button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #16bb1b7a}.login-screen,.password-gate,.app-loading{place-items:center;min-height:100svh;padding:16px;display:grid}.login-card,.content-panel,.metric-card,.hero-panel{border:1px solid var(--border-color);background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 4px 24px #00000047}.login-card{width:min(100%,360px);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.login-brand{text-align:center;flex-direction:column;justify-content:center;gap:6px;margin-bottom:28px;display:flex}.login-logo-mark{width:54px;height:54px;box-shadow:none;object-fit:contain;background:0 0;border:0;border-radius:0;margin:0 0 7px;padding:0}.login-brand .login-wordmark{color:#f5f7fa;letter-spacing:-.02em;text-shadow:none;font-size:21px;font-weight:800;line-height:1.15}.login-brand .theme-text-muted{display:none}.login-brand strong{color:#737985;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.2;display:block}.login-card-intro{display:none}.login-form{gap:17px;display:grid}.login-form label>span{color:#aeb4bf;text-transform:none;margin-bottom:8px;font-size:13px;font-weight:600;line-height:1.2;display:block}.login-form .theme-input{color:#f5f7fa;min-height:48px;box-shadow:none;background:#0e1015;border:1px solid #262a32;border-radius:8px;padding:0 14px}.login-form .theme-input::placeholder{color:#626a78}.login-form .theme-input:focus{background:#0e1015;border-color:#16bb1b;outline:2px solid #16bb1b1f}.auth-mode-toggle{border:1px solid var(--border-color);background:#ffffff08;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:18px;padding:4px;display:grid}.auth-mode-toggle button{min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:13px;font-weight:800}.auth-mode-toggle button.active{background:var(--login-accent-soft);color:var(--login-accent)}.remember-row{color:#878e9a;cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.remember-row span{margin:0!important}.remember-row input{accent-color:#16bb1b}.form-inline-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.text-button{color:#aeb4bf;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.text-button:hover{color:#f5f7fa}.primary-action,.primary-link,.action-row button,.file-row button,.file-action-link,.stem-form-actions button{background:linear-gradient(90deg, var(--brand-green), var(--brand-green-hover));color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:700;text-decoration:none;transition:opacity .16s,transform .16s;display:inline-flex}.primary-action{width:100%}.primary-action:disabled,.primary-link:disabled{cursor:not-allowed;opacity:.5}.primary-link,.action-row button,.file-row button,.file-action-link,.stem-form-actions button{padding:0 14px}.primary-action:hover:not(:disabled),.primary-link:hover:not(:disabled),.action-row button:hover:not(:disabled),.file-row button:hover:not(:disabled),.file-action-link:hover,.stem-form-actions button:hover:not(:disabled){transform:translateY(-1px)}.file-row button:disabled{cursor:not-allowed;opacity:.48;transform:none}.login-form .primary-action{min-height:48px;box-shadow:none;background:#16bb1b;border:0;border-radius:8px;margin-top:2px}.login-form .primary-action:hover:not(:disabled){background:#129916;transform:none}.danger-button{color:#fecaca!important;background:#f8717124!important;border-color:#f8717157!important}.danger-button:hover{background:#f8717138!important}.stem-form-actions button:disabled{cursor:not-allowed;opacity:.5;transform:none}.form-error{color:#f87171;text-align:center;margin:0;font-size:14px}.onboarding-note{color:#f6dfa4;text-align:center;background:#f0c96a1a;border:1px solid #f0c96a52;border-radius:8px;margin:-4px 0 0;padding:10px 12px;font-size:13px;font-weight:700}.spinner{border:2px solid var(--brand-green);border-top-color:#0000;border-radius:999px;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-root{min-height:100svh;position:relative}.navbar-glass{z-index:5;border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(16px);background:#0f0f14d1;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:12px 24px;display:flex;position:sticky;top:0}.brand-button,.logout-button,.tab-btn,.icon-button,.switcher-item{color:inherit;cursor:pointer;background:0 0;border:0}.brand-switcher{min-width:0;position:relative}.brand-button{color:var(--text-primary);align-items:center;gap:8px;font-size:16px;font-weight:800;transition:opacity .15s;display:inline-flex}.brand-button:hover{opacity:.82}.brand-button svg{transition:transform .15s}.brand-static{min-height:40px;color:var(--text-primary);align-items:center;font-weight:800;display:inline-flex}.rotate-180{transform:rotate(180deg)}.artist-switcher-menu{z-index:20;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(18px);background:#0f0f14f5;border-radius:8px;min-width:220px;max-width:min(280px,100vw - 32px);max-height:min(420px,100svh - 96px);position:absolute;top:calc(100% + 4px);left:0;overflow:hidden auto;box-shadow:0 16px 40px #0006}.switcher-item{width:100%;color:var(--text-muted);text-align:left;align-items:center;gap:8px;padding:10px 12px;font-size:14px;line-height:1.2;transition:background-color .15s,color .15s;display:flex}.switcher-item:hover{background:var(--highlight-hover);color:var(--text-primary)}.switcher-item.active{color:var(--text-primary);font-weight:800}.switcher-label{align-items:center;gap:8px;display:inline-flex}.switcher-label svg{color:#b8ffba}.switcher-divider{background:var(--border-color);height:1px}.navbar-actions{align-items:center;gap:14px;display:flex}.welcome-text,.logout-button{color:var(--text-muted);font-size:14px}.logout-button,.admin-badge{align-items:center;gap:6px;display:inline-flex}.admin-badge{color:#b8ffba;background:#16bb1b24;border:1px solid #16bb1b6b;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800}.app-layout{min-height:calc(100svh - 64px);display:flex}.sidebar{border-right:1px solid var(--border-color);flex-direction:column;flex:none;gap:8px;width:224px;padding:16px;display:flex}.tab-btn{width:100%;min-height:40px;color:var(--text-muted);text-align:left;border-radius:8px;align-items:center;gap:9px;padding:0 12px;font-size:14px;font-weight:700;display:flex}.tab-btn:hover,.tab-active{background:var(--bg-elevated);color:var(--text-primary)}.app-main{flex:1;min-width:0;padding:24px}.space-stack{gap:16px;display:grid}.hero-panel{background:radial-gradient(circle at 18% 0,#16bb1b33,#0000 34%),linear-gradient(135deg,#0f0f14c7,#16161d73);justify-content:space-between;align-items:flex-start;gap:18px;min-height:190px;padding:28px;display:flex}.hero-panel h1{max-width:780px;color:var(--text-primary);letter-spacing:0;margin:0;font-size:clamp(34px,6vw,68px);line-height:.98}.hero-panel p:last-child{max-width:610px;color:var(--text-secondary);margin:14px 0 0}.eyebrow{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.metric-grid,.access-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.access-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.metric-card{align-items:center;gap:13px;min-height:88px;padding:16px;display:flex}.metric-card svg{color:var(--brand-green)}.metric-card strong{font-size:25px;line-height:1;display:block}.metric-card small{color:var(--text-muted);margin-top:4px;font-size:13px;display:block}.two-column,.split-panel{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:16px;display:grid}.content-panel{min-width:0;padding:18px}.panel-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;display:flex}.panel-heading h2,.panel-heading h3,.artist-summary h3{color:var(--text-primary);letter-spacing:0;margin:0;line-height:1.05}.panel-heading h2{font-size:28px}.panel-heading h3,.artist-summary h3{font-size:22px}.compact{margin-bottom:14px}.artist-summary{align-items:center;gap:14px;margin-bottom:16px;display:flex}.artist-summary p,.muted-copy{color:var(--text-secondary);margin:6px 0 0}.avatar{aspect-ratio:1;color:#b8ffba;background:#16bb1b29;border-radius:8px;flex:none;place-items:center;width:44px;font-size:13px;font-weight:900;display:grid}.action-row{flex-wrap:wrap;gap:10px;display:flex}.roadmap-list,.file-list,.project-file-list,.settings-list,.table{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.roadmap-step,.file-row{border-top:1px solid var(--border-color);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px;display:grid}.file-actions,.file-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.file-action-link{min-width:116px}.file-preview{width:min(360px,100%);height:40px}.delivery-note{color:var(--text-muted);text-align:right;flex-basis:100%;font-size:12px;font-weight:700}.roadmap-step{grid-template-columns:22px minmax(0,1fr)}.roadmap-step:first-child,.file-row:first-child,.settings-list>div:first-child{border-top:0}.stem-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1.1fr) 140px 160px;align-items:end;gap:12px;display:grid}.stem-form label,.details-form label{gap:6px;display:grid}.stem-form label>span,.details-form label>span,.stem-form-actions>span{color:var(--text-secondary);font-size:13px;font-weight:700}.stem-form input,.details-form input,.stem-form select{border:1px solid var(--border-color);background:var(--bg-elevated);width:100%;min-height:42px;color:var(--text-primary);border-radius:8px;padding:0 12px}.stem-form input::placeholder,.details-form input::placeholder{color:var(--text-muted)}.details-form{grid-template-columns:repeat(2,minmax(320px,1fr));gap:8px 12px;margin-top:16px;display:grid}.details-form label{grid-template-columns:148px minmax(0,1fr);align-items:center;gap:10px}.details-form label>span{text-align:right;white-space:nowrap;text-overflow:ellipsis;justify-content:flex-end;align-items:center;min-height:32px;font-size:12px;line-height:1.15;display:flex;overflow:hidden}.details-form input{border-radius:6px;min-height:32px;padding:0 9px;font-size:13px}.stem-form-wide{grid-column:span 3}.stem-form-actions{justify-content:flex-end;align-items:end;gap:12px;min-height:42px;display:flex}.details-form-actions,.password-form .stem-form-actions{grid-column:1/-1;min-height:32px;margin-top:0}.details-form-actions button,.password-form .stem-form-actions button{border-radius:6px;min-height:32px;padding:0 12px;font-size:13px}.password-form{grid-template-columns:repeat(2,minmax(320px,1fr));align-items:end;gap:8px 10px;margin-top:16px;display:grid}.password-form label{gap:6px;display:grid}.password-form label>span{color:var(--text-secondary);font-size:12px;font-weight:700}.password-form label{grid-template-columns:148px minmax(0,1fr);align-items:center;gap:10px}.password-form label>span{text-align:right;white-space:nowrap;justify-content:flex-end;align-items:center;min-height:32px;font-size:12px;line-height:1.15;display:flex}.password-form input{border:1px solid var(--border-color);background:var(--bg-elevated);width:100%;min-height:32px;color:var(--text-primary);border-radius:6px;padding:0 9px;font-size:13px}.temporary-password-result{background:#16bb1b14;border:1px solid #16bb1b59;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;margin-top:16px;padding:14px;display:grid}.temporary-password-result span{color:var(--text-secondary);text-transform:uppercase;grid-column:1/-1;font-size:12px;font-weight:800}.temporary-password-result strong{overflow-wrap:anywhere;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px}.temporary-password-result button{border:1px solid var(--border-color);background:var(--bg-elevated);min-height:36px;color:var(--text-primary);cursor:pointer;border-radius:8px;padding:0 14px;font-weight:800}.project-file-list{gap:0;display:grid}.project-file-group{border-top:1px solid var(--border-color);gap:0;display:grid}.project-file-heading{background:var(--bg-elevated);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;border:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;transition:background-color .15s,color .15s;display:grid}.project-file-heading:hover,.project-file-heading.open{background:#16bb1b14}.project-file-heading strong{overflow-wrap:anywhere;font-size:15px;line-height:1.15;display:block}.project-heading-actions{color:var(--text-secondary);justify-content:flex-end;align-items:center;gap:10px;font-size:12px;display:flex}.project-heading-actions svg{flex:none;transition:transform .15s}.project-file-heading small{color:var(--text-secondary);margin-top:4px;font-size:13px;display:block}.project-file-group .file-list{border:0;border-top:1px solid var(--border-color);border-radius:0}.roadmap-step.done svg,.roadmap-step.active svg,.roadmap-step.next svg{color:var(--brand-green)}.search-field{border:1px solid var(--border-color);background:var(--bg-elevated);min-width:min(260px,100%);min-height:42px;color:var(--text-muted);border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex}.search-field input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0}.list-panel{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.projects-panel{gap:18px;display:grid}.artist-row{border:0;border-top:1px solid var(--border-color);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.artist-row:first-child{border-top:0}.artist-row:hover,.artist-row.active{background:var(--highlight-hover)}.artist-row small{color:var(--text-muted);margin-top:4px;font-size:13px;display:block}.detail-card{border:1px solid var(--border-color);background:#ffffff06;border-radius:8px;min-width:0;padding:16px}.icon-button{border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-secondary);border-radius:8px;place-items:center;display:grid}.table-head,.table-row{grid-template-columns:minmax(0,1fr) 118px 66px;align-items:center;gap:12px;padding:12px 14px;display:grid}.table-head{color:var(--text-muted);background:var(--bg-elevated);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.table-row{border-top:1px solid var(--border-color)}.status-pill{color:#cbd5e1;letter-spacing:.08em;text-transform:uppercase;background:#64748b2e;border-radius:999px;justify-content:center;align-items:center;width:fit-content;min-height:26px;padding:0 9px;font-size:11px;font-weight:900;display:inline-flex}.status-pill.active,.status-pill.delivered,.status-pill.done,.status-pill.available{color:#b8ffba;background:#16bb1b2e}.status-pill.setup,.status-pill.next,.status-pill.needs_export,.status-pill.pending_import{color:#ffdd48;background:#ffcb0029}.status-pill.archive,.status-pill.locked{color:#cbd5e1;background:#64748b2e}.status-pill.completed,.status-pill.complete{color:#b8ffba;background:#16bb1b2e}.soft-status{border:1px solid var(--border-color);min-height:32px;color:var(--text-secondary);background:#ffffff07;border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.empty-state,.empty-action{color:var(--text-muted);margin:0;padding:18px}.empty-action{text-align:center;align-content:center;place-items:center;gap:14px;min-height:260px;display:grid}.settings-list>div{border-top:1px solid var(--border-color);justify-content:space-between;gap:16px;padding:14px;display:flex}.settings-list>div:first-child{border-top:0}.settings-list span{color:var(--text-secondary);text-align:right}.settings-list strong,.settings-list span{font-size:13px;line-height:1.15}.file-title-line{align-items:center;gap:8px;min-width:0;display:flex}.file-title-line strong{overflow-wrap:anywhere;min-width:0}.file-type-badge{display:none}.file-type-icon{color:#e2e8f0;background:#ffffff0c;border:1px solid #ffffff1a;border-radius:7px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.file-type-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px;display:block}.file-type-vocals.file-type-icon{color:#fef3c7;background:#f0c96a24;border-color:#f0c96a4d}.file-type-drums.file-type-icon{color:#bbf7d0;background:#16bb1b24;border-color:#16bb1b55}.file-type-mix.file-type-icon,.file-type-master.file-type-icon{color:#bfdbfe;background:#3b82f624;border-color:#60a5fa55}.file-type-instrumental.file-type-icon,.file-type-stems.file-type-icon,.file-type-music.file-type-icon{color:#ddd6fe;background:#8b5cf624;border-color:#a78bfa55}.audio-detail-strip{place-self:center;align-items:center;width:min(860px,100%);margin:0;display:block}.audio-waveform{background:linear-gradient(#ffffff0d,#0000 18% 48%,#f0c96a16 49% 50%,#0000 51% 82%,#ffffff08),repeating-linear-gradient(90deg,#ffffff08 0 1px,#0000 1px 13%),#03050a;border:1px solid #ffffff1c;border-radius:9px;width:100%;min-width:420px;height:96px;padding:0;display:block;overflow:hidden;box-shadow:inset 0 0 0 1px #0009,0 10px 28px #00000024}.audio-waveform-area{fill:#19d31fcc;stroke:#ccffce;stroke-width:1.4px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px #16bb1b7a)}.audio-meta-facts{flex-wrap:wrap;gap:6px;min-width:120px;margin-top:7px;display:flex}.audio-meta-pill{min-height:28px;color:var(--text-secondary);background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.audio-file-row{grid-template-columns:minmax(230px,.55fr) minmax(520px,1.45fr) auto;align-items:center}.audio-file-row>div:first-child,.audio-file-row>.file-actions{align-self:center}.h-3\.5{width:14px;height:14px}.h-4,.w-4{width:16px;height:16px}.h-5,.w-5{width:20px;height:20px}.h-8,.w-8{width:32px;height:32px}.project-file-list{background:0 0;border:0;border-radius:0;gap:8px;overflow:visible}.project-file-group{background:#ffffff05;border:1px solid #ffffff12;border-radius:8px;overflow:hidden;box-shadow:0 8px 18px #00000018}.project-file-group:first-child{border-top:1px solid #ffffff12}.project-file-heading{background:#ffffff04;min-height:52px;padding:10px 12px}.project-file-heading strong{font-size:15px;line-height:1.15}.project-file-heading small{color:var(--text-secondary);margin-top:2px;font-size:12px}.project-heading-actions{color:var(--text-muted);gap:8px;font-size:12px}.project-file-group .file-list{background:#0508102e;border:0;border-top:1px solid #ffffff10;border-radius:0}.project-file-group .file-row{gap:10px;padding:10px 12px}.project-file-group .file-row strong{font-size:14px;line-height:1.2}.project-file-group .file-row small{margin-top:2px;font-size:12px}.project-file-group .file-action-link,.project-file-group .file-row button{min-width:96px;min-height:34px;padding:0 10px;font-size:13px}.project-file-group .file-preview{height:34px}.file-action-buttons>button:first-child{display:none}.two-column>.content-panel:first-child .table-head,.two-column>.content-panel:first-child .table-row{grid-template-columns:1fr}.two-column>.content-panel:first-child .table-head>span:nth-child(2),.two-column>.content-panel:first-child .table-row>span:nth-child(2){display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-total{color:var(--text-muted);font-size:14px}@media (width<=1040px){.app-layout{flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--border-color);flex-direction:row;width:100%;overflow-x:auto}.tab-btn{white-space:nowrap;width:auto}.metric-grid,.access-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column,.split-panel{grid-template-columns:1fr}.stem-form{grid-template-columns:repeat(2,minmax(0,1fr))}.stem-form-wide{grid-column:1/-1}.details-form,.password-form{grid-template-columns:1fr}}@media (width<=720px){.navbar-glass{flex-direction:column;align-items:flex-start;padding:12px 16px}.navbar-actions{flex-wrap:wrap;width:100%}.welcome-text{display:none}.app-main{padding:16px}.hero-panel,.panel-heading,.settings-list>div{flex-direction:column;align-items:flex-start}.hero-panel h1{font-size:34px}.metric-grid,.access-grid,.table-head,.table-row,.file-row,.stem-form,.details-form,.password-form{grid-template-columns:1fr}.stem-form-actions,.stem-form-actions button{width:100%}.stem-form-actions{flex-direction:column;align-items:stretch}.form-inline-actions{flex-direction:column;align-items:flex-start}.temporary-password-result{grid-template-columns:1fr}.audio-detail-strip{width:100%}.audio-waveform{min-width:0;max-width:100%;height:86px}.audio-file-row{grid-template-columns:1fr}.project-file-heading{grid-template-columns:1fr;gap:6px;min-height:0}.project-heading-actions{justify-content:space-between}.details-form,.password-form{grid-template-columns:1fr}.details-form label,.password-form label{grid-template-columns:118px minmax(0,1fr);gap:8px}.settings-list>div{align-items:flex-start;padding:8px 10px}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:800}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;padding:4px;display:flex}.modal-close:hover{background:var(--highlight-hover);color:var(--text-primary)}.modal-form{gap:20px;padding:24px;display:grid}.form-section{gap:14px;display:grid}.form-section label{gap:6px;display:grid}.form-section label>span{color:var(--text-secondary);font-size:13px;font-weight:600}.form-section input,.form-section select,.form-section textarea{border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-primary);font:inherit;resize:vertical;border-radius:8px;width:100%;padding:10px 12px}.form-section input:focus,.form-section select:focus,.form-section textarea:focus{outline-offset:1px;outline:2px solid #16bb1b7a}.form-row-two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.artist-mode-toggle{gap:8px;display:flex}.artist-mode-toggle button{border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 12px;font-size:13px;font-weight:700}.artist-mode-toggle button.active{color:#16bb1b;background:#16bb1b22;border-color:#16bb1b}.modal-actions{justify-content:flex-end;gap:12px;padding-top:8px;display:flex}.cancel-button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;min-height:42px;padding:0 16px;font-weight:700}.cancel-button:hover{background:var(--highlight-hover);color:var(--text-primary)}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.back-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:14px;font-weight:600;display:inline-flex}.back-button:hover{color:var(--text-primary)}.project-detail-header{padding:24px}.project-detail-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.project-detail-title-row h2{margin:0;font-size:22px;font-weight:800}.project-meta{color:var(--text-secondary);margin:4px 0 0;font-size:14px}.project-brief,.project-references{margin-top:16px}.project-brief strong,.project-references strong{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:13px}.project-brief p{color:var(--text-primary);margin:6px 0 0}.project-references ul{margin:6px 0 0;padding:0;list-style:none}.project-references li{margin:4px 0}.project-references a{color:#16bb1b;text-decoration:none}.project-references a:hover{text-decoration:underline}.status-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.status-actions select{border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-primary);font:inherit;border-radius:8px;padding:8px 12px}.status-action-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:600}.status-action-btn:hover{color:#16bb1b;border-color:#16bb1b}.project-player-section{padding:24px}.audio-player-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.audio-player-header h3{margin:0;font-size:18px;font-weight:700}.play-pause-btn{color:#fff;cursor:pointer;background:#16bb1b;border:0;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:0 16px;font-weight:700;display:inline-flex}.play-pause-btn:hover{background:#129916}.comment-timeline-wrapper{margin:16px 0}.timeline-time-labels{color:var(--text-muted);justify-content:space-between;margin-bottom:6px;font-size:12px;display:flex}.comment-timeline-bar{cursor:pointer;background:#ffffff0d;border-radius:6px;height:40px;position:relative;overflow:visible}.timeline-progress{pointer-events:none;background:#16bb1b33;border-radius:6px 0 0 6px;height:100%;position:absolute;top:0;left:0}.timeline-hover{pointer-events:none;z-index:5;background:#fff4;width:2px;height:100%;position:absolute;top:0}.timeline-hover-label{color:#fff;white-space:nowrap;background:#000c;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.comment-marker{cursor:pointer;z-index:3;background:#16bb1b;border:2px solid #0f0f14;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:50%;transform:translate(-50%,-50%)}.comment-marker:hover{transform:translate(-50%,-50%)scale(1.4)}.comment-marker.resolved{background:#64748b}.timeline-add-comment{border:1px dashed var(--border-color);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;margin-top:8px;padding:6px 12px;font-size:13px}.timeline-add-comment:hover{color:#16bb1b;border-color:#16bb1b}.comment-form{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:8px;gap:10px;margin-top:16px;padding:14px;display:grid}.comment-form-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:13px;display:flex}.comment-form textarea{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font:inherit;resize:vertical;border-radius:6px;width:100%;padding:10px}.comment-form-bottom{align-items:center;gap:10px;display:flex}.comment-form-bottom select{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font:inherit;border-radius:6px;padding:8px 10px}.comment-list{gap:12px;display:grid}.comment-item{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:8px;padding:14px}.comment-item.resolved{opacity:.6}.comment-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.comment-timestamp{color:#16bb1b;background:#16bb1b22;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700}.comment-category{color:var(--text-secondary);background:#ffffff1a;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600}.comment-category.mix_issue{color:#ef9b94;background:#ef444422}.comment-category.vocal_level{color:#c8a0e0;background:#a855f722}.comment-category.timing{color:#93b8e8;background:#3b82f622}.comment-category.arrangement{color:#e0c87a;background:#f59e0b22}.comment-author{color:var(--text-muted);font-size:12px;font-weight:600}.comment-author.admin{color:#16bb1b}.comment-author.artist{color:#3b82f6}.comment-status{border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600}.comment-status.open{color:#16bb1b;background:#16bb1b22}.comment-status.resolved{color:#94a3b8;background:#64748b22}.comment-text{color:var(--text-primary);margin:0;font-size:14px}.comment-actions{gap:8px;margin-top:8px;display:flex}.comment-action{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.comment-action:hover{border-color:var(--text-secondary);color:var(--text-primary)}.comment-action.resolve:hover{color:#16bb1b;border-color:#16bb1b}.comment-action.reopen:hover{color:#3b82f6;border-color:#3b82f6}.comment-action.delete:hover{color:#ef9b94;border-color:#ef4444}.comment-replies{border-left:2px solid var(--border-color);margin-top:12px;padding-left:16px}.comment-reply{align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.reply-form{gap:8px;margin-top:10px;display:flex}.reply-form input{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);font:inherit;border-radius:6px;flex:1;padding:8px 10px}.reply-form button{border:1px solid var(--border-color);background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:0 12px;font-size:13px;font-weight:600}.reply-form button:first-of-type{color:#fff;background:#16bb1b;border-color:#0000}.payment-button-wrapper{flex-direction:column;gap:6px;display:flex}.payment-button{width:auto;padding:0 20px}.artist-linking-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#000000d9;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.artist-linking-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:480px;padding:28px;box-shadow:0 8px 32px #00000080}.artist-linking-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.artist-linking-header h2{margin:0;font-size:20px;font-weight:800}.artist-linking-intro{color:var(--text-secondary);margin:0 0 20px;font-size:14px}.artist-linking-search{gap:10px;margin-bottom:20px;display:flex}.artist-linking-search .theme-input{flex:1}.artist-linking-search .primary-action{width:auto;padding:0 16px}.artist-linking-results{gap:10px;display:grid}.results-label{color:var(--text-secondary);font-size:13px}.linking-result-row{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.linking-result-row strong{color:var(--text-primary)}.linking-result-row small{color:#64748b;margin-left:6px;font-size:12px}.linking-result-row .primary-action{width:auto;min-height:34px;padding:0 14px;font-size:13px}.already-linked{background:#64748b22;border-radius:4px;padding:2px 6px}.active-project-card{gap:16px;padding:20px;display:grid}.active-project-info{gap:8px;display:grid}.active-project-brief{color:var(--text-primary);margin:0;font-size:14px}.active-project-meta{color:var(--text-secondary);margin:0;font-size:13px}.active-project-player{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:8px;padding:12px}.player-label{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.active-project-player audio{width:100%}.active-project-actions{flex-wrap:wrap;gap:10px;display:flex}.active-project-actions .primary-link{padding:0 14px}.open-project-btn{color:#16bb1b;cursor:pointer;background:0 0;border:1px solid #16bb1b44;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.open-project-btn:hover{background:#16bb1b15}@media (width<=640px){.form-row-two{grid-template-columns:1fr}.artist-linking-search{flex-direction:column}.modal-content{max-width:100%}}
