@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#203f35;--green:#1c493b;--muted:#738079;--paper:#f7f8f2;--line:#dfe4db;--lime:#deebaa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;font-size:15px}button,input,a{touch-action:manipulation}button,a,input{outline-offset:4px}button{font:inherit;cursor:pointer;border:0}button:disabled{opacity:.5;cursor:wait}a{color:inherit}header{height:90px;border-bottom:1px solid var(--line);padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#fffefb}.brand{text-decoration:none;font-family:Manrope,system-ui;font-size:26px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:9px}.brandmark{background:var(--green);color:var(--lime);width:35px;height:35px;border-radius:11px;display:grid;place-items:center;letter-spacing:0}.branddot{color:#8b9e56;margin-left:-8px}.header-right{display:flex;align-items:center;gap:16px;font-size:12px}#connection{max-width:230px}#connection:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#929e71;margin-right:7px}#connection.error{color:#a23a26}#connection.error:before{background:#b8442d}main{max-width:1380px;margin:auto;padding:40px 5vw 65px;min-height:calc(100vh - 160px)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#667b64;text-transform:uppercase;margin:0 0 14px}h1,h2,h3{font-family:Manrope,system-ui;letter-spacing:-1.5px}h1{font-size:clamp(32px,4vw,51px);font-weight:600;line-height:1.15;margin:0 0 15px}h2{font-size:23px;letter-spacing:-.8px;margin:0}h3{font-size:17px;letter-spacing:-.5px;margin:0}p{line-height:1.65}.muted{color:var(--muted)}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.intro p{margin:0;color:var(--muted)}.datechip{border:1px solid var(--line);border-radius:30px;padding:10px 16px;white-space:nowrap;font-size:12px;background:white}.notice{display:flex;align-items:flex-start;gap:10px;background:#edf0df;color:#596441;border:1px solid #e0e5cb;border-radius:12px;font-size:12px;line-height:1.6;padding:12px 16px;margin-bottom:26px}.notice strong{white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.metric{background:#fffefb;border:1px solid var(--line);border-radius:16px;padding:20px 24px}.metric .label{font-size:12px;color:var(--muted)}.metric .value{font:600 34px Manrope,system-ui;margin:5px 0}.metric .value small{font-size:17px;color:#96a095;font-weight:400}.metric .hint{font-size:11px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:26px;align-items:start}.panel{border:1px solid var(--line);background:#fffefb;border-radius:18px;overflow:hidden}.panelhead{display:flex;justify-content:space-between;align-items:center;padding:21px 22px;border-bottom:1px solid var(--line);gap:12px}.panelhead p{margin:5px 0 0;font-size:12px;color:var(--muted)}#map{height:426px;background:#e6ebdf;z-index:0}.mapfoot{padding:13px 20px;display:flex;flex-wrap:wrap;gap:16px;font-size:11px;color:var(--muted)}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.listhead{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px}.listhead span{color:var(--muted);font-size:12px}.groupcard{border:1px solid var(--line);background:#fffefb;border-radius:16px;padding:19px 21px;margin-bottom:13px}.grouptop{display:flex;align-items:center;gap:12px}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--gc) 13%,white);color:var(--gc);font-weight:800;font-family:Manrope}.groupname{flex:1}.groupname small{display:block;margin-top:4px;color:var(--muted);font-size:11px}.arrow{background:transparent;color:#7a8c78;font-size:24px;padding:5px 10px}.progress{height:5px;background:#e9ede4;border-radius:10px;margin:18px 0 13px;overflow:hidden}.progress span{height:100%;display:block;background:var(--gc,var(--green));border-radius:10px;transition:width .3s}.cardbottom{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.pill{font-size:10px;background:#eff1e9;color:#6c7a65;padding:5px 9px;border-radius:20px}.pill.done{background:#e4eed8;color:#3f663a}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.btn{background:var(--green);color:white;border-radius:10px;padding:13px 20px;font-weight:600;font-size:13px;min-height:44px}.btn.secondary{border:1px solid var(--line);background:white;color:var(--green)}.quiet{background:transparent;color:var(--muted);text-decoration:underline;padding:10px;font-size:12px}.post{padding:19px;border:1px solid var(--line);border-radius:16px;background:#fffefb;margin-bottom:13px;display:flex;gap:13px}.post.complete{background:#f2f5eb}.number{background:#edf0e6;min-width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:600;color:var(--gc,var(--green))}.postbody{flex:1;min-width:0}.postbody h3{margin:3px 0 6px}.postbody p{font-size:12px;color:var(--muted);margin:0 0 13px}.postactions{display:flex;align-items:center;gap:12px;justify-content:space-between}.postactions a{font-size:12px}.time{font-size:12px;color:#4c6c44}.nextroute{color:#7f905d;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.welcome{max-width:930px;margin:25px auto}.hero{background:var(--green);border-radius:24px;padding:45px;color:#f8faed;position:relative;overflow:hidden}.hero:after{content:'↗';position:absolute;right:35px;top:-45px;font-size:260px;font-family:Manrope;color:#b8cc9226;pointer-events:none}.hero h1{max-width:550px;position:relative;z-index:1}.hero p{color:#cad8bf;max-width:420px}.hero .eyebrow{color:var(--lime)}.entrygrid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}.entry{padding:26px}.entry p{font-size:13px;color:var(--muted)}label{display:block;font-size:12px;font-weight:600;margin:16px 0 7px}input{width:100%;padding:13px;border:1px solid #ced8ca;border-radius:9px;font:inherit;background:#fff;min-width:0}.entry .btn{margin-top:16px;width:100%}.demochoices{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.demochoices button{flex:1;min-width:100px}footer{max-width:1380px;margin:auto;padding:22px 5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:1.6px;color:#8a9485}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#263d32;color:white;z-index:2000;padding:16px 23px;border-radius:12px;box-shadow:0 8px 40px #0003;max-width:90vw;font-size:13px}#toast[hidden]{display:none}.pin{border:3px solid white;border-radius:50%;width:32px;height:32px;background:var(--gc);color:white;font:bold 12px system-ui;display:grid;place-items:center;box-shadow:0 2px 7px #0004}.pin.completed{background:#e3eccd;color:#375735}.leaflet-popup-content{font-family:'DM Sans',system-ui;line-height:1.6}.leaflet-container{font-family:system-ui}.allposts{margin-top:28px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{text-align:left;color:var(--muted);font-weight:500;background:#f3f5ed}th,td{padding:15px 20px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border:0}.empty{padding:22px;color:var(--muted)}.loading{padding:30px}.errorbox{background:#fbebe3;color:#923e28;padding:15px;border-radius:10px;line-height:1.5;margin:15px 0;font-size:13px}.small{font-size:11px;color:var(--muted)}@media(min-width:1100px){main{padding-left:55px;padding-right:55px}}@media(max-width:760px){header{height:73px;padding:0 20px}.brand{font-size:22px}.header-right{gap:3px;font-size:10px}#connection{max-width:130px}main{padding:27px 18px 45px}.intro{align-items:flex-start}.datechip{display:none}.metrics{gap:8px}.metric{padding:15px 12px}.metric .value{font-size:27px}.metric .label{font-size:10px}.metric .hint{font-size:10px}.workspace{grid-template-columns:1fr;gap:24px}.workspace .map-panel{order:2}#map{height:335px}.entrygrid{grid-template-columns:1fr}.hero{padding:30px 25px}.hero:after{right:0;font-size:200px}.notice{display:block}.notice strong{display:block;margin-bottom:3px}.panelhead{padding:18px}.postactions{flex-wrap:wrap}footer{font-size:8px;padding:20px 18px}.welcome{margin:0}.allposts{margin-top:22px}}
/* S.Clau address management */
dialog{border:1px solid var(--line);border-radius:20px;padding:0;background:var(--paper);color:var(--ink);width:min(720px,96vw);max-height:94dvh;box-shadow:0 20px 100px #1235}dialog::backdrop{background:#122c24aa;backdrop-filter:blur(3px)}.editorbody{padding:22px}.formrow{display:grid;grid-template-columns:2fr 1fr;gap:15px}.addressrow{display:flex;gap:8px;align-items:center}.addressrow input{flex:1}.addressrow button{flex-shrink:0}select{width:100%;padding:13px;border:1px solid #ced8ca;border-radius:9px;font:inherit;background:white;color:var(--ink)}#edit-map{height:280px;border-radius:12px;background:#e6ebdf;margin-top:15px;z-index:0}.search-result{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;background:white;border:1px solid var(--line);border-radius:9px;margin:7px 0;text-align:left;color:var(--ink);font-size:13px;gap:12px}.search-result span{font-size:11px;color:#728260;white-space:nowrap}.search-result:hover{background:#e9efdc}#save-post{width:100%;margin:10px 0}.hero:after{content:'✦';font-size:240px;top:-25px}dialog input{font-size:16px}@media(max-width:500px){.editorbody{padding:16px}#edit-map{height:245px}.search-result{display:block}.search-result span{display:block;margin-top:5px}.addressrow .btn{padding:12px}dialog .panelhead{padding:15px}}
/* Fortschrittsdiagramme */
.progress-panel{margin:0 0 25px}.progress-charts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:23px 12px 17px;gap:8px}.progress-chart{margin:0;padding:4px 10px;text-align:center;min-width:0}.progress-chart+ .progress-chart{border-left:1px solid var(--line)}.progress-chart figcaption{font-family:Manrope,system-ui;font-size:15px;font-weight:700;color:var(--chart-color)}.chart-ring{position:relative;width:136px;max-width:100%;aspect-ratio:1;margin:15px auto 9px}.chart-ring svg{display:block;width:100%;height:100%;fill:none;stroke-width:10}.ring-track{stroke:#e9ede4}.ring-value{stroke:var(--chart-color);stroke-linecap:butt}.chart-ring>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:700 30px Manrope,system-ui;letter-spacing:-1px}.chart-ring small{font-size:14px;margin-left:3px;color:var(--muted)}.progress-chart p{font-size:12px;color:var(--muted);margin:0}.chart-note{font-size:11px;color:var(--muted);padding:0 22px 18px;margin:0;text-align:center}.single-chart{grid-template-columns:1fr}.single-chart .chart-ring{width:150px}@media(max-width:760px){.progress-charts{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px 10px;gap:15px 6px}.progress-chart:nth-child(3){border-left:0}.chart-ring{width:120px}.chart-ring>span{font-size:28px}.chart-note{padding:0 17px 17px;text-align:left}.progress-charts.single-chart{grid-template-columns:1fr}}
/* Suita maps, walking routes and address details */
.map-tabs{display:flex;gap:6px;padding:13px;background:#f0f3e9;flex-wrap:wrap;border-bottom:1px solid var(--line)}.map-tab{flex:1;white-space:nowrap;padding:12px 10px;border-radius:9px;background:transparent;color:var(--ink);min-height:44px;font-size:12px}.map-tab.selected{background:var(--green);color:white;box-shadow:0 2px 8px #1232}.address-link{display:block;padding:4px 0 12px;background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:3px;text-align:left;font:inherit;font-size:13px;white-space:normal;line-height:1.6}.route-status{padding:10px 18px;border-top:1px solid var(--line);font-size:12px}.route-status p{margin:7px 0;border-left:3px solid var(--gc,#758267);padding-left:9px}.route-status .route-error{color:#9b4b30}.order-controls{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:10px;margin-top:8px}.order-controls span{flex:1;font-size:11px;color:var(--muted)}.order-controls button{padding:8px 15px}.order-controls button:disabled{cursor:default;opacity:.3}.detail-address{font-family:Manrope,system-ui;font-size:22px;font-weight:600;line-height:1.4;margin-top:0}.detail-subtitle{margin-top:25px}.detail-info{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.detail-facts{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:12px;margin:24px 0}.detail-facts dt{color:var(--muted)}.detail-facts dd{margin:0;overflow-wrap:anywhere}a.btn{text-decoration:none;display:inline-flex;align-items:center}textarea{display:block;width:100%;font:inherit;font-size:16px;padding:13px;border:1px solid #ced8ca;border-radius:9px;background:white;resize:vertical;min-height:100px}@media(max-width:500px){.map-tabs{gap:4px;padding:9px}.map-tab{padding:10px 6px;font-size:11px}.detail-address{font-size:20px}.detail-facts{grid-template-columns:110px 1fr}}
/* S.Clau / Samiklaus: warmes Rot, Creme und Gold */
:root{--ink:#4d292c;--green:#a32b36;--muted:#8b7774;--paper:#fcf7f0;--line:#eadbd1;--lime:#f2d59d}body{background:radial-gradient(ellipse at 100% 0,#f4e3d8 0,transparent 45%),var(--paper)}header{background:#862530;border-bottom:3px solid #d4ae68;color:#fff6e8}.brand{color:#fff6e8}.branddot{color:#f2d59d}.brandmark{background:#fff4df;border-radius:10px;width:39px;height:43px}.brandmark img{width:31px;height:35px;display:block}.header-right .quiet{color:#f4d8ca}#connection{color:#f5dfd3}#connection:before{background:#e4c981}#connection.error{color:#ffdc92}#connection.error:before{background:#ffbf63}.eyebrow{color:#a45a4d}.datechip{color:#9a4145;border-color:#e8cbb8;background:#fff9ed}.panel,.metric,.groupcard,.post{background:#fffdf8}.metric{border-top:3px solid #d9b579}.hero{background:linear-gradient(125deg,#7e202e,#ad3540);box-shadow:0 12px 35px #86253012}.hero .eyebrow{color:#efd296}.hero p{color:#f0d8c9}.hero:after{content:'';width:210px;height:230px;top:18px;right:28px;background:url('samiklaus.svg') center/contain no-repeat;opacity:.16;transform:rotate(9deg)}.hero h1{color:#fff7e8}.btn{box-shadow:0 2px 5px #86253012}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#fffcf7;border-color:#e4cec0}.quiet,.arrow{color:#96645d}.progress,.ring-track{background:#f1e8dd}.ring-track{stroke:#f1e8dd}.progress-panel .panelhead{background:#fbf0e5}.map-tabs{background:#f5e7dc}.map-tab.selected{background:#a32b36}.map-tab:not(.selected):hover{background:#ecd8c8}.chart-note{color:#957c72}.pill{background:#f3e8dc;color:#8e6655}.pill.done{background:#ede5cc;color:#716238}.post.complete{background:#f7f1e2}.number{background:#f6e9de}.time{color:#836332}.notice{background:#f8edd9;border-color:#eddbba;color:#8a6942}.search-result{background:#fffdf8}.search-result:hover{background:#f7e9dc}.search-result span{color:#a05c46}.detail-info{color:#69504a}.detail-facts dt{color:#977c72}.progress-chart figcaption{color:var(--chart-color)}#toast{background:#79232e}dialog{background:#fffaf2}dialog::backdrop{background:#411f25a6}footer{color:#a08476}input,select,textarea{border-color:#e0cfc0}input:focus,select:focus,textarea:focus{outline:2px solid #b94d55;outline-offset:2px}.loading{color:#9b4b44}@media(max-width:760px){header{border-bottom-width:2px}.brandmark{width:33px;height:37px}.brandmark img{width:27px;height:31px}.hero:after{width:165px;right:5px;top:23px}}
/* Wunschzeiten und bestätigte Planungsvorschläge */
.house-schedule{font-size:12px!important;color:#a32b36!important;margin:0 0 12px!important}.planning-fields{padding-top:9px;border-top:1px solid var(--line);margin-top:13px}#planner-dialog{width:min(1060px,96vw)}#plan-result{margin-top:25px}.proposal-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:20px 0}.proposal-comparison>section{background:#fffdf8;border:1px solid var(--line);border-radius:12px;padding:17px}.proposal-comparison>section:nth-child(2){border-color:#c9937d;background:#fff7ed}.proposal-list{padding-left:23px;margin-bottom:0}.proposal-list li{padding:12px 0;border-top:1px solid var(--line);font-size:13px}.proposal-list strong{display:block;overflow-wrap:anywhere}.proposal-time{margin:5px 0;font-size:12px;color:#8f5147}.late-warning{color:#ad312b;font-weight:600}.proposal-list .small{line-height:1.7}#calculate-plan{margin-top:10px}#planner-dialog .editorbody>p:first-child{margin-top:0}@media(max-width:760px){.proposal-comparison{grid-template-columns:1fr}.planning-fields{grid-template-columns:1fr 1fr}}
/* Direkter Beitritt zu einer Suita */
.group-join-buttons{display:grid;gap:10px;margin:18px 0}.group-join-buttons .btn{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:12px 15px;text-align:left}.group-join-buttons .btn>span:nth-child(2){flex:1}.join-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f5e3d9;color:#a32b36;font-weight:800}.code-login{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.code-login summary{cursor:pointer;font-size:12px;color:var(--muted);padding:5px 0}.group-join-buttons .btn:hover{border-color:#bd6b65;background:#fff3e8}
/* Vereinfachte Anmeldung: Suita zuerst, Organisation kompakt darunter */
.login-welcome{max-width:640px;margin:10px auto}.login-hero{padding:25px 30px;border-radius:18px}.login-hero h1{margin:0;font-size:42px;line-height:1.15}.login-hero:after{display:none}.login-stack{display:flex;flex-direction:column;gap:22px;margin-top:22px}.suita-selection{padding:25px}.suita-selection h2{font-size:24px}.suita-selection .group-join-buttons{margin-bottom:0}.organizer-compact{width:min(100%,420px);align-self:center;padding:18px 20px}.organizer-compact h2{font-size:16px;letter-spacing:-.3px}.organizer-fields{display:flex;align-items:flex-end;gap:10px}.organizer-fields>div{flex:1;min-width:0}.organizer-fields label{margin-top:12px;font-size:11px}.organizer-compact .btn{width:auto;margin:0;white-space:nowrap;padding:13px 16px}.organizer-fields input{padding:11px;font-size:16px;min-height:44px}@media(max-width:500px){.login-welcome{margin:0 auto}.login-hero{padding:22px 25px}.login-hero h1{font-size:36px}.suita-selection{padding:21px}.organizer-compact{padding:17px}.login-stack{gap:18px}}
/* Freiwillige GPS-Freigabe und geschützte Leiteransicht */
.gps-panel{margin:0 0 25px}.gps-panel h2{font-size:20px}.gps-body{padding:17px 22px}.gps-body>p:first-child{margin-top:0;font-size:13px}.gps-body .toolbar{margin-bottom:8px}.gps-body [hidden]{display:none}.gps-status{font-size:13px;color:#79632d}.gps-warning{font-size:13px;color:#a13d30;background:#fff0e4;border-radius:8px;padding:10px;line-height:1.6}.gps-location-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;font-size:12px}.gps-location-row+.gps-location-row{border-top:1px solid var(--line)}.gps-location-row strong{min-width:160px}.gps-footnote{font-size:11px;color:var(--muted);margin:0;padding:0 22px 18px;line-height:1.7}.gps-stale{background:#f5dfc7;color:#945126}.gps-pin{display:grid;place-items:center;width:38px;height:38px;border:3px solid white;border-radius:50%;background:var(--gc);color:white;box-shadow:0 0 0 4px #ffffff70,0 3px 12px #0004;font:800 10px system-ui}.gps-pin-stale{opacity:.5;border-style:dashed}@media(max-width:760px){.gps-body{padding:16px}.gps-panel .panelhead{flex-wrap:wrap}.gps-footnote{padding:0 16px 16px}.gps-location-row{gap:8px}}
