:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;align-items:flex-start}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:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--kolping-orange: #e65100;--kolping-orange-light: #ff7043;--kolping-orange-dark: #bf360c;--kolping-schwarz: #2c2c2c;--kolping-grau: #666666;--kolping-grau-hell: #f5f5f5;--kolping-weiss: #ffffff;--kolping-erfolg: #4caf50;--kolping-warnung: #ff9800;--kolping-fehler: #f44336}.password-gate{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--kolping-orange) 0%,var(--kolping-orange-dark) 100%)}.password-form{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 25px #0000001a;text-align:center;max-width:400px;width:100%}.password-form h2{color:var(--kolping-schwarz);margin-bottom:1rem}.password-input{width:100%;padding:.75rem;margin:1rem 0;border:2px solid #ddd;border-radius:6px;font-size:1rem}.password-input:focus{outline:none;border-color:var(--kolping-orange)}.password-submit{background:var(--kolping-orange);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .3s}.password-submit:hover{background:var(--kolping-orange-dark)}.password-reset-container{margin-top:1rem}.password-reset-link{background:none;border:none;color:#666;font-size:.8rem;cursor:pointer;text-decoration:underline;padding:.25rem;transition:color .3s}.password-reset-link:hover{color:var(--kolping-schwarz)}.error{color:var(--kolping-fehler);margin-top:1rem}.error-banner{background:#ffebee;color:var(--kolping-fehler);padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;border:1px solid #ffcdd2}.error-banner button{background:none;border:none;color:var(--kolping-fehler);cursor:pointer;font-size:1.2rem;padding:.25rem}.app-header{background:var(--kolping-schwarz);color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.app-header h1{margin:0;font-size:1.5rem}.auth-section{display:flex;align-items:center;gap:1rem}.user-profile-container{position:relative}.user-avatar{width:40px;height:40px;border-radius:50%;background:var(--kolping-orange);color:#fff;border:none;cursor:pointer;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 4px #0003}.user-avatar:hover{background:var(--kolping-orange-dark);transform:scale(1.05)}.user-menu{position:absolute;top:50px;right:0;background:#fff;border-radius:8px;box-shadow:0 8px 25px #00000026;min-width:250px;z-index:1000;overflow:hidden;border:1px solid #e0e0e0}.user-menu-overlay{position:fixed;inset:0;z-index:999;background:transparent}.browser-warning{background:var(--kolping-warnung);color:#fff;padding:.75rem 1rem;margin:1rem 0;border-radius:6px;text-align:center;font-size:.9rem;box-shadow:0 2px 4px #0000001a}.browser-warning strong{font-weight:600}.external-link{color:#fff;text-decoration:underline;margin-left:.5rem;font-weight:500}.external-link:hover{color:var(--kolping-grau-hell)}.user-menu-header{padding:1rem;background:#f8f9fa;display:flex;align-items:center;gap:.75rem}.user-menu-avatar{width:32px;height:32px;border-radius:50%;background:var(--kolping-orange);color:#fff;font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-menu-info{flex:1;min-width:0}.user-name{font-weight:700;color:var(--kolping-schwarz);font-size:.9rem;margin-bottom:.25rem}.user-email{color:var(--kolping-grau);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background:#e0e0e0}.user-menu-item{width:100%;padding:.75rem 1rem;border:none;background:none;text-align:left;cursor:pointer;display:flex;align-items:center;gap:.5rem;color:#495057;font-size:.9rem;transition:background .2s ease}.user-menu-item:hover{background:#f8f9fa}.logout-item{color:var(--kolping-fehler)}.logout-item:hover{background:#f8f9fa;color:var(--kolping-orange-dark)}.logout-icon{font-size:1rem}.user-info{display:flex;align-items:center;gap:1rem}.auth-button{background:var(--kolping-orange);color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background .3s}.auth-button:hover{background:var(--kolping-orange-dark)}.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:1.2rem;color:var(--kolping-grau)}.bg-refresh-indicator{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--kolping-grau);padding:.5rem .25rem}.spinner{width:14px;height:14px;border:2px solid #ddd;border-top-color:var(--kolping-orange);border-radius:50%;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.main-content{padding:2rem;max-width:1200px;margin:0 auto}.readonly-notice{background:#fff8e1;color:var(--kolping-warnung);padding:.75rem;border-radius:6px;border:1px solid #ffcc02;margin-bottom:2rem;text-align:center}.groups-container{display:flex;flex-direction:column;gap:.75rem}.group-card{background:#fff;border-radius:6px;box-shadow:0 2px 4px #0000001a;padding:.75rem;border-left-width:3px;border-left-style:solid}.group-color-1{border-left-color:var(--kolping-orange)}.group-color-2{border-left-color:var(--kolping-schwarz)}.group-color-3{border-left-color:var(--kolping-erfolg)}.group-card h2{margin:0 0 .25rem;color:var(--kolping-schwarz);font-size:1.1rem}.group-description{color:var(--kolping-grau);margin-bottom:.75rem;font-size:.85rem;line-height:1.3}.themenbereiche{display:flex;flex-direction:column;gap:.75rem}.themenbereich{background:var(--kolping-grau-hell);padding:.6rem;border-radius:4px;border:1px solid #e9ecef}.themenbereich h3{margin:0 0 .25rem;color:var(--kolping-schwarz);font-size:1rem}.themenbereich>p{color:var(--kolping-grau);margin-bottom:.5rem;font-size:.8rem;line-height:1.3}.zustaendigkeiten{margin:.5rem 0}.zustaendigkeiten h4{margin:0 0 .5rem;color:var(--kolping-schwarz);font-size:.9rem}.zustaendigkeiten ul{margin:0;padding-left:1.5rem;color:var(--kolping-grau)}.tasks{margin-top:1rem}.tasks h4{margin:0 0 .5rem;color:var(--kolping-schwarz);font-size:.8rem;font-weight:600}.task-item{margin-bottom:.4rem;padding:.4rem;background:#fff;border-radius:3px;border:1px solid #e9ecef}.task-label{display:flex;align-items:flex-start;gap:.4rem;cursor:pointer}.task-label input[type=checkbox]{margin-top:.15rem;accent-color:var(--kolping-orange)}.task-text{flex:1;color:var(--kolping-schwarz);font-size:.85rem;line-height:1.3}.task-text.completed{text-decoration:line-through;color:var(--kolping-grau)}.task-description{margin:.15rem 0 0 1.2rem;color:var(--kolping-grau);font-size:.75rem;line-height:1.3}.task-assigned{margin:.25rem 0 0 1.5rem;color:var(--kolping-grau);font-size:.8rem;font-style:italic}.data-info{margin-top:2rem;padding-top:1rem;border-top:1px solid #dee2e6;text-align:center;color:var(--kolping-grau);font-size:.9rem}.edit-controls{display:flex;justify-content:flex-end;margin-bottom:1rem}.edit-toggle{background:var(--kolping-orange);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background-color .2s ease;display:flex;align-items:center;gap:.5rem;touch-action:manipulation}.edit-toggle:active{background:var(--kolping-orange-dark)}.edit-toggle.active{background:var(--kolping-erfolg)}.editable{cursor:pointer;position:relative;padding:.15rem .3rem;margin:-.15rem -.3rem;border-radius:3px;border:1px dashed transparent}.editable{border-color:#e651004d}.edit-hint{opacity:.7;font-size:.8em;margin-left:.5rem;color:var(--kolping-orange)}.edit-form{display:flex;align-items:center;gap:.5rem}.edit-input,.edit-textarea{border:2px solid var(--kolping-orange);border-radius:4px;padding:.5rem;font-size:inherit;font-family:inherit;outline:none;width:100%}.edit-input:focus,.edit-textarea:focus{border-color:var(--kolping-orange-dark);box-shadow:0 0 0 2px #e6510033}.edit-textarea{resize:vertical;min-height:3rem}.task-edit-input{font-size:.9rem;padding:.25rem .5rem}.group-header,.thema-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.item-actions,.task-actions{display:flex;gap:.5rem;flex-shrink:0}.add-btn,.delete-btn{background:var(--kolping-orange);color:#fff;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.75rem;white-space:nowrap;touch-action:manipulation;transition:background-color .2s ease}.add-btn:active{background:var(--kolping-orange-dark)}.delete-btn{background:var(--kolping-fehler)}.delete-btn:active:not(:disabled){background:#c62828}.delete-btn:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.tasks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.task-content{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.task-label{flex:1;display:flex;align-items:center;gap:.5rem}.add-thema,.add-group{margin-top:1rem;text-align:center}.group-add-btn{background:var(--kolping-erfolg);padding:1rem 2rem;font-size:1rem;font-weight:600}.group-add-btn:hover{background:#388e3c}@media (max-width: 768px){.group-header,.thema-header{flex-direction:column;align-items:stretch}.item-actions,.task-actions{justify-content:flex-end;margin-top:.5rem}.task-content{flex-direction:column;align-items:stretch;gap:.5rem}.edit-controls{justify-content:center}}.user-selector{position:relative;display:inline-block;width:100%}.selected-users{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;min-height:2rem}.user-tag{background:var(--kolping-grau-hell);border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;display:flex;align-items:center;gap:.25rem}.user-tag.readonly{background:transparent;border:none;padding:0;color:var(--kolping-grau)}.remove-user-btn{background:none;border:none;color:var(--kolping-fehler);cursor:pointer;font-size:1rem;line-height:1;padding:0;margin-left:.25rem}.remove-user-btn:hover{color:#c62828}.add-user-btn{background:var(--kolping-orange);color:#fff;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;cursor:pointer;white-space:nowrap;touch-action:manipulation}.add-user-btn:active{background:var(--kolping-orange-dark)}.dropdown-overlay{position:fixed;inset:0;z-index:1000;background:transparent}.user-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1001;max-height:300px;overflow-y:auto}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem;border-bottom:1px solid #eee;background:#f8f9fa;font-weight:600}.close-dropdown-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--kolping-grau);padding:0;line-height:1}.close-dropdown-btn:hover{color:var(--kolping-schwarz)}.user-list{max-height:150px;overflow-y:auto}.user-option{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;cursor:pointer;touch-action:manipulation}.user-option:active{background:var(--kolping-grau-hell)}.user-option.selected{background:#e651001a;color:var(--kolping-orange-dark)}.checkmark{color:var(--kolping-erfolg);font-weight:700}.add-new-user{border-top:1px solid #eee;padding:.75rem}.show-add-user-btn{background:none;border:1px dashed var(--kolping-orange);color:var(--kolping-orange);border-radius:4px;padding:.5rem;font-size:.8rem;cursor:pointer;width:100%}.show-add-user-btn:hover{background:#e651000d}.new-user-form{display:flex;gap:.5rem;align-items:center}.new-user-input{flex:1;border:1px solid #ddd;border-radius:4px;padding:.25rem .5rem;font-size:.8rem}.confirm-add-btn,.cancel-add-btn{background:none;border:1px solid;border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.8rem;line-height:1}.confirm-add-btn{border-color:var(--kolping-erfolg);color:var(--kolping-erfolg)}.confirm-add-btn:hover:not(:disabled){background:var(--kolping-erfolg);color:#fff}.confirm-add-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-add-btn{border-color:var(--kolping-fehler);color:var(--kolping-fehler)}.cancel-add-btn:hover{background:var(--kolping-fehler);color:#fff}.user-display{font-size:.8rem;color:var(--kolping-grau)}.user-display.empty{font-style:italic;color:#999}.task-details{margin-top:.5rem;padding-left:1.5rem}.task-description-section{margin-bottom:.5rem}.task-description{margin:.25rem 0;font-size:.85rem;color:var(--kolping-grau);line-height:1.4}.task-description.empty{color:#999;font-style:italic}.task-assignment-section{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.assignment-label{font-size:.8rem;color:var(--kolping-grau);white-space:nowrap;font-weight:500}.zustaendigkeiten{margin:1rem 0}.zustaendigkeiten h4{margin:0 0 .5rem;font-size:.9rem;color:var(--kolping-schwarz)}@media (max-width: 768px){.app-header{flex-direction:column;gap:.5rem;text-align:center;padding:.75rem}.app-header h1{font-size:1.4rem;margin:0}.main-content{padding:.5rem}.password-form{margin:.5rem;padding:1rem}.groups-container{gap:.5rem}.group-card{padding:.6rem;margin-bottom:.5rem}.group-header,.thema-header{flex-direction:column;align-items:stretch;gap:.4rem}.item-actions,.task-actions{justify-content:flex-end;margin-top:.25rem}.task-content{flex-direction:column;align-items:stretch;gap:.3rem}.edit-controls{justify-content:center;margin-bottom:.75rem}.task-details{padding-left:1rem}.user-dropdown{left:-.5rem;right:-.5rem;max-height:250px}.themenbereiche{gap:.5rem}.themenbereich{padding:.5rem}.task-item{padding:.3rem;margin-bottom:.3rem}.task-assignment-section{flex-direction:column;align-items:stretch;gap:.3rem}.assignment-label{font-size:.7rem;margin-bottom:.2rem}}
