:root{--color-primary: #0d9488;--color-primary-hover: #0f766e;--color-primary-light: #ccfbf1;--color-accent: #f59e0b;--color-accent-light: #fef3c7;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-light: #fee2e2;--color-bg: #f1f5f9;--color-bg-elevated: #ffffff;--color-surface: #ffffff;--color-border: #e2e8f0;--color-border-focus: #0d9488;--color-text: #0f172a;--color-text-muted: #64748b;--color-text-inverse: #ffffff;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .07), 0 2px 4px -2px rgba(15, 23, 42, .05);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .04);--transition-fast: .15s ease;--transition-base: .2s ease;--bp-sm: 480px;--bp-md: 768px;--bp-lg: 1024px;--touch-min: 44px}*{box-sizing:border-box}html{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow-x:hidden}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;overflow-x:hidden;min-width:0}a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}input,button,select{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none}.container{max-width:960px;width:100%;min-width:0;margin:0 auto;padding:var(--space-4) var(--space-4);box-sizing:border-box}@media (min-width: 768px){.container{padding:var(--space-6) var(--space-6)}}.page-header{margin-bottom:var(--space-6)}.page-header h1{font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:-.02em;margin:0 0 var(--space-1) 0;color:var(--color-text)}.page-header p{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.page-header--with-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.page-header--with-actions>div:first-child{flex:1;min-width:0}@media (max-width: 767px){.page-header h1{font-size:var(--text-xl)}.page-header--with-actions{flex-direction:column;align-items:stretch;gap:var(--space-3)}.page-header--with-actions .default-badge,.page-header--with-actions .btn{align-self:flex-start}}.default-badge{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);background:var(--color-primary-light);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);flex-shrink:0}.app-nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.app-nav__brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--color-text);text-decoration:none}.app-nav__brand:hover{color:var(--color-primary)}.app-nav__brand-icon{width:28px;height:28px;background:linear-gradient(135deg,var(--color-primary),#14b8a6);border-radius:var(--radius-md)}.app-nav__link{color:var(--color-text-muted);font-weight:var(--font-medium);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.app-nav__link:hover{color:var(--color-primary);background:var(--color-primary-light)}.app-nav__spacer{flex:1}.app-nav__user{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--font-medium)}.app-nav__logout{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);background:transparent;border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.app-nav__logout:hover{color:var(--color-danger);background:var(--color-danger-light)}@media (max-width: 767px){.app-nav{padding:var(--space-2) var(--space-4);gap:var(--space-2);flex-wrap:wrap}.app-nav__brand{font-size:var(--text-base)}.app-nav__brand-icon{width:24px;height:24px}.app-nav__link{padding:var(--space-2) var(--space-3);min-height:var(--touch-min);display:inline-flex;align-items:center}.app-nav__user{font-size:var(--text-xs);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav__logout{min-height:var(--touch-min);padding:var(--space-2) var(--space-3)}}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.card--highlight{background:linear-gradient(135deg,var(--color-accent-light) 0%,#fffbeb 100%);border-color:#fcd34d}.page-account .page-title{margin-bottom:var(--space-6)}.page-account .account-section{margin-bottom:var(--space-8)}.page-account .account-section:last-child{margin-bottom:0}.page-account .account-section h2{margin-top:0;margin-bottom:var(--space-4);font-size:var(--text-lg)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=number],.form-group input[type=date]{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input::placeholder{color:var(--color-text-muted)}.form-group input:hover{border-color:var(--color-text-muted)}.form-group input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.checkbox-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--color-primary)}.checkbox-label__icon{font-size:1.25rem;line-height:1}.input-with-toggle{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-with-toggle:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.input-with-toggle input{flex:1;min-width:0;border:none;background:transparent;box-shadow:none}.input-with-toggle input:focus{box-shadow:none}.input-with-toggle .password-toggle{flex-shrink:0;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-primary);background:transparent;border:none;border-left:1px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.input-with-toggle .password-toggle:hover{color:var(--color-primary-hover);background:var(--color-primary-light)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-input{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-input::placeholder{color:var(--color-text-muted)}.search-input:hover{border-color:var(--color-text-muted)}.search-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.stock-filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.stock-filters__label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted)}.stock-filters__select{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text);min-width:160px}.stock-filters__select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 2px var(--color-primary-light)}.stock-filters__options{display:flex;gap:var(--space-1);flex-wrap:wrap}.stock-filters__options .btn-ghost.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-medium)}.stock-filters__options .btn-ghost.active:hover{background:var(--color-primary-light);color:var(--color-primary)}.stock-filters--add-category{flex:0 0 auto}.stock-filters__add-category{display:flex;gap:var(--space-2);align-items:center}.stock-filters__add-input{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);width:140px}.stock-actions{position:relative;margin-bottom:var(--space-4)}.stock-actions__main{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.stock-actions__filters-btn{display:inline-flex;align-items:center;gap:var(--space-2)}.stock-actions__filters-btn.active{background:var(--color-primary-light);color:var(--color-primary)}.stock-actions__filters-icon{font-size:.65em;opacity:.9;transition:transform var(--transition-base)}.stock-actions__filters-icon--open{transform:rotate(-180deg)}.stock-actions__badge{width:8px;height:8px;border-radius:50%;background:var(--color-primary);margin-left:var(--space-1)}.stock-filters-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a4d;z-index:150;animation:house-tabs-fade .2s ease}.stock-filters-panel{position:absolute;top:100%;left:0;margin-top:var(--space-2);min-width:min(320px,100%);z-index:151;max-height:85vh;overflow:auto}.stock-filters-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.stock-filters-panel__title{margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.stock-filters-panel__close{width:var(--touch-min);height:var(--touch-min);display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-md)}.stock-filters-panel__close:hover{color:var(--color-text);background:var(--color-bg)}.stock-filters-panel__body{display:flex;flex-direction:column;gap:var(--space-4)}.stock-filters-panel__body .stock-filters__select{width:100%}.stock-filters-panel__add-cat .stock-filters__add-category{margin-top:var(--space-2)}.form-group__label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);margin-bottom:var(--space-2)}.modal-categories{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.modal-categories__item{margin:0}.modal-categories__new{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.modal-categories__new-input{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);width:140px}@media (max-width: 767px){.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group input[type=number],.form-group input[type=date]{min-height:var(--touch-min);padding:var(--space-3) var(--space-4)}.input-with-toggle{min-height:var(--touch-min)}.input-with-toggle .password-toggle{min-height:var(--touch-min);padding:var(--space-2) var(--space-4)}.search-input{min-height:var(--touch-min);padding:var(--space-3) var(--space-4)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-sm);font-weight:var(--font-semibold);border-radius:var(--radius-md, 10px);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}button.btn,a.btn{border-radius:var(--radius-md, 10px)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border);border-color:var(--color-text-muted)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost.btn-danger-outline{color:var(--color-text-muted)}.btn-ghost.btn-danger-outline:hover:not(:disabled){color:var(--color-danger);background:var(--color-danger-light)}.btn-ghost{background:transparent;color:var(--color-text-muted)}.btn-ghost:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-md, 10px)}.btn-with-icon .btn-icon{width:1.25em;height:1.25em;display:inline-flex;flex-shrink:0}@media (max-width: 767px){.btn{min-height:var(--touch-min);padding:var(--space-3) var(--space-4)}.btn-sm{min-height:36px}.btn-icon{min-width:var(--touch-min);min-height:var(--touch-min)}}.error-msg{color:var(--color-danger);font-size:var(--text-sm);margin-top:var(--space-2);font-weight:var(--font-medium)}.success-msg{color:#059669;font-size:var(--text-sm);margin-top:var(--space-2)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:max(var(--space-4),env(safe-area-inset-top)) max(var(--space-4),env(safe-area-inset-right)) max(var(--space-4),env(safe-area-inset-bottom)) max(var(--space-4),env(safe-area-inset-left));animation:modalOverlayIn .2s ease}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.modal{position:relative;background:var(--color-surface);border-radius:20px;max-width:440px;width:100%;max-height:90vh;max-height:calc(90dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;padding:var(--space-8);box-shadow:0 25px 50px -12px #0f172a33,0 0 0 1px #0f172a0d;border:1px solid var(--color-border);animation:modalIn .3s cubic-bezier(.16,1,.3,1)}@media (max-width: 479px){.modal{max-width:none;border-radius:16px 16px 0 0;margin-top:auto;max-height:92dvh;padding:var(--space-6)}.modal__close{min-width:var(--touch-min);min-height:var(--touch-min);top:var(--space-2);right:var(--space-2)}}.modal-overlay--bottom{align-items:flex-end;padding-bottom:0}.modal--bottom{max-width:none;width:100%;border-radius:16px 16px 0 0;margin-top:0;max-height:85vh;max-height:calc(85dvh - env(safe-area-inset-bottom));animation:modalSlideIn .3s cubic-bezier(.16,1,.3,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal__close{position:absolute;top:var(--space-4);right:var(--space-4);width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;font-size:1.5rem;line-height:1;color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.modal__close:hover{color:var(--color-text);background:var(--color-bg)}.modal h2,.modal__title{margin:0 0 var(--space-4) 0;padding-right:40px;font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--color-text)}.modal__message{margin:0 0 var(--space-6) 0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-muted)}.modal--confirm .modal__title{padding-right:0}.modal-qty{display:inline-flex;align-items:center;gap:var(--space-2)}.modal-qty__btn{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;line-height:1;color:var(--color-primary);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.modal-qty__btn:hover{background:var(--color-primary);color:var(--color-text-inverse)}.modal-qty__value{min-width:3ch;text-align:center;font-weight:var(--font-semibold);font-size:var(--text-lg);color:var(--color-text)}.modal-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap}.modal-actions .btn{flex:1;min-width:120px;min-height:var(--touch-min)}@media (max-width: 479px){.modal-actions{flex-direction:column}.modal-actions .btn{width:100%;min-width:0}}.modal-actions--end{justify-content:flex-end}.modal-actions--end .btn{flex:0 1 auto}.confirm-modal__checkbox{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0 var(--space-5) 0;padding:var(--space-3) var(--space-4);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.confirm-modal__checkbox input{width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0}.confirm-modal__checkbox:hover{border-color:var(--color-primary)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:linear-gradient(160deg,var(--color-bg) 0%,#e2e8f0 100%)}.auth-card{width:100%;max-width:400px;background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-xl);border:1px solid var(--color-border)}.auth-card h1{margin:0 0 var(--space-6) 0;font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--color-text)}.auth-card .form-group:last-of-type{margin-bottom:var(--space-5)}.auth-card .btn-primary{width:100%;padding:var(--space-4);font-size:var(--text-base);margin-bottom:var(--space-4);min-height:var(--touch-min)}@media (max-width: 479px){.auth-page{padding:var(--space-3);align-items:flex-start;padding-top:max(var(--space-6),env(safe-area-inset-top))}.auth-card{padding:var(--space-6)}.auth-card h1{font-size:var(--text-xl)}}.auth-footer{text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.auth-footer a{font-weight:var(--font-semibold)}.password-conditions{list-style:none;padding:0;margin:var(--space-2) 0 0 0;font-size:var(--text-sm);color:var(--color-text-muted)}.password-conditions li{margin-bottom:var(--space-1)}.password-conditions li.valid{color:#059669}.houses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.house-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.house-card:hover{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);transform:translateY(-2px)}.house-card h3{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.house-card__code{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 var(--space-4) 0;font-family:ui-monospace,monospace;letter-spacing:.05em}.house-card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.house-card__default-badge{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-primary);background:var(--color-primary-light);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.house-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}@media (max-width: 767px){.houses-grid{grid-template-columns:1fr;gap:var(--space-3)}.house-card{padding:var(--space-4)}.house-card__actions{flex-direction:column;align-items:stretch}.house-card__actions .btn{width:100%}}.house-settings-section{margin-bottom:var(--space-4)}.house-settings-section__title{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.house-settings-section__desc{margin:0 0 var(--space-4) 0;font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.house-settings-code{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.house-settings-code__value{font-family:ui-monospace,monospace;font-size:var(--text-base);padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);letter-spacing:.05em}.house-settings-section--danger .house-settings-section__desc{margin-bottom:var(--space-3)}.btn-danger-outline{background:transparent;color:var(--color-danger);border:1px solid var(--color-danger)}.btn-danger-outline:hover:not(:disabled){background:var(--color-danger-light);color:var(--color-danger-hover)}@media (max-width: 767px){.house-settings-code{flex-direction:column;align-items:stretch}.house-settings-code__value{text-align:center}}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.breadcrumb a{color:var(--color-text-muted);font-weight:var(--font-medium)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb span{color:var(--color-text);font-weight:var(--font-medium)}@media (max-width: 767px){.breadcrumb{font-size:var(--text-xs);flex-wrap:wrap;gap:var(--space-1)}}.house-tabs{display:flex;gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.house-tabs__tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:color var(--transition-fast),background var(--transition-fast);background:transparent;border:none;cursor:pointer;font-family:inherit}.house-tabs__tab:hover{color:var(--color-primary);background:var(--color-primary-light)}.house-tabs__tab--active{color:var(--color-primary);background:var(--color-primary-light);border-bottom:2px solid var(--color-primary);margin-bottom:-1px}.house-tabs__burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:var(--touch-min);height:var(--touch-min);padding:var(--space-2);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;margin-left:auto}.house-tabs__burger:hover{background:var(--color-primary-light)}.house-tabs__burger-bar{display:block;width:22px;height:2px;background:var(--color-text);border-radius:1px;transition:transform var(--transition-base),opacity var(--transition-base)}.house-tabs__burger[aria-expanded=true] .house-tabs__burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.house-tabs__burger[aria-expanded=true] .house-tabs__burger-bar:nth-child(2){opacity:0}.house-tabs__burger[aria-expanded=true] .house-tabs__burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.house-tabs__current{display:none;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text)}@media (max-width: 767px){.house-tabs__tab{display:none}.house-tabs__current{display:block;flex:1;min-width:0}.house-tabs__burger{display:flex}.house-tabs{margin-left:0;margin-right:0;padding-left:0;padding-right:0}}.house-tabs__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:200;animation:house-tabs-fade .2s ease}.house-tabs__drawer{position:fixed;top:0;right:0;bottom:0;width:min(280px,85vw);background:var(--color-bg-elevated);box-shadow:var(--shadow-xl);z-index:201;display:flex;flex-direction:column;animation:house-tabs-slide .25s ease}.house-tabs__drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--color-border)}.house-tabs__drawer-title{font-weight:var(--font-semibold);font-size:var(--text-lg)}.house-tabs__drawer-close{width:var(--touch-min);height:var(--touch-min);display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;color:var(--color-text-muted);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-md)}.house-tabs__drawer-close:hover{color:var(--color-text);background:var(--color-bg)}.house-tabs__drawer-nav{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.house-tabs__drawer-link{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text);text-decoration:none;border-radius:var(--radius-md);min-height:var(--touch-min);display:flex;align-items:center}.house-tabs__drawer-link:hover,.house-tabs__drawer-link--active{background:var(--color-primary-light);color:var(--color-primary)}@keyframes house-tabs-fade{0%{opacity:0}to{opacity:1}}@keyframes house-tabs-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.recipes-section,.recipes-results{margin-bottom:var(--space-6);min-width:0}.recipes-section__title{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.recipes-section__hint{margin:0 0 var(--space-4) 0;font-size:var(--text-sm);color:var(--color-text-muted)}.recipes-product-list{list-style:none;padding:0;margin:0 0 var(--space-4) 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:var(--space-2);min-width:0}.recipes-product-item{margin:0}.recipes-product-item__label{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);cursor:pointer;border-radius:var(--radius-md);transition:background var(--transition-fast)}.recipes-product-item__label:hover{background:var(--color-bg)}.recipes-product-item__label input{width:18px;height:18px;accent-color:var(--color-primary)}.recipes-product-item__name{font-weight:var(--font-medium);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipes-product-item__brand{font-size:var(--text-xs);color:var(--color-text-muted);margin-left:auto;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;max-width:40%}.recipes-results__title{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:var(--font-semibold)}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));gap:var(--space-4);min-width:0}@media (max-width: 767px){.recipes-product-list{grid-template-columns:1fr 1fr}.recipes-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.recipe-card__name{font-size:var(--text-xs);padding:var(--space-2);word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2}}.recipe-card{display:flex;flex-direction:column;align-items:stretch;padding:0;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);text-align:left}.recipe-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.recipe-card__img{width:100%;aspect-ratio:1;object-fit:cover}.recipe-card__name{padding:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text)}.modal--recipe{max-width:560px;width:100%;min-width:0;max-height:90vh;max-height:calc(90dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden}@media (max-width: 479px){.modal--recipe{max-width:none;width:100%;border-radius:16px 16px 0 0}.recipe-detail__img{max-height:180px}}.modal--recipe .modal__title{padding-right:40px;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.recipe-detail-header{margin-bottom:var(--space-4);min-width:0}.recipe-detail-header h2{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);word-wrap:break-word;overflow-wrap:break-word}.recipe-detail__meta{display:inline-block;margin-right:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-bg);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.recipe-detail__img{width:100%;max-width:100%;height:auto;max-height:240px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--space-4)}.recipe-detail-ingredients,.recipe-detail-instructions{margin-bottom:var(--space-4)}.recipe-detail-ingredients h3,.recipe-detail-instructions h3{margin:0 0 var(--space-2) 0;font-size:var(--text-base);font-weight:var(--font-semibold)}.recipe-detail-ingredients ul{margin:0;padding-left:var(--space-5)}.recipe-detail-ingredients li{margin-bottom:var(--space-1);font-size:var(--text-sm)}.recipe-detail-instructions__text{margin:0;font-size:var(--text-sm);line-height:1.6;white-space:pre-line;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;max-width:100%}.recipe-detail-video{margin:0 0 var(--space-4) 0}.suggest-add-to-list{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4);background:var(--color-primary-light);border:1px solid var(--color-primary)}.suggest-add-to-list strong{margin-right:var(--space-2)}.suggest-add-to-list__actions{display:flex;gap:var(--space-2)}.shopping-list-section{margin-bottom:var(--space-6)}.shopping-list-add{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;margin-bottom:var(--space-4)}.shopping-list-add .form-group{margin-bottom:0}.shopping-list-add__name{flex:1;min-width:180px}.shopping-list-add__qty{width:80px}.shopping-list-add__qty input{width:100%}@media (max-width: 767px){.shopping-list-add{flex-direction:column;align-items:stretch}.shopping-list-add__name{min-width:0}.shopping-list-add__qty{width:100%}.shopping-list-item{padding:var(--space-3) 0;gap:var(--space-2)}.shopping-list-item__label input{min-width:22px;min-height:22px}}.shopping-list-items{list-style:none;padding:0;margin:0}.shopping-list-empty{padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.shopping-list-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);transition:opacity var(--transition-fast)}.shopping-list-item:last-child{border-bottom:none}.shopping-list-item--checked .shopping-list-item__name{text-decoration:line-through;color:var(--color-text-muted)}.shopping-list-item__label{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0;cursor:pointer}.shopping-list-item__label input{width:20px;height:20px;accent-color:var(--color-primary);flex-shrink:0}.shopping-list-item__name{font-weight:var(--font-medium);color:var(--color-text)}.shopping-list-item__qty{font-size:var(--text-sm);color:var(--color-text-muted)}.shopping-list-item__delete{flex-shrink:0}.menus-actions,.menus-known-actions{margin-bottom:var(--space-4)}.menus-known-section{margin-bottom:var(--space-6)}.menus-known-section__title{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.menus-known-section__hint{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-4) 0}.menus-known-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.menus-known-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);border:1px solid var(--color-border)}.menus-known-chip__img{width:24px;height:24px;object-fit:cover;border-radius:var(--radius-sm)}.menus-known-chip__name{font-weight:var(--font-medium)}.menus-known-chip__rating{font-size:var(--text-xs);color:var(--color-text-muted)}.menus-list-section h2{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.menus-list-empty{color:var(--color-text-muted);margin:0}.menus-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.menus-list-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.menus-list-item__content{flex:1;text-align:left;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;color:inherit;display:block}.menus-list-item__week{font-weight:var(--font-medium);color:var(--color-text);display:block}.menus-list-item__days{font-size:var(--text-sm);color:var(--color-text-muted)}.menus-list-item__actions{display:flex;gap:var(--space-2);flex-shrink:0}.menus-form-card h2{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.menus-form__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.menus-form__row .form-group{margin-bottom:0}.menus-form__weekend{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text);cursor:pointer}.menus-form__weekend input{width:auto}.menus-form__grid{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.menus-form__day{display:grid;grid-template-columns:100px 1fr;gap:var(--space-3);align-items:start}.menus-form__day-label{font-weight:var(--font-medium);color:var(--color-text);padding-top:var(--space-2)}.menus-form__day--past{opacity:.65;color:var(--color-text-muted)}.menus-form__day--past .menus-form__day-label,.menus-form__day--past .menus-form__input-name{color:var(--color-text-muted)}.menus-form__day--today{background:#0d948814;border-radius:var(--radius-md);padding:var(--space-2);margin:0 calc(-1 * var(--space-2))}.menus-form__day--today .menus-form__day-label{color:var(--color-primary);font-weight:var(--font-semibold)}.menus-form__day-fields{display:flex;flex-direction:column;gap:var(--space-2)}.menus-form__day-fields--row{flex-direction:row;align-items:center;gap:var(--space-2)}.menus-form__day-fields--row .menus-form__input-name{flex:1;min-width:0}.menus-form__input-name,.menus-form__input-url{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base)}.menus-form__known-quick{grid-column:2;display:flex;flex-wrap:wrap;gap:var(--space-1)}.menus-form__known-btn{font-size:var(--text-xs)}.menus-detail-card h2{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.menus-detail-days{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-4) 0}.menus-detail-list{list-style:none;padding:0;margin:0 0 var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-3)}.menus-detail-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.menus-detail-item__main{display:flex;align-items:center;gap:var(--space-3);min-width:0}.menus-detail-item__img{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0}.menus-detail-item__name{font-weight:var(--font-medium);color:var(--color-text);display:block}.menus-detail-item__rating{font-size:var(--text-sm);color:var(--color-text-muted);display:block;margin-top:var(--space-1)}.menus-detail-item__rate{flex-shrink:0}.menus-detail-item__rated{font-size:var(--text-sm);color:var(--color-primary);font-weight:var(--font-medium)}.menus-detail-item__stars{display:flex;flex-wrap:wrap;gap:var(--space-1)}.menus-detail-item__star{min-width:32px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.menus-known-modal-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-4) 0}.menus-known-modal-empty{color:var(--color-text-muted);margin:0 0 var(--space-4) 0}.menus-known-modal-list{list-style:none;padding:0;margin:0 0 var(--space-4) 0;max-height:60vh;overflow-y:auto}.menus-known-modal-item{border-bottom:1px solid var(--color-border)}.menus-known-modal-item:last-child{border-bottom:none}.menus-known-modal-item__main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0}.menus-known-modal-item__name-btn{flex:1;text-align:left;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit}.menus-known-modal-item__name-btn--choose:hover{color:var(--color-primary)}.menus-known-modal-item__name{display:block;font-weight:var(--font-medium);color:var(--color-text)}.menus-known-modal-item__rating{display:block;font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.menus-known-modal-item__rate{flex-shrink:0}.menus-known-modal-item__rated{font-size:var(--text-sm);color:var(--color-primary);font-weight:var(--font-medium)}.menus-known-modal-item__stars{display:flex;flex-wrap:wrap;gap:var(--space-1)}.menus-known-modal-item__stars .btn{min-width:28px;padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}@media (max-width: 767px){.menus-form__day{grid-template-columns:1fr}.menus-form__day-fields--row,.menus-detail-item,.menus-known-modal-item__main{flex-direction:column;align-items:stretch}}.expiring-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-4);background:linear-gradient(135deg,var(--color-accent-light) 0%,#fffbeb 100%);border:1px solid #fcd34d;border-radius:var(--radius-lg);font-weight:var(--font-medium);color:#92400e}.expiring-banner .btn{flex-shrink:0}@media (max-width: 767px){.expiring-banner{flex-direction:column;align-items:stretch;padding:var(--space-3)}.suggest-add-to-list{flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-3)}.suggest-add-to-list__actions{flex-wrap:wrap}}.stock-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.stock-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.stock-item:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.stock-item__image{width:56px;height:56px;object-fit:contain;border-radius:var(--radius-md);background:var(--color-bg);flex-shrink:0}.stock-item__image-placeholder{width:56px;height:56px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-border) 0%,#cbd5e1 100%);flex-shrink:0}.stock-item__body{flex:1;min-width:0}.stock-item__name{font-weight:var(--font-semibold);color:var(--color-text);margin:0 0 var(--space-1) 0;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.stock-item__freezer{font-size:1rem;line-height:1;opacity:.9}.stock-item__brand{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-1) 0}.stock-item__categories{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0 0 var(--space-1) 0}.stock-item__category-tag{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg);padding:2px var(--space-2);border-radius:var(--radius-full)}.stock-item__meta{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.stock-item__meta .expiry{color:var(--color-accent);font-weight:var(--font-medium)}.stock-item__qty{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.stock-item__qty-btn{width:36px;height:36px;min-width:36px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;line-height:1;color:var(--color-primary);background:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),opacity var(--transition-fast)}.stock-item__qty-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-text-inverse)}.stock-item__qty-btn:disabled{opacity:.5;cursor:not-allowed}.stock-item__qty-value{min-width:2ch;text-align:center;font-weight:var(--font-semibold);font-size:var(--text-base);color:var(--color-text)}.stock-item__actions{display:flex;gap:var(--space-2);flex-shrink:0}.stock-item__cart-btn{min-width:36px;padding:var(--space-2)}.stock-item__cart-btn svg{display:block}@media (max-width: 767px){.stock-item{flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3)}.stock-item__image,.stock-item__image-placeholder{width:48px;height:48px}.stock-item__body{flex:1 1 calc(100% - 48px - var(--space-3));min-width:0}.stock-item__qty{padding-top:var(--space-2)}.stock-item__qty-btn{min-width:var(--touch-min);min-height:var(--touch-min);width:44px;height:44px;font-size:1.5rem}.stock-item__actions{width:100%;justify-content:flex-end;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.stock-item__actions .btn{min-height:36px}}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.empty-state__icon{width:64px;height:64px;margin:0 auto var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--color-text-muted)}.empty-state p{color:var(--color-text-muted);font-size:var(--text-sm);max-width:320px;margin:0 auto}.scanner-card h3{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.scanner-form{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:flex-end}.scanner-form .form-group{flex:1;min-width:200px;margin-bottom:0}.scanner-camera{width:100%;max-width:400px;margin-top:var(--space-4);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border)}.scanner-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:#000}.scanner-page__back{position:absolute;top:max(var(--space-3),env(safe-area-inset-top));left:max(var(--space-3),env(safe-area-inset-left));z-index:10;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-inverse, #fff);background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);text-decoration:none;border:1px solid rgba(255,255,255,.2);transition:background .2s}.scanner-page__back:hover{background:#000000b3;color:var(--color-text-inverse, #fff)}.scanner-page__content{flex:1;min-height:0;display:flex;flex-direction:column}.continuous-scanner{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.continuous-scanner__camera{flex:1;min-height:200px;width:100%;overflow:hidden;border-radius:0}.continuous-scanner__camera video{width:100%;height:100%;object-fit:cover}.continuous-scanner__error{position:absolute;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);margin:0;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-error, #dc2626);font-size:var(--text-sm)}.continuous-scanner__loading{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium)}.scanner-page__toast{position:fixed;bottom:var(--space-4);left:var(--space-4);right:var(--space-4);z-index:500;max-width:480px;margin-left:auto;margin-right:auto}@media (max-width: 767px){.scanner-form{flex-direction:column;align-items:stretch}.scanner-form .form-group{min-width:0}.scanner-card h3{font-size:var(--text-base)}}.modal-product{display:flex;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4);background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.modal-product img{width:80px;height:80px;object-fit:contain;border-radius:var(--radius-md);background:var(--color-surface);flex-shrink:0;box-shadow:var(--shadow-sm)}.modal-product__info{flex:1;min-width:0}.modal-product__info strong{display:block;margin-bottom:var(--space-1);color:var(--color-text)}.modal-product__info p{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}@media (max-width: 479px){.modal-product{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.modal-product img{width:64px;height:64px}}.action-choice{display:flex;gap:var(--space-2);flex-wrap:wrap}.action-choice label{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.action-choice input{width:18px;height:18px;accent-color:var(--color-primary)}.action-choice label:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-hover)}.loading-page{display:flex;align-items:center;justify-content:center;min-height:40vh;color:var(--color-text-muted);font-weight:var(--font-medium)}.loading-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.landing{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(165deg,var(--color-bg) 0%,#e2e8f0 40%,#f1f5f9 100%)}.landing-header{flex-shrink:0;padding:var(--space-3) var(--space-4);background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.landing-header__inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.landing-header__brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--font-bold);font-size:var(--text-lg);color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}.landing-header__brand:hover{color:var(--color-primary)}.landing-header__logo{width:32px;height:32px;background:linear-gradient(135deg,var(--color-primary),#14b8a6);border-radius:var(--radius-md);flex-shrink:0}.landing-header__cta{flex-shrink:0}.landing main{flex:1;max-width:960px;margin:0 auto;width:100%;padding:var(--space-6) var(--space-4)}.landing-hero{text-align:center;padding:var(--space-10) 0 var(--space-12)}.landing-hero__title{margin:0 0 var(--space-4) 0;font-size:clamp(1.75rem,5vw,2.5rem);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:-.03em;color:var(--color-text)}.landing-hero__tagline{margin:0 0 var(--space-8) 0;font-size:clamp(1rem,2.5vw,1.25rem);line-height:1.5;color:var(--color-text-muted);max-width:520px;margin-left:auto;margin-right:auto}.landing-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;align-items:center}.landing-hero__btn-primary{padding:var(--space-4) var(--space-8);font-size:var(--text-base);min-height:var(--touch-min)}.landing-hero__btn-secondary{padding:var(--space-4) var(--space-6);font-size:var(--text-base);min-height:var(--touch-min)}.landing-features{padding:var(--space-8) 0 var(--space-10)}.landing-features__title{margin:0 0 var(--space-2) 0;font-size:var(--text-2xl);font-weight:var(--font-bold);letter-spacing:-.02em;color:var(--color-text);text-align:center}.landing-features__intro{margin:0 0 var(--space-8) 0;font-size:var(--text-base);color:var(--color-text-muted);text-align:center;max-width:560px;margin-left:auto;margin-right:auto}.landing-features__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.landing-feature-card{margin-bottom:0;padding:var(--space-5);display:flex;flex-direction:column;align-items:flex-start}.landing-feature-card__icon{font-size:2rem;line-height:1;margin-bottom:var(--space-3);display:block}.landing-feature-card__title{margin:0 0 var(--space-2) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text)}.landing-feature-card__desc{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--color-text-muted)}.landing-cta{text-align:center;padding:var(--space-10) var(--space-4);background:linear-gradient(135deg,var(--color-primary-light) 0%,rgba(255,255,255,.9) 100%);border-radius:var(--radius-xl);border:1px solid rgba(13,148,136,.2)}.landing-cta__title{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text)}.landing-cta__text{margin:0 0 var(--space-6) 0;font-size:var(--text-base);color:var(--color-text-muted)}.landing-cta__btn{padding:var(--space-4) var(--space-8);font-size:var(--text-base);min-height:var(--touch-min)}.landing-footer{flex-shrink:0;padding:var(--space-6) var(--space-4);text-align:center;border-top:1px solid var(--color-border);background:#fff9}.landing-footer__text{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.landing-footer__text a{font-weight:var(--font-semibold)}@media (max-width: 767px){.landing-header{padding:var(--space-2) var(--space-4)}.landing-header__brand{font-size:var(--text-base)}.landing-header__logo{width:28px;height:28px}.landing main{padding:var(--space-4) var(--space-4)}.landing-hero{padding:var(--space-8) 0 var(--space-10)}.landing-hero__title{margin-bottom:var(--space-3)}.landing-hero__tagline{margin-bottom:var(--space-6)}.landing-hero__actions{flex-direction:column;width:100%;max-width:320px;margin:0 auto}.landing-hero__btn-primary,.landing-hero__btn-secondary{width:100%;justify-content:center}.landing-features{padding:var(--space-6) 0 var(--space-8)}.landing-features__title{font-size:var(--text-xl)}.landing-features__intro{margin-bottom:var(--space-6)}.landing-features__grid{grid-template-columns:1fr;gap:var(--space-3)}.landing-feature-card{padding:var(--space-4)}.landing-cta{padding:var(--space-8) var(--space-4)}.landing-cta__title{font-size:var(--text-lg)}.landing-cta__btn{width:100%;max-width:280px;justify-content:center}.landing-footer{padding:var(--space-4)}}@media (max-width: 479px){.landing-hero{padding-top:max(var(--space-6),env(safe-area-inset-top))}}
