*{box-sizing:border-box;margin:0;padding:0}:root{--gelb: #FFE500;--schwarz: #1d1d1b;--papier: #fff4e0;--weiss: #FFFFFF;--dialog-bg: #f7f5f1;--footer-bg: #1d1d1b;--gruen: #61cd8b;--rot: #FF3B36;--grau-text: #1d1d1b;--nav-inactive: rgba(29,29,27,.4);--border: rgba(29,29,27,.12);--border-stark: rgba(29,29,27,.25);--on-dark: #fff4e0;--on-dark-sub: rgba(255,244,224,.6);--on-dark-border: rgba(255,244,224,.12);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--font-heading: "hoss-round-narrow", system-ui, sans-serif;--font-statement: "pain-de-mie", system-ui, sans-serif;--font-body: "hoss-round-narrow", system-ui, sans-serif;--heading-weight: 700;--heading-ls: .02em;--statement-ls: .02em;--text-h0: 2rem;--text-h1: 1.75rem;--text-h2: 1.375rem;--text-h3: 1.125rem;--text-h4: 1.125rem;--text-xs: .8125rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.25rem;--rounded-xs: .25rem;--rounded-sm: .625rem;--rounded: .625rem;--rounded-lg: 1.25rem;--rounded-button: 1.25rem;--rounded-input: .5rem;--rounded-full: 9999px;--input-height: 2.625rem;--input-padding: var(--sp-4);--shadow-sm: 0 2px 8px rgba(29,29,27,.08);--shadow: 0 4px 16px rgba(29,29,27,.08);--shadow-md: 0 8px 32px rgba(29,29,27,.12);--header-height: 69px}@media screen and (min-width: 700px){:root{--text-h0: 3.5rem;--text-h1: 2.5rem;--text-h2: 2rem;--text-h3: 1.625rem;--text-h4: 1.375rem;--text-base: 1rem;--input-height: 3.125rem}}html{background:var(--papier)}@media (max-width: 639px){html,body{background:var(--schwarz)}}body{background:var(--papier);color:var(--schwarz);font-family:var(--font-body);font-weight:400;font-size:var(--text-base);line-height:1.6;min-height:100vh;max-width:480px;margin:0 auto;overflow-x:clip;-webkit-font-smoothing:antialiased;padding-top:var(--header-height)}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--heading-weight);letter-spacing:var(--heading-ls);line-height:1.15}.statement{font-family:var(--font-statement);font-weight:400;letter-spacing:var(--statement-ls);line-height:1}.display{font-family:var(--font-statement);letter-spacing:var(--statement-ls);line-height:.95}.page{padding:var(--sp-5) var(--sp-4) 100px;min-height:100vh}.header{height:var(--header-height);background:var(--papier);display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid var(--border);padding:var(--sp-4) max(var(--sp-4),calc(50% - 240px));box-sizing:border-box}.header h1{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:var(--heading-weight);letter-spacing:var(--heading-ls)}.header-logo{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:1.1rem;letter-spacing:var(--heading-ls);color:var(--schwarz)}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:0 var(--sp-6);height:var(--input-height);border-radius:var(--rounded-full);font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:var(--text-base);letter-spacing:var(--heading-ls);border:none;cursor:pointer;text-decoration:none;transition:opacity .2s ease;width:100%;background:var(--rot);color:var(--weiss);-webkit-font-smoothing:antialiased}@media (pointer: fine){.button:not([disabled]):hover,.btn:not([disabled]):hover{opacity:.85}}.button:disabled,.btn:disabled{opacity:.4;cursor:not-allowed}.button--secondary,.btn-secondary{background:var(--schwarz);color:var(--weiss)}.button--outline,.btn-outline{background:transparent;color:var(--schwarz);box-shadow:inset 0 0 0 2px var(--schwarz)}.button--sm{height:2.25rem;padding:0 var(--sp-4);font-size:var(--text-sm);width:auto}.button--lg{height:3.25rem;font-size:var(--text-lg)}.button--yellow{background:var(--gelb);color:var(--schwarz)}.btn-primary{background:var(--rot);color:var(--weiss)}.btn-black{background:var(--schwarz);color:var(--gelb);font-family:var(--font-statement);font-size:1.125rem;letter-spacing:var(--statement-ls)}.btn-danger{background:var(--rot);color:var(--weiss)}.card{background:var(--weiss);border-radius:var(--rounded-lg);padding:var(--sp-5);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-bottom:var(--sp-4)}.card-title{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:var(--text-h4);letter-spacing:var(--heading-ls);margin-bottom:var(--sp-1)}.card-sub{font-size:var(--text-sm);color:var(--grau-text);line-height:1.5}.festival-card{background:var(--weiss);border-radius:var(--rounded);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-2);text-decoration:none;display:block;transition:box-shadow .15s ease,transform .15s ease}@media (pointer: fine){.festival-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.festival-card:active{opacity:.85}.festival-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.festival-card-name{font-family:var(--font-heading);font-weight:700;font-size:var(--text-base);color:var(--schwarz);line-height:1.2}.festival-card-role{display:inline-block;background:var(--gruen);color:#fff;padding:3px 10px;border-radius:var(--rounded-full);font-family:var(--font-heading);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.festival-card-meta{font-size:var(--text-sm);color:var(--grau-text);font-weight:500}.festival-card-footer{display:flex;justify-content:flex-end;margin-top:var(--sp-3)}.festival-card-arrow{font-size:var(--text-xs);font-family:var(--font-heading);font-weight:700;color:var(--grau-text);letter-spacing:.04em}.badge{display:inline-block;padding:.25em .65em;border-radius:var(--rounded-full);font-family:var(--font-heading);font-size:.7rem;font-weight:var(--heading-weight);text-transform:uppercase;letter-spacing:.08em;border:1px solid transparent}.badge-lead{background:var(--gelb);color:var(--schwarz);border-color:#1d1d1b33}.badge-operator{background:var(--gruen);color:var(--weiss)}.badge-supporti_plus{background:#3b3bff;color:var(--weiss)}.badge-supporti{background:#1d1d1b14;color:var(--schwarz);border-color:var(--border-stark)}.badge-catering{background:#e06000;color:var(--weiss)}.section-title{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:var(--text-h3);letter-spacing:var(--heading-ls);color:var(--schwarz);margin:var(--sp-6) 0 var(--sp-3)}.input-group{margin-bottom:var(--sp-4)}.input-group label{display:block;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:var(--heading-weight);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--sp-2);color:var(--grau-text)}.input-group input,.input-group textarea,.input-group select{width:100%;height:var(--input-height);padding:0 var(--input-padding);border:1px solid var(--border-stark);border-radius:var(--rounded-input);font-size:var(--text-base);font-family:var(--font-body);background:var(--weiss);color:var(--schwarz);outline:none;transition:border-color .15s ease,box-shadow .15s ease;-webkit-font-smoothing:antialiased}.input-group input:focus,.input-group textarea:focus,.input-group select:focus{border-color:var(--schwarz);box-shadow:0 0 0 3px #1d1d1b14}.input-group textarea{height:auto;min-height:100px;padding:var(--sp-3) var(--input-padding);resize:vertical}.check-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border);cursor:pointer}.check-item:last-child{border-bottom:none}.check-box{width:22px;height:22px;border-radius:var(--rounded-xs);border:1.5px solid var(--border-stark);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;background:var(--weiss)}.check-box.checked{background:var(--gruen);border-color:var(--gruen);color:#fff}.check-label{font-size:var(--text-base);flex:1;font-weight:400}.check-label.checked{text-decoration:line-through;color:var(--grau-text)}.status-ok{color:var(--gruen);font-weight:700}.status-warn{color:#b35a00;font-weight:700}.festival-bar{background:var(--schwarz);color:var(--gelb);padding:var(--sp-3) var(--sp-4);font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:var(--sp-3)}.info-list{list-style:none}.info-list li{padding:var(--sp-3) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.info-list li:last-child{border-bottom:none}.info-list .info-icon{font-size:1.125rem;flex-shrink:0;margin-top:1px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--papier);border-top:1px solid var(--border);display:flex;z-index:100}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--sp-2) var(--sp-1) var(--sp-4);text-decoration:none;color:var(--nav-inactive);font-size:.65rem;font-weight:var(--heading-weight);letter-spacing:.06em;text-transform:uppercase;gap:var(--sp-1);transition:color .15s;font-family:var(--font-heading)}.bottom-nav a.active{color:var(--schwarz)}.bottom-nav a.active .nav-icon{background:var(--gelb);border-radius:var(--rounded-sm)}.nav-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1.125rem}.loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--grau-text);font-size:var(--text-sm);font-weight:500}.accordion-chevron{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#1d1d1b1a;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .2s}.accordion-chevron path{stroke:#1d1d1b80;transition:stroke .15s}.accordion-btn:hover .accordion-chevron,.accordion-btn:active .accordion-chevron,.accordion-chevron.is-open{background:var(--schwarz)}.accordion-btn:hover .accordion-chevron path,.accordion-btn:active .accordion-chevron path,.accordion-chevron.is-open path{stroke:#fff}.accordion-chevron.is-open{transform:rotate(180deg)}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;background:#f3e9d6}.accordion-content.is-open{grid-template-rows:1fr}.accordion-content>div{overflow:hidden}:focus-visible{outline:3px solid var(--gelb);outline-offset:2px}
