*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 12% 0%,rgba(183,154,90,.10),transparent 34rem),#f7f2e8;color:#2f312d;line-height:1.65;font-family:Georgia,"Times New Roman",serif}
a{color:#365943}

/* öffentliche Webseite */
.header{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:12px 44px;background:rgba(251,248,243,.94);border-bottom:1px solid #e6ddce}
.brand img{height:118px;display:block}
.nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap;font-family:Arial,sans-serif;font-size:16px}
.nav a{text-decoration:none;color:#365943}
.nav a:hover{text-decoration:underline;text-underline-offset:6px}
.login-link{border:1px solid rgba(54,89,67,.24);padding:8px 16px;border-radius:999px}
.hero{max-width:1280px;margin:auto;padding:52px 44px 54px;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center}
.tag,.mini-title{margin:0 0 14px;color:#365943;font-family:Arial,sans-serif;font-size:15px;font-weight:bold;letter-spacing:.05em;text-transform:uppercase}
h1{margin:0 0 22px;color:#365943;font-size:50px;line-height:1.12;max-width:860px}
.lead{max-width:780px;font-size:20px;margin-bottom:18px}
.claim{font-size:21px;font-weight:bold;color:#365943;margin:24px 0 30px}
.button,button{display:inline-block;background:#365943;color:white;padding:12px 22px;border-radius:30px;text-decoration:none;font-family:Arial,sans-serif;font-weight:bold;border:none;cursor:pointer}
.button:hover,button:hover{background:#284534}
.secondary,.button.secondary{background:#efe4ce!important;color:#365943!important;border:1px solid rgba(54,89,67,.22)!important}
.small,.button.small{padding:9px 15px;font-size:14px}
.danger{background:#f5dddd!important;color:#8a2c2c!important}
.hero-preview{background:#fffdf8;padding:28px;border-radius:22px;box-shadow:0 12px 30px rgba(0,0,0,.07);border:1px solid rgba(54,89,67,.10)}
.preview-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:14px}
.preview-head h3{margin:0;color:#365943;font-size:25px}
.preview-head span{color:#9b7d3f;font-family:Arial,sans-serif;font-size:13px;font-weight:bold}
.item{padding:12px 0;font-size:18px;border-top:1px solid #eee7dc}
.item span{display:inline-block;width:32px}
.preview-note{margin:18px 0 0;padding:14px 16px;background:#f7f2e8;border-radius:14px;color:#365943;font-size:16px}
.section{max-width:1180px;margin:auto;padding:52px 40px}
.section h2{margin:0 0 24px;font-size:35px;line-height:1.2;color:#365943}
.two-columns{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.story-box,.function-box{background:rgba(255,253,248,.72);border:1px solid rgba(54,89,67,.10);border-radius:24px;padding:32px;box-shadow:0 10px 24px rgba(0,0,0,.035)}
.story-box p,.simple p{font-size:19px;margin:10px 0}
.highlight{margin-top:24px!important;font-weight:bold;color:#365943}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:28px}
.features.compact{grid-template-columns:1fr 1fr;gap:16px;margin-top:0}
.feature{background:white;padding:19px;border-radius:18px;border:1px solid rgba(54,89,67,.10);box-shadow:0 8px 20px rgba(0,0,0,.035)}
.icon{font-size:27px;margin-bottom:6px}
.feature h3{margin:0 0 8px;color:#365943;font-size:20px}
.feature p{margin:0;font-size:16px}
.simple{max-width:920px;text-align:center}
.contact{background:#eee4cf;text-align:center;padding:70px 20px;border-top:1px solid rgba(54,89,67,.08)}
.contact h2{margin:0 0 16px;font-size:38px;color:#365943}
.contact p{font-size:20px;margin-bottom:28px}
.page{padding:46px 22px 68px}
.page-card{max-width:980px;margin:auto;background:rgba(255,253,248,.72);border:1px solid rgba(54,89,67,.10);border-radius:24px;padding:42px;box-shadow:0 12px 28px rgba(0,0,0,.04)}
.page-card h1{font-size:42px}
.page-card h2{color:#365943;font-size:27px;margin-top:32px;margin-bottom:12px}
.page-card p,.page-card li{font-size:18px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;margin-top:34px}
.contact-direct{background:#f7f2e8;border-radius:20px;padding:26px}
.quick-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.soft-note{color:#665f53}
.contact-form{background:white;padding:26px;border-radius:20px;border:1px solid rgba(54,89,67,.10)}
.contact-form label,.login-form label{display:block;margin-bottom:18px;font-family:Arial,sans-serif;color:#365943;font-weight:bold}
.contact-form input,.contact-form textarea,.login-form input{width:100%;margin-top:6px;padding:12px 13px;border:1px solid #d7cdbb;border-radius:10px;font:16px Arial,sans-serif;background:#fffdf8}
.contact-form textarea{resize:vertical}
.form-note{margin:16px 0 0;color:#365943;font-size:14px!important;font-family:Arial,sans-serif}
.legal{max-width:900px}
.footer{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;text-align:center;padding:26px 20px;color:#665f53;font-family:Arial,sans-serif;font-size:14px}
.footer a{color:#665f53}

/* Login */
.login-page{padding:52px 22px 72px}
.login-card{max-width:620px;margin:auto;background:rgba(255,253,248,.82);border:1px solid rgba(54,89,67,.10);border-radius:26px;padding:38px;box-shadow:0 12px 30px rgba(0,0,0,.055);text-align:left}
.login-logo{height:110px;display:block;margin:0 auto 18px}
.login-card h1{font-size:38px}
.login-intro{font-size:18px}
.login-choice{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.login-tile{display:block;background:white;border:1px solid rgba(54,89,67,.10);border-radius:20px;padding:24px;text-decoration:none;color:#2f312d;box-shadow:0 8px 20px rgba(0,0,0,.045)}
.login-tile h2{color:#365943;margin:8px 0}
.login-tile span{font-size:36px}

/* App */
.app-body{font-family:Arial,sans-serif;background:#f7f2e8}
.app-header{display:flex;align-items:center;gap:28px;padding:14px 28px;background:#fffdf8;border-bottom:1px solid #e6ddce;position:sticky;top:0;z-index:10}
.app-brand img{height:74px}
.app-nav{display:flex;gap:12px;flex-wrap:wrap}
.app-nav a{color:#365943;text-decoration:none;background:#f1eadb;border-radius:999px;padding:9px 14px;font-weight:bold}
.app-main{max-width:1180px;margin:auto;padding:36px 24px 70px}
.dashboard-welcome h1,.module-head h1{font-size:38px;color:#365943;margin:0 0 10px}
.dashboard-welcome p,.module-head p{font-size:18px}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:30px}
.dash-card{background:white;border:1px solid rgba(54,89,67,.10);border-radius:20px;padding:24px;text-decoration:none;color:#2f312d;box-shadow:0 8px 22px rgba(0,0,0,.05)}
.dash-card:hover{transform:translateY(-2px)}
.dash-icon{font-size:38px}
.dash-card h2{color:#365943;margin:12px 0 8px}
.dash-card p{margin:0;color:#5f5a52}
.layout-two{display:grid;grid-template-columns:390px 1fr;gap:24px;align-items:start;margin-top:28px}
.app-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:25px;align-items:start;margin-top:28px}
.card,.form-card,.module-card,.side-card{background:white;border:1px solid rgba(54,89,67,.10);border-radius:24px;padding:26px;box-shadow:0 8px 22px rgba(0,0,0,.045)}
.form-card h2,.list-head h2,.side-card h2{color:#365943;margin-top:0}
.form-grid{display:grid;grid-template-columns:1fr;gap:14px}
.form-grid.two{grid-template-columns:1fr 1fr}
.form-card label{display:block;font-weight:bold;color:#365943;font-size:14px}
.form-card input,.form-card select,.form-card textarea{width:100%;margin-top:6px;padding:11px;border:1px solid #d7cdbb;border-radius:10px;font:16px Arial,sans-serif;background:#fffdf8}
.form-card textarea{resize:vertical}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.list-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.inactive-head{margin-top:30px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}
.person-card,.wish-card{background:white;border:1px solid rgba(54,89,67,.10);border-radius:22px;padding:22px;box-shadow:0 8px 22px rgba(0,0,0,.045)}
.muted{opacity:.72}
.card-top,.wish-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}
.avatar{width:48px;height:48px;border-radius:50%;background:#365943;color:white;display:grid;place-items:center;font-weight:bold;font-size:22px}
.status,.pill{border-radius:999px;padding:6px 12px;font-size:13px;font-weight:bold}
.active{background:#e8f3ea;color:#365943}
.inactive{background:#eee4cf;color:#775f2d}
.person-card h2,.wish-card h2{color:#365943;margin:0 0 12px}
.person-card p,.wish-card p{margin:8px 0;color:#5f5a52}
.wish-message{background:#fffdf8;border-radius:14px;padding:12px;color:#2f312d!important}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.actions button{background:#f1eadb;color:#365943;padding:8px 11px;font-size:13px}
.empty{background:#fffdf8;border:1px dashed #d7cdbb;border-radius:18px;padding:20px;color:#665f53}
.info-item{padding:12px 0;border-bottom:1px solid #eee}
.info-item span{display:block;color:#777;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
.info-item strong{display:block;font-size:19px;margin-top:4px}
.side-stack{display:flex;flex-direction:column;gap:20px}
.side-note{background:#fffdf8;border-radius:18px;padding:18px;border:1px solid rgba(54,89,67,.10);color:#665f53}

@media(max-width:1000px){.two-columns,.contact-grid,.layout-two,.app-layout{grid-template-columns:1fr}.features.compact{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:900px){.header{align-items:flex-start;flex-direction:column;padding:16px 22px;gap:12px}.brand img{height:108px}.nav{gap:12px 18px;font-size:15px}.hero{grid-template-columns:1fr;padding:34px 22px 42px;gap:34px}h1,.page-card h1{font-size:36px;line-height:1.18}.lead{font-size:18px}.claim{font-size:20px}.section{padding:40px 22px}.section h2,.contact h2,.page-card h2{font-size:28px}.story-box,.function-box,.page-card{padding:24px}.app-header{align-items:flex-start;flex-direction:column}.app-brand img{height:68px}.module-head h1,.dashboard-welcome h1{font-size:32px}.app-main{padding:28px 18px 58px}.login-choice{grid-template-columns:1fr}}
@media(max-width:520px){.brand img{height:94px}.nav{font-size:14px}h1,.page-card h1{font-size:32px}.lead{font-size:17px}.claim{font-size:18px}.features.compact,.grid-cards{grid-template-columns:1fr}.login-card{padding:26px}.login-logo{height:88px}.app-nav a{font-size:14px}.card,.form-card,.module-card,.side-card,.person-card,.wish-card{padding:20px}}


.login-help{
  margin-top:24px;
  background:#fffdf8;
  border:1px solid rgba(54,89,67,.10);
  border-radius:18px;
  padding:18px;
}
.login-help h2{
  color:#365943;
  margin:0 0 8px;
  font-size:22px;
}
.logout-link{
  background:#f5dddd!important;
  color:#8a2c2c!important;
}


.superadmin-only{
  display:none;
}
.request-card{
  background:white;
  border:1px solid rgba(54,89,67,.10);
  border-radius:22px;
  padding:22px;
  box-shadow:0 8px 22px rgba(0,0,0,.045);
}
.request-card h2{
  color:#365943;
  margin:0 0 12px;
}
.request-meta{
  color:#665f53;
  font-size:14px;
}
.request-message{
  background:#fffdf8;
  border-radius:14px;
  padding:12px;
  margin-top:12px;
}
