:root,[data-theme=light]{color-scheme:light;--color-bg: #f4f4f5;--color-surface: #ffffff;--color-surface-muted: #f4f4f5;--color-border: #e4e4e7;--color-border-strong: #d4d4d8;--color-fg: #18181b;--color-fg-muted: #71717a;--color-fg-subtle: #a1a1aa;--color-accent: #18181b;--color-accent-contrast: #ffffff;--color-accent-hover: #27272a;--color-success: #3f7a4e;--color-success-bg: #ecf5ef;--color-danger: #b42318;--color-danger-bg: #fef3f2;--color-warning: #a15c07;--color-warning-bg: #fffaeb;--color-info: #475569;--color-info-bg: #f1f5f9;--color-header: #18181b;--color-shadow: rgba(24, 24, 27, .08);--color-shadow-strong: rgba(24, 24, 27, .14);--color-focus-ring: rgba(24, 24, 27, .16);--color-overlay: rgba(24, 24, 27, .45);--mobile-max: 767px;--tablet-min: 768px;--tablet-max: 1023px;--desktop-min: 1024px;--touch-target-min: 40px;--touch-target-tablet: 36px;--touch-target-desktop: 36px;--btn-height: 32px;--btn-height-mobile: 40px;--btn-padding-x: 12px;--btn-padding-y: 5px;--btn-padding-x-sm: 8px;--btn-padding-y-sm: 3px;--btn-font-size: 13px;--btn-font-size-sm: 12px;--portal-pad-mobile: 12px;--portal-pad-tablet: 16px;--portal-pad-desktop: 20px;--fixed-header-height: 60px;--fixed-header-offset: 72px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--shadow-sm: 0 1px 2px var(--color-shadow);--shadow-md: 0 4px 16px var(--color-shadow);--shadow-lg: 0 12px 32px var(--color-shadow-strong)}body{margin:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-fg)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-surface-muted)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.form-panel,.edit-form{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);border:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);max-width:600px;margin:var(--spacing-md) auto;color:var(--color-fg)}.form-group{display:flex;flex-direction:column;margin-bottom:var(--spacing-md)}.form-group label{font-weight:600;color:var(--color-fg);margin-bottom:var(--spacing-xs);font-size:var(--font-size-sm)}.form-group input,.form-group textarea,.form-group select{padding:8px 10px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-family:inherit;background:var(--color-surface);color:var(--color-fg);transition:border .2s,box-shadow .2s;min-height:var(--btn-height)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-accent);outline:none;background:var(--color-surface);box-shadow:0 0 0 2px var(--color-focus-ring)}.form-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md);justify-content:center}.owner-typeahead-current{list-style:none;margin:0 0 var(--spacing-sm);padding:0}.owner-typeahead-current-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.owner-typeahead-role{font-size:var(--font-size-xs);color:var(--color-fg-muted);font-weight:600}.owner-typeahead-results{list-style:none;margin:var(--spacing-xs) 0 0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:200px;overflow-y:auto;background:var(--color-surface)}.owner-typeahead-results li{margin:0}.owner-typeahead-pick{display:block;width:100%;text-align:left;background:transparent;border:0;padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-fg);cursor:pointer;font:inherit}.owner-typeahead-pick:hover,.owner-typeahead-pick:focus{background:var(--color-surface-muted);outline:none}.section-header{margin-bottom:var(--spacing-md);margin-top:0;padding:0;text-align:center}.section-header h2{font-size:var(--font-size-xl);font-weight:700;color:var(--color-fg);margin-bottom:var(--spacing-sm)}.section-header p{color:var(--color-fg-muted);font-size:var(--font-size-sm)}.portal-header{display:flex;align-items:center;justify-content:flex-start;background:none;background-color:transparent;padding:var(--spacing-sm) var(--spacing-md);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:none;margin-bottom:0}.portal-header.compact-header{padding:var(--spacing-xs) var(--spacing-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--btn-padding-y) var(--btn-padding-x);min-height:var(--btn-height);border-radius:var(--radius-sm);font-size:var(--btn-font-size);font-weight:600;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s,border-color .2s;background:var(--color-surface-muted);color:var(--color-fg);margin:0;box-sizing:border-box}.btn-primary{background:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-accent-contrast)}.btn-secondary{background:var(--color-surface);color:var(--color-fg);border-color:var(--color-border-strong)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-fg)}.btn-outline,.btn-outline.btn-secondary{background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border-strong)}.btn-outline:hover:not(:disabled),.btn-outline.btn-secondary:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-fg)}.btn-success{background:var(--color-success);color:var(--color-accent-contrast);border-color:var(--color-success)}.btn-danger{background:var(--color-danger);color:var(--color-accent-contrast);border-color:var(--color-danger)}.btn-info{background:var(--color-info);color:var(--color-accent-contrast);border-color:var(--color-info)}.btn-sm{font-size:var(--btn-font-size-sm);padding:var(--btn-padding-y-sm) var(--btn-padding-x-sm);min-height:28px}.btn:hover:not(:disabled){box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:767px){.btn{min-height:var(--btn-height-mobile)}.btn-sm{min-height:32px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.modal{background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-md) var(--spacing-lg);max-width:520px;width:min(100% - 24px,520px);max-height:90vh;overflow-y:auto}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;margin:var(--spacing-md) 0;font-size:var(--font-size-sm);border:1px solid var(--color-border)}.table th,.table td{padding:6px 10px;border-bottom:1px solid var(--color-border);text-align:left}.table th{background:var(--color-surface-muted);color:var(--color-fg);font-weight:700;font-size:var(--font-size-sm)}.table tr:last-child td{border-bottom:none}.table-row:hover{background:var(--color-surface-muted)}.table-actions{display:flex;gap:10px}.songs-table-container{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-md) var(--spacing-lg);margin:var(--spacing-md) auto;color:var(--color-fg);border:1px solid var(--color-border);overflow-x:auto;-webkit-overflow-scrolling:touch}.form-panel.compact{padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) auto}.section-header.compact{margin-bottom:var(--spacing-sm)}.section-header.compact h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.form-actions.compact{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm);gap:var(--spacing-sm)}.songs-table-container.compact{padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-sm) auto}.filter-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end;margin-top:var(--spacing-sm)}.filter-field{display:flex;flex-direction:column;flex:1;min-width:0}.filter-field label{font-weight:600;color:var(--color-fg);margin-bottom:4px;font-size:.95rem}.filter-field input,.filter-field select{padding:8px 10px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:.95rem;font-family:inherit;background:var(--color-surface);color:var(--color-fg);transition:border .2s,box-shadow .2s}.filter-field input:focus,.filter-field select:focus{border-color:var(--color-accent);outline:none;background:var(--color-surface);box-shadow:0 0 0 2px var(--color-focus-ring)}.songs-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-sm);overflow:hidden;margin:var(--spacing-md) 0;font-size:var(--font-size-sm);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.songs-table thead{background:var(--color-surface-muted)}.songs-table th{background:var(--color-surface-muted);color:var(--color-fg);font-weight:700;font-size:var(--font-size-sm);padding:6px 8px;text-align:left;border-bottom:2px solid var(--color-border)}.songs-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.songs-table th.sortable:hover{background:var(--color-border)}.songs-table th.sortable .sort-indicator{margin-left:4px;font-size:.85em;color:var(--color-fg-muted)}.songs-table td{padding:6px 8px;border-bottom:1px solid var(--color-border);text-align:left}.bid-management-table th,.bid-management-table td,.admin-portal .bid-management-table th,.admin-portal .bid-management-table td,.admin-portal .songs-table-container .bid-management-table th,.admin-portal .songs-table-container .bid-management-table td{padding:4px 8px!important}.bid-management-stats-table th,.bid-management-stats-table td,.admin-portal .bid-management-stats-table th,.admin-portal .bid-management-stats-table td,.admin-portal .songs-table-container .bid-management-stats-table th,.admin-portal .songs-table-container .bid-management-stats-table td{padding:6px 8px!important}.songs-table tbody tr:hover{background:var(--color-surface-muted)}.songs-table tbody tr:last-child td{border-bottom:none}.social-media-links-table-container{width:100%;max-width:100%;min-width:0;margin-top:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow-x:auto;-webkit-overflow-scrolling:touch}.social-media-links-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;font-size:var(--font-size-sm)}.social-media-links-table th,.social-media-links-table td{padding:6px 8px;border-bottom:1px solid var(--color-border);vertical-align:middle}.social-media-links-table thead th{background:var(--color-surface-muted);color:var(--color-fg);font-weight:600;text-align:left}.social-media-links-table tbody tr:last-child td{border-bottom:none}.social-media-links-table__actions{width:2.75rem;text-align:center}.social-media-links-table__platform{width:2.5rem;text-align:center}.social-media-links-table__platform .social-media-icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center}.social-media-links-table__url{min-width:0}.social-media-links-table .social-media-link-table{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-accent);font-weight:500;text-decoration:none}.social-media-links-table .social-media-link-table:hover{color:var(--color-accent-hover);text-decoration:underline}@media(max-width:767px){.social-media-links-table th,.social-media-links-table td{padding:6px 4px}.social-media-links-table__actions{width:2.5rem}.social-media-links-table__platform{width:2rem}.social-media-links-table__platform .social-media-icon{width:16px;height:16px}}.song-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center}.song-actions .btn{margin:0}.list{list-style:none;padding:0;margin:0 0 var(--spacing-md) 0}.list-item{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.list-item:last-child{border-bottom:none}.list-header{font-weight:700;color:var(--color-fg);font-size:var(--font-size-base);margin-bottom:var(--spacing-sm)}.portal-header-brand{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.portal-header-brand svg{margin-right:6px;flex-shrink:0}.admin-portal,.customer-portal,.end-user-portal{min-height:100vh;background:var(--color-bg);color:var(--color-fg);padding:var(--portal-pad-mobile)}.admin-portal .portal-container,.customer-portal .portal-container,.end-user-portal .portal-container{max-width:1200px;margin:0 auto;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);padding:var(--portal-pad-mobile);box-sizing:border-box}.App .container:has(.customer-portal),.App .container:has(.admin-portal),.App .container:has(.end-user-portal){background:transparent;border:none;box-shadow:none;padding:0;max-width:none;width:100%;border-radius:0}@media(min-width:768px){.admin-portal,.customer-portal,.end-user-portal,.admin-portal .portal-container,.customer-portal .portal-container,.end-user-portal .portal-container{padding:var(--portal-pad-tablet)}}@media(min-width:1024px){.admin-portal,.customer-portal,.end-user-portal,.admin-portal .portal-container,.customer-portal .portal-container,.end-user-portal .portal-container{padding:var(--portal-pad-desktop)}}.band-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);color:var(--color-fg);box-shadow:var(--shadow-sm);box-sizing:border-box}.band-card--workspace{width:100%;max-width:100%}.band-card--followed,.band-card.followed{background:var(--color-surface-muted)}.edit-route-header,.fixed-page-header{position:fixed;top:0;left:0;right:0;width:100%;max-width:100%;z-index:100;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);min-height:var(--fixed-header-height);height:auto;box-sizing:border-box}.fixed-page-header h2{color:var(--color-fg);margin:0;font-weight:700;font-size:var(--font-size-lg);text-align:center}.fixed-page-header-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-sm)}.fixed-page-header-actions .btn{min-width:72px}.edit-page-shell{background:var(--color-bg);min-height:100vh;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.edit-page-body{margin-top:var(--fixed-header-offset);width:100%;display:flex;justify-content:center;padding:0 var(--spacing-md) var(--spacing-lg);box-sizing:border-box}.form-panel.edit-band-panel{max-width:600px;width:100%;margin:0 auto;min-width:0;box-sizing:border-box}.form-panel.edit-band-panel--wide{max-width:800px}@media(max-width:767px){.fixed-page-header h2{font-size:var(--font-size-base)}.edit-page-body{padding:0 var(--spacing-sm) var(--spacing-md)}.form-panel,.edit-form{padding:var(--spacing-md);margin:var(--spacing-sm) auto}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:var(--spacing-md);color:var(--color-fg)}@media(max-width:767px){.auth-container{padding:var(--spacing-sm);align-items:flex-start;padding-top:var(--spacing-lg)}}@media(min-width:768px)and (max-width:1023px){.auth-container{padding:var(--spacing-md)}}@media(min-width:1024px){.auth-container{padding:var(--spacing-lg)}}.auth-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);width:100%;max-width:450px;padding:var(--spacing-lg)}@media(max-width:767px){.auth-card{max-width:100%;padding:var(--spacing-md);border-radius:var(--radius-lg);margin-top:var(--spacing-sm)}}@media(min-width:768px)and (max-width:1023px){.auth-card{max-width:500px;padding:var(--spacing-lg)}}.auth-header{text-align:center;margin-bottom:var(--spacing-lg)}@media(max-width:767px){.auth-header{margin-bottom:var(--spacing-md)}}.auth-header h1{font-family:var(--font-family)!important;font-weight:700;color:var(--color-fg);margin-bottom:var(--spacing-sm);letter-spacing:.01em;text-shadow:none}@media(max-width:767px){.auth-header h1{font-size:var(--font-size-2xl)}}@media(min-width:768px)and (max-width:1023px){.auth-header h1{font-size:var(--font-size-3xl)}}@media(min-width:1024px){.auth-header h1{font-size:3rem}}.auth-header p{color:var(--color-fg-muted)}@media(max-width:767px){.auth-header p{font-size:var(--font-size-base)}}@media(min-width:768px){.auth-header p{font-size:1.1rem}}.auth-header .neon-text{color:var(--color-fg)!important}.auth-container .auth-logo,.auth-card img.auth-logo,.auth-header img{background:var(--color-surface)!important;border-radius:var(--radius-md)}.auth-form{margin-bottom:var(--spacing-lg)}@media(max-width:767px){.auth-form{margin-bottom:var(--spacing-md)}}.auth-form .form-group{margin-bottom:var(--spacing-md)}@media(max-width:767px){.auth-form .form-group{margin-bottom:var(--spacing-sm)}}@media(max-width:767px){.auth-form .form-group input,.auth-form .form-group select{min-height:var(--touch-target-min);font-size:var(--font-size-base)}.auth-form .form-group label{font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--spacing-sm);display:block}}@media(min-width:768px)and (max-width:1023px){.auth-form .form-group input,.auth-form .form-group select{min-height:var(--touch-target-tablet)}}@media(min-width:1024px){.auth-form .form-group input,.auth-form .form-group select{min-height:var(--touch-target-desktop)}}.auth-button{width:100%;border:1px solid var(--color-accent);border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s;letter-spacing:.02em;padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);min-height:var(--btn-height)}@media(max-width:767px){.auth-button{min-height:var(--btn-height-mobile)}}.auth-button.primary{background:var(--color-accent);color:var(--color-accent-contrast)}.auth-button.primary:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:var(--shadow-md);transform:none}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-divider{text-align:center;margin:var(--spacing-lg) 0;position:relative}@media(max-width:767px){.auth-divider{margin:var(--spacing-md) 0}}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--color-border)}.auth-divider span{background:var(--color-surface);padding:0 var(--spacing-md);color:var(--color-fg-muted);position:relative}@media(max-width:767px){.auth-divider span{font-size:var(--font-size-sm);padding:0 var(--spacing-sm)}}@media(min-width:768px){.auth-divider span{font-size:.9rem}}.oauth-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}@media(max-width:767px){.oauth-buttons{gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}}.oauth-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-fg);font-weight:600;cursor:pointer;transition:border-color .2s,box-shadow .2s;padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);min-height:var(--btn-height)}@media(max-width:767px){.oauth-button{min-height:var(--btn-height-mobile)}}.oauth-button:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:none;border-color:var(--color-fg-muted)}.oauth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.oauth-icon{width:20px;height:20px}.guest-continue{margin-bottom:var(--spacing-sm)}.guest-continue-lead{margin:0 0 var(--spacing-xs);color:var(--color-fg);font-weight:600;text-align:center}.guest-continue-sub{margin:0 0 var(--spacing-sm);color:var(--color-fg-muted);font-size:var(--font-size-sm);text-align:center}.guest-continue-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.guest-continue-form label{font-size:var(--font-size-sm);font-weight:600}.guest-continue-form input{width:100%;min-width:0;box-sizing:border-box}.guest-continue-form .btn{width:100%}.guest-continue .auth-divider{margin:var(--spacing-md) 0 0}.guest-continue-footnote{margin:0;color:var(--color-fg-muted);font-size:var(--font-size-sm);line-height:1.4;text-align:center}@media(max-width:767px){.oauth-icon{width:24px;height:24px}}.auth-fan-hint{margin:0 0 var(--spacing-md);padding:10px 12px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;color:var(--color-fg-muted);font-size:var(--font-size-sm);line-height:1.45;text-align:left}.auth-container--beta{flex-wrap:wrap;align-items:stretch;justify-content:center;gap:var(--spacing-lg);max-width:960px;margin:0 auto}.beta-signup-context{flex:1 1 280px;max-width:420px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-lg)}.beta-signup-context h1{font-size:var(--font-size-xl);color:var(--color-fg);margin:0 0 var(--spacing-sm);letter-spacing:.01em}.beta-signup-context p,.beta-signup-context li{color:var(--color-fg);line-height:1.45;font-size:var(--font-size-base)}.beta-signup-context p{color:var(--color-fg-muted);margin:0 0 var(--spacing-md)}.beta-signup-context ul{margin:0;padding-left:1.2rem}.beta-signup-context li{margin-bottom:var(--spacing-sm)}.auth-container--beta .auth-card{flex:1 1 280px}@media(max-width:767px){.auth-container--beta{align-items:flex-start}.beta-signup-context,.auth-container--beta .auth-card{max-width:100%}}.auth-card-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-fg);margin:0 0 var(--spacing-xs)}.auth-role-hint{font-size:var(--font-size-sm);color:var(--color-fg-muted);margin:0 0 var(--spacing-md)}.auth-footer{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center;margin-top:var(--spacing-md)}.auth-container .toggle-auth{background:none;border:none;color:var(--color-fg);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}@media(max-width:767px){.auth-container .toggle-auth{font-size:var(--font-size-base);padding:var(--spacing-sm);min-height:var(--touch-target-min)}}@media(min-width:768px){.auth-container .toggle-auth{font-size:.9rem;padding:var(--spacing-xs)}}.auth-container .toggle-auth:hover{color:var(--color-fg-muted)}.auth-container .error-message{background:var(--color-danger-bg);color:var(--color-danger);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);border:1px solid var(--color-danger)}@media(max-width:767px){.auth-container input,.auth-container select,.auth-container button,.auth-container .toggle-auth{min-height:var(--touch-target-min)}}@media(min-width:768px)and (max-width:1023px){.auth-container input,.auth-container select,.auth-container button,.auth-container .toggle-auth{min-height:var(--touch-target-tablet)}}@media(min-width:1024px){.auth-container input,.auth-container select,.auth-container button,.auth-container .toggle-auth{min-height:var(--touch-target-desktop)}}.marketing-shell{background:#fafafa;min-height:100vh;padding:0}.marketing-header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e4e4e7}.marketing-header-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 20px}.marketing-header-brand{display:inline-flex;align-items:center;gap:8px;color:#18181b;font-weight:700;font-size:.95rem;text-decoration:none;white-space:nowrap}.marketing-header-logo{display:block;height:32px;width:auto;max-width:78px;object-fit:contain;object-position:center;border-radius:6px;background:#fff}.marketing-header-nav{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;flex:1 1 auto}.marketing-header-link{color:#71717a;font-size:.85rem;font-weight:500;line-height:1.2;padding:6px 10px;text-decoration:none;border-bottom:2px solid transparent}.marketing-header-link:hover,.marketing-header-link.is-active{color:#18181b}.marketing-header-link.is-active{font-weight:600;border-bottom-color:#18181b}.marketing-header-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.marketing-header-actions .btn{text-decoration:none;white-space:nowrap}.marketing-header-request{align-self:center;color:#71717a;font-size:.85rem;font-weight:600;line-height:1.2;padding:6px 4px;text-decoration:none;white-space:nowrap}.marketing-header-request:hover{color:#18181b}.marketing-shell>.auth-container{min-height:0}.hero-explore-links,.marketing-explore-links{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-top:16px}.hero-explore-links a{color:#e4e4e7;font-size:.9rem;text-decoration:underline;text-underline-offset:3px}.hero-explore-links a:hover{color:#fff}.marketing-explore-links a{color:var(--color-accent);font-size:.9rem;background:none;border:none;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.marketing-cta-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:40px}.marketing-page a.btn,.home-hero a.btn,.marketing-callout a.btn,.pricing-card a.btn{text-decoration:none}.marketing-cta-row--stack{flex-direction:column;align-items:stretch;margin-top:20px}.marketing-callout{text-align:center;margin-top:40px;padding:32px 24px;background:#fff;border:1px solid #e4e4e7;border-radius:12px}.marketing-callout h3{margin:0 0 12px;color:#18181b}.marketing-callout p{color:#52525b;max-width:560px;margin:0 auto 24px}.marketing-mobile-warning{max-width:400px;text-align:center}.plan-price-note{font-size:1rem}.hero-section{background:linear-gradient(160deg,#18181b,#3f3f46);color:#fff;padding:60px 20px;text-align:center;margin-bottom:40px;border-radius:12px;box-shadow:0 8px 32px #0000001f}.hero-content{max-width:800px;margin:0 auto}.hero-title{font-size:2.5rem;font-weight:700;margin-bottom:20px;line-height:1.2;color:#fafafa}.hero-title .highlight{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}.hero-subtitle{font-size:1.2rem;margin-bottom:30px;line-height:1.5;color:#e4e4e7;opacity:1}.hero-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin:30px 0;text-align:left}.feature-point{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff1f;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fafafa}.feature-icon{font-size:1.5rem;min-width:30px}.hero-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:40px}.btn-large{padding:15px 30px;font-size:1.1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary.btn-large{background:#18181b;color:#fff;box-shadow:0 4px 12px #18181b40}.btn-primary.btn-large:hover{background:#27272a;transform:translateY(-1px);box-shadow:0 6px 16px #18181b4d}.btn-outline.btn-large{background:transparent;color:#18181b;border:2px solid #18181b}.btn-outline.btn-large:hover{background:#18181b;color:#fff;border-color:#18181b}.hero-section .btn-outline.btn-large{color:#fff;border-color:#fff}.hero-section .btn-outline.btn-large:hover{background:#fff;color:#18181b;border-color:#fff}.hero-section .btn-primary.btn-large{background:#fff;color:#18181b}.hero-section .btn-primary.btn-large:hover{background:#f4f4f5;color:#18181b}.marketing-page{max-width:1200px;margin:0 auto;padding:16px 20px;background:transparent;min-height:100vh}.section-title{font-size:2rem;text-align:center;margin-bottom:15px;color:#333}.section-subtitle{font-size:1rem;text-align:center;margin-bottom:25px;color:#666;max-width:600px;margin-left:auto;margin-right:auto}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin:50px 0}.feature-card{background:#fff;padding:20px;border-radius:12px;border:1px solid #e4e4e7;box-shadow:none;text-align:center;transition:transform .2s ease,border-color .2s ease;overflow:hidden}.feature-card:hover{transform:translateY(-2px);border-color:#a1a1aa}.feature-card-image{position:relative;margin-bottom:15px}.feature-card-image img{display:block;width:100%;height:auto;max-height:320px;margin:0 auto 12px;object-fit:contain;object-position:center;border-radius:8px}.feature-card-icon{font-size:3rem;margin-bottom:20px}.feature-card h3{font-size:1.5rem;margin-bottom:15px;color:#333}.feature-card p{color:#666;line-height:1.6}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;margin:50px 0}.step-card{text-align:center;padding:30px 20px;background:#fff;border-radius:12px;border:1px solid #e4e4e7;box-shadow:none;transition:transform .2s ease,border-color .2s ease}.step-card:hover{transform:translateY(-2px);border-color:#a1a1aa}.step-number{display:inline-block;width:48px;height:48px;background:#18181b;color:#fff;border-radius:50%;font-size:1.25rem;font-weight:700;line-height:48px;margin-bottom:20px}.step-card h3{margin-bottom:15px;color:#333}.step-card p{color:#666;line-height:1.6}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin:50px 0}.pricing-card{background:#fff;border-radius:12px;padding:40px 30px;border:1px solid #e4e4e7;box-shadow:none;text-align:center;position:relative}.pricing-card.featured{border:2px solid #18181b;transform:none}.pricing-card .plan-name{font-size:1.5rem;font-weight:700;margin-bottom:10px;color:#333}.pricing-card .plan-price{font-size:3rem;font-weight:700;color:#18181b;margin-bottom:20px}.pricing-card .plan-features{list-style:none;padding:0;margin-bottom:30px}.pricing-card .plan-features li{padding:8px 0;color:#666}.pricing-card .plan-features li:before{content:"✓";color:#4caf50;font-weight:700;margin-right:10px}.what-is-playthis-link{display:none!important}@media(max-width:768px){.hero-section{display:none}.what-is-playthis-link{display:block!important}.features-grid,.steps-container,.pricing-grid{grid-template-columns:1fr}}.demos-page .demos-title{font-size:2rem;margin-bottom:15px}.demos-page .demos-subtitle{font-size:1rem;margin-bottom:25px}.demos-page .feature-gallery{margin:20px 0 40px}.feature-gallery{margin:40px 0 60px}.gallery-container{position:relative;max-width:1000px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 8px 30px #0000001a;overflow:hidden;display:flex;flex-direction:column}.gallery-image-container{position:relative;display:flex;justify-content:center;align-items:center;height:625px;background:#fff;padding:20px;overflow:hidden;order:5}.gallery-image{max-width:90%;max-height:90%;height:auto;width:auto;object-fit:contain;display:block;border-radius:8px;box-shadow:0 4px 20px #00000026;transform:scale(1);transform-origin:center}@media(max-width:768px){.gallery-container{max-width:100%;margin:0;border-radius:0}.gallery-image-container{padding:0 50px!important;height:400px!important;min-height:400px!important;background:#f8f9fa!important}.gallery-image{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:scale(1)!important;border-radius:0!important}.gallery-nav{width:35px;height:35px;font-size:1rem}.gallery-nav-prev{left:5px}.gallery-nav-next{right:5px}.marketing-page.demos-page{padding:10px 5px}.demos-page .feature-gallery{margin:15px 0 20px}.gallery-indicators{padding:5px 20px}.gallery-indicators-top{padding:5px 20px;border-bottom:none}.gallery-description-top{padding:12px 16px 4px}.gallery-section-tabs{padding:0 8px 6px;gap:0}.gallery-section-tab{font-size:.75rem;padding:6px 8px}.gallery-slide-caption{margin:0 12px 8px;font-size:.85rem;padding:8px 10px}}.gallery-description{padding:30px;text-align:center;background:#fff;border-top:1px solid #eee}.gallery-description-top{border-top:none;border-bottom:none;order:1;padding:20px 24px 8px}.gallery-section-tabs{order:2;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 4px;padding:4px 16px 8px;background:#fff}.gallery-section-tab{border:none;background:transparent;color:#71717a;font-size:.85rem;font-weight:500;line-height:1.2;padding:6px 10px;cursor:pointer;border-bottom:2px solid transparent}.gallery-section-tab.active{color:#18181b;font-weight:600;border-bottom-color:#18181b}.gallery-section-tab:hover{color:#18181b}.gallery-indicators-top{background:#fff;border-bottom:1px solid #eee;order:3}.gallery-description h3{margin:0;font-size:1.5rem;font-weight:600;color:#333}.gallery-description p{font-size:1.1rem;color:#666;line-height:1.6;max-width:600px;margin:0 auto}.gallery-slide-caption{order:4;margin:0 20px 12px;padding:10px 14px;text-align:center;font-size:.95rem;line-height:1.4;color:#fafafa;background:#18181bd1;border-radius:8px}.gallery-next-section-hint{display:block;margin-top:4px;font-size:.8rem;color:#d4d4d8}.gallery-image-hold{position:absolute;z-index:0}.gallery-image-container .gallery-image{position:relative;z-index:1}.gallery-indicators{display:flex;justify-content:center;align-items:center;gap:8px;padding:8px 20px 16px;background:#fff}.gallery-slide-progress{margin-left:4px;font-size:.8rem;color:#71717a;font-variant-numeric:tabular-nums}.gallery-indicator{width:12px;height:12px;border-radius:50%;border:none;background:#ddd;cursor:pointer;transition:all .3s ease}.gallery-indicator.numbered{width:32px;height:32px;border-radius:50%;font-size:.9rem;font-weight:600;color:#666;background:#f0f0f0;border:2px solid #ddd;display:flex;align-items:center;justify-content:center}.gallery-indicator.numbered.active{background:#18181b;color:#fff;border-color:#18181b;transform:scale(1.1)}.gallery-indicator.numbered:hover{background:#3f3f46;color:#fff;border-color:#3f3f46;transform:scale(1.05)}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;width:50px;height:50px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:background .3s ease;z-index:10}.gallery-nav:hover:not(:disabled){background:#000000b3}.gallery-nav:disabled{opacity:.25;cursor:default}.gallery-nav-prev{left:15px}.gallery-nav-next{right:15px}@media(max-width:768px){.gallery-container{max-width:95%;margin:0 auto}.gallery-image-container{height:440px;padding:15px}.gallery-image{transform:scale(.5)}.gallery-description{padding:20px 15px}.gallery-description h3{font-size:1.3rem}.gallery-description p{font-size:1rem}.gallery-indicator.numbered{width:28px;height:28px;font-size:.8rem}.gallery-nav{width:40px;height:40px;font-size:1.2rem}.gallery-nav-prev{left:10px}.gallery-nav-next{right:10px}}.home-hero{background:linear-gradient(160deg,var(--color-fg) 0%,#3f3f46 100%);color:var(--color-accent-contrast);padding:56px 20px 48px;text-align:center}.home-hero-inner{max-width:760px;margin:0 auto}.home-hero h1{margin:0 0 16px;font-size:2.5rem;line-height:1.15;color:#fafafa}.home-hero p{margin:0 auto 28px;max-width:640px;font-size:1.15rem;line-height:1.5;color:#e4e4e7}.home-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.home-hero .btn-primary.btn-large{background:var(--color-surface);color:var(--color-fg)}.home-hero .btn-outline.btn-large{color:var(--color-accent-contrast);border:2px solid var(--color-accent-contrast);background:transparent}.home-hero .btn-outline.btn-large:hover{background:var(--color-surface);color:var(--color-fg)}.home-hero-reducers{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;margin:24px 0 0;padding:0;list-style:none;color:#e4e4e7;font-size:.95rem}.home-hero-reducers li:before{content:"✓ "}.home-page{padding-top:8px}.fan-band-flow{margin:28px 0 8px}.fan-band-flow h2,.home-benefits h2,.home-fan-hint h2,.home-proof h2{text-align:center;color:var(--color-fg);font-size:1.75rem;margin:0 0 8px}.fan-band-flow-support,.fan-band-flow-cause{text-align:center;color:var(--color-fg-muted);max-width:640px;margin:0 auto 20px}.fan-band-flow-board{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch}.fan-band-flow-side{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:16px 16px 8px}.fan-band-flow-side h3{margin:0 0 12px;text-align:center;color:var(--color-fg)}.fan-band-flow-side ol{list-style:none;margin:12px 0 0;padding:0;text-align:center}.fan-band-flow-side li{display:block;margin:0;color:var(--color-fg);font-weight:700;letter-spacing:.02em}.fan-band-flow-side li+li:before{content:"↓";display:block;margin:6px 0;color:var(--color-fg-muted);font-weight:500}.fan-band-flow-side img{display:block;width:min(100%,280px);height:auto;margin:0 auto;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface-muted)}.fan-band-flow-bridge{align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:88px;padding:0 4px}.fan-band-flow-bridge-line{display:none;width:100%;height:2px;background:linear-gradient(90deg,var(--color-border-strong) 0%,var(--color-fg-muted) 55%,var(--color-fg) 100%);border-radius:1px}.fan-band-flow-bridge-label{margin:0;padding:6px 10px;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--color-fg);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;white-space:nowrap}.fan-band-flow-bridge-arrow{display:none;width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid var(--color-fg)}@media(min-width:801px){.fan-band-flow-bridge{flex-direction:row;gap:0;min-width:120px}.fan-band-flow-bridge-line{display:block;flex:1;min-width:24px}.fan-band-flow-bridge-label{flex:0 0 auto;margin:0 -6px;z-index:1}.fan-band-flow-bridge-arrow{display:block;flex:0 0 auto;margin-left:2px}}@media(max-width:800px){.fan-band-flow-bridge:before,.fan-band-flow-bridge:after{content:"";display:block;width:2px;height:14px;background:var(--color-border-strong);border-radius:1px}.fan-band-flow-bridge:after{height:10px;border-left:none;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:9px solid var(--color-fg-muted);background:none}}.home-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.home-benefit{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:16px 18px}.home-benefit h3{margin:0 0 10px;font-size:1.05rem;color:var(--color-fg)}.home-benefit ul{margin:0;padding-left:18px;color:var(--color-fg-muted)}.home-benefit li{margin-bottom:8px;line-height:1.45}.home-benefit strong{color:var(--color-fg)}.home-benefit-more{text-align:center;margin-top:16px}.home-benefit-more a,.home-fan-hint a{color:var(--color-fg);font-weight:600}.home-fan-hint,.home-proof{scroll-margin-top:72px;margin-top:28px;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;text-align:left}.home-fan-hint h2{font-size:1rem;text-align:left;margin:0 0 4px}.home-fan-hint p{margin:0 0 4px;font-size:.95rem}.home-benefit p{margin:0;color:var(--color-fg-muted);line-height:1.45}.home-fan-hint p,.home-proof li{color:var(--color-fg-muted);max-width:640px;margin-left:auto;margin-right:auto}.feature-group{margin:36px 0}.feature-group h2{text-align:center;color:var(--color-fg);font-size:1.5rem;margin-bottom:4px}.feature-group .features-grid{margin-top:16px}.pricing-after{max-width:640px;margin:12px auto 0;text-align:center;color:var(--color-fg-muted)}.pricing-after h2{color:var(--color-fg);font-size:1.35rem}.pricing-single{max-width:460px;margin:28px auto}.marketing-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding:24px 20px 32px}.marketing-footer-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}.marketing-footer-brand{margin:0;font-weight:700;color:var(--color-fg)}.marketing-footer nav{display:flex;flex-wrap:wrap;gap:8px 14px}.marketing-footer nav a{color:var(--color-fg-muted);text-decoration:none;font-size:.9rem}.marketing-footer-actions{display:flex;flex-wrap:wrap;gap:8px}.marketing-footer-actions .btn{text-decoration:none}@media(max-width:800px){.home-hero h1{font-size:1.85rem}.fan-band-flow-board,.home-benefit-grid{grid-template-columns:1fr}}.maintenance-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:var(--spacing-md);font-family:var(--font-family)}.maintenance-content{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--spacing-xl) var(--spacing-lg);text-align:center;max-width:600px;width:100%;box-sizing:border-box;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);animation:fadeInUp .8s ease-out}.maintenance-icon{margin-bottom:var(--spacing-lg);animation:pulse 2s infinite}.maintenance-title{font-size:2.5rem;font-weight:700;color:var(--color-fg);margin-bottom:var(--spacing-lg);text-shadow:0 2px 4px rgba(0,0,0,.3)}.maintenance-message{margin-bottom:var(--spacing-lg)}.maintenance-message p{color:var(--color-fg);font-size:1.1rem;line-height:1.6;margin-bottom:var(--spacing-sm);opacity:.9}.maintenance-actions{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.maintenance-bypass-btn{background:var(--color-accent);color:var(--color-accent-contrast);border:none;padding:var(--btn-padding-y) var(--btn-padding-x);min-height:var(--btn-height);border-radius:var(--radius-md);font-size:var(--btn-font-size);font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s;text-transform:uppercase;letter-spacing:.5px}.maintenance-bypass-btn:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.maintenance-logout-btn{background:var(--color-surface-muted);color:var(--color-fg);border:1px solid var(--color-border-strong);padding:var(--btn-padding-y) var(--btn-padding-x);min-height:var(--btn-height);border-radius:var(--radius-md);font-size:var(--btn-font-size-sm);cursor:pointer;transition:background .2s}.maintenance-logout-btn:hover{background:var(--color-border);color:var(--color-fg)}.maintenance-footer{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.maintenance-footer p{color:var(--color-fg-muted);font-size:.9rem;margin-bottom:var(--spacing-sm)}.maintenance-footer p:last-child{margin-bottom:0;font-weight:500}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@media(max-width:768px){.maintenance-content{padding:var(--spacing-lg) var(--spacing-md)}.maintenance-title{font-size:2rem}.maintenance-message p{font-size:1rem}.maintenance-bypass-btn,.maintenance-logout-btn{min-height:var(--btn-height-mobile)}}.global-header{width:100%;margin:0 auto;padding:0 0 var(--spacing-sm) 0;background:none}.header-row{display:flex;justify-content:center;align-items:center;gap:var(--spacing-md);width:100%;flex-wrap:wrap}.header-row-1{font-size:1.1rem;font-weight:600;color:var(--color-header);margin-bottom:2px}.header-row-2{margin-top:0;gap:24px}.welcome,.user-type{color:var(--color-header);text-shadow:none}.profile-btn,.logout-btn{background:none;border:none;padding:0;border-radius:0;cursor:pointer;display:flex;align-items:center;transition:opacity .2s;box-shadow:none}.profile-btn:hover,.logout-btn:hover{background:transparent;opacity:.7}.profile-icon{font-size:1.5rem;color:var(--color-header)}.logout-btn svg{width:1.5rem;height:1.5rem;color:var(--color-header)}.logout-btn:hover svg{filter:none;opacity:.7}.profile-btn:hover .profile-icon{filter:none;opacity:.7}.user-type{display:inline-block;background:var(--color-surface-muted);color:var(--color-fg);font-weight:600;font-size:.95rem;padding:2px 12px;border-radius:999px;margin-left:10px;border:1px solid var(--color-border);box-shadow:none;letter-spacing:.02em;vertical-align:middle}@media(max-width:767px){.header-row-1,.header-row-2{font-size:1rem;gap:14px}.logout-btn svg{width:26px;height:26px}.user-type{font-size:.9rem;padding:2px 10px;margin-left:7px}}.global-header .logout-btn,.global-header .logout-btn:focus,.global-header .logout-btn:active{background:none!important;border:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;outline:none!important}.global-header .logout-btn svg{width:1.5rem;height:1.5rem;color:var(--color-header);background:none!important;border:none!important;box-shadow:none!important}.global-header .logout-btn:hover svg{filter:none;opacity:.7}.global-header .logout-btn:hover,.global-header .logout-btn:focus{background:none!important;box-shadow:none!important}.global-header .profile-btn,.global-header .profile-btn:focus,.global-header .profile-btn:active{background:none!important;border:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important;outline:none!important}.global-header .profile-icon{font-size:1.5rem;color:var(--color-header);background:none!important;border:none!important;box-shadow:none!important}.global-header .profile-btn:hover .profile-icon{filter:none;opacity:.7}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-family);margin:0;padding:0}.app-header,.portal-header,.section-header{background:none;color:var(--color-fg);padding:var(--spacing-sm) 0;text-align:center;border-radius:0;box-shadow:none}h1,h2,h3,h4,h5{color:var(--color-fg);font-weight:700;letter-spacing:.5px;text-shadow:none}a{color:var(--color-fg);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-accent-hover)}.btn-disabled{background:var(--color-border-strong)!important;color:var(--color-fg-muted)!important;border-color:var(--color-border-strong)!important;cursor:not-allowed!important;opacity:.6}.btn-disabled:hover{background:var(--color-border-strong)!important;color:var(--color-fg-muted)!important;transform:none!important}.error-message{color:var(--color-danger);font-size:.875rem;margin-top:-8px;margin-bottom:8px;font-weight:500}.card,.songs-table-container,.search-results-table-container{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:24px}::-webkit-scrollbar{width:10px;background:var(--color-surface-muted)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--color-fg-muted)}.App{text-align:center;min-height:100vh;background:var(--color-bg);font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-fg)}.App-header{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--spacing-md) 0 0 0;color:var(--color-fg);min-height:100vh;background:none}.container{max-width:1200px;width:100%;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--color-border);padding:0 var(--spacing-md) var(--spacing-md);box-sizing:border-box}@media(max-width:767px){.container{max-width:100%;width:100%;padding:0 var(--spacing-sm) var(--spacing-md);border-radius:0;box-shadow:none;border-left:none;border-right:none}}.header-content{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.header-left{text-align:left}.header-right{display:flex;align-items:center;gap:1rem}.title{font-size:var(--font-size-2xl);font-weight:700;margin:0;color:var(--color-fg);text-shadow:none}.customer-portal .title,.admin-portal .title,.end-user-portal .title{font-size:var(--font-size-xl);line-height:1.2}.subtitle{font-size:1.2rem;margin-bottom:0;color:var(--color-fg-muted);opacity:1;animation:fadeInUp 1s ease-out .3s both}.user-info{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.user-name{font-weight:600;font-size:1rem}.user-role{font-size:.8rem;color:var(--color-fg-muted);background:var(--color-surface-muted);padding:.25rem .5rem;border-radius:10px;border:1px solid var(--color-border)}.logout-btn{background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-fg);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-size:.9rem}.logout-btn:hover{background:var(--color-surface-muted);transform:none}.admin-dashboard,.end-user-dashboard{background:var(--color-surface-muted);border-radius:var(--radius-xl);padding:2rem;margin:2rem 0;border:1px solid var(--color-border);animation:fadeInUp 1s ease-out .6s both}.admin-dashboard h2,.end-user-dashboard h2{margin-bottom:1rem;font-size:2rem;color:var(--color-fg)}.admin-dashboard p,.end-user-dashboard p{margin-bottom:2rem;font-size:1.1rem;color:var(--color-fg-muted)}.admin-features,.user-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.feature-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border);transition:all .2s ease}.feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.feature-card h3{margin-bottom:.5rem;font-size:1.3rem;color:var(--color-fg)}.feature-card p{color:var(--color-fg-muted);font-size:.95rem;margin:0}.portal-content{animation:fadeInUp 1s ease-out .9s both}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.header-left{text-align:center}.header-right{flex-direction:column;gap:.5rem}.user-info{align-items:center}.title{font-size:var(--font-size-xl)}.subtitle{font-size:1rem}.admin-features,.feature-card{grid-template-columns:1fr}}.impersonation-banner{background:var(--color-warning-bg);color:var(--color-warning);padding:12px 0;text-align:center;position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--color-border);animation:slideDown .3s ease-out}.impersonation-banner .container{background:none;border:none;box-shadow:none;padding:0;max-width:1200px;margin:0 auto}.impersonation-content{display:flex;justify-content:space-between;align-items:center;padding:0 24px}.impersonation-info{display:flex;align-items:center;gap:8px;font-size:.95rem}.impersonation-info strong{font-weight:700}.exit-impersonation-btn{background:var(--color-surface);color:var(--color-fg);border:1px solid var(--color-border-strong);padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease;box-shadow:var(--shadow-sm)}.exit-impersonation-btn:hover{background:var(--color-surface-muted);transform:none;box-shadow:var(--shadow-sm)}.impersonating-indicator{color:var(--color-warning);font-weight:700;font-size:.85rem;margin-left:8px;animation:pulse 2s infinite}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@media(max-width:768px){.impersonation-content{flex-direction:column;gap:8px;text-align:center}.impersonation-info{font-size:.85rem}.exit-impersonation-btn{padding:6px 12px;font-size:.8rem}}.neon-text{font-family:var(--font-family)!important;color:var(--color-fg)!important;text-shadow:none!important}.slug-manager,.slug-manager .form-group{margin-bottom:15px}.slug-manager .input-group{display:flex;gap:8px}.slug-manager .form-control{flex:1;margin-bottom:0}.slug-manager .is-invalid{border-color:var(--color-danger)}.slug-manager .alert{padding:10px 15px;border-radius:var(--radius-sm);margin-bottom:15px}.slug-manager .alert-success{background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success)}.slug-manager .alert-danger{background:var(--color-danger-bg);border:1px solid var(--color-danger);color:var(--color-danger)}.slug-manager .slug-preview{margin-top:15px;padding:10px;background:var(--color-surface-muted);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.slug-manager .slug-preview code{background:var(--color-bg);padding:4px 8px;border-radius:4px;color:var(--color-fg)}.slug-upgrade-manager{background:var(--color-surface);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px;border:1px solid var(--color-border)}.slug-upgrade-manager h3{margin-bottom:10px;color:var(--color-fg)}.slug-upgrade-manager .text-muted{color:var(--color-fg-muted);font-size:.9rem;margin-bottom:20px}.stats-panel{background:var(--color-surface-muted);border-radius:var(--radius-md);padding:15px;margin-bottom:20px;border:1px solid var(--color-border)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;margin-bottom:15px}.stat-item{text-align:center;padding:10px;background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.stat-number{font-size:1.5rem;font-weight:700;color:var(--color-fg);margin-bottom:5px}.stat-label{font-size:.8rem;color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.5px}.progress-bar{width:100%;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--color-success);transition:width .3s ease}.upgrade-progress{background:var(--color-surface-muted);border-radius:var(--radius-md);padding:15px;margin-bottom:20px;border:1px solid var(--color-border)}.progress-details{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.9rem;color:var(--color-fg-muted)}.upgrade-results{background:var(--color-surface-muted);border-radius:var(--radius-md);padding:15px;margin-bottom:20px;border:1px solid var(--color-border)}.results-summary{display:flex;flex-direction:column;gap:8px}.result-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--color-border)}.result-item:last-child{border-bottom:none}.result-item.success .result-value{color:var(--color-success);font-weight:700}.result-item.failed .result-value{color:var(--color-danger);font-weight:700}.result-item.total .result-value{color:var(--color-fg);font-weight:700}.info-panel{background:var(--color-surface-muted);border-radius:var(--radius-md);padding:15px;margin-top:20px;border:1px solid var(--color-border)}.info-panel h4{margin-bottom:10px;color:var(--color-fg)}.info-panel ul{margin:0;padding-left:20px;color:var(--color-fg-muted)}.info-panel li{margin-bottom:5px}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.progress-details{flex-direction:column;gap:5px}.slug-manager .input-group{flex-direction:column}.slug-manager .input-group .btn{margin-top:8px}}.venue-suggestions-table{width:100%;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--color-surface);margin-bottom:0;border:1px solid var(--color-border)}.venue-suggestions-table th,.venue-suggestions-table td{border:none}.venue-suggestion-row{transition:background .2s}.venue-suggestion-row:hover,.venue-suggestion-row:focus{background:var(--color-surface-muted)!important;outline:2px solid var(--color-accent)}.venue-suggestions-table th{background:var(--color-surface-muted);color:var(--color-fg);font-weight:700;font-size:1rem}.venue-suggestions-table td{font-size:.97rem;vertical-align:top}.address-suggestions-table{width:100%;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);background:var(--color-surface);margin-bottom:0;border:1px solid var(--color-border)}.address-suggestions-table th,.address-suggestions-table td{border:none}.address-suggestion-row{transition:background .2s}.address-suggestion-row:hover,.address-suggestion-row:focus{background:var(--color-surface-muted)!important;outline:2px solid var(--color-accent)}.address-suggestions-table th{background:var(--color-surface-muted);color:var(--color-fg);font-weight:700;font-size:1rem}.address-suggestions-table td{font-size:.97rem;vertical-align:top}@media(max-width:767px){.end-user-portal{width:100%!important;max-width:100%!important;margin:0!important;padding-left:var(--spacing-xs)!important;padding-right:var(--spacing-xs)!important;box-sizing:border-box!important}.end-user-portal .portal-container{width:100%!important;max-width:100%!important;margin:0!important;padding-left:var(--spacing-sm)!important;padding-right:var(--spacing-sm)!important;box-sizing:border-box!important}}.stripe-account-info{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:15px;margin-top:10px}.stripe-status-connected{color:var(--color-success);font-weight:700;margin-bottom:10px}.stripe-account-details{color:var(--color-fg);font-size:.9rem;line-height:1.4}.stripe-account-details>div{margin-bottom:5px}.stripe-status{padding:2px 8px;border-radius:4px;font-size:.8rem;font-weight:700;text-transform:uppercase}.stripe-status.active{background:var(--color-success);color:#fff}.stripe-status.pending{background:var(--color-warning);color:#fff}.stripe-status.restricted{background:var(--color-danger);color:#fff}.payment-info-readonly{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:15px;margin-top:10px}.payment-detail{color:var(--color-fg);margin-bottom:8px;display:flex;align-items:center}.payment-detail:last-child{margin-bottom:0}.payment-detail strong{color:var(--color-fg-muted);margin-right:8px;min-width:140px}.form-description{font-size:.85rem;color:var(--color-fg-muted);font-style:italic;margin-bottom:8px;line-height:1.3}.readonly-input{background:var(--color-surface-muted)!important;border:1px solid var(--color-border)!important;color:var(--color-fg-muted)!important;cursor:not-allowed!important}.readonly-input:focus{border-color:var(--color-border)!important;box-shadow:none!important}
