.login-container{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;background:#f8fafc;overflow-x:hidden;overflow-y:auto}.login-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem}.login-logo svg{color:#64748b}.login-container h2{font-size:1.25rem;font-weight:500;color:#1e293b;margin-bottom:0}.login-form{display:flex;flex-direction:column;width:100%;max-width:360px;background:#fff;padding:1.5rem;border-radius:.5rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.login-form .form-group{margin-bottom:1rem}.login-form .form-group label{display:block;margin-bottom:.375rem;font-weight:500;font-size:.6875rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.login-form .form-group input{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;box-sizing:border-box;font-size:.875rem;color:#1e293b;background:#fff;transition:border-color .1s}.login-form .form-group input::placeholder{color:#94a3b8}.login-form .form-group input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 2px #ccfbf1}.login-btn{background-color:#1e293b;color:#fff;border:none;padding:.625rem 1rem;border-radius:.375rem;cursor:pointer;font-size:.875rem;font-weight:500;margin-top:.5rem;transition:background-color .1s}.login-btn:hover{background-color:#334155}.login-btn:active{transform:scale(.99)}.login-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #5eead4}.login-form .error-message{color:#991b1b;margin-bottom:1rem;padding:.625rem .75rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;font-size:.8125rem}@media (max-width: 480px){.login-container{padding:1rem}.login-logo{margin-bottom:1.5rem}.login-container h2{font-size:1.125rem}.login-form{padding:1.25rem}.login-form .form-group input{padding:.5rem .625rem;font-size:1rem}.login-btn{padding:.75rem;font-size:.9375rem}}.tenant-form{margin-bottom:1.5rem}.tenant-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;margin-bottom:1rem}.tenant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.tenant-label{font-weight:500;color:#374151}.form-row .form-group{flex:1}.form-group{margin-bottom:.75rem}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#4b5563;margin-bottom:.25rem}.form-group input,.form-group textarea{width:100%;padding:.625rem .75rem;font-size:1rem;font-family:inherit;border:1px solid #d1d5db;border-radius:6px;background:#fff;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{resize:vertical;min-height:60px}.btn-secondary{width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:500;color:#374151;background:#fff;border:1px dashed #d1d5db;border-radius:8px;cursor:pointer;transition:background-color .15s,border-color .15s}.btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.btn-add-tenant{margin-top:.5rem}.aspect-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.75rem;overflow:hidden}.aspect-card.has-issues{border-color:#fcd34d;background:#fffbeb}.aspect-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.aspect-header:hover{background:#00000005}.aspect-title-row{display:flex;align-items:center;gap:.5rem}.expand-icon{color:#6b7280}.aspect-label{font-size:.9375rem;font-weight:500;color:#374151}.aspect-status{flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:9999px}.status-badge.okay{background:#d1fae5;color:#065f46}.status-badge.issues{background:#fef3c7;color:#92400e}.aspect-content{padding:0 1rem 1rem;border-top:1px solid #e5e7eb}.aspect-card.has-issues .aspect-content{border-top-color:#fcd34d}.issue-chips{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem}.issue-chip{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;cursor:pointer;transition:all .15s}.issue-chip:hover{background:#fef3c7;border-color:#fcd34d;color:#92400e}.issue-chip:active{transform:scale(.95)}.sonstiges-input{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem;background:#f9fafb;border-radius:8px}.sonstiges-input input{flex:1;padding:.5rem .75rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;outline:none}.sonstiges-input input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a}.btn-sonstiges-photo{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;color:#fff;background:#2563eb;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.btn-sonstiges-photo:hover:not(:disabled){background:#1d4ed8}.btn-sonstiges-photo:disabled{opacity:.5;cursor:not-allowed}.btn-cancel-sonstiges{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#6b7280;background:none;border:none;border-radius:50%;cursor:pointer}.btn-cancel-sonstiges:hover{background:#e5e7eb;color:#374151}.documented-issues{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.issue-item{background:#fff;border:1px solid #fcd34d;border-radius:8px;padding:.75rem}.issue-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.issue-label{font-size:.875rem;font-weight:600;color:#92400e}.btn-remove-issue{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:#dc2626;background:#fee2e2;border:none;border-radius:50%;cursor:pointer;transition:all .15s}.btn-remove-issue:hover{background:#fecaca}.issue-photos{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.issue-photo{position:relative;width:64px;height:64px;border-radius:6px;overflow:hidden}.issue-photo img{width:100%;height:100%;object-fit:cover}.issue-photo .btn-remove-photo{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#fff;background:#0009;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .15s}.issue-photo:hover .btn-remove-photo{opacity:1}.btn-add-photo{display:flex;align-items:center;justify-content:center;width:64px;height:64px;color:#6b7280;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:6px;cursor:pointer;transition:all .15s}.btn-add-photo:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.issue-note input{width:100%;padding:.5rem .75rem;font-size:.8125rem;color:#374151;background:#fefce8;border:1px solid #fde68a;border-radius:6px;outline:none}.issue-note input:focus{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b1a}.issue-note input::placeholder{color:#9ca3af}.simple-aspect{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}.simple-aspect-title{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.simple-status-options{display:flex;flex-direction:column;gap:.5rem}.status-option{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-size:.9375rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .15s}.status-option.okay{color:#065f46;background:#d1fae5;border:2px solid #10b981}.status-option.okay:hover{background:#a7f3d0}.status-option.okay.selected{box-shadow:0 0 0 3px #10b98133}.status-option.issues{color:#92400e;background:#fef3c7;border:2px solid #f59e0b}.status-option.issues:hover{background:#fde68a}.simple-issue-form{display:flex;flex-direction:column;gap:.75rem}.simple-issue-form textarea{width:100%;padding:.75rem;font-size:.9375rem;font-family:inherit;color:#374151;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;resize:vertical;outline:none}.simple-issue-form textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.simple-form-actions{display:flex;gap:.5rem}.simple-form-actions .btn-photo{display:inline-flex;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:#fff;background:#2563eb;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.simple-form-actions .btn-photo:hover:not(:disabled){background:#1d4ed8}.simple-form-actions .btn-photo:disabled{opacity:.5;cursor:not-allowed}.simple-form-actions .btn-cancel{padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:#6b7280;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.simple-form-actions .btn-cancel:hover{background:#e5e7eb;color:#374151}.simple-issue-display{display:flex;flex-direction:column;gap:.75rem}.simple-issue-header{display:flex;align-items:center;justify-content:space-between}.issue-badge{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;color:#92400e;background:#fef3c7;border-radius:9999px}.btn-reset{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;color:#6b7280;background:none;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .15s}.btn-reset:hover{background:#f3f4f6;color:#374151}.simple-issue-display textarea{width:100%;padding:.75rem;font-size:.9375rem;font-family:inherit;color:#374151;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;resize:vertical;outline:none}.simple-issue-display textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.simple-photos{display:flex;flex-wrap:wrap;gap:.5rem}.simple-photo{position:relative;width:80px;height:80px;border-radius:8px;overflow:hidden}.simple-photo img{width:100%;height:100%;object-fit:cover}.simple-photo .btn-remove-photo{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:#fff;background:#0009;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .15s}.simple-photo:hover .btn-remove-photo{opacity:1}.simple-photos .btn-add-photo{display:flex;align-items:center;justify-content:center;width:80px;height:80px;color:#6b7280;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;transition:all .15s}.simple-photos .btn-add-photo:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.room-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:.75rem;overflow:hidden;box-shadow:0 1px 2px #00000008}.room-card.has-issues{border-color:#f59e0b;border-left:2px solid #f59e0b}.room-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none}.room-header:hover{background:#f1f5f9}.room-header.no-toggle{cursor:default}.room-header.no-toggle:hover{background:#f8fafc}.room-title-area{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.room-badges{display:flex;align-items:center;gap:.375rem}.room-name{font-size:.875rem;font-weight:500;color:#1e293b;margin:0;display:flex;align-items:center;gap:.5rem}.edit-icon{font-size:.6875rem;opacity:0;transition:opacity .1s}.room-name:hover .edit-icon{opacity:.5}.room-name-input{font-size:.875rem;font-weight:500;color:#1e293b;padding:.25rem .5rem;border:1px solid #14b8a6;border-radius:.25rem;background:#fff;width:140px}.room-name-input:focus{outline:none;box-shadow:0 0 0 2px #ccfbf1}.photo-count{font-size:.6875rem;font-weight:500;color:#64748b;background:#e2e8f0;padding:.0625rem .375rem;border-radius:9999px}.issue-count{font-size:.6875rem;font-weight:600;color:#92400e;background:#fef3c7;padding:.0625rem .375rem;border-radius:9999px}.room-actions{display:flex;align-items:center;gap:.375rem}.btn-remove-room{width:28px;height:28px;background:transparent;border:none;border-radius:.375rem;cursor:pointer;opacity:.4;transition:opacity .1s,background-color .1s;display:flex;align-items:center;justify-content:center}.btn-remove-room:hover{opacity:1;background:#fef2f2}.expand-icon{font-size:.75rem;color:#64748b}.room-content{padding:1rem;border-top:1px solid #e2e8f0}.room-photos{margin-bottom:.875rem}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem}.photo-item{position:relative;aspect-ratio:4/3;border-radius:.375rem;overflow:hidden;border:1px solid #e2e8f0}.photo-item img{width:100%;height:100%;object-fit:cover}.btn-remove-photo{position:absolute;top:3px;right:3px;width:18px;height:18px;background:#0009;color:#fff;border:none;border-radius:50%;font-size:.625rem;cursor:pointer;opacity:0;transition:opacity .1s;display:flex;align-items:center;justify-content:center}.photo-item:hover .btn-remove-photo{opacity:1}.btn-add-photo{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:4/3;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:.375rem;cursor:pointer;transition:all .1s}.btn-add-photo:hover{background:#f0fdfa;border-color:#14b8a6}.btn-add-photo .camera-icon{font-size:1.25rem;margin-bottom:.125rem;color:#64748b}.btn-add-photo:hover .camera-icon{color:#0f766e}.btn-add-photo span:last-child{font-size:.6875rem;font-weight:500;color:#64748b}.btn-add-photo:hover span:last-child{color:#0f766e}.room-notes{margin-bottom:.875rem}.room-notes label{display:block;font-size:.6875rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.room-notes textarea{width:100%;padding:.5rem .75rem;font-size:.875rem;font-family:inherit;color:#1e293b;border:1px solid #e2e8f0;border-radius:.375rem;resize:vertical;min-height:56px;transition:border-color .1s}.room-notes textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 2px #ccfbf1}.room-photos-label{display:block;font-size:.6875rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.room-aspects{margin-top:.875rem;padding-top:.875rem;border-top:1px solid #e2e8f0}.aspects-title{font-size:.6875rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.room-list{display:flex;flex-direction:column;height:100%}.room-tabs-container{margin:-1rem -1rem 0;padding:0;background:#fff;border-bottom:1px solid #e2e8f0}.room-tabs{display:flex;overflow-x:auto;padding:.5rem .75rem;gap:.375rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.room-tabs::-webkit-scrollbar{display:none}.room-tab{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s}.room-tab:hover{background:#e2e8f0}.room-tab.active{background:#14b8a6;border-color:#14b8a6;color:#fff}.room-tab.has-content:not(.active){background:#ecfdf5;border-color:#a7f3d0;color:#047857}.room-tab-name{max-width:80px;overflow:hidden;text-overflow:ellipsis}.room-tab-check{display:flex;align-items:center;justify-content:center}.room-tab.add-tab{padding:.375rem .5rem;background:#fff;border-style:dashed;color:#94a3b8}.room-tab.add-tab:hover{background:#f0fdfa;border-color:#14b8a6;color:#14b8a6}.room-single{flex:1;min-height:0}.room-single .room-card{margin-bottom:0;border:none;box-shadow:none;background:transparent}.room-single .room-header{background:#fff;border-radius:.5rem .5rem 0 0;border:1px solid #e2e8f0;border-bottom:none}.room-single .room-content{background:#fff;border-radius:0 0 .5rem .5rem;border:1px solid #e2e8f0;border-top:none}.empty-rooms{text-align:center;padding:2rem 1rem;color:#64748b}.empty-rooms p{margin:0 0 1rem;font-size:.875rem}.add-room-section{padding:1rem 0}.default-rooms{margin-bottom:.75rem}.quick-add-label{display:block;font-size:.75rem;font-weight:500;color:#64748b;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.025em}.default-room-chips{display:flex;flex-wrap:wrap;gap:.375rem}.default-room-chip{padding:.375rem .625rem;font-size:.75rem;font-weight:500;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;cursor:pointer;transition:all .15s}.default-room-chip:hover{background:#f0fdfa;border-color:#14b8a6;color:#0f766e}.btn-add-custom-room{width:100%;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:.5rem;cursor:pointer;transition:all .15s}.btn-add-custom-room:hover{background:#f8fafc;border-color:#94a3b8;color:#475569}.add-room-form{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.add-room-form .room-name-input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid #e2e8f0;border-radius:.375rem;margin-bottom:.75rem}.add-room-form .room-name-input:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 2px #ccfbf1}.add-room-buttons{display:flex;gap:.5rem}.btn-cancel,.btn-add{flex:1;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;border:none;border-radius:.375rem;cursor:pointer;transition:all .15s}.btn-cancel{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.btn-cancel:hover{background:#e2e8f0}.btn-add{background:#14b8a6;color:#fff}.btn-add:hover:not(:disabled){background:#0d9488}.btn-add:disabled{opacity:.5;cursor:not-allowed}.add-room-inline{display:flex;align-items:center;gap:.5rem;padding-top:.75rem;margin-top:.75rem;border-top:1px dashed #e2e8f0}.inline-chips{display:flex;flex-wrap:wrap;gap:.25rem;flex:1}.inline-chip{padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:9999px;cursor:pointer;transition:all .15s}.inline-chip:hover{background:#f0fdfa;border-color:#14b8a6;color:#0f766e}.btn-add-inline{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:.375rem;cursor:pointer;flex-shrink:0;transition:all .15s}.btn-add-inline:hover{background:#f8fafc;border-color:#94a3b8;color:#475569}.meter-form{margin-bottom:1.5rem}.meter-card{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1rem;margin-bottom:1rem}.meter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.meter-type{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#0369a1}.meter-icon{font-size:1.25rem}.meter-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 480px){.meter-fields{grid-template-columns:1fr}}.form-group{margin-bottom:0}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:#4b5563;margin-bottom:.25rem}.form-group input{width:100%;padding:.5rem .625rem;font-size:.9375rem;border:1px solid #d1d5db;border-radius:6px;background:#fff}.form-group input:focus{outline:none;border-color:#0369a1;box-shadow:0 0 0 3px #0369a11a}.meter-photo{margin-top:.75rem}.photo-preview{position:relative;display:inline-block}.photo-preview img{width:100px;height:75px;object-fit:cover;border-radius:6px;border:1px solid #bae6fd}.btn-remove-photo{position:absolute;top:-8px;right:-8px;width:22px;height:22px;background:#dc2626;color:#fff;border:2px solid #fff;border-radius:50%;font-size:.625rem;cursor:pointer}.btn-add-photo{padding:.5rem .75rem;font-size:.8125rem;color:#0369a1;background:#fff;border:1px dashed #7dd3fc;border-radius:6px;cursor:pointer;transition:all .15s}.btn-add-photo:hover{background:#e0f2fe;border-color:#38bdf8}.btn-icon{width:28px;height:28px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:background-color .15s}.btn-remove{background:#fee2e2;color:#dc2626}.btn-remove:hover{background:#fecaca}.add-meter-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.btn-add-meter{display:flex;align-items:center;gap:.375rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:#374151;background:#fff;border:1px dashed #d1d5db;border-radius:8px;cursor:pointer;transition:all .15s}.btn-add-meter:hover{background:#f0f9ff;border-color:#7dd3fc;color:#0369a1}.no-meters-hint{font-size:.875rem;color:#6b7280;font-style:italic;margin-top:.5rem}.key-form{margin-bottom:1.5rem}.section-title{font-size:1.125rem;font-weight:600;color:#1e3a5f;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.key-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}@media (max-width: 400px){.key-grid{grid-template-columns:1fr}}.key-item{display:flex;flex-direction:column;align-items:center;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .15s}.key-item.has-keys{background:#ecfdf5;border-color:#6ee7b7}.key-label{font-size:.8125rem;font-weight:500;color:#374151;margin-bottom:.5rem;text-align:center}.key-counter{display:flex;align-items:center;gap:.25rem}.btn-counter{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;transition:all .15s}.btn-counter:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.btn-counter:disabled{opacity:.4;cursor:not-allowed}.key-count-input{width:44px;height:32px;text-align:center;font-size:1rem;font-weight:600;color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:6px;-moz-appearance:textfield}.key-count-input::-webkit-outer-spin-button,.key-count-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.key-count-input:focus{outline:none;border-color:#2563eb}.custom-keys{margin-bottom:1rem}.custom-keys-title{font-size:.875rem;font-weight:500;color:#6b7280;margin-bottom:.5rem}.custom-key-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:.5rem}.custom-key-label{flex:1;padding:.375rem .5rem;font-size:.875rem;border:1px solid #d1d5db;border-radius:4px;background:#fff}.custom-key-label:focus{outline:none;border-color:#2563eb}.btn-remove-custom{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#dc2626;border:none;border-radius:50%;font-size:.75rem;cursor:pointer}.btn-remove-custom:hover{background:#fecaca}.btn-add-custom{width:100%;padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:#374151;background:#fff;border:1px dashed #d1d5db;border-radius:8px;cursor:pointer;transition:all .15s}.btn-add-custom:hover{background:#f3f4f6;border-color:#9ca3af}.signature-pad{margin-bottom:1rem}.signature-pad.disabled{opacity:.6;pointer-events:none}.signature-label{display:block;font-size:.9375rem;font-weight:600;color:#374151;margin-bottom:.5rem}.canvas-container{position:relative;background:#fff;border:2px solid #d1d5db;border-radius:8px;overflow:hidden}.signature-canvas{display:block;width:100%;height:120px;touch-action:none;cursor:crosshair}.canvas-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.9375rem;color:#9ca3af;pointer-events:none;-webkit-user-select:none;user-select:none}.signature-controls{display:flex;gap:.5rem;margin-top:.5rem}.btn-clear,.btn-confirm{flex:1;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .15s}.btn-clear{background:#f3f4f6;color:#374151}.btn-clear:hover:not(:disabled){background:#e5e7eb}.btn-clear:disabled{opacity:.5;cursor:not-allowed}.btn-confirm{background:var(--brand-teal);color:#fff}.btn-confirm:hover:not(:disabled){background:var(--brand-primary-hover)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.signature-pad.signed .canvas-container{border-color:#22c55e;background:#f0fdf4}.signature-preview{padding:.5rem}.signature-preview img{width:100%;height:100px;object-fit:contain;background:#fff;border-radius:4px}.signature-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;font-size:.75rem;color:#6b7280}.signer-name{font-weight:500;color:#374151}.signature-gps{color:#22c55e}.nachbesserung-section{background:#fff;border:2px solid #fcd34d;border-radius:12px;padding:1.25rem}.nachbesserung-title{font-size:1.125rem;font-weight:600;color:#92400e;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid #fde68a}.nachbesserung-text{margin-bottom:1.25rem;padding:1rem;background:#fffbeb;border-radius:8px}.nachbesserung-text p{margin:0 0 .75rem;font-size:.875rem;line-height:1.6;color:#374151}.nachbesserung-text p:last-child{margin-bottom:0}.mieter-bestaetigung{margin-bottom:1.25rem;padding:1rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px}.bestaetigung-checkbox{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.bestaetigung-checkbox input[type=checkbox]{display:none}.checkbox-custom{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid #d1d5db;border-radius:6px;background:#fff;transition:all .15s}.bestaetigung-checkbox.checked .checkbox-custom{background:#2563eb;border-color:#2563eb;color:#fff}.bestaetigung-text{font-size:.9375rem;font-weight:500;color:#374151;line-height:1.5}.schluessel-optionen{border-top:1px solid #e5e7eb;padding-top:1rem}.schluessel-title{font-size:.9375rem;font-weight:600;color:#374151;margin:0 0 .75rem}.schluessel-options{display:flex;flex-direction:column;gap:.5rem}.schluessel-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .15s}.schluessel-option:hover{background:#f3f4f6;border-color:#d1d5db}.schluessel-option.selected{background:#eff6ff;border-color:#2563eb}.schluessel-option input[type=radio]{display:none}.radio-custom{flex-shrink:0;width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;background:#fff;position:relative;transition:all .15s}.schluessel-option.selected .radio-custom{border-color:#2563eb}.schluessel-option.selected .radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#2563eb;border-radius:50%}.option-text{font-size:.9375rem;color:#374151}.schluessel-option.selected .option-text{color:#1e40af;font-weight:500}@media (max-width: 480px){.nachbesserung-section{padding:1rem}.nachbesserung-text{padding:.75rem}.nachbesserung-text p{font-size:.8125rem}.bestaetigung-text{font-size:.875rem}.schluessel-option{padding:.75rem}.option-text{font-size:.875rem}}.consent-form{padding:0}.consent-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e2e8f0)}.consent-title{font-size:1.25rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0 0 .25rem}.consent-subtitle{font-size:.875rem;color:var(--text-secondary, #64748b);margin:0}.required-indicator{color:var(--color-danger, #ef4444);font-weight:600;margin-right:.25rem}.consent-actions{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.btn-accept-all,.btn-accept-required{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.btn-accept-all{background:var(--color-primary, #3b82f6);color:#fff;border-color:var(--color-primary, #3b82f6)}.btn-accept-all:hover{background:var(--color-primary-dark, #2563eb);border-color:var(--color-primary-dark, #2563eb)}.btn-accept-all.active{background:var(--color-success, #22c55e);border-color:var(--color-success, #22c55e)}.btn-accept-required{background:transparent;color:var(--text-primary, #1e293b);border-color:var(--border-color, #e2e8f0)}.btn-accept-required:hover{background:var(--bg-hover, #f8fafc);border-color:var(--color-primary, #3b82f6)}.consent-section{margin-bottom:1.5rem}.consent-section.optional{opacity:.9}.consent-section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.consent-list{display:flex;flex-direction:column;gap:.5rem}.consent-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-card, #ffffff);border:2px solid var(--border-color, #e2e8f0);border-radius:.75rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.consent-item:hover{background:var(--bg-hover, #f8fafc);border-color:var(--color-primary-light, #93c5fd)}.consent-item.checked{background:var(--color-success-bg, #f0fdf4);border-color:var(--color-success, #22c55e)}.consent-checkbox{flex-shrink:0;padding-top:.125rem}.checkbox-icon{color:var(--text-tertiary, #94a3b8);transition:color .2s ease}.checkbox-icon.checked{color:var(--color-success, #22c55e)}.consent-content{flex:1;min-width:0}.consent-label{font-size:.9375rem;line-height:1.5;color:var(--text-primary, #1e293b);display:block}.consent-item.checked .consent-label{color:var(--text-primary, #1e293b)}.consent-status{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500;margin-top:1rem}.consent-status.incomplete{background:var(--color-warning-bg, #fefce8);color:var(--color-warning-text, #854d0e)}.consent-status.complete{background:var(--color-success-bg, #f0fdf4);color:var(--color-success-text, #166534)}.status-count{font-weight:700;padding:.125rem .5rem;background:#0000001a;border-radius:.25rem}@media (max-width: 640px){.consent-actions{flex-direction:column}.btn-accept-all,.btn-accept-required{justify-content:center}.consent-item{padding:.875rem}.consent-label{font-size:.875rem}}@media (prefers-color-scheme: dark){.consent-item{background:var(--bg-card-dark, #1e293b);border-color:var(--border-color-dark, #334155)}.consent-item:hover{background:var(--bg-hover-dark, #334155)}.consent-item.checked{background:#22c55e1a;border-color:var(--color-success, #22c55e)}.consent-title,.consent-label{color:var(--text-primary-dark, #f1f5f9)}}.protocol-form{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#f8fafc;overflow:hidden}.protocol-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;padding-top:calc(.875rem + env(safe-area-inset-top,0px));background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;z-index:100}.protocol-type-badge{padding:.25rem .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:.25rem}.protocol-type-badge[data-type=einzug]{background:#ecfdf5;color:#047857}.protocol-type-badge[data-type=auszug]{background:#fef2f2;color:#991b1b}.protocol-info{flex:1;min-width:0}.protocol-info h2{font-size:.9375rem;font-weight:500;color:#1e293b;margin:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.protocol-info p{font-size:.8125rem;color:#64748b;margin:0}.btn-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;flex-shrink:0}.btn-close:hover{background:#e2e8f0;color:#475569}.step-indicator{display:flex;overflow-x:auto;padding:.625rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0;gap:.25rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.step-indicator::-webkit-scrollbar{display:none}.step{display:flex;flex-direction:column;align-items:center;padding:.375rem .625rem;background:none;border:none;cursor:pointer;flex-shrink:0;min-width:56px;opacity:.4;transition:opacity .1s}.step:hover{opacity:.7}.step.active{opacity:1}.step.completed{opacity:.7}.step-number{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;color:#64748b;background:#e2e8f0;border-radius:50%;margin-bottom:.25rem}.step.active .step-number{background:#14b8a6;color:#fff}.step.completed .step-number{background:#22c55e;color:#fff}.step.completed .step-number:after{content:""}.step-label{font-size:.5625rem;font-weight:500;color:#64748b;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em}.step.active .step-label{color:#0f766e}.error-list{margin:1rem;padding:.875rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#991b1b}.error-list strong{display:block;margin-bottom:.375rem;font-size:.875rem}.error-list ul{margin:0;padding-left:1.25rem}.error-list li{font-size:.8125rem;margin-bottom:.125rem}.form-content{flex:1;padding:1rem;overflow-y:auto;overflow-x:hidden;width:100%;max-width:800px;margin:0 auto;-webkit-overflow-scrolling:touch;min-height:0}@media (min-width: 768px){.form-content{padding:1.5rem}}.form-section{background:#fff;border-radius:.5rem;padding:1rem;border:1px solid #e2e8f0;box-shadow:0 1px 2px #00000008;margin-bottom:1rem}.form-section:last-child{margin-bottom:0}@media (min-width: 768px){.form-section{padding:1.25rem;margin-bottom:1.25rem}}.section-title{font-size:.9375rem;font-weight:500;color:#1e293b;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.form-group label{display:block;font-size:.6875rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;font-size:.875rem;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;transition:border-color .1s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 2px #ccfbf1}.radio-group{display:flex;flex-direction:column;gap:.5rem}.radio-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;transition:all .1s}.radio-option:hover{border-color:#14b8a6;background:#f0fdfa}.radio-option:has(input:checked){background:#f0fdfa;border-color:#14b8a6;border-left:2px solid #14b8a6}.radio-option input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1px solid #cbd5e1;border-radius:50%;background:#fff;cursor:pointer;position:relative;flex-shrink:0;margin:0;outline:none}.radio-option input[type=radio]:checked{border-color:#14b8a6;background:#14b8a6}.radio-option input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50%}.radio-option span{font-size:.875rem;font-weight:500;color:#475569}.radio-option:has(input:checked) span{color:#0f766e}.notes-textarea{width:100%;padding:.625rem .75rem;font-size:.875rem;font-family:inherit;color:#1e293b;border:1px solid #e2e8f0;border-radius:.375rem;resize:vertical;min-height:120px;transition:border-color .1s}.notes-textarea:focus{outline:none;border-color:#14b8a6;box-shadow:0 0 0 2px #ccfbf1}.form-footer{padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;z-index:10}.nav-buttons{display:flex;gap:.5rem;margin-bottom:.5rem}.btn-prev,.btn-next,.btn-submit{flex:1;padding:.625rem .75rem;font-size:.875rem;font-weight:500;border:none;border-radius:.375rem;cursor:pointer;transition:all .1s}.btn-prev{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.btn-prev:hover{background:#e2e8f0;color:#334155}.btn-next{background:#1e293b;color:#fff}.btn-next:hover{background:#334155}.btn-submit{background:#14b8a6;color:#fff}.btn-submit:hover:not(:disabled){background:#0d9488}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.btn-save-draft{width:100%;padding:.5rem .75rem;font-size:.8125rem;font-weight:500;color:#64748b;background:none;border:1px dashed #cbd5e1;border-radius:.375rem;cursor:pointer;transition:all .1s}.btn-save-draft:hover{background:#f8fafc;border-color:#94a3b8;color:#475569}@media (max-width: 480px){.protocol-header{padding:.75rem;gap:.5rem}.protocol-info h2{font-size:.875rem}.form-content{padding:.75rem}.form-section{padding:.875rem}.step{min-width:48px;padding:.25rem .5rem}.step-label{font-size:.5rem}}:root{--color-background: hsl(210, 14%, 98%);--color-foreground: hsl(215, 19%, 20%);--color-card: hsl(0, 0%, 100%);--color-card-foreground: hsl(215, 19%, 20%);--color-border: hsl(214, 14%, 91%);--color-input: hsl(214, 14%, 91%);--color-ring: hsl(174, 72%, 40%);--color-primary: hsl(215, 14%, 25%);--color-primary-foreground: hsl(0, 0%, 100%);--color-secondary: hsl(210, 14%, 97%);--color-secondary-foreground: hsl(215, 16%, 40%);--color-muted: hsl(210, 14%, 97%);--color-muted-foreground: hsl(215, 14%, 50%);--color-accent: hsl(174, 72%, 40%);--color-accent-foreground: hsl(0, 0%, 100%);--color-destructive: hsl(0, 65%, 50%);--color-destructive-foreground: hsl(0, 0%, 100%);--color-success: hsl(142, 60%, 45%);--color-success-foreground: hsl(142, 50%, 25%);--color-warning: hsl(38, 80%, 50%);--color-warning-foreground: hsl(38, 70%, 25%);--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--teal-50: #f0fdfa;--teal-100: #ccfbf1;--teal-500: #14b8a6;--teal-600: #0d9488;--teal-700: #0f766e;--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: .25rem;--radius: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}*{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;-webkit-text-size-adjust:100%;width:100%;height:100%;overflow-x:hidden}body{font-family:var(--font-sans);background-color:var(--slate-50);color:var(--slate-800);line-height:1.5;min-height:100vh;width:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:#fff;border-bottom:1px solid var(--slate-200);position:sticky;top:0;z-index:50}.header-brand-container{display:flex;align-items:center;gap:.5rem}.header-brand{font-size:1rem;font-weight:600;color:var(--slate-800);display:flex;align-items:center;gap:.5rem}.tenant-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;padding:.125rem .375rem;border-radius:var(--radius-sm)}.tenant-badge.business{background:var(--teal-100);color:var(--teal-700)}.tenant-badge.basic{background:var(--slate-100);color:var(--slate-600)}.header-status{display:flex;align-items:center;gap:.5rem}.status-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius);background:var(--slate-100)}.status-indicator.online{color:var(--color-success)}.status-indicator.offline{color:var(--color-warning)}.status-indicator.syncing{color:var(--teal-500)}.status-indicator .spinning{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bottom-nav{display:flex;justify-content:space-around;align-items:stretch;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--slate-200);padding-bottom:env(safe-area-inset-bottom,0);z-index:100}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.625rem .5rem;background:none;border:none;color:var(--slate-400);font-size:.6875rem;font-weight:500;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.bottom-nav-item:active{background:var(--slate-50)}.bottom-nav-item.active{color:var(--teal-600)}.bottom-nav-item.active svg{transform:scale(1.05)}.bottom-nav-item span{margin-top:.125rem}.app-main.with-bottom-nav{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0))}.app-main{flex:1;padding:1.5rem 1.25rem 2rem;padding-top:calc(1.5rem + env(safe-area-inset-top,0));width:100%;max-width:1200px;margin:0 auto;min-height:100vh;box-sizing:border-box}@media (min-width: 768px){.app-main{padding:2rem 1.5rem 3rem}}.card{background-color:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-md);box-shadow:0 1px 2px #00000008}.card-header{padding:1.25rem 1.25rem 1rem}.card-title{font-size:.9375rem;font-weight:500;color:var(--slate-800);line-height:1.25}.card-description{font-size:.8125rem;color:var(--slate-500);margin-top:.25rem}.card-content{padding:0 1.25rem 1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;height:2.25rem;padding:0 1rem;transition:all .1s;cursor:pointer;border:1px solid transparent}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px var(--teal-100)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background-color:var(--slate-800);color:#fff;border-color:var(--slate-800)}.btn-primary:hover{background-color:var(--slate-700)}.btn-secondary{background-color:#fff;border-color:var(--slate-200);color:var(--slate-600)}.btn-secondary:hover{background-color:var(--slate-50);color:var(--slate-700)}.btn-accent{background-color:var(--teal-500);color:#fff;border-color:var(--teal-500)}.btn-accent:hover{background-color:var(--teal-600)}.btn-destructive{background-color:var(--color-destructive);color:#fff}.btn-destructive:hover{background-color:#bd2828}.btn-outline{background-color:#fff;border-color:var(--slate-200);color:var(--slate-600)}.btn-outline:hover{background-color:var(--slate-50);border-color:var(--slate-300);color:var(--slate-700)}.btn-ghost{background-color:transparent;color:var(--slate-500)}.btn-ghost:hover{background-color:var(--slate-100);color:var(--slate-700)}.btn-start{width:100%;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background-color:var(--teal-500);border:none;border-radius:var(--radius);cursor:pointer;transition:all .15s;margin-top:1.25rem;margin-bottom:1rem}.btn-start:hover{background-color:var(--teal-600)}.btn-start:active{transform:scale(.99)}.input{display:flex;width:100%;height:2.25rem;border-radius:var(--radius);border:1px solid var(--slate-200);background-color:#fff;padding:0 .75rem;font-size:.875rem;color:var(--slate-800);transition:border-color .1s}.input::placeholder{color:var(--slate-400)}.input:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 2px var(--teal-50)}.input:disabled{background-color:var(--slate-50);opacity:.6;cursor:not-allowed}.badge{display:inline-flex;align-items:center;border-radius:var(--radius-sm);padding:.125rem .5rem;font-size:.6875rem;font-weight:500;border:1px solid transparent}.badge-default{background-color:var(--slate-100);color:var(--slate-600);border-color:var(--slate-200)}.badge-secondary{background-color:var(--slate-50);color:var(--slate-500);border-color:var(--slate-200)}.badge-success{background-color:#ecfdf5;color:#047857;border-color:#a7f3d0}.badge-warning{background-color:#fffbeb;color:#b45309;border-color:#fcd34d}.badge-destructive{background-color:#fef2f2;color:#991b1b;border-color:#fecaca}.drafts-section{margin-bottom:1.5rem}.drafts-section h2,.new-protocol-section h2{font-size:.9375rem;font-weight:500;color:var(--slate-800);margin-bottom:1rem}.draft-list{display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 640px){.draft-list{grid-template-columns:repeat(2,1fr)}}.draft-card{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:.25rem .75rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);cursor:pointer;text-align:left;transition:all .1s}.draft-card:hover{border-color:var(--teal-500);background-color:var(--teal-50)}.draft-type{grid-row:1 / 3;align-self:center;padding:.125rem .375rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:var(--radius-sm)}.draft-type.einzug{background:#ecfdf5;color:#047857}.draft-type.auszug{background:#fef2f2;color:#991b1b}.draft-address{font-size:.875rem;font-weight:500;color:var(--slate-800)}.draft-unit{font-size:.8125rem;color:var(--slate-500)}.draft-date{grid-row:1 / 3;align-self:center;font-size:.75rem;color:var(--slate-400)}.new-protocol-section,.drafts-section{background:#fff;border-radius:var(--radius-md);padding:1.5rem 1.25rem 2rem;border:1px solid var(--slate-200);margin-bottom:1.5rem;box-shadow:0 1px 2px #00000008}.selection-step{margin-bottom:1.5rem}.selection-step h3{font-size:.6875rem;font-weight:500;color:var(--slate-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.625rem}.property-list{display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 640px){.property-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.property-list{grid-template-columns:repeat(3,1fr)}}.property-card{display:flex;flex-direction:column;padding:.875rem 1rem;background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);cursor:pointer;text-align:left;transition:all .1s}.property-card:hover{border-color:var(--teal-500);background-color:var(--teal-50)}.property-card.selected{border-color:var(--teal-500);background-color:var(--teal-50);border-left:2px solid var(--teal-500)}.property-address{font-size:.875rem;font-weight:500;color:var(--slate-800)}.property-city{font-size:.8125rem;color:var(--slate-500)}.unit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}@media (min-width: 640px){.unit-list{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.unit-list{grid-template-columns:repeat(4,1fr)}}.unit-card{padding:.625rem .75rem;font-size:.875rem;font-weight:500;color:var(--slate-600);background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);cursor:pointer;text-align:center;transition:all .1s}.unit-card:hover{border-color:var(--teal-500);background-color:var(--teal-50)}.unit-card.selected{border-color:var(--teal-500);background-color:var(--teal-50);color:var(--teal-700)}.type-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.type-btn{display:flex;flex-direction:column;align-items:center;padding:1rem .75rem;background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);cursor:pointer;transition:all .1s}.type-btn:hover{border-color:var(--slate-300)}.type-btn.selected{border-width:2px}.type-btn.einzug.selected{border-color:#22c55e;background:#f0fdf4}.type-btn.auszug.selected{border-color:#ef4444;background:#fef2f2}.type-icon{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;color:var(--slate-400)}.type-btn.selected .type-icon{color:inherit}.type-btn.einzug.selected .type-icon{color:#16a34a}.type-btn.auszug.selected .type-icon{color:#dc2626}.type-label{font-size:.875rem;font-weight:600;color:var(--slate-800)}.type-desc{font-size:.6875rem;color:var(--slate-500);margin-top:.25rem}.loading-indicator{padding:1rem;text-align:center;color:var(--slate-500);font-size:.875rem}.error-message{padding:.875rem 1rem;text-align:center;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);font-size:.875rem}.btn-retry{margin-top:.5rem;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;color:#fff;background:var(--slate-800);border:none;border-radius:var(--radius);cursor:pointer}.btn-retry:hover{background:var(--slate-700)}.empty-state{padding:2rem 1rem;text-align:center;color:var(--slate-500);font-size:.875rem}.protocol-list-container{display:flex;flex-direction:column}.list-filters{padding:1rem 1.25rem;background:#fff;border-bottom:1px solid var(--slate-200)}.filter-tabs{display:flex;gap:.25rem;margin-bottom:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{flex-shrink:0;padding:.375rem .625rem;font-size:.8125rem;font-weight:500;color:var(--slate-500);background:var(--slate-100);border:1px solid var(--slate-200);border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:all .1s}.filter-tab:hover{background:var(--slate-50);border-color:var(--slate-300)}.filter-tab.active{color:var(--teal-700);background:var(--teal-50);border-color:var(--teal-500)}.sort-control{display:flex;align-items:center;gap:.5rem}.sort-control label{font-size:.8125rem;color:var(--slate-500)}.sort-control select{padding:.375rem .625rem;font-size:.8125rem;color:var(--slate-700);background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);cursor:pointer}.sort-control select:focus{outline:none;border-color:var(--teal-500)}.list-content{flex:1;padding:1.25rem}.protocol-cards{display:grid;grid-template-columns:1fr;gap:.75rem}@media (min-width: 640px){.protocol-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.protocol-cards{grid-template-columns:repeat(3,1fr)}}.protocol-card{position:relative;background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .1s}.protocol-card:hover{border-color:var(--teal-500);box-shadow:0 4px 12px #0000000d}.card-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem 1rem;background:var(--slate-50);border-bottom:1px solid var(--slate-200)}.protocol-type{padding:.125rem .375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;border-radius:var(--radius-sm)}.protocol-type.einzug{background:#ecfdf5;color:#047857}.protocol-type.auszug{background:#fef2f2;color:#991b1b}.protocol-status{padding:.125rem .375rem;font-size:.6875rem;font-weight:500;border-radius:var(--radius-sm)}.status-draft{background:#fffbeb;color:#b45309}.status-signed{background:#dbeafe;color:#1e40af}.status-finalized{background:#ecfdf5;color:#047857}.card-body{padding:.75rem 1rem}.card-address{font-size:.875rem;font-weight:500;color:var(--slate-800);margin-bottom:.125rem}.card-unit{font-size:.8125rem;color:var(--slate-500)}.card-tenant{font-size:.75rem;color:var(--slate-400);margin-top:.25rem}.card-footer{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--slate-50);border-top:1px solid var(--slate-200)}.card-date{display:flex;gap:.5rem;font-size:.6875rem;color:var(--slate-400)}.card-actions{display:flex;gap:.375rem}.btn-pdf{padding:.25rem .5rem;font-size:.6875rem;font-weight:500;color:var(--teal-700);background:var(--teal-50);border:1px solid var(--teal-500);border-radius:var(--radius-sm);cursor:pointer;transition:all .1s}.btn-pdf:hover{background:var(--teal-100)}.btn-delete{padding:.25rem .375rem;font-size:.875rem;color:var(--color-destructive);background:transparent;border:none;cursor:pointer;opacity:.6;transition:opacity .1s}.btn-delete:hover{opacity:1}.card-sync-badge{position:absolute;top:.625rem;right:4rem;padding:.0625rem .25rem;font-size:.5625rem;font-weight:500;color:#92400e;background:#fef3c7;border-radius:var(--radius-sm)}.spinner{width:1.5rem;height:1.5rem;border:2px solid var(--slate-200);border-top-color:var(--teal-500);border-radius:50%;animation:spin .8s linear infinite}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.4}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.6875rem;font-weight:500;color:var(--slate-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;font-size:.875rem;color:var(--slate-800);background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);transition:border-color .1s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 2px var(--teal-50)}.form-row{display:flex;gap:.75rem}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.modal-overlay,.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:200;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal,.dialog-content{position:relative;background:#fff;border-radius:var(--radius-md);padding:1.25rem;width:100%;max-width:420px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal h2,.dialog-title{font-size:1rem;font-weight:500;color:var(--slate-800);margin-bottom:.5rem}.dialog-close{position:absolute;top:.75rem;right:.75rem;padding:.25rem;background:none;border:none;color:var(--slate-400);cursor:pointer;border-radius:var(--radius);transition:all .1s}.dialog-close:hover{background:var(--slate-100);color:var(--slate-600)}.dialog-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 auto 1rem;background:var(--teal-50);border-radius:50%;color:var(--teal-600)}.dialog-message{font-size:.875rem;color:var(--slate-500);text-align:center;line-height:1.5;margin-bottom:1rem}.dialog-summary{background:var(--slate-50);border:1px solid var(--slate-200);border-radius:var(--radius);padding:.75rem;margin-bottom:1.25rem}.summary-item{display:flex;gap:.5rem;margin-bottom:.375rem;font-size:.8125rem}.summary-item:last-child{margin-bottom:0}.summary-label{font-weight:500;color:var(--slate-700);flex-shrink:0}.summary-value{color:var(--slate-500);word-break:break-word}.dialog-actions{display:flex;gap:.5rem}.btn-dialog-secondary{flex:1;padding:.625rem .75rem;font-size:.875rem;font-weight:500;color:var(--slate-600);background:var(--slate-100);border:1px solid var(--slate-200);border-radius:var(--radius);cursor:pointer;transition:all .1s}.btn-dialog-secondary:hover{background:var(--slate-200);color:var(--slate-700)}.btn-dialog-primary{flex:1;padding:.625rem .75rem;font-size:.875rem;font-weight:500;color:#fff;background:var(--teal-500);border:none;border-radius:var(--radius);cursor:pointer;transition:all .1s}.btn-dialog-primary:hover{background:var(--teal-600)}.btn-refresh{width:2rem;height:2rem;font-size:1rem;color:var(--slate-500);background:transparent;border:1px solid var(--slate-200);border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s}.btn-refresh:hover:not(:disabled){background:var(--slate-50);border-color:var(--slate-300)}.btn-refresh:disabled{opacity:.5}@media (max-width: 640px){html{font-size:15px}.app-main{padding:1.25rem 1rem 2rem}.new-protocol-section,.drafts-section{padding:1.25rem 1rem 1.5rem}.type-buttons{gap:.5rem}.type-btn{padding:.875rem .5rem}.unit-list{grid-template-columns:repeat(2,1fr)}.protocol-cards,.property-list,.draft-list{grid-template-columns:1fr}}@media (max-width: 400px){.unit-list{grid-template-columns:1fr}.filter-tabs{gap:.125rem}.filter-tab{padding:.25rem .5rem;font-size:.75rem}}a.text-link{color:var(--teal-700);text-decoration:none}a.text-link:hover{color:var(--teal-600);text-decoration:underline}.offline-badge{padding:.125rem .375rem;font-size:.6875rem;font-weight:500;background:#fffbeb;color:#b45309;border-radius:var(--radius-sm)}.sync-badge{padding:.125rem .375rem;font-size:.6875rem;font-weight:500;background:var(--teal-50);color:var(--teal-700);border-radius:var(--radius-sm)}.spinning{animation:spin 1s linear infinite}:root{font-family:Inter,Avenir,Helvetica,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#14b8a6;text-decoration:inherit}a:hover{color:#0d9488}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f8fafc;cursor:pointer;transition:border-color .25s}button:hover{border-color:#14b8a6}button:focus,button:focus-visible{outline:2px solid #14b8a6;outline-offset:2px}
