:root{--ink:#0d4442;--teal:#347d78;--green:#a8cf1f;--orange:#ed6b3d;--paper:#f4f1e7;--white:#fff;--muted:#687d7b;--line:#cadbd8;font:18px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;background:var(--paper)}a{color:inherit}.site-header{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:14px clamp(20px,5vw,80px);background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.brand img{width:74px;height:74px;object-fit:contain}.brand span{display:grid;line-height:1.05}.brand b{font-size:24px}.brand small{color:var(--muted);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.site-header nav{display:flex;align-items:center;gap:10px}.site-header nav a{padding:12px 14px;text-decoration:none;font-weight:850;border-bottom:4px solid transparent}.site-header nav a:hover,.site-header nav a:focus-visible{border-color:var(--green)}.nav-toggle{display:none}.photo-hero{min-height:clamp(470px,68vh,760px);position:relative;overflow:hidden;display:grid;align-items:end;color:#fff}.photo-hero>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,45,43,.92),rgba(3,45,43,.55) 50%,rgba(3,45,43,.08))}.hero-copy{position:relative;z-index:1;padding:clamp(48px,7vw,110px) clamp(22px,7vw,110px);max-width:1000px}.eyebrow{color:var(--orange);font:900 .78rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;text-transform:uppercase}.hero-copy .eyebrow{color:#dff46a}.hero-copy h1,.page-title h1{font-size:clamp(54px,9vw,126px);line-height:.88;letter-spacing:-.065em;margin:.18em 0}.hero-copy>p:last-child{font-size:clamp(20px,2.2vw,30px);max-width:760px}.hero-logo{position:absolute!important;z-index:2;right:clamp(20px,6vw,90px);bottom:clamp(24px,6vw,80px);width:clamp(130px,20vw,300px)!important;height:clamp(130px,20vw,300px)!important;object-fit:contain!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.32))}.page-title{padding:clamp(50px,8vw,110px) clamp(20px,6vw,90px) clamp(34px,5vw,70px);background:#ede9dd}.site-main{max-width:1500px;margin:auto;padding:clamp(32px,5vw,76px) clamp(20px,5vw,76px)}.lead{font-size:clamp(21px,2.4vw,31px);max-width:900px;color:var(--muted)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.button,button.primary{display:inline-block;border:2px solid var(--teal);background:var(--teal);color:#fff;padding:14px 20px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:6px 6px 0 var(--green)}.button.secondary{background:#fff;color:var(--ink);box-shadow:none}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:34px 0}.card{background:#fff;border-top:10px solid var(--teal);padding:28px;box-shadow:10px 10px 0 #dfe8b2}.card:nth-child(3n+2){border-color:var(--green)}.card:nth-child(3n){border-color:var(--orange)}.card h2,.card h3{line-height:1.05;margin:.3em 0}.card h2{font-size:32px}.card h3{font-size:25px}.meta{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.meta span,.badge{background:#eaf1ef;padding:6px 9px;font-weight:800;font-size:.82rem}.section{margin:55px 0}.section>h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.045em}.notice,.flash{padding:20px 24px;border-left:8px solid var(--green);background:#f0f8d8;margin:22px auto}.flash{max-width:1500px}.flash.error,.notice.error{border-color:var(--orange);background:#fff0eb}.form-card{background:#fff;padding:clamp(22px,4vw,48px);border-top:10px solid var(--teal);box-shadow:12px 12px 0 #dfe8b2}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:7px;font-weight:850}input,select,textarea{width:100%;font:inherit;color:var(--ink);padding:13px;border:2px solid #abc3bf;background:#fff}input:focus,select:focus,textarea:focus{outline:3px solid #dceba0;border-color:var(--teal)}textarea{min-height:120px}.check{display:flex;align-items:flex-start;gap:10px}.check input{width:auto;margin-top:.35em}.offer-list{display:grid;gap:18px}.offer{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;background:#fff;border-left:10px solid var(--green);padding:24px}.offer h2{margin:.1em 0}.empty{padding:28px;border:3px dashed var(--line);background:#fff}.admin-bar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--ink);color:#fff;padding:18px 22px;margin-bottom:28px}.table-wrap{overflow:auto;background:#fff}.data-table{width:100%;border-collapse:collapse;min-width:850px}.data-table th,.data-table td{text-align:left;padding:13px;border-bottom:1px solid var(--line);vertical-align:top}.data-table th{background:#eaf1ef}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{min-width:130px}.login-card{max-width:650px;margin:auto}.setup-card{max-width:1050px;margin:5vh auto;background:#fff;padding:clamp(24px,5vw,64px);border-top:12px solid var(--teal);box-shadow:14px 14px 0 var(--green)}.setup-card h1{font-size:clamp(40px,7vw,76px);line-height:1;margin:.2em 0}.setup-card small{display:block;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:30px clamp(20px,5vw,80px);background:var(--ink);color:#fff}footer a{color:#fff}.honeypot{position:absolute;left:-10000px}.protected-docs{list-style:none;padding:0;display:grid;gap:10px}.protected-docs a{display:block;padding:15px;background:#fff;border-left:7px solid var(--green);font-weight:800}@media(max-width:850px){.site-header{align-items:flex-start}.nav-toggle{display:block;padding:10px 14px;border:2px solid var(--teal);background:#fff;color:var(--ink);font-weight:900}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:16px 20px;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{border-left:5px solid var(--green);border-bottom:0}.grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.hero-logo{width:120px!important;height:120px!important}.offer{grid-template-columns:1fr}.brand span{display:none}}@media(max-width:520px){.brand img{width:58px;height:58px}.hero-logo{display:none}.photo-hero{min-height:540px}.site-main{padding-inline:16px}.form-card{padding:20px}.actions .button{width:100%;text-align:center}}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--orange);background:#fff6f1}
/* Strukturierte Navigation der geschützten Verwaltung */
.nav-group{position:relative}.nav-group>summary{list-style:none;padding:12px 14px;border-bottom:4px solid transparent;font-weight:850;cursor:pointer;white-space:nowrap}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary::after{content:" ▾";color:var(--teal)}.nav-group[open]>summary,.nav-group>summary:hover,.nav-group>summary:focus-visible{border-color:var(--green)}.nav-submenu{position:absolute;right:0;top:calc(100% + 4px);display:grid;min-width:230px;padding:10px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 26px #0002}.site-header nav .nav-submenu a{border-left:5px solid transparent;border-bottom:0;padding:11px 14px}.site-header nav .nav-submenu a:hover,.site-header nav .nav-submenu a:focus-visible{border-left-color:var(--green);background:#f4f7ec}@media(max-width:850px){.nav-group{width:100%}.nav-group>summary{border-left:5px solid var(--green);border-bottom:0}.nav-submenu{position:static;min-width:0;margin:5px 0 8px 18px;box-shadow:none;border-left:2px solid var(--line)}}
/* Öffentlich lesbares Konzept der Mittagsbetreuung */
.information-page{max-width:1080px;margin:0 auto}.information-intro{margin-bottom:38px}.information-section{margin:22px 0;padding:clamp(22px,4vw,42px);background:#fff;border-left:9px solid var(--teal);box-shadow:9px 9px 0 #dfe8b2}.information-section:nth-of-type(3n+2){border-color:var(--green)}.information-section:nth-of-type(3n){border-color:var(--orange)}.information-section h2{margin:0 0 18px;font-size:clamp(29px,3.5vw,44px);line-height:1.08}.information-section p,.information-section li{max-width:82ch}.information-section li+li{margin-top:9px}
.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap}.section-title-row .actions{margin:0}
/* GTS-Tagebuch */
.diary-list{display:grid;gap:12px}.diary-column-heads,.diary-row{display:grid;grid-template-columns:112px minmax(190px,.7fr) 170px minmax(320px,1.7fr);gap:18px;align-items:start}.diary-column-heads{padding:0 20px;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.diary-row{background:#fff;border-left:8px solid var(--green);padding:20px}.diary-row:has(.absent-toggle input:checked){border-left-color:var(--orange);background:#fff7f3}.diary-row header{display:grid;gap:4px}.diary-row header strong{font-size:1.2rem}.diary-row textarea{min-height:90px}.absent-toggle{display:block;position:relative}.absent-toggle input{position:absolute;opacity:0;pointer-events:none}.absent-toggle span{display:grid;place-items:center;min-height:58px;padding:10px 14px;border:3px solid var(--green);background:#f1f8da;color:var(--ink);cursor:pointer;user-select:none;touch-action:manipulation}.absent-toggle input:focus-visible+span{outline:4px solid #a9d8d3;outline-offset:3px}.absent-toggle input:checked+span{border-color:var(--orange);background:var(--orange);color:#fff}.absent-toggle .state-absent{display:none}.absent-toggle input:checked+span .state-present{display:none}.absent-toggle input:checked+span .state-absent{display:block}.diary-filter{max-width:900px}.participant-photo{display:grid;gap:7px;width:100px}.participant-photo img,.participant-photo>span{display:grid;place-items:center;width:100px;height:100px;object-fit:cover;background:#eaf1ef;border:3px solid var(--line);font-size:42px}.participant-photo a{font-size:.72rem;font-weight:850;text-align:center}.participant-photo-small,.participant-photo-small img,.participant-photo-small>span{width:58px;height:58px}.participant-photo-small>span{font-size:26px}.participant-photo-preview,.participant-photo-preview img{width:180px;height:180px}.photo-upload-card{max-width:720px}.photo-upload-card form{display:grid;gap:22px;margin-top:24px}@media(max-width:850px){.diary-column-heads{display:none}.diary-row{grid-template-columns:86px minmax(0,1fr) 145px;padding:14px;gap:12px}.diary-row>.participant-photo{grid-row:1/3}.diary-row>label:last-child{grid-column:2/-1}.participant-photo,.participant-photo img,.participant-photo>span{width:76px;height:76px}.absent-toggle span{min-height:56px}.diary-save{position:sticky;bottom:10px;z-index:4}.diary-save button{width:100%}}@media(max-width:560px){.diary-row{grid-template-columns:76px minmax(0,1fr)}.diary-row>.absent-toggle{grid-column:2}.diary-row>label:last-child{grid-column:1/-1}}
/* Priorisierte, platzsparende Verwaltung */
.admin-create{margin:0 0 34px}.admin-create>summary{display:inline-block;list-style:none;border:2px solid var(--teal);background:var(--teal);color:#fff;padding:14px 20px;font-weight:900;cursor:pointer;box-shadow:6px 6px 0 var(--green)}.admin-create>summary::-webkit-details-marker{display:none}.admin-create[open]>summary{margin-bottom:18px}.admin-create>.form-card{margin-top:0}.priority-section{margin-top:38px}
/* Digitale Stundenaufstellung Jugendbegleiter */
.accounting-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-actions .card{display:flex;flex-direction:column;align-items:flex-start}.accounting-actions .card form{width:100%;display:grid;gap:16px}.accounting-actions .card .button{margin-top:auto}.hour-entry-list{display:grid;gap:28px;margin:30px 0}.hour-page-input{display:grid;gap:14px}.hour-page-input>h2{position:sticky;top:0;z-index:2;margin:0;padding:14px 18px;background:var(--ink);color:#fff}.hour-page-input>h2 small{font-size:.55em;color:#dfe8b2}.hour-page-input[hidden]{display:none}.hour-entry{border:2px solid var(--line);padding:18px;background:#f8faf9}.hour-entry legend{font-weight:900;color:var(--teal);padding:0 8px}.hour-entry-fields{display:grid;grid-template-columns:1.1fr 1.3fr .8fr .8fr .8fr;gap:12px}.hour-signature{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:14px;align-items:end;margin-top:14px}.hour-signature canvas{width:100%;height:92px;border:2px solid var(--teal);background:#fff;touch-action:none}.hour-signature .button{box-shadow:none}.hour-total{text-align:right;font-size:1.4rem;padding:18px;background:#eaf1ef}.hour-total strong{font-size:1.8rem}.hour-page-actions{justify-content:center}.hour-page-actions button[hidden]{display:none}@media(max-width:1050px){.hour-entry-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.hour-signature{grid-template-columns:1fr}.accounting-actions{grid-template-columns:1fr}}@media(max-width:520px){.hour-entry-fields{grid-template-columns:1fr}}
/* Persönlicher Tagebuchverlauf */
.participant-history-head{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:center;background:#fff;padding:30px;border-left:9px solid var(--teal)}.history-stats{display:flex;gap:14px;flex-wrap:wrap}.history-stats span{display:grid;min-width:150px;padding:16px;background:#eff6df;border-bottom:5px solid var(--green)}.history-stats span.absent{background:#fff0e9;border-color:var(--orange)}.history-stats strong{font-size:2rem;line-height:1}@media(max-width:650px){.participant-history-head{grid-template-columns:1fr}.history-stats span{min-width:120px;flex:1}}
/* Bestätigte Löschaktionen */
.button.danger,button.danger{border-color:var(--orange);background:var(--orange);color:#fff;box-shadow:none}.button.danger:hover,.button.danger:focus-visible,button.danger:hover,button.danger:focus-visible{background:#b83f20;border-color:#b83f20}.muted{color:var(--muted);font-size:.86rem}
