.product-list{min-height:100vh;padding:var(--spacing);padding-bottom:100px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing)}.header h1{font-size:28px;font-weight:700}.family-btn{width:44px;height:44px;border-radius:50%;background:var(--tg-theme-secondary-bg-color);font-size:20px;display:flex;align-items:center;justify-content:center}.search-wrapper{margin-bottom:var(--spacing)}.search-input{width:100%;padding:14px 16px;font-size:16px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);color:var(--tg-theme-text-color);border:none}.search-input::placeholder{color:var(--tg-theme-hint-color)}.search-input:focus{outline:2px solid var(--tg-theme-button-color);outline-offset:-2px}.expired-warning{background:var(--color-expired);color:#fff;padding:12px 16px;border-radius:var(--border-radius);margin-bottom:var(--spacing);font-weight:600;text-align:center}.products{display:flex;flex-direction:column;gap:12px}.product-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);border-left:4px solid var(--color-ok);cursor:pointer;transition:transform .1s}.product-card:active{transform:scale(.98)}.product-card.expired{border-left-color:var(--color-expired);background:#e539351a}.product-card.warning{border-left-color:var(--color-warning);background:#fb8c001a}.product-info{display:flex;flex-direction:column;gap:4px}.product-name{font-size:17px;font-weight:600}.product-date{font-size:14px;color:var(--tg-theme-hint-color)}.product-card.expired .product-date{color:var(--color-expired);font-weight:600}.product-code{font-size:16px;font-weight:700;color:var(--tg-theme-hint-color);background:var(--tg-theme-bg-color);padding:8px 12px;border-radius:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state p{font-size:18px;color:var(--tg-theme-hint-color)}.empty-state .hint{font-size:14px;margin-top:8px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.spinner{width:40px;height:40px;border:3px solid var(--tg-theme-secondary-bg-color);border-top-color:var(--tg-theme-button-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading p{margin-top:16px;color:var(--tg-theme-hint-color)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center}.error-icon{font-size:48px;margin-bottom:16px}.error-state p{color:var(--color-expired);margin-bottom:16px}.retry-btn{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);padding:12px 24px;border-radius:12px;font-size:16px;font-weight:600}.add-btn{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);font-size:32px;font-weight:300;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000026}.add-btn:active{transform:scale(.95)}.add-product{min-height:100vh;padding:var(--spacing);display:flex;flex-direction:column}.step-header{margin-bottom:32px}.step-number{display:inline-block;background:var(--tg-theme-secondary-bg-color);padding:4px 12px;border-radius:12px;font-size:14px;color:var(--tg-theme-hint-color);margin-bottom:12px}.step-header h2{font-size:28px;font-weight:700;margin-bottom:8px}.product-preview{font-size:16px;color:var(--tg-theme-hint-color)}form{flex:1;display:flex;flex-direction:column}.input-field{width:100%;padding:16px;font-size:18px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);color:var(--tg-theme-text-color)}.input-field::placeholder{color:var(--tg-theme-hint-color)}.date-input-wrapper{margin-bottom:8px}.date-input{text-align:center}.date-hint{margin-top:8px;font-size:14px;color:var(--tg-theme-hint-color);text-align:center}.error-message{margin-top:12px;padding:12px;background:#e539351a;color:var(--color-expired);border-radius:12px;text-align:center}.result-screen{align-items:center;justify-content:center;text-align:center}.success-icon{width:80px;height:80px;background:var(--color-ok);color:#fff;border-radius:50%;font-size:40px;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.result-screen h2{font-size:24px;margin-bottom:32px}.result-card{background:var(--tg-theme-secondary-bg-color);padding:32px 48px;border-radius:var(--border-radius);margin-bottom:24px}.result-code{font-size:48px;font-weight:700;font-family:SF Mono,Roboto Mono,monospace;letter-spacing:4px}.result-hint{margin-top:8px;font-size:14px;color:var(--tg-theme-hint-color)}.result-details{margin-bottom:32px}.result-details p{font-size:16px;margin:4px 0;color:var(--tg-theme-hint-color)}.result-details strong{color:var(--tg-theme-text-color)}.result-screen .submit-btn{width:100%;margin-top:0}.product-details{min-height:100vh;padding:var(--spacing);display:flex;flex-direction:column;align-items:center}.code-card{width:100%;max-width:280px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);padding:32px;text-align:center;margin-top:32px;margin-bottom:32px;border:3px solid var(--color-ok)}.code-card.expired{border-color:var(--color-expired);background:#e539351a}.code-card.warning{border-color:var(--color-warning);background:#fb8c001a}.code-number{font-size:56px;font-weight:700;font-family:SF Mono,Roboto Mono,monospace;letter-spacing:4px;margin-bottom:16px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:600}.status-badge.ok{background:#43a04733;color:var(--color-ok)}.status-badge.warning{background:#fb8c0033;color:var(--color-warning)}.status-badge.expired{background:#e5393533;color:var(--color-expired)}.info-section{text-align:center;margin-bottom:32px}.info-section h2{font-size:24px;font-weight:600;margin-bottom:8px}.expiry-date{font-size:16px;color:var(--tg-theme-hint-color)}.expiry-date strong{color:var(--tg-theme-text-color)}.error-message{width:100%;padding:12px;background:#e539351a;color:var(--color-expired);border-radius:12px;text-align:center;margin-bottom:16px}.delete-btn{width:100%;margin-top:auto;padding:16px;background:var(--color-expired);color:#fff;border-radius:var(--border-radius);font-size:17px;font-weight:600}.confirm-section{width:100%;margin-top:auto;text-align:center}.confirm-section p{font-size:16px;margin-bottom:16px;color:var(--tg-theme-hint-color)}.confirm-buttons{display:flex;gap:12px}.cancel-btn,.confirm-delete-btn{flex:1;padding:16px;border-radius:var(--border-radius);font-size:16px;font-weight:600}.cancel-btn{background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color)}.confirm-delete-btn{background:var(--color-expired);color:#fff}.confirm-delete-btn:disabled,.cancel-btn:disabled{opacity:.5}.family-settings{min-height:100vh;padding:var(--spacing)}.family-settings h1{font-size:28px;font-weight:700;margin-bottom:24px}.family-info{background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);padding:16px;margin-bottom:24px}.info-item{display:flex;justify-content:space-between;align-items:center}.info-label{color:var(--tg-theme-hint-color)}.info-value{font-weight:600;font-size:18px}.description{color:var(--tg-theme-hint-color);font-size:15px;line-height:1.5;margin-bottom:32px}.actions{display:flex;flex-direction:column;gap:12px}.action-btn{display:flex;align-items:center;gap:12px;padding:16px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);font-size:16px;text-align:left}.action-btn.primary{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.action-icon{font-size:24px}.error-message{margin-top:16px;padding:12px;background:#e539351a;color:var(--color-expired);border-radius:12px;text-align:center}.invite-mode{display:flex;flex-direction:column;align-items:center}.invite-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);padding:32px 48px;text-align:center;margin:32px 0;cursor:pointer;transition:transform .1s}.invite-card:active{transform:scale(.98)}.invite-code{font-size:42px;font-weight:700;font-family:SF Mono,Roboto Mono,monospace;letter-spacing:6px}.tap-hint{margin-top:12px;font-size:13px;color:var(--tg-theme-hint-color)}.invite-info{text-align:center;margin-bottom:32px}.invite-info p{font-size:16px;color:var(--tg-theme-hint-color)}.expires{margin-top:8px;font-size:14px}.join-mode{display:flex;flex-direction:column}.join-mode form{flex:1;display:flex;flex-direction:column}.code-input{width:100%;padding:20px;font-size:32px;font-weight:700;font-family:SF Mono,Roboto Mono,monospace;text-align:center;letter-spacing:8px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);color:var(--tg-theme-text-color)}.code-input::placeholder{color:var(--tg-theme-hint-color);letter-spacing:8px}.submit-btn{margin-top:auto;padding:16px;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border-radius:var(--border-radius);font-size:17px;font-weight:600}.submit-btn:disabled{opacity:.5}.notifications-mode{display:flex;flex-direction:column}.notification-settings{flex:1;margin-bottom:24px}.notifications-toggle{margin-bottom:16px;padding:12px 16px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius)}.notifications-toggle label{display:flex;align-items:center;gap:12px;font-size:15px}.notifications-toggle input[type=checkbox]{width:22px;height:22px;accent-color:var(--tg-theme-button-color)}.time-display{background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);padding:20px;text-align:center;margin-bottom:24px}.current-time-label{font-size:14px;color:var(--tg-theme-hint-color);margin-bottom:8px}.current-time{font-size:24px;font-weight:700;font-family:SF Mono,Roboto Mono,monospace}.time-inputs{display:flex;gap:12px;margin-bottom:16px}.time-input-group{flex:1;display:flex;flex-direction:column;gap:8px}.time-input-group label{font-size:14px;color:var(--tg-theme-hint-color)}.time-input{width:100%;padding:16px;font-size:18px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);color:var(--tg-theme-text-color);text-align:center;font-family:SF Mono,Roboto Mono,monospace}.time-input:disabled{opacity:.5}.timezone-group{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}.timezone-group label{font-size:14px;color:var(--tg-theme-hint-color)}.timezone-select{width:100%;padding:16px;font-size:16px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--border-radius);color:var(--tg-theme-text-color);border:none}.timezone-hint{margin-top:12px;font-size:13px;color:var(--tg-theme-hint-color);text-align:center;line-height:1.4}.reset-btn{width:100%;padding:12px;background:transparent;color:var(--tg-theme-link-color);font-size:14px;text-align:center;border:none}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2678b6;--tg-theme-button-color: #2678b6;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f0f0f0;--color-expired: #e53935;--color-warning: #fb8c00;--color-ok: #43a047;--color-border: #e0e0e0;--border-radius: 16px;--spacing: 16px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);min-height:100vh;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:opacity .2s,transform .1s}button:active{transform:scale(.98)}input{font-family:inherit;font-size:16px;border:none;outline:none;background:transparent}.screen{animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--tg-theme-hint-color);border-radius:2px}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);max-width:90%;padding:10px 16px;border-radius:999px;font-size:14px;color:#fff;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;animation:toast-fade .2s ease-out}.toast-success{background:#43a047f2}.toast-error{background:#e53935f2}@keyframes toast-fade{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}
