a{text-decoration:none;color:#fff}a:hover,a:active{color:#d3d3d3}.navigation-items{list-style:none;padding:0;margin:0}.nav-caption{display:inline-block;padding-left:6px}.header{gap:16px}.header__hamburger{display:flex;margin-left:-8px}.header__nav{display:none;margin-left:auto}.header__nav .navigation-items{display:flex;gap:10px}.nav-action{cursor:pointer}.nav-action:focus-visible{outline:2px solid var(--color-toolbar-text);outline-offset:2px}@media (min-width: 600px){.header__hamburger{display:none}.header__nav{display:block}}.sidenav{position:fixed;top:0;bottom:0;left:0;z-index:1000;width:var(--sidenav-width);overflow-y:auto;background:var(--color-app-primary);color:var(--color-toolbar-text);transform:translate(-100%);transition:transform .2s ease-in-out}.sidenav--open{transform:translate(0)}.sidenav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:#0006}.sidenav-list{list-style:none;margin:0;padding:8px 0}.sidenav-list__logout{width:100%;border:none;background:none;font:inherit;cursor:pointer}.sidenav-list__logout:hover,.sidenav-list__logout:active{color:#d3d3d3}.sidenav-list__logout:focus-visible{outline:2px solid var(--color-toolbar-text);outline-offset:-2px}.loading-spinner{display:inline-block;width:32px;height:32px;border:2px solid var(--color-accent);border-right-color:transparent;border-radius:50%;animation:loading-spinner-rotate 1s linear infinite}@keyframes loading-spinner-rotate{to{transform:rotate(360deg)}}.snackbar{position:fixed;left:16px;bottom:16px;z-index:1000;max-width:min(672px,calc(100vw - 32px));padding:14px 16px;border-radius:4px;background:var(--color-snackbar-bg);color:var(--color-snackbar-text);box-shadow:0 6px 10px #00000026,0 1px 18px #0000001f;font-size:14px;line-height:1.4;cursor:pointer;-webkit-user-select:none;user-select:none}.snackbar:focus-visible{outline:2px solid var(--color-snackbar-text);outline-offset:2px}.form-field{width:300px;display:flex;flex-direction:column;gap:4px}.auth-form{display:flex;flex-direction:column;align-items:center;gap:10px}.signup-form{display:flex;flex-direction:column;align-items:center;gap:12px}.form-error{color:var(--color-error);font-size:12px;line-height:1.2}.form-hint{color:var(--color-text-secondary);font-size:12px;line-height:1.2}.form-hint--end{text-align:right}.agree{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:14px;cursor:pointer}.agree input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--color-primary);cursor:pointer}.shoppinglist{padding:16px}.shoppinglist__add{display:block;margin:0 auto 16px}.shoppinglist__table{width:100%}.shoppinglist__th,.shoppinglist__td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--color-divider)}.shoppinglist__sort{display:inline-flex;align-items:center;padding:0;border:none;background:none;color:inherit;font-family:var(--font-family);font-size:inherit;font-weight:inherit;line-height:inherit;cursor:pointer}.shoppinglist__sort:hover{color:var(--color-primary)}.shoppinglist__sort:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.shoppinglist__sort-icon{margin-left:4px;font-size:10px}.shoppinglist__th--picked,.shoppinglist__td--picked{width:44px;text-align:center}.shoppinglist__th--text,.shoppinglist__td--text{word-break:break-word}.shoppinglist__th--quantity,.shoppinglist__td--quantity{width:48px;text-align:center}.shoppinglist__th--action,.shoppinglist__td--action{width:1%;white-space:nowrap;text-align:right}.shoppinglist__actions{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:2px}.shoppinglist__actions .btn--icon{flex-shrink:0}@media (max-width: 600px){.shoppinglist{padding:8px 4px}.shoppinglist__th,.shoppinglist__td{padding:10px 4px}.shoppinglist__actions .btn--icon{width:36px;height:36px}.shoppinglist__actions{gap:0}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0006}.dialog{min-width:300px;max-width:min(560px,calc(100vw - 32px));padding:24px;border-radius:4px;background:var(--color-surface);box-shadow:0 11px 15px #0003,0 0 0 1px #0000000a}.dialog__title{margin:0 0 16px;color:var(--color-text-primary);font-size:20px;font-weight:400;line-height:1.4}.dialog__content{position:relative}.dialog__input{width:100%;padding:8px 0;border:none;border-bottom:1px solid var(--color-divider);background:none;color:var(--color-text-primary);font-family:var(--font-family);font-size:16px}.dialog__input::placeholder{color:var(--color-text-secondary);opacity:1}.dialog__input:focus{outline:none;border-bottom:2px solid var(--color-primary)}.dialog__input:focus-visible{outline:none;border-bottom:2px solid var(--color-accent)}.dialog__options{max-height:200px;margin:0;padding:0;overflow:auto;list-style:none}.dialog__option{padding:10px 8px;color:var(--color-text-primary);cursor:pointer}.dialog__option:hover{background:#3f51b514}.dialog__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;text-align:center}@media (min-width: 960px){.welcome{flex-direction:row;gap:20px}}:root{--color-primary: #3f51b5;--color-primary-dark: #303f9f;--color-primary-light: #c5cae9;--color-accent: #e91e63;--color-accent-dark: #e91e63;--color-app-primary: #1976d2;--color-background: #fafafa;--color-surface: #ffffff;--color-text-primary: rgba(0, 0, 0, .87);--color-text-secondary: rgba(0, 0, 0, .54);--color-toolbar-text: #ffffff;--color-divider: rgba(0, 0, 0, .12);--color-error: #f44336;--color-snackbar-bg: #323232;--color-snackbar-text: #fff;--toolbar-height: 64px;--sidenav-width: 240px;--breakpoint-xs: 600px;--font-family: "Roboto", sans-serif}*{box-sizing:border-box}html,body{font-family:var(--font-family);height:100%}body{margin:0;background:var(--color-background);color:var(--color-text-primary)}.toolbar{display:flex;align-items:center;height:var(--toolbar-height);padding:0 16px;background:var(--color-app-primary);color:var(--color-toolbar-text)}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:36px;padding:0 16px;border:none;border-radius:4px;background:none;color:var(--color-primary);font-family:var(--font-family);font-size:14px;font-weight:500;line-height:36px;letter-spacing:.0892857143em;text-transform:uppercase;text-decoration:none;cursor:pointer}.btn:hover{background:#3f51b514}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn:disabled{color:var(--color-text-secondary);cursor:default}.btn:disabled:hover{background:none}.btn--raised{background:var(--color-primary);color:var(--color-toolbar-text);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.btn--raised:hover:not(:disabled){background:var(--color-primary-dark)}.btn--raised:disabled{background:#0000001f;box-shadow:none}.btn--icon{min-width:0;width:40px;height:40px;padding:0;border-radius:50%;color:inherit}.btn--icon:hover:not(:disabled){background:#ffffff1a}.form-field{display:inline-flex;flex-direction:column;gap:4px;width:300px;max-width:100%}.form-field input[type=email],.form-field input[type=password],.form-field input[type=text]{width:100%;padding:8px 0;border:none;border-bottom:1px solid var(--color-divider);background:none;color:var(--color-text-primary);font-family:var(--font-family);font-size:16px}.form-field input::placeholder{color:var(--color-text-secondary);opacity:1}.form-field input:focus{outline:none;border-bottom:2px solid var(--color-primary)}.form-field input:focus-visible{outline:none;border-bottom:2px solid var(--color-accent)}.form-field input[aria-invalid=true]{border-bottom-color:var(--color-error)}.checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.checkbox input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--color-primary);cursor:pointer}.checkbox input[type=checkbox]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--color-divider)}.list-item{display:flex;align-items:center;height:48px;padding:0 16px;color:inherit;text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
