@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";
:root{--primary:#cc292b;--primary-hover:#a51d1e;--primary-subtle:#cc292b1a;--secondary:#e68a6e;--secondary-hover:#d37458;--neutral:#7a7d81;--neutral-light:#f4f4f4;--neutral-dark:#2a2c30;--bg:#fff;--bg-alt:#fafafa;--text-primary:#171717;--text-secondary:#4a5568;--surface-border:#e2e8f0;--success:#38a169;--warning:#dd6b20;--error:#e53e3e;--info:#3182ce;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);background:var(--bg);flex-direction:column;min-height:100vh;font-family:Inter,sans-serif;line-height:1.6;display:flex}main{flex:1}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.container-narrow{max-width:800px;margin:0 auto;padding:0 1.5rem}.section{padding:4rem 0}.section-alt{background:var(--bg-alt)}.section-title{color:var(--primary);text-align:center;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.section-subtitle{color:var(--text-secondary);text-align:center;max-width:700px;margin:0 auto 3rem;font-size:1.125rem}.btn{cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;padding:.6rem 1.5rem;font-family:inherit;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 4px #0000000d}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 15px #cc292b4d}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 25px #cc292b66}.btn-secondary{border:2px solid var(--primary);color:var(--primary);box-shadow:none;z-index:1;background:0 0;position:relative;overflow:hidden}.btn-secondary:before{content:"";background:var(--primary);z-index:-1;transform-origin:0;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;transform:scaleX(0)}.btn-secondary:hover:before{transform:scaleX(1)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #cc292b4d;color:#fff!important;border-color:var(--primary)!important}.btn-ghost{color:var(--text-primary);border:1px solid var(--surface-border);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--bg-alt);border-color:var(--primary-subtle);color:var(--primary)}.btn-outline-white{color:#fff;box-shadow:none;z-index:1;background:0 0;border:2px solid #fffc;position:relative;overflow:hidden}.btn-outline-white:before{content:"";z-index:-1;transform-origin:bottom;background:#fff;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;transform:scaleY(0)}.btn-outline-white:hover:before{transform:scaleY(1)}.btn-outline-white:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003;color:var(--primary)!important;border-color:#fff!important}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.hero{color:#fff;text-align:center;background-color:#0000;background-image:linear-gradient(90deg,#0f172aeb,#0f172aa6),url("/Freunde des Neuen Gymnasiums Cover.jpg");background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;padding:8rem 0}.hero-content{max-width:800px;margin:0 auto}.hero-title{margin-bottom:1.5rem;font-size:3.5rem;font-weight:700}.hero-subtitle{opacity:.9;margin-bottom:2.5rem;font-size:1.25rem}.hero-buttons{justify-content:center;gap:1rem;display:flex}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--surface-border);background:#fff;padding:2rem;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-elevated{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--surface-border);background:#fff;padding:2rem}.form-group{margin-bottom:1.5rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-weight:600;display:block}.form-input,.form-textarea,.form-select{border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--neutral-light);width:100%;padding:.75rem 1rem;font-family:inherit;font-size:1rem}.form-input:focus,.form-textarea:focus,.form-select:focus,.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-subtle);background:#fff;outline:none}.form-card{border:1px solid var(--surface-border);border-radius:var(--radius-lg);background:#fff;padding:2rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.form-label,label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-control{border:1px solid var(--surface-border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);background:#f8fafc;padding:.625rem .875rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-control::placeholder{color:#94a3b8}.page-header{background:var(--neutral-light);border-bottom:1px solid var(--surface-border);padding:3rem 0}.page-header h1{color:var(--primary);margin-bottom:.5rem;font-size:2.5rem}.page-header p{color:var(--text-secondary);font-size:1.125rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{border:1px solid var(--surface-border);border-radius:var(--radius-md);text-align:center;background:#fff;padding:1.5rem}.stat-card-value{color:var(--primary);margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.stat-card-label{color:var(--text-secondary);text-transform:uppercase;font-size:.875rem;font-weight:500}.stat-card-icon{margin-bottom:.5rem;font-size:2rem}.table-wrapper{border-radius:var(--radius-md);border:1px solid var(--surface-border);background:#fff;margin-bottom:2rem;overflow:hidden}.table-header{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.data-table{border-collapse:collapse;width:100%}.data-table th{background:var(--neutral-light);text-align:left;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--surface-border);padding:1rem 1.5rem;font-size:.875rem;font-weight:600}.data-table td{border-bottom:1px solid var(--surface-border);color:var(--text-primary);padding:1rem 1.5rem}.data-table tr:hover td{background:var(--bg-alt)}.badge{border-radius:var(--radius-full);text-transform:uppercase;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{color:#276749;background:#c6f6d5}.badge-warning{color:#c05621;background:#feebc8}.badge-error{color:#c53030;background:#fed7d7}.badge-info{color:#2b6cb0;background:#bee3f8}.badge-neutral{background:var(--neutral-light);color:var(--text-secondary)}.loading-spinner{border:3px solid var(--surface-border);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.quick-access-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.feature-card{text-align:left}.feature-icon{background:var(--primary-subtle);width:60px;height:60px;color:var(--primary);border-radius:var(--radius-md);justify-content:center;align-items:center;margin-bottom:1.5rem;font-size:1.5rem;display:flex}.events-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.event-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.event-card-image{background:var(--primary);color:#fff;justify-content:center;align-items:center;height:120px;font-size:3rem;display:flex}.event-card-body{flex:1;padding:1.5rem}.event-card-date{color:var(--primary);margin-bottom:.5rem;font-size:.875rem;font-weight:600}.event-card-body h3{margin-bottom:1rem}.event-card-meta{color:var(--text-secondary);gap:1rem;margin-top:1rem;font-size:.875rem;display:flex}.navbar{z-index:1000;-webkit-backdrop-filter:blur(16px);background:#ffffffd9;border-bottom:1px solid #0000000d;padding:1rem 1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:sticky;top:0;box-shadow:0 4px 30px #00000008}.navbar-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.navbar-brand{color:var(--primary);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;text-decoration:none;transition:opacity .2s;display:flex}.navbar-brand:hover{opacity:.8}.navbar-links{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.navbar-links a{color:var(--text-secondary);padding:.5rem 0;font-size:.95rem;font-weight:600;text-decoration:none;transition:color .3s;position:relative}.navbar-links a:after{content:"";background:var(--primary);border-radius:2px;width:0;height:2px;transition:width .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-4px;left:0}.navbar-links a:hover:after,.navbar-links a.active:after{width:100%}.navbar-links a:hover,.navbar-links a.active{color:var(--primary)}.navbar-auth{gap:.75rem;display:flex}.navbar-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:.5rem;display:none}.navbar-toggle span{background:var(--text-primary);width:25px;height:2px;transition:all .3s}.navbar-mobile{border-top:1px solid var(--surface-border);background:#fff;flex-direction:column;gap:1rem;margin-top:.75rem;padding:1.5rem 0;display:none}.navbar-mobile a{color:var(--text-secondary);padding:.5rem 0;font-weight:500;text-decoration:none}.navbar-mobile a:hover{color:var(--primary)}@media (max-width:768px){.navbar-links,.navbar-auth{display:none}.navbar-toggle,.navbar-mobile{display:flex}}.footer{background:var(--neutral-dark);color:#fff;margin-top:auto;padding:4rem 0 2rem}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;margin-bottom:3rem;display:grid}.footer-brand p{color:#a0aec0;font-size:.875rem;line-height:1.6}.footer h4{color:#fff;margin-bottom:1.5rem;font-size:1.125rem;font-weight:600}.footer-links{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.footer-links a{color:#a0aec0;font-size:.875rem;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.footer-bottom{color:#a0aec0;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;font-size:.875rem;display:flex}@media (max-width:768px){.footer-bottom{text-align:center;flex-direction:column}}.auth-page{background:var(--bg-alt);justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2rem;display:flex}.auth-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--surface-border);background:#fff;width:100%;max-width:450px;padding:3rem 2.5rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{color:var(--primary);margin-bottom:.5rem;font-size:1.75rem}.auth-header p{color:var(--text-secondary);font-size:.95rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:2rem;font-size:.9rem}.auth-footer a{color:var(--primary);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:600px){.form-row{grid-template-columns:1fr}}.btn-block{width:100%}.alert{border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.alert-error{color:#c53030;background:#fed7d7;border:1px solid #f5c6c6}.alert-info{color:#2b6cb0;background:#bee3f8;border:1px solid #b3d4ea}
