.upload-panel{padding:16px;border-bottom:1px solid #2a2a4a}.drop-zone{border:2px dashed #4a4a8a;border-radius:10px;padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:border-color .2s,background .2s}.drop-zone:hover{border-color:#a78bfa;background:#1a1a3a}.upload-icon{font-size:28px}.upload-hint{font-size:13px;color:#88a;text-align:center}.upload-error{margin-top:8px;font-size:12px;color:#f87171}.library-empty{padding:24px 16px;color:#55a;font-size:13px;text-align:center}.song-library{padding:0 0 16px}.library-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#66a;padding:12px 16px 8px}.song-card{border-bottom:1px solid #1e1e3a}.song-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;color:#e0e0f0;font-size:14px;text-align:left;border-radius:0}.song-toggle:hover{background:#1a1a3a}.song-section-count{margin-left:auto;font-size:11px;color:#66a}.chevron{font-size:11px;color:#66a;margin-left:4px}.section-list{padding:4px 0 8px;background:#0d0d20}.section-row{display:flex;align-items:center;gap:8px;padding:6px 16px}.section-tag{font-size:11px;font-weight:700;color:#0f0f1a;padding:2px 8px;border-radius:999px;white-space:nowrap;flex-shrink:0}.section-preview{flex:1;font-size:12px;color:#88b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-btn{background:#4a4a8a;color:#fff;padding:2px 10px;font-size:16px;line-height:1.2;border-radius:4px;flex-shrink:0}.add-btn:hover{background:#a78bfa}.bible-panel{padding:16px;border-bottom:1px solid #2a2a4a}.bible-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#66a;margin-bottom:10px}.bible-controls{display:flex;gap:6px;align-items:center}.bible-select{background:#1a1a3a;border:1px solid #3a3a6a;border-radius:6px;color:#e0e0f0;font-size:13px;padding:6px 8px;cursor:pointer}.bible-select:focus{outline:none;border-color:#60a5fa}.bible-book{flex:1;min-width:0}.bible-chapter{width:62px;flex-shrink:0}.bible-load-btn{background:#1e3a5f;color:#60a5fa;font-size:13px;padding:6px 12px;border-radius:6px;flex-shrink:0}.bible-load-btn:hover:not(:disabled){background:#1e4a7f}.bible-error{margin-top:8px;font-size:12px;color:#f87171}.bible-verse-toolbar{display:flex;align-items:center;gap:6px;margin-top:10px;margin-bottom:4px}.bible-tool-btn{background:#2a2a5a;color:#aac;font-size:11px;padding:3px 10px;border-radius:4px}.bible-tool-btn:hover{background:#3a3a7a;color:#fff}.bible-selected-count{margin-left:auto;font-size:11px;color:#56a}.bible-verse-list{list-style:none;max-height:260px;overflow-y:auto;border:1px solid #2a2a4a;border-radius:6px;background:#0d0d20}.bible-verse-item{display:flex;gap:8px;padding:6px 10px;cursor:pointer;border-bottom:1px solid #1a1a30;-webkit-user-select:none;user-select:none;transition:background .1s}.bible-verse-item:last-child{border-bottom:none}.bible-verse-item:hover{background:#1a1a35}.bible-verse-item.selected{background:#1a2a4a}.bible-verse-item.selected .bible-vnum{color:#60a5fa}.bible-vnum{font-size:11px;font-weight:700;color:#4a6a9a;min-width:20px;flex-shrink:0;padding-top:1px}.bible-vtext{font-size:12px;color:#b0b0d0;line-height:1.5}.bible-layout-toggle{display:flex;gap:6px;margin-top:8px}.bible-layout-btn{flex:1;font-size:12px;padding:5px 8px;border-radius:6px;background:#1a1a3a;color:#66a;border:1px solid #2a2a5a}.bible-layout-btn:hover{background:#2a2a5a;color:#aac}.bible-layout-btn.active{background:#1e3a5f;color:#60a5fa;border-color:#60a5fa}.bible-add-row{display:flex;gap:6px;margin-top:8px}.bible-add-btn{flex:1;font-size:12px;padding:7px 10px;border-radius:6px;text-align:center}.bible-add-btn.primary{background:#1e3a5f;color:#60a5fa}.bible-add-btn.primary:hover{background:#1e4a7f}.bible-add-btn.secondary{background:#2a2a5a;color:#88c}.bible-add-btn.secondary:hover{background:#3a3a7a;color:#aae}.cover-panel{padding:16px;border-bottom:1px solid #2a2a4a;display:flex;flex-direction:column;gap:8px}.cover-title{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#66a;margin-bottom:2px}.cover-drop{height:90px;border:2px dashed #3a3a6a;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;position:relative;overflow:hidden;transition:border-color .2s}.cover-drop:hover{border-color:#a78bfa}.cover-drop-hint{font-size:12px;color:#55a;text-align:center;padding:8px}.cover-uploading-badge{position:absolute;bottom:6px;right:8px;font-size:11px;background:#0009;color:#aae;padding:2px 8px;border-radius:4px}.cover-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#56a;margin-top:4px}.cover-textarea{background:#1a1a3a;border:1px solid #3a3a6a;border-radius:6px;color:#e0e0f0;font-size:13px;font-family:inherit;padding:8px 10px;resize:vertical;line-height:1.5}.cover-textarea:focus{outline:none;border-color:#a78bfa}.cover-textarea::placeholder{color:#3a3a6a}.setlist-builder{max-width:800px;margin:0 auto}.setlist-header{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.setlist-title-row{display:flex;align-items:center;gap:12px}.setlist-title-row h2{font-size:18px;color:#a78bfa;white-space:nowrap}.service-title-input{flex:1;background:#1a1a3a;border:1px solid #3a3a6a;border-radius:6px;color:#e0e0f0;font-size:14px;padding:6px 12px}.service-title-input:focus{outline:none;border-color:#a78bfa}.export-btn{background:#7c3aed;color:#fff;font-size:14px;padding:10px 20px;border-radius:8px;width:fit-content}.export-btn:hover:not(:disabled){background:#6d28d9}.setlist-empty{color:#55a;font-size:14px;text-align:center;margin-top:60px}.slide-list{list-style:none;display:flex;flex-direction:column;gap:6px;padding:0}.slide-item{display:flex;align-items:stretch;background:#16163a;border:1px solid #2a2a5a;border-radius:8px;overflow:hidden;touch-action:none}.slide-drag-handle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 8px;cursor:grab;color:#aac;flex-shrink:0;user-select:none;-webkit-user-select:none;min-width:36px}.slide-drag-handle:active{cursor:grabbing}.slide-num{font-size:12px;color:#55a;text-align:center}.slide-type-bar{width:3px;flex-shrink:0;opacity:.8}.slide-body{flex:1;padding:10px 10px 10px 8px;min-width:0;display:flex;flex-direction:column;gap:5px}.slide-meta{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.slide-song{font-size:13px;font-weight:700;color:#c0c0e0}.slide-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.slide-lines{display:flex;flex-direction:column;gap:1px}.slide-line{font-size:13px;color:#e0e0f0;line-height:1.5;white-space:pre-wrap;word-break:break-word}.slide-verse-num{font-size:10px;font-weight:700;color:#dd7e6b;margin-right:4px;vertical-align:middle}.remove-btn{background:transparent;color:#f87171;padding:0 12px;font-size:16px;border-radius:0;flex-shrink:0;align-self:stretch;display:flex;align-items:center}.remove-btn:hover{background:#4a1a1a}@media (max-width: 640px){.setlist-builder{max-width:100%}.slide-drag-handle{min-width:44px;padding:12px 8px}.slide-body{padding:12px 8px}.slide-line{font-size:14px}.remove-btn{padding:0 14px;font-size:18px}.export-btn{width:100%;text-align:center;padding:14px;font-size:16px}}.login-page{min-height:100vh;background:#0f0f1a;display:flex;align-items:center;justify-content:center;padding:20px}.login-box{background:#16163a;border:1px solid #2a2a5a;border-radius:12px;padding:40px 36px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}.login-box h1{font-size:24px;color:#a78bfa;text-align:center;margin:0}.login-subtitle{text-align:center;color:#56a;font-size:14px;margin:0}.login-error{background:#4a1a1a;border:1px solid #f87171;color:#f87171;font-size:13px;padding:10px 12px;border-radius:6px}.login-box label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#9090c0}.login-box input{background:#0f0f1a;border:1px solid #3a3a6a;border-radius:6px;color:#e0e0f0;font-size:15px;padding:10px 12px;outline:none;transition:border-color .15s}.login-box input:focus{border-color:#a78bfa}.login-btn{background:#7c3aed;color:#fff;font-size:15px;padding:12px;border-radius:8px;margin-top:4px;font-weight:600}.login-btn:hover:not(:disabled){background:#6d28d9}.login-btn:disabled{opacity:.6;cursor:not-allowed}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-header{background:#16213e;border-bottom:1px solid #2a2a4a;display:flex;align-items:center;padding:0 16px;gap:16px;flex-shrink:0;min-height:52px}.app-header h1{font-size:20px;color:#a78bfa;letter-spacing:.5px;white-space:nowrap}.logout-btn{margin-left:auto;background:transparent;color:#56a;font-size:13px;padding:4px 10px;border:1px solid #2a2a4a;border-radius:6px;white-space:nowrap;flex-shrink:0}.logout-btn:hover{color:#f87171;border-color:#f87171}.app-body{display:flex;flex:1;overflow:hidden}.left-panel{width:380px;min-width:320px;display:flex;flex-direction:column;border-right:1px solid #2a2a4a;overflow-y:auto;background:#12122a;flex-shrink:0}.right-panel{flex:1;overflow-y:auto;padding:20px;background:#0f0f1a}.mobile-tabs,.mobile-only{display:none}@media (max-width: 700px){.app{height:100dvh}.app-header{padding:0 12px;min-height:48px}.app-header h1{font-size:17px;flex-shrink:0}.desktop-only{display:none!important}.mobile-tabs{display:flex;flex:1;gap:2px}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px;background:transparent;color:#56a;border-radius:6px;font-size:11px;font-weight:600;position:relative;border:none}.mobile-tab.active{color:#a78bfa;background:#1a1a3a}.tab-icon{font-size:18px;line-height:1}.tab-label{font-size:10px;text-transform:uppercase;letter-spacing:.5px}.tab-badge{position:absolute;top:4px;right:8px;background:#7c3aed;color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.mobile-only{display:block;flex:1;overflow:hidden;position:relative}.mobile-panel{display:none;height:100%;overflow-y:auto;background:#0f0f1a;padding-bottom:env(safe-area-inset-bottom)}.mobile-panel.active{display:block}.mobile-panel button{min-height:44px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;background:#0f0f1a;color:#e0e0f0;min-height:100vh}button{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:opacity .15s}button:hover{opacity:.85}button:disabled{opacity:.4;cursor:not-allowed}h1,h2,h3{font-weight:700;line-height:1.2}
