  @import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&display=swap');
  @font-face{font-family:'Immenhausen';src:url('assets/fonts/Immenhausen-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
  :root{--bg:#f5f0e8;--card:#fffdf8;--accent:#2d5a3d;--accent2:#8b4513;--text:#1a1a18;--muted:#7a7a6e;--border:#ddd8cc;}
  *{box-sizing:border-box;margin:0;padding:0;}
  body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;}
  header{background:var(--accent);color:white;padding:1.5rem 2rem;}
  header h1{font-family:'Immenhausen',serif;font-size:1.6rem;cursor:pointer;}
  header p{font-size:0.85rem;opacity:0.75;margin-top:0.15rem;}
  .container{max-width:700px;width:100%;margin:0 auto;padding:2rem 1.5rem;flex:1 1 auto;}
  body.start-screen{height:100dvh;min-height:100dvh;overflow:hidden;}
  body.start-screen .container{display:flex;align-items:center;justify-content:center;padding:1rem 1.5rem calc(1rem + env(safe-area-inset-bottom));overflow:hidden;}

  #screen-eingabe{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:2.5rem 2rem;text-align:center;margin-top:2rem;}
  body.start-screen #screen-eingabe{margin-top:0;width:100%;max-width:620px;}
  #screen-eingabe .icon{font-size:3rem;margin-bottom:1rem;}
  #screen-eingabe h2{font-family:'Immenhausen',serif;font-size:1.4rem;margin-bottom:0.5rem;}
  #screen-eingabe p{color:var(--muted);font-size:0.9rem;margin-bottom:1.5rem;}
  .eingabe-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0.7rem;max-width:520px;margin:0 auto;}
  .eingabe-row input{flex:1;padding:0.75rem 1rem;border:2px solid var(--border);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:1rem;transition:border-color 0.2s;}
  .eingabe-row input:focus{outline:none;border-color:var(--accent);}
  .eingabe-row button{grid-column:1 / -1;justify-content:center;}
  .fehler{color:#c0392b;font-size:0.88rem;margin-top:0.8rem;}

  #screen-formular{display:none;}
  .proto-header{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.2rem 1.4rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}
  .proto-header h2{font-family:'Immenhausen',serif;font-size:1.1rem;}
  .proto-header .meta{font-size:0.85rem;color:var(--muted);margin-top:0.2rem;}
  .phase-banner{border-radius:8px;padding:0.75rem 1rem;font-size:0.88rem;margin-bottom:1rem;}
  .banner-uebergabe-offen{background:#fff8e6;border:1px solid #f0c040;color:#7a5900;}
  .banner-uebergabe-done{background:#e8f4fd;border:1px solid #5b9bd5;color:#1a3a5c;}
  .banner-abnahme-done{background:#d1e7dd;border:1px solid #2d5a3d;color:#0a4129;}

  .section-title{font-family:'Immenhausen',serif;font-size:1.2rem;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:0.45rem;margin:1.7rem 0 1rem;}
  .haus-section-title{font-size:1.06rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;padding:0.55rem 1rem;border-radius:8px;margin:0 auto 0.8rem;display:block;text-align:center;width:100%;max-width:260px;}
  .haus-section-srh{background:rgba(45,90,61,0.1);color:#2d5a3d;}
  .haus-section-sjm{background:rgba(30,64,175,0.1);color:#1e40af;}
  .haus-group{border:1px solid var(--border);border-radius:12px;padding:0.9rem;margin:1rem 0;}
  .haus-group-srh{background:rgba(45,90,61,0.07);border-color:rgba(45,90,61,0.3);}
  .haus-group-sjm{background:rgba(30,64,175,0.07);border-color:rgba(30,64,175,0.28);}
  .haus-group-terrain{background:rgba(158,106,56,0.08);border-color:rgba(158,106,56,0.35);}

  .raum-block{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:0.8rem;transition:border-color 0.2s;}
  .raum-block.invalid{border-color:#c0392b;background:rgba(192,57,43,0.04);}
  .raum-block h4{font-size:0.9rem;font-weight:500;margin-bottom:0.7rem;color:var(--accent);}
  .raum-cols{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem;}
  .raum-col-title{font-size:0.78rem;font-weight:500;color:var(--muted);margin-bottom:0.3rem;text-transform:uppercase;letter-spacing:.05em;}

  .zustand-badge{display:inline-block;padding:0.25rem 0.7rem;border-radius:20px;font-size:0.82rem;font-weight:500;margin-bottom:0.3rem;}
  .badge-gut{background:#d1e7dd;color:#0a4129;}
  .badge-maengel{background:#fff3cd;color:#533f03;}
  .badge-schaden{background:#f8d7da;color:#6e1a1a;}
  .badge-leer{background:#f0ede6;color:#aaa;}
  .anmerkung-text{font-size:0.85rem;color:var(--muted);font-style:italic;}
  .bilder-wrap{margin-top:0.55rem;}
  .bilder-toolbar{display:flex;gap:0.5rem;flex-wrap:wrap;align-items:center;}
  .bilder-input{display:none;}
  .bilder-btn{display:inline-flex;align-items:center;gap:0.35rem;padding:0.35rem 0.75rem;border:1.5px solid var(--border);border-radius:20px;background:white;cursor:pointer;font-size:0.8rem;}
  .bilder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:0.45rem;margin-top:0.45rem;}
  .bild-item{position:relative;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#fff;}
  .bild-item img{display:block;width:100%;height:74px;object-fit:cover;}
  .bild-preview-btn{appearance:none;border:0;background:transparent;padding:0;display:block;width:100%;cursor:pointer;}
  .bild-remove{position:absolute;top:4px;right:4px;background:rgba(0,0,0,0.65);color:#fff;border:none;border-radius:999px;width:20px;height:20px;line-height:20px;font-size:12px;cursor:pointer;}
  .bilder-empty{font-size:0.78rem;color:var(--muted);font-style:italic;}

  .zustand-select{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:0.5rem;}
  .zustand-opt{padding:0.3rem 0.8rem;border:1.5px solid var(--border);border-radius:20px;font-size:0.82rem;cursor:pointer;transition:all 0.15s;background:white;user-select:none;}
  .zustand-opt.sel-gut{background:#d1e7dd;border-color:#2d5a3d;color:#0a4129;}
  .zustand-opt.sel-maengel{background:#fff3cd;border-color:#856404;color:#533f03;}
  .zustand-opt.sel-schaden{background:#f8d7da;border-color:#c0392b;color:#6e1a1a;}
  .field-error{font-size:0.78rem;color:#c0392b;margin-top:0.2rem;display:none;}
  .field-error.show{display:block;}
  .field-warn{font-size:0.78rem;color:#9a5a00;margin-top:0.2rem;display:none;}
  .field-warn.show{display:block;}
  .validierungs-fehler{background:#fdf0f0;border:1px solid #c0392b;border-radius:8px;padding:0.8rem 1rem;font-size:0.88rem;color:#c0392b;margin-bottom:1rem;display:none;}
  .validierungs-fehler.show{display:block;}
  .save-progress{display:none;background:#f6fbf7;border:1px solid #b9d8c0;border-radius:8px;padding:0.75rem 0.95rem;font-size:0.85rem;color:#1e3e2a;margin-bottom:0.8rem;white-space:pre-line;}
  .save-progress.show{display:block;}
  .checkliste-wrap{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:0.8rem 0.9rem;margin-bottom:0.9rem;}
  .checkliste-wrap.invalid{border-color:#c0392b;background:rgba(192,57,43,0.04);}
  .checkliste-title{font-size:0.82rem;font-weight:600;color:var(--accent);margin-bottom:0.45rem;text-transform:uppercase;letter-spacing:.05em;}
  .checkliste-item{display:flex;align-items:center;gap:0.45rem;font-size:0.9rem;margin-bottom:0.4rem;}
  .checkliste-item input[type="checkbox"],.checkliste-item input[type="radio"]{width:1.6rem;height:1.6rem;min-width:1.6rem;accent-color:var(--accent);cursor:pointer;}
  .checkliste-item span{display:flex;align-items:center;min-height:1.6rem;}
  .checkliste-item:last-child{margin-bottom:0;}
  .checkliste-empty{font-size:0.82rem;color:var(--muted);font-style:italic;}

  .sig-block{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1.2rem;margin-bottom:1rem;}
  .sig-block.invalid{border-color:#c0392b;background:rgba(192,57,43,0.04);}
  .sig-block h4{font-size:0.9rem;font-weight:500;color:var(--accent);margin-bottom:0.8rem;}
  .sig-wrap{position:relative;border:2px solid var(--border);border-radius:8px;background:#fff;touch-action:none;}
  .sig-wrap.invalid{border-color:#c0392b;}
  .sig-wrap canvas{display:block;width:100%;height:160px;cursor:crosshair;border-radius:6px;}
  .sig-hint{font-size:0.75rem;color:var(--muted);margin-top:0.3rem;}
  .sig-clear{position:absolute;top:6px;right:8px;background:none;border:none;font-size:0.78rem;color:var(--muted);cursor:pointer;padding:2px 6px;border-radius:4px;}
  .sig-clear:hover{background:var(--border);}
  .sig-saved{display:flex;align-items:center;gap:0.5rem;font-size:0.85rem;color:var(--accent);}
  .sig-saved img{border:1px solid var(--border);border-radius:4px;background:white;max-height:60px;}

  .btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.65rem 1.3rem;border-radius:8px;border:none;font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:500;cursor:pointer;transition:all 0.2s;}
  .btn-primary{background:var(--accent);color:white;}
  .btn-primary:hover{background:#1e3e2a;}
  .btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border);}
  .btn-secondary:hover{background:var(--border);}
  .btn-pdf{background:var(--accent2);color:white;}
  .btn-pdf:hover{background:#6b3410;}
  .aktionen{display:flex;gap:0.7rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap;}

  .spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,0.4);border-top-color:white;border-radius:50%;animation:spin 0.6s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  .img-lightbox{position:fixed;inset:0;background:rgba(0,0,0,0.78);z-index:1200;display:none;align-items:center;justify-content:center;padding:1rem;}
  .img-lightbox.open{display:flex;}
  .img-lightbox-content{position:relative;max-width:min(96vw,1200px);max-height:92vh;}
  .img-lightbox-content img{display:block;max-width:100%;max-height:92vh;border-radius:10px;box-shadow:0 18px 48px rgba(0,0,0,0.45);background:#111;}
  .img-lightbox-close{position:absolute;top:-0.7rem;right:-0.7rem;width:2rem;height:2rem;border:none;border-radius:999px;background:#fff;color:#111;font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,0.35);}
  .img-lightbox-actions{display:flex;justify-content:center;margin-top:0.7rem;}
  .img-share-btn{border:1px solid rgba(255,255,255,0.5);background:rgba(255,255,255,0.12);color:#fff;border-radius:999px;padding:0.45rem 1rem;font-family:inherit;font-size:0.9rem;cursor:pointer;}
  .img-share-btn:hover{background:rgba(255,255,255,0.2);}
  .toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);background:#1a1a18;color:white;padding:0.7rem 1.4rem;border-radius:8px;font-size:0.9rem;z-index:999;opacity:0;transition:opacity 0.3s;pointer-events:none;text-align:center;max-width:90vw;}
  .toast.show{opacity:1;}
  @media(max-width:560px){.raum-cols{grid-template-columns:1fr;}.eingabe-row{grid-template-columns:1fr;}.eingabe-row button{grid-column:auto;}body.start-screen .container{padding:0.9rem 1rem calc(0.9rem + env(safe-area-inset-bottom));}body.start-screen #screen-eingabe{padding:1.8rem 1.2rem;}}
  @media(max-width:560px){.checkliste-item input[type="checkbox"],.checkliste-item input[type="radio"]{width:1.8rem;height:1.8rem;min-width:1.8rem;}.checkliste-item span{min-height:1.8rem;}}
  @media(max-width:900px){input,select,textarea{font-size:16px!important;}}
