.list-setup{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1rem}.list-card{background:#fff;border-radius:10px;box-shadow:0 10px 30px #00000014;display:flex;flex-direction:column;overflow:hidden}.list-card-banner{position:relative;height:90px;background-size:cover;background-position:center}.list-card-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.list-card-banner-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:10px 14px;gap:2px}.list-card-banner-content h3{color:#fff;font-size:1.05rem;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.5);margin:0;line-height:1.2}.list-card-banner-content .role-chip{background:rgba(255,255,255,.25);color:#fff;border:1px solid rgba(255,255,255,.4);align-self:flex-start}.list-card-body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.35rem}.list-card-open-btn{background:var(--card-accent, #d2691e);color:#fff;border:none;padding:7px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.88rem;transition:background .2s}.list-card-open-btn:hover{background:var(--card-accent-hover, #b8591a)}.list-setup .list-card{padding:1rem;gap:.6rem}.list-card input{width:100%;padding:.75rem;border:1px solid #e0e0e0;border-radius:8px}.list-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.list-toolbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.5rem}.list-select label{display:block;font-size:.85rem;color:#5a5a5a}.list-select select{min-width:220px;padding:.5rem;border-radius:8px;border:1px solid #e0e0e0}.list-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.invite-row{display:flex;gap:.5rem;align-items:center}.invite-row input{padding:.55rem .75rem;border-radius:8px;border:1px solid #e0e0e0}.join-code{font-size:.9rem;background:rgba(255,255,255,.2);padding:.35rem .75rem;border-radius:8px}.muted{color:#777;font-size:.85rem}.dashboard{display:flex;flex-direction:column;gap:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.list-card-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.role-chip{display:inline-block;background:#f2f5ff;color:#3a5ab5;padding:2px 8px;border-radius:999px;font-size:.8rem;margin-top:4px;text-transform:capitalize}.list-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.invite-inline{margin-top:1rem}.list-card-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}.btn-tertiary{border:1px solid #e0e0e0;background:white;padding:6px 10px;border-radius:8px;cursor:pointer}.btn-tertiary:hover{background:#f5f5f5}.field-helper{color:#666;font-size:.82rem;margin:-6px 0 10px;display:block}.empty-state{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f7f9fc;border:1px dashed #cfd6e0;border-radius:10px;margin-bottom:1rem;gap:1rem}.empty-state h3{margin:0 0 6px}.empty-state p{margin:0;color:#555}.invite-bar{background:#1e3a5f;color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:1.5rem;border-radius:10px}.invite-bar-left{display:flex;align-items:center;gap:16px}.invite-bar-stat{display:flex;flex-direction:column;align-items:center;line-height:1.2}.invite-bar-count{font-size:1.6rem;font-weight:700;color:#fff}.invite-bar-label{font-size:.75rem;color:#a0b8d0;text-transform:uppercase;letter-spacing:.05em}.invite-bar-members-btn{background:rgba(255,255,255,.15)!important;color:#fff!important;border-color:#ffffff4d!important}.invite-bar-members-btn:hover{background:rgba(255,255,255,.25)!important}.invite-bar-right{display:flex;align-items:center;gap:8px;flex:1;min-width:260px}.invite-bar-right input{flex:1;padding:.6rem .85rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;font-size:.9rem}.invite-bar-right input::placeholder{color:#ffffff80}.invite-bar-right input:focus{outline:none;border-color:#ffffff80;background:rgba(255,255,255,.15)}@media (max-width: 600px){.invite-bar{flex-direction:column;align-items:flex-start}.invite-bar-right{width:100%;min-width:unset}}.potluck-list{width:100%}.potluck-list h2{margin-bottom:14px;color:#2c3e50}.member-list{display:flex;flex-direction:column;gap:6px}.member-row{background:white;border-radius:8px;box-shadow:0 1px 4px #00000014;border-left:3px solid #dacdc4;overflow:hidden;transition:box-shadow .15s}.member-row-expanded{box-shadow:0 2px 8px #0000001f;border-left-color:var(--accent, #d2691e)}.member-row-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;gap:10px}.member-row-summary:hover{background:#fafafa}.member-row-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.member-chevron{font-size:.75rem;color:#888;flex-shrink:0;width:12px}.member-name{font-weight:600;font-size:.95rem;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-you{font-size:.7rem;font-weight:500;color:#fff;background:var(--accent, #d2691e);border-radius:10px;padding:1px 7px;margin-left:6px;text-transform:lowercase}.admin-badge{background:#28a745;color:#fff;padding:1px 6px;border-radius:3px;font-size:.68rem;font-weight:600;margin-left:6px}.role-badge{background:#e6f2ff;color:#1b6dd1;padding:1px 6px;border-radius:3px;font-size:.68rem;font-weight:600;margin-left:6px;text-transform:capitalize}.member-item-count{font-size:.75rem;color:#888;background:#f2f2f2;border-radius:10px;padding:1px 8px;flex-shrink:0}.member-row-actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;padding:6px;border-radius:6px;cursor:pointer;transition:all .2s ease;width:30px;height:30px}.icon-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.edit-btn{background:var(--accent, #d2691e);color:#fff}.edit-btn:hover{background:var(--accent-hover, #b8591a)}.edit-profile-btn{background:#6c757d;color:#fff}.edit-profile-btn:hover{background:#5a6268}.delete-btn{background:#dc3545;color:#fff}.delete-btn:hover{background:#c82333}.member-row-body{padding:10px 12px 12px 32px;border-top:1px solid #f0f0f0}.member-items-list{margin:0;padding-left:18px;color:#444}.member-items-list li{font-size:.9rem;line-height:1.6}.item-quantity{color:#888;font-size:.85em}.no-items{color:#aaa;font-style:italic;font-size:.85rem;margin:0}.user-contact{margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.user-contact small{color:#888;font-size:.78rem}.auth-modal-content{background:white;border-radius:12px;width:90%;max-width:400px;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease-out}.auth-form{padding:0 20px 20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;color:#2c3e50;font-weight:500}.form-group input{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#d2691e}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:44px}.password-toggle-btn{position:absolute;right:10px;background:none;border:none;cursor:pointer;color:#999;padding:4px;display:flex;align-items:center;transition:color .2s}.password-toggle-btn:hover{color:#555}.auth-submit{width:100%;padding:15px;margin-top:10px}.auth-switch{padding:15px 20px 20px;text-align:center;border-top:1px solid #eee}.auth-switch p{margin:0;color:#666}.link-btn{background:none;border:none;color:#d2691e;text-decoration:underline;cursor:pointer;font-size:inherit}.link-btn:hover{color:#b8591a}.forgot-link-row{text-align:right;margin-top:-12px;margin-bottom:16px;font-size:.85rem}.forgot-intro{color:#555;font-size:.92rem;margin-bottom:20px;line-height:1.5}.forgot-sent-msg{color:#2c7a2c;background:#f0faf0;border:1px solid #b6ddb6;border-radius:8px;padding:14px;font-size:.92rem;line-height:1.5;margin-bottom:20px}@media (max-width: 480px){.auth-modal-content{width:95%;margin:10px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;z-index:1000}.modal-content{background:white;border-radius:20px 20px 0 0;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 10px;border-bottom:1px solid #eee}.modal-header h3{margin:0;color:#2c3e50}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-body p{margin-bottom:15px;color:#666}.current-items-section{margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #eee}.current-items-section h4,.available-items-section h4{margin:0 0 12px;color:#2c3e50;font-size:1rem}.current-items-list{display:flex;flex-direction:column;gap:6px}.current-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #d2691e}.item-info{flex:1;display:flex;flex-direction:row;align-items:center;gap:8px}.item-info strong{font-size:.95rem}.quantity-badge{background:#d2691e;color:#fff;padding:2px 6px;border-radius:10px;font-size:.8rem;font-weight:500}.delete-item-btn{background:#dc3545;color:#fff;border:none;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.delete-item-btn:hover{background:#c82333;transform:scale(1.05)}.available-items-section{margin-top:20px}.help-text{font-size:.9rem;color:#666;margin-bottom:12px}.items-list{display:flex;flex-direction:column;gap:10px}.item-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border-radius:8px;transition:background .2s ease}.item-row:hover{background:#f8f9fa}.item-row.unavailable{opacity:.5;background:#f0f0f0}.item-row.unavailable:hover{background:#f0f0f0}.item-right-info{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.item-checkbox{display:flex;align-items:flex-start;gap:12px;cursor:pointer;flex:1}.item-row .item-checkbox{padding:0}.item-row .item-checkbox:hover{background:transparent}.item-checkbox input[type=checkbox]{display:none}.checkmark{width:20px;height:20px;border:2px solid #d2691e;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.item-checkbox input[type=checkbox]:checked+.checkmark{background:#d2691e}.item-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:14px;font-weight:700}.item-text{flex:1;line-height:1.4;color:#333;display:flex;flex-direction:column;gap:4px}.item-note-display{font-size:.85rem;color:#666;font-style:italic;margin-top:2px}.availability{font-size:.85rem;color:#666}.no-availability{color:#dc3545;font-weight:500}.quantity-control{display:flex;align-items:center;gap:4px}.quantity-btn{width:32px;height:32px;border:2px solid #d2691e;background:white;color:#d2691e;border-radius:6px;font-size:1.2rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;line-height:1}.quantity-btn:hover:not(:disabled){background:#d2691e;color:#fff;transform:scale(1.05)}.quantity-btn:active:not(:disabled){transform:scale(.95)}.quantity-btn:disabled{opacity:.3;cursor:not-allowed}.quantity-input{width:50px;padding:6px 4px;border:2px solid #d2691e;border-radius:6px;font-size:1rem;text-align:center;font-weight:500;color:#2c3e50}.quantity-input:focus{outline:none;border-color:#b8591a;box-shadow:0 0 0 3px #d2691e1a}.quantity-input::-webkit-outer-spin-button,.quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quantity-input[type=number]{-moz-appearance:textfield}.modal-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;gap:10px;justify-content:space-between;align-items:center}.modal-footer-right{display:flex;gap:10px;align-items:center}.modal-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media (min-width: 768px){.modal-overlay{align-items:center}.modal-content{border-radius:12px;max-height:70vh}}.add-product-modal-content{background:white;border-radius:12px;max-width:500px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #00000026;animation:slideIn .3s ease-out;display:flex;flex-direction:column}.add-product-modal-content .modal-body{flex:1;overflow-y:auto;padding:20px}.add-product-form{width:100%}.add-product-form .form-group{margin-bottom:20px}.add-product-form label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:.9rem}.add-product-form input[type=text],.add-product-form input[type=number],.add-product-form select,.add-product-form textarea{width:100%;padding:12px;border:2px solid #e1e1e1;border-radius:8px;font-size:1rem;transition:border-color .3s ease;font-family:inherit;box-sizing:border-box}.add-product-form input[type=text]:focus,.add-product-form input[type=number]:focus,.add-product-form select:focus,.add-product-form textarea:focus{outline:none;border-color:#d2691e}.add-product-form select{cursor:pointer;background-color:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.add-product-form textarea{resize:vertical;min-height:100px;line-height:1.5}.add-product-modal-content .modal-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;flex-shrink:0}.add-product-modal-content .modal-footer .btn-secondary,.add-product-modal-content .modal-footer .btn-primary{padding:10px 20px;font-size:.9rem;min-width:90px}.add-product-modal-content .modal-footer .btn-primary:disabled,.add-product-modal-content .modal-footer .btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.add-product-modal-content{width:95%;margin:20px auto}}.edit-user-modal-content{background:white;border-radius:12px;max-width:400px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column}.edit-user-modal-content .modal-body{flex:1;overflow-y:auto;padding:20px}.edit-user-form{width:100%}.edit-user-form .form-group{margin-bottom:20px}.edit-user-form label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:.9rem}.edit-user-form input{width:100%;padding:12px;border:2px solid #e1e1e1;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.edit-user-form input:focus{outline:none;border-color:#d2691e}.edit-user-modal-content .modal-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end;flex-shrink:0}.edit-user-modal-content .modal-footer .btn-secondary,.edit-user-modal-content .modal-footer .btn-primary{padding:10px 20px;font-size:.9rem;min-width:90px}@media (max-width: 480px){.edit-user-modal-content{width:95%;margin:20px auto}}.manage-items-modal-content{background:white;border-radius:12px;max-width:700px;width:90%;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #00000026;animation:slideIn .3s ease-out;display:flex;flex-direction:column}@keyframes slideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.manage-items-modal-content .modal-body{flex:1;padding:20px;overflow-y:auto}.manage-items-modal-content .modal-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;gap:10px;justify-content:space-between;align-items:center}.manage-items-modal-content .add-item-btn{padding:10px 20px;font-size:.9rem}.items-list-container{min-height:200px}.no-items{text-align:center;color:#666;padding:40px 20px;font-style:italic}.items-table{display:flex;flex-direction:column;gap:12px}.item-row{display:flex;justify-content:space-between;align-items:flex-start;padding:15px;background:#f8f9fa;border-radius:8px;border-left:3px solid #d2691e;transition:all .2s ease}.item-row:hover{background:#f0f0f0}.item-row.editing{background:#fff;border:2px solid #d2691e;flex-direction:column;align-items:stretch}.item-info{flex:1;display:flex;flex-direction:column;gap:8px}.item-main{display:flex;align-items:center;gap:10px;flex-direction:row;width:100%}.item-main strong{color:#2c3e50;font-size:1rem;text-align:left}.item-category{background:#d2691e;color:#fff;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500;flex-shrink:0}.item-details{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#666;width:100%}.item-actions .quantity-info{font-size:.8rem;color:#666;font-weight:500;text-align:right}.item-note{font-style:italic;color:#888;display:block;width:100%;text-align:left}.item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.item-actions-buttons{display:flex;gap:8px}.edit-item-btn,.delete-item-btn{padding:6px 12px;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease;font-weight:500}.edit-item-btn{background:#d2691e;color:#fff}.edit-item-btn:hover{background:#b8591a}.delete-item-btn{background:#dc3545;color:#fff}.delete-item-btn:hover{background:#c82333}.edit-item-form{width:100%}.edit-form-fields{display:grid;grid-template-columns:2fr 1fr 80px;gap:10px;margin-bottom:15px}.edit-input,.edit-select{padding:10px;border:2px solid #e1e1e1;border-radius:6px;font-size:.9rem;font-family:inherit}.edit-input:focus,.edit-select:focus{outline:none;border-color:#d2691e}.edit-quantity{text-align:center}.edit-textarea{grid-column:1 / -1;padding:10px;border:2px solid #e1e1e1;border-radius:6px;font-size:.9rem;font-family:inherit;resize:vertical;min-height:60px}.edit-textarea:focus{outline:none;border-color:#d2691e}.edit-form-actions{display:flex;gap:10px;justify-content:flex-end}.edit-form-actions .btn-secondary,.edit-form-actions .btn-primary{padding:8px 16px;font-size:.85rem}@media (max-width: 768px){.manage-items-modal-content{width:95%;max-height:95vh}.edit-form-fields{grid-template-columns:1fr}.item-row{flex-direction:column;align-items:stretch;gap:12px}.item-actions{align-items:flex-end}.item-actions-buttons{width:100%;justify-content:flex-end}}.modal-overlay:has(.clone-list-modal-content){align-items:center;padding:20px 0;box-sizing:border-box}.clone-list-modal-content{background:white;border-radius:12px;max-width:440px;width:90%;max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;animation:slideIn .3s ease-out}.clone-list-modal-content .modal-header{flex-shrink:0}.clone-list-modal-content form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.clone-list-modal-content .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.clone-list-modal-content .form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:.9rem}.clone-list-modal-content .form-group input{width:100%;padding:12px;border:2px solid #e1e1e1;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box;transition:border-color .2s}.clone-list-modal-content .form-group input:focus{outline:none;border-color:#d2691e}.clone-event-fields{display:flex;flex-direction:column;gap:0}.clone-event-fields .list-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.clone-event-fields .form-group{margin-bottom:12px}.clone-options{display:flex;flex-direction:column;gap:10px}.clone-options-label{font-weight:600;font-size:.9rem;color:#2c3e50;margin:0 0 4px}.clone-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:background .15s}.clone-option:hover:not(.clone-option-disabled){background:#f7f9fc}.clone-option-disabled{opacity:.45;cursor:not-allowed}.clone-option input[type=checkbox]{margin-top:2px;width:16px;height:16px;flex-shrink:0;cursor:pointer}.clone-option-disabled input[type=checkbox]{cursor:not-allowed}.clone-option span{display:flex;flex-direction:column;gap:2px}.clone-option strong{font-size:.9rem;color:#2c3e50}.clone-option small{font-size:.8rem;color:#777}.clone-list-modal-content .modal-footer{flex-shrink:0;padding:15px 20px;border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end}.clone-list-modal-content .modal-footer button{padding:10px 20px;font-size:.9rem;min-width:90px}.clone-list-modal-content .modal-footer button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 480px){.clone-list-modal-content{width:95%}}.theme-picker{display:flex;flex-direction:column;gap:8px}.theme-picker-label{font-weight:600;font-size:.9rem;color:#2c3e50}.theme-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.theme-swatch{position:relative;height:72px;border-radius:8px;border:2px solid transparent;overflow:hidden;cursor:pointer;padding:0;transition:border-color .2s,transform .15s}.theme-swatch:hover{transform:translateY(-2px);border-color:#fff9}.theme-swatch-active{border-color:#fff;box-shadow:0 0 0 2px #333}.theme-swatch-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.theme-swatch-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);gap:2px;z-index:1}.theme-swatch-label strong{font-size:.82rem;line-height:1.1}.theme-swatch-label small{font-size:.68rem;opacity:.88;line-height:1.1}.theme-swatch-check{position:absolute;top:5px;right:6px;font-size:.9rem;color:#fff;font-weight:700;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.5)}.modal-overlay:has(.edit-list-modal-content){align-items:center;padding:20px 0;box-sizing:border-box}.edit-list-modal-content{background:white;border-radius:12px;max-width:440px;width:90%;max-height:calc(100vh - 40px);box-shadow:0 20px 40px #00000026;animation:slideIn .3s ease-out;display:flex;flex-direction:column}.edit-list-modal-content .modal-header{flex-shrink:0}.edit-list-modal-content form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.edit-list-modal-content .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:4px}.edit-list-modal-content .modal-footer{flex-shrink:0}.edit-list-modal-content .form-group{margin-bottom:14px}.edit-list-modal-content .form-group label{display:block;margin-bottom:6px;font-weight:600;color:#2c3e50;font-size:.9rem}.edit-list-modal-content .form-group input{width:100%;padding:10px 12px;border:2px solid #e1e1e1;border-radius:8px;font-size:1rem;font-family:inherit;box-sizing:border-box;transition:border-color .2s}.edit-list-modal-content .form-group input:focus{outline:none;border-color:#d2691e}.edit-list-modal-content .list-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.edit-list-modal-content .modal-footer{padding:15px 20px;border-top:1px solid #eee;display:flex;gap:10px;justify-content:flex-end}.edit-list-modal-content .modal-footer button{padding:10px 20px;font-size:.9rem;min-width:80px}.edit-list-modal-content .modal-footer button:disabled{opacity:.5;cursor:not-allowed}.form-group-toggle{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center}.form-group-toggle label{grid-column:1;grid-row:1}.form-group-toggle input[type=checkbox]{grid-column:2;grid-row:1;width:18px!important;height:18px!important;padding:0!important;border:none!important;accent-color:var(--accent, #d2691e);cursor:pointer}.form-group-toggle .field-helper{grid-column:1 / -1;grid-row:2;margin-top:4px}@media (max-width: 480px){.edit-list-modal-content{width:95%}}.members-modal-content{background:white;border-radius:12px;max-width:480px;width:90%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026;animation:slideIn .3s ease-out}.members-modal-body{flex:1;overflow-y:auto;padding:8px 20px}.members-count-badge{display:inline-flex;align-items:center;justify-content:center;background:#e8f0fe;color:#3a5ab5;font-size:.78rem;font-weight:700;border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:middle}.members-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.members-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid #f0f0f0}.members-list-row:last-child{border-bottom:none}.members-list-info{display:flex;flex-direction:column;gap:2px;min-width:0}.members-list-name{font-weight:600;font-size:.92rem;color:#2c3e50;display:flex;align-items:center;gap:6px}.members-you-chip{background:#e8f5e9;color:#2e7d32;font-size:.72rem;font-weight:700;padding:1px 6px;border-radius:999px}.members-list-meta{font-size:.8rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.members-list-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.members-resend-btn{background:none;border:1px solid #e0e0e0;color:#3a5ab5;font-size:.78rem;padding:3px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.members-resend-btn:hover:not(:disabled){background:#f0f4ff;border-color:#3a5ab5}.members-resend-btn:disabled{opacity:.5;cursor:not-allowed}.members-remove-btn{background:none;border:1px solid #e0e0e0;color:#c0392b;font-size:.78rem;padding:3px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.members-remove-btn:hover{background:#fdf0ef;border-color:#c0392b}.members-modal-content .modal-footer{padding:12px 20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:8px}.items-section{width:100%;margin-bottom:30px}.items-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.items-section-header h2{margin:0;color:#2c3e50}.items-claim-btn{flex-shrink:0}.my-items-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f0f9f0;border:1px solid #c3e6cb;border-radius:8px;padding:10px 14px;margin-bottom:16px}.my-items-label{font-size:.85rem;font-weight:600;color:#2d6a2d}.my-item-chip{display:inline-flex;align-items:center;gap:4px;background:#28a745;color:#fff;border-radius:20px;padding:3px 10px 3px 12px;font-size:.82rem;font-weight:500}.my-item-remove{background:none;border:none;color:#fffc;cursor:pointer;padding:0;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;transition:color .15s,background .15s}.my-item-remove:hover{color:#fff;background:rgba(0,0,0,.2)}.items-empty{color:#999;font-style:italic;text-align:center;padding:24px 0}.items-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.item-card{background:white;border-radius:8px;box-shadow:0 2px 6px #00000014;border:2px solid transparent;cursor:pointer;transition:border-color .15s,box-shadow .15s;overflow:hidden}.item-card:hover:not(.item-card-claimed){box-shadow:0 3px 10px #0000001f}.item-card-selected{border-color:var(--accent, #d2691e)}.item-card-claimed{cursor:default;opacity:.7}.item-card-top{display:flex;align-items:flex-start;gap:10px;padding:12px}.item-card-check{flex-shrink:0;padding-top:2px}.item-card-check input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent, #d2691e)}.item-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.item-card-info strong{font-size:.95rem;color:#2c3e50;line-height:1.3}.item-card-note{font-size:.78rem;color:#666}.item-card-category{font-size:.72rem;color:#888;background:#f0f0f0;border-radius:4px;padding:1px 6px;align-self:flex-start;text-transform:capitalize}.item-card-avail{flex-shrink:0;text-align:right}.item-avail-count{font-size:.8rem;color:#555;font-weight:500}.item-fully-claimed{font-size:.75rem;background:#e8f5e9;color:#2d6a2d;border-radius:4px;padding:2px 7px;font-weight:600}.item-card-qty{display:flex;align-items:center;gap:6px;padding:8px 12px 12px;border-top:1px solid #f0f0f0}.quantity-btn{width:28px;height:28px;border:1px solid #ddd;background:white;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;color:#555;transition:background .15s;flex-shrink:0}.quantity-btn:hover:not(:disabled){background:#f0f0f0}.quantity-btn:disabled{opacity:.4;cursor:default}.quantity-input{width:48px;text-align:center;border:1px solid #ddd;border-radius:4px;padding:4px;font-size:.9rem;-moz-appearance:textfield}.quantity-input::-webkit-inner-spin-button,.quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-label{font-size:.78rem;color:#888;margin-left:2px}@media (max-width: 768px){.items-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.items-grid{grid-template-columns:1fr}}.report-modal{max-width:900px;max-height:85vh}.report-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#d2691e 0%,#b8591a 100%);color:#fff;padding:20px;border-radius:10px;text-align:center;box-shadow:0 4px 6px #0000001a}.stat-card-link{text-decoration:none;cursor:pointer;transition:all .3s ease;position:relative}.stat-card-link:after{content:"↓";position:absolute;bottom:8px;right:12px;font-size:1.2rem;opacity:.7}.stat-card-link:hover{transform:translateY(-4px);box-shadow:0 6px 12px #00000026}.stat-card-link:active{transform:translateY(-2px)}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:5px;line-height:1}.stat-label{font-size:.85rem;opacity:.95;text-transform:uppercase;letter-spacing:.5px}.report-section{margin-bottom:30px}.report-section h4{margin:0 0 15px;color:#2c3e50;font-size:1.1rem;padding-bottom:10px;border-bottom:2px solid #eee}.report-categories{display:flex;flex-direction:column;gap:25px}.category-section{background:#fafafa;border-radius:8px;padding:15px}.category-header{margin:0 0 12px;color:#d2691e;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;border-bottom:2px solid #d2691e}.report-items-list{display:flex;flex-direction:column;gap:12px}.report-item{background:white;border-left:4px solid #d2691e;border-radius:6px;padding:12px 15px;box-shadow:0 1px 3px #0000000d}.report-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.item-name{color:#2c3e50;font-size:1rem}.item-total-quantity{background:#d2691e;color:#fff;padding:3px 10px;border-radius:12px;font-size:.85rem;font-weight:500}.report-item-contributors{display:flex;flex-wrap:wrap;gap:8px}.contributor-tag{background:white;border:1px solid #ddd;padding:4px 10px;border-radius:15px;font-size:.85rem;color:#555;display:inline-flex;align-items:center;gap:4px}.contributor-tag .qty{color:#d2691e;font-weight:600}.needed-subsection{margin-bottom:20px}.needed-subsection:last-child{margin-bottom:0}.subsection-header{margin:0 0 12px;color:#666;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.needed-items-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.needed-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:4px}.needed-item.partially-covered{background:#fff3e0;border-left:3px solid #ff9800}.needed-item.not-covered{background:#ffebee;border-left:3px solid #dc3545}.needed-item-name{color:#2c3e50;font-size:.9rem;flex:1}.needed-item-quantity{font-weight:600;font-size:.85rem;white-space:nowrap}.needed-item.partially-covered .needed-item-quantity{color:#ff9800}.needed-item.not-covered .needed-item-quantity{color:#dc3545}.no-data,.all-covered{text-align:center;color:#999;font-style:italic;padding:20px}.all-covered{color:#28a745;font-weight:600;font-size:1.1rem;font-style:normal}@media (max-width: 768px){.report-stats{grid-template-columns:repeat(2,1fr)}.stat-card{padding:15px 10px}.stat-value{font-size:2rem}.needed-items-list{grid-template-columns:1fr}.report-item-header{flex-direction:row;align-items:flex-start;gap:8px}}.notification-bar{position:fixed;left:0;right:0;bottom:0;padding:14px 18px;color:#0c1116;display:flex;align-items:center;justify-content:space-between;gap:12px;animation:slideUp .25s ease-out;z-index:1000}.notification-bar.info{background:#e8f1ff;border-top:2px solid #3a70d1}.notification-bar.success{background:#e9f7ef;border-top:2px solid #28a745}.notification-bar.error{background:#ffeaea;border-top:2px solid #d12f2f}.notification-bar span{font-size:.95rem}.notification-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer;color:#333}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.help-bubble{position:fixed;bottom:20px;left:20px;width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,#4f46e5,#22c55e);color:#fff;font-size:1.4rem;cursor:pointer;box-shadow:0 8px 20px #0000002e;z-index:1100}.help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;z-index:1101}.help-modal{background:#fff;width:90%;max-width:420px;border-radius:12px;padding:16px;box-shadow:0 10px 40px #0000001a}.help-header{display:flex;align-items:center;justify-content:space-between}.help-close{background:transparent;border:none;font-size:1.4rem;cursor:pointer}.help-form{display:flex;flex-direction:column;gap:10px;margin-top:12px}.help-form label{display:flex;flex-direction:column;gap:6px;font-size:.95rem}.help-form input,.help-form textarea{padding:10px;border:1px solid #e0e0e0;border-radius:8px;width:100%}.help-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background:#f5f5f5}.app{min-height:100vh;width:100%;max-width:100%;display:flex;flex-direction:column}.event-header{background:linear-gradient(135deg,#d2691e,#ff8c00);background-image:url(/backgrounds/top-view-autumn-elements-with-leaves-copy-space.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;padding:20px;text-align:center;box-shadow:0 2px 10px #0000001a;position:relative;overflow:hidden}.event-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(210,105,30,.7),rgba(255,140,0,.6));z-index:0}.event-header:after{content:"";position:absolute;top:0;right:0;bottom:0;width:50%;background:linear-gradient(to left,rgba(210,105,30,.9) 0%,rgba(210,105,30,.7) 30%,rgba(210,105,30,.4) 60%,transparent 100%);z-index:1;pointer-events:none}.event-header.has-theme:before,.event-header.has-theme:after{background:none}.event-header.unauthenticated{background:linear-gradient(135deg,#3a3a3a,#2d2d2d);background-image:url(/assets/general-cooking-3e1cd289.jpg);background-position:center}.event-header.unauthenticated:before{background:linear-gradient(135deg,rgba(45,45,45,.7),rgba(58,58,58,.6))}.event-header.unauthenticated:after{background:linear-gradient(to left,rgba(45,45,45,.9) 0%,rgba(45,45,45,.7) 30%,rgba(45,45,45,.4) 60%,transparent 100%)}.event-header>*{position:relative;z-index:2}.header-top{position:absolute;top:15px;left:15px;right:15px;z-index:10;display:flex;align-items:center;justify-content:space-between}.header-top-left,.header-top-right{display:flex;align-items:center;gap:10px}.all-lists-link{background:none;border:none;color:#ffffffe6;font-size:.9rem;font-weight:600;cursor:pointer;padding:4px 0;text-shadow:0 1px 3px rgba(0,0,0,.4);transition:color .2s}.all-lists-link:hover{color:#fff}.user-actions{display:flex;align-items:center;gap:10px;font-size:.9rem}.header-actions-bottom{position:absolute;bottom:15px;right:15px;display:flex;gap:10px;align-items:center;z-index:10}.edit-list-header-btn,.manage-items-header-btn,.report-header-btn,.add-product-header-btn,.members-header-btn{background:rgba(255,255,255,.25);color:#fff;border:1px solid rgba(255,255,255,.4);padding:8px 16px;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .3s ease;font-weight:600;display:flex;align-items:center;gap:6px}.edit-list-header-btn:hover,.manage-items-header-btn:hover,.report-header-btn:hover,.add-product-header-btn:hover,.members-header-btn:hover{background:rgba(255,255,255,.35);border-color:#ffffff80;transform:translateY(-1px)}.report-header-btn svg{flex-shrink:0}.header-mobile-menu{display:none;position:relative}.header-menu-toggle{background:rgba(255,255,255,.25);color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:6px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.header-menu-toggle:hover{background:rgba(255,255,255,.4)}.header-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1099}.header-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:white;border-radius:10px;box-shadow:0 8px 24px #0000004d;min-width:200px;z-index:1100;overflow:hidden;display:flex;flex-direction:column}.header-menu-dropdown button{display:flex;align-items:center;gap:10px;padding:13px 16px;background:none;border:none;border-bottom:1px solid #f0f0f0;font-size:.9rem;font-weight:600;color:#2c3e50;cursor:pointer;text-align:left;transition:background .15s}.header-menu-dropdown button:last-child{border-bottom:none}.header-menu-dropdown button:hover{background:#f7f9fc}.header-menu-dropdown button svg{flex-shrink:0;color:#666}.logout-btn{background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3);padding:6px 12px;border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .3s ease}.logout-btn:hover{background:rgba(255,255,255,.3)}.event-header h1{font-size:2rem;margin-bottom:10px}.event-header p{font-size:.9rem;opacity:.9}.main-content{padding:20px 20px 40px;flex:1}.auth-section{text-align:center;padding:40px 20px}.auth-section h2{margin-bottom:15px;color:#2c3e50}.auth-section p{margin-bottom:30px;color:#666}.auth-buttons{display:flex;flex-direction:column;gap:15px;max-width:280px;margin:0 auto}.btn-primary,.btn-secondary{padding:15px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:var(--accent, #d2691e);color:#fff}.btn-primary:hover{background:var(--accent-hover, #b8591a)}.btn-secondary{background:white;color:var(--accent, #d2691e);border:2px solid var(--accent, #d2691e)}.btn-secondary:hover{background:var(--accent, #d2691e);color:#fff}.unauthenticated~.main-content .btn-primary{background:#e67e22}.unauthenticated~.main-content .btn-primary:hover{background:#d35400}.unauthenticated~.main-content .btn-secondary{color:#e67e22;border-color:#e67e22}.unauthenticated~.main-content .btn-secondary:hover{background:#e67e22}.floating-actions{position:fixed;bottom:20px;right:20px;z-index:100}.add-items-btn{background:var(--accent, #d2691e);color:#fff;border:none;padding:15px 20px;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0003;transition:all .3s ease}.add-items-btn:hover{background:var(--accent-hover, #b8591a);transform:translateY(-2px);box-shadow:0 6px 16px #00000040}@media (min-width: 768px){.auth-buttons{flex-direction:row;max-width:400px;justify-content:center}.event-header{padding:30px}.event-header h1{font-size:2.5rem}.user-actions{top:25px;right:25px}}.loading,.error{text-align:center;padding:60px 20px;max-width:400px;margin:0 auto}.loading h2,.error h2{margin-bottom:15px;color:#2c3e50}.loading p,.error p{color:#666;margin-bottom:20px;line-height:1.5}.error .btn-primary{padding:12px 24px}@media (max-width: 800px){.event-header{padding:15px 15px 20px}.header-top{position:relative;top:auto;left:auto;right:auto;margin-bottom:12px}.user-actions{justify-content:center}.header-actions-bottom{display:none}.header-mobile-menu{display:block}.header-welcome-desktop{display:none!important}.list-meta{text-align:center;justify-content:center;flex-direction:column;align-items:center}.list-meta>div{text-align:center}.join-code{text-align:center}.floating-actions{bottom:15px;right:15px}.add-items-btn{padding:12px 16px;font-size:.9rem}.loading,.error{padding:40px 15px}}.site-footer{background:#2c3e50;color:#a0aab4;font-size:.82rem;padding:16px 20px;margin-top:auto}.site-footer-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center}.site-footer a{color:#cbd5e1;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer-divider{opacity:.4}.header-btn-badge{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.3);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:1px 6px;margin-left:4px}.event-header-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}
