:root{--tanne:#2C4A3E;--tanne-d:#213931;--gold:#A87B1D;--gold-l:#E2B95A;--gold-t:#7A5910;--kalk:#ECEEEA;--schnee:#FBFCFA;--ink:#1F2A27;--grau:#55605C;--linie:#CCD2CB;--rot:#A23B22;
--serif:"Bodoni 72","Didot","Bodoni MT","Noto Serif Display","Playfair Display",Georgia,serif;--sans:"Avenir Next","Segoe UI",Roboto,"Helvetica Neue",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--kalk:#17211E;--schnee:#1E2A26;--ink:#E9EDE8;--grau:#A5AFAA;--linie:#37443F;--gold-t:#E2B95A;--rot:#E58A70}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:64px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--kalk);color:var(--ink);font:16px/1.55 var(--sans)}
a{color:var(--gold-t)}
:focus-visible{outline:3px solid var(--gold-l);outline-offset:2px}
[hidden]{display:none!important}

.gg-hero{background:var(--tanne);color:#fff;padding:calc(env(safe-area-inset-top) + 14px) 20px 18px}
.gg-bar{display:flex;align-items:center;justify-content:space-between;max-width:760px;margin:0 auto}
.gg-bar img{height:56px;width:auto}
.gg-adminlink{color:#fff;font-size:14px}
.gg-hero h1{font:400 clamp(38px,10.5vw,68px)/1.06 var(--serif);max-width:760px;margin:26px auto 8px;letter-spacing:-.005em}
.gg-hero-sub{max-width:760px;margin:0 auto 14px;color:#D6DFD9}
.gg-settlement{display:block;width:100%;max-width:760px;margin:0 auto;height:auto}
.gg-line{fill:none;stroke:var(--gold-l);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.gg-ridge{fill:none;stroke:#6E8A7E;stroke-width:1.5;stroke-linejoin:round}
.gg-u rect{fill:none;stroke:#8FA99D;stroke-width:1.5}
.gg-u text{font:13px var(--sans);fill:#C7D3CC}
.gg-u.is-own rect{stroke:#fff;stroke-width:3}
.gg-u.is-own text{fill:#fff;font-weight:600}
.gg-u.is-duty rect{fill:var(--gold-l);stroke:var(--gold-l)}
.gg-u.is-duty text{fill:var(--tanne-d);font-weight:700}
.gg-map{position:relative;max-width:760px;margin:0 auto}
.gg-settlement .gg-u rect.gg-hit{fill:transparent;stroke:none}
.gg-u[data-title]{cursor:pointer;outline:none}
.gg-u[data-title]:hover rect:not(.gg-hit),.gg-u[data-title]:focus-visible rect:not(.gg-hit){stroke:#fff;stroke-width:3}
.gg-u[data-title]:hover text,.gg-u[data-title]:focus-visible text{font-weight:600}
.gg-tip{pointer-events:none;position:absolute;z-index:6;max-width:min(320px,100%);padding:9px 12px;background:var(--schnee);color:var(--ink);border-left:4px solid var(--gold);box-shadow:0 3px 12px rgba(0,0,0,.35);font-size:15px;line-height:1.35}
.gg-tip strong,.gg-tip span{display:block}
.gg-tip strong{margin-bottom:2px}
.gg-legend{max-width:760px;margin:10px auto 0;font-size:14px;color:#D6DFD9;display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.gg-key{display:inline-block;width:14px;height:10px;margin-right:6px;border-radius:2px;vertical-align:baseline}
.gg-key-duty{background:var(--gold-l)}
.gg-key-own{border:2px solid #fff}
.gg-legend .gg-key-own{margin-left:0}

.gg-nav{position:sticky;top:0;z-index:5;display:flex;justify-content:center;gap:2px;overflow-x:auto;background:var(--tanne-d);padding:0 8px}
.gg-nav a{color:#fff;text-decoration:none;padding:13px 12px;font-size:15px;white-space:nowrap}
.gg-nav a:hover{text-decoration:underline}

.gg-main{max-width:760px;margin:0 auto;padding:8px 20px 80px}
.gg-sec{padding:30px 0 10px;border-bottom:1px solid var(--linie)}
.gg-sec:last-child{border-bottom:0}
h2{font:400 32px/1.15 var(--serif);margin:0 0 14px}
h3{font-size:17px;font-weight:600;margin:24px 0 6px}
.gg-note,.gg-empty{color:var(--grau)}
.gg-note{margin:-6px 0 12px;font-size:15px}
.gg-toast{background:var(--schnee);border-left:4px solid var(--gold);padding:10px 14px;margin:18px 0 0}
.gg-party{font:400 25px/1.25 var(--serif);border-bottom:2px solid var(--gold);padding:18px 0 14px;margin:8px 0 0}
.gg-pushcta{margin:20px 0 0;padding:16px;background:var(--schnee);border-left:4px solid var(--gold)}
.gg-pushcta p{margin:2px 0 12px}

.gg-dates,.gg-rota,.gg-bdays,.gg-docs,.gg-ios{list-style:none;margin:0;padding:0}
.gg-dates li,.gg-rota li{display:grid;grid-template-columns:128px 1fr auto;gap:4px 14px;align-items:baseline;padding:11px 0;border-top:1px solid var(--linie)}
.gg-when{font-size:15px;color:var(--grau)}
.gg-what span{display:block;font-size:15px;color:var(--grau)}
.gg-rota .gg-what strong{margin-right:4px}
.gg-tag{font-size:13px;color:var(--grau)}
.gg-cat-muell .gg-tag,.gg-cat-reinigung .gg-tag{color:var(--gold-t)}
.gg-rota li.is-mine{background:linear-gradient(90deg,rgba(168,123,29,.13),transparent);box-shadow:-8px 0 0 rgba(168,123,29,.13)}
.gg-rota li.is-done .gg-what{text-decoration:line-through;color:var(--grau)}
.gg-ok{color:var(--gold-t);font-size:14px}
@media (max-width:520px){.gg-dates li,.gg-rota li{grid-template-columns:1fr auto}.gg-when{grid-column:1/-1}.gg-dates .gg-tag{grid-row:2;grid-column:2}}

.gg-neighbours{margin:0}
.gg-neighbours dt{font-weight:600;margin-top:14px}
.gg-neighbours dd{margin:0}
.gg-neighbours a{display:inline-block;margin-left:10px;font-size:15px}
.gg-bdays li{display:flex;gap:14px;padding:6px 0}
.gg-bdays li span{font-weight:600}
.gg-sec article p{margin:0}
.gg-docs li{padding:6px 0}

.gg-btn{display:inline-block;font:600 15px var(--sans);min-height:44px;padding:10px 18px;border:0;border-radius:3px;background:var(--gold);color:#17120A;text-decoration:none;cursor:pointer}
.gg-btn:hover{background:var(--gold-l)}
.gg-btn:disabled{opacity:.6}
.gg-btn-quiet{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--grau)}
.gg-btn-quiet:hover{background:var(--schnee)}
.gg-btn-small{min-height:36px;padding:6px 12px;font-size:14px}
.gg-push .gg-btn{margin:4px 6px 4px 0}
.gg-ios{list-style:decimal;padding-left:22px;margin-bottom:8px}
.gg-form fieldset{border:0;border-top:1px solid var(--linie);padding:14px 0 6px;margin:18px 0 0}
.gg-form legend{font-weight:600;padding:0 8px 0 0}
.gg-check{display:flex;gap:10px;align-items:flex-start;padding:7px 0}
.gg-check input{width:20px;height:20px;flex:none;margin:2px 0 0;accent-color:var(--gold)}
.gg-field{display:block;margin:14px 0;font-size:15px}
.gg-field select{display:block;margin-top:4px;width:100%;max-width:380px;min-height:44px;padding:8px;font:16px var(--sans);background:var(--schnee);color:var(--ink);border:1px solid var(--grau);border-radius:3px}
.gg-row{display:flex;gap:12px}
.gg-row .gg-field{flex:1;margin-top:6px}
.gg-signoff{margin-top:30px}

.gg-login{background:var(--tanne);color:#fff;min-height:100vh}
.gg-login main{max-width:460px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 34px) 22px 40px}
.gg-login-mark{display:block;width:230px;height:auto;margin-bottom:22px}
.gg-login h1{font:400 26px/1.2 var(--serif);margin:20px 0 6px}
.gg-login p{color:#D6DFD9;margin:0 0 16px}
.gg-login form p{margin:0 0 14px;color:#fff}
.gg-login label{display:block;font-size:15px;margin-bottom:4px}
.gg-login input[type=text],.gg-login input[type=password]{width:100%;min-height:46px;padding:10px;font:16px var(--sans);border:0;border-radius:3px;color:#1F2A27;background:#fff}
.gg-login .login-remember label{display:flex;gap:8px;align-items:center}
.gg-login input[type=submit]{min-height:46px;width:100%;font:600 16px var(--sans);background:var(--gold-l);color:#17120A;border:0;border-radius:3px;cursor:pointer}
.gg-login-lost a{color:#fff}

.gg-hm-head{display:flex;gap:16px;align-items:center;margin-bottom:12px}
.gg-hm-head h2{margin:0 0 4px}
.gg-hm-head p{margin:0}
.gg-hm-head .gg-figure{width:72px;height:auto;flex:none}
.gg-danger{border-left:4px solid var(--rot);padding:8px 12px;background:var(--schnee);font-size:15px}
.gg-toast-err{border-left-color:var(--rot)}
.gg-form input[type=text],.gg-form textarea{display:block;width:100%;margin-top:4px;padding:10px;font:16px var(--sans);background:var(--schnee);color:var(--ink);border:1px solid var(--grau);border-radius:3px}
.gg-form input[type=file]{display:block;margin-top:6px;max-width:100%}
.gg-tickets{list-style:none;margin:0;padding:0}
.gg-tickets li{padding:12px 0;border-top:1px solid var(--linie)}
.gg-ticket-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.gg-ticket-note{margin:6px 0 0;padding-left:10px;border-left:2px solid var(--gold);font-size:15px}
.gg-st{flex:none;font-size:14px;color:var(--grau)}
.gg-st-arbeit{color:var(--gold-t);font-weight:600}
.gg-st-erledigt{color:var(--ink);font-weight:600}
.gg-fab{position:fixed;z-index:8;right:14px;bottom:calc(env(safe-area-inset-bottom) + 14px);display:flex;align-items:center;gap:6px;padding:6px 14px 6px 8px;background:var(--schnee);color:#1F2A27;background:#FBFCFA;text-decoration:none;font:600 14px var(--sans);border-radius:28px;box-shadow:0 2px 10px rgba(0,0,0,.3)}
.gg-fab .gg-figure{width:32px;height:44px}
.gg-main{padding-bottom:110px}
.gg-job{background:var(--kalk);min-height:100vh}
.gg-job main{max-width:620px;margin:0 auto;padding:28px 20px 48px}
.gg-job h1{font:400 32px/1.15 var(--serif);margin:22px 0 6px}
.gg-photo{max-width:100%;height:auto}
.gg-job .gg-btn{margin:4px 8px 4px 0}
