*{margin:0;padding:0;box-sizing:border-box}body{margin:0;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:#e0f7f5}#root{width:100%;min-height:100vh}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--turquoise-primary);color:var(--white);padding:1rem 1.5rem;border-radius:12px;box-shadow:0 4px 12px #00000026;z-index:1000;animation:slideUp .3s ease-out;max-width:90%;text-align:center;transition:opacity .3s ease-out,transform .3s ease-out}.toast-closing{opacity:0;transform:translate(-50%) translateY(20px)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.toast-content{display:flex;align-items:center;gap:.75rem}.toast-icon{font-size:1.2rem;font-weight:700}.toast-message{font-weight:500;font-size:1rem}:root{--turquoise-primary: #40E0D0;--turquoise-dark: #2BB5A8;--turquoise-light: #7FFFD4;--turquoise-bg: #E0F7F5;--white: #FFFFFF;--text-dark: #2C3E50;--text-light: #7F8C8D;--border-color: #B2DFDB;--error-color: #E74C3C;--shadow: 0 2px 8px rgba(64, 224, 208, .15);--shadow-hover: 0 4px 12px rgba(64, 224, 208, .25)}*{box-sizing:border-box}.app{min-height:100vh;background:linear-gradient(135deg,var(--turquoise-bg) 0%,var(--white) 100%);padding:1rem;max-width:600px;margin:0 auto;width:100%;box-sizing:border-box}.app-resume{max-width:600px!important}@media(min-width:1024px){.app:not(.app-resume){max-width:1200px}}@media(min-width:1440px){.app:not(.app-resume){max-width:1600px}}.app-header{padding:2rem 1rem;color:var(--text-dark)}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;max-width:600px;margin:0 auto}.header-content>div{text-align:center;flex:1;min-width:200px}.btn-header{white-space:nowrap}.app-header h1{font-size:2.5rem;margin:0;color:var(--turquoise-dark);font-weight:700;text-shadow:2px 2px 4px rgba(64,224,208,.2)}.subtitle{margin:.5rem 0 0;color:var(--text-light);font-size:1rem}.app-main{padding-bottom:2rem}.lock-banner{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:#856404;font-weight:500}.lock-icon{font-size:1.2rem}.section{background:var(--white);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow);overflow:hidden;width:100%;box-sizing:border-box}.section h2{margin:0 0 1rem;color:var(--turquoise-dark);font-size:1.5rem;font-weight:600}.input-group{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.input{flex:1;min-width:120px;padding:.75rem;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;transition:border-color .3s;font-family:inherit}.input:focus{outline:none;border-color:var(--turquoise-primary)}.input:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.6}.input-price{max-width:120px}.input-quantity{max-width:100px}.input-tip{max-width:180px}.tip-preview{display:flex;align-items:center;padding:.5rem 1rem;background:var(--turquoise-bg);border-radius:8px;color:var(--turquoise-dark);font-weight:600;font-size:.95rem;white-space:nowrap}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;font-family:inherit;white-space:nowrap}.btn-primary{background:var(--turquoise-primary);color:var(--white);box-shadow:var(--shadow)}.btn-primary:hover{background:var(--turquoise-dark);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-secondary{background:var(--white);color:var(--turquoise-dark);border:2px solid var(--turquoise-primary)}.btn-secondary:hover{background:var(--turquoise-bg)}.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-large{width:100%;padding:1rem;font-size:1.1rem;margin-top:1rem}.btn-share{display:flex;align-items:center;justify-content:center;gap:.5rem}.share-icon,.edit-icon,.trash-icon{width:16px;height:16px;color:currentColor;flex-shrink:0}svg[class*=react-icons]{width:16px;height:16px;flex-shrink:0}.btn-remove{background:transparent;border:none;color:var(--text-light);font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;line-height:1}.btn-remove:hover{background:var(--error-color);color:var(--white);transform:scale(1.1)}.people-list{display:flex;flex-wrap:wrap;gap:.5rem}.person-tag{display:flex;align-items:center;gap:.5rem;background:var(--turquoise-bg);padding:.5rem 1rem;border-radius:20px;color:var(--turquoise-dark);font-weight:500}.items-list{display:grid;grid-template-columns:1fr;gap:1rem;width:100%;box-sizing:border-box}@media(min-width:768px){.items-list{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.items-list{grid-template-columns:repeat(3,1fr)}}.item-card{background:var(--turquoise-bg);border-radius:12px;padding:1rem;border:2px solid var(--border-color);display:flex;flex-direction:column;height:100%;min-width:0;box-sizing:border-box;overflow:hidden}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:.5rem}.item-actions{display:flex;gap:.5rem;align-items:flex-start}.btn-edit{background:transparent;border:none;color:var(--turquoise-dark);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-edit:hover{background:var(--turquoise-bg);transform:scale(1.1)}.item-name-editable{cursor:pointer;transition:color .2s}.item-name-editable:hover:not(.disabled){color:var(--turquoise-dark);text-decoration:underline}.item-name-editable.disabled{cursor:not-allowed;opacity:.6}.item-edit-form{display:flex;flex-wrap:wrap;gap:.5rem;width:100%;align-items:center}.input-edit{flex:1;min-width:120px;padding:.5rem;border:2px solid var(--turquoise-primary);border-radius:6px;font-size:.9rem}.input-edit-small{max-width:80px;min-width:60px}.btn-small{padding:.5rem .75rem;font-size:.9rem;min-width:auto}.item-info{flex:1}.item-info h3{margin:0 0 .25rem;color:var(--text-dark);font-size:1.1rem}.item-price-info{display:flex;flex-direction:column;gap:.25rem}.item-quantity{color:var(--text-light);font-size:.85rem;font-weight:500}.item-price{color:var(--turquoise-dark);font-weight:600;font-size:1.1rem}.item-people{border-top:1px solid var(--border-color);padding-top:1rem}.item-people-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.item-people-label{margin:0;color:var(--text-light);font-size:.9rem;font-weight:500}.btn-toggle-selection{background:var(--turquoise-primary);color:var(--white);border:none;border-radius:50%;width:24px;height:24px;min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;font-weight:600;line-height:1;transition:transform .2s ease,background-color .2s ease;padding:0;margin:0;text-align:center;vertical-align:middle;box-sizing:border-box;position:relative;transform-origin:center center;will-change:transform}.btn-toggle-selection .toggle-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.btn-toggle-selection .toggle-icon svg{width:14px;height:14px;color:inherit}.btn-toggle-selection:hover{background:var(--turquoise-dark);transform:scale(1.1);transform-origin:center center}.people-chips{display:flex;flex-wrap:wrap;gap:.5rem}.people-chips-selected{display:flex;margin-bottom:.5rem}.people-chips-all{display:flex;margin-top:.5rem}.no-selection-message{color:var(--text-light);font-style:italic;font-size:.9rem;padding:.5rem}.person-chip{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:2px solid var(--border-color);background:var(--white);border-radius:20px;cursor:pointer;color:var(--text-dark);font-size:.9rem;font-weight:500;transition:all .2s;font-family:inherit}.person-chip:hover{border-color:var(--turquoise-primary);transform:translateY(-2px);box-shadow:var(--shadow)}.person-chip.selected{background:var(--turquoise-primary);border-color:var(--turquoise-primary);color:var(--white);box-shadow:var(--shadow)}.person-chip.selected:hover{background:var(--turquoise-dark);border-color:var(--turquoise-dark)}.person-chip:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.person-chip:disabled:hover{transform:none;box-shadow:none}.chip-check{font-size:1rem;font-weight:700}.no-people-message{color:var(--text-light);font-style:italic;font-size:.9rem;margin:.5rem 0}.summary{background:var(--white);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow)}.summary-header{display:flex;gap:.5rem;margin-bottom:1rem}.summary h2{margin:1rem 0;color:var(--turquoise-dark);font-size:1.5rem}.summary-breakdown{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0;padding:1rem;background:var(--turquoise-bg);border-radius:12px;border:1px solid var(--border-color)}.breakdown-item{display:flex;justify-content:space-between;align-items:center}.breakdown-label{color:var(--text-dark);font-size:1rem;font-weight:500}.breakdown-value{color:var(--turquoise-dark);font-weight:600;font-size:1rem}.summary-total{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--turquoise-bg);border-radius:12px;margin:1.5rem 0;border:2px solid var(--turquoise-primary)}.total-label{margin:0;font-size:1.2rem;font-weight:600;color:var(--text-dark)}.total-value{margin:0;font-size:1.8rem;font-weight:700;color:var(--turquoise-dark)}.summary-list{display:flex;flex-direction:column;gap:1rem}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--turquoise-bg);border-radius:8px;border:1px solid var(--border-color)}.summary-item-expandable{background:var(--turquoise-bg);border-radius:8px;border:1px solid var(--border-color);margin-bottom:.75rem;overflow:hidden}.summary-item-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;cursor:pointer;transition:background .2s}.summary-item-header:hover{background:#40e0d01a}.summary-item-main{display:flex;justify-content:space-between;align-items:center;flex:1}.expand-icon{margin-left:1rem;color:var(--turquoise-dark);font-size:.9rem;transition:transform .2s}.summary-item-details{padding:0 1rem 1rem;background:var(--white);border-top:1px solid var(--border-color)}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem .5rem;border-bottom:1px solid var(--border-color)}.detail-item:last-child{border-bottom:none}.detail-item-tip{background:var(--turquoise-bg);margin:.5rem 0;padding:.75rem;border-radius:6px;border:1px solid var(--turquoise-primary)}.detail-item-name{color:var(--text-dark);font-size:.9rem}.detail-item-amount{color:var(--turquoise-dark);font-weight:600;font-size:.95rem}.no-items-message{color:var(--text-light);font-style:italic;font-size:.9rem;padding:.5rem;text-align:center}.advanced-section{margin-top:2rem;background:var(--turquoise-bg);border-radius:12px;border:2px solid var(--border-color);overflow:hidden}.advanced-section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.advanced-section-header:hover{background:#40e0d01a}.advanced-section-title{margin:0;color:var(--turquoise-dark);font-size:1.2rem;font-weight:600}.advanced-section-content{padding:1.5rem;background:var(--white);border-top:2px solid var(--border-color)}.advanced-item{margin-bottom:2rem}.advanced-item:last-child{margin-bottom:0}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:1rem;color:var(--text-dark);-webkit-user-select:none;user-select:none}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--turquoise-primary)}.lock-message{margin-top:.75rem;padding:.75rem;background:var(--turquoise-bg);border-radius:8px;color:var(--turquoise-dark);font-size:.9rem;font-weight:500}.lock-warning{margin-top:.5rem;padding:.5rem;background:#fff3cd;border-radius:6px;color:#856404;font-size:.85rem}.advanced-label{display:block;color:var(--text-dark);font-weight:600;margin-bottom:.5rem;font-size:1rem}.advanced-description{color:var(--text-light);font-size:.85rem;margin-bottom:1rem;line-height:1.4}.current-bill-id{margin-top:.75rem;color:var(--text-light);font-size:.9rem}.current-bill-id code{background:var(--turquoise-bg);padding:.25rem .5rem;border-radius:4px;color:var(--turquoise-dark);font-family:Courier New,monospace;font-size:.9rem}.items-summary-section{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border-color)}.items-summary-title{margin:0 0 1rem;color:var(--turquoise-dark);font-size:1.3rem;font-weight:600}.items-summary-list{display:flex;flex-direction:column;gap:.75rem}.items-summary-item{background:var(--turquoise-bg);border-radius:8px;padding:.75rem 1rem;border:1px solid var(--border-color)}.items-summary-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.items-summary-name{font-weight:600;color:var(--text-dark);font-size:1rem}.items-summary-meta{color:var(--text-light);font-size:.9rem}.items-summary-people{color:var(--turquoise-dark);font-size:.85rem;font-weight:500;padding-top:.25rem;border-top:1px solid var(--border-color)}.summary-person{font-weight:600;color:var(--text-dark);font-size:1.1rem}.summary-amount{font-weight:700;color:var(--turquoise-dark);font-size:1.2rem}.empty-message{text-align:center;color:var(--text-light);padding:2rem;font-style:italic}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1.5rem}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--turquoise-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-light);font-size:1.1rem;font-weight:500}.action-buttons{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}@media(max-width:480px){.app{padding:.5rem}.header-content{flex-direction:column;text-align:center}.header-content>div{width:100%}.btn-header{width:100%}.app-header h1{font-size:2rem}.section{padding:1rem}.input-group{flex-direction:column}.input{width:100%}.input-price,.input-quantity,.input-tip{max-width:100%}.tip-preview{width:100%;justify-content:center}.btn{width:100%}.people-chips{gap:.5rem}}@media(hover:none){.btn,.input,.person-chip{min-height:44px}}
