@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--primary:#e11d48;--primary-rgb:225, 29, 72;--primary-hover:#be123c;--secondary:#d97706;--secondary-hover:#b45309;--bg-app:#0b0f19;--bg-card:#161f30;--bg-input:#1f293d;--bg-hover:#24304a;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-inverse:#fff;--border:#2e3e5c;--border-light:#1f2d47;--bg-header:#0b0f19d9;--bg-nav-container:#1f293d73;--bg-nav-hover:#ffffff0f;--border-nav:#ffffff0d;--bg-nav-active-desktop:#e11d481f;--color-nav-active-desktop:#fda4af;--border-nav-active-desktop:#e11d4833;--success:#10b981;--success-bg:#10b9811f;--danger:#ef4444;--danger-bg:#ef44441f;--warning:#f59e0b;--warning-bg:#f59e0b1f;--info:#3b82f6;--info-bg:#3b82f61f;--badge-primary-bg:#e11d4826;--badge-primary-color:#fda4af;--badge-primary-border:#e11d484d;--badge-secondary-bg:#d9770626;--badge-secondary-color:#fde047;--badge-secondary-border:#d977064d;--badge-success-bg:#10b9811f;--badge-success-color:#6ee7b7;--badge-success-border:#10b9814d;--badge-danger-bg:#ef44441f;--badge-danger-color:#fca5a5;--badge-danger-border:#ef44444d;--badge-warning-bg:#f59e0b1f;--badge-warning-color:#fcd34d;--badge-warning-border:#f59e0b4d;--badge-info-bg:#3b82f61f;--badge-info-color:#93c5fd;--badge-info-border:#3b82f64d;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000026, 0 2px 4px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -2px #0003;--shadow-xl:0 20px 25px -5px #0006, 0 10px 10px -5px #0000004d;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;font-family:var(--font-body);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:var(--bg-app);color:var(--text-main)}body.theme-velvet-crimson{--primary:#e11d48;--primary-rgb:225, 29, 72;--primary-hover:#be123c;--secondary:#d97706;--secondary-hover:#b45309;--bg-app:#0b0f19;--bg-card:#161f30;--bg-input:#1f293d;--bg-hover:#24304a;--text-main:#f3f4f6;--text-muted:#9ca3af;--border:#2e3e5c;--border-light:#1f2d47;--bg-header:#0b0f19d9;--bg-nav-container:#1f293d73;--bg-nav-hover:#ffffff0f;--border-nav:#ffffff0d;--bg-nav-active-desktop:#e11d481f;--color-nav-active-desktop:#fda4af;--border-nav-active-desktop:#e11d4833}body.theme-classic-theater{--primary:#cc1415;--primary-rgb:204, 20, 21;--primary-hover:#a81011;--secondary:#d97706;--secondary-hover:#b45309;--bg-app:#0c0c0e;--bg-card:#161619;--bg-input:#1f1f23;--bg-hover:#28282d;--text-main:#f3f4f6;--text-muted:#9ca3af;--border:#2e2e34;--border-light:#1f1f23;--bg-header:#0c0c0ed9;--bg-nav-container:#26262d73;--bg-nav-hover:#ffffff0f;--border-nav:#ffffff0d;--bg-nav-active-desktop:#cc14151f;--color-nav-active-desktop:#fca5a5;--border-nav-active-desktop:#cc141533}body.theme-royal-opera{--primary:#0f766e;--primary-rgb:15, 118, 110;--primary-hover:#115e59;--secondary:#ca8a04;--secondary-hover:#a16207;--bg-app:#080c0a;--bg-card:#111a16;--bg-input:#1b2621;--bg-hover:#22332c;--text-main:#f0fdf4;--text-muted:#94a3b8;--border:#20352b;--border-light:#17261f;--bg-header:#080c0ad9;--bg-nav-container:#1b262173;--bg-nav-hover:#ffffff0f;--border-nav:#ffffff0d;--bg-nav-active-desktop:#0f766e1f;--color-nav-active-desktop:#6ee7b7;--border-nav-active-desktop:#0f766e33}body.theme-stage-shadow{--primary:#ea580c;--primary-rgb:234, 88, 12;--primary-hover:#c2410c;--secondary:#06b6d4;--secondary-hover:#0891b2;--bg-app:#090a0f;--bg-card:#13151f;--bg-input:#1b1e2c;--bg-hover:#212537;--text-main:#f8fafc;--text-muted:#94a3b8;--border:#292f45;--border-light:#1e2233;--bg-header:#090a0fd9;--bg-nav-container:#1b1e2c73;--bg-nav-hover:#ffffff0f;--border-nav:#ffffff0d;--bg-nav-active-desktop:#ea580c1f;--color-nav-active-desktop:#ffedd5;--border-nav-active-desktop:#ea580c33}body.theme-vintage-playbill{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-heading:"Playfair Display", Georgia, serif;--primary:#7f1d1d;--primary-rgb:127, 29, 29;--primary-hover:#991b1b;--secondary:#b45309;--secondary-hover:#92400e;--bg-app:#fcfaf2;--bg-card:#fff;--bg-input:#f6f5f0;--bg-hover:#eae7de;--text-main:#1c1917;--text-muted:#78716c;--text-inverse:#fff;--border:#d6d3d1;--border-light:#e7e5e4;--bg-header:#fcfaf2f2;--bg-nav-container:#eae7de99;--bg-nav-hover:#0000000d;--border-nav:#0000000f;--bg-nav-active-desktop:#7f1d1d14;--color-nav-active-desktop:#7f1d1d;--border-nav-active-desktop:#7f1d1d26;--badge-primary-bg:#e11d4814;--badge-primary-color:#9f1239;--badge-primary-border:#e11d4833;--badge-secondary-bg:#d9770614;--badge-secondary-color:#9a3412;--badge-secondary-border:#d9770633;--badge-success-bg:#10b98114;--badge-success-color:#065f46;--badge-success-border:#10b98133;--badge-danger-bg:#ef444414;--badge-danger-color:#991b1b;--badge-danger-border:#ef444433;--badge-warning-bg:#f59e0b14;--badge-warning-color:#854d0e;--badge-warning-border:#f59e0b33;--badge-info-bg:#3b82f614;--badge-info-color:#1e40af;--badge-info-border:#3b82f633}body.theme-minimalist-backstage{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#0f172a;--primary-rgb:15, 23, 42;--primary-hover:#1e293b;--secondary:#2563eb;--secondary-hover:#1d4ed8;--bg-app:#f8fafc;--bg-card:#fff;--bg-input:#f1f5f9;--bg-hover:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--text-inverse:#fff;--border:#cbd5e1;--border-light:#e2e8f0;--bg-header:#fffffff2;--bg-nav-container:#f1f5f9cc;--bg-nav-hover:#0f172a0d;--border-nav:#0000000f;--bg-nav-active-desktop:#0f172a0f;--color-nav-active-desktop:#0f172a;--border-nav-active-desktop:#0f172a26;--badge-primary-bg:#e11d4814;--badge-primary-color:#9f1239;--badge-primary-border:#e11d4833;--badge-secondary-bg:#d9770614;--badge-secondary-color:#9a3412;--badge-secondary-border:#d9770633;--badge-success-bg:#10b98114;--badge-success-color:#065f46;--badge-success-border:#10b98133;--badge-danger-bg:#ef444414;--badge-danger-color:#991b1b;--badge-danger-border:#ef444433;--badge-warning-bg:#f59e0b14;--badge-warning-color:#854d0e;--badge-warning-border:#f59e0b33;--badge-info-bg:#3b82f614;--badge-info-color:#1e40af;--badge-info-border:#3b82f633}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-main);min-height:100vh;margin:0;line-height:1.5;overflow:hidden scroll}#root{flex-direction:column;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-main);font-weight:600;line-height:1.25}a{color:var(--primary);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-hover)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}.main-content{flex-grow:1;padding:2rem 0}.header{z-index:50;background-color:var(--bg-header);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:.75rem 0;position:sticky;top:0}.header-container{grid-template-columns:auto 1fr;grid-template-areas:"brand user""nav nav";align-items:center;gap:.75rem 1.5rem;display:grid}.logo-area{font-family:var(--font-heading);cursor:pointer;grid-area:brand;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:700;display:flex}.logo-text{background:linear-gradient(135deg, var(--text-main) 30%, var(--secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;display:inline-flex}.logo-text .logo-text-full{display:none}.logo-text .logo-text-short{display:inline}@media (width>=1200px){.logo-text .logo-text-full{display:inline}.logo-text .logo-text-short{display:none}}@media (width<=480px){.logo-text{display:none}}.logo-img{object-fit:contain;filter:brightness(0)invert();width:auto;height:44px;transition:transform .2s,filter .2s}.logo-area:hover .logo-img,.public-logo:hover .logo-img{transform:scale(1.05)}body.theme-vintage-playbill .logo-img,body.theme-minimalist-backstage .logo-img{filter:brightness(0)opacity(.85)}.logo-icon{color:var(--primary);filter:drop-shadow(0 0 8px rgba(var(--primary-rgb), .4))}.nav-links{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;background-color:#0000;border:none;border-radius:0;grid-area:nav;align-items:center;gap:1.5rem;padding:0;display:flex;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-link{cursor:pointer;color:var(--text-muted);font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;outline:none;align-items:center;gap:.4rem;padding:.5rem .25rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-link:hover{color:var(--primary);background-color:#0000}.nav-link.active{color:var(--primary);border-bottom:2px solid var(--primary);box-shadow:none;background-color:#0000;border-radius:0}.nav-dropdown{display:inline-block;position:relative}.nav-dropdown-trigger{cursor:pointer;color:var(--text-muted);font-family:var(--font-body);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;outline:none;align-items:center;gap:.4rem;padding:.5rem .25rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.nav-dropdown-trigger:hover,.nav-dropdown.active .nav-dropdown-trigger{color:var(--primary)}.nav-dropdown.active .nav-dropdown-trigger{border-bottom:2px solid var(--primary)}.nav-dropdown-content{background-color:var(--bg-card);min-width:170px;box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:var(--radius-md);z-index:100;padding:.5rem 0;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.nav-dropdown:hover .nav-dropdown-content{display:block}.nav-dropdown-item{text-align:left;width:100%;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.9rem;font-weight:500;transition:all .15s;display:flex}.nav-dropdown-item:hover{color:var(--text-main);background-color:var(--bg-hover)}.nav-dropdown-item.active{color:var(--primary);background-color:#e11d480d;font-weight:700}.header-user-section{grid-area:user;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}@media (width>=961px){.header{padding:.6rem 0}.header-container{flex-direction:row;grid-template-areas:none;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.nav-links{white-space:nowrap;background-color:#0000;border:none;gap:1.5rem;padding:0;overflow-x:visible}.nav-link{padding:.5rem .25rem;font-size:.95rem}.nav-link:hover{background-color:#0000}.nav-link.active{color:var(--primary);border:none;border-bottom:2px solid var(--primary);box-shadow:none;background-color:#0000;border-radius:0}}.user-profile-badge{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;align-items:center;gap:.75rem;padding:.375rem .75rem;transition:all .2s;display:flex}.user-profile-badge:hover{background-color:var(--bg-hover);border-color:var(--text-muted)}.theme-select-dropdown{background-color:var(--bg-card);border:1px solid var(--border);color:var(--text-main);font-family:var(--font-body);border-radius:var(--radius-full);cursor:pointer;outline:none;padding:.4rem .75rem;font-size:.8rem;font-weight:600;transition:all .2s}.theme-select-dropdown:hover{background-color:var(--bg-hover);border-color:var(--text-muted)}.user-avatar{border-radius:var(--radius-full);background-color:var(--primary);width:2rem;height:2rem;color:var(--text-inverse);object-fit:cover;border:2px solid var(--border);justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.user-info-text{flex-direction:column;line-height:1.2;display:flex}.user-name{font-size:.85rem;font-weight:600}.user-role{color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600}.btn{font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--text-inverse);box-shadow:0 4px 12px rgba(var(--primary-rgb), .25)}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:0 6px 16px rgba(var(--primary-rgb), .4);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--bg-input);border-color:var(--border);color:var(--text-main)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--text-muted)}.btn-accent{background-color:var(--secondary);color:var(--text-inverse);box-shadow:0 4px 12px #d9770640}.btn-accent:hover{background-color:var(--secondary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #d9770666}.btn-danger{background-color:var(--danger);color:var(--text-inverse)}.btn-danger:hover{background-color:#dc2626}.btn-success{background-color:var(--success);color:var(--text-inverse)}.btn-success:hover{background-color:#059669}.btn-sm{border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.8rem}.btn-xs{border-radius:var(--radius-sm);gap:.25rem;padding:.25rem .5rem;font-size:.75rem}.btn-icon-only{border-radius:var(--radius-md);padding:.5rem}.card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.card-hoverable:hover{box-shadow:var(--shadow-xl);border-color:rgba(var(--primary-rgb), .4);transform:translateY(-4px)}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.card-body{padding:1.5rem}.card-footer{border-top:1px solid var(--border);background-color:#0b0f1933;padding:1.25rem 1.5rem}.form-group{text-align:left;flex-direction:column;gap:.375rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-main);align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;display:flex}.form-required{color:var(--danger)}.form-control,.form-select,.form-textarea{width:100%;font-family:var(--font-body);background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-main);padding:.625rem .875rem;font-size:.925rem;transition:all .2s}.form-control:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb), .2);background-color:var(--bg-hover);outline:none}.form-textarea{resize:vertical;min-height:100px}.form-helper{color:var(--text-muted);font-size:.75rem}.grid{gap:1.5rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.grid-aside{grid-template-columns:280px 1fr;gap:2rem;display:grid}@media (width<=768px){.grid-aside{grid-template-columns:1fr}}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.025em;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.725rem;font-weight:700;display:inline-flex}.badge-primary{background-color:var(--badge-primary-bg);color:var(--badge-primary-color);border:1px solid var(--badge-primary-border)}.badge-secondary{background-color:var(--badge-secondary-bg);color:var(--badge-secondary-color);border:1px solid var(--badge-secondary-border)}.badge-success{background-color:var(--badge-success-bg);color:var(--badge-success-color);border:1px solid var(--badge-success-border)}.badge-danger{background-color:var(--badge-danger-bg);color:var(--badge-danger-color);border:1px solid var(--badge-danger-border)}.badge-warning{background-color:var(--badge-warning-bg);color:var(--badge-warning-color);border:1px solid var(--badge-warning-border)}.badge-info{background-color:var(--badge-info-bg);color:var(--badge-info-color);border:1px solid var(--badge-info-border)}.tabs-container{border-bottom:1px solid var(--border);gap:1.5rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.tab-item{color:var(--text-muted);cursor:pointer;white-space:nowrap;padding:.75rem .25rem;font-size:.95rem;font-weight:600;transition:all .2s;position:relative}.tab-item:hover{color:var(--text-main)}.tab-item.active{color:var(--primary)}.tab-item.active:after{content:"";background-color:var(--primary);height:2px;box-shadow:0 0 8px rgba(var(--primary-rgb), .6);position:absolute;bottom:-1px;left:0;right:0}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background-color:#030712d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-xl);flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) modalEnter;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background-color:#0b0f1933;justify-content:flex-end;gap:.75rem;padding:1.25rem 1.5rem;display:flex}@keyframes modalEnter{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.table-responsive{border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%}.table th,.table td{padding:.875rem 1.25rem;font-size:.9rem}.table th{font-family:var(--font-heading);color:var(--text-main);border-bottom:1px solid var(--border);letter-spacing:.025em;background-color:#0b0f1980;font-weight:600}.table td{border-bottom:1px solid var(--border-light);color:var(--text-muted)}.table tr:last-child td{border-bottom:none}.table tr:hover td{color:var(--text-main);background-color:#24304a40}.modal-section-title{border-bottom:1px solid var(--border);margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.25rem;font-weight:700}.modal-section-helper{color:var(--text-muted);margin-bottom:1rem;font-size:.8rem}.modal-image-preview-box{border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;background-color:var(--bg-input);margin-top:1rem;padding:.5rem}.modal-image-preview-box img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:120px}.modal-upload-label{cursor:pointer}.modal-grid-gap{gap:.75rem;margin-bottom:1.5rem}.modal-flex-row{align-items:center;gap:1rem;display:flex}.notification-container{z-index:110;width:100%;max-width:400px;position:fixed;top:20px;right:20px}.auth-wrapper{flex-direction:column;justify-content:center;align-items:center;min-height:80vh;display:flex}.auth-inner{width:100%;max-width:480px;margin:2rem auto}.badge-status{padding:.5rem .75rem;font-size:.8rem}.d-none{display:none!important}.text-muted{color:var(--text-muted)!important}.text-danger{color:var(--danger)!important}.text-success{color:var(--success)!important}.flex-row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.d-flex{display:flex!important}.align-items-center{align-items:center!important}.gap-2{gap:.5rem!important}.text-secondary{color:var(--secondary)!important}.bg-warning-light{background-color:#d977060d!important}.p-0{padding:0!important}.text-center{text-align:center!important}.font-sm{font-size:.8rem!important}.font-medium{font-weight:500!important}.font-semibold{font-weight:600!important}.color-main{color:var(--text-main)!important}.border-none{border:none!important}.radius-0{border-radius:0!important}.gap-3{gap:.75rem!important}.btn-lighter{background-color:var(--bg-lighter)!important}.btn-lighter:hover{background-color:var(--bg-input)!important}.select-role-control{width:120px;padding:.25rem .5rem;font-size:.85rem}.gap-4{gap:1rem!important}.select-role-lg{width:130px;padding:.25rem .5rem;font-size:.85rem}.position-relative{position:relative!important}.d-inline-block{display:inline-block!important}.text-ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.font-normal{font-weight:400!important}.justify-content-end{justify-content:flex-end!important}.cursor-pointer{cursor:pointer!important}.m-0{margin:0!important}.mb-8{margin-bottom:2rem!important}.radius-md{border-radius:var(--radius-md)!important}.bg-lighter{background-color:var(--bg-lighter)!important}.p-1{padding:.25rem!important}.badge-light{background-color:var(--bg-lighter)!important}.ml-1{margin-left:.25rem!important}.flex-1{flex:1!important}.minw-0{min-width:0!important}.tab-container{background-color:var(--bg-lighter);border-radius:var(--radius-md);gap:.5rem;padding:.25rem;display:flex}.tab-container .btn-tab-toggle{color:var(--text-muted);background:0 0;border:none;transition:all .2s}.tab-container .btn-tab-toggle:hover{color:var(--text-main)}.tab-container .btn-tab-toggle.active{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.text-right{text-align:right!important}.d-block{display:block!important}.flex-wrap{flex-wrap:wrap!important}.gap-1{gap:.25rem!important}.fst-italic{font-style:italic!important}.badge-clickable{text-transform:none!important;cursor:pointer!important}.auth-page{background:radial-gradient(circle at 10% 20%, rgba(var(--primary-rgb), .08) 0%, #0b0f19 90%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;display:flex}.auth-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-xl);overflow:hidden}.auth-header{text-align:center;padding:2rem 2rem 1rem}.auth-logo{justify-content:center;margin-bottom:.5rem;font-size:2.25rem}.auth-subtitle{color:var(--text-muted);font-size:.875rem}.auth-tabs{border-bottom:1px solid var(--border);background-color:#0b0f1966;display:flex}.auth-tab{text-align:center;cursor:pointer;color:var(--text-muted);border-bottom:2px solid #0000;flex:1;padding:1rem;font-weight:600;transition:all .2s}.auth-tab.active{color:var(--primary);border-bottom-color:var(--primary);background-color:rgba(var(--primary-rgb), .04)}.auth-body{padding:2rem}.play-hero-banner{border-radius:var(--radius-xl);border:1px solid var(--border);height:300px;box-shadow:var(--shadow-lg);background-position:50%;background-size:cover;margin-bottom:2rem;position:relative;overflow:hidden}.play-hero-overlay{background:linear-gradient(#0b0f1966 0%,#0b0f19f2 85%);align-items:flex-end;padding:2rem;display:flex;position:absolute;inset:0}.play-hero-details{align-items:flex-end;gap:2rem;width:100%;display:flex}.play-poster-img{border-radius:var(--radius-md);object-fit:cover;border:2px solid var(--text-main);width:140px;height:200px;box-shadow:var(--shadow-xl);flex-shrink:0}.play-title-group{flex-grow:1}.play-title-group h1{text-shadow:0 2px 4px #00000080;margin-bottom:.5rem;font-size:2.25rem}.play-author{color:var(--secondary);margin-bottom:.5rem;font-size:1.1rem;font-weight:500}.perf-list{flex-direction:column;gap:.75rem;display:flex}.perf-item{border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:#0b0f194d;align-items:center;gap:1rem;padding:.875rem 1.25rem;display:flex}.perf-date-box{border-radius:var(--radius-sm);background-color:var(--primary);width:50px;height:50px;color:var(--text-inverse);font-family:var(--font-heading);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.perf-date-day{font-size:1.1rem;font-weight:700;line-height:1}.perf-date-month{text-transform:uppercase;font-size:.65rem;font-weight:600}.perf-details{flex-grow:1}.perf-time{color:var(--text-muted);font-size:.85rem}.perf-location{font-size:.95rem;font-weight:600}.file-upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;background-color:#0b0f1933;flex-direction:column;align-items:center;gap:.75rem;padding:2rem;transition:all .2s;display:flex}.file-upload-zone:hover{border-color:var(--primary);background-color:rgba(var(--primary-rgb), .02)}.file-preview{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-card);align-items:center;gap:1rem;width:100%;margin-top:1rem;padding:.75rem;display:flex}.file-preview-icon{background-color:var(--border-light);border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--primary);justify-content:center;align-items:center;display:flex}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.gallery-card{aspect-ratio:4/3;border-radius:var(--radius-md);border:1px solid var(--border);cursor:pointer;position:relative;overflow:hidden}.gallery-img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.gallery-card:hover .gallery-img{transform:scale(1.05)}.gallery-overlay{opacity:0;color:#fff;background:linear-gradient(#0000,#000c);padding:.75rem;font-size:.75rem;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.gallery-card:hover .gallery-overlay{opacity:1}.team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;display:grid}.team-card{border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:#0b0f1933;align-items:center;gap:1rem;padding:1.25rem;display:flex;position:relative}.team-card:hover{border-color:var(--border);background-color:#0b0f1966}.team-avatar{border-radius:var(--radius-full);background-color:var(--bg-hover);border:2px solid var(--border);width:3.5rem;height:3.5rem;color:var(--text-main);object-fit:cover;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.team-info{flex-direction:column;min-width:0;display:flex}.team-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.team-role{color:var(--secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.team-edit-btn{opacity:0;gap:.25rem;transition:opacity .2s;display:flex;position:absolute;top:.5rem;right:.5rem}.team-card:hover .team-edit-btn{opacity:1}.sponsoren-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;display:grid}.sponsor-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);aspect-ratio:3/2;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex;position:relative}.sponsor-card .sponsor-emoji{font-size:2.5rem}.sponsor-card .sponsor-delete-btn{position:absolute;top:5px;right:5px}.sponsor-logo{object-fit:contain;filter:grayscale()invert()brightness(2);max-width:90%;max-height:60px;transition:all .2s}.sponsor-card:hover .sponsor-logo{filter:none}.sponsor-name{color:var(--text-muted);font-size:.8rem;font-weight:600}.alert{border-radius:var(--radius-lg);text-align:left;box-shadow:var(--shadow-xl);border:1px solid #0000;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.25rem;display:flex}.alert-success{color:#fff;background-color:#10b981;border-color:#059669}.alert-danger{color:#fff;background-color:#ef4444;border-color:#dc2626}.alert-warning{color:#fff;background-color:#f59e0b;border-color:#d97706}.alert-info{color:#fff;background-color:#3b82f6;border-color:#2563eb}.alert-icon{flex-shrink:0;margin-top:.125rem}.alert-content{flex-grow:1}.alert-title{color:#fff;margin-bottom:.25rem;font-size:.95rem;font-weight:700}.alert-message{color:#fffffff2;font-size:.85rem}.demo-user-selector{border-top:1px dashed var(--border);margin-top:1.5rem;padding-top:1.25rem}.demo-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem;font-size:.75rem;font-weight:700}.demo-buttons-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.demo-user-btn{background-color:var(--border-light);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;align-items:flex-start;padding:.5rem;font-size:.75rem;transition:all .2s;display:flex}.demo-user-btn:hover{background-color:var(--bg-hover);border-color:var(--primary);color:var(--text-main)}.demo-user-btn .name{font-weight:600}.demo-user-btn .role{color:var(--secondary);font-size:.65rem}.budget-box{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,#161f30cc 0%,#0b0f19cc 100%);justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.budget-info{align-items:center;gap:1rem;display:flex}.budget-icon-container{border-radius:var(--radius-md);width:3.5rem;height:3.5rem;color:var(--success);background-color:#10b9811a;border:1px solid #10b9814d;justify-content:center;align-items:center;display:flex}.file-card{border:1px solid var(--border-light);border-radius:var(--radius-md);background-color:#0b0f194d;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mr-2{margin-right:.5rem}.ml-2{margin-left:.5rem}.status-indicator{border-radius:50%;width:8px;height:8px;display:inline-block}.status-active{background-color:var(--success);box-shadow:0 0 8px var(--success)}.status-pending{background-color:var(--warning);box-shadow:0 0 8px var(--warning)}.status-inactive{background-color:var(--danger);box-shadow:0 0 8px var(--danger)}[contenteditable]:empty:before{content:attr(placeholder);color:var(--text-muted);opacity:.5;cursor:text;display:block}.news-content p,.html-content p{margin-top:0;margin-bottom:1rem}.news-content p:last-child,.html-content p:last-child{margin-bottom:0}.news-content h2,.news-content h3,.html-content h2,.html-content h3{color:var(--text-main);font-family:var(--font-heading);margin-top:1.5rem;margin-bottom:.75rem}.news-content a,.html-content a{color:var(--primary);font-weight:500;text-decoration:none}.news-content a:hover,.html-content a:hover{text-decoration:underline}.rich-editor-toolbar button{justify-content:center;align-items:center;font-weight:600;display:inline-flex}.portal-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.portal-filter-inputs{flex-grow:1;gap:.75rem;min-width:280px;display:flex}.portal-search-wrapper{flex-grow:1;position:relative}.portal-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.portal-search-input{padding-left:36px!important}.portal-select-filter{width:200px!important}.portal-actions-group{align-items:center;gap:.5rem;display:flex}.portal-card-header-flex{justify-content:space-between;align-items:center;display:flex}.portal-badge-sm-padded{padding:.4rem .8rem!important;font-size:.85rem!important}.portal-btn-with-icon{align-items:center;gap:.25rem;display:inline-flex!important}.portal-checkbox-label{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.portal-checkbox{cursor:pointer;accent-color:var(--primary);width:16px;height:16px}.portal-form-group{margin-bottom:1.5rem}.portal-form-label{color:var(--text-main);margin-bottom:.5rem;font-weight:600;display:block}.portal-flex-col-gap{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.portal-card-padded{margin-bottom:2rem;padding:2rem}.portal-card-padded:last-child{margin-bottom:0}.play-details-tab{text-align:left}.play-details-tab h3{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem}.play-details-tab .perf-list{padding:1rem}.play-details-tab .perf-item{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);align-items:center;gap:1rem;margin-bottom:.75rem;padding:1rem;display:flex;position:relative}.play-details-tab .perf-item:last-child{margin-bottom:0}.play-details-tab .perf-item .perf-date-box{background-color:rgba(var(--primary-rgb), .08);border:1px solid rgba(var(--primary-rgb), .2);border-radius:var(--radius-md);width:50px;height:50px;color:var(--primary);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.play-details-tab .perf-item .perf-date-box .perf-date-day{font-size:1.25rem;font-weight:800;line-height:1}.play-details-tab .perf-item .perf-date-box .perf-date-month{text-transform:uppercase;opacity:.8;font-size:.65rem;font-weight:600}.play-details-tab .perf-item .perf-details{flex-direction:column;gap:.25rem;display:flex}.play-details-tab .perf-item .perf-details .perf-time,.play-details-tab .perf-item .perf-details .perf-location{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.play-details-tab .perf-item .perf-details .perf-time svg,.play-details-tab .perf-item .perf-details .perf-location svg{opacity:.7;vertical-align:middle}.play-details-tab .perf-item .perf-details .perf-location svg{color:var(--primary)}.play-details-tab .perf-item .perf-actions{gap:.25rem;display:flex;position:absolute;top:10px;right:10px}.play-details-tab .perf-item .perf-actions .btn{padding:.2rem}.play-details-tab .file-cards-container{flex-direction:column;gap:.5rem;display:flex}.play-details-tab .file-card{border:1px solid var(--border);border-radius:var(--radius-md);background-color:#0b0f1933;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.play-details-tab .file-card label{cursor:pointer;align-items:center;margin:0;display:flex}.play-details-tab .file-card label input[type=checkbox]{margin-right:.5rem}.play-details-tab .file-card .file-info{flex-grow:1;min-width:0}.play-details-tab .file-card .file-info .file-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.25rem;font-size:.8rem;font-weight:500;display:flex;overflow:hidden}.play-details-tab .file-card .file-info .file-size{color:var(--text-muted);font-size:.7rem}.play-details-tab .file-card .file-actions{gap:.25rem;display:flex}.play-details-tab .play-description-content{color:var(--text-main);font-size:.975rem;line-height:1.7}.play-details-tab .section-header-row{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.play-details-tab .section-header-row h4{margin:0;font-size:.95rem;font-weight:600}.play-details-tab .file-placeholder-dashed{color:var(--text-muted);border:1px dashed var(--border);text-align:center;border-radius:6px;padding:.5rem 0;font-size:.8rem}.sub-tabs-container{border-bottom:1px solid var(--border);gap:1.5rem;margin-bottom:2rem;display:flex}.sub-tabs-container .tab-item{cursor:pointer;color:var(--text-muted);border-bottom:2px solid #0000;padding:.75rem .5rem;font-size:1rem;font-weight:600;transition:all .2s}.sub-tabs-container .tab-item:hover{color:var(--text-main)}.sub-tabs-container .tab-item.active{color:var(--primary);border-bottom-color:var(--primary)}.badge-user-role{margin-left:.5rem;display:inline-block;transform:scale(.9)}.themes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.theme-card{border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;background-color:var(--bg-card);box-shadow:none;padding:1.5rem;transition:transform .2s,box-shadow .2s,border-color .2s}.theme-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.theme-card.active{border:2px solid var(--primary);box-shadow:var(--shadow-md)}.theme-card .theme-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.theme-card .theme-card-header .theme-emoji{font-size:1.75rem}.theme-card .theme-card-header .theme-meta{flex-direction:column;display:flex}.theme-card .theme-card-header .theme-meta .theme-name{color:var(--text-main);font-size:1.1rem;font-weight:700}.theme-card .theme-card-header .theme-meta .theme-id{color:var(--text-muted);font-size:.85rem}.theme-card .theme-desc{color:var(--text-muted);margin-bottom:1rem;font-size:.85rem;line-height:1.4}.theme-card .theme-footer{justify-content:space-between;align-items:center;display:flex}.theme-card .theme-footer .theme-colors{gap:.25rem;display:flex}.theme-card .theme-footer .theme-colors .color-dot{border-radius:50%;width:16px;height:16px;display:inline-block}.theme-card .theme-footer .theme-colors .color-dot.bg-main{background-color:var(--bg-main);border:1px solid var(--border)}.theme-card .theme-footer .theme-status{color:var(--primary);font-size:.85rem;font-weight:700}.fotos-view .fotos-layout-grid{grid-template-columns:260px 1fr;align-items:start;gap:2rem;display:grid}@media (width<=992px){.fotos-view .fotos-layout-grid{grid-template-columns:1fr}}.fotos-view .album-header-row{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.fotos-view .album-header-row h4{margin:0;font-weight:600}.fotos-view .album-create-form{background-color:var(--bg-light);border-radius:var(--radius-sm);border:1px solid var(--border);padding:.75rem}.fotos-view .album-list{flex-direction:column;gap:.25rem;display:flex}.fotos-view .album-list .album-row{align-items:center;gap:.25rem;display:flex}.fotos-view .album-list .album-row .btn-album-select{text-align:left;flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.fotos-view .album-list .album-row .btn-album-select .btn-label-wrapper{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.fotos-view .album-list .album-row .btn-album-select .btn-label-wrapper .btn-label-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fotos-view .fotos-empty-card{text-align:center;padding:4rem 2rem}.fotos-view .fotos-empty-card svg{color:var(--text-muted);margin-bottom:1rem;margin-inline:auto}.fotos-view .gallery-card .badge svg{vertical-align:-1px;margin-right:4px}.fotos-view .gallery-card .gallery-card-badges-left{z-index:2;gap:4px;display:flex;position:absolute;top:8px;left:8px}.fotos-view .gallery-card .gallery-card-actions-right{z-index:2;gap:4px;display:flex;position:absolute;top:8px;right:8px}.fotos-view .gallery-card .gallery-select-album{background-color:rgba(var(--bg-card-rgb), .9);border:1px solid var(--border);border-radius:var(--radius-sm);height:24px;color:var(--text-main);cursor:pointer;padding:2px 20px 2px 8px;font-size:.7rem}.fotos-view .gallery-card .gallery-card-meta{opacity:.8;margin-top:.25rem;font-size:.65rem}.fotos-view .gallery-card .gallery-card-meta .meta-published{margin-top:.15rem}.modal-container-sm{max-width:400px!important}.news-public-grid{grid-template-columns:1fr;gap:1.5rem;max-width:800px;margin:0 auto;display:grid}.news-empty-card{text-align:center;color:var(--text-muted);padding:3rem}.news-empty-card svg{opacity:.5;margin:0 auto 1rem;display:block}.news-card{flex-direction:column;gap:1rem;padding:2rem;display:flex}.news-card .news-card-img{object-fit:cover;border-radius:var(--radius-md);width:100%;max-height:350px;margin-bottom:.5rem}.news-card .news-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding-bottom:.75rem;display:flex}.news-card .news-card-header h3{color:var(--text-main);text-align:left;margin:0;font-size:1.4rem}.news-card .news-card-header .news-card-meta{color:var(--text-muted);text-align:left;margin-top:.25rem;font-size:.85rem}.news-card .news-card-header .news-card-meta strong{color:var(--text-main)}.news-card .news-card-body{color:var(--text-muted);text-align:left;line-height:1.6}.news-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:40px;height:30px}.news-thumb-placeholder{background-color:var(--bg-lighter);border-radius:var(--radius-sm);width:40px;height:30px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.news-thumb-placeholder svg{margin:0 auto}.team-section-header{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.25rem;display:flex}.team-section-header.primary{color:var(--primary)}.team-section-header.secondary{color:var(--secondary)}.team-section-header.success{color:var(--success)}.team-section-header.muted{color:var(--text-muted)}.team-avatar-upload{cursor:pointer;border-radius:50%;padding:2px;position:absolute;bottom:5px;left:40px}.gallery-card-action-btn{z-index:2;position:absolute;top:8px;right:8px}.gallery-card-delete-btn{z-index:3;opacity:.85;position:absolute;bottom:8px;right:8px}.video-card{align-items:center;gap:1rem;padding:1rem;display:flex;position:relative}.video-card .video-icon-wrapper{color:#ef4444;background-color:#ef44441a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.video-card .video-card-title{white-space:nowrap;text-overflow:ellipsis;margin:0 0 .25rem;font-size:.95rem;overflow:hidden}.video-card .video-card-meta{color:var(--text-muted);font-size:.7rem}.video-card .video-card-delete-btn{position:absolute;top:10px;right:10px}.reservations-tab .perf-capacity-card{padding:1.25rem}.reservations-tab .perf-capacity-card .perf-capacity-header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.reservations-tab .perf-capacity-card .perf-capacity-header h4{margin:0;font-weight:700}.reservations-tab .perf-capacity-card .perf-capacity-header span{color:var(--text-muted);font-size:.8rem}.reservations-tab .perf-capacity-card .perf-capacity-info{justify-content:space-between;margin-bottom:.25rem;font-size:.85rem;display:flex}.reservations-tab .perf-capacity-card .perf-capacity-progress{background-color:var(--border-light);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden}.reservations-tab .perf-capacity-card .perf-capacity-progress .progress-bar{height:100%;transition:width .3s}.reservations-tab .perf-capacity-card .perf-capacity-progress .progress-bar.danger{background-color:var(--danger)}.reservations-tab .perf-capacity-card .perf-capacity-progress .progress-bar.warning{background-color:var(--secondary)}.reservations-tab .perf-capacity-card .perf-capacity-progress .progress-bar.success{background-color:var(--success)}.reservations-tab .perf-capacity-card .perf-capacity-footer{text-align:right;color:var(--text-muted);font-size:.75rem}.reservations-tab .res-row-cancelled{opacity:.5}.reservations-tab .res-contact-info{color:var(--text-muted);align-items:center;gap:.3rem;margin-top:.1rem;font-size:.775rem;display:flex}.modal-section-title{border-bottom:1px solid var(--border);margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.25rem}.file-cards-container{flex-direction:column;gap:.5rem;display:flex}.file-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);align-items:center;gap:.75rem;min-width:0;padding:.6rem .85rem;display:flex}.file-card label{cursor:pointer;flex-shrink:0;align-items:center;margin:0;display:flex}.file-card .file-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.file-card .file-info .file-name{word-break:break-word;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.file-card .file-info .file-name .badge{flex-shrink:0;padding:.15rem .45rem;font-size:.675rem}.file-card .file-info .file-size{color:var(--text-muted);font-size:.75rem}.file-card .file-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.public-landing{background-color:var(--bg-app);color:var(--text-main);min-height:100vh}.public-header{z-index:100;background-color:var(--bg-header);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:1rem 0;position:sticky;top:0}.public-header-container{justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto;padding:0 1.5rem;display:flex}.public-logo{font-family:var(--font-heading);cursor:pointer;align-items:center;gap:.75rem;font-size:1.5rem;font-weight:800;display:flex}.public-nav{align-items:center;gap:2rem;display:flex}.public-nav-link{font-family:var(--font-body);color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem 0;font-size:.95rem;font-weight:600;transition:color .2s}.public-nav-link:hover,.public-nav-link.active{color:var(--primary)}.btn-portal-login{align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;display:inline-flex}.mobile-menu-toggle{color:var(--text-main);cursor:pointer;background:0 0;border:none;display:none}.public-hero{text-align:center;background:radial-gradient(circle at top, rgba(var(--primary-rgb), .15) 0%, transparent 60%), var(--bg-app);justify-content:center;align-items:center;min-height:75vh;padding:4rem 1.5rem;display:flex;position:relative;overflow:hidden}.public-hero-content{z-index:10;max-width:800px;position:relative}.public-hero-content h1{font-family:var(--font-heading);letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-main) 40%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1.5rem;font-size:3.5rem;font-weight:800;line-height:1.15}.public-hero-content p{color:var(--text-muted);margin-bottom:2.5rem;font-size:1.25rem;line-height:1.6}.hero-actions{justify-content:center;gap:1rem;display:flex}.public-section{padding:6rem 0}.public-section.alt-bg{background-color:var(--bg-card)}.section-title{font-family:var(--font-heading);text-align:center;letter-spacing:-.01em;margin-bottom:3.5rem;font-size:2.25rem;font-weight:800}.public-footer{color:#9ca3af;background-color:#0b0f19;border-top:1px solid #1f2d47;padding:5rem 0 2rem}.public-footer-grid{border-bottom:1px solid #ffffff0d;grid-template-columns:1.5fr 1fr 1.5fr;gap:4rem;max-width:1280px;margin:0 auto;padding:0 1.5rem 3rem;display:grid}.public-footer-grid h4{color:#fff;font-family:var(--font-heading);margin-bottom:1.25rem;font-size:1.1rem;font-weight:700}.public-footer-grid p{font-size:.9rem;line-height:1.6}.public-footer-grid ul{margin:0;padding:0;list-style:none}.public-footer-grid ul li{margin-bottom:.75rem}.public-footer-grid ul li button{color:#9ca3af;font-family:var(--font-body);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.9rem;transition:color .2s}.public-footer-grid ul li button:hover{color:#fff}.public-footer-bottom{color:#6b7280;max-width:1280px;margin:0 auto;padding:2rem 1.5rem 0;font-size:.8rem}.public-footer-bottom .admin-link{cursor:pointer;text-decoration:underline}.public-footer-bottom .admin-link:hover{color:#fff}.public-nav-dropdown{display:inline-block;position:relative}.public-nav-dropdown-trigger{font-family:var(--font-body);color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;width:100%;padding:.25rem 0;font-size:.95rem;font-weight:600;transition:color .2s;display:flex}.public-nav-dropdown-trigger:hover,.public-nav-dropdown-trigger.active{color:var(--primary)}.public-nav-dropdown-menu{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;flex-direction:column;min-width:160px;padding:.5rem 0;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%)}.public-nav-dropdown:hover .public-nav-dropdown-menu,.public-nav-dropdown-menu.open{display:flex}.public-nav-dropdown-item{font-family:var(--font-body);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.public-nav-dropdown-item:hover{background-color:var(--bg-hover);color:var(--primary)}.public-nav-dropdown-item.active{color:var(--primary);background-color:rgba(var(--primary-rgb), .04)}.dropdown-arrow{opacity:.7;font-size:.75rem}@media (width<=960px){.mobile-menu-toggle{color:var(--text-main);cursor:pointer;z-index:101;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.public-nav{background-color:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:var(--shadow-xl);z-index:100;flex-direction:column;align-items:center;gap:1.25rem;padding:1.5rem;display:none;position:absolute;top:100%;left:0;right:0}.public-nav.open{display:flex}.public-nav-dropdown{text-align:center;width:100%}.public-nav-dropdown-trigger{justify-content:center;padding:.5rem 0}.public-nav-dropdown-menu{box-shadow:none;background-color:#0000;border:none;min-width:100%;margin-top:.5rem;padding:0;position:static;transform:none}.public-nav-dropdown-item{text-align:center;padding:.5rem 0;font-size:.9rem}}.public-news-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.public-news-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .25s,box-shadow .25s;overflow:hidden}.public-news-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border);transform:translateY(-4px)}.public-news-image{height:200px;overflow:hidden}.public-news-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.public-news-card:hover .public-news-image img{transform:scale(1.05)}.public-news-body{padding:1.5rem}.public-news-date{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;font-size:.775rem;font-weight:700;display:block}.public-news-body h3{font-family:var(--font-heading);margin-bottom:.75rem;font-size:1.25rem;font-weight:700}.public-news-body p{color:var(--text-muted);font-size:.9rem;line-height:1.5}.public-landing{animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.news-detail-container{transition:transform .3s,box-shadow .3s}.news-detail-hero-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.news-detail-hero-image:hover img{transform:scale(1.02)}.read-more-link{align-items:center;gap:.25rem;transition:gap .2s,color .2s;display:inline-flex}.public-news-card:hover .read-more-link{gap:.5rem;color:var(--primary-hover)!important}.news-detail-body p{margin-bottom:1.5rem}.news-detail-body h2{font-family:var(--font-heading);color:var(--text-main);margin-top:2rem;margin-bottom:1rem;font-size:1.75rem}.top-news-featured-list{flex-direction:column;gap:3rem;margin-top:2rem;display:flex}.top-news-large-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);cursor:pointer;grid-template-columns:1fr;transition:transform .3s cubic-bezier(.165,.84,.44,1),box-shadow .3s,border-color .3s;display:grid;overflow:hidden}.top-news-large-card:hover{box-shadow:var(--shadow-xl), 0 10px 30px #00000026;border-color:var(--primary);transform:translateY(-6px)}.top-news-large-card:hover .read-more-link{padding-left:.5rem;color:var(--primary-hover)!important}.top-news-large-card:hover .top-news-large-image img{transform:scale(1.03)}@media (width>=768px){.top-news-large-card.has-image{grid-template-columns:1fr 1.5fr}}.top-news-large-image{background-color:var(--bg-input);height:100%;min-height:240px;position:relative;overflow:hidden}.top-news-large-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.top-news-large-body{flex-direction:column;justify-content:center;gap:1.25rem;padding:2.5rem;display:flex}.top-news-large-date{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:700}.top-news-large-body h3{font-family:var(--font-heading);color:var(--text-main);margin:0;font-size:1.75rem;font-weight:800;line-height:1.25;transition:color .2s}.top-news-large-excerpt{color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.6}.top-news-large-body .read-more-link{color:var(--primary);align-self:flex-start;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.public-news-detail-view{min-height:80vh;padding-top:8rem;padding-bottom:4rem}.public-news-detail-view.flex-center{justify-content:center;align-items:center;min-height:60vh;display:flex}.public-news-detail-view.text-center{text-align:center;min-height:60vh}.news-detail-container{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.news-detail-container .news-detail-hero-image{border-bottom:1px solid var(--border);width:100%;max-height:450px;overflow:hidden}.news-detail-container .news-detail-content{padding:2.5rem 3rem}@media (width<=576px){.news-detail-container .news-detail-content{padding:1.5rem 1.25rem}}.news-detail-container .news-detail-content .news-detail-meta{color:var(--text-muted);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.9rem;display:flex}.news-detail-container .news-detail-content h1{font-size:2.5rem;font-family:var(--font-heading);color:var(--text-main);margin-bottom:2rem;font-weight:800;line-height:1.2}@media (width<=768px){.news-detail-container .news-detail-content h1{margin-bottom:1.5rem;font-size:2rem}}.news-detail-container .news-detail-content .news-detail-body{color:var(--text-main);font-size:1.1rem;line-height:1.8}.news-detail-container .news-detail-content .news-detail-gallery{border-top:1px solid var(--border);margin-top:3rem;padding-top:2.5rem}.news-detail-container .news-detail-content .news-detail-gallery h3{font-size:1.5rem;font-family:var(--font-heading);color:var(--text-main);text-align:left;margin-bottom:1.5rem;font-weight:700}.news-detail-container .news-detail-content .news-detail-gallery .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.news-detail-container .news-detail-content .news-detail-gallery .gallery-grid .gallery-item{border-radius:var(--radius-md);border:1px solid var(--border);aspect-ratio:16/9;cursor:pointer;transition:transform .2s,box-shadow .2s;overflow:hidden}.news-detail-container .news-detail-content .news-detail-gallery .gallery-grid .gallery-item:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.news-detail-container .news-detail-content .news-detail-gallery .gallery-grid .gallery-item img{object-fit:cover;width:100%;height:100%}.public-lightbox-overlay{z-index:9999;-webkit-user-select:none;user-select:none;background-color:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.public-lightbox-overlay .lightbox-close-btn{color:#fff;cursor:pointer;z-index:10001;background-color:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .2s;display:flex;position:absolute;top:20px;right:20px}.public-lightbox-overlay .lightbox-close-btn:hover{background-color:#ffffff40}.public-lightbox-overlay .lightbox-nav-btn{color:#fff;cursor:pointer;z-index:10001;background-color:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:background-color .2s;display:flex;position:absolute}.public-lightbox-overlay .lightbox-nav-btn:hover{background-color:#ffffff40}.public-lightbox-overlay .lightbox-nav-btn.left{left:20px}.public-lightbox-overlay .lightbox-nav-btn.right{right:20px}@media (width<=576px){.public-lightbox-overlay .lightbox-nav-btn{width:40px;height:40px}.public-lightbox-overlay .lightbox-nav-btn.left{left:10px}.public-lightbox-overlay .lightbox-nav-btn.right{right:10px}}.public-lightbox-overlay .lightbox-img-wrapper{flex-direction:column;justify-content:center;align-items:center;max-width:85%;max-height:85%;display:flex}.public-lightbox-overlay .lightbox-img-wrapper img{object-fit:contain;border-radius:var(--radius-sm);max-width:100%;max-height:80vh;box-shadow:0 10px 30px #00000080}.public-lightbox-overlay .lightbox-img-wrapper .lightbox-counter{color:#fff;background-color:#0009;border-radius:20px;margin-top:1rem;padding:.4rem 1rem;font-size:.9rem}.public-plays-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2.5rem;display:grid}.public-play-card{background-color:var(--bg-app);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);cursor:pointer;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden}.public-play-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-4px)}.public-play-poster-wrapper{background-color:var(--bg-input);justify-content:center;align-items:center;height:380px;display:flex;position:relative;overflow:hidden}.public-play-poster{object-fit:cover;width:100%;height:100%}.public-play-poster-fallback{color:var(--text-muted);opacity:.5}.public-play-info{flex-direction:column;flex-grow:1;justify-content:space-between;gap:1rem;padding:1.5rem;display:flex}.public-play-author{color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.775rem;font-weight:700}.public-play-info h3{font-family:var(--font-heading);margin-top:.25rem;margin-bottom:.5rem;font-size:1.35rem;font-weight:700}.public-play-info .short-desc{color:var(--text-muted);font-size:.9rem;line-height:1.5}.public-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background-color:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.public-modal-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;box-shadow:var(--shadow-xl);padding:2.5rem;position:relative;overflow-y:auto}.public-modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;padding:.25rem;transition:all .2s;position:absolute;top:1.5rem;right:1.5rem}.public-modal-close:hover{color:var(--text-main);background-color:var(--bg-hover)}.public-modal-content-grid{grid-template-columns:1fr 1.5fr;gap:2.5rem;display:grid}.public-modal-image-panel{flex-direction:column;display:flex}.public-modal-image-panel img{border-radius:var(--radius-md);width:100%;height:auto;box-shadow:var(--shadow-md)}.public-modal-image-fallback{background-color:var(--bg-input);aspect-ratio:2/3;border-radius:var(--radius-md);color:var(--text-muted);opacity:.4;justify-content:center;align-items:center;display:flex}.public-modal-text-panel{flex-direction:column;display:flex}.public-modal-author{color:var(--secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.8rem;font-weight:700}.public-modal-text-panel h2{font-family:var(--font-heading);margin-bottom:1rem;font-size:2rem;font-weight:800}.public-modal-description p{color:var(--text-muted);font-size:.95rem;line-height:1.6}.public-modal-performances h3{font-family:var(--font-heading);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem;font-weight:700}.public-perf-list{flex-direction:column;gap:.75rem;display:flex}.public-perf-row{background-color:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-md);grid-template-columns:1.2fr 1fr 1.5fr;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.9rem;display:grid}.perf-date-box,.perf-time-box,.perf-loc-box{align-items:center;gap:.5rem;display:flex}.perf-date-box svg,.perf-time-box svg,.perf-loc-box svg{color:var(--primary);flex-shrink:0}.play-detail-page-container{min-height:80vh;padding-top:8rem;padding-bottom:4rem}.play-detail-notfound{text-align:center;min-height:60vh;padding-top:8rem;padding-bottom:4rem}.play-detail-main-grid{grid-template-columns:320px 1fr;align-items:start;gap:3rem;display:grid}.play-detail-poster-panel img{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--border);cursor:zoom-in;transition:opacity .2s}.play-detail-poster-panel img:hover{opacity:.95}.play-detail-poster-panel .poster-fallback{aspect-ratio:2/3;border-radius:var(--radius-lg);background-color:var(--bg-input);border:1px solid var(--border);color:var(--text-muted);justify-content:center;align-items:center;display:flex}.play-detail-poster-panel .poster-fallback svg{opacity:.3}.play-detail-author{color:var(--primary);text-transform:uppercase;letter-spacing:.05em;font-size:1rem;font-weight:600}.play-detail-title{font-size:2.5rem;font-family:var(--font-heading);color:var(--text-main);margin-top:.5rem;margin-bottom:1.5rem;font-weight:800;line-height:1.2}.play-description{color:var(--text-main);margin-bottom:2.5rem;font-size:1.05rem;line-height:1.7}.play-perf-list{flex-direction:column;gap:1rem;display:flex}.public-perf-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:1.25rem;padding:.75rem 1rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.public-perf-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translate(4px)}.public-perf-card .perf-seats-left{opacity:.8;margin-left:.25rem;font-size:.75rem}.perf-calendar-badge{background-color:rgba(var(--primary-rgb), .08);border:1px solid rgba(var(--primary-rgb), .2);border-radius:var(--radius-md);width:54px;height:54px;color:var(--primary);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;display:flex}.perf-calendar-badge .badge-month{text-transform:uppercase;opacity:.8;letter-spacing:.05em;font-size:.7rem;font-weight:800;line-height:1}.perf-calendar-badge .badge-day{margin:2px 0;font-size:1.25rem;font-weight:800;line-height:1}.perf-calendar-badge .badge-weekday{opacity:.8;font-size:.65rem;font-weight:600;line-height:1}.perf-card-info{flex-wrap:wrap;flex-grow:1;justify-content:space-between;align-items:center;gap:1rem;display:flex}.perf-card-date{color:var(--text-main);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;display:flex}.perf-card-meta{color:var(--text-muted);gap:1rem;margin-top:.2rem;font-size:.8rem;display:flex}.perf-meta-item{align-items:center;gap:.25rem;display:flex}.perf-meta-item svg{opacity:.7}.perf-meta-item.perf-meta-location-clickable{cursor:pointer;color:var(--primary);transition:opacity .2s}.perf-meta-item.perf-meta-location-clickable:hover{opacity:.85}.play-detail-section{border-top:1px solid var(--border);margin-top:4rem;padding-top:3rem}.play-detail-section h3{font-family:var(--font-heading);border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:700}.play-detail-section .play-detail-cast-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:2rem;display:grid}.play-detail-section .public-cast-card{text-align:center;flex-direction:column;align-items:center;display:flex}.play-detail-section .public-cast-card .cast-avatar-wrapper{border:2.5px solid var(--border);background-color:var(--bg-input);border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin-bottom:.75rem;display:flex;overflow:hidden}.play-detail-section .public-cast-card .cast-avatar-wrapper img{object-fit:cover;width:100%;height:100%}.play-detail-section .public-cast-card .cast-avatar-wrapper span{opacity:.3;font-size:1.5rem}.play-detail-section .public-cast-card .cast-name{color:var(--text-main);font-size:.9rem;font-weight:700;line-height:1.2}.play-detail-section .public-cast-card .cast-role{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.play-detail-section .sponsors-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-items:center;gap:2rem;display:grid}.play-detail-section .sponsor-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);justify-content:center;align-items:center;height:100px;padding:1.5rem;display:flex}.play-detail-section .sponsor-card img{object-fit:contain;max-width:100%;max-height:100%}.play-detail-section .sponsor-card span{font-size:2.5rem}.play-detail-section .press-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.play-detail-section .press-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:transform .2s,box-shadow .2s;display:flex}.play-detail-section .press-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px)}.play-detail-section .press-card .press-icon-box{background-color:rgba(var(--primary-rgb), .08);width:40px;height:40px;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.play-detail-section .press-card .press-info-box{flex-grow:1;min-width:0}.play-detail-section .press-card .press-info-box .press-title{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.play-detail-section .press-card .press-info-box .press-link{color:var(--primary);font-size:.8rem;font-weight:600}.play-detail-section .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;display:grid}.play-detail-section .gallery-grid .gallery-item{cursor:pointer;aspect-ratio:3/2;border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);display:block;overflow:hidden}.play-detail-section .gallery-grid .gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.play-detail-section .gallery-grid .gallery-item img:hover{transform:scale(1.05)}@media (width<=768px){.play-detail-main-grid{grid-template-columns:1fr;gap:2rem}.play-detail-poster-panel{max-width:320px;margin:0 auto;position:relative!important;top:0!important}}.public-lightbox-overlay{z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#000000f2;justify-content:center;align-items:center;padding:2rem;animation:.25s ease-out fadeIn;display:flex;position:fixed;inset:0}.public-lightbox-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:.5rem;transition:background-color .2s,transform .2s;display:flex;position:absolute;top:20px;right:20px}.public-lightbox-close:hover{background-color:#fff3;transform:scale(1.05)}.public-lightbox-nav{color:#fff;cursor:pointer;z-index:10002;background:#ffffff0d;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;padding:1rem;transition:background-color .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.public-lightbox-nav:hover{background-color:#fff3;transform:translateY(-50%)scale(1.05)}.public-lightbox-nav.nav-prev{left:20px}.public-lightbox-nav.nav-next{right:20px}.public-lightbox-content{flex-direction:column;align-items:center;gap:1rem;max-width:90%;max-height:85vh;display:flex;position:relative}.public-lightbox-img{object-fit:contain;border-radius:var(--radius-lg);border:1px solid #ffffff1a;max-width:100%;max-height:75vh;animation:.3s cubic-bezier(.34,1.56,.64,1) scaleIn;box-shadow:0 20px 40px #00000080}.public-lightbox-caption{color:#fff;text-shadow:0 2px 4px #000c;background-color:#0009;border:1px solid #ffffff0d;border-radius:30px;padding:.5rem 1.25rem;font-size:.95rem;font-weight:500}.public-hero.play-hero{background:radial-gradient(circle at 80% 20%, rgba(var(--primary-rgb), .15) 0%, transparent 60%), radial-gradient(circle at 10% 80%, #d9770614 0%, transparent 50%), var(--bg-app);text-align:left;align-items:center;min-height:85vh;padding:8rem 1.5rem 4rem;display:flex}.play-hero-container{z-index:10;width:100%;max-width:1200px;margin:0 auto;position:relative}.play-hero-grid{grid-template-columns:1fr 1.6fr;align-items:center;gap:4rem;display:grid}.play-hero-poster-col{border-radius:var(--radius-xl);box-shadow:0 20px 40px #00000080, 0 0 30px rgba(var(--primary-rgb), .15);aspect-ratio:2/3;background-color:var(--bg-card);border:1px solid #ffffff14;transition:transform .4s cubic-bezier(.165,.84,.44,1);display:flex;position:relative;overflow:hidden}.play-hero-poster-col:hover{transform:translateY(-8px)scale(1.01)}.play-hero-poster{object-fit:cover;width:100%;height:100%}.play-hero-poster-fallback{width:100%;color:var(--text-muted);opacity:.3;justify-content:center;align-items:center;display:flex}.play-hero-details-col{flex-direction:column;gap:1.5rem;display:flex}.play-hero-badge{text-transform:uppercase;letter-spacing:.1em;color:var(--secondary);background-color:var(--badge-secondary-bg);border:1px solid var(--badge-secondary-border);border-radius:var(--radius-full);align-self:flex-start;padding:.4rem 1.15rem;font-size:.775rem;font-weight:700;box-shadow:0 4px 12px #00000026}.play-hero-author{color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;font-weight:700}.play-hero-title{font-family:var(--font-heading);letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-main) 40%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:3.5rem;font-weight:800;line-height:1.15}.play-hero-desc{color:var(--text-muted);max-width:680px;margin:0;font-size:1.125rem;line-height:1.6}.play-hero-performances{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:var(--radius-lg);background-color:#161f3099;max-width:580px;padding:1.25rem 1.5rem}.play-hero-performances h3{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;color:var(--text-main);border-bottom:1px solid #ffffff0f;margin-top:0;margin-bottom:.75rem;padding-bottom:.5rem;font-size:.875rem;font-weight:700}.hero-perf-list{flex-direction:column;gap:.6rem;display:flex}.hero-perf-row{grid-template-columns:1.3fr 1fr 1.6fr 1fr;align-items:center;gap:.75rem;font-size:.85rem;display:grid}.hero-perf-row span{color:var(--text-main);align-items:center;gap:.4rem;display:flex}.hero-perf-row span svg{color:var(--primary);flex-shrink:0}.hero-perf-row .hero-perf-status{justify-content:flex-end;display:flex}.hero-perf-row .hero-perf-status .badge{border-radius:var(--radius-sm);padding:.2rem .5rem;font-size:.75rem;font-weight:600}.hero-perf-row .hero-perf-status .badge.badge-soldout{background-color:var(--danger-bg);color:var(--badge-danger-color);border:1px solid var(--badge-danger-border)}.hero-perf-row .hero-perf-status .badge.badge-available{background-color:var(--success-bg);color:var(--badge-success-color);border:1px solid var(--badge-success-border)}.play-hero-actions{gap:1.25rem;margin-top:.5rem;display:flex}.play-hero-actions .btn{align-items:center;gap:.6rem;display:inline-flex}@media (width<=992px){.public-hero.play-hero{min-height:auto;padding:7rem 1.5rem 3rem}.play-hero-grid{grid-template-columns:1fr;gap:2.5rem}.play-hero-poster-col{max-width:260px;margin:0 auto}.play-hero-details-col{text-align:center;align-items:center}.play-hero-badge{align-self:center}.play-hero-title{font-size:2.5rem}.play-hero-performances{width:100%;max-width:100%}.play-hero-actions{justify-content:center;width:100%}}@media (width<=576px){.hero-perf-row{border-bottom:1px solid #ffffff0d;grid-template-columns:1fr;gap:.4rem;padding-bottom:.4rem}.hero-perf-row:last-child{border-bottom:none;padding-bottom:0}.hero-perf-row .hero-perf-status{justify-content:flex-start;margin-top:.2rem}.play-hero-actions{flex-direction:column;gap:.75rem}.play-hero-actions .btn{justify-content:center;width:100%}}.play-detail-poster-pdf-wrapper{aspect-ratio:2/3;border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);border:1px solid var(--border);overflow:hidden}.public-about-page{min-height:80vh;padding-top:8rem;padding-bottom:4rem}.about-leitbild-container{border-top:1px solid var(--border);margin-top:4rem;padding-top:4rem}.public-about-container{grid-template-columns:1.2fr .8fr;align-items:center;gap:4rem;display:grid}.public-about-text p{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.65}.public-about-badge{flex-direction:column;gap:2rem;display:flex}.about-stats-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);padding:2rem}.about-stats-card .stats-number{font-family:var(--font-heading);color:var(--primary);margin-bottom:.25rem;font-size:3rem;font-weight:800;display:block}.about-stats-card .stats-label{color:var(--text-muted);font-size:.95rem;font-weight:600}.public-sponsors-flex{flex-wrap:wrap;justify-content:center;align-items:center;gap:3rem;margin-top:2rem;display:flex}.public-sponsor-item{background-color:var(--bg-app);border:1px solid var(--border-light);border-radius:var(--radius-md);justify-content:center;align-items:center;min-height:80px;padding:1rem 2rem;transition:all .2s;display:flex}.public-sponsor-item img{object-fit:contain;filter:grayscale();width:auto;max-height:50px;transition:all .2s}.public-sponsor-item:hover img{filter:none}.sponsor-text-fallback{color:var(--text-muted);font-size:.95rem;font-weight:700}.about-top-container{margin-bottom:4rem}.about-rich-content{color:var(--text-main);font-size:1.1rem;line-height:1.8}.about-member-section{border-top:1px solid var(--border);margin-top:5rem;padding-top:4rem}.about-member-section.standalone{border-top:none;margin-top:0;padding-top:0}.about-member-intro{text-align:center;max-width:600px;margin:0 auto 3rem}.about-group-container{margin-bottom:4rem}.about-group-title{font-family:var(--font-heading);border-bottom:1px solid var(--border);margin-bottom:2rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:700}.about-group-title.vorstand{color:var(--secondary);border-bottom-color:var(--secondary)}.about-group-title.members{color:var(--text-main)}.about-members-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:2.5rem;display:grid}.about-member-card{text-align:center;flex-direction:column;align-items:center;display:flex}.about-avatar-wrapper{border-radius:var(--radius-md);border:2px solid var(--border);background-color:var(--bg-input);justify-content:center;align-items:center;width:90px;height:115px;margin-bottom:1rem;transition:transform .2s,border-color .2s;display:flex;overflow:hidden}.about-avatar-wrapper.vorstand{border-color:#d9770666}.about-avatar-wrapper:hover{border-color:var(--primary);transform:scale(1.04)}.about-avatar-wrapper.vorstand:hover{border-color:var(--secondary)}.about-avatar-img{object-fit:cover;width:100%;height:100%}.about-avatar-placeholder{width:100%;height:100%;color:var(--text-muted);background-color:#ffffff08;justify-content:center;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.about-member-name{color:var(--text-main);font-size:.95rem;font-weight:700;line-height:1.2}.about-member-role{color:var(--text-muted);margin-top:.25rem;font-size:.75rem}.about-member-role.vorstand{color:var(--secondary);font-weight:600}.about-danken-section{max-width:900px;margin:0 auto}.about-danken-intro{max-width:650px;color:var(--text-muted);text-align:center;margin:0 auto 4rem;font-size:1.1rem;line-height:1.6}.about-danken-group{margin-bottom:4rem}.about-danken-group-title{font-family:var(--font-heading);color:var(--primary);border-bottom:1px solid var(--border);text-align:left;margin-bottom:2rem;padding-bottom:.5rem;font-size:1.75rem;font-weight:700}.patrons-list-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;margin-top:2rem;display:grid}.patron-name-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:.75rem;padding:1rem 1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.patron-name-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-2px)}.patron-name-card .patron-icon{color:var(--primary);align-items:center;display:inline-flex}.patron-name-card .patron-name{color:var(--text-main);font-size:.95rem;font-weight:600}.public-contact-page{min-height:80vh;padding-top:8rem;padding-bottom:4rem}.contact-grid{grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:4rem;display:grid}@media (width<=768px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}}.contact-card{background-color:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2.5rem}.contact-maps-wrapper{border-radius:var(--radius-lg);border:1px solid var(--border);height:450px;box-shadow:var(--shadow-lg);margin-top:2rem;position:relative;overflow:hidden}.contact-maps-iframe{border:0;width:100%;height:100%}.reservation-modal-card{max-width:750px!important;padding:2rem!important}.reservation-modal-grid{grid-template-columns:1.1fr 1.3fr;gap:2rem;display:grid}@media (width<=768px){.reservation-modal-grid{grid-template-columns:1fr;gap:1.5rem}}.reservation-venue-img{object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:100%;height:150px}.reservation-map-container{border-radius:var(--radius-md);background-color:var(--bg-input);border:1px solid var(--border);height:150px;color:var(--text-muted);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.reservation-map-placeholder-icon{opacity:.3}.reservation-map-iframe{border-radius:var(--radius-md);border:0;width:100%;height:100%}.reservation-success-box{text-align:center;padding:2rem 1rem}.reservation-success-box h2{margin-bottom:1rem;font-size:1.75rem;font-weight:800}.reservation-success-box p{color:var(--text-muted);margin-bottom:2rem;line-height:1.6}.reservation-success-icon{color:var(--success);margin-bottom:1.5rem}.reservation-summary-card{background-color:var(--bg-input);text-align:left;max-width:480px;margin:0 auto 2rem;padding:1.5rem}.reservation-summary-title{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.5rem;font-weight:700}.reservation-summary-details{flex-direction:column;gap:.5rem;font-size:.9rem;display:flex}.reservation-summary-total{border-top:1px dashed var(--border);justify-content:space-between;margin-top:.5rem;padding-top:.5rem;font-weight:700;display:flex}.reservation-info-card{background-color:var(--bg-input);text-align:left;padding:1rem}.reservation-info-title{margin:0 0 .5rem;font-size:.95rem;font-weight:700}.reservation-info-details{color:var(--text-muted);flex-direction:column;gap:.4rem;font-size:.85rem;display:flex}.reservation-tickets-price-total{border-top:1px solid var(--border);justify-content:space-between;margin-top:.5rem;padding-top:.75rem;font-size:1.1rem;font-weight:700;display:flex}.reservation-modal-title{font-family:var(--font-heading);margin-bottom:1.5rem;font-size:1.75rem;font-weight:800}.reservation-info-sidebar{flex-direction:column;gap:1rem;display:flex}.reservation-capacity-status{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.reservation-capacity-status svg{color:var(--primary)}.reservation-form{text-align:left;flex-direction:column;gap:1rem;display:flex}.reservation-form .form-group-half{margin-bottom:.5rem}.reservation-form .form-group-half .form-label-sm{font-size:.8rem}.reservation-form .tickets-section-title{border-bottom:1px solid var(--border);margin:.5rem 0 .25rem;padding-bottom:.25rem;font-size:.9rem;font-weight:700}.reservation-form .tickets-list{flex-direction:column;gap:.5rem;display:flex}.reservation-form .ticket-row{justify-content:space-between;align-items:center;display:flex}.reservation-form .ticket-row .ticket-info .ticket-name{font-size:.85rem;font-weight:600}.reservation-form .ticket-row .ticket-info .ticket-price{color:var(--text-muted);font-size:.75rem}.reservation-form .ticket-row .ticket-input{width:80px;padding:.375rem}.reservation-actions{gap:.5rem;margin-top:.5rem;display:flex}.reservation-actions .btn-cancel{flex:1}.reservation-actions .btn-submit{flex:1.5}
