@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Cormorant+Garamond:ital,wght@1,400;1,600&display=swap";:root{--color-primary:#001d39;--color-mid-dark:#0a4174;--color-mid:#49769f;--color-teal:#4e8ea2;--color-light-teal:#6ea2b3;--color-sky:#7bbde8;--color-lightest:#bdd8e9;--bg-app:#020c18;--bg-card:#051428bf;--bg-sidebar:#010a14;--text-dark:#e8f1f8;--text-medium:#7bbde8;--text-light:#bdd8e973;--border-color:#7bbde81a;--border-radius-xl:20px;--border-radius-md:12px;--border-radius-pill:50px;--shadow-card:0 8px 32px #00000059;--shadow-soft:0 2px 12px #0003;--focus-ring:0 0 0 2px #7bbde838;--font-body:"Plus Jakarta Sans", sans-serif;--font-drama:"Cormorant Garamond", serif}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{box-shadow:var(--focus-ring);outline:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg-app);-webkit-text-size-adjust:100%;height:100%;min-height:100svh;overflow-x:hidden}body,#root{width:100%;min-height:100svh;font-family:var(--font-body);background:var(--bg-app);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:#0000;background-image:radial-gradient(circle at 50% -10%,#0943766b,#0000 52%),linear-gradient(#020813 0%,#03101f 42%,#020813 100%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;overflow:hidden auto}.layout-container{isolation:isolate;background:radial-gradient(circle at 50% -10%,#0943766b,#0000 52%),linear-gradient(#020813 0%,#03101f 42%,#020813 100%);width:100%;height:100svh;min-height:100svh;display:flex;position:relative;overflow:hidden}.app-ambient-bg{z-index:0;pointer-events:none;background:linear-gradient(90deg,#020813f5,#02081338 50%,#020813f5),radial-gradient(circle at 78% 18%,#38bdf821,#0000 34%),radial-gradient(circle at 16% 60%,#0a417480,#0000 44%);position:fixed;inset:0;overflow:hidden}.app-noise-texture{opacity:.045;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:absolute;inset:0}.sidebar{-webkit-backdrop-filter:blur(24px)saturate(145%);z-index:2;background:#020813a8;border-right:1px solid #7bbde814;flex-direction:column;width:240px;min-width:240px;padding:28px 20px;display:flex;position:relative;overflow:hidden;box-shadow:inset -1px 0 #ffffff06,22px 0 70px #0003}.sidebar:before{content:"";pointer-events:none;opacity:1;z-index:0;background:linear-gradient(#7bbde80b,#0000 42%),radial-gradient(circle at 0 100%,#0a417442,#0000 42%);position:absolute;inset:0}.sidebar-logo{align-items:center;gap:10px;margin-bottom:36px;padding:0 4px;display:flex}.sidebar-brand-text{color:#fff;letter-spacing:0;font-size:18px;font-weight:700}.sidebar-logo-mark{background:linear-gradient(135deg, var(--color-mid-dark), var(--color-teal));color:#fff;letter-spacing:-.5px;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex;box-shadow:0 4px 12px #4e8ea259}.sidebar-logo h2{color:#fff;letter-spacing:-.3px;font-size:18px;font-weight:700}.sidebar-nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav-section-label{color:#bdd8e98c;letter-spacing:1.2px;text-transform:uppercase;margin:16px 0 6px;padding:0 12px;font-size:10px;font-weight:700}.nav-item{border-radius:var(--border-radius-md);color:#bdd8e9bf;cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:color .22s,background .22s,transform .22s,box-shadow .22s;display:flex;position:relative}.nav-item:hover{color:#e8f1f8;background:#ffffff0b;transform:translate(2px)}.nav-item.active{color:var(--color-sky);background:#7bbde81f;box-shadow:inset 0 1px #ffffff0b}.nav-item.active:before{content:"";background:var(--color-sky);border-radius:0 4px 4px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-footer{z-index:2;border-top:1px solid #bdd8e914;margin-top:auto;padding-top:20px;position:relative}.sidebar-user{cursor:pointer;border-radius:var(--border-radius-md);align-items:center;gap:10px;margin-bottom:12px;padding:6px;transition:background .2s,transform .2s;display:flex}.sidebar-user:hover{background:#ffffff0d;transform:translateY(-1px)}.sidebar-avatar{background:linear-gradient(135deg, var(--color-teal), var(--color-sky));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex;box-shadow:0 4px 12px #7bbde84d}.user-name{color:#e8f1f8;font-size:13px;font-weight:600;line-height:1.2}.user-role{color:#bdd8e999;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.logout-btn{border-radius:var(--border-radius-md);color:#bdd8e9bf;width:100%;font-family:var(--font-body);cursor:pointer;text-align:left;background:linear-gradient(#ffffff13,#ffffff08);border:1px solid #ffffff1f;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:500;transition:background .22s,border-color .22s,color .22s,transform .22s,box-shadow .22s;display:flex}.logout-btn:hover{color:#fff;background:#ffffff1c;border-color:#7bbde83d;transform:translateY(-1px);box-shadow:0 14px 32px #00000038}.main-content{z-index:1;background:0 0;flex-direction:column;flex:1;min-width:0;height:100svh;min-height:0;display:flex;position:relative;overflow:hidden}.topbar{-webkit-backdrop-filter:blur(22px)saturate(145%);background:#02081380;border-bottom:1px solid #7bbde814;justify-content:space-between;align-items:center;height:68px;min-height:68px;padding:0 36px;display:flex;box-shadow:inset 0 -1px #ffffff05}.topbar-identity{align-items:center;gap:14px;display:flex}.church-logo-wrapper{flex-shrink:0;display:inline-flex;position:relative}.status-badge-dot{border:2px solid #000c1a;border-radius:50%;width:9px;height:9px;transition:background .4s,box-shadow .4s;position:absolute;bottom:1px;right:1px}.status-online{background:#86efac;box-shadow:0 0 5px #86efacb3}.status-offline{box-shadow:none;background:#fca5a5}.church-logo-placeholder{width:36px;height:36px;color:var(--color-lightest);background:#ffffff14;border:2px solid #7bbde84d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;box-shadow:0 4px 12px #0003}.topbar-identity h1{color:#e8f1f8;letter-spacing:-.3px;font-size:18px;font-weight:700}.topbar-actions{align-items:center;gap:12px;display:flex}.topbar-date{color:#fff;border-radius:var(--border-radius-pill);background:#ffffff0f;border:1px solid #7bbde81f;padding:5px 14px;font-size:13px;font-weight:500}.page-content{z-index:1;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;height:100%;min-height:0;padding:32px 36px 56px;position:relative;overflow-y:auto}.page-content :where(.schedule-header-card,.members-header-card,.functions-header-card,.plan-header-card,.repertoire-header,.songs-library-card,.repertoire-card,.event-card,.function-card,.member-card,.plan-card,.public-card){-webkit-backdrop-filter:blur(22px)saturate(145%);background:#05142885;border:1px solid #7bbde81f;box-shadow:0 24px 72px #0000003d,inset 0 1px #ffffff0a}.page-content :where(.event-card,.function-card,.member-card,.plan-card,.repertoire-card,.songs-library-card){transition:transform .24s,border-color .24s,background .24s,box-shadow .24s}.page-content :where(.event-card,.function-card,.member-card,.plan-card,.repertoire-card,.songs-library-card):hover{border-color:#7bbde838;box-shadow:0 30px 86px #00000057,inset 0 1px #ffffff0e}.page-content :where(button,.btn,.add-event-btn,.create-btn,.primary-btn,.secondary-btn,.billing-teaser-btn){cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0;border-radius:3px}::-webkit-scrollbar-thumb{background:#7bbde826;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#7bbde84d}.topbar-avatar-btn{cursor:pointer;background:0 0;border:none;padding:0;display:none}.topbar-logout-btn{color:#e8f1f8eb;height:34px;font-family:var(--font-body);cursor:pointer;background:#020f22b3;border:1px solid #7bbde83d;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;transition:background .2s,border-color .2s,transform .2s;display:none}.topbar-logout-btn:hover{background:#7bbde824;border-color:#7bbde861;transform:translateY(-1px)}.topbar-avatar{background:linear-gradient(135deg, var(--color-teal), var(--color-sky));color:#fff;border:2px solid #7bbde84d;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:flex;box-shadow:0 0 12px #7bbde840}@media (width<=768px){.layout-container{flex-direction:column;height:100svh;min-height:100svh;overflow:hidden}.sidebar{display:none}.topbar{height:56px;min-height:56px;padding:0 16px;padding-top:env(safe-area-inset-top);padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}.topbar-identity h1{font-size:15px}.church-logo-placeholder{width:30px;height:30px;font-size:11px}.topbar-date-desktop{display:none}.topbar-avatar-btn{display:flex}.topbar-logout-btn{display:inline-flex}.page-content{padding:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;overflow-y:auto}input,select,textarea{font-size:16px}}@media (width<=390px){.topbar{padding:0 12px;padding-top:env(safe-area-inset-top);padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.page-content{padding:12px;padding-bottom:calc(72px + env(safe-area-inset-bottom));padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}}html.mobile-app-shell .layout-container,body.mobile-app-shell .layout-container{flex-direction:column;height:100svh;min-height:100svh;overflow:hidden}html.mobile-app-shell .sidebar,body.mobile-app-shell .sidebar{display:none}html.mobile-app-shell .topbar,body.mobile-app-shell .topbar{height:56px;min-height:56px;padding:0 16px;padding-top:env(safe-area-inset-top);padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right))}html.mobile-app-shell .topbar-identity h1,body.mobile-app-shell .topbar-identity h1{font-size:15px}html.mobile-app-shell .church-logo-placeholder,body.mobile-app-shell .church-logo-placeholder{width:30px;height:30px;font-size:11px}html.mobile-app-shell .topbar-date-desktop,body.mobile-app-shell .topbar-date-desktop{display:none}html.mobile-app-shell .topbar-avatar-btn,body.mobile-app-shell .topbar-avatar-btn{display:flex}html.mobile-app-shell .topbar-logout-btn,body.mobile-app-shell .topbar-logout-btn{display:inline-flex}html.mobile-app-shell .page-content,body.mobile-app-shell .page-content{padding:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));-webkit-overflow-scrolling:touch;overscroll-behavior-y:auto;overflow-y:auto}html.mobile-app-shell input,html.mobile-app-shell select,html.mobile-app-shell textarea,body.mobile-app-shell input,body.mobile-app-shell select,body.mobile-app-shell textarea{font-size:16px}.repertoire-container{flex-direction:column;gap:16px;width:100%;display:flex}.repertoire-header{border-radius:var(--border-radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#05142da6;border:1px solid #7bbde81f;padding:20px}.repertoire-header h1{color:#e8f1f8;letter-spacing:-.8px;font-size:28px}.repertoire-tabs{background:#000c1a66;border:1px solid #7bbde81f;border-radius:999px;gap:8px;width:fit-content;max-width:100%;padding:4px;display:flex}.repertoire-tab-btn{color:#bdd8e9b3;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:700;transition:background .2s,color .2s,border-color .2s}.repertoire-tab-btn.active{color:#e8f1f8;background:#0a417485;border:1px solid #7bbde838}.repertoire-tab-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #7bbde833}.songs-library-card{border-radius:var(--border-radius-md);background:#05142d99;border:1px solid #7bbde824;padding:16px}.songs-library-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.songs-library-head h2{color:#e8f1f8;margin:0;font-size:20px}.songs-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.songs-detail-list{gap:10px;display:grid}.song-detail-row{background:#000c1a73;border:1px solid #7bbde81f;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.song-detail-main{gap:6px;min-width:0;display:grid}.song-detail-main h4{color:#e8f1f8;margin:0;font-size:16px}.song-detail-meta{color:#bdd8e9d9;flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.song-detail-meta strong{color:#bdd8e9f2}.song-detail-meta a{color:var(--color-sky)}.song-links-inline{flex-wrap:wrap;align-items:center;gap:6px;margin-left:6px;display:inline-flex}.song-links-inline a{color:#9dd6ffe6;background:#7bbde814;border:1px solid #7bbde829;border-radius:999px;align-items:center;min-height:22px;padding:2px 9px;font-size:11px;font-weight:600;line-height:1;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.song-links-inline a:hover{color:#e8f1f8f5;background:#7bbde821;border-color:#7bbde847;transform:translateY(-1px)}.song-item{background:#000c1a73;border:1px solid #7bbde81f;border-radius:12px;gap:6px;padding:12px;display:grid}.song-item h4{color:#e8f1f8;margin:0;font-size:16px}.song-item p{color:#bdd8e9d9;margin:0;font-size:12px}.song-item p strong{color:#bdd8e9f2}.song-item a{color:var(--color-sky)}.song-item-actions{gap:8px;margin-top:6px;display:flex}.song-item-actions button{color:var(--color-sky);cursor:pointer;background:#7bbde81a;border:1px solid #7bbde838;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700}.song-item-actions button.danger{color:#fca5a5e6;background:#b8475a1f;border-color:#b8475a40}.repertoire-list{gap:12px;display:grid}.repertoire-card{border-radius:var(--border-radius-md);background:#05142d99;border:1px solid #7bbde824;padding:16px}.repertoire-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.repertoire-card-head h3{color:#e8f1f8;margin:0 0 3px;font-size:18px}.repertoire-card-head span{color:#bdd8e999;text-transform:capitalize;font-size:12px}.repertoire-edit-btn{color:var(--color-sky);cursor:pointer;white-space:nowrap;background:#7bbde81a;border:1px solid #7bbde83d;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;transition:background .22s,border-color .22s,color .22s,transform .22s,box-shadow .22s}.repertoire-event-edit-btn{justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 14px;display:inline-flex}.repertoire-event-edit-icon{flex-shrink:0;width:14px;height:14px}.repertoire-event-edit-label{white-space:nowrap}.repertoire-scale-preview-btn{color:#dff3ff;background:radial-gradient(circle at 18% 22%,#7bbde838,#0000 42%),linear-gradient(135deg,#0d294cf5,#091c34eb);border-color:#7bbde847;gap:8px;margin-left:auto;padding:8px 14px 8px 12px;position:relative;overflow:hidden;box-shadow:inset 0 1px #d6f1ff14,0 10px 22px #00071342}.repertoire-scale-preview-btn:before{content:"";pointer-events:none;background:linear-gradient(#ffffff0a,#fff0);border-radius:999px;position:absolute;inset:1px}.repertoire-scale-preview-btn .repertoire-event-edit-icon,.repertoire-scale-preview-btn .repertoire-event-edit-label,.repertoire-scale-preview-btn .repertoire-scale-count{z-index:1;position:relative}.repertoire-scale-preview-btn .repertoire-event-edit-icon{color:#8fd5ff;filter:drop-shadow(0 0 10px #7bbde82e)}.repertoire-scale-preview-btn .repertoire-event-edit-label{letter-spacing:-.01em;font-weight:800}.repertoire-scale-preview-btn:hover{border-color:#8fd5ff6b;transform:translateY(-1px);box-shadow:inset 0 1px #d6f1ff1a,0 14px 30px #00071357}.repertoire-scale-count{color:#f4fbff;background:linear-gradient(#8fd5ff2e,#8fd5ff1a);border:1px solid #8fd5ff2e;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 8px;font-size:11px;font-weight:800;line-height:1;display:inline-flex;box-shadow:inset 0 1px #ffffff0f,0 6px 12px #03122633}.repertoire-edit-btn:hover{background:#7bbde829;border-color:#7bbde852;transform:translateY(-1px);box-shadow:0 10px 22px #0007132e}.repertoire-songs{background:#000c1a59;border:1px solid #7bbde81f;border-radius:10px;gap:0;margin-top:12px;list-style:none;display:grid;overflow:hidden}.repertoire-songs li{color:#e8f1f8;border-bottom:1px solid #7bbde81f;flex-direction:column;gap:3px;padding:10px 12px;font-size:14px;display:flex}.repertoire-songs li:last-child{border-bottom:none}.repertoire-songs li span:before{content:""}.repertoire-songs li small{color:#bdd8e9bf;font-size:11px}.repertoire-section-title{color:#e8f1f8;margin-bottom:4px;font-weight:700}.repertoire-section-song-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.repertoire-section-song-list li{border:none;padding:0}.repertoire-section-song-list li span{color:#e9f4fff2;font-size:14px}.repertoire-song-key{color:#bdd8e9c2;margin-left:6px;font-weight:600}.repertoire-section-song-list li small{margin-top:1px;display:block}.repertoire-song-meta-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:12px;width:100%;margin-top:6px;display:grid}.repertoire-song-info{color:#bdd8e9c2;white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.15;display:block;overflow:hidden}.repertoire-song-links{flex-wrap:wrap;justify-content:flex-end;align-self:end;align-items:center;gap:6px;display:inline-flex}.repertoire-youtube-link{color:#9dd6ffe6;background:#7bbde814;border:1px solid #7bbde829;border-radius:999px;justify-content:center;align-items:center;min-height:21px;padding:2px 9px;font-size:12px;font-weight:600;line-height:1;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex;box-shadow:0 2px 8px #03122638}.repertoire-youtube-link:hover{color:#e8f1f8f5;background:#7bbde821;border-color:#7bbde847;transform:translateY(-1px)}.repertoire-empty-songs,.repertoire-empty p{color:#bdd8e99e;margin-top:12px;font-size:13px}.repertoire-empty{border-radius:var(--border-radius-md);background:#05142d8c;border:1px dashed #7bbde833;padding:24px}.repertoire-empty h3{color:#e8f1f8;font-size:18px}.repertoire-modal-overlay{z-index:1200;background:#000c1abd;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:hidden}.repertoire-modal{border-radius:var(--border-radius-xl);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#05142deb;border:1px solid #7bbde826;width:min(680px,100%);max-height:calc(100dvh - 32px);padding:18px;overflow-y:auto}.song-modal{background:linear-gradient(#081e3ef2,#030f21f5),#05142deb;border-color:#7bbde833;width:min(820px,100%);padding:22px;box-shadow:0 24px 70px #0006127a}.song-modal-header{border-bottom:1px solid #7bbde81a;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;padding-bottom:14px;display:flex}.repertoire-modal h3{color:#e8f1f8;margin:0;font-size:20px}.song-modal h3{letter-spacing:-.2px;font-size:24px}.repertoire-modal p{color:#bdd8e9b8;margin:4px 0 12px;font-size:13px}.song-modal-header p{color:#bdd8e99e;margin:5px 0 0}.repertoire-scale-modal{background:radial-gradient(circle at 20% 0,#7bbde829,#0000 34%),linear-gradient(#081e3ef5,#030f21f7);width:min(520px,100%);box-shadow:0 22px 70px #00061280}.repertoire-scale-modal-head{border-bottom:1px solid #7bbde81f;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;padding-bottom:14px;display:flex}.repertoire-scale-modal-head p{text-transform:capitalize;margin-bottom:0}.repertoire-scale-close{color:#e8f1f8e6;cursor:pointer;background:#7bbde814;border:1px solid #7bbde82e;border-radius:999px;width:38px;height:38px;font-size:16px;font-weight:800;line-height:1;transition:background .2s,border-color .2s,transform .2s}.repertoire-scale-close:hover{background:#7bbde824;border-color:#7bbde847;transform:translateY(-1px)}.repertoire-scale-list{gap:10px;display:grid}.repertoire-scale-row{background:#000c1a6b;border:1px solid #7bbde821;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.repertoire-scale-avatar{color:#8dd1fc;letter-spacing:.4px;background:linear-gradient(135deg,#7bbde838,#7bbde814);border:1px solid #7bbde82e;border-radius:14px;flex:none;place-items:center;width:40px;height:40px;font-size:13px;font-weight:900;display:grid}.repertoire-scale-row strong,.repertoire-scale-row span{display:block}.repertoire-scale-row strong{color:#e8f1f8;font-size:15px}.repertoire-scale-row span{color:#bdd8e9a3;margin-top:2px;font-size:12px}.song-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.repertoire-text-input{color:#e8f1f8;width:100%;min-height:52px;font-family:var(--font-body);background:linear-gradient(#020e1fd1,#000916c2);border:1px solid #7bbde829;border-radius:8px;outline:none;padding:12px 15px;font-size:15px;transition:border-color .18s,box-shadow .18s,background .18s}.repertoire-text-input:focus{border-color:var(--color-sky);background:#011024f0;box-shadow:0 0 0 3px #7bbde81a}.song-title-field{font-size:17px;font-weight:700}.song-youtube-suggestions{background:linear-gradient(#7bbde80d,#000c1a29);border:1px solid #7bbde81a;border-radius:8px;grid-column:1/-1;gap:9px;margin-top:-1px;padding:12px;display:grid}.song-youtube-suggestions-head{justify-content:flex-start;align-items:center;gap:8px;display:flex}.song-youtube-suggestions-head strong{letter-spacing:0;color:#e0eff9e6;text-transform:uppercase;font-size:11px}.song-youtube-suggestions-head span{color:#bdd8e99e;margin-left:auto;font-size:11px}.song-youtube-suggestions-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7bbde847 #000c1a59;gap:6px;max-height:198px;padding-right:3px;display:grid;overflow-y:auto}.song-youtube-suggestions-list::-webkit-scrollbar{width:6px}.song-youtube-suggestions-list::-webkit-scrollbar-track{background:#000c1a59;border-radius:999px}.song-youtube-suggestions-list::-webkit-scrollbar-thumb{background:#7bbde847;border-radius:999px}.song-youtube-suggestions-empty{color:#bdd8e9b3;padding:2px 0 0;font-size:12px}.song-youtube-suggestion-row{text-align:left;cursor:pointer;appearance:none;background:#021024ad;border:1px solid #7bbde824;border-radius:8px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:8px;display:grid}.song-youtube-suggestion-row:hover{background:#7bbde81a;border-color:#7bbde84d}.song-youtube-suggestion-row:focus-visible{outline:none;box-shadow:0 0 0 2px #7bbde847}.song-deezer-cover-img{object-fit:cover;border-radius:4px;flex-shrink:0}.song-youtube-suggestion-cover{color:#d2e8f7f2;background:radial-gradient(circle at 30% 25%,#8fc9f547,#0000 52%),linear-gradient(145deg,#0a2f59e6,#081c38e0);border:1px solid #7bbde838;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:15px;font-weight:800;display:inline-flex}.song-youtube-suggestion-text{gap:2px;min-width:0;padding-left:12px;display:grid;overflow:hidden}.song-youtube-suggestion-text strong{color:#e7f2faf2;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:650;line-height:1.25;overflow:hidden}.song-youtube-suggestion-text small{color:#bdd8e9bd;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}.songs-selection-list{gap:8px;max-height:44vh;display:grid;overflow-y:auto}.sections-editor-list{gap:10px;display:grid}.section-editor-row{background:#000c1a59;border:1px solid #7bbde826;border-radius:10px;grid-template-columns:1fr;align-items:stretch;gap:8px;padding:8px;display:grid}.section-title-input{color:#e8f1f8;min-height:40px;font-family:var(--font-body);background:#000c1a9e;border:1px solid #7bbde833;border-radius:10px;outline:none;padding:8px 10px;font-size:13px}.section-title-input:focus{border-color:var(--color-sky)}.section-search-wrap{grid-template-columns:1fr auto;gap:8px;display:grid}.section-song-search{color:#e8f1f8;min-height:40px;font-family:var(--font-body);background:#000c1a9e;border:1px solid #7bbde833;border-radius:10px;outline:none;padding:8px 10px;font-size:13px}.section-song-search:focus{border-color:var(--color-sky)}.section-add-song-btn{color:var(--color-sky);cursor:pointer;background:#7bbde81a;border:1px solid #7bbde838;border-radius:999px;min-height:40px;padding:8px 12px;font-size:12px;font-weight:700}.section-remove-btn{color:#fca5a5eb;cursor:pointer;background:#b8475a1f;border:1px solid #b8475a40;border-radius:999px;justify-self:flex-start;padding:8px 12px;font-size:11px;font-weight:700}.section-remove-btn:disabled{opacity:.45;cursor:not-allowed}.section-suggestion-list{flex-wrap:wrap;gap:6px;display:flex}.section-suggestion-item{color:#bdd8e9f2;cursor:pointer;background:#7bbde814;border:1px solid #7bbde82e;border-radius:999px;padding:6px 10px;font-size:11px}.section-selected-songs{flex-wrap:wrap;gap:6px;display:flex}.section-song-chip{color:#e8f1f8;background:#7bbde81f;border:1px solid #7bbde82e;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.section-song-chip button{color:#fca5a5f2;cursor:pointer;background:#b8475a38;border:none;border-radius:999px;width:18px;height:18px;font-size:12px;line-height:1}.section-empty{color:#bdd8e999;font-size:12px}.section-add-btn{color:var(--color-sky);cursor:pointer;background:#7bbde814;border:1px dashed #7bbde859;border-radius:10px;min-height:40px;margin-top:10px;padding:8px 10px;font-size:12px;font-weight:700}.section-add-btn:hover{background:#7bbde824}.song-checkbox-row{background:#000c1a66;border:1px solid #7bbde826;border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.song-checkbox-row input{margin-top:2px}.song-checkbox-row strong{color:#e8f1f8;font-size:14px}.song-checkbox-row small{color:#bdd8e9bf;margin-top:2px;font-size:11px;display:block}.repertoire-modal-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.cancel-btn,.save-btn{cursor:pointer;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:700}.cancel-btn{color:#bdd8e9cc;background:0 0;border:1px solid #7bbde833}.save-btn{background:var(--color-sky);color:#001d39;border:none}.repertoire-toast{z-index:1300;background:var(--color-sky);color:#001d39;border-radius:12px;padding:12px 16px;font-size:13px;font-weight:700;position:fixed;bottom:24px;right:20px}@media (width<=768px){.songs-library-card{padding:12px}.songs-detail-list{gap:7px}.repertoire-header{border-radius:var(--border-radius-md);padding:14px}.repertoire-header h1{font-size:22px}.repertoire-tabs{border-radius:14px;width:100%;padding:4px;overflow-x:auto}.repertoire-tab-btn{text-align:center;flex:1;min-width:150px}.songs-library-head,.repertoire-card-head{flex-direction:column}.repertoire-edit-btn{text-align:center;width:100%}.repertoire-card-head{padding-right:44px;position:relative}.repertoire-event-edit-btn{background:#7bbde80f;border-color:#7bbde833;border-radius:10px;justify-content:center;width:34px;min-width:34px;height:34px;padding:0;position:absolute;top:0;right:0}.repertoire-scale-preview-btn{margin-left:0;right:40px;box-shadow:inset 0 1px #d6f1ff0f,0 8px 18px #00071338}.repertoire-scale-preview-btn .repertoire-scale-count{border:1px solid #8fd5ff3d;min-width:18px;height:18px;padding:0 5px;font-size:10px;position:absolute;top:-6px;right:-6px}.repertoire-event-edit-btn .repertoire-event-edit-label{display:none}.repertoire-event-edit-btn .repertoire-event-edit-icon{width:15px;height:15px}.song-form-grid{grid-template-columns:1fr;gap:10px}.song-youtube-suggestions{margin-top:0;padding:10px}.song-modal{padding:18px 14px calc(16px + env(safe-area-inset-bottom))}.song-modal-header{margin-bottom:12px;padding-bottom:12px}.song-modal h3{font-size:22px}.song-modal-header p{font-size:12px}.repertoire-text-input{min-height:50px;font-size:14px}.section-editor-row,.section-search-wrap{grid-template-columns:1fr}.section-add-song-btn{width:100%}.song-detail-row{background:#000c1a57;border-color:#7bbde817;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px;padding:7px 9px;display:grid}.song-detail-main{min-width:0}.song-detail-main h4{font-size:12px;line-height:1.2}.song-detail-meta{white-space:normal;color:#bdd8e9bd;flex-wrap:wrap;gap:7px;font-size:9.8px}.song-detail-meta strong{display:none}.song-detail-meta>span{white-space:nowrap;align-items:center;display:inline-flex}.song-detail-meta>span:first-child{text-overflow:ellipsis;min-width:0;max-width:120px;overflow:hidden}.song-detail-meta>span:before{content:"• ";opacity:.55;margin-right:2px}.song-detail-meta>span:first-child:before{content:"";margin:0}.song-detail-meta>span:last-child{width:100%;margin-top:2px}.song-detail-meta>span:last-child:before{content:"";margin:0}.song-detail-meta a{font-size:9.8px;text-decoration:none}.song-links-inline{flex-wrap:wrap;gap:4px;margin-left:0;display:flex}.song-links-inline a{border-radius:6px;min-height:20px;padding:3px 8px;font-size:9.8px}.song-item-actions{z-index:2;justify-content:flex-end;align-self:start;gap:4px;margin-top:0;position:relative}.song-item-actions button{color:#8dd1fceb;background:#7bbde80d;border-color:#7bbde829;border-radius:8px;padding:3px 7px;font-size:9.6px;font-weight:600}.song-item-actions button.danger{color:#fbabb7e0;background:#b8475a0d;border-color:#b8475a26}.repertoire-youtube-link{min-height:22px;padding:3px 9px;font-size:10px}.repertoire-song-meta-row{align-items:center;width:100%}.repertoire-song-info{min-width:0}.repertoire-song-links{flex-wrap:nowrap;gap:4px}.repertoire-modal-overlay{padding:0 0 calc(76px + env(safe-area-inset-bottom));align-items:flex-end}.repertoire-modal{width:100%;max-height:calc(100dvh - 86px - env(safe-area-inset-top) - env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;border-radius:20px 20px 0 0;padding-bottom:16px;overflow-y:auto}.sections-editor-list{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:46dvh;padding-right:2px;overflow-y:auto}.repertoire-modal-actions{z-index:2;background:linear-gradient(#05142d00,#05142df5 30%);padding-top:10px;position:sticky;bottom:0}.repertoire-toast{left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));text-align:center}}
