.user-menu{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.user-menu__user{flex-direction:column;line-height:1.25;display:flex}.user-menu__email{font-weight:500}.user-menu__role{opacity:.75;font-size:.875rem}.user-menu__logout{border:1px solid var(--color-header-active-bg);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px}.user-menu__logout:hover:not(:disabled){background:var(--color-header-hover-bg)}.user-menu__logout:disabled{opacity:.6;cursor:default}.user-menu__error{background:var(--color-error-bg);color:var(--color-error);border-radius:6px;flex-basis:100%;margin:0;padding:4px 8px;font-size:.875rem}@media (width<=640px){.user-menu{justify-content:space-between}}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-header-bg);color:var(--color-header-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:12px 24px;display:flex}.app-header__brand{color:inherit;font-size:1.25rem;font-weight:600;text-decoration:none}.app-nav{flex-wrap:wrap;gap:4px;display:flex}.app-nav__link{color:inherit;border-radius:6px;padding:8px 12px;text-decoration:none}.app-nav__link:hover{background:var(--color-header-hover-bg)}.app-nav__link.active{background:var(--color-header-active-bg);font-weight:600}.app-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px}@media (width<=640px){.app-header{flex-direction:column;align-items:stretch;padding:12px 16px}.app-content{padding:16px}}.form-dialog{border:1px solid var(--color-border);background:var(--color-surface);width:min(420px,100% - 32px);color:var(--color-text);border-radius:8px;padding:0}.form-dialog::backdrop{background:#0006}.form-dialog__form{flex-direction:column;gap:16px;padding:24px;display:flex}.form-dialog h2{margin:0;font-size:1.25rem;line-height:1.25}.form-dialog__field{flex-direction:column;gap:4px;font-weight:500;display:flex}.form-dialog__field input,.form-dialog__field select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:8px 12px;font-weight:400}.form-dialog__field input[aria-invalid=true]{border-color:var(--color-error)}.form-dialog__field-error{color:var(--color-error);margin:-12px 0 0;font-size:.875rem}.form-dialog__error{background:var(--color-error-bg);color:var(--color-error);border-radius:6px;margin:0;padding:8px 12px}.form-dialog__actions{justify-content:flex-end;gap:8px;display:flex}.form-dialog__actions button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:6px;padding:8px 16px;font-weight:600}.form-dialog__actions button[type=submit]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.form-dialog__actions button:disabled{opacity:.6;cursor:default}.entity-data-table-wrapper{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;overflow-x:auto}.entity-data-table{border-collapse:collapse;width:100%}.entity-data-table th,.entity-data-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:10px 16px}.entity-data-table th{background:var(--color-bg);color:var(--color-text-muted);font-size:.875rem;font-weight:600}.entity-data-table tbody tr:last-child td{border-bottom:none}.entity-data-table tbody tr:hover{background:var(--color-bg)}.entity-data-table td{overflow-wrap:anywhere}.entity-data-table__cell--fit{white-space:nowrap;width:1%}.entity-data-table .entity-data-table__cell--numeric{text-align:right;font-variant-numeric:tabular-nums}@media (width<=640px){.entity-data-table th,.entity-data-table td{padding:8px 12px}}.data-loading-error-message{background:var(--color-error-bg);color:var(--color-error);border-radius:6px;padding:8px 12px}.products-page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:16px;display:flex}.products-page__header h1{margin:0}.products-page__add-button{background:var(--color-primary);color:var(--color-primary-text);cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-weight:600}.storage-locations-page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:16px;display:flex}.storage-locations-page__header h1{margin:0}.storage-locations-page__add-button{background:var(--color-primary);color:var(--color-primary-text);cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-weight:600}.balances-filters{flex-wrap:wrap;gap:12px 24px;margin-bottom:16px;display:flex}.balances-filters__filter{flex-direction:column;gap:8px;min-width:220px;display:flex}.balances-filters__field{flex-direction:column;gap:4px;font-weight:500;display:flex}.balances-filters__field select{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:8px 12px}.balances-filters__field select:disabled{opacity:.6}.balances-filters__filter p{margin:0}@media (width<=640px){.balances-filters__filter{flex:100%;min-width:0}}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-form{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;gap:16px;width:100%;max-width:360px;padding:32px;display:flex}.login-form h1,.login-form p{margin:0}.login-form__brand{font-weight:600}.login-form__field{flex-direction:column;gap:4px;font-weight:500;display:flex}.login-form__field input{border:1px solid var(--color-border);border-radius:6px;padding:8px 12px}.login-form button{background:var(--color-primary);color:var(--color-primary-text);cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-weight:600}.login-form button:disabled{opacity:.6;cursor:default}.login-form__notice,.login-form__error{border-radius:6px;padding:8px 12px}.login-form__notice{background:var(--color-notice-bg);color:var(--color-text)}.login-form__error{background:var(--color-error-bg);color:var(--color-error)}@media (width<=640px){.login-form{padding:24px 16px}}:root{--color-text:#1f2328;--color-text-muted:#59636e;--color-bg:#f6f8fa;--color-link:#0969da;--color-surface:#fff;--color-border:#d0d7de;--color-primary:#1f2937;--color-primary-text:#f9fafb;--color-error:#cf222e;--color-error-bg:#ffebe9;--color-notice-bg:#ddf4ff;--color-header-bg:#1f2937;--color-header-text:#f9fafb;--color-header-hover-bg:#ffffff1a;--color-header-active-bg:#fff3;color:var(--color-text);background:var(--color-bg);font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{margin:0}h1{margin:0 0 16px;font-size:1.75rem;line-height:1.25}p{color:var(--color-text-muted);margin:0 0 12px}a{color:var(--color-link)}button,input,select{font:inherit}
