*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-left-16{left:-4rem}.-right-16{right:-4rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.z-\[10002\]{z-index:10002}.z-\[100\]{z-index:100}.z-\[9999\]{z-index:9999}.m-0{margin:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-\[20px\]{height:20px}.h-\[32px\]{height:32px}.h-\[38px\]{height:38px}.h-\[56px\]{height:56px}.h-auto{height:auto}.h-full{height:100%}.min-h-0{min-height:0px}.min-h-\[24px\]{min-height:24px}.min-h-\[500px\]{min-height:500px}.min-h-\[52px\]{min-height:52px}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-\[120px\]{width:120px}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[4px\]{width:4px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[220px\]{min-width:220px}.min-w-\[280px\]{min-width:280px}.min-w-\[52px\]{min-width:52px}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1024px\]{max-width:1024px}.max-w-\[1070px\]{max-width:1070px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[200px\]{max-width:200px}.max-w-\[600px\]{max-width:600px}.max-w-\[650px\]{max-width:650px}.max-w-\[800px\]{max-width:800px}.max-w-\[900px\]{max-width:900px}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.\!border{border-width:1px!important}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-none{border-style:none}.border-\[\#10b981\]{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity))}.border-\[\#1e3a8a\]{--tw-border-opacity: 1;border-color:rgb(30 58 138 / var(--tw-border-opacity))}.border-\[\#1e40af\]{--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity))}.border-\[\#64748b\]{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity))}.border-\[\#e2e8f0\]{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-blue-100{--tw-border-opacity: 1;border-color:rgb(219 234 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-indigo-100{--tw-border-opacity: 1;border-color:rgb(224 231 255 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity))}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.\!bg-\[var\(--accent-muted\)\]{background-color:var(--accent-muted)!important}.\!bg-transparent{background-color:transparent!important}.\!bg-white{--tw-bg-opacity: 1 !important;background-color:rgb(255 255 255 / var(--tw-bg-opacity))!important}.bg-\[\#1e3a8a\]{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity))}.bg-\[\#27c93f\]{--tw-bg-opacity: 1;background-color:rgb(39 201 63 / var(--tw-bg-opacity))}.bg-\[\#e0e7ff\]{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity))}.bg-\[\#e2e8f0\]{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity))}.bg-\[\#f0f4f8\]{--tw-bg-opacity: 1;background-color:rgb(240 244 248 / var(--tw-bg-opacity))}.bg-\[\#f8f9fb\]{--tw-bg-opacity: 1;background-color:rgb(248 249 251 / var(--tw-bg-opacity))}.bg-\[\#fafbfc\]{--tw-bg-opacity: 1;background-color:rgb(250 251 252 / var(--tw-bg-opacity))}.bg-\[\#ff5f56\]{--tw-bg-opacity: 1;background-color:rgb(255 95 86 / var(--tw-bg-opacity))}.bg-\[\#ffbd2e\]{--tw-bg-opacity: 1;background-color:rgb(255 189 46 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-indigo-50{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.bg-slate-50\/30{background-color:#f8fafc4d}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/10{background-color:#ffffff1a}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pt-2{padding-top:.5rem}.pt-32{padding-top:8rem}.text-left{text-align:left}.text-center{text-align:center}.font-\[-apple-system\,BlinkMacSystemFont\,\'Inter\'\,\'Segoe_UI\'\,sans-serif\]{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[1\.1\]{line-height:1.1}.leading-\[1\.6\]{line-height:1.6}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.05em\]{letter-spacing:.05em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-\[\#1e293b\]{--tw-text-opacity: 1 !important;color:rgb(30 41 59 / var(--tw-text-opacity))!important}.\!text-\[\#1e3a8a\]{--tw-text-opacity: 1 !important;color:rgb(30 58 138 / var(--tw-text-opacity))!important}.text-\[\#10b981\]{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}.text-\[\#1e293b\]{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-\[\#1e3a8a\]{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity))}.text-\[\#475569\]{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-\[\#64748b\]{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-\[\#7599af\]{--tw-text-opacity: 1;color:rgb(117 153 175 / var(--tw-text-opacity))}.text-\[\#94a3b8\]{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-\[\#f59e0b\],.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}:root{font-family:system-ui,Montserrat,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--hc-app-bg: #f8f9fb;--hc-surface: #ffffff;--hc-navy: #1e3a8a;--hc-steel: #7599AF;--hc-slate: #1e293b;--hc-muted-slate: #64748b;--hc-border: #e2e8f0;--hc-success: #10b981;--bg: var(--hc-app-bg);--card-bg: var(--hc-surface);--fg: var(--hc-slate);--light-fg: var(--hc-muted-slate);--muted-fg: var(--hc-muted-slate);--border: var(--hc-border);--accent: var(--hc-navy);--accent-muted: rgba(30, 58, 138, .08);--accent-contrast: #ffffff;--danger: #ef4444;--danger-hover: #dc2626;--error-bg: #fef2f2;--error-fg: #ef4444;--input-bg: #ffffff;--input-border: var(--hc-border);--input-fg: var(--hc-slate);--nav-height: 80px;color:var(--fg);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--accent);text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:block;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1;color:var(--light-fg);text-align:left}button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:8px;border:none;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;font-family:inherit;transition:all .2s ease;background-color:var(--accent);color:var(--accent-contrast);cursor:pointer;outline:none}button:hover{background-color:#1e40af}button:active{transform:translateY(1px)}button:disabled{pointer-events:none;opacity:.5;cursor:not-allowed}button:focus-visible{box-shadow:0 0 0 3px #1e3a8a1a;outline:none}button.secondary{background-color:transparent;color:var(--fg);border:1px solid var(--border)}button.secondary:hover{background-color:var(--bg);border-color:var(--accent)}button.outline{background-color:transparent;color:var(--fg);border:1px solid var(--border)}button.outline:hover{background-color:var(--bg)}button.ghost{background-color:transparent;color:var(--accent);border:none;padding:.375rem .75rem;font-size:.875rem}button.ghost:hover{background-color:var(--accent-muted)}.hover\:border-\[\#334155\]:hover{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.hover\:border-indigo-500:hover{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity))}.hover\:bg-\[\#1e40af\]:hover{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.hover\:bg-\[\#f8fafc\]:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-indigo-50:hover{--tw-bg-opacity: 1;background-color:rgb(238 242 255 / var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity))}.hover\:bg-transparent:hover{background-color:transparent}.hover\:text-\[\#1e293b\]:hover{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.hover\:text-indigo-600:hover{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity))}.hover\:text-navy-700:hover{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity))}.hover\:opacity-100:hover{opacity:1}.hover\:grayscale-0:hover{--tw-grayscale: grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-indigo-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-auto:disabled{pointer-events:auto}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:inline{display:inline}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:text-\[60px\]{font-size:60px}}@media(min-width:1280px){.xl\:block{display:block}}html{font-size:100%}body{line-height:1.5;margin:0}body.modal-open{overflow:hidden}:root{--nav-height: 84px}#root{width:100%;max-width:none;margin:0 auto;padding:0;text-align:left}.container{display:flex;flex-direction:column;gap:1rem}.card{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;background:var(--card-bg);border:1px solid var(--border);color:var(--fg);border-radius:8px}label{display:flex;flex-direction:column;text-align:left;gap:.25rem}input[type=text],input[type=password],input[type=email],input[type=number],input[type=file],input[type=search],input[type=url],input[type=tel],select,textarea{padding:.5rem 1rem;background:var(--input-bg);color:var(--input-fg);border:1.5px solid #c4c9d0;border-radius:10px;font-size:.9375rem;font-weight:500;transition:all .2s ease}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--muted-fg);font-weight:400}input::placeholder,textarea::placeholder{color:var(--muted-fg);font-weight:400}input:hover:not(:focus),select:hover:not(:focus),textarea:hover:not(:focus){border-color:#cbd5e1}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1e3a8a1a}table.song-table.setlist-edit-table{table-layout:fixed}table.song-table.setlist-edit-table td.title-cell,table.song-table.setlist-edit-table th:first-child{width:34%;max-width:34%}table.song-table.setlist-edit-table td.artist-cell,table.song-table.setlist-edit-table th:nth-child(2){width:33%;max-width:33%}table.song-table.setlist-edit-table td:nth-child(3),table.song-table.setlist-edit-table th:nth-child(3){width:15%;max-width:15%;white-space:nowrap}table.song-table.setlist-edit-table td:last-child,table.song-table.setlist-edit-table th:last-child,table.song-table.setlist-edit-table .actions-col{width:auto!important;white-space:nowrap}table.song-table.setlist-edit-table tbody tr[draggable=true]{cursor:grab}table.song-table.setlist-edit-table tbody tr.dragging{opacity:.85;cursor:grabbing;background:color-mix(in srgb,var(--fg) 6%,var(--bg))}table.song-table.setlist-edit-table .drag-cell{display:inline-flex;align-items:center;gap:8px;min-width:0}table.song-table.setlist-edit-table .drag-handle{display:inline-block;font-size:.95rem;line-height:1;color:var(--muted-fg);-webkit-user-select:none;-moz-user-select:none;user-select:none}table.song-table.setlist-edit-table td.title-cell,table.song-table.setlist-edit-table td.artist-cell{overflow:hidden}table.song-table.setlist-edit-table tbody tr.drop-above td{border-top:2px solid var(--fg)}table.song-table.setlist-edit-table tbody tr.drop-after-last:last-child td{border-bottom:2px solid var(--fg)}table.song-table.setlist-edit-table td.title-cell .title-link.truncate,table.song-table.setlist-edit-table td.artist-cell .truncate{display:inline-block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}table.song-table.setlist-edit-table .drag-cell .title-link.truncate{display:block;flex:1 1 auto;min-width:0}table.song-table.setlist-edit-table th,table.song-table.setlist-edit-table td{padding-top:.375rem;padding-bottom:.375rem;line-height:1.2}table.song-table.setlist-edit-table th,table.song-table.setlist-edit-table td,table.song-table.setlist-edit-table .numeric{text-align:left!important}table.song-table.setlist-edit-table .row-actions .icon-button.remove-icon{background:transparent!important;border:none;color:var(--fg)}table.song-table.setlist-edit-table .row-actions .icon-button.remove-icon:hover,table.song-table.setlist-edit-table .row-actions .icon-button.remove-icon:active{background:transparent!important;color:var(--fg)}table.song-table.setlist-edit-table .row-actions .icon-button.remove-icon.small{font-size:.9rem;padding:.25rem}table.song-table.setlist-edit-table tbody td:last-child .row-actions{padding-right:.1rem}.modal-header h2{margin:0}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--input-fg);caret-color:var(--input-fg);box-shadow:0 0 0 1000px var(--input-bg) inset;-webkit-box-shadow:0 0 0px 1000px var(--input-bg) inset}input:disabled,select:disabled,textarea:disabled{opacity:.7;cursor:not-allowed}button[disabled]{opacity:.7;cursor:not-allowed}button.link{background:transparent;color:var(--accent);border:none;text-decoration:underline;padding:.25rem;align-self:flex-start}table.song-table.members-table{table-layout:fixed;width:100%;min-width:0!important}.song-table.members-table thead th{background:color-mix(in srgb,var(--fg) 6%,var(--bg));padding:.6rem .8rem}.song-table.members-table tbody td{padding:.55rem .8rem}.song-table.members-table .user-col{width:65%}.song-table.members-table td.title-cell.user-col .title-link.truncate{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-table.members-table .actions-col{white-space:nowrap;text-align:right;width:1%;padding-left:.5rem}button.secondary{border:1px solid var(--border)}button.danger{background:var(--danger);color:var(--card-bg)}button.danger:hover{background:var(--danger-hover)}.error{background:var(--error-bg);color:var(--error-fg);padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px}.app-nav{position:relative;width:100%;max-width:1070px;margin:0 auto;padding-top:.5rem;padding-bottom:.5rem;display:flex;align-items:center;gap:.5rem;color:var(--accent-contrast);background:var(--accent);border-bottom:1px solid var(--border);border-bottom-left-radius:12px;border-bottom-right-radius:12px;box-sizing:border-box}.app-nav .brand{display:flex;align-items:center;height:100%;padding-left:.5rem}.logo-section{display:flex;align-items:center;color:var(--accent-contrast)}.logo-icon img{height:60px;width:auto;-o-object-fit:contain;object-fit:contain;filter:brightness(0) invert(1)}.logo-text{display:flex;flex-direction:column;line-height:1.1}.logo-title{font-size:1.8rem;font-weight:700;letter-spacing:-.02em}.logo-subtitle{font-size:.75rem;font-weight:500;opacity:.9;text-transform:uppercase;letter-spacing:.05em}.community-beta-link{display:none!important}.app-nav__links a{color:#fff;text-decoration:none;padding:.5rem .75rem;border-radius:8px;font-size:1.1rem;font-weight:500;display:inline-flex;align-items:center;transition:all .2s ease;white-space:nowrap}.app-nav__links a.active{background:#ffffff1a;color:#fff}.app-nav__links a:hover,.community-beta-link:hover{background:#ffffff1a}.app-nav__spacer{flex:1}.app-nav__actions{display:flex;gap:8px;align-items:center;padding-right:.5rem;margin-left:auto}.page-container{max-width:1070px;margin:0 auto;padding:0 1rem}.library-page.page-container{padding-top:0}.library-page .nav-spacer{height:0}.viewer-page.page-container{padding-top:0;padding-bottom:180px;text-align:left}.viewer-page .nav-spacer{height:0}.setlists-page.page-container,.bands-page.page-container,.admin-page.page-container,.community-page.page-container{padding-top:1rem}.setlists-page.page-container .main-card,.bands-page.page-container .main-card,.admin-page.page-container .main-card{margin-top:0}.setlists-page,.bands-page,.admin-page{justify-content:flex-start}.setlists-page .empty-state p:first-child,.bands-page .empty-state p:first-child,.admin-page .empty-state p:first-child{color:var(--fg);font-weight:700}.page-header{display:flex;align-items:center;justify-content:space-between;gap:0;color:var(--fg);margin:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:transparent;color:inherit;text-decoration:none;line-height:1;cursor:pointer}.icon-button:hover{background:color-mix(in srgb,var(--fg) 6%,var(--bg))}.icon-button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.app-nav__links{display:flex;gap:8px}.h-group{display:inline-flex;gap:8px;align-items:center}.ml-8{margin-left:8px}.mt-8{margin-top:8px}.song-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.song-card{border:1px solid var(--border);border-radius:10px;padding:1rem;background:var(--card-bg);display:flex;flex-direction:column;gap:.5rem}.song-card__header{display:flex;align-items:center;gap:.75rem}.song-card__thumb{width:40px;height:52px;border:1px solid var(--border);border-radius:4px;display:grid;place-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--fg) 8%,var(--bg)),color-mix(in srgb,var(--fg) 6%,var(--bg)));color:var(--accent);font-size:.7rem;font-weight:700}.song-card__meta{color:var(--muted-fg);font-size:.9rem;display:flex;gap:.4rem}.song-card__actions{margin-top:.25rem;display:flex;gap:.5rem;align-items:center}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.tile-card{border:1px solid var(--border);border-radius:12px;background:var(--card-bg);padding:1rem;text-decoration:none;color:inherit;display:block}.tile-card:hover{background:color-mix(in srgb,var(--fg) 4%,var(--bg))}.tile-card__header{display:flex;align-items:center;gap:.75rem}.tile-card__icon{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--fg) 6%,var(--bg));color:var(--accent);font-weight:700}.tile-card__title{margin:0}.tile-card__count{font-size:2rem;font-weight:700;margin-top:.25rem}.tile-card__subtitle{margin-top:-.25rem}.tile-card__actions{margin-top:.5rem;display:flex;gap:.5rem}a.button{display:inline-block;padding:.5rem .75rem;border-radius:6px;text-decoration:none}a.button.secondary{border:1px solid var(--border)}a.button.secondary:hover{background:color-mix(in srgb,var(--fg) 10%,var(--bg))}.edit-song-dialog{width:min(600px,95vw);max-height:90vh;background:var(--card-bg);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.edit-song-dialog .modal-header{background:var(--accent);color:#fff;padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.edit-song-dialog .modal-header h2{font-size:1.25rem;font-weight:700;margin:0;color:#fff}.edit-song-dialog .modal-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease}.edit-song-dialog .modal-close:hover{background:#ffffff26}.edit-song-dialog .modal-body{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.edit-song-section{background:var(--bg);border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.edit-song-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.edit-song-section-title{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--light-fg);margin:0}.edit-song-section-icon{color:var(--accent);flex-shrink:0}.edit-song-field{display:flex;flex-direction:column;gap:.5rem}.edit-song-field label{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--light-fg)}.edit-song-field input{width:100%;height:40px;padding:0 .875rem;border:1.5px solid #c4c9d0;border-radius:10px;background:var(--input-bg);color:var(--input-fg);font-size:.9375rem;font-family:inherit;transition:all .2s ease}.edit-song-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7599af1f}.edit-song-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.edit-song-pdf-section{background:var(--bg);border-radius:10px;padding:1rem}.edit-song-pdf-content{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:2px solid var(--border);border-radius:10px;margin-top:.5rem}.edit-song-pdf-icon{width:32px;height:32px;background:#7599af1a;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.edit-song-pdf-icon svg{width:18px;height:18px}.edit-song-pdf-info{flex:1;min-width:0}.edit-song-pdf-name{font-size:.9375rem;font-weight:600;color:var(--fg);margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-song-pdf-status{font-size:.8125rem;color:var(--light-fg)}.edit-song-pdf-action{background:transparent;color:var(--accent);border:2px solid var(--accent);padding:.5rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:inherit}.edit-song-pdf-action:hover{background:var(--accent);color:#fff}.edit-song-tags-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.edit-song-manage-link{font-size:.875rem;font-weight:600;color:var(--accent);text-decoration:none;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:all .2s ease;background:none;border:none;font-family:inherit}.edit-song-manage-link:hover{background:#7599af1a;text-decoration:underline}.edit-song-tags-picker{display:flex;flex-wrap:wrap;gap:.5rem}.edit-song-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:#fff;border:2px solid var(--border);border-radius:8px;font-size:.8125rem;color:var(--fg);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edit-song-tag:hover{border-color:var(--accent);background:#7599af0d}.edit-song-tag.selected{background:var(--accent);border-color:var(--accent);color:#fff}.edit-song-tag-remove{display:none;width:16px;height:16px;align-items:center;justify-content:center;cursor:pointer}.edit-song-tag.selected .edit-song-tag-remove{display:flex}.edit-song-tags-hint{font-size:.8125rem;color:var(--light-fg);margin-top:.5rem;font-style:italic}.edit-song-dialog .modal-footer{padding:1.25rem 1.5rem;background:var(--bg);border-top:2px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:1rem}.edit-song-footer-left{flex:0}.edit-song-footer-right{display:flex;gap:.75rem;margin-left:auto}.btn-delete{background:transparent;color:#d32f2f;border:2px solid #d32f2f;padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-delete:hover{background:#d32f2f;color:#fff}.btn-cancel{background:transparent;color:var(--light-fg);border:2px solid var(--border);padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-cancel:hover{border-color:var(--light-fg);background:#6b5d540d}.btn-save{background:var(--accent);color:#fff;border:none;padding:.625rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-save:hover{background:#648aa0;transform:translateY(-1px);box-shadow:0 4px 12px #7599af4d}.btn-save:active{transform:translateY(0)}@media(max-width:480px){.edit-song-row{grid-template-columns:1fr}.edit-song-dialog .modal-footer{flex-direction:column;align-items:stretch}.edit-song-footer-left{order:2;flex:1}.edit-song-footer-right{order:1;flex:1}.btn-delete,.btn-cancel,.btn-save{width:100%}}.modal-overlay{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;padding:1rem;z-index:1000;overscroll-behavior:contain}.modal{width:100%;max-width:600px;background:var(--card-bg);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 10px 30px #0003;overscroll-behavior:contain}.modal.edit-song-dialog,.modal.add-song-dialog,.modal.bulk-upload-dialog{width:min(600px,95%);max-height:90vh;display:flex;flex-direction:column;background:var(--card-bg);border-radius:12px;box-shadow:0 8px 32px #2d242026;overflow:hidden;padding:0}.modal.edit-song-dialog .modal-form,.modal.add-song-dialog .modal-form,.modal.bulk-upload-dialog .modal-form{overflow-y:auto;flex:1;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal.add-song-dialog .facets-grid{padding:1.5rem 1.25rem;gap:1.25rem}.modal.edit-song-dialog .facet-header,.modal.add-song-dialog .facet-header,.modal.bulk-upload-dialog .facet-header{background:var(--accent);color:var(--accent-contrast);border-bottom:2px solid var(--border);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-radius:12px 12px 0 0}.modal.edit-song-dialog .facet-header strong,.modal.add-song-dialog .facet-header strong,.modal.bulk-upload-dialog .facet-header strong{color:var(--accent-contrast);font-size:1.125rem;font-weight:600;letter-spacing:.01em}.modal.edit-song-dialog .close-button,.modal.add-song-dialog .close-button,.modal.bulk-upload-dialog .close-button{background:none;border:none;color:var(--accent-contrast);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;font-size:1.5rem;line-height:1}.modal.edit-song-dialog .close-button:hover,.modal.add-song-dialog .close-button:hover,.modal.bulk-upload-dialog .close-button:hover{color:var(--accent-contrast);background:#fff3}.modal.edit-song-dialog .facets-grid,.modal.add-song-dialog .facets-grid,.modal.bulk-upload-dialog .facets-grid{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1.25rem;background:var(--bg);border-radius:12px;margin:.75rem}.modal.edit-song-dialog .form-field,.modal.add-song-dialog .form-field{display:flex;flex-direction:column}.modal.edit-song-dialog .form-input,.modal.edit-song-dialog .form-select,.modal.add-song-dialog .form-input,.modal.add-song-dialog .form-select{height:40px;background:var(--input-bg);border:1.5px solid #c4c9d0;border-radius:10px;padding:0 .875rem;color:var(--input-fg);font-size:.9375rem;transition:all .2s;font-family:inherit;width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;text-align:left}.modal.edit-song-dialog .form-input:focus,.modal.edit-song-dialog .form-select:focus,.modal.add-song-dialog .form-input:focus,.modal.add-song-dialog .form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7599af1a}.modal.edit-song-dialog .form-input::-moz-placeholder,.modal.add-song-dialog .form-input::-moz-placeholder{color:var(--muted-fg)}.modal.edit-song-dialog .form-input::placeholder,.modal.add-song-dialog .form-input::placeholder{color:var(--muted-fg)}.modal.edit-song-dialog .form-row,.modal.add-song-dialog .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal.add-song-dialog .form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.modal.edit-song-dialog .modal-actions,.modal.add-song-dialog .modal-actions,.modal.bulk-upload-dialog .modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;margin:0 .75rem .75rem;border-radius:12px}.modal.edit-song-dialog .btn-primary,.modal.edit-song-dialog .btn-secondary,.modal.edit-song-dialog .btn-danger,.modal.add-song-dialog .btn-primary,.modal.add-song-dialog .btn-secondary,.modal.add-song-dialog .btn-danger,.modal.bulk-upload-dialog .btn-primary,.modal.bulk-upload-dialog .btn-secondary,.modal.bulk-upload-dialog .btn-danger{height:40px;padding:0 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:inherit;display:inline-flex;align-items:center;justify-content:center}.modal.edit-song-dialog .btn-primary,.modal.add-song-dialog .btn-primary,.modal.bulk-upload-dialog .btn-primary{background:var(--accent);color:#fff}.modal.edit-song-dialog .btn-primary:hover:not(:disabled),.modal.add-song-dialog .btn-primary:hover:not(:disabled),.modal.bulk-upload-dialog .btn-primary:hover:not(:disabled){background:#6688a0;box-shadow:0 2px 8px #7599af40}.modal.edit-song-dialog .btn-secondary,.modal.add-song-dialog .btn-secondary,.modal.bulk-upload-dialog .btn-secondary{background:transparent;color:var(--fg);border:1px solid var(--border)}.modal.edit-song-dialog .btn-secondary:hover:not(:disabled),.modal.add-song-dialog .btn-secondary:hover:not(:disabled),.modal.bulk-upload-dialog .btn-secondary:hover:not(:disabled){background:var(--bg);border-color:var(--light-fg)}.modal.edit-song-dialog .btn-danger,.modal.add-song-dialog .btn-danger{background:transparent;color:#d9534f;border:1px solid rgba(217,83,79,.3)}.modal.edit-song-dialog .btn-danger:hover:not(:disabled),.modal.add-song-dialog .btn-danger:hover:not(:disabled){background:#d9534f14;border-color:#d9534f}.modal.edit-song-dialog .btn-primary:disabled,.modal.edit-song-dialog .btn-secondary:disabled,.modal.edit-song-dialog .btn-danger:disabled,.modal.add-song-dialog .btn-primary:disabled,.modal.add-song-dialog .btn-secondary:disabled,.modal.add-song-dialog .btn-danger:disabled{opacity:.5;cursor:not-allowed}.modal.edit-song-dialog .modal-form::-webkit-scrollbar,.modal.add-song-dialog .modal-form::-webkit-scrollbar,.modal.bulk-upload-dialog .modal-form::-webkit-scrollbar{width:8px}.modal.edit-song-dialog .modal-form::-webkit-scrollbar-track,.modal.add-song-dialog .modal-form::-webkit-scrollbar-track,.modal.bulk-upload-dialog .modal-form::-webkit-scrollbar-track{background:var(--bg);border-radius:4px}.modal.edit-song-dialog .modal-form::-webkit-scrollbar-thumb,.modal.add-song-dialog .modal-form::-webkit-scrollbar-thumb,.modal.bulk-upload-dialog .modal-form::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.modal.edit-song-dialog .modal-form::-webkit-scrollbar-thumb:hover,.modal.add-song-dialog .modal-form::-webkit-scrollbar-thumb:hover,.modal.bulk-upload-dialog .modal-form::-webkit-scrollbar-thumb:hover{background:var(--light-fg)}[data-radix-select-content]{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:.25rem;box-shadow:0 4px 16px #2d24201f;max-height:300px;overflow-y:auto;z-index:1001}[data-radix-select-item]{padding:.5rem .75rem;border-radius:4px;color:var(--fg);font-size:.9375rem;cursor:pointer;outline:none;transition:all .15s;display:flex;align-items:center;justify-content:space-between}[data-radix-select-item]:hover,[data-radix-select-item][data-highlighted]{background:var(--bg);color:var(--fg)}[data-radix-select-item][data-state=checked]{background:var(--accent);color:#fff;font-weight:500}.select-check-icon{font-size:.9rem}.select-caret{font-size:.7rem;opacity:.6}[data-radix-select-content]::-webkit-scrollbar{width:8px}[data-radix-select-content]::-webkit-scrollbar-track{background:var(--bg);border-radius:4px}[data-radix-select-content]::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}[data-radix-select-content]::-webkit-scrollbar-thumb:hover{background:var(--light-fg)}.modal-form{display:flex;flex-direction:column;gap:.75rem}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:12px}.add-setlist-dialog input:not([type=checkbox]):not([type=radio]),.add-setlist-dialog select,.add-setlist-dialog textarea{padding:.5rem .75rem;background:var(--input-bg);color:var(--light-fg);caret-color:var(--light-fg);border:1.5px solid #c4c9d0;border-radius:8px;font-size:1rem;width:100%;box-sizing:border-box}.add-setlist-dialog input::-moz-placeholder,.add-setlist-dialog textarea::-moz-placeholder,.add-setlist-dialog select::-moz-placeholder{color:var(--light-fg)}.add-setlist-dialog input::placeholder,.add-setlist-dialog textarea::placeholder,.add-setlist-dialog select::placeholder{color:var(--light-fg)}.add-setlist-dialog input:focus,.add-setlist-dialog input:focus-visible,.add-setlist-dialog select:focus,.add-setlist-dialog select:focus-visible,.add-setlist-dialog textarea:focus,.add-setlist-dialog textarea:focus-visible{background:var(--input-bg);color:var(--light-fg);border:1.5px solid #c4c9d0;border-radius:8px;font-size:1rem;outline:none}.edit-dialog input:not([type=checkbox]):not([type=radio]),.edit-dialog select{height:40px;border-radius:10px;box-sizing:border-box;padding:0 .75rem;width:100%;background:var(--input-bg);color:var(--input-fg);border:1.5px solid #c4c9d0}.edit-dialog input::-moz-placeholder,.edit-dialog select::-moz-placeholder{color:var(--input-fg)}.edit-dialog input::placeholder,.edit-dialog select::placeholder{color:var(--input-fg)}.add-song-dialog input[type=file]{height:auto;border-radius:0;padding:0;width:auto;background:transparent;border:none;color:var(--input-fg);display:inline-flex;align-items:center;gap:.5rem}.add-song-dialog input[type=file]::file-selector-button{border:none;border-radius:8px;background:var(--fg);color:var(--card-bg);padding:.4rem .9rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-right:.5rem}.add-song-dialog input[type=file]::-webkit-file-upload-button{border:none;border-radius:8px;background:var(--fg);color:var(--card-bg);padding:.4rem .9rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-right:.5rem}.empty-state{text-align:center;padding:2rem 1rem;color:var(--muted-fg)}.muted{color:var(--bg)}.pdf-viewer-container{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.pdf-viewer-container .react-pdf__Document{display:flex;flex-direction:column;align-items:center;width:100%}.pdf-viewer-container .react-pdf__Page{max-width:100%;box-shadow:0 0 0 1px var(--border);border-radius:6px;background:color-mix(in srgb,var(--fg) 3%,var(--bg));position:relative}.pdf-viewer-container .react-pdf__Page canvas{max-width:100%;height:auto!important;display:block;border-radius:6px}.react-pdf__Page__textContent{position:absolute;inset:0;overflow:hidden;opacity:.2;line-height:1}.react-pdf__Page__textContent span{color:transparent;position:absolute;white-space:pre;cursor:text;transform-origin:0 0}.react-pdf__Page__textContent ::-moz-selection{background:#0064ff4d}.react-pdf__Page__textContent ::selection{background:#0064ff4d}.react-pdf__Page__annotations{position:absolute;inset:0}.react-pdf__Page__annotations .linkAnnotation>a,.react-pdf__Page__annotations .buttonWidgetAnnotation.pushButton>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.react-pdf__Page__annotations .linkAnnotation>a:hover,.react-pdf__Page__annotations .buttonWidgetAnnotation.pushButton>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.pdf-controls{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;margin-top:.5rem}.pdf-controls .page-info{font-size:.95rem;color:var(--fg);min-width:120px;text-align:center}.pdf-controls button:disabled{opacity:.4;cursor:not-allowed}.pdf-page-wrapper{position:relative;display:inline-block}.text-annotation{z-index:10;min-width:200px;max-width:300px}.annotation-editor.annotation-plain{background:#fffffff2;border:1px solid #ccc;border-radius:6px;padding:.5rem;box-shadow:0 2px 8px #0003}.annotation-display.annotation-plain{background:transparent;border:none;box-shadow:none;padding:.25rem}.annotation-display.annotation-plain:hover{background:#fff3}.annotation-text{font-size:.9rem;line-height:1.4;color:#333;white-space:pre-wrap;word-break:break-word}.song-table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--card-bg)}.song-table{width:100%;border-collapse:separate;border-spacing:0;min-width:37.5rem;table-layout:auto}.song-table thead th{position:sticky;top:0;background:color-mix(in srgb,var(--fg) 6%,var(--bg));color:var(--light-fg);text-align:left;font-weight:600;padding:.75rem .9rem;border-bottom:1px solid var(--border);z-index:1}.song-table thead th .th-inner{display:inline-flex;align-items:center;gap:6px}.song-table thead th .sortable-header{background:transparent;border:none;color:inherit;font:inherit;padding:0;cursor:pointer;text-decoration:none}.song-table thead th .sortable-header:disabled{color:inherit;opacity:1;pointer-events:none}.song-table thead th .sortable-header:hover{text-decoration:underline;text-underline-offset:2px}.song-table thead th .sortable-header:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:2px}.song-table thead th .sort-indicator{background:transparent;border:none;color:inherit;padding:0;cursor:pointer;line-height:1}.song-table thead th .sort-indicator:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:2px}.song-table tbody td{padding:.7rem .9rem;border-bottom:1px solid var(--border);vertical-align:middle}.song-table tbody tr:hover{background:color-mix(in srgb,var(--fg) 4%,var(--bg))}.song-table.no-row-hover tbody tr:hover{background:transparent}.song-table .numeric{text-align:right}.song-table .col-interactive{width:44px;text-align:center;padding-left:.5rem;padding-right:.5rem}.song-table .actions-col{width:1%;white-space:nowrap}.song-table .title-cell{max-width:37.5rem}.song-table .title-link{color:var(--fg);text-decoration:none}.song-table .title-link:hover{text-decoration:underline}table.song-table.tags-table th:first-child,table.song-table.tags-table td:first-child{width:32ch;max-width:32ch}table.song-table.tags-table td.title-cell{max-width:32ch}table.song-table.tags-table .actions-col{width:44px!important;white-space:nowrap}table.song-table.tags-table tbody tr.placeholder-row td{color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}table.song-table.tags-table{table-layout:fixed}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.5rem}.table-pagination .pagination-right{display:inline-flex;align-items:center;gap:.5rem}.table-pagination .page-indicator{min-width:6rem;text-align:center}button.small,a.button.small{padding:.35rem .6rem;font-size:.9rem}.row-actions{display:inline-flex;gap:.4rem;align-items:center}.file-upload-area{position:relative}.file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10}.file-upload-label{display:flex;align-items:center;justify-content:center;min-height:80px;padding:1rem;background:var(--card-bg);border:2px dashed var(--border);border-radius:10px;cursor:pointer;transition:all .2s}.file-upload-label:hover,.file-upload-label.dragging{border-color:var(--accent);background:#7599af0d}.file-placeholder,.file-selected{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.file-placeholder svg,.file-selected svg{color:var(--light-fg)}.file-prompt{color:var(--fg);font-size:.9375rem;font-weight:500}.file-hint{color:var(--muted-fg);font-size:.8125rem}.file-selected{flex-direction:row;gap:1rem;text-align:left}.file-name{color:var(--fg);font-size:.9375rem;font-weight:500;word-break:break-word}.file-size{color:var(--light-fg);font-size:.8125rem;margin-top:.25rem}.tagpicker-container{padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:12px}.tag-chip{display:inline-flex;align-items:center;gap:6px;background:var(--input-bg);border:1px solid var(--border);color:var(--light-fg);padding:.4rem .875rem;border-radius:6px;font-size:.8125rem;transition:all .2s}.tag-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}.tag-remove-btn{background:transparent;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;opacity:.8}.tag-remove-btn:hover{opacity:1}.tag-options-grid{display:flex;flex-wrap:wrap;gap:8px;min-height:100px;align-content:flex-start}.tag-chip-option{background:var(--card-bg);border:1px solid var(--border);color:var(--light-fg);padding:.4rem .875rem;border-radius:6px;font-size:.8125rem;cursor:pointer;transition:all .2s;height:-moz-fit-content;height:fit-content}.tag-chip-option:hover:not(:disabled){border-color:var(--accent);color:var(--fg);background:var(--bg)}.tag-chip-option.active{background:var(--accent);border-color:var(--accent);color:#fff}.tag-chip-option:disabled{opacity:.4;cursor:not-allowed}.action-link{background:transparent;color:var(--fg);border:none;padding:0;font:inherit;text-decoration:underline;cursor:pointer}.action-link:hover{text-decoration:underline;background:transparent}.action-link:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:2px}.icon-toggle{background:transparent;border:none;color:var(--muted-fg);padding:0;width:1.5rem;height:1.5rem;display:inline-grid;place-items:center;line-height:1;cursor:pointer}.icon-toggle:hover{color:var(--fg)}.icon-toggle.active{color:var(--accent)}.icon-toggle.star{font-size:1.05rem}.icon-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:4px}.icon-toggle svg{width:1.1rem;height:1.1rem;display:block}.table-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin:.25rem 0 .5rem}.table-toolbar.space-between{justify-content:space-between}.inline-field{display:inline-flex;align-items:center;gap:6px}input[type=search]{padding:.5rem .75rem;background:var(--input-bg);color:var(--fg);border:1.5px solid #c4c9d0;border-radius:8px;font-size:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none!important;background-position:initial;background-repeat:no-repeat}input[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}.search-input{width:min(22.5rem,100%)}.perform-root{position:fixed;inset:0;background:#000;display:flex;flex-direction:column;gap:0;z-index:1200}.perform-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--fg) 4%,var(--bg))}.perform-stage{flex:1;min-height:0;display:flex;justify-content:center;align-items:center;padding:0;background:#000}.perform-embed{width:100%;height:100%;border:none;border-radius:6px;background:color-mix(in srgb,var(--fg) 3%,var(--bg));box-shadow:0 0 0 1px var(--border) inset}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}.page-subtitle{margin-top:-.25rem;color:var(--border);font-size:.95rem}.badge{margin-left:.5ch;margin-right:.5ch;display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.8em;background:var(--fg);color:var(--card-bg);border:1px solid var(--border)}.tabs{display:inline-flex;gap:.25rem}.tab{background:color-mix(in srgb,var(--fg) 6%,var(--bg));color:var(--input-fg);border:1px solid var(--border)}.tab:hover{background:color-mix(in srgb,var(--fg) 10%,var(--bg))}.tab.active{background:var(--accent);color:var(--fg);border-color:transparent}.kebab__button{background:color-mix(in srgb,var(--fg) 6%,var(--bg));color:var(--fg);border:1px solid var(--border);width:2rem;height:2rem;line-height:0;padding:0;font-size:1.125rem;display:grid;place-items:center}.kebab__button:hover{background:color-mix(in srgb,var(--fg) 10%,var(--bg))}.kebab .menu{position:absolute;right:0;top:calc(100% + 6px);min-width:10rem;background:var(--card-bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 .625rem 1.875rem #00000026;padding:.25rem;z-index:100}.kebab .menu__item{width:100%;text-align:left;background:transparent;color:var(--fg);border:none;border-radius:6px;padding:.45rem .6rem}.kebab .menu__item:hover{background:color-mix(in srgb,var(--fg) 6%,var(--bg))}.kebab .menu__item.danger{color:var(--danger)}.sort-control{position:relative}.sort-trigger{background:transparent;border:none;color:var(--input-fg);padding:.25rem .35rem;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit}.sort-trigger:hover{color:var(--fg)}.sort-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:6px}.sort-trigger .label-muted{color:var(--input-fg);font-weight:700}.sort-trigger .caret{font-size:.9em}.sort-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:12rem;background:var(--card-bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 .625rem 1.875rem #00000026;padding:.25rem;z-index:100}.sort-menu .menu__item{width:100%;text-align:left;background:transparent;color:var(--fg);border:none;border-radius:6px;padding:.45rem .6rem;display:inline-flex;align-items:center;gap:6px}.sort-menu .menu__item:hover{background:color-mix(in srgb,var(--fg) 6%,var(--bg))}.sort-menu .menu__item.active{font-weight:600}.sort-menu .menu__item.active:before{content:"✓";color:var(--accent)}.setlists-page .song-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.setlists-page .song-card{padding:.75rem;gap:.4rem}.setlists-page .song-card__actions{gap:.4rem}.setlists-page .setlists-sticky{position:sticky;top:0;z-index:10;background:var(--card-bg);border-radius:10px;border:none;padding:.75rem;margin:0 0 10px}.setlists-page .setlists-sticky .page-header{background:transparent;padding:0;margin:0 0 6px}.setlists-page .song-table-wrapper{background:var(--card-bg);border:1px solid var(--border);color:var(--fg)}.setlists-page .song-table thead th{background:color-mix(in srgb,var(--fg) 6%,var(--bg));color:var(--fg);border-bottom:1px solid var(--border)}.setlists-page{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;min-height:100vh;background:var(--bg)}.page-header-container{margin-bottom:.5rem}.page-title-group{display:flex;align-items:center;gap:.75rem}.page-title-group h1{font-size:1.875rem;font-weight:700;color:var(--fg);margin:0}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:1.75rem;padding:0 .625rem;background:var(--accent);color:var(--accent-contrast);border-radius:.875rem;font-size:.8125rem;font-weight:600}.setlists-section-wrapper{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:2rem;box-shadow:0 2px 8px #1e293b14}.setlists-section{display:flex;flex-direction:column;gap:1rem}.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.section-header h2{font-size:1.5rem;font-weight:700;color:var(--fg);margin:0;padding-bottom:.75rem;border-bottom:2px solid var(--accent)}.section-controls{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:flex-end;max-width:500px}.setlist-search{flex:1;height:40px;padding:0 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:10px;font-size:.9375rem;color:var(--input-fg);transition:all .2s ease}.setlist-search::-moz-placeholder{color:var(--light-fg)}.setlist-search::placeholder{color:var(--light-fg)}.setlist-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1e3a8a1a}.new-setlist-btn{height:40px;padding:0 1.25rem;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity .2s ease;white-space:nowrap}.new-setlist-btn:hover{opacity:.9}.table-responsive{width:100%;overflow-x:auto}.setlists-table{width:100%;border-collapse:collapse}.setlists-table thead{border-bottom:2px solid var(--border);background:#1e3a8a0a}.setlists-table th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--light-fg)}.setlists-table th.col-center{text-align:center}.setlists-table th.col-right{text-align:right}.setlists-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .15s ease}.setlists-table tbody tr:hover{background-color:#1e3a8a0a}.setlists-table tbody tr:last-child{border-bottom:none}.setlists-table td{padding:1rem;font-size:.9375rem;color:var(--fg)}.setlist-name{font-weight:700;color:var(--fg);cursor:pointer;transition:color .2s ease}.setlist-name:hover{color:var(--accent)}.setlist-metric{color:var(--light-fg);font-variant-numeric:tabular-nums}.sharing-status{display:flex;align-items:center;gap:.5rem;color:var(--light-fg);font-size:.875rem}.shared-indicator{display:inline-flex;align-items:center;gap:.375rem;color:var(--light-fg)}.shared-indicator svg{width:14px;height:14px;opacity:.7}.share-link-btn{background:transparent;padding:0;color:var(--accent);border:none;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s ease}.share-link-btn:hover{opacity:.8;background:transparent}.shared-from{color:var(--light-fg);font-size:.875rem}.shared-from strong{color:var(--fg);font-weight:600}.perform-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:#1e3a8a14;border:1px solid var(--border);border-radius:8px;color:var(--accent);font-size:.875rem;cursor:pointer;transition:all .2s ease}.perform-btn:hover{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.perform-controls-floating{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;gap:.75rem}.perform-pill-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.1);border-radius:9999px;color:var(--fg);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.perform-pill-button:hover:not(:disabled){background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.perform-pill-button:disabled{cursor:not-allowed}.play-icon{font-size:.875rem}.setlists-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--light-fg)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.3}.empty-state-text{font-size:.9375rem;margin:0}.bands-page .song-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.bands-page .song-card{padding:.75rem;gap:.4rem}.bands-page .song-card__actions{gap:.4rem}.row-actions .kebab__button{width:1.75rem;height:1.75rem;font-size:1rem;background:transparent;border:none;color:var(--muted-fg)}.row-actions .kebab__button:hover{color:var(--fg);background:transparent}.row-actions .kebab__button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:4px}.lib-layout{display:grid;grid-template-columns:16.25rem 1fr;gap:1rem;align-items:start}.collapsible{border:none;border-radius:.625rem;background:var(--bg);margin-bottom:.75rem}.collapsible__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .5rem;color:var(--light-fg);background:transparent;border:none}.collapsible__toggle{background:transparent;border:none;color:var(--light-fg);display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:.25rem .35rem;font:inherit}.collapsible__toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:6px}.collapsible__actions{display:inline-flex;gap:6px}.chevron{transition:transform .12s ease}.chevron.open{transform:rotate(90deg)}.collapsible__content{padding:.5rem}.collapsible__title{font-size:1.25rem;font-weight:700}.filters-sidebar{position:sticky;top:8px;max-height:calc(100vh - 6rem);overflow:auto;padding:.5rem;border:1px solid var(--border);border-radius:.625rem;background:var(--bg)}.facet-panel .facet-header strong,.facet-panel .facet-title{color:var(--light-fg)}.hide-on-mobile{display:block}.only-mobile{display:none}@media(max-width:900px){.lib-layout{grid-template-columns:1fr}.hide-on-mobile{display:none!important}.only-mobile{display:block}}.library-page .page-header{background:var(--card-bg);margin:0 0 10px;padding:1rem;color:var(--fg);position:static;top:auto;z-index:auto;scroll-margin-top:12px}.library-page .page-header h2{color:var(--fg)!important}.setlists-page .page-header{background:var(--card-bg);margin:0 0 10px;padding:1rem;color:var(--fg);position:static;top:auto;z-index:auto;scroll-margin-top:12px}.setlists-page .page-header h2{color:var(--light-fg)}.bands-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.bands-table thead tr{border-bottom:2px solid var(--border)}.bands-table th{text-align:left;padding:.75rem 1rem .75rem 0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--light-fg);background:#f8fafc}.bands-table th.col-center{text-align:center;width:150px}.bands-table th.col-role{width:120px}.bands-table tbody tr{border-bottom:1px solid #e8ecef;transition:background .15s ease}.bands-table tbody tr:nth-child(2n){background-color:#fafbfc}.bands-table tbody tr:hover{background-color:#f0f4f8!important;box-shadow:inset 3px 0 0 0 var(--accent)}.bands-table td{padding:1rem 1rem 1rem 0;font-size:.9375rem;color:var(--fg)}.bands-table td.col-center{text-align:center;color:var(--light-fg);font-variant-numeric:tabular-nums}.title-link{font-weight:700;color:var(--fg);text-decoration:none;cursor:pointer;transition:color .2s ease}.title-link:hover{color:var(--accent)}.back-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--accent);background:none;border:1px solid var(--border);border-radius:10px;cursor:pointer;padding:0;transition:all .2s ease;font-family:inherit}.back-button:hover{background:var(--bg);border-color:var(--accent)}.section-subheader{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-perform{height:32px;width:32px;padding:0;background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-perform:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.setlist-owner{color:var(--light-fg);font-size:.875rem;margin-top:.125rem}.members-table{width:100%;border-collapse:collapse}.members-table thead tr{border-bottom:2px solid var(--border)}.members-table th{text-align:left;padding:.75rem 1rem .75rem 0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--light-fg)}.members-table th.col-role{width:120px}.members-table th.col-actions{width:100px;text-align:right}.members-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s ease}.members-table tbody tr:hover{background:var(--bg)}.members-table td{padding:1rem 1rem 1rem 0;font-size:.9375rem;color:var(--fg)}.member-name{font-weight:700;color:var(--fg)}.member-email{color:var(--light-fg);font-size:.875rem;margin-top:.125rem}.invitations-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.invitations-table{width:100%;border-collapse:collapse;margin-top:.75rem}.invitations-table thead tr{border-bottom:2px solid var(--border)}.invitations-table th{text-align:left;padding:.75rem 1rem .75rem 0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--light-fg)}.invitations-table th.col-expires{width:150px}.invitations-table th.col-actions{width:180px;text-align:right}.invitations-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s ease}.invitations-table tbody tr:hover{background:var(--bg)}.invitations-table td{padding:1rem 1rem 1rem 0;font-size:.9375rem;color:var(--fg)}.invite-email{color:var(--fg);font-weight:600}.invite-expires{color:var(--light-fg);font-size:.875rem}.invite-actions{display:flex;gap:.5rem;justify-content:flex-end}.add-setlist-modal{width:100%;max-width:500px}.setlist-selection-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;padding:.25rem}.setlist-selection-item{display:flex;align-items:center;gap:1rem;padding:1rem;border:2px solid var(--border);border-radius:10px;background:var(--card-bg);cursor:pointer;transition:all .2s ease}.setlist-selection-item:hover{background:var(--bg);border-color:var(--accent)}.setlist-selection-item.selected{border-color:var(--accent);background:#7599af14}.selection-radio{width:20px;height:20px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.setlist-selection-item:hover .selection-radio{border-color:var(--accent)}.setlist-selection-item.selected .selection-radio{border-color:var(--accent);background:var(--accent)}.selection-radio-dot{width:8px;height:8px;background:#fff;border-radius:50%;opacity:0;transition:opacity .2s ease}.setlist-selection-item.selected .selection-radio-dot{opacity:1}.setlist-selection-info{flex:1;min-width:0}.setlist-selection-name{font-weight:700;color:var(--fg);font-size:.9375rem;margin-bottom:.25rem}.setlist-selection-meta{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--light-fg)}.setlist-meta-item{display:flex;align-items:center;gap:.375rem}.setlist-meta-item svg{width:14px;height:14px}.selection-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:var(--bg);border-radius:10px;border:2px dashed var(--border)}.selection-empty-state svg{margin-bottom:1rem;color:var(--muted-fg)}.selection-empty-state p{color:var(--light-fg);font-size:.9375rem;margin-bottom:.5rem}.login-page input[type=text],.login-page input[type=email],.login-page input[type=password],.login-page input[type=search],.login-page input[type=tel],.login-page input[type=url],.login-page input[type=number],.login-page input[type=date],.login-page input[type=time]{color:var(--light-fg)}.login-page input::-moz-placeholder{color:var(--light-fg)}.login-page input::placeholder{color:var(--light-fg)}.login-page input:-webkit-autofill,.login-page input:-webkit-autofill:hover,.login-page input:-webkit-autofill:focus{-webkit-text-fill-color:var(--light-fg)!important;caret-color:var(--light-fg)!important;box-shadow:0 0 0 1000px var(--input-bg) inset!important;border:1.5px solid #c4c9d0!important}.login-page input:-moz-autofill{color:var(--light-fg)!important;caret-color:var(--light-fg)!important;box-shadow:0 0 0 1000px var(--input-bg) inset;border:1.5px solid #c4c9d0!important}.setlist-detail-page.page-container{padding-top:0}.setlist-detail-page .nav-spacer{height:0}.setlist-detail-page .page-header{background:var(--card-bg);border-radius:10px;margin:0 0 10px;padding:1rem;color:var(--fg);position:static;top:auto;z-index:auto;scroll-margin-top:12px}.setlist-detail-page .page-header h2{color:var(--fg)!important}.band-detail-page.page-container{padding-top:1rem}.band-detail-page .nav-spacer{height:0}.band-detail-page .page-header{background:var(--card-bg);border-radius:10px;margin:0 0 10px;padding:1rem;color:var(--fg);position:static;top:auto;z-index:auto;scroll-margin-top:12px}.band-detail-page .page-header h2{color:var(--fg)!important}.library-page .lib-layout{grid-template-columns:18.5rem 1fr;gap:1rem}.library-page .table-toolbar{justify-content:flex-start;flex-wrap:wrap;row-gap:8px;--lib-toolbar-control-h: 40px}.library-page .table-toolbar input[type=search],.library-page .table-toolbar select,.library-page .saved-views input[type=search],.library-page .facet-panel input[type=number]{padding:.4rem .6rem;font-size:.95rem;font-weight:400;border-radius:10px}.library-page .table-toolbar .search-input{width:min(20rem,100%)}.library-page .saved-views .plain-list li{padding:2px 0}.library-page .saved-views .small{padding:.25rem .35rem;font-size:.85rem}.library-page .filters-sidebar{padding:.75rem;border-radius:.75rem}.facet-panel{color:var(--input-fg)}.facet-panel{display:flex;flex-direction:column;gap:1.5rem;background:var(--accent-muted)!important;height:-moz-fit-content;height:fit-content;padding:1.5rem!important;box-sizing:border-box!important;border:1px solid var(--border)!important;border-radius:8px!important}.facet-panel::-webkit-scrollbar,.available-tags::-webkit-scrollbar{width:6px}.facet-panel::-webkit-scrollbar-track,.available-tags::-webkit-scrollbar-track{background:transparent}.facet-panel::-webkit-scrollbar-thumb,.available-tags::-webkit-scrollbar-thumb{background:var(--border)}.facet-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.facet-panel::-webkit-scrollbar-thumb:hover,.available-tags::-webkit-scrollbar-thumb:hover{background:var(--accent)}.facet-header{display:flex!important;align-items:center!important;gap:.75rem!important;padding-bottom:1rem!important;border-bottom:1px solid var(--accent)!important;position:relative!important}.header-icon-box{width:36px;height:36px;background:var(--accent);color:#fff!important;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-icon-box svg{color:#fff!important}.facet-header h2{font-size:1.5rem;font-weight:700;color:var(--fg);border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1rem;width:100%}.clear-all-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#fff!important;color:var(--accent);border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.action-link:hover{color:#6688a0;background:transparent}.search-inputs-group{display:flex;flex-direction:column;gap:1rem}.search-input-wrapper{position:relative;width:100%}.search-icon-left{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--light-fg);pointer-events:none}.library-search-custom{width:100%!important;padding:.5rem .875rem!important;background:#fff!important;border:1.5px solid #c4c9d0!important;border-radius:10px!important;font-size:.9375rem!important;font-weight:500!important;color:var(--fg)!important;transition:all .2s ease!important;box-sizing:border-box!important;outline:none!important}.library-search-custom::-moz-placeholder{color:var(--light-fg)!important;font-weight:400!important}.library-search-custom::placeholder{color:var(--light-fg)!important;font-weight:400!important}.library-search-custom:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1e3a8a1a}.input-clear-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:20px;height:20px;background:var(--border);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.input-clear-btn:hover{background:var(--accent)}.genre-selector-container{position:relative;width:100%}.genre-trigger{width:100%!important;height:40px!important;padding:0 1rem!important;background:#fff!important;border:1.5px solid #c4c9d0!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;transition:all .2s ease!important}.genre-trigger:hover{border-color:#9ca3af!important}.genre-trigger:focus{outline:none!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px #1e3a8a1a!important}.library-search:hover{background:var(--input-bg)}.library-search:focus{outline:none;border-color:var(--accent);background:var(--bg)}.genre-trigger-label{font-size:.9375rem!important;font-weight:500!important;color:var(--fg)!important}.genre-trigger-label.is-placeholder{color:var(--light-fg)!important;font-weight:400!important}.genre-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff!important;border:1px solid var(--border)!important;border-radius:8px;box-shadow:0 8px 24px #2d242026!important;z-index:1000;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.genre-list{max-height:240px;overflow-y:auto;padding:.5rem}.genre-item{width:100%;padding:.625rem .875rem;background:transparent;border:none;border-radius:6px;font-size:.9375rem;font-weight:500;color:var(--fg);text-align:left;cursor:pointer;transition:all .15s ease;font-family:inherit}.genre-item:hover{background:var(--bg)}.genre-item.active{background:var(--bg);color:var(--fg)!important;font-weight:600}.menu-footer{padding:.75rem;border-top:1px solid var(--border);background:var(--bg)}.manage-genres-btn{width:100%;padding:.5rem .875rem;background:transparent;color:var(--accent);border:none;border-radius:0;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;text-align:center}.manage-genres-btn:hover{background:transparent!important;text-decoration:underline;color:var(--fg)}.tags-section-header{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;width:100%!important}.manage-tags-link{padding:0;background:transparent;color:var(--accent);border:none;border-radius:0;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none}.manage-tags-link:hover{background:transparent!important;text-decoration:underline;color:var(--fg)}.selected-tags-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.tag-chip-custom{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background:var(--accent-muted);color:var(--fg);border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s ease}.tag-chip-custom:hover{background:#c5ced6}.chip-remove-btn{width:16px;height:16px;background:#1e293b33;color:var(--fg);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:all .2s}.chip-remove-btn:hover{background:var(--fg);color:#fff}.tag-suggestions-dropdown{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;padding:1rem;background:#fefdfb;border:1px solid var(--border);border-radius:8px;max-height:200px;overflow-y:auto;margin-top:.5rem}.suggestion-item{padding:.5rem .75rem;background:transparent;color:var(--fg);border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left;font-family:inherit}.suggestion-item:hover{background:var(--bg);border-color:var(--accent)}.filters-summary-footer{margin-top:auto!important;padding-top:1.5rem!important;border-top:1px solid var(--border)!important;display:flex!important;flex-direction:column!important;gap:1rem!important;align-items:center!important}.summary-text{font-size:.875rem;font-weight:500;color:var(--accent);text-align:center;margin:0}.available-tags::-webkit-scrollbar{width:6px}.available-tags::-webkit-scrollbar-track{background:transparent}.available-tags::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.available-tags::-webkit-scrollbar-thumb:hover{background:var(--light-fg)}.library-page .table-toolbar .range-text{color:var(--fg)}.library-page .filters-sidebar .facet-list.scrollable,.facet-panel .facet-list.scrollable{max-height:140px;overflow-y:auto;padding-right:4px}.library-page .filters-sidebar .facet-list.scrollable,.facet-panel .facet-list.scrollable{scrollbar-gutter:stable both-edges}.library-page .song-table thead th{padding:.4rem .6rem}.library-page .song-table tbody td{padding:.3rem .6rem}.library-page .song-table .title-cell{max-width:32.5rem}.library-page .song-table{table-layout:fixed}.library-page .song-table th.col-title,.library-page .song-table td.col-title{width:34%}.library-page .song-table th.col-artist,.library-page .song-table td.col-artist{width:26%}.library-page .song-table th.col-genre,.library-page .song-table td.col-genre{width:17%}.library-page .song-table th.col-length,.library-page .song-table td.col-length{width:10%}.library-page .song-table th.col-star,.library-page .song-table td.col-star{width:5%;text-align:left}.library-page .song-table th.col-add,.library-page .song-table td.col-add{width:8%;text-align:center}.library-page .song-table th.col-add .th-inner{justify-content:center;width:100%}.library-page .song-table th.col-add .th-inner{font-weight:700}.library-page .song-table th.col-genre,.library-page .song-table td.col-genre{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-page .song-table .title-cell{overflow:hidden}.library-page .song-table .title-link.truncate{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-page .song-table td.cell-editable{cursor:pointer}.library-page .song-table td.cell-editable:hover{text-decoration:underline;text-underline-offset:2px}.library-page .song-table .setlists-action{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.library-page .song-table .setlists-action:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:4px}.library-page .song-table tr.group-row td.group-cell{background:var(--accent-muted);color:var(--light-fg);font-weight:700;text-transform:uppercase;padding:.35rem .6rem;border-top:1px solid var(--border)}.library-page button,.library-page .chip,.library-page input,.library-page select,.library-page .song-table-wrapper,.library-page .filters-sidebar,.library-page .collapsible,.library-page .popover,.library-page .kebab__button,.library-page .tab,.library-page .page-header{border-radius:10px}.library-page .table-toolbar .muted{line-height:1.4}@media(max-width:900px){.library-page .lib-layout{grid-template-columns:1fr;gap:12px}}.library-page .saved-views .plain-list li .small{opacity:0;transition:opacity .12s ease}.library-page .saved-views .plain-list li:hover .small,.library-page .saved-views .plain-list li:focus-within .small{opacity:1}.app-nav{padding-top:.4rem;padding-bottom:.4rem}.library-page .filters-sidebar{background:var(--bg);color:var(--light-fg);border:none;padding:.5rem;overflow:visible}.library-page .collapsible__header{scroll-margin-top:12px}.library-page .filters-sidebar .collapsible,.library-page .filters-sidebar .collapsible__header,.library-page .filters-sidebar .collapsible__content,.library-page .filters-sidebar .facet-panel{background:var(--bg);border:none;box-shadow:none}.library-page .filters-sidebar .muted{color:var(--light-fg);opacity:.8}.library-page .filters-sidebar .facet-title,.library-page .filters-sidebar label,.library-page .filters-sidebar strong,.library-page .filters-sidebar .count{color:var(--light-fg)}.library-page .filters-sidebar .collapsible{background:var(--bg);color:var(--input-fg);border:none;overflow:visible}.library-page .filters-sidebar .collapsible__content{overflow:visible}.library-page .filters-sidebar .collapsible__header{background:var(--bg);color:var(--input-fg);border-bottom:2px solid var(--border);border-top-left-radius:10px;border-top-right-radius:10px;position:relative;z-index:1}.library-page .filters-sidebar .collapsible__title{color:var(--light-fg)}.library-page .facet-panel svg,.library-page .facet-panel .icon{color:var(--input-fg)}.library-page .filters-sidebar .collapsible__toggle{color:var(--light-fg)}.library-page .filters-sidebar .collapsible__toggle .chevron{color:var(--light-fg);font-size:1.1rem;line-height:1}.library-page .facet-panel input[type=checkbox],.library-page .facet-panel input[type=radio]{accent-color:var(--light-fg)}.library-page .facet-panel select,.library-page .facet-panel input[type=number]{background:var(--card-bg);color:var(--fg);border:1.5px solid #c4c9d0}.library-page .facet-panel select,.facet-panel select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%23F5E6C8' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:.8rem;padding-right:1.8rem}.library-page .facet-panel select::-ms-expand,.facet-panel select::-ms-expand{display:none}.library-page .facet-panel input[type=number],.library-page .facet-panel select{max-width:100%;box-sizing:border-box}.library-page .facet-panel .facet-range .inputs input[type=number]{width:100%;flex:1 1 0;min-width:0}.library-page .facet-panel .facet-range .inputs.narrow input[type=number]{width:auto;flex:1 1 0;min-width:0}.library-page .facet-panel,.library-page .facet-panel .facet-list label,.library-page .facet-panel .count,.library-page .facet-panel .facet-list .muted,.library-page .facet-panel .muted,.library-page .facet-panel .hint{color:var(--input-fg)}.library-page .facet-panel .facet-title{color:var(--light-fg);font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:.5rem}.library-page .filters-sidebar .facet-panel .facet-header .loading{color:var(--light-fg)!important}.library-page .facet-panel .mini-field{display:flex;flex-direction:column;gap:2px}.library-page .facet-panel .mini-label{font-size:.7rem;line-height:1;color:var(--input-fg);opacity:.95}.library-page .filters-sidebar .muted,.library-page .filters-sidebar .facet-list .muted{color:var(--light-fg);opacity:.9}.library-page .main-card{background:var(--card-bg);border-radius:12px;border:1px solid var(--border);padding:2.5rem;box-shadow:0 2px 8px #1e293b14}.library-page .table-toolbar .search-input{background:var(--input-bg);color:var(--input-fg);border:none;border-radius:10px;height:var(--lib-toolbar-control-h);box-sizing:border-box;padding:0 .75rem}.library-page .table-toolbar .search-input::-moz-placeholder{color:var(--input-fg)}.library-page .table-toolbar .search-input::placeholder{color:var(--input-fg)}.library-page .table-toolbar .pager{background:var(--input-bg);color:var(--input-fg);border:1px solid var(--border)}.library-page .table-toolbar .pager:hover{background:color-mix(in srgb,var(--fg) 4%,var(--bg));color:var(--input-fg)}.library-page .table-toolbar .pager:disabled{opacity:.5;cursor:not-allowed}.library-page .table-toolbar select[aria-label="Page size"]{background:var(--input-bg);color:var(--input-fg);border:1px solid var(--border)}.library-page .table-toolbar select[aria-label="Page size"]:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:10px}.library-page .table-toolbar select[aria-label="Page size"] option{background:var(--card-bg);color:var(--fg)}.library-page .sort-trigger{background:var(--input-bg);color:var(--input-fg);border:none;border-radius:10px;height:var(--lib-toolbar-control-h);box-sizing:border-box;padding:0 .75rem;line-height:1}.library-page .song-table-wrapper{background:var(--card-bg);border:1px solid var(--border);color:var(--fg)}.library-page .song-table thead th{background:color-mix(in srgb,var(--fg) 6%,var(--bg));color:var(--light-fg);border-bottom:1px solid var(--border)}.library-page .song-table tbody td{color:var(--fg);border-bottom:1px solid var(--border)}.library-page .song-table tbody tr:nth-child(odd),.library-page .song-table tbody tr:nth-child(2n){background:transparent}.library-page .song-table tbody tr:hover{background:transparent}.library-page .song-table tbody tr:not(.group-row) td{background:transparent}.library-page .song-table tbody tr.selected{background:color-mix(in srgb,var(--fg) 4%,var(--bg))}.library-page .song-table .title-link{color:var(--fg);font-weight:400}.library-page .song-table tbody tr:not(.group-row) .title-link{font-weight:700}.library-page .empty-state .empty-primary{color:var(--fg);font-weight:700}input[type=search]::-ms-clear,input[type=search]::-ms-reveal{display:none;width:0;height:0}.chip{display:inline-flex;align-items:center;gap:6px;padding:.2rem .5rem;font-size:.9em;border-radius:999px;background:color-mix(in srgb,var(--fg) 6%,var(--bg));color:var(--fg);border:1px solid var(--border)}.chip.muted{color:var(--muted-fg)}.library-page .chip{background:var(--fg);color:var(--light-fg);border-color:transparent}button.ghost{background:transparent;color:var(--fg);border:none;padding:.25rem}button.ghost:hover{background:color-mix(in srgb,var(--fg) 6%,var(--bg))}button.ghost:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:8px}.popover{background:var(--card-bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 .625rem 1.875rem #00000026;padding:.25rem;z-index:1000}.popover__header{display:flex;gap:12px;padding:8px 8px 12px;border-bottom:1px solid var(--border)}.popover__list{display:grid;gap:4px;padding-top:8px}.popover__item{padding:6px 8px;border-radius:6px;background:transparent;color:var(--fg);border:none;text-align:left}.popover__item:hover,.popover__link:hover{background:color-mix(in srgb,var(--fg) 6%,var(--bg))}.popover__link{display:block;padding:6px 8px;border-radius:6px;color:var(--fg);text-decoration:none}.user-menu-dropdown{animation:fadeInScale .15s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:translate(-100%) scale(.95)}to{opacity:1;transform:translate(-100%) scale(1)}}.user-menu-item:hover{background:var(--accent-muted)!important}.user-menu-item.logout:hover{background:#dc26261a!important}.plain-list{list-style:none;padding:0;margin:0}.saved-views{min-width:15rem}.saved-views__header{display:flex;align-items:center;justify-content:space-between;gap:8px}.saved-views input[type=search]{margin:8px 0}.saved-views .plain-list li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 0}.saved-views .actions{display:inline-flex;gap:4px}.facet-title{font-weight:600;margin-bottom:4px}.facet-panel .tags-mode{display:flex;gap:8px;margin-bottom:6px}.facet-panel .facet-range .inputs{display:flex;gap:8px}.facet-panel .facet-range .hint{margin-top:4px;color:var(--input-fg)}.tabs{margin-bottom:12px}.debug-borders.page-container{outline:2px dashed rgba(128,128,128,.8);outline-offset:-2px}.debug-borders .app-nav{outline:2px dashed rgba(255,64,64,.85);outline-offset:-2px}.debug-borders .page-header{outline:2px dashed rgba(64,128,255,.85);outline-offset:-2px}.debug-borders .main-card{outline:2px dashed rgba(64,200,120,.85);outline-offset:-2px}.debug-borders .card{outline:2px dashed rgba(200,64,200,.85);outline-offset:-2px}.debug-borders .section-header{outline:2px dashed rgba(180,120,40,.85);outline-offset:-2px}.debug-borders .lib-layout{outline:2px dashed rgba(255,200,64,.9);outline-offset:-2px}.debug-borders .filters-sidebar{outline:2px dashed rgba(180,64,255,.85);outline-offset:-2px}.debug-borders .song-table-wrapper{outline:2px dashed rgba(64,224,208,.9);outline-offset:-2px}.debug-borders .table-toolbar{outline:2px dashed rgba(224,128,64,.85);outline-offset:-2px}.debug-borders.page-container{background-image:linear-gradient(transparent 31px,#0000000f 32px),linear-gradient(90deg,transparent 31px,rgba(0,0,0,.06) 32px);background-size:32px 32px}.facet-header .loading{margin-left:8px;color:var(--muted-fg);font-size:.9em}.facet-panel .facets-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.facet-footer{margin-top:12px;display:flex;gap:8px}.saved-views .facet-title{margin-top:8px}button.linklike{background:transparent;border:none;color:var(--accent);padding:0;font:inherit;text-decoration:none;cursor:pointer}button.linklike:hover{text-decoration:underline}button.linklike:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:2px}.meta-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tag-chips{display:inline-flex;gap:4px}.row-actions{display:flex;align-items:center;gap:8px}.text-sm{font-size:.9rem}.flex-right{display:flex;align-items:center;gap:8px;justify-content:flex-end}.h-group.wrap{flex-wrap:wrap}.v-stack{display:flex;flex-direction:column;gap:8px}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}.mt-4{margin-top:4px}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.centered-narrow{max-width:600px;margin:0 auto}.modal.edit-setlist-modal{max-width:900px;width:min(900px,95%);max-height:90vh;padding:0;display:flex;flex-direction:column;background:var(--card-bg);border-radius:12px;overflow:hidden}.modal.edit-setlist-modal .modal-header{background:var(--accent);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.modal.edit-setlist-modal .header-title-area{display:flex;flex-direction:column}.modal.edit-setlist-modal .modal-header strong{font-size:1.125rem;font-weight:600;letter-spacing:.01em;color:#fff}.modal.edit-setlist-modal .modal-subtitle{font-size:.8125rem;color:#fffc;margin-top:.125rem;font-weight:500}.modal.edit-setlist-modal .close-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;padding:0}.modal.edit-setlist-modal .close-button:hover{background-color:#fff3}.modal.edit-setlist-modal .modal-content{flex:1;overflow-y:auto;background:var(--bg)}.modal.edit-setlist-modal .modal-form{background:var(--card-bg);border-radius:12px;padding:1.5rem;margin:.75rem;box-shadow:0 2px 8px #1e293b14}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.toolbar-left,.toolbar-right{display:flex;gap:.5rem}.btn-icon{height:40px;padding:0 1rem;background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s ease;font-family:inherit}.btn-icon:hover{background:var(--bg);border-color:var(--accent)}.btn-delete{color:var(--light-fg);border-color:var(--border)}.btn-delete:hover{background:#fef2f2;border-color:#fecaca;color:var(--danger)}.btn-save{background:var(--accent);color:#fff;border:none}.btn-save:hover{background:#1e40af;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #1e3a8a33}.song-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.song-table thead tr{border-bottom:2px solid var(--border)}.song-table th{text-align:left;padding:.75rem 1rem .75rem 0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--light-fg)}.song-table th.col-drag{width:40px;padding-right:.5rem}.song-table th.col-number{width:60px}.song-table th.col-duration{width:100px}.song-table th.col-actions{width:80px;text-align:right}.song-table tbody tr{border-bottom:1px solid var(--border);transition:all .2s ease}.song-table tbody tr.can-drag{cursor:move}.song-table tbody tr:hover{background:var(--bg)}.song-table tbody tr.dragging{opacity:.5;background:var(--accent);color:#fff}.song-table tbody tr.dragging .song-title,.song-table tbody tr.dragging .song-artist,.song-table tbody tr.dragging .song-duration,.song-table tbody tr.dragging .song-number,.song-table tbody tr.dragging .drag-handle{color:#fff}.song-table td{padding:1rem 1rem 1rem 0;font-size:.9375rem;color:var(--fg)}.drag-handle{color:var(--muted-fg);cursor:grab;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .2s ease}.drag-handle:hover{color:var(--accent)}.drag-handle:active{cursor:grabbing}.song-number{color:var(--light-fg);font-weight:600;font-variant-numeric:tabular-nums}.song-title{font-weight:700;color:var(--fg)}.song-artist{color:var(--light-fg);font-size:.875rem;margin-top:.125rem}.song-duration{color:var(--light-fg);font-variant-numeric:tabular-nums}.song-actions{text-align:right}.btn-remove{height:32px;padding:0 .75rem;background:transparent;color:var(--light-fg);border:1px solid transparent;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-remove:hover{background:#ffe6e6;border-color:#d4183d;color:#d4183d}.search-section{margin-bottom:1.5rem}.search-input-wrapper{position:relative}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--muted-fg);pointer-events:none}.search-input{width:100%;height:40px;padding:0 1rem 0 2.75rem;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--input-fg);font-size:.9375rem;transition:all .2s ease;font-family:inherit}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #7599af1a}.search-input::-moz-placeholder{color:var(--muted-fg)}.search-input::placeholder{color:var(--muted-fg)}.add-songs-modal{max-width:900px;width:min(900px,95%);padding:0;display:flex;flex-direction:column;background:var(--card-bg);border-radius:12px;overflow:hidden}.add-songs-modal .modal-header{background:var(--accent);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.add-songs-modal .header-title-area{display:flex;flex-direction:column}.add-songs-modal .modal-header strong{font-size:1.125rem;font-weight:600;letter-spacing:.01em;color:#fff}.add-songs-modal .modal-subtitle{font-size:.8125rem;color:#fffc;margin-top:.125rem;font-weight:500}.add-songs-modal .close-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;padding:0}.add-songs-modal .close-button:hover{background-color:#fff3}.add-songs-modal .modal-content{flex:1;overflow-y:auto;background:var(--bg)}.add-songs-modal .modal-form{background:var(--card-bg);border-radius:12px;padding:1.5rem;margin:.75rem;box-shadow:0 2px 8px #1e293b14}.add-songs-modal .search-input{width:100%;height:40px;padding:0 1rem;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--input-fg);font-size:.9375rem;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.add-songs-modal .search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1e3a8a1a}.selection-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.selection-table thead tr{border-bottom:2px solid var(--border)}.selection-table th{text-align:left;padding:.5rem 1rem .5rem 0;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--light-fg);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.selection-table th.sortable-header:hover{color:var(--accent)}.selection-table th.col-checkbox{width:50px}.selection-table th.col-genre{width:150px}.selection-table th.col-duration{width:100px}.sort-indicator{display:inline-flex;align-items:center;gap:.25rem}.selection-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s ease;cursor:pointer}.selection-table tbody tr:hover{background:var(--bg)}.selection-table tbody tr.selected{background:#7599af14}.selection-table td{padding:.5rem 1rem .5rem 0;font-size:.9375rem;color:var(--fg)}.checkbox-cell{display:flex;align-items:center;justify-content:center}.custom-checkbox{width:20px;height:20px;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;background:var(--input-bg)}.custom-checkbox:hover{border-color:var(--accent)}.custom-checkbox.checked{background:var(--accent);border-color:var(--accent)}.custom-checkbox.checked svg{color:#fff}.genre-badge{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;background:var(--bg);color:var(--fg);border:1px solid var(--border)}.selected-count{font-size:.875rem;color:var(--light-fg);padding:.5rem 0}.selected-count strong{color:var(--accent);font-weight:600}.manage-sharing-modal{max-width:1070px;width:auto;min-width:-moz-min-content;min-width:min-content;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.invite-dialog-modal{width:100%;max-width:540px}.create-setlist-modal{width:100%;max-width:500px;padding:0;display:flex;flex-direction:column;background:var(--card-bg);border-radius:12px;overflow:hidden}.create-setlist-modal .modal-header{background:var(--accent);color:#fff;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center}.create-setlist-modal .header-title-area{display:flex;flex-direction:column}.create-setlist-modal .modal-header strong{font-size:1.125rem;font-weight:600;letter-spacing:.01em;color:#fff}.create-setlist-modal .modal-subtitle{font-size:.8125rem;color:#fffc;margin-top:.125rem;font-weight:500}.create-setlist-modal .close-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;padding:0}.create-setlist-modal .close-button:hover{background-color:#fff3}.create-setlist-modal .modal-content{flex:1;background:var(--bg)}.create-setlist-modal .modal-form{background:var(--card-bg);border-radius:12px;padding:1.5rem;margin:.75rem;box-shadow:0 2px 8px #1e293b14}.setlist-subtitle{font-size:.9375rem;color:var(--light-fg);margin-top:.25rem;font-weight:500}.invite-action-section{display:flex;justify-content:flex-end;margin-bottom:2rem}.sharing-section{margin-bottom:2.5rem}.sharing-section:last-child{margin-bottom:0}.sharing-table{width:100%;border-collapse:collapse}.sharing-table thead tr{border-bottom:1px solid var(--border)}.sharing-table th{text-align:left;padding:.875rem 1rem;font-size:.75rem;font-weight:700;color:var(--light-fg);text-transform:uppercase;letter-spacing:.05em}.sharing-table tbody tr{border-bottom:1px solid var(--border);transition:background .2s ease}.sharing-table tbody tr:last-child td{border-bottom:none}.sharing-table tbody tr:hover{background:var(--bg)}.sharing-table td{padding:1rem;font-size:.9375rem;color:var(--fg)}.user-name{font-weight:600;color:var(--fg);margin-bottom:.25rem}.user-email{color:var(--light-fg)}.date-cell{color:var(--light-fg);font-size:.875rem}.action-cell{text-align:right;width:120px}.role-badge{display:inline-block;padding:.25rem .625rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.role-owner{background:var(--accent);color:var(--accent-contrast);border:none}.role-viewer{background:#f1f5f9;color:var(--fg);border:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.empty-state svg{margin-bottom:1rem}.empty-state p{color:var(--light-fg);font-size:.9375rem}.invite-form-content{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem}.form-input{width:100%;height:40px;padding:0 1rem;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--input-fg);font-size:.9375rem;font-family:inherit;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1e3a8a1a}.form-input:hover:not(:focus){border-color:#cbd5e1}.form-input::-moz-placeholder{color:var(--muted-fg)}.form-input::placeholder{color:var(--muted-fg)}.form-hint{margin-top:.375rem;font-size:.875rem;color:var(--light-fg);line-height:1.5}.success-message{display:flex;align-items:flex-start;padding:1rem;background:var(--accent-muted);border:1px solid rgba(30,58,138,.2);border-radius:10px;margin-bottom:1.5rem}.success-message strong{display:block;color:var(--accent);font-weight:600;margin-bottom:.25rem}.success-message p{color:var(--light-fg);font-size:.875rem;margin:0}.copy-link-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.copy-link-section .facet-title{margin-bottom:.75rem}.copy-link-group{display:flex;gap:.5rem}.copy-input{flex:1}.copy-button{white-space:nowrap;display:flex;align-items:center}.btn-ghost-small{height:32px;padding:0 .75rem;background:transparent;color:var(--accent);border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;display:inline-flex;align-items:center;justify-content:center}.btn-ghost-small:hover{background:#1e3a8a14}.btn-primary{height:40px;padding:0 1.25rem;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.btn-primary:hover{background:#1e40af}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{height:40px;padding:0 1.25rem;background:transparent;color:var(--fg);border:1px solid var(--border);border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.btn-secondary:hover{background:var(--bg);border-color:var(--accent)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.sharing-table th,.sharing-table td{padding-right:.5rem;font-size:.875rem}.copy-link-group{flex-direction:column}.copy-button{width:100%;justify-content:center}}.admin-page.page-container{padding-top:1rem}.admin-section{display:flex;flex-direction:column;gap:1rem}.tab-navigation{display:flex;gap:.5rem}.admin-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.search-form{display:flex;gap:.75rem;flex:1}.filter-select{height:40px;padding:0 2.5rem 0 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;font-size:.9375rem;color:var(--fg);cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #1e3a8a1a}.user-link{font-weight:600;color:var(--fg);text-decoration:none;cursor:pointer;transition:all .2s ease}.user-link:hover{color:var(--accent);text-decoration:underline}.email-text,.date-text{color:var(--light-fg);font-size:.875rem}.invited-by{color:var(--light-fg)}.invited-by strong{color:var(--fg);font-weight:600}.badge-active,.badge-redeemed{background:var(--accent);color:var(--accent-contrast)}.badge-suspended,.badge-revoked{background:#f1f5f9;color:var(--fg)}.badge-pending{background:var(--border);color:var(--fg)}.action-buttons{display:flex;gap:.5rem;justify-content:flex-end}.action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:transparent;cursor:pointer;transition:all .2s ease;color:var(--light-fg)}.action-btn.btn-verify{color:var(--success)}.action-btn.btn-verify:hover{background:#10b9811a;border-color:var(--success)}.action-btn.btn-suspend:hover{background:#1e3a8a14;color:var(--accent);border-color:var(--accent)}.action-btn.btn-delete{color:var(--danger)}.action-btn.btn-delete:hover{background:#ef44441a;border-color:var(--danger)}.pagination-toolbar{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.pagination-summary{color:var(--light-fg);font-size:.875rem;font-weight:600}.pagination-controls{display:flex;gap:.5rem;align-items:center}.page-info{color:var(--fg);font-size:.875rem;font-weight:600;padding:0 .75rem}.page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .75rem;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;font-weight:600;color:var(--fg);cursor:pointer;transition:all .2s ease}.page-btn:hover:not(:disabled){background:#1e3a8a14;border-color:var(--accent);color:var(--accent)}.page-btn:disabled{opacity:.4;cursor:not-allowed}.admin-info-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.info-row{display:flex;flex-direction:column;gap:.25rem}:root{--hc-bg: var(--bg);--hc-primary: var(--accent);--hc-primary-dark: color-mix(in srgb, var(--accent) 80%, black);--hc-text-primary: var(--fg);--hc-text-secondary: var(--light-fg);--hc-text-muted: var(--muted-fg);--hc-border: var(--border);--hc-hover-bg: color-mix(in srgb, var(--fg) 4%, var(--bg));--hc-danger: var(--danger);--hc-overlay: rgba(45, 36, 32, .6);--hc-glow: color-mix(in srgb, var(--accent) 10%, transparent)}.login-modal-overlay{position:fixed;inset:0;background-color:var(--hc-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;animation:fadeIn .2s ease forwards}.login-modal{width:100%;max-width:420px;background-color:var(--hc-bg);border-radius:12px;box-shadow:0 20px 60px #0003;padding:2.5rem;position:relative;display:flex;flex-direction:column;transform:translateY(20px);opacity:0;animation:slideUp .3s ease forwards}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:480px){.login-modal{padding:2rem;max-width:none}}.login-close-button{position:absolute;top:1.25rem;right:1.25rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--hc-text-secondary);cursor:pointer;transition:all .2s ease;z-index:10}.login-close-button:hover{background-color:var(--hc-border);color:var(--hc-text-primary)}.login-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2rem}.login-brand{display:flex;align-items:center;gap:.625rem;margin-bottom:1.5rem}.login-logo-icon{width:44px;height:44px;background-color:var(--hc-primary);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem}@media(max-width:480px){.login-logo-icon{font-size:1rem;width:40px;height:40px}}.login-brand-name{font-size:1.5rem;font-weight:700;color:var(--hc-text-primary);letter-spacing:-.01em}@media(max-width:480px){.login-brand-name{font-size:1.25rem}}.login-title{font-size:1.75rem;font-weight:700;color:var(--hc-text-primary);letter-spacing:-.01em;margin-bottom:.5rem;line-height:1.1}@media(max-width:480px){.login-title{font-size:1.5rem}}.login-subtitle{font-size:.95rem;color:var(--hc-text-secondary);line-height:1.5;margin:0}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field{display:flex;flex-direction:column;gap:.5rem}.login-label{font-size:.875rem;font-weight:600;color:var(--hc-text-primary);text-align:left}.login-input{width:100%;padding:.75rem 1rem;background-color:#fff;border:2px solid var(--hc-border);border-radius:8px;font-size:.95rem;color:var(--hc-text-primary);transition:all .2s ease;box-sizing:border-box}.login-input::-moz-placeholder{color:var(--hc-text-muted)}.login-input::placeholder{color:var(--hc-text-muted)}.login-input:focus{outline:none;border-color:var(--hc-primary);box-shadow:0 0 0 3px var(--hc-glow)}.login-submit-btn{width:100%;padding:.875rem 1.5rem;background-color:var(--hc-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;margin-top:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.login-submit-btn:hover:not(:disabled){background-color:var(--hc-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4a5f7a4d}.login-submit-btn:active:not(:disabled){transform:translateY(0)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.75rem 0}.login-divider-line{height:1px;flex:1;background-color:var(--hc-border)}.login-divider-text{font-size:.875rem;color:var(--hc-text-muted);text-transform:uppercase;letter-spacing:.05em}.login-google-btn{width:100%;padding:.875rem 1.5rem;background-color:#fff;border:2px solid var(--hc-border);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.95rem;font-weight:600;color:var(--hc-text-primary);cursor:pointer;transition:all .2s ease;box-sizing:border-box}.login-google-btn:hover:not(:disabled){background-color:var(--hc-hover-bg);border-color:#d4c7ba;transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.login-google-btn:active:not(:disabled){transform:translateY(0)}.login-google-btn:disabled{opacity:.7;cursor:not-allowed}.google-icon{width:20px;height:20px}.login-error{padding:.75rem 1rem;margin-bottom:1.5rem;background-color:#a858411a;border-radius:8px;color:var(--hc-danger);font-size:.875rem;text-align:center}.tags-modal-overlay{position:fixed;inset:0;background-color:var(--hc-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;animation:fadeIn .2s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tags-modal-container{width:100%;max-width:440px;min-height:400px;height:600px;max-height:85vh;background-color:var(--hc-bg);border-radius:12px;box-shadow:0 20px 60px #2d24204d;display:flex;flex-direction:column;overflow:hidden;color:var(--hc-text-primary);transform:translateY(20px);opacity:0;animation:slideUp .3s ease forwards}.tags-content-grid{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:12px;margin:.75rem;overflow:hidden;box-shadow:0 0 0 1px var(--hc-divider)}.tags-modal-header{padding:1rem 1.5rem;background:var(--hc-primary);color:#fff;display:flex;justify-content:space-between;align-items:center}.tags-modal-header .header-title-area{display:flex;flex-direction:column}.tags-modal-header strong{font-size:1.125rem;font-weight:600;letter-spacing:.01em}.tags-modal-subtitle{font-size:.8125rem;color:#fffc;margin-top:.125rem}.tags-close-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.tags-close-button:hover{background-color:#fff3;color:#fff}.tags-controls-bar{padding:1rem 1.5rem;background:var(--accent-muted);border-bottom:1px solid var(--hc-divider);display:flex;gap:1.5rem;align-items:center}.tags-search-wrapper{position:relative;flex:1}.tags-search-input{width:100%;height:38px;padding:0 1rem;background-color:#fff;border:1px solid var(--hc-border);border-radius:8px;font-size:.9375rem;color:var(--hc-text-primary);transition:all .15s ease;box-sizing:border-box}.tags-search-input::-moz-placeholder{color:var(--hc-text-muted);font-weight:400}.tags-search-input::placeholder{color:var(--hc-text-muted);font-weight:400}.tags-search-input:focus{outline:none;border-color:var(--hc-primary);box-shadow:0 0 0 3px var(--hc-glow)}.tags-new-button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1rem;background-color:var(--hc-primary);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.tags-new-button:hover{background-color:color-mix(in srgb,var(--hc-primary) 80%,black);transform:translateY(-1px)}.tags-create-form{padding:1rem 1.5rem;background-color:var(--hc-cream-light);border-bottom:1px solid var(--hc-divider)}.tags-form-input{width:100%;height:38px;padding:0 .875rem;background-color:#fff;border:1px solid var(--hc-border);border-radius:8px;font-size:.9375rem;color:var(--hc-text-primary);margin-bottom:.5rem;box-sizing:border-box}.tags-btn-cancel{padding:.5rem 1rem;background:transparent;color:var(--hc-text-secondary);border:1px solid var(--hc-border);border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.tags-btn-create{padding:.5rem 1rem;background-color:var(--hc-primary);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.tags-modal-list{flex:1;overflow-y:auto;min-height:200px}.tags-modal-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;min-height:44px;border-bottom:1px solid var(--hc-divider);transition:background-color .15s ease}.tags-modal-item:hover{background-color:var(--hc-hover-bg)}.tags-item-name{font-size:.9rem;font-weight:500;color:var(--hc-text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 1.25rem 0 0}@media(max-width:480px){.tags-item-name{padding:0 1rem 0 .75rem}}.tags-item-actions{display:flex;gap:.25rem;opacity:.5;transition:opacity .15s ease;margin-right:1.25rem}.tags-list-item:hover .tags-item-actions{opacity:1}.tags-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--hc-text-secondary);cursor:pointer;transition:all .15s ease}.tags-action-btn:hover{background-color:var(--hc-border);color:var(--hc-text-primary)}.tags-action-btn.delete:hover{background-color:var(--hc-danger);color:#fff}.tags-edit-mode{padding:1rem 1.5rem;background-color:var(--hc-hover-bg);border-bottom:1px solid var(--hc-divider)}.tags-edit-input{width:100%;padding:.625rem .875rem;background-color:#fff;border:1px solid var(--hc-border);border-radius:8px;font-size:.9375rem;margin-bottom:.375rem;box-sizing:border-box}.tags-edit-char-counter{font-size:.75rem;color:var(--hc-text-muted);text-align:right;margin-bottom:.5rem}.tags-edit-actions{display:flex;justify-content:flex-end;gap:.25rem}.tags-save-btn{color:var(--hc-primary);font-weight:700;font-size:1.2rem}.tags-save-btn:hover{background-color:var(--hc-primary);color:#fff}.tags-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.tags-empty-icon{color:var(--hc-text-muted);opacity:.5;margin-bottom:1rem}.tags-empty-message{font-size:.95rem;color:var(--hc-text-secondary);margin-bottom:1.5rem}.tags-modal-footer{padding:1rem 2rem;background-color:var(--hc-cream-light);border-top:2px solid var(--hc-border);border-bottom-left-radius:12px;border-bottom-right-radius:12px;text-align:center}@media(max-width:480px){.tags-modal-footer{padding:.875rem 1.5rem}}.tags-footer-hint{font-size:.8rem;color:var(--hc-text-muted);margin:0}.tags-confirmation-overlay{position:absolute;inset:0;background-color:var(--hc-overlay);display:flex;align-items:center;justify-content:center;padding:2rem;z-index:20}.tags-confirmation-dialog{background-color:#fff;padding:1.5rem;border-radius:8px;max-width:320px;text-align:center;box-shadow:0 4px 6px -1px #0000001a}.tags-confirmation-dialog p{margin:0 0 1.5rem;font-size:.9rem;line-height:1.4;color:var(--hc-text-primary)}.tags-confirmation-actions{display:flex;gap:.75rem;justify-content:center}.tags-btn-danger{padding:.5rem 1rem;background-color:var(--hc-danger);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .15s ease}.tags-btn-danger:hover{background-color:color-mix(in srgb,var(--hc-danger) 80%,black)}:root{--hc-bg: var(--bg);--hc-primary: var(--accent);--hc-text-primary: var(--fg);--hc-text-secondary: var(--light-fg);--hc-text-muted: var(--muted-fg);--hc-border: var(--border);--hc-hover-bg: color-mix(in srgb, var(--fg) 4%, var(--bg));--hc-danger: var(--danger);--hc-overlay: rgba(45, 36, 32, .6);--hc-cream-light: color-mix(in srgb, var(--fg) 2%, var(--bg));--hc-divider: color-mix(in srgb, var(--fg) 8%, var(--bg));--hc-glow: color-mix(in srgb, var(--accent) 10%, transparent)}.manage-genres-overlay{position:fixed;inset:0;background-color:var(--hc-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.manage-genres-modal{width:100%;max-width:440px;min-height:400px;height:600px;max-height:85vh;background-color:var(--hc-bg);border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;display:flex;flex-direction:column;overflow:hidden;color:var(--hc-text-primary);font-family:inherit}.manage-genres-content-grid{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:12px;margin:.75rem;overflow:hidden;box-shadow:0 0 0 1px var(--hc-divider)}.modal-header{padding:1rem 1.5rem;background:var(--hc-primary);color:#fff;display:flex;align-items:center;justify-content:space-between;position:relative}.header-title-area{display:flex;flex-direction:column}.modal-header strong{font-size:1.125rem;font-weight:600;letter-spacing:.01em}.modal-subtitle{font-size:.8125rem;color:#fffc;margin-top:.125rem}.close-button{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;padding:0}.close-button:hover{background-color:#fff3;color:#fff}.controls-bar{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;background:var(--accent-muted);border-bottom:1px solid var(--hc-divider)}.search-input-wrapper{flex:1;position:relative}.search-input{width:100%;height:38px;padding:0 1rem;background-color:#fff;border:1px solid var(--hc-border);border-radius:8px;font-size:.9375rem;color:var(--hc-text-primary);transition:all .15s ease;box-sizing:border-box}.search-input::-moz-placeholder{color:var(--hc-text-muted);font-weight:400}.search-input::placeholder{color:var(--hc-text-muted);font-weight:400}.search-input:focus{outline:none;border-color:var(--hc-primary);box-shadow:0 0 0 3px var(--hc-glow)}.new-button{height:38px;padding:0 1rem;background-color:var(--hc-primary);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .15s ease}.new-button:active{transform:translateY(-1px)}.create-form{background-color:var(--hc-cream-light);padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem;border-bottom:1px solid var(--hc-divider)}.form-input{width:100%;height:38px;padding:0 .875rem;background-color:#fff;border:1px solid var(--hc-border);border-radius:8px;font-size:.9375rem;color:var(--hc-text-primary);box-sizing:border-box}.btn-cancel{padding:.5rem 1rem;background:transparent;border:1px solid var(--hc-border);border-radius:8px;color:var(--hc-text-secondary);font-weight:600;font-size:.875rem;cursor:pointer}.btn-create{padding:.5rem 1rem;background-color:var(--hc-primary);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.875rem;cursor:pointer}.manage-genres-modal-list{flex:1;overflow-y:auto;padding:0;margin:0;list-style:none}.manage-genres-modal-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;border-bottom:1px solid var(--hc-divider);transition:background-color .15s ease}.manage-genres-modal-item:hover{background-color:var(--hc-hover-bg)}.genre-name{font-size:.9rem;font-weight:500;color:var(--hc-text-primary)}.item-actions{display:flex;gap:.5rem;opacity:.5;transition:opacity .15s ease}.genre-item:hover .item-actions{opacity:1}.action-icon{padding:.4rem;background:transparent;border:none;cursor:pointer;color:var(--hc-text-secondary);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.action-icon:hover{background-color:#0000000d}.action-icon.delete:hover{color:var(--hc-danger);background-color:#a858411a}.edit-mode{padding:.5rem 1.5rem;background-color:var(--hc-hover-bg);display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--hc-divider)}.edit-input{flex:1;height:32px;padding:0 .5rem;border:1px solid var(--hc-primary);border-radius:8px;font-size:.9375rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:var(--hc-text-muted);gap:1rem}.empty-state-icon{color:var(--hc-text-muted);opacity:.5}.empty-state p{margin:0;font-size:1rem}.modal-footer{padding:1rem 2rem;background-color:var(--hc-cream-light);border-top:2px solid var(--hc-border);text-align:center}.footer-hint{font-size:.8rem;color:var(--hc-text-muted);margin:0}.confirmation-overlay{position:absolute;inset:0;background-color:var(--hc-overlay);display:flex;align-items:center;justify-content:center;padding:2rem;z-index:10}.confirmation-dialog{background-color:#fff;padding:1.5rem;border-radius:4px;max-width:320px;text-align:center;box-shadow:0 4px 6px -1px #0000001a}.confirmation-dialog p{margin:0 0 1.5rem;font-size:.9rem;line-height:1.4;color:var(--hc-text-primary)}.confirmation-actions{display:flex;gap:.75rem;justify-content:center}.btn-danger{padding:.5rem 1rem;background-color:var(--hc-danger);color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer}
