*{box-sizing:border-box}html,body,#root{height:100%}body{color:#e7eaf0;background:#0b0e14;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif}a{color:#4fd1c5;text-decoration:none}.app-shell{flex-direction:column;min-height:100%;display:flex}.app-header{z-index:10;background:#0e1118;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:18px 32px;display:flex;position:sticky;top:0}.brand{color:#e7eaf0;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;display:flex}.brand-mark{color:#4fd1c5}.main-nav{gap:22px;display:flex}.main-nav a{color:#9aa3b2;padding-bottom:4px;font-weight:500}.main-nav a.active{color:#4fd1c5;border-bottom:2px solid #4fd1c5}.app-main{flex:1}.page{max-width:1000px;margin:0 auto;padding:32px 24px 80px}.hero{padding:36px 0 24px}.hero h1{margin:0 0 12px;font-size:2.1rem;line-height:1.2}.hero p{color:#9aa3b2;max-width:620px;font-size:1.05rem}.new-track-form{gap:10px;margin-bottom:28px;display:flex}.new-track-form input{color:#e7eaf0;background:#141822;border:1px solid #ffffff1f;border-radius:10px;flex:1;padding:12px 14px;font-size:1rem}.btn-primary{color:#06211f;cursor:pointer;white-space:nowrap;background:#4fd1c5;border:none;border-radius:10px;padding:12px 20px;font-weight:700}.btn-secondary{color:#4fd1c5;cursor:pointer;text-align:center;background:0 0;border:1px solid #4fd1c5;border-radius:10px;padding:9px 16px;font-weight:600;display:inline-block}.empty-state{text-align:center;color:#9aa3b2;border:1px dashed #ffffff26;border-radius:14px;padding:40px}.track-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.track-card{background:#12151c;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:10px;padding:18px;display:flex;box-shadow:0 6px 20px #00000040}.track-card-top{justify-content:space-between;align-items:center;display:flex}.track-card h3{margin:0;font-size:1.1rem}.icon-btn{color:#9aa3b2;cursor:pointer;background:0 0;border:none;font-size:1rem}.icon-btn.danger:hover{color:#f87171}.progress-bar{background:#ffffff14;border-radius:4px;height:8px;overflow:hidden}.progress-bar.wide{height:10px;margin-top:10px}.progress-fill{background:linear-gradient(90deg,#4fd1c5,#34d399);height:100%}.progress-label{color:#9aa3b2;font-size:.85rem}.status-pills{flex-wrap:wrap;gap:6px;display:flex}.pill{border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:600}.pill.keep{color:#34d399;background:#34d39926}.pill.enhance{color:#fbbf24;background:#fbbf2426}.pill.replace{color:#f87171;background:#f8717126}.pill.unset{color:#9aa3b2;background:#ffffff14}.tempo-tag{color:#9aa3b2;font-size:.8rem}.back-link{color:#9aa3b2;margin-bottom:16px;display:inline-block}.workspace-head h1{margin:0 0 12px;font-size:1.8rem}.panel{background:#12151c;border:1px solid #ffffff14;border-radius:14px;margin-top:22px;padding:24px}.panel h2{margin:0 0 6px;font-size:1.2rem}.panel-sub{color:#9aa3b2;margin:0 0 16px;font-size:.92rem}.hint{color:#9aa3b2;font-size:.85rem}.waveform-block{margin-top:16px}.waveform-canvas{background:#0b0e14;border-radius:10px;width:100%;height:110px}.waveform-meta{color:#9aa3b2;gap:18px;margin-top:8px;font-size:.85rem;display:flex}.parts-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.part-card{background:#0e1118;border:1px solid #ffffff0f;border-radius:12px;padding:14px}.part-name{margin-bottom:10px;font-weight:600}.status-buttons{gap:6px;display:flex}.status-btn{color:#9aa3b2;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:8px;flex:1;padding:7px 0;font-size:.8rem;font-weight:600}.status-btn.keep.active{color:#34d399;background:#34d3992e;border-color:#34d399}.status-btn.enhance.active{color:#fbbf24;background:#fbbf242e;border-color:#fbbf24}.status-btn.replace.active{color:#f87171;background:#f871712e;border-color:#f87171}.session-list{flex-direction:column;gap:16px;display:flex}.session-card{background:#0e1118;border:1px solid #ffffff0f;border-radius:12px;padding:16px}.session-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.session-top strong{margin-left:8px}.badge{text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:.7rem;font-weight:700}.badge.enhance{color:#fbbf24;background:#fbbf242e}.badge.replace{color:#f87171;background:#f871712e}.badge.stage{color:#4fd1c5;background:#4fd1c52e}.brief-text{white-space:pre-wrap;color:#cdd3de;background:#0b0e14;border:1px solid #ffffff0f;border-radius:8px;margin:0 0 10px;padding:12px;font-family:inherit;font-size:.88rem}.session-card textarea{color:#e7eaf0;resize:vertical;background:#0b0e14;border:1px solid #ffffff1a;border-radius:8px;width:100%;min-height:60px;padding:10px;font-family:inherit;font-size:.88rem}.session-actions{margin-top:10px}.booking-select{color:#e7eaf0;background:#141822;border:1px solid #ffffff1f;border-radius:8px;padding:6px 10px;font-size:.82rem}.booking-select.complete{color:#34d399}.booking-select.in_progress{color:#fbbf24}.booking-select.booked{color:#4fd1c5}.gantt{flex-direction:column;gap:10px;display:flex}.gantt-row{background:#12151c;border:1px solid #ffffff14;border-radius:10px;grid-template-columns:220px 1fr;align-items:center;gap:12px;padding:12px 16px;display:grid}.gantt-label{flex-direction:column;display:flex}.gantt-label span{color:#9aa3b2;font-size:.85rem}.gantt-controls{flex-wrap:wrap;order:3;grid-column:1/-1;align-items:center;gap:8px;margin-top:6px;display:flex}.gantt-controls input[type=date],.gantt-controls input[type=number]{color:#e7eaf0;background:#0b0e14;border:1px solid #ffffff1f;border-radius:6px;padding:6px 8px;font-size:.82rem}.gantt-controls input[type=number]{width:64px}.gantt-track{background:#ffffff0d;border-radius:6px;order:2;grid-column:1/-1;height:18px;position:relative}.gantt-bar{background:#4fd1c5;border-radius:6px;height:100%;position:absolute;top:0}.gantt-bar.booked{background:#4fd1c5}.gantt-bar.in_progress{background:#fbbf24}.gantt-bar.complete{background:#34d399}.gantt-bar.not_booked{background:#6b7280}@media (width<=700px){.app-header{padding:14px 18px}.page{padding:20px 16px 60px}.gantt-row{grid-template-columns:1fr}}
