.form-alert{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--radius);background:#fdf0f0;border:1px solid #e8c4c4;color:#8b3a3a;font-size:.95rem;line-height:1.45;margin-bottom:12px}.form-alert p{margin:0}.form-alert-dismiss{flex-shrink:0;width:28px;height:28px;padding:0;border-radius:6px;background:transparent;color:inherit;font-size:.9rem}.form-alert-dismiss:hover{background:#8b3a3a14;transform:none;box-shadow:none}.form-field{flex:1 1 200px;min-width:200px;display:flex;flex-direction:column;gap:6px;align-self:flex-start}.form-field--full{width:100%;flex:1 1 100%}.form-field-control{width:100%}.form-field-control>input:not([type=checkbox]):not([type=radio]),.form-field-control>select{width:100%;flex:none}.field-hint{margin:0;font-size:.85rem;line-height:1.35}.field-hint--error{color:var(--color-danger)}.input-error,select.input-error{border-color:var(--color-danger);box-shadow:0 0 0 3px #c954541f}.payees-list--error{border-color:#c9545473;background:#fdf7f7}.home-page{min-height:100vh;padding:40px 20px;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-subtle) 100%)}.container{max-width:1000px;margin:0 auto;padding-bottom:60px}.header{text-align:center;color:var(--color-text);margin-bottom:50px;animation:fadeIn .6s ease-in}.header h1{font-size:3rem;margin-bottom:10px;font-weight:700;letter-spacing:-.02em}.header p{font-size:1.2rem;color:var(--color-text-muted)}.create-event-section{margin-bottom:50px}.create-form{display:flex;gap:10px;background:var(--color-surface);padding:20px;border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--color-border);flex-wrap:wrap;align-items:flex-start}.create-form>.btn-primary{align-self:flex-start;flex-shrink:0}.create-form input{flex:1;min-width:250px;padding:12px 16px;font-size:1rem;border:1px solid var(--color-border);border-radius:8px;transition:all .2s ease}.create-form .form-field input{flex:none;width:100%;min-width:0}.create-form input:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-muted)}.btn-primary{padding:12px 30px;background:var(--color-accent);color:#fff;font-weight:600;border-radius:8px;transition:all .2s ease;white-space:nowrap}.events-section{margin-top:50px}.events-section h2{color:var(--color-text);margin-bottom:20px;font-size:1.8rem;font-weight:600;letter-spacing:-.01em}.events-list{display:grid;gap:15px}.event-card{background:var(--color-surface);padding:20px;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.event-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong);transform:translateY(-1px)}.event-info h3{font-size:1.3rem;margin-bottom:8px;color:var(--color-text);font-weight:600}.event-date{color:var(--color-text-subtle);font-size:.9rem}.event-actions{display:flex;gap:10px}.btn-secondary,.btn-danger{padding:8px 16px;font-size:.9rem;border-radius:8px;transition:all .2s ease;font-weight:500}.btn-secondary{background:var(--color-accent);color:#fff}.btn-secondary:hover{background:var(--color-accent-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.empty-state{text-align:center;padding:60px 20px;background:var(--color-surface);border-radius:var(--radius);color:var(--color-text-muted);font-size:1.2rem;border:1px dashed var(--color-border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.header h1{font-size:2rem}.create-form{flex-direction:column}.event-card{flex-direction:column;align-items:flex-start;gap:15px}.event-actions{width:100%}.event-actions button{flex:1}}.btn-icon-edit{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;transition:border-color .2s ease,color .2s ease,background .2s ease}.btn-icon-edit:hover{border-color:var(--color-border-strong);color:var(--color-text);background:var(--color-bg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#1c1c1a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{width:100%;max-width:440px;height:fit-content;max-height:calc(100vh - 40px);overflow:auto;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 20px 0}.modal-title{margin:0;font-size:1.15rem;font-weight:600;color:var(--color-text)}.modal-close{flex-shrink:0;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer}.modal-close:hover{background:var(--color-bg);color:var(--color-text)}.modal-body{padding:16px 20px 20px}.modal-form{display:flex;flex-direction:column;gap:12px}.modal-form .form-field{width:100%;min-width:0;flex:none;align-self:stretch}.modal-form input,.modal-form select{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-surface);color:var(--color-text)}.modal-form input:focus,.modal-form select:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-muted)}.modal-actions{display:flex;gap:8px;margin-top:4px;flex:none}.modal-actions .btn-primary,.modal-actions .btn-secondary,.modal-actions .btn-danger{flex:1}.modal-confirm-text{margin:0;color:var(--color-text-muted);line-height:1.5}.modal-confirm-text strong{color:var(--color-text)}.payments-table{margin-top:16px}.payments-table__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:12px}.payments-table__search{flex:1 1 220px;min-width:0;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;background:var(--color-surface);color:var(--color-text)}.payments-table__search:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-muted)}.payments-table__count{font-size:.9rem;color:var(--color-text-muted);white-space:nowrap}.payments-table__scroll{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.payments-table__table{width:100%;border-collapse:collapse;font-size:.95rem}.payments-table__table th,.payments-table__table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-border)}.payments-table__table th{background:var(--color-bg);color:var(--color-text-muted);font-weight:600;font-size:.85rem;white-space:nowrap}.payments-table__table tbody tr:last-child td{border-bottom:none}.payments-table__table tbody tr:hover{background:var(--color-accent-muted)}.payments-table__sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;font:inherit;font-weight:600;color:inherit;cursor:pointer}.payments-table__sort:hover,.payments-table__sort--active{color:var(--color-text)}.payments-table__sort-icon{font-size:.75rem;opacity:.6}.payments-table__sort--active .payments-table__sort-icon{opacity:1}.payments-table__description{font-weight:600;color:var(--color-text)}.payments-table__amount{font-weight:700;white-space:nowrap}.payments-table__payees{color:var(--color-text-muted);font-size:.9rem;line-height:1.4}.payments-table__delete{margin:0 auto}.payments-table__empty{text-align:center;color:var(--color-text-subtle);padding:32px 16px!important}.payments-table__pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.payments-table__page-size{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--color-text-muted)}.payments-table__page-size select{padding:6px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:.9rem}.payments-table__page-nav{display:flex;align-items:center;gap:10px}.payments-table__page-btn{padding:8px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:.9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.payments-table__page-btn:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border-strong)}.payments-table__page-btn:disabled{opacity:.45;cursor:not-allowed}.payments-table__page-info{font-size:.9rem;color:var(--color-text-muted);min-width:4rem;text-align:center}@media (max-width: 640px){.payments-table__table th,.payments-table__table td{padding:10px 12px;font-size:.88rem}.payments-table__payees{min-width:140px}}.event-page{min-height:100vh;padding:40px 20px;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-subtle) 100%)}.container{max-width:1000px;margin:0 auto}.event-header{margin-bottom:40px}.header-content{display:flex;align-items:center;gap:20px;margin-bottom:30px}.btn-back{background:var(--color-surface);color:var(--color-text-muted);padding:10px 20px;border-radius:8px;border:1px solid var(--color-border);font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border-strong)}.header-content h1{color:var(--color-text);font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin:0;min-width:0;word-break:break-word}.event-title-block{flex:1;min-width:0}.event-title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.share-section{background:var(--color-surface);padding:20px;border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.share-box{display:flex;gap:10px;margin-bottom:10px}.share-link-input{flex:1;min-width:0;width:100%;box-sizing:border-box;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:.9rem;background:var(--color-bg);color:var(--color-text-muted)}.btn-copy{padding:12px 24px;background:var(--color-accent);color:#fff;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-copy:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.share-hint{color:var(--color-text-subtle);font-size:.9rem;margin:0}.tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.tab-button{flex:1;min-width:180px;padding:14px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-weight:600;cursor:pointer;transition:all .2s ease}.tab-button.active{background:var(--color-surface);border-color:var(--color-accent);color:var(--color-text);box-shadow:var(--shadow-sm)}.tab-button:hover{border-color:var(--color-border-strong)}.tab-content{margin-bottom:40px}.payments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px;margin-top:20px}.add-participant-section{background:var(--color-surface);padding:25px;border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--color-border);margin-bottom:40px}.add-participant-section h2{margin-bottom:20px;color:var(--color-text);font-size:1.3rem;font-weight:600}.participant-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;width:100%}.participant-form>.form-field:not(.form-field--full){flex:1 1 160px;min-width:min(100%,160px)}.participant-form .form-field{flex:1 1 160px;min-width:min(100%,160px)}.participant-form>.btn-primary{align-self:flex-start;flex-shrink:0}.participant-form input:not([type=checkbox]):not([type=radio]),.participant-form select{flex:1;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;transition:all .2s ease;background:var(--color-surface);color:var(--color-text)}.participant-form .form-field-control>input:not([type=checkbox]):not([type=radio]),.participant-form .form-field-control>select{flex:none;width:100%}.participant-form select{max-width:100%}.payment-options{width:100%;display:flex;gap:20px;flex-wrap:wrap;margin:10px 0;align-items:center}.payment-options-label{color:var(--color-text-muted);font-weight:600;font-size:.95rem}.payment-total-preview{width:100%;margin:0;color:var(--color-text-muted);font-size:.95rem}.payment-total-preview strong{color:var(--color-text)}.payee-checkbox{display:flex;align-items:center;gap:10px;width:100%;background:var(--color-surface);padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);cursor:pointer}.participant-form .payee-checkbox input[type=checkbox]{width:18px;height:18px;flex:none;margin:0;padding:0;accent-color:var(--color-accent);cursor:pointer}.payee-name{flex:1;min-width:0}.participant-form .payee-checkbox .payee-share-input,.payee-share-input{width:72px;min-width:72px;flex:none;padding:6px 8px!important;text-align:center}.settlement-subheading,.payments-table-heading{margin:24px 0 12px;color:var(--color-text);font-size:1.05rem;font-weight:600}.payments-table-heading{margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border)}.settlement-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:8px}.settlement-details-block{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px}.settlement-list{list-style:none;display:grid;gap:10px}.settlement-list li{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;color:var(--color-text-muted)}.settlement-list strong{color:var(--color-text);white-space:nowrap}.settlement-paid{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.settlement-paid em{font-style:normal;font-size:.85rem}.balance-positive{color:#3d7a4a}.balance-negative{color:var(--color-danger)}.balance-neutral{color:var(--color-text-subtle)}.payment-card{position:relative;padding-right:48px}.payment-card .btn-remove{position:absolute;top:16px;right:16px}.payment-payer{color:var(--color-text-muted);font-size:.95rem;margin-bottom:6px}.payment-amount-line{font-size:1.1rem;margin-bottom:8px}.transfer-card h3{font-size:.95rem}.transfer-card p{font-size:1.2rem}.payment-options input[type=radio]{width:16px;height:16px;flex:none;margin:0;padding:0;accent-color:var(--color-accent);cursor:pointer}.payment-options label{display:flex;align-items:center;gap:8px;color:var(--color-text);font-weight:600}.payees-list{width:100%;background:var(--color-bg);padding:16px;border-radius:var(--radius);border:1px solid var(--color-border);display:grid;gap:10px}.payment-details{margin:12px 0 0;color:var(--color-text-muted);font-size:.95rem}.participant-form input:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-muted)}.btn-primary{padding:12px 30px;background:var(--color-accent);color:#fff;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-md)}.participants-section{background:var(--color-surface);padding:25px;border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--color-border);margin-bottom:40px}.participants-section h2{margin-bottom:20px;color:var(--color-text);font-size:1.3rem;font-weight:600}.participants-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.participant-card{background:var(--color-bg);padding:20px;border-radius:10px;transition:all .2s ease;border:1px solid var(--color-border);border-left:3px solid var(--color-warm)}.participant-info h3{margin:0 0 10px;color:var(--color-text);font-size:1.1rem;font-weight:600;min-width:0;word-break:break-word}.participant-edit-title{margin:0 0 10px;font-size:.95rem;font-weight:600;color:var(--color-text-muted)}.participant-card-actions{display:flex;gap:8px;margin-top:16px}.participant-card-actions .btn-edit-participant,.participant-card-actions .btn-delete-participant{flex:1}.btn-edit-participant{padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:.9rem;font-weight:600;cursor:pointer}.btn-edit-participant:hover{border-color:var(--color-border-strong);color:var(--color-text)}.btn-delete-participant,.btn-danger{padding:8px 12px;border-radius:8px;border:1px solid #e8c4c4;background:#fdf0f0;color:var(--color-danger);font-size:.9rem;font-weight:600;cursor:pointer}.btn-delete-participant:hover,.btn-danger:hover{background:#fae4e4;border-color:#ddb0b0}.participant-edit-form{width:100%;display:flex;flex-wrap:wrap;gap:10px}.participant-edit-form input,.participant-edit-form select{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;background:var(--color-surface);color:var(--color-text)}.participant-edit-form input:focus,.participant-edit-form select:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-muted)}.participant-edit-form .form-field{flex:1 1 160px}.participant-edit-actions{width:100%;display:flex;gap:8px}.participant-info{width:100%;min-width:0}.participant-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--color-border-strong)}.participant-payment-badge{display:inline-block;margin-top:6px;margin-right:6px;padding:4px 10px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.82rem}.btn-secondary{padding:10px 16px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.badges-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drink-badge,.amount-badge{display:inline-block;color:#fff;padding:6px 12px;border-radius:20px;font-size:.9rem;margin:0;font-weight:600}.drink-badge{background:var(--color-accent)}.amount-badge{background:var(--color-warm)}.settlement-section{margin-top:30px;padding:24px;border-radius:var(--radius);background:var(--color-bg);border:1px solid var(--color-border)}.settlement-section h2{margin-bottom:18px;color:var(--color-text);font-size:1.25rem;font-weight:600}.settlement-summary{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:20px}.settlement-summary p{margin:0;color:var(--color-text-muted);font-size:1rem}.settlement-summary strong{color:var(--color-text)}.settlement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px}.settlement-card{background:var(--color-surface);padding:16px;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.settlement-card h3{margin:0 0 10px;font-size:1rem;color:var(--color-text-muted);font-weight:500}.settlement-card p{margin:0;font-size:1.1rem;font-weight:700;color:var(--color-text)}.btn-remove{background:var(--color-danger);color:#fff;width:32px;height:32px;border-radius:50%;border:none;font-size:1.2rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.btn-remove:hover{background:var(--color-danger-hover);transform:scale(1.05)}.empty-participants{text-align:center;padding:60px 20px;background:var(--color-bg);border-radius:10px;color:var(--color-text-subtle);font-size:1.1rem;border:1px dashed var(--color-border)}.loading{display:flex;justify-content:center;align-items:center;height:100vh;color:var(--color-text-muted);font-size:1.2rem;background:var(--color-bg)}@media (max-width: 600px){.event-page{padding:20px 12px}.header-content{flex-direction:column;align-items:flex-start;gap:12px}.header-content h1{font-size:1.6rem;line-height:1.2;word-break:break-word}.share-section{padding:16px}.share-box{flex-direction:column;align-items:stretch}.share-link-input{font-size:.8rem}.btn-copy{width:100%}.participant-form{flex-direction:column;align-items:stretch}.participant-form .form-field,.participant-form>.form-field:not(.form-field--full){flex:1 1 100%;min-width:100%;width:100%}.participant-form>.btn-primary{width:100%}.payment-options{flex-direction:column;align-items:flex-start;gap:10px}.participants-grid{grid-template-columns:1fr}.add-participant-section,.participants-section,.settlement-section{padding:16px}.settlement-summary{flex-direction:column;gap:8px}.modal-actions{flex-direction:column}.modal-actions .btn-primary,.modal-actions .btn-secondary,.modal-actions .btn-danger{width:100%}.participant-edit-form .form-field{flex:1 1 100%;min-width:100%}.participant-edit-actions{flex-direction:column}.participant-edit-actions .btn-primary,.participant-edit-actions .btn-secondary{width:100%}.participant-card-actions{flex-direction:column}}.site-footer{max-width:1000px;margin:0 auto;padding:32px 20px 48px;color:var(--color-text-subtle);font-size:.9rem;line-height:1.5;text-align:center;border-top:1px solid var(--color-border)}.settlement-disclaimer{margin:0 0 16px;color:var(--color-text-muted);font-size:.95rem;line-height:1.5}:root{--color-bg: #f5f4f1;--color-bg-subtle: #ebeae6;--color-surface: #ffffff;--color-text: #1c1c1a;--color-text-muted: #6b6966;--color-text-subtle: #9c9893;--color-border: #e3e1dc;--color-border-strong: #d1cec8;--color-accent: #2c3338;--color-accent-hover: #1a2024;--color-accent-muted: rgba(44, 51, 56, .08);--color-warm: #b8734a;--color-warm-muted: #f3ebe4;--color-danger: #c95454;--color-danger-hover: #b84444;--shadow-sm: 0 1px 3px rgba(28, 28, 26, .06);--shadow-md: 0 4px 16px rgba(28, 28, 26, .08);--shadow-lg: 0 8px 28px rgba(28, 28, 26, .1);--radius: 12px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text);min-height:100vh}html,body,#root{height:100%}button{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:16px;transition:all .2s ease}button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}input{border:1px solid var(--color-border);border-radius:8px;padding:10px 15px;font-size:16px;transition:border-color .2s ease,box-shadow .2s ease;background:var(--color-surface);color:var(--color-text)}input:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-muted)}select{border:1px solid var(--color-border);border-radius:8px;padding:10px 15px;font-size:16px;transition:border-color .2s ease,box-shadow .2s ease;background:var(--color-surface);color:var(--color-text)}select:focus{outline:none;border-color:var(--color-border-strong);box-shadow:0 0 0 3px var(--color-accent-muted)}
