: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;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:#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}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#485563,#29323c);padding:2rem 1rem}.login-container{width:100%;max-width:450px}.login-header{text-align:center;margin-bottom:2rem;color:#fff}.login-header h1{font-size:2.5rem;margin:0 0 .5rem;font-weight:700}.login-header p{margin:0;font-size:1.1rem;opacity:.9}.login-card{background:#fff;border-radius:16px;padding:2.5rem 2rem;box-shadow:0 20px 60px #0000004d}.login-card h2{margin:0 0 1.5rem;font-size:1.75rem;color:#485563;text-align:center}.error-message{background:#ffebee;color:#c62828;padding:1rem;border-radius:8px;margin-bottom:1.5rem;border-left:4px solid #c62828;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#485563;font-size:.95rem}.btn-full{width:100%;padding:.85rem;font-size:1.05rem;margin-top:.5rem}.login-footer{margin-top:1.5rem;text-align:center;padding-top:1.5rem;border-top:1px solid #e0e0e0}.link-button{background:none;border:none;color:#5a6c7d;font-size:.95rem;cursor:pointer;text-decoration:underline;padding:0}.link-button:hover{color:#485563}.login-info{margin-top:2rem;text-align:center;color:#fff;opacity:.9}.login-info p{margin:.75rem 0;font-size:.95rem}@media(max-width:480px){.login-page{padding:1rem}.login-header h1{font-size:2rem}.login-card{padding:2rem 1.5rem}.login-card h2{font-size:1.5rem}}.invite-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b9d,#c06c84);padding:2rem 1rem}.invite-container{width:100%;max-width:450px}.invite-header{text-align:center;margin-bottom:2rem;color:#fff}.invite-header h1{font-size:4rem;margin:0 0 1rem;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.invite-header h2{font-size:2.5rem;margin:0 0 .5rem;font-weight:700}.invite-header p{margin:0;font-size:1.1rem;opacity:.95}.invite-card{background:#fff;border-radius:16px;padding:2.5rem 2rem;box-shadow:0 20px 60px #0000004d}.invite-card h3{margin:0 0 1.5rem;font-size:1.5rem;color:#c06c84;text-align:center}.invite-form{display:flex;flex-direction:column;gap:1.25rem}.invite-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e0e0;text-align:center;color:#666;font-size:.9rem}@media(max-width:480px){.invite-page{padding:1rem}.invite-header h1{font-size:3rem}.invite-header h2{font-size:2rem}.invite-card{padding:2rem 1.5rem}.invite-card h3{font-size:1.25rem}}.calendar-container{background:#fff;border-radius:12px;padding:0;box-shadow:0 1px 3px #0000001a;max-width:1200px;margin:0 auto}.calendar-header-section{padding:1.5rem 2rem;border-bottom:1px solid #e5e7eb}.calendar-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-title-row h2{margin:0;font-size:1.5rem;color:#1f2937;font-weight:600}.btn-add-event{padding:.625rem 1.25rem;background:#dc2626;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.btn-add-event:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 6px #dc262640}.view-controls-row{display:flex;gap:1rem;align-items:center}.view-toggle-group,.calendar-view-toggle-group{display:flex;background:#f9fafb;border-radius:8px;padding:.25rem}.view-toggle-btn,.calendar-view-btn{padding:.5rem 1rem;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:#6b7280;transition:all .2s}.view-toggle-btn:hover,.calendar-view-btn:hover{color:#374151}.view-toggle-btn.active{background:#dc2626;color:#fff;box-shadow:0 1px 3px #0000001a}.calendar-view-btn.active{background:#4b5563;color:#fff;box-shadow:0 1px 3px #0000001a}.event-form{padding:2rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.color-picker{display:flex;align-items:center;gap:.5rem}.color-picker label{font-size:.875rem;color:#6b7280;font-weight:500}.color-btn{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s}.color-btn:hover{transform:scale(1.1)}.color-btn.selected{border-color:#1f2937;box-shadow:0 0 0 2px #fff,0 0 0 4px #1f2937}.color-blue{background:#3b82f6}.color-green{background:#10b981}.color-red{background:#ef4444}.color-purple{background:#8b5cf6}.color-orange{background:#f97316}.textarea-field{resize:vertical;min-height:60px;font-family:inherit}.calendar-month-view{padding:2rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.calendar-header h3{flex:1;text-align:center;margin:0;font-size:1.25rem;color:#1f2937;font-weight:600}.btn-nav{padding:.5rem 1rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:1.25rem;color:#6b7280;transition:all .2s}.btn-nav:hover{background:#f3f4f6;color:#374151}.btn-secondary{padding:.5rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:#6b7280;transition:all .2s}.btn-secondary:hover{background:#f9fafb;color:#374151}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e5e7eb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.calendar-weekday{background:#f9fafb;padding:.75rem;text-align:center;font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.calendar-day{background:#fff;min-height:100px;padding:.5rem;cursor:pointer;transition:all .2s;position:relative}.calendar-day:hover{background:#f9fafb}.calendar-day.empty{background:#f9fafb;cursor:default}.calendar-day.today{background:#fef3f2}.calendar-day.today .day-number{background:#dc2626;color:#fff;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-weight:600}.day-number{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.day-events{display:flex;flex-direction:column;gap:.25rem}.event-pill{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:all .2s}.event-pill:hover{transform:translate(2px);box-shadow:0 2px 4px #0000001a}.event-blue{background:#dbeafe;color:#1e40af}.event-green{background:#d1fae5;color:#065f46}.event-red{background:#fee2e2;color:#991b1b}.event-purple{background:#ede9fe;color:#5b21b6}.event-orange{background:#ffedd5;color:#9a3412}.event-pill.partner-a{border-left:3px solid #3b82f6}.event-pill.partner-b{border-left:3px solid #8b5cf6}.calendar-sheet-view{padding:2rem;overflow-x:auto;display:flex;flex-direction:column;align-items:center}.sheet-hint{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:.75rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem;max-width:900px;width:100%}.sheet-table,.events-table{width:100%;max-width:900px;border-collapse:collapse;font-size:.875rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.sheet-table th,.events-table th{background:#f9fafb;padding:1rem .75rem;text-align:left;font-weight:600;color:#1f2937;border-bottom:2px solid #e5e7eb;white-space:nowrap;vertical-align:middle}.date-column{width:140px;font-weight:600;color:#1f2937!important}.event-column{color:#1f2937!important;font-weight:600}.date-display{display:flex;flex-direction:column;gap:.25rem;color:#1f2937;font-weight:500}.day-name{font-size:.75rem;color:#6b7280;font-weight:400}.day-name.weekend{color:#dc2626}.sheet-table td,.events-table td{padding:.75rem;border-bottom:1px solid #e5e7eb;color:#374151;background:#fff;vertical-align:middle}.sheet-table tr:hover,.events-table tr:hover,.sheet-table tr:hover td,.events-table tr:hover td{background:#f9fafb}.today-row,.today-row td{background:#fef3f2!important}.weekend-row{background:#fafafa}.sheet-table input,.sheet-table select,.sheet-table textarea{width:100%;padding:.375rem .5rem;border:1px solid #e5e7eb;border-radius:4px;font-size:.875rem}.sheet-table input:focus,.sheet-table select:focus,.sheet-table textarea:focus{outline:none;border-color:#dc2626;ring:2px;ring-color:rgba(220,38,38,.1)}.btn-delete{padding:.375rem .75rem;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s}.editable-cell{position:relative;min-width:200px;background:#fff}.sheet-input-inline{width:100%;padding:.625rem;border:1px solid #e5e7eb;border-radius:4px;font-size:.875rem;font-family:inherit;color:#1f2937;background:#fff}.sheet-input-inline:focus{outline:none;border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.event-input{background:#fff;color:#1f2937}.event-display{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.625rem;border-radius:4px;line-height:1.5;min-height:40px}.event-display.clickable{cursor:pointer;transition:all .2s}.event-display.clickable:hover{background:#00000008}.event-time{font-weight:600;color:#dc2626;font-size:.875rem}.event-title{color:#1f2937;font-weight:500;font-size:.875rem}.event-location{color:#6b7280;font-size:.8rem;font-style:italic}.event-text-cell{padding:.5rem!important;vertical-align:middle}.btn-delete-inline{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:0;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;opacity:0;transition:all .2s}.editable-cell:hover .btn-delete-inline{opacity:1}.btn-delete-inline:hover{background:#dc2626;transform:translateY(-50%) scale(1.1)}.empty-state{text-align:center;padding:3rem 2rem;color:#9ca3af;font-size:.95rem}@media(max-width:768px){.calendar-container{border-radius:0}.calendar-header-section{padding:1rem}.calendar-title-row{flex-direction:column;align-items:flex-start;gap:1rem}.calendar-title-row h2{font-size:1.25rem}.btn-add-event{width:100%}.view-controls-row{flex-direction:column;width:100%;gap:.75rem}.view-toggle-group,.calendar-view-toggle-group{width:100%}.view-toggle-btn,.calendar-view-btn{flex:1;text-align:center}.event-form{padding:1rem}.form-row{flex-direction:column}.calendar-month-view{padding:1rem}.calendar-header{flex-wrap:wrap;gap:.5rem}.calendar-header h3{font-size:1.1rem}.calendar-day{min-height:70px;padding:.375rem}.day-number{font-size:.8rem}.event-pill{font-size:.7rem;padding:.2rem .4rem}.calendar-sheet-view{padding:1rem}.sheet-table{font-size:.8rem}}.todo-container{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 30px #0000001f}.todo-container h2{color:#485563;margin-top:0;margin-bottom:1.5rem;font-size:1.75rem}.todo-form{display:flex;gap:.75rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #f0f0f0}.todo-form .input-field{flex:1}.todos-list{display:flex;flex-direction:column;gap:.75rem}.todo-item{display:flex;align-items:center;gap:1rem;background:#f5f7f9;padding:1rem 1.25rem;border-radius:12px;border-left:4px solid #5a6c7d;transition:all .2s ease}.todo-item:hover{transform:translate(4px);box-shadow:0 4px 12px #48556326}.todo-item.completed{opacity:.6;border-left-color:#a0a0a0}.todo-item.completed .todo-text{text-decoration:line-through;color:#999}.todo-checkbox{width:20px;height:20px;cursor:pointer;accent-color:#5a6c7d}.todo-text{flex:1;font-size:1rem;color:#333}@media(max-width:768px){.todo-container{padding:1.5rem}.todo-container h2{font-size:1.5rem}.todo-form{flex-direction:column}.todo-item{padding:.85rem 1rem}}@media(max-width:480px){.todo-container{padding:1rem}.todo-container h2{font-size:1.25rem}.todo-text{font-size:.95rem}}.grocery-container{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 30px #0000001f}.grocery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.grocery-header h2{color:#485563;margin:0;font-size:1.75rem}.grocery-stats{color:#666;font-size:.9rem;margin:.25rem 0 0}.grocery-actions{display:flex;gap:.5rem}.grocery-form{display:flex;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid #f0f0f0}.grocery-form .input-field{flex:1}.category-select{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer;transition:border-color .3s ease;min-width:150px}.category-select:hover{border-color:#5a6c7d}.category-select:focus{outline:none;border-color:#5a6c7d}.grocery-controls{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap}.filter-select{padding:.5rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.9rem;background:#fff;cursor:pointer;min-width:180px}.show-checked-toggle{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#666;cursor:pointer;-webkit-user-select:none;user-select:none}.show-checked-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#5a6c7d}.grocery-list{display:flex;flex-direction:column;gap:1.5rem}.category-section{border-radius:12px;overflow:hidden}.category-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8f9fa;border-left:4px solid #5a6c7d;margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#485563}.category-icon{font-size:1.25rem}.category-count{margin-left:auto;font-size:.85rem;color:#999;font-weight:500}.category-items{display:flex;flex-direction:column;gap:.5rem}.grocery-item{display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;background:#f5f7f9;border-radius:10px;transition:all .2s ease}.grocery-item:hover{transform:translate(4px);box-shadow:0 2px 8px #48556326}.grocery-item.checked{opacity:.6;background:#f0f0f0}.grocery-item.checked .item-name{text-decoration:line-through;color:#999}.grocery-checkbox{width:22px;height:22px;cursor:pointer;accent-color:#7ED321;flex-shrink:0}.item-name{flex:1;font-size:1rem;color:#333;font-weight:500}.item-quantity{font-size:.85rem;color:#666;background:#fff;padding:.25rem .75rem;border-radius:12px;border:1px solid #e0e0e0}.btn-delete-item{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.25rem;opacity:.4;transition:all .2s ease;color:#e74c3c}.btn-delete-item:hover{opacity:1;transform:scale(1.2)}.grocery-container .empty-state{text-align:center;color:#666;font-style:italic;padding:3rem 2rem;background:#f8f9fa;border-radius:12px;border:2px dashed #e0e0e0}@media(max-width:768px){.grocery-container{padding:1.5rem}.grocery-header h2{font-size:1.5rem}.grocery-form{flex-direction:column}.category-select,.filter-select{min-width:100%}.grocery-controls{flex-direction:column;align-items:flex-start}.grocery-item{padding:.75rem 1rem}.item-name{font-size:.95rem}}@media(max-width:480px){.grocery-container{padding:1rem}.grocery-header h2{font-size:1.25rem}.category-header{font-size:.95rem;padding:.625rem .875rem}.grocery-item{gap:.75rem}.btn btn-secondary{padding:.5rem 1rem;font-size:.85rem}}.bills-container{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 30px #0000001f}.bills-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.bills-container h2{color:#485563;margin:0 0 .5rem;font-size:1.75rem}.bills-stats{color:#666;font-size:.9rem;margin:0}.bill-form{background:#f5f7f9;padding:1.5rem;border-radius:12px;margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:.75rem;align-items:center}.form-row .input-field{flex:1}.bill-type-select,.recurrence-select,.filter-select{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer;transition:border-color .3s ease}.bill-type-select:focus,.recurrence-select:focus,.filter-select:focus{outline:none;border-color:#5a6c7d}.amount-input{max-width:150px}.recurring-row{background:#fff;padding:.75rem;border-radius:8px}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#5a6c7d}.bills-controls{display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid #f0f0f0}.filter-select{flex:1;max-width:200px}.bills-list{display:flex;flex-direction:column;gap:1rem}.bill-item{display:flex;align-items:center;gap:1rem;background:#f5f7f9;padding:1.25rem;border-radius:12px;border-left:4px solid #5a6c7d;transition:all .2s ease}.bill-item:hover{transform:translate(4px);box-shadow:0 4px 12px #48556326}.bill-item.paid{opacity:.7;background:#e8f5e9;border-left-color:#4caf50}.bill-item.overdue{background:#ffebee;border-left-color:#f44336}.bill-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px}.bill-details{flex:1;min-width:0}.bill-name{font-size:1.1rem;font-weight:600;color:#333;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.recurring-badge{font-size:.75rem;background:#e3f2fd;color:#1976d2;padding:.2rem .5rem;border-radius:12px;font-weight:500}.bill-meta{font-size:.85rem;color:#666}.bill-type{font-weight:500}.recurrence-info{text-transform:capitalize}.bill-amount{font-size:1.25rem;font-weight:700;color:#485563;min-width:100px;text-align:right}.bill-due-date{min-width:120px;text-align:center;font-size:.9rem;color:#666}.overdue-text{color:#f44336;font-weight:600}.bill-actions{display:flex;gap:.5rem;align-items:center}.btn-status{padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-status.pending{background:#5a6c7d;color:#fff}.btn-status.pending:hover{background:#485563}.btn-status.paid{background:#4caf50;color:#fff}.btn-status.paid:hover{background:#45a049}.btn-delete-bill{width:32px;height:32px;border:none;background:#ef4444;color:#fff;border-radius:6px;cursor:pointer;font-size:1.1rem;transition:all .2s ease}.btn-delete-bill:hover{background:#dc2626;transform:scale(1.1)}@media(max-width:768px){.bills-container{padding:1.5rem}.bills-header{flex-direction:column;gap:1rem}.bills-header button{width:100%}.bill-form{padding:1rem}.form-row{flex-direction:column}.form-row .input-field,.amount-input{max-width:100%}.bill-item{flex-wrap:wrap;padding:1rem}.bill-icon{font-size:1.5rem;width:40px;height:40px}.bill-amount{font-size:1.1rem;min-width:auto}.bill-due-date{min-width:auto;flex:1 0 100%;text-align:left;margin-top:.5rem}.bill-actions{flex:1 0 100%;margin-top:.5rem}.btn-status{flex:1}}@media(max-width:480px){.bills-container{padding:1rem}.bills-container h2{font-size:1.5rem}.bills-stats{font-size:.8rem}.bill-name{font-size:1rem}.recurring-badge{font-size:.7rem}.bill-meta{font-size:.8rem}}.home-page{min-height:100vh;display:flex;flex-direction:column;background:#f5f6f8}.app-header{background:#fff;padding:1rem 2rem;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:1.5rem}.header-left h1{font-size:1.5rem;color:#1f2937;margin:0;font-weight:600}.partner-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.85rem}.partner-badge.partner-connected{background:#fef3f2;color:#d97706}.partner-badge.partner-solo{background:#f0f9ff;color:#0369a1}.heart-icon{font-size:1rem}.header-right{display:flex;align-items:center;gap:1rem}.btn-invite-partner{padding:.5rem 1rem;background:#dc2626;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;font-weight:500}.btn-invite-partner:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 6px #dc262640}.btn-signout{padding:.5rem 1rem;background:#f9fafb;color:#6b7280;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;font-weight:500}.btn-signout:hover{background:#f3f4f6;color:#374151;border-color:#d1d5db}.horizontal-nav{background:#fff;display:flex;gap:.5rem;padding:.75rem 2rem;border-bottom:1px solid #e5e7eb}.nav-item{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;color:#6b7280;transition:all .2s}.nav-item:hover{background:#f9fafb;color:#374151}.nav-item.active{background:#dc2626;color:#fff}.nav-item.active:hover{background:#b91c1c}.nav-icon{font-size:1.1rem}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.setup-modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.setup-content{background:#fff;padding:2.5rem;border-radius:12px;max-width:500px;width:90%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.setup-content h3{margin:0 0 .75rem;font-size:1.5rem;color:#1f2937;text-align:center}.setup-content p{margin:0 0 1.5rem;color:#6b7280;line-height:1.5;text-align:center}.invite-form-inline{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.invite-form-inline .input-field,.invite-form-inline button{width:100%}.btn-cancel{padding:.6rem 1.2rem;background:#f9fafb;color:#6b7280;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.btn-cancel:hover{background:#f3f4f6;color:#374151}.invite-message{margin-top:1rem;padding:1rem;background:#f0fdf4;color:#15803d;border-radius:8px;font-size:.9rem;border:1px solid #bbf7d0}@media(max-width:768px){.app-header{padding:1rem;flex-direction:column;align-items:flex-start;gap:1rem}.header-left{flex-direction:column;align-items:flex-start;gap:.75rem}.header-left h1{font-size:1.25rem}.partner-badge{font-size:.8rem}.horizontal-nav{padding:.5rem 1rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.horizontal-nav::-webkit-scrollbar{display:none}.nav-item{padding:.5rem 1rem;font-size:.85rem;white-space:nowrap}.main-content{padding:1rem}.setup-content{padding:2rem 1.5rem}}#root{max-width:100%;margin:0;padding:0}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#485563,#29323c)}.app-header{background:#fffffff2;padding:1.5rem;text-align:center;box-shadow:0 2px 10px #0000001a}.app-header h1{margin:0;font-size:2rem;color:#485563}.app-header p{margin:.5rem 0 0;color:#666;font-size:.95rem}.nav-tabs{display:flex;justify-content:center;gap:1rem;padding:1rem;background:#ffffff1a}.nav-tab{padding:.75rem 2rem;border:none;background:#fff3;color:#fff;font-size:1rem;font-weight:500;border-radius:25px;cursor:pointer;transition:all .3s ease}.nav-tab:hover{background:#ffffff4d;transform:translateY(-2px)}.nav-tab.active{background:#fff;color:#485563;box-shadow:0 4px 15px #0003}.main-content{flex:1;padding:2rem 1rem;max-width:800px;width:100%;margin:0 auto}.app-footer{background:#0003;color:#fff;text-align:center;padding:1rem;font-size:.9rem}.btn{padding:.6rem 1.2rem;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-primary{background:#5a6c7d;color:#fff}.btn-primary:hover{background:#485563;transform:translateY(-2px);box-shadow:0 4px 12px #48556366}.btn-delete{background:#ef4444;color:#fff;padding:.4rem .8rem;font-size:.85rem}.btn-delete:hover{background:#dc2626}.input-field{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:border-color .3s ease}.input-field:focus{outline:none;border-color:#5a6c7d}.empty-state{text-align:center;color:#666;font-style:italic;padding:2rem}@media(max-width:768px){.app-header h1{font-size:1.5rem}.nav-tabs{gap:.5rem;padding:.75rem}.nav-tab{padding:.6rem 1.2rem;font-size:.9rem}.main-content{padding:1rem .75rem}.btn{padding:.5rem 1rem;font-size:.9rem}}@media(max-width:480px){.app-header h1{font-size:1.25rem}.app-header p{font-size:.85rem}.nav-tab{padding:.5rem 1rem;font-size:.85rem}}
