body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh}.login-box{animation:slideUp .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 10px 40px #0003;max-width:420px;padding:2.5rem;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:2rem;text-align:center}.login-header h1{color:#333;font-size:1.75rem;font-weight:600;margin:0}.login-header p{color:#666;font-size:.95rem;margin:.5rem 0 0}.login-form{display:flex;flex-direction:column;gap:1.25rem}.error-message{align-items:center;animation:shake .3s ease-out;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 1rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.error-icon{color:#c33;flex-shrink:0}.form-label{color:#333;font-size:.9rem;font-weight:500;margin:0}.form-input{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.875rem 1rem;transition:all .2s}.login-button:hover:not(:disabled){box-shadow:0 5px 20px #667eea66;transform:translateY(-2px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}.login-footer{border-top:1px solid #eee;margin-top:2rem;padding-top:1.5rem;text-align:center}.system-info{color:#999;font-size:.85rem;margin:0}@media (max-width:480px){.login-box{margin:1rem;padding:1.5rem}.login-header h1{font-size:1.5rem}.login-header p{font-size:.9rem}}.audio-player{background:#fff;border-radius:4px;padding:1rem;position:relative}.loading-overlay{align-items:center;color:#666;display:flex;gap:.5rem;justify-content:center;padding:2rem}.spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#1976d2;height:20px;width:20px}.waveform-container{background:#f5f5f5;border-radius:4px;margin-bottom:1rem;overflow:hidden}.waveform{width:100%}.controls{gap:1rem}.controls,.play-button{align-items:center;display:flex}.play-button{background:#1976d2;border:none;border-radius:50%;color:#fff;cursor:pointer;height:40px;justify-content:center;transition:background .2s;width:40px}.play-button:hover:not(:disabled){background:#1565c0}.play-button:disabled{cursor:not-allowed;opacity:.5}.time-display{align-items:center;color:#666;display:flex;font-family:monospace;gap:.25rem;min-width:100px}.separator{color:#999}.seek-bar{-webkit-appearance:none;appearance:none;background:#e0e0e0;border-radius:2px;cursor:pointer;flex:1 1;height:4px;outline:none}.seek-bar::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#1976d2;border-radius:50%;cursor:pointer;height:12px;width:12px}.seek-bar::-moz-range-thumb{background:#1976d2;border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}.seek-bar:disabled{cursor:not-allowed;opacity:.5}.simple-stem-player{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;margin-top:1rem;padding:1rem}.stem-player-header{margin-bottom:.75rem}.stem-player-header h4{color:#666;font-size:.95rem;font-weight:600;margin:0}.stem-controls{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.stem-control-btn{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;min-width:40px;padding:.5rem .75rem;transition:all .2s}.stem-control-btn:hover{background:#1976d2}.stem-control-btn.play{background:#4caf50}.stem-control-btn.play:hover{background:#45a049}.stem-time-display{color:#666;font-family:monospace;font-size:.85rem;min-width:90px}.stem-seek-bar{-webkit-appearance:none;appearance:none;background:#ddd;border-radius:3px;cursor:pointer;flex:1 1;height:6px;outline:none}.stem-seek-bar::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#2196f3;border-radius:50%;cursor:pointer;height:14px;width:14px}.stem-seek-bar::-moz-range-thumb{background:#2196f3;border:none;border-radius:50%;cursor:pointer;height:14px;width:14px}.stem-mute-controls{display:flex;flex-wrap:wrap;gap:.5rem}.stem-mute-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .75rem;transition:all .2s}.stem-mute-btn:hover{background:#2196f30d;border-color:#2196f3}.stem-mute-btn.muted{background:#ffebee;border-color:#f44336}.stem-type-label{color:#666;font-size:.85rem;font-weight:600;text-transform:uppercase}.stem-mute-btn.muted .stem-type-label{color:#f44336;text-decoration:line-through}.mute-icon{font-size:1rem}.track-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;overflow:hidden}.track-list-error{align-items:center;background:#ffebee;border:solid #ef5350;border-width:1px 1px 2px;color:#c62828;display:flex;font-size:.9rem;justify-content:space-between;padding:.75rem 1rem}.track-list-error button{background:none;border:none;color:#c62828;cursor:pointer;font-size:1.25rem;padding:0}.track-list-header{align-items:center;background:#fafafa;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem}.track-list-header h3{color:#333;font-size:1.1rem;margin:0}.btn-create-placeholder{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:background .2s}.btn-create-placeholder:hover{background:#1976d2}.btn-primary{background:#4caf50;border:none;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:background .2s}.btn-primary:hover{background:#388e3c}.tracks-container{flex:1 1;overflow-y:auto}.tracks-container.drag-over{background-color:#2196f30d;border:2px dashed #2196f3}.track-item{background:#fff;border-bottom:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease}.track-item:hover{background:#f5f5f5}.track-item.dragging{background:#e3f2fd;box-shadow:0 5px 15px #2196f34d;opacity:.7;transform:rotate(1deg)}.track-item.selected{background:#e3f2fd}.track-item.deleted{background:#fafafa;opacity:.5}.track-item.type-placeholder:before{background:#9e9e9e;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.track-item.type-audio:before{background:#4caf50}.track-item.type-audio:before,.track-item.type-video:before{bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.track-item.type-video:before{background:#2196f3}.track-main{grid-gap:10px;align-items:center;cursor:pointer;display:grid;gap:10px;grid-template-columns:35px 60px minmax(200px,.9fr) 45px 60px 60px 60px 90px 110px 120px;max-width:100%;min-height:70px;overflow:hidden;padding:12px 15px;position:relative}.drag-handle{align-items:center;color:#999;cursor:grab;display:flex;flex-shrink:0;transition:color .2s}.drag-handle:active{color:#2196f3;cursor:grabbing}.track-item:hover .drag-handle{color:#666}.track-order{color:#999;flex-shrink:0;font-size:.85rem;font-weight:600;text-align:center}.track-info{min-width:0}.play-button-container{align-items:center;display:flex;justify-content:center}.track-title{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.inline-edit-input,.track-title{color:#333;font-size:1rem;font-weight:500}.inline-edit-input{border:2px solid #2196f3;border-radius:4px;min-width:150px;outline:none;padding:.25rem .5rem}.inline-edit-input:focus{background:#e3f2fd}.edit-trigger{border-radius:4px;color:#333;cursor:pointer;padding:.25rem .5rem;transition:all .2s}.edit-trigger:hover{background:#2196f31a;color:#2196f3}.track-metadata{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.metadata-chip{background:#f0f0f0;border:1px solid #0000;border-radius:12px;color:#666;display:inline-block;font-size:.75rem;padding:.2rem .6rem;transition:all .2s;white-space:nowrap}.metadata-chip.editable{cursor:pointer}.metadata-chip.editable:hover{background:#e0e0e0;border-color:#2196f3;color:#2196f3}.metadata-chip.update-info{background:#e3f2fd;border-color:#2196f3;color:#1976d2;cursor:default;font-weight:600}.track-duration{color:#666;flex-shrink:0;font-family:monospace;font-size:.9rem;min-width:3.5rem;text-align:center}.stems-indicator{align-items:center;display:flex;justify-content:center;min-width:60px}.stems-badge{background:#9c27b0;border-radius:10px;color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.5px;padding:.2rem .5rem;text-transform:uppercase}.bundle-type{flex-shrink:0}.type-badge{border-radius:10px;color:#fff;display:inline-block;font-size:.65rem;font-weight:600;padding:.2rem .5rem;text-transform:uppercase;white-space:nowrap}.type-badge.type-placeholder{background:#9e9e9e}.type-badge.type-audio{background:#4caf50}.type-badge.type-video{background:#2196f3}.type-badge.type-announcement{background:#ff9800}.type-badge.type-intermission{background:#9c27b0}.version-info{display:flex;flex-shrink:0;gap:.5rem}.version-badge{border:1px solid;border-radius:4px;display:inline-block;font-size:.7rem;font-weight:600;padding:.25rem .6rem;white-space:nowrap}.version-badge.master{background:#e8f5e9;border-color:#4caf50;color:#2e7d32}.version-badge.stems{background:#f3e5f5;border-color:#9c27b0;color:#6a1b9a}.track-actions{flex-shrink:0;gap:.25rem}.action-btn,.track-actions{align-items:center;display:flex}.action-btn{background:none;border:none;font-size:.9rem;justify-content:center;min-height:28px;min-width:28px;padding:.3rem}.action-btn:hover:not(:disabled){background:#2196f31a;color:#2196f3}.action-btn:active:not(:disabled){background:#2196f333}.action-btn.secondary{color:#666}.action-btn.secondary:hover:not(:disabled){background:#2196f31a;color:#2196f3}.action-btn.delete:hover{background:#f443361a}.action-btn.expand{color:#666}.action-btn.play{color:#4caf50;font-size:1rem}.action-btn.play:hover{background:#4caf501a;color:#388e3c}.action-btn:disabled{cursor:not-allowed;opacity:.6}.track-expanded{background:#fafafa;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.track-expanded h4{color:#333;font-size:.95rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.versions-list,.versions-section{display:flex;flex-direction:column;gap:.75rem}.versions-list{max-height:300px;overflow-y:auto}.version-item{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:.75rem;transition:all .2s}.version-item.current{background:#f1f8e9;border-color:#4caf50}.version-item:hover{box-shadow:0 2px 8px #0000001a}.version-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.5rem}.version-label{color:#333;font-size:.9rem;font-weight:600}.version-play-btn{align-items:center;background:#4caf50;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.7rem;height:24px;justify-content:center;padding-left:2px;text-decoration:none;transition:all .2s;width:24px}.version-play-btn:hover{background:#45a049;transform:scale(1.1)}.current-badge{background:#4caf50;border-radius:3px;color:#fff;font-size:.7rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase}.version-name{color:#666;font-size:.85rem;font-style:italic;margin-bottom:.25rem}.version-notes{background:#00000005;border-left:2px solid #2196f3;border-radius:3px;color:#999;font-size:.8rem;margin-bottom:.5rem;padding:.5rem}.version-meta{color:#999;display:flex;font-size:.75rem;gap:1rem}.stem-files-section{background:#f8f9fa;border-radius:4px;margin-top:.75rem;padding:.75rem}.stem-files-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.stem-file-item{background:#fff;border:1px solid #e0e0e0;border-radius:4px;justify-content:space-between;padding:.5rem}.stem-file-item,.stem-info-row{align-items:center;display:flex;gap:.5rem}.stem-info-row{flex:1 1;min-width:0}.stem-type-badge{background:#2196f3;border-radius:3px;color:#fff;font-size:.7rem;font-weight:600;padding:.125rem .5rem;text-transform:uppercase;white-space:nowrap}.stem-name{color:#666;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stem-play-link{background:#4caf50;border-radius:4px;color:#fff;font-size:.8rem;padding:.375rem .75rem;text-decoration:none;transition:all .2s;white-space:nowrap}.stem-actions{display:flex;gap:.5rem;margin-left:auto}.stem-btn{background:none;border:1px solid;border-radius:4px;cursor:pointer;font-size:.85rem;min-width:36px;padding:.375rem .75rem;transition:all .2s}.stem-btn.play{border-color:#4caf50;color:#4caf50}.stem-btn.play:hover{background:#4caf50;color:#fff}.stem-btn.replace{border-color:#ff9800;color:#ff9800}.stem-btn.replace:hover{background:#ff9800;color:#fff}.stem-btn.download{border-color:#2196f3;color:#2196f3}.stem-btn.download:hover{background:#2196f3;color:#fff}.stem-btn.delete{border-color:#f44336;color:#f44336}.stem-btn.delete:hover{background:#f44336;color:#fff}.stem-name-input{flex:1 1;font-size:.85rem;padding:.25rem .5rem}.stem-version-controls{gap:.5rem;margin-top:.5rem;padding-top:.5rem}.stem-play-link:hover{background:#45a049;transform:translateY(-1px)}.stem-player-section{margin-top:.5rem}.stem-version-header{align-items:center;color:#333;display:flex;font-size:.9rem;font-weight:600;justify-content:space-between;margin-bottom:.75rem}.btn-toggle-stem-player{background:#2196f3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;padding:.375rem .75rem;transition:all .2s}.btn-toggle-stem-player:hover{background:#1976d2}.stem-files-list{display:flex;flex-direction:column;gap:.5rem}.stem-row{grid-gap:1rem;align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;display:grid;gap:1rem;grid-template-columns:120px 1fr auto;padding:.75rem}.stem-type-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-family:inherit;font-size:.85rem;padding:.375rem .5rem}.stem-type-select:hover{border-color:#2196f3}.stem-type-select:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.stem-name-display{border-radius:3px;color:#333;cursor:pointer;font-size:.9rem;overflow:hidden;padding:.375rem .5rem;text-overflow:ellipsis;white-space:nowrap}.stem-name-display:hover{background:#2196f30d}.stem-name-input{border:1px solid #2196f3;border-radius:3px;font-family:inherit;font-size:.9rem;padding:.375rem .5rem;width:100%}.stem-mode-toggles{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.stem-mode-option{align-items:center;color:#666;cursor:pointer;display:flex;font-size:.85rem;gap:.5rem}.stem-mode-option input[type=radio]{cursor:pointer}.stem-mode-option:hover{color:#333}.stem-version-controls{align-items:flex-start;border-top:1px solid #e0e0e0;display:flex;gap:1rem;margin-top:.75rem;padding-top:.75rem}.btn-delete-stem-version{background:#fff;border:1px solid #f44336;border-radius:4px;color:#f44336;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.btn-delete-stem-version:hover{background:#f44336;color:#fff}.player-section{display:flex;flex-direction:column;gap:.75rem}.empty-state{background:#fafafa;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:3rem 2rem}.empty-state p{margin:.5rem 0}.empty-state p:first-child{color:#666;font-size:1.1rem;font-weight:600}.empty-state .sub-text{color:#999;font-size:.9rem}.loading{background:#fafafa;color:#999;padding:2rem}.metadata-section{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:1rem}.metadata-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:.5rem}.metadata-field{display:flex;flex-direction:column;gap:.25rem}.metadata-field.full-width{grid-column:1/-1}.metadata-field label{color:#666;font-size:.8rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.metadata-value{align-items:center;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;display:flex;min-height:36px;padding:.5rem .75rem;transition:all .2s}.metadata-value.editable{cursor:pointer}.metadata-value.editable:hover{background:#fff;border-color:#2196f3;box-shadow:0 0 0 1px #2196f333}.metadata-input,.metadata-textarea{background:#fff;border:2px solid #2196f3;border-radius:4px;font-family:inherit;font-size:.95rem;outline:none;padding:.5rem .75rem;transition:all .2s}.metadata-input:focus,.metadata-textarea:focus{border-color:#1976d2;box-shadow:0 0 0 3px #2196f31a}.metadata-textarea{min-height:80px;resize:vertical}.placeholder-text{color:#999;font-style:italic}@media (max-width:1200px){.track-actions{flex-wrap:wrap}.action-btn{font-size:.9rem;min-height:28px;min-width:28px;padding:.3rem}}@media (max-width:768px){.action-btn.delete{display:none}.track-main{flex-wrap:wrap;gap:.5rem}.track-order{margin-bottom:.25rem;min-width:auto;text-align:left;width:100%}.track-info{width:100%}.version-info{margin-top:.25rem;order:6;width:auto}.track-actions{margin-top:.5rem;order:7;width:100%}}.section-name-text{border-radius:3px;cursor:pointer;padding:.25rem .5rem;transition:background .2s}.section-name-text:hover{background:#2196f31a}.section-name-input{border:2px solid #2196f3;border-radius:4px;font-family:inherit;font-size:1.25rem;font-weight:600;min-width:200px;padding:.375rem .75rem;width:auto}.track-list-controls{align-items:center;display:flex;gap:.75rem}.track-filter-input{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.9rem;min-width:200px;padding:.5rem .75rem}.track-filter-input:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.track-filter-input::placeholder{color:#999}.track-status-select.compact,.track-type-select.compact{background:#fff;border:1px solid #ddd;border-radius:3px;cursor:pointer;font-family:inherit;font-size:.75rem;margin-left:.5rem;padding:.25rem .5rem}.track-status-select.compact{min-width:100px}.track-type-select.compact{min-width:110px}.track-status-select:hover,.track-type-select:hover{border-color:#2196f3}.track-status-select:focus,.track-type-select:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.track-status-select option[value=new]{background:#e3f2fd;color:#1976d2}.track-status-select option[value=to_be_added]{background:#fff3e0;color:#f57c00}.track-status-select option[value=needs_changes]{background:#ffebee;color:#c62828}.track-status-select option[value=needs_confirmation]{background:#fbe9e7;color:#d84315}.track-status-select option[value=final]{background:#e8f5e9;color:#2e7d32}.track-status-select[value=new]{background:#e3f2fd;border-color:#bbdefb;color:#1976d2}.track-status-select[value=to_be_added]{background:#fff3e0;border-color:#ffe0b2;color:#f57c00}.track-status-select[value=needs_changes]{background:#ffebee;border-color:#ffcdd2;color:#c62828}.track-status-select[value=needs_confirmation]{background:#fbe9e7;border-color:#ffccbc;color:#d84315}.track-status-select[value=final]{background:#e8f5e9;border-color:#c8e6c9;color:#2e7d32}.track-status-field,.track-type-field{align-items:center;display:flex;justify-content:center}.status-static,.type-static{background:#f5f5f5;border:1px solid #0000;border-radius:3px;cursor:pointer;font-size:.7rem;font-weight:500;padding:.25rem .5rem;transition:all .2s;white-space:nowrap}.status-static:hover,.type-static:hover{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.status-static.status-new{background:#e3f2fd;border-color:#bbdefb;color:#1976d2}.status-static.status-to_be_added{background:#fff3e0;border-color:#ffe0b2;color:#f57c00}.status-static.status-needs_changes{background:#ffebee;border-color:#ffcdd2;color:#c62828}.status-static.status-needs_confirmation{background:#fbe9e7;border-color:#ffccbc;color:#d84315}.status-static.status-final{background:#e8f5e9;border-color:#c8e6c9;color:#2e7d32}.type-static{background:#f5f5f5;border-color:#e0e0e0;color:#616161}.type-static.type-item_track{background:#e8eaf6;border-color:#c5cae9;color:#3f51b5}.type-static.type-scene_change{background:#f3e5f5;border-color:#e1bee7;color:#7b1fa2}.type-static.type-play_on_off{background:#e0f2f1;border-color:#b2dfdb;color:#00695c}.type-static.type-acting_package{background:#fff9c4;border-color:#fff59d;color:#f57f17}.type-static.type-dialogue_track{background:#fce4ec;border-color:#f8bbd0;color:#c2185b}.type-static.type-dialogue_only{background:#fce4ec;border-color:#f8bbd0;color:#ad1457}.type-static.type-house_curtain{background:#efebe9;border-color:#d7ccc8;color:#4e342e}.type-static.type-transition_no_dialogue{background:#e1f5fe;border-color:#b3e5fc;color:#0277bd}.type-static.type-none{background:#fafafa;border-color:#e0e0e0;color:#9e9e9e}.track-status-field .track-status-select.compact,.track-type-field .track-type-select.compact{font-size:.7rem;font-weight:500;min-width:85px;padding:.25rem .4rem}.track-type-field .track-type-select.compact{min-width:105px}.track-type-select option[value=item_track]{background:#e8eaf6;color:#3f51b5}.track-type-select option[value=scene_change]{background:#f3e5f5;color:#7b1fa2}.track-type-select option[value=play_on_off]{background:#e0f2f1;color:#00695c}.track-type-select option[value=acting_package]{background:#fff9c4;color:#f57f17}.track-type-select option[value=dialogue_track]{background:#fce4ec;color:#c2185b}.track-type-select option[value=dialogue_only]{background:#fce4ec;color:#ad1457}.track-type-select option[value=house_curtain]{background:#efebe9;color:#4e342e}.track-type-select option[value=transition_no_dialogue]{background:#e1f5fe;color:#0277bd}.track-type-select[value=item_track]{background:#e8eaf6;border-color:#c5cae9;color:#3f51b5}.track-type-select[value=scene_change]{background:#f3e5f5;border-color:#e1bee7;color:#7b1fa2}.track-type-select[value=play_on_off]{background:#e0f2f1;border-color:#b2dfdb;color:#00695c}.track-type-select[value=acting_package]{background:#fff9c4;border-color:#fff59d;color:#f57f17}.track-type-select[value=dialogue_track]{background:#fce4ec;border-color:#f8bbd0;color:#c2185b}.track-type-select[value=dialogue_only]{background:#fce4ec;border-color:#f8bbd0;color:#ad1457}.track-type-select[value=house_curtain]{background:#efebe9;border-color:#d7ccc8;color:#4e342e}.track-type-select[value=transition_no_dialogue]{background:#e1f5fe;border-color:#b3e5fc;color:#0277bd}.track-type-select[value=""]{background:#fafafa;border-color:#e0e0e0;color:#9e9e9e}.track-settings{border-top:1px solid #e0e0e0;display:flex;gap:1.5rem;margin-top:.75rem;padding:.75rem 0}.setting-checkbox{align-items:center;color:#616161;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.setting-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.setting-checkbox:hover span{color:#2196f3}.track-duration{align-items:center;display:flex;flex-direction:column;gap:.15rem}.duration-main{font-weight:600}.cumulative-time{color:#999;font-size:.65rem;font-weight:400}.production-view{margin:0 auto;max-width:1400px;padding:20px}.production-header{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.production-title{align-items:center;display:flex;gap:15px}.production-title h2{color:#333;font-size:24px;margin:0}.production-date{background:#f0f0f0;border-radius:4px;color:#666;font-size:14px;padding:4px 12px}.production-actions{display:flex;gap:10px}.sections-container{display:flex;flex-direction:column;gap:15px}.section-block{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.section-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;padding:15px 20px;transition:background-color .2s}.section-header:hover{background:#e8ecef}.section-toggle{background:none;border:none;color:#666;cursor:pointer;font-size:16px;margin-right:10px;padding:5px;transition:transform .2s}.section-toggle:hover{transform:scale(1.2)}.section-title{align-items:center;color:#333;display:flex;flex:1 1;font-size:18px;font-weight:600;gap:10px;margin:0}.section-order{color:#666;font-weight:400}.section-order.editable{border-radius:3px;cursor:pointer;padding:2px 4px;transition:all .2s}.section-order.editable:hover{background:#e3f2fd;color:#2196f3}.section-meta{align-items:center;display:flex;gap:15px;margin-right:20px}.section-type{background:#2196f3;border-radius:4px;color:#fff;font-size:12px;font-weight:500;padding:4px 8px;text-transform:uppercase}.section-duration,.track-count{color:#666;font-size:14px}.section-duration{font-weight:500}.section-actions{display:flex;gap:5px}.section-content{background:#fafafa;border-top:1px solid #e0e0e0}.error-banner{background:#f44336;border-radius:8px;justify-content:space-between;margin-bottom:20px;padding:12px 20px}.error-banner,.error-banner button{align-items:center;color:#fff;display:flex}.error-banner button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.error-banner button:hover{background:#fff3}.empty-state{padding:60px 20px}.empty-state p{font-size:18px;margin-bottom:10px}.empty-state .btn-primary{margin-top:20px}.btn-primary,.btn-secondary{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.btn-primary{background:#2196f3}.btn-primary:hover{background:#1976d2;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-secondary{background:#fff;color:#666}.btn-secondary:hover{background:#f5f5f5;border-color:#bbb}.action-btn{background:#fff;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;padding:6px 10px;transition:all .2s}.action-btn:hover{background:#f5f5f5;border-color:#999}.action-btn.delete{color:#f44336}.action-btn.delete:hover{background:#ffebee;border-color:#f44336}.version-history-toggle{border-top:1px solid #e0e0e0;margin-top:15px;padding-top:15px}.toggle-history-btn{background:none;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.toggle-history-btn:hover{background:#f5f5f5;border-color:#999}.current-version-info{background:#f0f8ff}.current-version-info,.stems-section{border-radius:6px;margin-bottom:15px;padding:15px}.stems-section{background:#fff3e0}.stems-section h4{color:#e65100;margin-bottom:10px;margin-top:0}.stem-info{color:#666;font-size:14px}.production-title-row{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.production-filter-input{border:2px solid #ddd;border-radius:6px;font-family:inherit;font-size:1rem;min-width:300px;padding:.625rem 1rem;transition:all .2s}.production-filter-input:focus{border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a;outline:none}.production-filter-input::placeholder{color:#999}.section-title-content{align-items:center;display:flex;gap:10px}.section-act-badge{background:#e3f2fd;border-radius:3px;color:#2196f3;font-size:.75rem;font-style:italic;font-weight:600;padding:2px 8px}.section-act-badge.editable{cursor:pointer;transition:all .2s}.section-act-badge.editable:hover{background:#bbdefb;box-shadow:0 0 0 2px #2196f333}.section-act-input,.section-number-input{border:1px solid #2196f3;border-radius:3px;font-family:inherit;font-size:inherit;min-width:50px;padding:2px 6px;width:auto}.section-number-input{max-width:80px}.section-act-input{font-size:.75rem;max-width:150px;min-width:100px}.section-runtime-info{display:flex;flex-direction:column;font-size:.75rem;gap:.25rem;margin-left:auto;padding-left:20px}.runtime-stat-line{align-items:center;display:flex;gap:.4rem;white-space:nowrap}.stat-label{color:#555;min-width:60px}.stat-elapsed{color:#2196f3;font-weight:600}.stat-sep{color:#bbb}.stat-total{color:#666;font-weight:600}.stat-remaining{color:#999;font-size:.7rem}.batch-upload{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1000px;padding:2rem;width:100%}.batch-upload-header{border-bottom:2px solid #e0e0e0;margin-bottom:2rem;padding-bottom:1.5rem}.batch-upload-header h2{color:#333;font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.phase-indicator{color:#666;font-size:.875rem;font-weight:500;letter-spacing:.5px;margin:0;text-transform:uppercase}.dropzone{border-radius:12px;margin-bottom:2rem;padding:3rem 2rem}.dropzone.active{box-shadow:0 4px 12px #1976d226}.dropzone input{display:none}.dropzone-content{gap:1rem}.upload-icon{stroke-width:1.5}.main-text{font-size:1.125rem;margin:0}.sub-text{font-size:.875rem;margin:0}.selected-files{background:#f9f9f9;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.selected-files h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.files-list{display:flex;flex-direction:column;gap:.75rem}.file-item{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:all .2s ease}.file-item:hover{box-shadow:0 2px 4px #0000000d}.file-info{flex:1 1;min-width:0}.file-name{font-size:.95rem;margin:0}.file-meta{color:#999;font-size:.8rem;margin:.25rem 0 0}.file-type{background:#e3f2fd;border-radius:4px;color:#1976d2;font-size:.8rem;font-weight:500;margin-left:1rem;padding:.4rem .8rem;text-transform:uppercase;white-space:nowrap}.progress-bar{margin-bottom:1rem}.progress-fill{box-shadow:0 0 8px #1976d266}.upload-progress p{text-align:center}.analysis-summary{grid-gap:1rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:2rem;padding:1.5rem}.summary-stat{align-items:center;background:#fff;border-left:4px solid #1976d2;border-radius:8px;display:flex;flex-direction:column;padding:1rem;transition:all .2s ease}.summary-stat:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.summary-stat.warning{border-left-color:#f57c00}.stat-label{color:#999;font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stat-value{color:#1976d2;font-size:1.75rem;font-weight:700}.stat-value.selected{color:#4caf50}.summary-stat.warning .stat-value{color:#f57c00}.analyzed-groups{margin-bottom:2rem}.analyzed-groups h3{color:#333;font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.group-card{border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;overflow:hidden;transition:all .2s ease}.group-card:hover{border-color:#1976d2;box-shadow:0 4px 12px #1976d21a}.group-header{align-items:center;background:#f9f9f9;border-bottom:1px solid #e0e0e0;cursor:pointer;display:flex;gap:1rem;padding:1.25rem;-webkit-user-select:none;user-select:none}.group-header:hover{background:#f5f5f5}.group-checkbox{accent-color:#1976d2;cursor:pointer;flex-shrink:0;height:20px;width:20px}.group-title{flex:1 1}.group-title h4{color:#333;font-size:1rem;margin:0 0 .5rem}.confidence-score{align-items:center;display:flex;font-size:.85rem;gap:.5rem}.score-label{color:#666;font-weight:500}.score-value{background:#e3f2fd;border-radius:4px;color:#1976d2;font-weight:600;padding:.2rem .6rem}.confidence-100,.confidence-90,.confidence-95{background:#c8e6c9!important;color:#2e7d32!important}.confidence-70,.confidence-75,.confidence-80{background:#fff9c4!important;color:#f57f17!important}.confidence-40,.confidence-50,.confidence-60{background:#ffccbc!important;color:#d84315!important}.group-content{grid-gap:1.5rem;background:#fff;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.5rem}.form-group label{color:#666;font-size:.875rem;font-weight:600;letter-spacing:.3px;margin-bottom:.5rem;text-transform:uppercase}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.form-group input:disabled,.form-group select:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.info-box{background:#e8f5e9;border-left:4px solid #4caf50;border-radius:4px;grid-column:1/-1;padding:1rem}.info-box p{color:#2e7d32;font-size:.9rem;font-weight:500;margin:0}.files-info{grid-column:1/-1}.files-label{color:#666;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.files-mini-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.files-mini-list li{align-items:center;background:#f5f5f5;border-radius:4px;display:flex;font-size:.85rem;gap:.75rem;padding:.5rem .75rem}.files-mini-list .file-name{color:#333;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-type-badge{background:#e3f2fd;border-radius:3px;color:#1976d2;font-size:.75rem;font-weight:600;padding:.2rem .5rem;white-space:nowrap}.file-duration{color:#999;font-size:.8rem}.unmatched-section{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.unmatched-section h3{color:#856404;font-size:1rem;font-weight:600;margin:0 0 1rem}.unmatched-list{display:flex;flex-direction:column;gap:.75rem}.unmatched-item{align-items:center;background:#fff;border-left:3px solid #f57c00;border-radius:4px;display:flex;font-size:.9rem;justify-content:space-between;padding:.75rem 1rem}.unmatched-item .file-name{color:#333;flex:1 1;font-weight:500}.unmatched-item .reason{color:#999;font-size:.85rem;margin-left:1rem}.unmatched-item-extended{background:#fff;border-left:3px solid #f57c00;border-radius:4px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem;padding:1rem}.unmatched-file-info{align-items:center;display:flex;justify-content:space-between}.unmatched-file-info .file-name{color:#333;font-size:.95rem;font-weight:500}.unmatched-file-info .reason{color:#999;font-size:.85rem;margin-left:1rem}.manual-match-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.action-select,.file-type-select,.section-select,.track-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem .75rem;transition:border-color .2s}.action-select{flex:1.5 1;min-width:200px}.track-select{flex:2 1;min-width:250px}.file-type-select{flex:1 1;min-width:150px}.section-select{flex:1.5 1;min-width:200px}.track-name-input{background:#fff;border:1px solid #ddd;border-radius:4px;flex:2 1;font-size:.9rem;min-width:200px;padding:.5rem .75rem;transition:border-color .2s}.track-name-input:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.action-select:hover,.file-type-select:hover,.section-select:hover,.track-select:hover{border-color:#2196f3}.action-select:focus,.file-type-select:focus,.section-select:focus,.track-select:focus{border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a;outline:none}.track-select optgroup{color:#666;font-style:normal;font-weight:600}.track-select option{font-weight:400;padding:.25rem .5rem}.error-container{margin-bottom:2rem}.error-message{border:1px solid #ef5350;border-left:4px solid #d32f2f;border-radius:8px;padding:1.5rem}.error-title{color:#c62828;font-size:1rem;font-weight:600;margin:0 0 .5rem}.error-message p{color:#c62828;font-size:.95rem;line-height:1.5;margin:0}.error-actions{display:flex;gap:.75rem;margin-top:1rem}.error-actions button{flex:1 1}.confirmation-summary{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 2fr;margin-bottom:2rem}@media (max-width:768px){.confirmation-summary{grid-template-columns:1fr}}.summary-box{background:#f5f5f5;border-radius:8px;padding:1.5rem}.summary-box h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.summary-details{display:flex;flex-direction:column;gap:1rem}.detail-row{align-items:center;background:#fff;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem}.detail-row .label{color:#666;font-size:.9rem;font-weight:500}.detail-row .value{color:#1976d2;font-size:1.25rem;font-weight:700}.groups-preview{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.groups-preview h3{color:#333;font-size:1rem;font-weight:600;margin:0 0 1rem}.preview-group{background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:1rem;padding:1rem;transition:all .2s ease}.preview-group:last-child{margin-bottom:0}.preview-group:hover{box-shadow:0 2px 8px #0000000d}.preview-header{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem;margin-bottom:.75rem}.group-number{background:#e3f2fd;border-radius:4px;color:#666;font-weight:600;padding:.25rem .75rem;white-space:nowrap}.track-name{color:#333;flex:1 1;font-weight:600;min-width:150px}.section-info{background:#f3e5f5;border-radius:4px;color:#6a1b9a;font-weight:500;padding:.25rem .75rem;white-space:nowrap}.preview-files{display:flex;flex-wrap:wrap;gap:.5rem}.file-badge{background:#e8eaf6;border-radius:4px;color:#3f51b5;font-size:.8rem;font-weight:500;max-width:100%;overflow:hidden;padding:.4rem .75rem;text-overflow:ellipsis;white-space:nowrap}.preview-files-metadata{margin-top:1rem}.files-metadata-table{border-collapse:collapse;font-size:.9rem;width:100%}.files-metadata-table th{background:#f5f5f5;color:#666;font-weight:600;text-align:left}.files-metadata-table td,.files-metadata-table th{border-bottom:1px solid #e0e0e0;padding:.5rem}.file-name-cell{color:#666;font-family:Courier New,monospace;font-size:.85rem;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-type-cell{width:180px}.stem-label-cell{width:200px}.file-type-select,.stem-label-input{background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-size:.85rem;padding:.25rem .5rem;width:100%}.file-type-select:focus,.stem-label-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;outline:none}.upload-progress-container{margin-bottom:2rem}.action-buttons{display:flex;gap:1rem;justify-content:flex-end}.cancel-btn,.primary-btn,.retry-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease}.cancel-btn{background:#e0e0e0;color:#333}.cancel-btn:hover:not(:disabled){background:#d0d0d0}.primary-btn:hover:not(:disabled){box-shadow:0 4px 12px #1976d24d}.primary-btn.confirm-btn:not(:disabled){background:#4caf50}.primary-btn.confirm-btn:hover:not(:disabled){background:#43a047;box-shadow:0 4px 12px #4caf504d}.retry-btn{background:#ff9800;color:#fff;flex:1 1}.retry-btn:hover{background:#f57c00}button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.batch-upload{border-radius:8px;padding:1rem}.batch-upload-header h2{font-size:1.5rem}.dropzone{padding:2rem 1rem}.analysis-summary,.group-content{grid-template-columns:1fr}.action-buttons{flex-direction:column-reverse}.action-buttons button{width:100%}.files-mini-list li{flex-wrap:wrap}.preview-header{align-items:flex-start;flex-direction:column}.track-name{min-width:auto}.file-badge{max-width:calc(100% - 8px)}}@media (max-width:480px){.batch-upload{padding:.75rem}.batch-upload-header h2{font-size:1.25rem}.phase-indicator{font-size:.75rem}.dropzone{padding:1.5rem 1rem}.main-text{font-size:1rem}.sub-text{font-size:.8rem}.groups-preview h3,.summary-box h3{font-size:.95rem}.cancel-btn,.primary-btn,.retry-btn{font-size:.85rem;padding:.65rem 1.25rem}}.placeholder-manager{background:#fff;border-radius:8px;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.manager-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding-bottom:1rem}.manager-header h2{color:#333;font-size:1.5rem;margin:0}.mode-tabs{display:flex;gap:.5rem}.tab-button{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:4px;color:#666;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.tab-button:hover:not(:disabled){background:#e3f2fd;border-color:#1976d2;color:#1976d2}.tab-button.active{background:#1976d2;border-color:#1976d2;color:#fff}.tab-button:disabled{cursor:not-allowed;opacity:.5}.message-container{align-items:flex-start;animation:slideIn .3s ease;border-left:4px solid;border-radius:4px;display:flex;gap:1rem;padding:1rem}.error-message{background:#ffebee;border-left-color:#c62828}.success-message{background:#e8f5e9;border-left-color:#2e7d32}.message-icon{font-size:1.5rem;font-weight:700;min-width:1.5rem;text-align:center}.error-message .message-icon{color:#c62828}.success-message .message-icon{color:#2e7d32}.message-content{flex:1 1}.message-content p{color:#333;font-size:.95rem;margin:0}.message-title{font-weight:600;margin-bottom:.25rem}.message-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;opacity:.7;transition:opacity .2s}.message-close:hover{opacity:1}.manager-section{display:flex;flex-direction:column;gap:1rem}.manager-section h3{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.1rem;margin:0;padding-bottom:.75rem}.convert-form,.create-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.form-row{grid-template-columns:1fr}}textarea.form-control{min-height:100px;resize:vertical}.file-upload-section{display:flex;flex-direction:column;gap:.75rem}.file-upload-section label{color:#333;font-size:.95rem;font-weight:500}.dropzone{background:#fafafa;border:2px dashed #ccc;border-radius:8px;cursor:pointer;padding:2rem;text-align:center;transition:all .3s ease}.dropzone:hover{background:#f0f7ff;border-color:#1976d2}.dropzone.active{background:#e3f2fd;border-color:#1976d2;border-width:2px}.dropzone.disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.dropzone-content{align-items:center;display:flex;flex-direction:column;gap:.75rem}.upload-icon{color:#1976d2}.dropzone p{margin:0}.main-text{color:#333;font-size:1rem;font-weight:500}.sub-text{color:#666;font-size:.85rem}.upload-progress{width:100%}.progress-bar{margin-bottom:.75rem;width:100%}.upload-progress p{color:#666;font-size:.9rem;margin:0}.selected-file{align-items:center;background:#f5f5f5;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem}.file-name{color:#333;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{background:#f44336;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-left:.75rem;padding:.25rem .75rem;transition:background .2s}.remove-file-btn:hover:not(:disabled){background:#d32f2f}.remove-file-btn:disabled{cursor:not-allowed;opacity:.5}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:.5rem}.primary-btn,.secondary-btn{border:none;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.primary-btn{background:#1976d2;color:#fff}.primary-btn:hover:not(:disabled){background:#1565c0;box-shadow:0 2px 8px #1976d24d}.primary-btn:disabled{cursor:not-allowed;opacity:.5}.secondary-btn{background:#e0e0e0;color:#333}.secondary-btn:hover:not(:disabled){background:#d0d0d0}.secondary-btn:disabled{cursor:not-allowed;opacity:.5}.info-section{background:#f5f9ff;border-left:4px solid #1976d2;border-radius:8px;padding:1.5rem}.info-content{display:flex;flex-direction:column;gap:1rem}.info-content>p{color:#333;line-height:1.5;margin:0}.info-list{color:#555;margin:0;padding-left:1.5rem}.info-list li{line-height:1.5;margin:.5rem 0}.info-tips{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:1rem}.info-tips h4{color:#1976d2;font-size:.95rem;margin:0 0 .75rem}.info-tips ul{color:#555;margin:0;padding-left:1.5rem}.info-tips li{font-size:.9rem;line-height:1.5;margin:.5rem 0}@media (max-width:768px){.placeholder-manager{padding:1rem}.manager-header{align-items:flex-start;flex-direction:column}.mode-tabs{flex-direction:column;width:100%}.tab-button{flex:1 1;text-align:center}.form-actions{flex-direction:column;justify-content:stretch}.primary-btn,.secondary-btn{width:100%}.dropzone{padding:1.5rem 1rem}.selected-file{align-items:flex-start;flex-direction:column}.remove-file-btn{margin-left:0;margin-top:.5rem;width:100%}}.export-manager{background:#fff;border-radius:8px;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem}.export-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;padding-bottom:1rem}.export-header h2{color:#333;font-size:1.5rem;margin:0 0 .5rem}.header-subtitle{color:#666;font-size:.95rem;margin:0}.alert{align-items:flex-start;animation:slideIn .3s ease;border-left:4px solid;border-radius:4px;display:flex;gap:1rem;padding:1rem}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:#ffebee;border-left-color:#c62828}.alert-success{background:#e8f5e9;border-left-color:#2e7d32}.alert-icon{font-size:1.5rem;font-weight:700;min-width:1.5rem;text-align:center}.alert-error .alert-icon{color:#c62828}.alert-success .alert-icon{color:#2e7d32}.alert-content{flex:1 1}.alert-content p{color:#333;font-size:.95rem;margin:0}.alert-title{font-weight:600;margin-bottom:.25rem}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;opacity:.7;padding:0;transition:opacity .2s}.alert-close:hover{opacity:1}.export-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}@media (max-width:1024px){.export-container{grid-template-columns:1fr}}.export-form-section,.export-history-section{display:flex;flex-direction:column;gap:1rem}.export-form-section h3,.export-history-section h3{border-bottom:1px solid #e0e0e0;color:#333;font-size:1.1rem;margin:0;padding-bottom:.75rem}.export-form{gap:1.25rem}.export-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#333;font-size:.95rem;font-weight:500}.form-control{border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:.95rem;padding:.75rem;transition:all .2s ease}.form-control:hover{border-color:#bbb}.form-control:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.form-control:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-hint{color:#666;font-size:.85rem;margin-top:.25rem}.format-group{display:flex;flex-direction:column;gap:.75rem}.format-group label{color:#333;font-size:.95rem;font-weight:500}.format-options{display:flex;flex-direction:column;gap:.75rem}.format-option{align-items:flex-start;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.format-option:hover{background:#f5f9ff;border-color:#1976d2}.format-option input[type=radio]{accent-color:#1976d2;cursor:pointer;margin-top:.25rem}.format-label{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.format-desc{color:#666;font-size:.85rem;font-weight:400}.export-btn{background:#1976d2;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;margin-top:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.export-btn:hover:not(:disabled){background:#1565c0;box-shadow:0 2px 8px #1976d24d}.export-btn:disabled{cursor:not-allowed;opacity:.5}.csv-export-btn{background:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:500;padding:.625rem 1.25rem;transition:all .3s ease;white-space:nowrap}.csv-export-btn:hover:not(:disabled){background:#43a047;box-shadow:0 2px 8px #4caf504d;transform:translateY(-1px)}.csv-export-btn:disabled{cursor:not-allowed;opacity:.5}.export-jobs-list{display:flex;flex-direction:column;gap:1rem;max-height:600px;overflow-y:auto}.empty-state{color:#999;padding:2rem 1rem}.empty-state p{font-size:.95rem;margin:0}.empty-state .sub-text{color:#bbb;font-size:.85rem;margin-top:.5rem}.export-job-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;padding:1rem;transition:all .2s ease}.export-job-card:hover{background:#f5f9ff;border-color:#1976d2}.job-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.job-info h4{color:#333;font-size:.95rem;margin:0 0 .5rem}.job-meta{color:#666;display:flex;font-size:.85rem;gap:.75rem}.job-format{background:#e3f2fd;border-radius:3px;color:#1976d2;font-weight:500;padding:.25rem .5rem}.job-time{color:#999}.status-badge{border-radius:3px;color:#fff;display:inline-block;font-size:.85rem;font-weight:500;padding:.4rem .8rem;text-transform:capitalize}.job-progress{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.progress-bar{background:#e0e0e0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#1976d2,#1565c0);height:100%;transition:width .3s ease}.progress-text{color:#666;font-size:.85rem;min-width:40px;text-align:right}.job-error{background:#ffebee;border:1px solid #ffcdd2;border-radius:4px;margin-bottom:.75rem;padding:.75rem}.job-error p{color:#c62828;font-size:.9rem;margin:0}.job-completed{align-items:center;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:4px;display:flex;justify-content:space-between;padding:.75rem}.completed-info{flex:1 1}.completed-text{color:#2e7d32;font-size:.95rem;font-weight:500;margin:0}.completed-time{color:#558b2f;font-size:.85rem;margin:.25rem 0 0}.download-btn{background:#2e7d32;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:background .2s}.download-btn:hover{background:#1b5e20}.format-info{border-top:2px solid #e0e0e0;padding-top:1.5rem}.format-info h3{color:#333;font-size:1.1rem;margin:0 0 1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-card{background:#f5f9ff;border:1px solid #e3f2fd;border-radius:4px;padding:1rem}.info-card h4{color:#1976d2;font-size:.95rem;margin:0 0 .5rem}.info-card p{color:#555;font-size:.9rem;line-height:1.5;margin:0 0 .75rem}.info-card ul{color:#666;font-size:.85rem;margin:0;padding-left:1.25rem}.info-card li{line-height:1.4;margin:.35rem 0}.export-jobs-list::-webkit-scrollbar{width:8px}.export-jobs-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.export-jobs-list::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.export-jobs-list::-webkit-scrollbar-thumb:hover{background:#888}@media (max-width:768px){.export-manager{padding:1rem}.export-container{gap:1.5rem}.job-completed{align-items:flex-start;flex-direction:column}.download-btn{margin-top:.75rem;width:100%}.format-options{flex-direction:column}.info-grid{grid-template-columns:1fr}.export-jobs-list{max-height:400px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:#1976d2;box-shadow:0 2px 4px #0000001a;color:#fff;justify-content:space-between;padding:1rem 2rem}.app-header,.header-left{align-items:center;display:flex}.header-left{gap:1rem}.header-left h1{font-size:1.5rem;font-weight:500}.production-badge{background:#fff3;border-radius:1rem;font-size:.875rem;padding:.25rem .75rem}.header-right{align-items:center;display:flex;gap:1rem}.production-select{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1rem}.production-select option{background:#1976d2;color:#fff}.user-info{align-items:center;background:#ffffff1a;border-radius:4px;display:flex;gap:.5rem;padding:.25rem .75rem}.user-info span{font-size:.875rem}.toolbar{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem 2rem}.toolbar-tabs{display:flex;gap:.25rem}.tab-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:#666;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1.25rem;transition:all .2s}.tab-btn:hover:not(:disabled){background:#1976d20a;color:#1976d2}.tab-btn.active{border-bottom-color:#1976d2;color:#1976d2}.tab-btn:disabled{cursor:not-allowed;opacity:.4}.search-box{flex:1 1;max-width:400px;position:relative}.search-box input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.5rem 1rem .5rem 2.5rem;width:100%}.search-icon{color:#666;left:.75rem;position:absolute;top:50%;transform:translateY(-50%)}.toolbar-actions{display:flex;gap:.5rem}.btn{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#1976d2;color:#fff}.btn-primary:hover:not(:disabled){background:#1565c0}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;color:#333}.btn-secondary:hover:not(:disabled){background:#e0e0e0}.btn-link{background:none;color:#1976d2;font-weight:400;padding:.25rem .5rem;text-decoration:none}.btn-link:hover{text-decoration:underline}.app-main{flex:1 1;overflow-y:auto;padding:1.5rem}.main-layout{display:flex;gap:1.5rem;height:100%;margin:0 auto;max-width:1600px}.sections-view,.tracks-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;overflow:hidden}.tracks-header{background:#fafafa;border-bottom:1px solid #e0e0e0;padding:1rem 1.5rem}.tracks-header h2{color:#333;font-size:1.25rem;margin-top:.5rem}.player-sidebar{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:-webkit-fit-content;height:fit-content;max-height:calc(100vh - 3rem);overflow-y:auto;position:-webkit-sticky;position:sticky;top:1.5rem;width:400px}.player-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:1rem}.player-header h3{color:#333;font-size:1.1rem;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:20px;height:24px;line-height:1;transition:all .2s;width:24px}.close-btn:hover{background:#0000000d;color:#333}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.modal-content.large{max-width:900px}.modal-close{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:24px;height:32px;line-height:1;position:absolute;right:1rem;top:1rem;transition:all .2s;width:32px;z-index:10}.modal-close:hover{background:#0000000d;color:#333}.empty-state{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:4rem 2rem;text-align:center}.empty-state h2{color:#333;margin-bottom:1rem}.empty-state p{color:#666;margin-bottom:2rem}.loading{color:#666;padding:4rem 2rem;text-align:center}.loading-spinner{animation:spin 1s ease-in-out infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:#1976d2;display:inline-block;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:1200px){.player-sidebar{width:350px}}@media (max-width:992px){.main-layout{flex-direction:column}.player-sidebar{max-height:none;position:static;width:100%}.toolbar{align-items:flex-start;flex-direction:column;gap:1rem}.toolbar-tabs{width:100%}.toolbar-actions{justify-content:space-between;width:100%}}@media (max-width:768px){.app-header{flex-direction:column;gap:1rem;padding:1rem}.header-left,.header-right{justify-content:space-between;width:100%}.header-left h1{font-size:1.25rem}.production-select{flex:1 1}.toolbar-actions{flex-wrap:wrap}.btn{font-size:.85rem;padding:.4rem .8rem}.modal-overlay{padding:1rem}.modal-content{max-width:100%}}@media (max-width:480px){.app-main,.toolbar{padding:.75rem}.toolbar-actions .btn{flex-basis:calc(50% - 0.25rem);flex-grow:1;flex-shrink:1}.tab-btn{font-size:.85rem;padding:.4rem .8rem}}
/*# sourceMappingURL=main.3523aa4f.css.map*/