:root{--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-card: #1c1c1e;--bg-elevated: #2c2c2e;--bg-input: #2c2c2e;--text-primary: #ffffff;--text-secondary: rgba(235, 235, 245, .6);--text-muted: rgba(235, 235, 245, .3);--accent: #0a84ff;--accent-light: #5ac8fa;--accent-glow: rgba(10, 132, 255, .3);--success: #30d158;--success-glow: rgba(48, 209, 88, .25);--danger: #ff453a;--danger-glow: rgba(255, 69, 58, .25);--warning: #ff9f0a;--warning-glow: rgba(255, 159, 10, .25);--border: rgba(84, 84, 88, .5);--border-focus: #0a84ff;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 30px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .12);--shadow-md: 0 8px 24px rgba(0, 0, 0, .2);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .3);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--nav-height: 60px;--nav-height-total: calc(var(--nav-height) + var(--safe-bottom) + 12px);--nav-rail-width: 96px;--nav-rail-gap: 24px;--floating-bottom-offset-mobile: calc(var(--nav-height-total) + 12px);--floating-bottom-offset-regular: max(16px, calc(var(--safe-bottom) + 16px));--header-height: 56px;--page-gutter: clamp(16px, 3.4vw, 24px);--content-max-width: 1200px;--content-max-width-wide: 1320px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", sans-serif;--max-width: 920px;--motion-ease-standard: cubic-bezier(.25, 1, .5, 1);--motion-ease-emphasized: cubic-bezier(.2, .9, .1, 1);--motion-ease-spring: cubic-bezier(.175, .885, .32, 1.15);--motion-duration-fast: .2s;--motion-duration-medium: .4s;--motion-duration-slow: .6s;--motion-press-scale-card: .985;--motion-press-scale-button: .96;--motion-press-scale-icon: .92;--motion-press-scale-option: .98;--motion-surface-enter-offset: 14px;--motion-surface-enter-scale: .985;--bg-translucent: rgba(28, 28, 30, .85);--bg-hover: rgba(127, 127, 127, .12);--text-on-accent: #fff;--border-light: rgba(255, 255, 255, .12)}@media(prefers-color-scheme:light){:root{--bg-primary: #f2f2f7;--bg-secondary: #ffffff;--bg-card: rgba(255, 255, 255, .86);--bg-elevated: rgba(255, 255, 255, .94);--bg-input: #ececf0;--text-primary: #000000;--text-secondary: rgba(60, 60, 67, .6);--text-muted: rgba(60, 60, 67, .3);--accent: #007aff;--accent-light: #5ac8fa;--accent-glow: rgba(0, 122, 255, .15);--success: #34c759;--success-glow: rgba(52, 199, 89, .15);--danger: #ff3b30;--danger-glow: rgba(255, 59, 48, .15);--warning: #ff9500;--warning-glow: rgba(255, 149, 0, .15);--border: rgba(60, 60, 67, .1);--border-focus: #007aff;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 16px 32px rgba(0, 0, 0, .1);--bg-translucent: rgba(255, 255, 255, .85);--bg-hover: rgba(127, 127, 127, .08);--text-on-accent: #fff;--border-light: rgba(0, 0, 0, .08)}}.light-theme{--bg-primary: #f2f2f7;--bg-secondary: #ffffff;--bg-card: rgba(255, 255, 255, .86);--bg-elevated: rgba(255, 255, 255, .94);--bg-input: #ececf0;--text-primary: #000000;--text-secondary: rgba(60, 60, 67, .6);--text-muted: rgba(60, 60, 67, .3);--accent: #007aff;--accent-light: #5ac8fa;--accent-glow: rgba(0, 122, 255, .15);--success: #34c759;--success-glow: rgba(52, 199, 89, .15);--danger: #ff3b30;--danger-glow: rgba(255, 59, 48, .15);--warning: #ff9500;--warning-glow: rgba(255, 149, 0, .15);--border: rgba(60, 60, 67, .1);--border-focus: #007aff;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 16px 32px rgba(0, 0, 0, .1);--bg-translucent: rgba(255, 255, 255, .85);--bg-hover: rgba(127, 127, 127, .08);--text-on-accent: #fff;--border-light: rgba(0, 0, 0, .08)}.dark-theme{--bg-primary: #000000;--bg-secondary: #1c1c1e;--bg-card: #1c1c1e;--bg-elevated: #2c2c2e;--bg-input: #2c2c2e;--text-primary: #ffffff;--text-secondary: rgba(235, 235, 245, .6);--text-muted: rgba(235, 235, 245, .3);--accent: #0a84ff;--accent-light: #5ac8fa;--accent-glow: rgba(10, 132, 255, .3);--success: #30d158;--success-glow: rgba(48, 209, 88, .25);--danger: #ff453a;--danger-glow: rgba(255, 69, 58, .25);--warning: #ff9f0a;--warning-glow: rgba(255, 159, 10, .25);--border: rgba(84, 84, 88, .5);--border-focus: #0a84ff;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 30px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .12);--shadow-md: 0 8px 24px rgba(0, 0, 0, .2);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .3);--bg-translucent: rgba(28, 28, 30, .85);--bg-hover: rgba(127, 127, 127, .12);--text-on-accent: #fff;--border-light: rgba(255, 255, 255, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility;overflow-y:auto;scrollbar-gutter:stable}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;transition:background-color var(--motion-duration-medium) var(--motion-ease-standard),color var(--motion-duration-medium) var(--motion-ease-standard)}button,input,select,textarea{font:inherit}input[type=number]{-moz-appearance:textfield;appearance:textfield}@media screen and (max-width:767px){input,select,textarea{font-size:16px!important}}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button,.btn,.secondary-chip-btn,input[type=text],input[type=number]{min-height:44px}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-glow)}#app{--page-fixed-inline-start: max(12px, calc(var(--safe-left) + 12px));--page-fixed-inline-end: max(12px, calc(var(--safe-right) + 12px));--page-fixed-bottom-offset: var(--floating-bottom-offset-mobile);--page-fixed-center-x: calc((var(--page-fixed-inline-start) + (100vw - var(--page-fixed-inline-end))) / 2);--page-fixed-max-width: min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)), var(--max-width));min-height:100dvh;display:flex;flex-direction:column;width:100%;max-width:var(--content-max-width);margin:0 auto}#app.nav-hidden #page-container{padding-bottom:max(24px,calc(var(--safe-bottom) + 24px))}#page-container{flex:1;padding-top:calc(var(--safe-top) + 16px);padding-right:max(var(--page-gutter),calc(var(--safe-right) + 12px));padding-bottom:calc(var(--nav-height-total) + 16px);padding-left:max(var(--page-gutter),calc(var(--safe-left) + 12px));width:100%;max-width:var(--max-width);margin:0 auto;overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}#page-container.page-enter>*{animation:pageContentIn var(--motion-duration-medium) var(--motion-ease-standard) both}#page-container.page-enter>*:nth-child(2){animation-delay:28ms}#page-container.page-enter>*:nth-child(3){animation-delay:56ms}#page-container.page-enter>*:nth-child(4){animation-delay:84ms}#page-container.page-enter .settings-layout>*{animation:pageContentIn var(--motion-duration-medium) var(--motion-ease-standard) both}#page-container.page-enter .settings-layout>*:nth-child(2){animation-delay:24ms}#page-container.page-enter .settings-layout>*:nth-child(3){animation-delay:48ms}#page-container.page-enter .settings-layout>*:nth-child(4){animation-delay:72ms}#page-container.page-enter .history-grid>*{animation:pageContentIn var(--motion-duration-medium) var(--motion-ease-standard) both}#page-container.page-enter .history-grid>*:nth-child(2n){animation-delay:24ms}#page-container.page-enter .history-grid>*:nth-child(3n){animation-delay:48ms}#page-container.page-enter .projects-list>*{animation:pageContentIn var(--motion-duration-medium) var(--motion-ease-standard) both}#page-container.page-enter .projects-list>*:nth-child(2){animation-delay:24ms}#page-container.page-enter .projects-list>*:nth-child(3){animation-delay:48ms}#page-container.page-enter .projects-list>*:nth-child(4){animation-delay:72ms}#page-container.page-enter .inventory-grid>*{animation:pageContentIn var(--motion-duration-medium) var(--motion-ease-standard) both}#page-container.page-enter .inventory-grid>*:nth-child(2n){animation-delay:20ms}#page-container.page-enter .inventory-grid>*:nth-child(3n){animation-delay:40ms}#page-container.page-enter .color-grid>*{animation:pageContentIn var(--motion-duration-fast) var(--motion-ease-standard) both}#page-container.page-enter .color-grid>*:nth-child(2n){animation-delay:12ms}#page-container.page-enter .color-grid>*:nth-child(3n){animation-delay:24ms}#page-container.page-enter .inventory-grid.is-dense>*,#page-container.page-enter .color-grid.is-dense>*{animation:none!important}body.is-data-refreshing #page-container.page-enter>*,body.is-data-refreshing #page-container.page-enter .settings-layout>*,body.is-data-refreshing #page-container.page-enter .history-grid>*,body.is-data-refreshing #page-container.page-enter .projects-list>*,body.is-data-refreshing #page-container.page-enter .inventory-grid>*,body.is-data-refreshing #page-container.page-enter .color-grid>*{animation:none!important}.page-bottom-spacer{height:120px}.touch-pan-y{touch-action:pan-y}.is-hidden{display:none!important}#bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(calc(-50% + var(--scrollbar-offset, 0px)));width:min(100%,var(--max-width));height:var(--nav-height-total);background:var(--bg-translucent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid var(--border);display:flex;align-items:stretch;justify-content:space-between;gap:4px;padding:8px max(12px,calc(var(--safe-right) + 4px)) calc(8px + var(--safe-bottom)) max(12px,calc(var(--safe-left) + 4px));z-index:100;transition:background-color var(--motion-duration-medium) var(--motion-ease-standard),border-color var(--motion-duration-medium) var(--motion-ease-standard)}.nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:64px;gap:4px;background:none;border:none;color:var(--text-secondary);font-size:11px;font-weight:500;font-family:var(--font);cursor:pointer;min-height:44px;padding:8px 4px;border-radius:var(--radius-md);transition:color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard);-webkit-tap-highlight-color:transparent}.nav-btn svg{width:24px;height:24px;stroke-width:2px;transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.nav-btn.active{color:var(--accent)}.nav-btn.active svg{transform:translateY(-1px)}.nav-btn:active{opacity:.82;transform:scale(var(--motion-press-scale-button))}@media(hover:hover)and (pointer:fine){.nav-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.nav-btn.active:hover{color:var(--accent)}}@media(min-width:1024px){#app{--page-fixed-inline-start: calc(var(--nav-rail-width) + var(--nav-rail-gap) + max(28px, calc(var(--safe-left) + 24px)));--page-fixed-inline-end: max(28px, calc(var(--safe-right) + 24px));--page-fixed-bottom-offset: var(--floating-bottom-offset-regular);--page-fixed-center-x: calc((var(--page-fixed-inline-start) + (100vw - var(--page-fixed-inline-end))) / 2);--page-fixed-max-width: min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)), var(--content-max-width-wide));display:grid;grid-template-columns:var(--nav-rail-width) minmax(0,1fr);grid-template-areas:"nav content";align-items:stretch;column-gap:var(--nav-rail-gap);width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0;overflow:hidden}#app.nav-hidden{--page-fixed-inline-start: max(24px, calc(var(--safe-left) + 20px));--page-fixed-inline-end: max(24px, calc(var(--safe-right) + 20px));--page-fixed-center-x: calc((var(--page-fixed-inline-start) + (100vw - var(--page-fixed-inline-end))) / 2);--page-fixed-max-width: min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)), var(--max-width));grid-template-columns:minmax(0,1fr);grid-template-areas:"content";max-width:none;margin:0}#app>#bottom-nav{grid-area:nav;position:sticky;top:0;left:auto;bottom:auto;transform:none;width:var(--nav-rail-width);height:100dvh;max-height:100dvh;margin:0;padding:max(24px,calc(var(--safe-top) + 16px)) 12px max(24px,calc(var(--safe-bottom) + 16px));flex-direction:column;justify-content:flex-start;gap:8px;border-top:none;border-right:.5px solid var(--border);border-radius:0;overflow-y:auto;overflow-x:hidden;z-index:90}#app>#bottom-nav .nav-btn{width:100%;min-width:0;flex:0 0 auto;gap:4px;padding:12px 8px;border-radius:var(--radius-md);font-size:12px;line-height:1.1}#app>#bottom-nav .nav-btn svg{width:22px;height:22px}#app>#page-container{grid-area:content;width:100%;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding-top:max(24px,calc(var(--safe-top) + 16px));padding-right:max(32px,calc(var(--safe-right) + 24px));padding-bottom:max(32px,calc(var(--safe-bottom) + 24px));padding-left:max(32px,calc(var(--safe-left) + 24px));overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}#app>#page-container>*{width:min(100%,var(--content-max-width-wide));margin-inline:auto}#app.nav-hidden>#page-container{padding-top:max(24px,calc(var(--safe-top) + 16px));padding-bottom:max(32px,calc(var(--safe-bottom) + 32px))}#app.nav-hidden>#page-container>*{width:min(100%,var(--max-width))}}@media(min-width:1367px){#app{--page-fixed-inline-start: calc(var(--nav-rail-width) + 8px + var(--nav-rail-gap) + max(32px, calc(var(--safe-left) + 28px)));--page-fixed-inline-end: max(32px, calc(var(--safe-right) + 28px));--page-fixed-center-x: calc((var(--page-fixed-inline-start) + (100vw - var(--page-fixed-inline-end))) / 2);--page-fixed-max-width: min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)), var(--content-max-width-wide));grid-template-columns:calc(var(--nav-rail-width) + 8px) minmax(0,1fr);column-gap:calc(var(--nav-rail-gap) + 4px)}#app>#bottom-nav{width:calc(var(--nav-rail-width) + 8px);padding-inline:12px}#app>#page-container{padding-top:max(28px,calc(var(--safe-top) + 20px));padding-right:max(32px,calc(var(--safe-right) + 28px));padding-left:max(32px,calc(var(--safe-left) + 28px))}#app.nav-hidden{--page-fixed-inline-start: max(28px, calc(var(--safe-left) + 24px));--page-fixed-inline-end: max(28px, calc(var(--safe-right) + 24px));--page-fixed-center-x: calc((var(--page-fixed-inline-start) + (100vw - var(--page-fixed-inline-end))) / 2);--page-fixed-max-width: min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)), var(--max-width))}}@keyframes pageContentIn{0%{opacity:0}to{opacity:1}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:0}.page-header-body{display:flex;flex-direction:column;flex:1;min-width:0;gap:4px}.page-overline{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.page-overline-separator{width:4px;height:4px;border-radius:999px;background:currentColor;opacity:.5}.page-title{font-size:clamp(30px,5vw,36px);font-weight:700;letter-spacing:-.5px;color:var(--text-primary);margin-bottom:4px}.page-subtitle{font-size:15px;color:var(--text-secondary);font-weight:400}.page-back-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px 0 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:600;cursor:pointer;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.page-back-btn svg{width:18px;height:18px;flex-shrink:0}.page-back-btn:active{transform:scale(var(--motion-press-scale-button));background:var(--bg-input)}@media(max-width:640px){.page-header{flex-wrap:wrap}}.search-bar{position:relative;margin-bottom:24px}.search-bar input{width:100%;height:48px;padding:0 16px 0 40px;background:var(--bg-input);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;font-family:var(--font);outline:none;transition:box-shadow var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard)}.search-bar input::placeholder{color:var(--text-muted)}.search-bar input:focus{background:var(--bg-input);box-shadow:0 0 0 2px var(--accent-glow)}.search-bar svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--text-secondary);pointer-events:none}.search-action-row{display:flex;align-items:stretch;gap:12px}.search-action-row input{flex:1}.secondary-chip-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:44px;white-space:nowrap;padding:0 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.secondary-chip-btn:active{transform:scale(var(--motion-press-scale-button))}.secondary-chip-btn.is-active{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.search-input-with-icon{position:relative;flex:1;min-height:44px}.search-input-with-icon svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none}.search-input-with-icon input{width:100%;height:44px;padding:0 16px 0 40px;background:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-lg);color:var(--text-primary);font-size:15px;font-weight:500;outline:none;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.search-input-with-icon input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.has-code-dropdown{position:relative}.code-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);max-height:min(320px,48vh);overflow-y:auto;padding:8px;opacity:0;transform:translateY(calc(var(--motion-surface-enter-offset) * -.5)) scale(var(--motion-surface-enter-scale));transform-origin:top center;pointer-events:none;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.code-dropdown-panel[data-direction=up]{top:auto;bottom:calc(100% + 6px);transform:translateY(calc(var(--motion-surface-enter-offset) * .5)) scale(var(--motion-surface-enter-scale));transform-origin:bottom center}.code-dropdown-panel.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.code-dropdown-panel.is-hidden{display:none!important}.code-dropdown-option{width:100%;min-height:44px;border:none;background:transparent;color:var(--text-primary);border-radius:var(--radius-md);padding:8px 12px;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.code-dropdown-option:hover,.code-dropdown-option.is-active,.code-dropdown-option:focus-visible{background:var(--bg-input)}.code-dropdown-option:active{transform:scale(var(--motion-press-scale-option))}.code-dropdown-swatch{width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid var(--border-light);flex-shrink:0}.code-dropdown-text{min-width:0;display:flex;flex-direction:column}.code-dropdown-code{font-size:15px;font-weight:600;letter-spacing:-.2px;line-height:1.2}.code-dropdown-meta{font-size:12px;color:var(--text-secondary);line-height:1.2}.code-dropdown-empty{padding:12px;font-size:12px;color:var(--text-secondary);text-align:center}.recent-codes{display:none;margin-bottom:8px}.recent-codes-title{font-size:12px;color:var(--text-muted);margin-bottom:4px}.recent-codes-list{display:flex;flex-wrap:wrap;gap:8px}.recent-code-chip{min-height:44px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-primary);padding:0 16px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.recent-code-chip:active{transform:scale(var(--motion-press-scale-button))}.recent-code-chip.is-selected{background:var(--bg-input);border-color:var(--accent);color:var(--accent)}.recent-code-swatch{width:12px;height:12px;border-radius:999px;border:1px solid var(--border-light);flex-shrink:0}@media(prefers-color-scheme:light){.code-dropdown-panel{background:#f2f2f7f0;border-color:#3c3c432e}}.light-theme .code-dropdown-panel{background:#f2f2f7f0;border-color:#3c3c432e}.dark-theme .code-dropdown-panel{background:#1c1c1eeb}.selection-mode-indicator{display:none;align-items:center;gap:8px;background:var(--accent);color:#fff;padding:4px 12px;border-radius:var(--radius-lg);font-size:12px;font-weight:600}.selection-mode-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:none;color:#fff;font-size:16px;padding:0;cursor:pointer;border-radius:var(--radius-sm);transition:transform var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard)}.selection-mode-close:active{transform:scale(var(--motion-press-scale-icon));opacity:.9}.group-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 0 8px;margin-bottom:24px}.group-tabs::-webkit-scrollbar{display:none}.group-tab{flex-shrink:0;padding:8px 16px;min-height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:none;border-radius:var(--radius-xl);color:var(--text-primary);font-size:15px;font-weight:500;font-family:var(--font);cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard);box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent}.group-tab.active{background:var(--accent);color:var(--text-on-accent);box-shadow:0 4px 12px var(--accent-glow)}.group-tab .badge{display:inline-block;margin-left:8px;padding:0 8px;background:#fff3;border-radius:var(--radius-sm);font-size:12px;font-weight:600;line-height:16px}.inventory-grid{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:600px){.inventory-grid{grid-template-columns:repeat(2,1fr)}}.inv-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:none;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard);cursor:pointer;position:relative;overflow:hidden}.inv-card.batch-selectable{cursor:pointer}.inv-card:active{transform:scale(var(--motion-press-scale-card))}@media(hover:hover)and (pointer:fine){.inv-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}}.inv-card.low-stock{box-shadow:inset 0 0 0 2px var(--danger)}.inv-card .color-swatch{width:48px;height:48px;border-radius:var(--radius-md);flex-shrink:0;border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm)}.inv-card .item-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.inv-card .item-code{font-size:16px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:4px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-card .item-code .alert-icon{color:var(--danger);font-size:16px}.inv-card .item-group{font-size:13px;color:var(--text-secondary);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-card .item-qty{text-align:right;flex-shrink:0;min-width:clamp(72px,18%,120px);display:flex;flex-direction:column;align-items:flex-end}.batch-checkbox-wrap{display:flex;align-items:center;padding-right:8px;position:relative}.batch-checkbox-wrap:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px}.batch-cb{width:18px;height:18px;cursor:pointer;flex-shrink:0;accent-color:var(--accent)}.inv-card .qty-number{font-size:clamp(18px,2.2vw,20px);font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2}.inv-card .qty-unit{font-size:12px;color:var(--text-muted);white-space:nowrap}.inv-card.low-stock .qty-number{color:var(--danger);font-weight:700}.inventory-grid.is-dense .inv-card{box-shadow:none;border:1px solid var(--border);transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard);content-visibility:auto;contain-intrinsic-size:88px}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:12px;margin-bottom:24px}.color-cell{aspect-ratio:1;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;cursor:pointer;border:none;transition:transform var(--motion-duration-fast) var(--motion-ease-spring),box-shadow var(--motion-duration-fast) var(--motion-ease-standard);position:relative;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-sm);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);user-select:none;-webkit-user-select:none;overflow:visible}.color-cell.dark-text{color:#000c;text-shadow:none}.color-cell:active{transform:scale(var(--motion-press-scale-option))}.color-cell.selected{box-shadow:0 0 0 3px var(--bg-primary),0 0 0 5px var(--accent);z-index:1}.color-cell.selected:after{content:"✓";position:absolute;top:0;right:0;transform:translate(42%,-42%);width:18px;height:18px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1.2;color:#fff;box-shadow:var(--shadow-sm);border:2px solid var(--bg-card);pointer-events:none;z-index:2}.color-grid.is-dense .color-cell{box-shadow:none;transition:none;content-visibility:auto;contain-intrinsic-size:72px}.color-grid.is-dense .color-cell.selected{content-visibility:visible;contain:none}.qty-control{display:flex;align-items:center;background:var(--bg-secondary);border-radius:var(--radius-md);padding:4px;box-shadow:var(--shadow-sm)}.qty-control button{width:40px;height:40px;background:var(--bg-card);border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:22px;font-weight:400;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:transform var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.qty-control button:active{transform:scale(var(--motion-press-scale-icon));background:var(--bg-input)}.qty-control input{width:60px;text-align:center;background:none;border:none;color:var(--text-primary);font-size:18px;font-weight:600;font-family:var(--font);outline:none}.selected-item{display:flex;align-items:center;padding:16px 0;border-bottom:.5px solid var(--border);background:transparent}.selected-item:last-child{border-bottom:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;height:44px;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;font-family:var(--font);cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard),filter var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard);-webkit-tap-highlight-color:transparent;will-change:transform}.btn:active{transform:scale(var(--motion-press-scale-button));opacity:.88}.btn:disabled,.btn[disabled]{opacity:.5;pointer-events:none}@media(hover:hover)and (pointer:fine){.btn:not(:disabled):hover{filter:brightness(1.04)}.secondary-chip-btn:hover{border-color:var(--accent);color:var(--accent)}}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-primary:disabled{opacity:.5;pointer-events:none}.btn-danger{background:var(--danger);color:var(--text-on-accent)}.btn-danger:active{opacity:.85}.btn-outline{background:transparent;color:var(--accent);border:none;padding:12px 16px}.btn-outline.bordered{border:1px solid var(--border);color:var(--text-primary)}.btn-tinted{background:var(--accent-glow);color:var(--accent);border:none;font-weight:600}.btn-block{width:100%}.btn-offline-entry{margin-top:12px;border:1px dashed var(--text-secondary);color:var(--text-secondary)}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:8px;appearance:none;border:1px dashed var(--border);border-radius:var(--radius-xl);padding:40px 24px;text-align:center;cursor:pointer;transition:border-color var(--motion-duration-medium) var(--motion-ease-standard),background-color var(--motion-duration-medium) var(--motion-ease-standard),box-shadow var(--motion-duration-medium) var(--motion-ease-standard),transform var(--motion-duration-medium) var(--motion-ease-standard);background:var(--bg-card);box-shadow:var(--shadow-sm);color:var(--text-primary)}.upload-zone:focus-visible{outline:none;border-color:var(--accent);background:var(--bg-input);box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-sm)}.upload-zone:hover{border-color:var(--accent);background:var(--bg-input);transform:translateY(-1px)}.upload-zone.dragover{border-color:var(--accent);background:var(--bg-input);box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-sm);transform:translateY(-1px)}.import-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.import-options-grid-spaced{margin-bottom:12px}.import-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);animation:importCardIn var(--motion-duration-fast) var(--motion-ease-standard);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}body.is-data-refreshing .import-card{animation:none!important}.import-card-title{font-size:18px;font-weight:600;letter-spacing:-.2px;margin-bottom:8px}.import-meta{margin-bottom:8px;font-size:14px;color:var(--text-secondary)}.import-meta-top{margin-top:4px}.import-meta-top-sm{margin-top:2px}.import-table-wrap{overflow-x:auto;margin-bottom:16px}.import-table{width:100%;font-size:13px;border-collapse:collapse}.import-table th,.import-table td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap;text-align:left}.import-table th{color:var(--text-muted)}.import-muted{font-size:12px;color:var(--text-muted)}.import-label{display:block;margin-bottom:4px;font-size:13px;color:var(--text-muted)}.import-input{width:100%;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:15px;outline:none}.import-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.import-section{margin-top:24px}.import-section-title{margin-bottom:8px}.import-help-text{margin-bottom:12px;font-size:12px}.import-submit-btn{margin-top:4px}.import-result-title{margin-bottom:8px;color:var(--success)}.import-result-main{font-size:15px}.import-result-error{margin-top:8px;font-size:14px;color:var(--danger)}.import-preview-layout{display:grid;grid-template-columns:1fr;gap:16px}.import-preview-main,.import-preview-side{min-width:0}.import-preview-controls{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;background:var(--bg-secondary);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}@keyframes importCardIn{0%{opacity:0}to{opacity:1}}@media(min-width:1024px){.import-preview-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);align-items:start}.import-preview-side{position:sticky;top:16px}}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:max(16px,calc(var(--safe-top) + 8px)) max(16px,calc(var(--safe-right) + 8px)) max(16px,calc(var(--safe-bottom) + 8px)) max(16px,calc(var(--safe-left) + 8px));z-index:3200;background:#00000080;backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);opacity:0;pointer-events:none;transition:opacity var(--motion-duration-medium) var(--motion-ease-standard)}.modal-overlay.is-open{opacity:1;pointer-events:auto}.modal-overlay.is-closing{opacity:0;pointer-events:none}.modal-content{width:min(100%,420px);max-height:min(80vh,720px);background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);overflow:hidden;opacity:0;transform:translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale));transition:opacity var(--motion-duration-medium) var(--motion-ease-emphasized),transform var(--motion-duration-medium) var(--motion-ease-spring)}.modal-card{width:min(100%,360px);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-lg);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);opacity:0;transform:translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale));transition:opacity var(--motion-duration-medium) var(--motion-ease-emphasized),transform var(--motion-duration-medium) var(--motion-ease-spring)}.modal-overlay.is-open .modal-content,.modal-overlay.is-open .modal-card{opacity:1;transform:translateY(0) scale(1)}.modal-overlay.is-closing .modal-content,.modal-overlay.is-closing .modal-card{opacity:0;transform:translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale));transition-timing-function:var(--motion-ease-standard)}.modal-card-title{font-size:18px;font-weight:700;margin-bottom:12px}.modal-card-text{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.modal-warning-text{display:inline-block;margin-top:8px;font-weight:600;color:var(--danger)}.modal-card-row{display:flex;gap:12px}.dialog-flex-btn{flex:1}.modal-card-input-wrap{margin-bottom:16px}.modal-card-input-wrap-lg{margin-bottom:24px}.modal-card-label{display:block;margin-bottom:4px;font-size:12px;color:var(--text-muted)}.modal-card-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);height:44px;padding:0 12px;font-size:15px;outline:none}.modal-card-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.modal-overlay.modal-sheet-overlay{align-items:flex-end;padding-top:max(24px,calc(var(--safe-top) + 8px));padding-right:max(var(--page-gutter),calc(var(--safe-right) + 8px));padding-bottom:max(12px,calc(var(--safe-bottom) + 8px));padding-left:max(var(--page-gutter),calc(var(--safe-left) + 8px))}.modal-content.modal-sheet{width:min(100%,var(--max-width));max-height:min(82vh,780px);background:var(--bg-primary);border-radius:var(--radius-xl);border-bottom:1px solid var(--border);padding:24px;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale))}.modal-overlay.is-open .modal-content.modal-sheet{transform:translateY(0) scale(1)}.modal-overlay.is-closing .modal-content.modal-sheet{transform:translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale))}.detail-sheet{max-width:640px}.detail-sheet-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.detail-sheet-swatch{width:64px;height:64px;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.detail-sheet-title{margin-bottom:4px;text-align:left;font-size:22px}.detail-sheet-subtitle{font-size:14px;color:var(--text-secondary)}.detail-section{margin-bottom:24px}.detail-label{display:block;margin-bottom:12px;color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.detail-qty-control{margin-bottom:12px;justify-content:space-between}.detail-qty-btn{width:56px;height:56px;font-size:24px}.detail-qty-input{width:clamp(120px,20vw,180px);font-size:28px;background:transparent;font-variant-numeric:tabular-nums}.detail-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.detail-grid-4-spaced{margin-bottom:24px}.detail-quick-btn{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-primary);font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.detail-quick-btn:active{transform:scale(var(--motion-press-scale-button));background:var(--bg-input)}.detail-threshold-wrap{background:var(--bg-input);border-radius:var(--radius-md);padding:4px}.detail-threshold-input{width:100%;min-height:44px;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:18px;font-weight:600;text-align:center;padding:12px}.detail-threshold-input-large{font-size:24px;padding:16px}.modal-stack-gap-20{margin-bottom:24px}.detail-change-indicator{display:none;margin-bottom:16px;border-radius:var(--radius-md);background:var(--bg-input);text-align:center;padding:12px;font-size:14px;font-weight:500;color:var(--accent)}.detail-actions{display:flex;flex-direction:column;gap:12px}.detail-cancel-btn{color:var(--text-secondary);border:none}.history-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.history-modal-title{margin:0}.history-modal-back{border:none;background:none;color:var(--accent);font-size:15px;min-height:44px;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard)}.history-modal-back:active{transform:scale(var(--motion-press-scale-button));opacity:.85}.history-modal-list{max-height:400px;overflow-y:auto;margin-bottom:16px}.history-modal-list .empty-state{min-height:160px;padding:24px 16px}.history-modal-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:.5px solid var(--border)}.history-modal-item-title{font-size:15px;font-weight:500;margin-bottom:2px}.history-modal-item-time{font-size:12px;color:var(--text-muted)}.history-modal-item-note{margin-top:4px;font-size:13px;color:var(--text-secondary)}.history-modal-item-change{font-size:16px;font-weight:600}.history-modal-item-change.positive{color:var(--success)}.history-modal-item-change.negative{color:var(--danger)}.modal-title{text-align:left;font-size:18px;font-weight:600;margin-bottom:8px}@media(max-width:480px){.page-title{font-size:28px}.modal-content.modal-sheet{padding:24px 16px}.search-action-row{gap:8px}.secondary-chip-btn{padding:8px 12px;font-size:13px}.token-input-group{flex-direction:column}.token-input-group .btn{width:100%}.import-options-grid{grid-template-columns:1fr}#home-batch-bar-container>div{width:min(calc(100vw - 16px),460px);padding:8px 12px}.home-batch-floating{gap:8px;padding:8px 12px}.home-batch-select-all,.home-batch-submit{min-height:44px;padding:0 8px}.floating-sheet-actions-row{flex-direction:column;align-items:stretch}.floating-sheet-submit{width:100%}.sheet-item-row{flex-wrap:wrap}.sheet-item-mode{margin-left:52px;order:3}.sheet-item-qty{margin-left:auto}.detail-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}.token-input-group input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-glow)}#toast-container{position:fixed;top:calc(var(--safe-top) + 8px);left:50%;transform:translate(-50%);z-index:3300;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:calc(100% - 32px);max-width:400px}.toast{padding:12px 24px;border-radius:var(--radius-md);font-size:14px;font-weight:500;pointer-events:auto;display:flex;align-items:center;gap:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;transform:translateY(calc(var(--motion-surface-enter-offset) * -1)) scale(var(--motion-surface-enter-scale));transition:opacity var(--motion-duration-medium) var(--motion-ease-standard),transform var(--motion-duration-medium) var(--motion-ease-standard)}.toast.is-visible{opacity:1;transform:translateY(0) scale(1)}.toast.is-exiting{opacity:0;transform:translateY(calc(var(--motion-surface-enter-offset) * -.75)) scale(var(--motion-surface-enter-scale))}.toast-message{flex:1;min-width:0}.toast:focus-within{box-shadow:0 0 0 3px var(--accent-glow),0 4px 16px #0000004d}.toast-action-btn{min-width:44px;height:44px;min-height:44px;border:none;border-radius:999px;padding:0 16px;background:#fff3;color:#fff;font-size:13px;font-weight:700;letter-spacing:.2px;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard)}.toast-action-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff52}.toast-action-btn:active{transform:scale(var(--motion-press-scale-button));background:#ffffff47}.toast-action-btn:disabled{opacity:.5;pointer-events:none}.toast.success{background:#1e1e1ee0;color:#fff;border-left:3px solid var(--success);box-shadow:var(--shadow-md)}.toast.error{background:#1e1e1ee0;color:#fff;border-left:3px solid var(--danger);box-shadow:var(--shadow-md)}.toast.info{background:#1e1e1ee0;color:#fff;border-left:3px solid var(--accent);box-shadow:var(--shadow-md)}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100dvh - var(--nav-height-total) - 40px);text-align:center;padding:24px}#app.nav-hidden .login-page{min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 48px)}.login-logo{width:92px;height:92px;margin-bottom:16px}.brand-mark{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.brand-mark-shell{width:100%;height:100%;border-radius:var(--radius-2xl);background:linear-gradient(145deg,#1c1c1e,#4a4a52);box-shadow:var(--shadow-lg)}.brand-mark-glyph{position:absolute;width:58%;height:58%;color:#fff}@media(prefers-color-scheme:dark){.brand-mark-shell{background:linear-gradient(145deg,#f5f5f7,#c7c7cc);box-shadow:var(--shadow-lg)}.brand-mark-glyph{color:#111}}.login-title{font-size:28px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,var(--text-primary),var(--accent-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.login-subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:40px}.login-actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.login-page-success{gap:16px}.login-success-card{width:min(100%,360px);display:flex;flex-direction:column;gap:16px;padding:24px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-secondary);box-shadow:var(--shadow-sm)}.login-success-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--success)}.login-success-status-dot{width:8px;height:8px;flex-shrink:0;border-radius:999px;background:currentColor;box-shadow:0 0 0 4px var(--success-glow)}.login-success-title{font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.3px;color:var(--text-primary)}.login-subtitle-compact{margin-bottom:0}.login-token-summary{display:flex;flex-direction:column;gap:4px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-input)}.login-token-summary-label{font-size:12px;color:var(--text-secondary)}.login-token-summary-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:18px;font-weight:700;letter-spacing:1.4px;color:var(--text-primary)}.login-warning-note{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input)}.login-warning-note svg{width:18px;height:18px;flex-shrink:0;color:var(--warning)}.login-warning-note span{font-size:13px;line-height:1.5;color:var(--text-secondary)}.login-warning-note strong{color:var(--warning)}.login-secondary-action{min-height:44px;padding:0 12px;align-self:center;border:none;border-radius:999px;background:transparent;color:var(--accent);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:color var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.login-secondary-action:active{transform:scale(var(--motion-press-scale-button))}.login-secondary-action:disabled{opacity:.5;pointer-events:none}.divider{display:flex;align-items:center;gap:12px;margin:8px 0;color:var(--text-muted);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(160deg,#7878801f,#7878800a);box-shadow:var(--shadow-sm);text-align:center;grid-column:1 / -1}.empty-state svg{width:52px;height:52px;color:var(--accent);margin-bottom:12px;opacity:.92;padding:12px;border-radius:var(--radius-lg);background:var(--accent-glow)}.empty-state .empty-title{font-size:20px;font-weight:600;letter-spacing:-.2px;margin-bottom:8px}.empty-state .empty-desc{font-size:14px;line-height:1.6;color:var(--text-secondary);margin-bottom:24px}@media(prefers-color-scheme:light){.empty-state{background:linear-gradient(160deg,#ffffffe0,#f6f6fabd);border-color:#3c3c4329}}.light-theme .empty-state{background:linear-gradient(160deg,#ffffffe0,#f6f6fabd);border-color:#3c3c4329}.app-loading-overlay{position:fixed;inset:0;z-index:3500;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard)}.app-loading-overlay.is-visible{opacity:1;pointer-events:auto}.app-loading-card{min-width:min(320px,calc(100vw - 32px));max-width:420px;min-height:80px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-primary);box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px}.app-loading-spinner{width:18px;height:18px;border-color:#78788047;border-top-color:var(--accent)}.app-loading-text{font-size:14px;color:var(--text-secondary);text-align:center}.stats-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;text-align:center}.stat-card .stat-value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.stat-card .stat-label{font-size:11px;color:var(--text-muted);margin-top:2px}.stat-card.alert .stat-value{color:var(--danger)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:2px}.spinner{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin var(--motion-duration-slow) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:768px)and (max-width:1023px){#bottom-nav{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.color-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}}@media(min-width:1024px){.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-banner{grid-template-columns:repeat(3,minmax(0,240px));justify-content:center}.modal-content.modal-sheet{max-width:760px}}@media(orientation:landscape)and (max-height:560px){#page-container{padding-top:max(12px,calc(var(--safe-top) + 8px))}.page-title{font-size:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.settings-section{margin-bottom:0;min-width:0}.settings-layout{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.settings-pane{margin-bottom:0;min-width:0}.settings-section--compact,.settings-section--wide{min-width:0}.section-title{font-size:12px;color:var(--text-secondary);margin-bottom:8px;margin-left:0;font-weight:600;letter-spacing:.2px}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm);transition:box-shadow var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard)}.settings-layout .settings-card{background:var(--bg-secondary)}.settings-row-inline{display:flex;align-items:center;gap:12px}.settings-row-inline-wrap{justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.settings-control-block{display:flex;flex-direction:column;gap:12px}.settings-control-copy{min-width:0}.settings-row-title{font-weight:600}.settings-row-subtitle{font-size:14px;color:var(--text-secondary)}.settings-note{margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.settings-tip{margin-top:4px;font-size:12px;color:var(--text-muted)}.settings-stack{display:flex;flex-direction:column;gap:8px}.settings-segmented{display:inline-flex;flex-wrap:wrap;gap:8px}.settings-segmented-btn{min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:var(--bg-input);color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.settings-segmented-btn.is-active{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.settings-segmented-btn:active{transform:scale(var(--motion-press-scale-button))}.settings-switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:44px}.settings-switch input{position:absolute;opacity:.001;width:1px;height:1px;pointer-events:none}.settings-switch-track{position:relative;width:52px;height:34px;border-radius:999px;background:#78788052;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.settings-switch-thumb{position:absolute;top:2px;left:2px;width:30px;height:30px;border-radius:50%;background:var(--text-on-accent);box-shadow:var(--shadow-sm);transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.settings-switch input:checked+.settings-switch-track{background:var(--success)}.settings-switch input:checked+.settings-switch-track .settings-switch-thumb{transform:translate(18px)}.settings-switch input:focus-visible+.settings-switch-track{box-shadow:0 0 0 3px var(--accent-glow)}.settings-switch-text{font-size:12px;color:var(--text-secondary);font-weight:600}.snapshot-list{display:flex;flex-direction:column;gap:8px}.snapshot-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input)}.snapshot-item-main{min-width:0}.snapshot-item-title{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-item-time{margin-top:2px;font-size:12px;color:var(--text-secondary)}.snapshot-restore-btn{flex-shrink:0;min-height:44px;padding:0 12px;font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-primary);transition:transform var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.snapshot-restore-btn:active{transform:scale(var(--motion-press-scale-button));background:var(--bg-input)}.btn-outline-bordered{border:1px solid var(--border)}.text-strong-primary{font-weight:700;color:var(--text-primary)}.text-strong-success{font-weight:700;color:var(--success)}.btn-outline-danger{border:1px solid var(--danger);border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger);background:var(--danger-glow)}.btn-outline-danger:active{filter:brightness(.96)}.btn-outline-danger:focus-visible{box-shadow:0 0 0 2px var(--danger-glow)}@media(min-width:768px){.settings-layout{max-width:820px;margin:0 auto;gap:12px}.settings-layout .settings-card{padding:16px}.settings-switch-row{gap:16px}}.token-display{display:flex;align-items:center;gap:12px}.token-value{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:20px;letter-spacing:2px;color:var(--text-primary);background:var(--bg-input);padding:12px;border-radius:var(--radius-md);text-align:center;user-select:all;-webkit-user-select:all;overflow:hidden;text-overflow:ellipsis}.copy-btn{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border:none;border-radius:var(--radius-md);color:var(--accent);cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.copy-btn:active{background:var(--bg-elevated);transform:scale(var(--motion-press-scale-button))}.token-input-group{display:flex;gap:12px}.token-input-group input{flex:1;height:44px;padding:0 16px;background:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;font-family:monospace;outline:none}.token-input-group input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.token-input-group .btn{min-height:44px;height:44px;padding-top:0;padding-bottom:0}.account-sync-overview{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.account-sync-status{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-secondary)}.account-sync-dot{width:8px;height:8px;border-radius:999px;background:var(--success);box-shadow:0 0 0 4px #34c75938}.account-sync-grid{display:grid;grid-template-columns:1fr;gap:8px}.account-sync-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);padding:12px}.account-sync-title{margin-bottom:8px;font-size:13px;font-weight:700;color:var(--text-primary)}@media(min-width:768px){.account-sync-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.history-error{padding:40px 24px;text-align:center;color:var(--danger)}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-shimmer{position:relative;overflow:hidden;background:var(--bg-input)}.skeleton-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);animation:skeleton-shimmer var(--motion-duration-slow) var(--motion-ease-emphasized) infinite}.skeleton-line{border-radius:999px}.skeleton-line-full{width:100%;height:12px}.skeleton-line-lg{width:56px;height:24px}.skeleton-line-md{width:120px;height:14px}.skeleton-line-sm{width:84px;height:12px}.skeleton-line-xs{width:56px;height:12px}.skeleton-line-xxs{width:36px;height:10px}.skeleton-card{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.inv-card-skeleton{cursor:default;pointer-events:none}.inv-card-skeleton .color-swatch{border:none;box-shadow:none}.inv-card-skeleton .item-info{flex:1;display:flex;flex-direction:column;gap:8px}.inv-card-skeleton .item-qty{min-width:48px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}.color-cell-skeleton{pointer-events:none;border:1px solid var(--border);box-shadow:none;color:transparent;text-shadow:none}.history-skeleton-list{display:flex;flex-direction:column;gap:8px}.history-skeleton-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--bg-card);display:flex;flex-direction:column;gap:8px}.history-skeleton-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-skeleton-meta{flex:1;display:flex;flex-direction:column;gap:8px}.project-list-skeleton{display:flex;flex-direction:column;gap:12px}.project-card-skeleton{pointer-events:none;gap:8px}.snapshot-skeleton-list{display:flex;flex-direction:column;gap:8px}.snapshot-skeleton-item{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--bg-card);display:flex;align-items:center;justify-content:space-between;gap:8px}.snapshot-skeleton-main{flex:1;display:flex;flex-direction:column;gap:8px}.history-empty-icon{width:48px;height:48px;margin-bottom:16px;color:var(--text-muted)}.history-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:8px 0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:var(--bg-hover)}.history-actions-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.history-count{font-size:14px;color:var(--text-muted)}.history-grid{display:grid;grid-template-columns:1fr;gap:8px}.history-batch{display:flex;align-items:center;gap:8px;margin-bottom:0;padding:12px 16px;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard)}.history-batch:active{transform:scale(var(--motion-press-scale-card))}.history-batch.selectable{cursor:pointer}.history-batch.batch-checked{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow),var(--shadow-sm)}.history-batch.batch-checked .history-batch-label{color:var(--accent)}.history-batch.undone{opacity:.5}.history-batch-leading{width:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative}.history-batch-leading:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;cursor:pointer}.history-leading-spacer{width:16px;height:1px}.history-batch-checkbox{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}.history-synced-tag{white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 4px;font-size:12px;color:var(--text-muted)}.history-batch-main{flex:1;min-width:0}.history-batch-head{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:4px}.history-batch-label{font-size:14px;font-weight:500}.history-batch-count{font-size:13px;color:var(--text-muted)}.history-undone-tag{border-radius:var(--radius-sm);padding:2px 4px;font-size:11px;color:var(--text-muted);background:var(--bg-input)}.history-color-row{display:flex;align-items:center;gap:4px;margin-bottom:4px}.history-color-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.15)}.history-more-count{font-size:11px;color:var(--text-muted)}.history-batch-time{font-size:12px;color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word}.history-batch-change{font-size:16px;font-weight:700;flex-shrink:0}.history-change-positive{color:var(--success)}.history-change-negative{color:var(--danger)}.history-change-separator{opacity:.6}.history-detail-sheet{max-width:760px}.history-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.history-detail-title{margin-bottom:4px}.history-detail-time{font-size:12px;color:var(--text-muted)}.history-detail-close{flex-shrink:0;min-height:44px;padding:0 12px;font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-primary);transition:transform var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.history-detail-close:active{transform:scale(var(--motion-press-scale-button));background:var(--bg-input)}.history-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.history-detail-summary-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);padding:12px;text-align:center}.history-detail-summary-value{font-size:18px;font-weight:700;overflow-wrap:anywhere;word-break:break-word}.history-detail-summary-value.positive{color:var(--success)}.history-detail-summary-value.negative{color:var(--danger)}.history-detail-summary-label{margin-top:2px;font-size:11px;color:var(--text-muted);overflow-wrap:anywhere}.history-detail-list{max-height:min(52vh,520px);overflow-y:auto;padding-right:2px}.history-detail-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:12px 0}.history-detail-item-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.history-detail-swatch{width:28px;height:28px;border-radius:var(--radius-sm);flex-shrink:0;border:1px solid var(--border-light)}.history-detail-item-text{min-width:0}.history-detail-item-code{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-detail-item-meta{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-detail-item-change{font-size:16px;font-weight:700;flex-shrink:0}.history-detail-item-change.positive{color:var(--success)}.history-detail-item-change.negative{color:var(--danger)}#history-batch-bar-container{pointer-events:none}#history-batch-bar-container>div{width:min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)),360px);pointer-events:auto}#home-batch-bar-container{pointer-events:none}#home-batch-bar-container>div{width:min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)),360px);pointer-events:auto}.home-batch-floating{--batch-side-btn-width: 92px;position:fixed;bottom:var(--page-fixed-bottom-offset);left:var(--page-fixed-center-x);width:min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)),360px);max-width:var(--page-fixed-max-width);transform:translate(-50%) translateY(8px);display:grid;grid-template-columns:var(--batch-side-btn-width) minmax(0,1fr) var(--batch-side-btn-width);align-items:center;column-gap:8px;border:1px solid var(--border);background:var(--bg-secondary);border-radius:var(--radius-2xl);padding:12px 16px;box-shadow:var(--shadow-md);z-index:1001;opacity:0;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-emphasized)}.home-batch-floating.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.home-batch-floating.is-hiding{opacity:0;transform:translate(-50%) translateY(8px)}body.is-data-refreshing .home-batch-floating,body.is-data-refreshing .history-batch-floating,body.is-data-refreshing .floating-sheet,body.is-data-refreshing .floating-sheet-overlay{transition:none!important}.home-batch-select-all{display:inline-flex;align-items:center;justify-content:center;width:var(--batch-side-btn-width);min-width:var(--batch-side-btn-width);min-height:44px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary);border-radius:999px;padding:0 12px;font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;justify-self:start;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.home-batch-select-all:active{transform:scale(var(--motion-press-scale-button));background:var(--bg-input)}.home-batch-count{justify-self:center;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center;font-size:14px;font-weight:600;white-space:nowrap}.home-batch-count strong{color:var(--accent)}.home-batch-submit{min-height:44px;width:var(--batch-side-btn-width);min-width:var(--batch-side-btn-width);justify-self:end;border-radius:999px;padding:0 12px;font-size:13px;font-weight:600;white-space:nowrap}.home-batch-submit:active{transform:scale(var(--motion-press-scale-button))}.home-batch-submit:disabled{opacity:.5;pointer-events:none}.home-empty-actions{width:100%;max-width:320px;display:flex;flex-direction:column;gap:16px;margin-top:24px}.home-empty-link-row{text-align:center;font-size:13px;color:var(--text-muted)}.home-empty-link{color:var(--accent);text-decoration:underline;cursor:pointer;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.home-empty-link:active{opacity:.75}.floating-sheet-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);z-index:150;opacity:0;pointer-events:none;transition:opacity var(--motion-duration-medium) var(--motion-ease-standard)}.floating-sheet-overlay.is-open{opacity:1;pointer-events:auto}.floating-sheet-overlay.is-closing{opacity:0;pointer-events:none}.floating-sheet{position:fixed;bottom:var(--page-fixed-bottom-offset);left:var(--page-fixed-inline-start);right:var(--page-fixed-inline-end);max-width:min(calc(100vw - var(--page-fixed-inline-start) - var(--page-fixed-inline-end)),var(--page-fixed-max-width));margin:0 auto;display:flex;flex-direction:column;max-height:min(75vh,calc(100dvh - max(16px,calc(var(--safe-top) + 16px)) - var(--page-fixed-bottom-offset) - 12px));border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-primary);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);box-shadow:var(--shadow-md);z-index:1001;opacity:0;pointer-events:none;will-change:opacity,transform;transform:translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale));transition:opacity var(--motion-duration-medium) var(--motion-ease-standard),transform var(--motion-duration-medium) var(--motion-ease-spring)}.floating-sheet.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.floating-sheet.is-closing{pointer-events:none;transform:translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale))}.floating-sheet-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:.5px solid var(--border);cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard)}.floating-sheet-header:active{background:var(--bg-input)}.floating-sheet-title-wrap{display:flex;align-items:center;gap:8px}.floating-sheet-title{font-size:16px;font-weight:600}.floating-sheet-title strong{color:var(--accent)}.floating-sheet-subtitle{font-size:13px;color:var(--text-secondary)}.floating-sheet-toggle{width:44px;min-width:44px;height:44px;border:none;border-radius:var(--radius-md);background:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard)}.floating-sheet-toggle:active{transform:scale(var(--motion-press-scale-icon));opacity:.86}.floating-sheet-bulk{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;border-bottom:.5px solid var(--border)}.bulk-mode-seg{display:flex;flex-shrink:0;background:var(--bg-input);border-radius:var(--radius-sm);padding:2px}.bulk-mode-btn{border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);min-height:44px;padding:0 12px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.bulk-mode-btn.is-active.bulk-mode-btn-decrease{background:var(--danger);color:var(--text-on-accent)}.bulk-mode-btn.is-active.bulk-mode-btn-increase{background:var(--success);color:var(--text-on-accent)}.bulk-mode-btn:active{transform:scale(var(--motion-press-scale-button))}.bulk-qty-input{flex:1;min-width:100px;border:none;border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);padding:0 12px;height:44px;outline:none}.bulk-qty-apply{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;border:none;border-radius:999px;background:var(--accent);color:var(--text-on-accent);padding:0 16px;font-size:13px;font-weight:600;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),opacity var(--motion-duration-fast) var(--motion-ease-standard),filter var(--motion-duration-fast) var(--motion-ease-standard)}.bulk-qty-apply:active{transform:scale(var(--motion-press-scale-button));opacity:.9}.bulk-qty-presets{width:100%;display:flex;flex-wrap:wrap;gap:8px}.bulk-qty-preset{min-height:44px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-primary);padding:0 12px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.bulk-qty-preset:active{transform:scale(var(--motion-press-scale-button));background:var(--bg-input)}.bulk-qty-preset.is-selected{background:var(--bg-input);border-color:var(--accent);color:var(--accent)}.floating-sheet-content{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:0 16px;-webkit-overflow-scrolling:touch}.floating-sheet-actions{flex-shrink:0;padding:16px;border-top:.5px solid var(--border);background:transparent;border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.floating-sheet-actions-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px}.floating-sheet-actions .floating-sheet-note{width:100%;height:56px;min-height:56px;margin:0;padding:0 16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:15px;-webkit-appearance:none;appearance:none;box-sizing:border-box}.floating-sheet-submit{height:56px;min-height:56px;padding:0 24px;border-radius:var(--radius-md);font-size:15px;font-weight:600;white-space:nowrap}@media(max-width:480px){.floating-sheet-actions-row{grid-template-columns:1fr}.floating-sheet-actions .floating-sheet-note{height:60px;min-height:60px}.floating-sheet-submit{height:48px;min-height:48px}}.floating-sheet-trigger{position:fixed;bottom:var(--page-fixed-bottom-offset);left:var(--page-fixed-center-x);transform:translate(-50%) translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale));display:flex;align-items:center;gap:8px;z-index:1001;border-radius:var(--radius-2xl);padding:12px 24px;font-size:15px;font-weight:600;color:var(--text-on-accent);background:var(--accent);border:1px solid rgba(0,0,0,.08);box-shadow:var(--shadow-md);cursor:pointer;opacity:0;pointer-events:none;transition:transform var(--motion-duration-medium) var(--motion-ease-spring),opacity var(--motion-duration-medium) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.floating-sheet-trigger.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0) scale(1)}.floating-sheet-trigger:active{transform:translate(-50%) scale(var(--motion-press-scale-button));opacity:.94}.floating-sheet-trigger.is-hidden,.floating-sheet-trigger.is-closing{opacity:0;transform:translate(-50%) translateY(var(--motion-surface-enter-offset)) scale(var(--motion-surface-enter-scale));pointer-events:none}.sheet-item-row{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:.5px solid var(--border)}.sheet-item-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.sheet-item-swatch{width:40px;height:40px;border-radius:var(--radius-md);flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001a}.sheet-item-text{min-width:0}.sheet-item-code{font-size:16px;font-weight:600;overflow-wrap:anywhere;word-break:break-word}.sheet-item-stock{font-size:12px;color:var(--text-secondary);overflow-wrap:anywhere}.sheet-item-mode{display:flex;gap:8px}.sheet-item-mode-btn{border-radius:var(--radius-sm);min-height:44px;padding:0 16px;font-size:13px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),border-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.sheet-item-mode-btn:active{transform:scale(var(--motion-press-scale-button))}.sheet-item-mode-btn.is-active.sheet-item-mode-decrease{background:var(--danger);border-color:var(--danger);color:var(--text-on-accent)}.sheet-item-mode-btn.is-active.sheet-item-mode-increase{background:var(--success);border-color:var(--success);color:var(--text-on-accent)}.sheet-item-qty{display:flex;align-items:center;flex-shrink:0;min-width:max-content;border-radius:var(--radius-md);padding:2px;background:var(--bg-input)}.sheet-item-qty-btn{width:44px;height:44px;border:none;background:transparent;color:var(--text-primary);font-size:18px;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard)}.sheet-item-qty-btn:active{transform:scale(var(--motion-press-scale-icon));background:var(--bg-card)}.sheet-item-qty-input{width:6.6ch;min-width:6.6ch;flex:0 0 auto;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;padding:0}.sheet-item-remove{width:44px;height:44px;margin-left:8px;border:none;background:none;color:var(--text-secondary);opacity:.6;cursor:pointer;border-radius:var(--radius-sm);transition:opacity var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard)}.sheet-item-remove:active{opacity:1;transform:scale(var(--motion-press-scale-icon));background:var(--bg-input);color:var(--danger)}@media(max-width:480px){.sheet-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info remove" "mode qty";align-items:center;column-gap:8px;row-gap:8px;padding:12px 0}.sheet-item-info{grid-area:info;min-width:0}.sheet-item-remove{grid-area:remove;margin-left:0;justify-self:end}.sheet-item-mode{grid-area:mode;margin-left:0;order:0;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sheet-item-mode-btn{width:100%;min-height:40px;padding:0 8px;justify-content:center}.sheet-item-qty{grid-area:qty;margin-left:0;justify-self:end}}@media(min-width:481px)and (max-width:720px){.sheet-item-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info remove" "mode mode" "qty qty";align-items:center;column-gap:8px;row-gap:8px}.sheet-item-info{grid-area:info}.sheet-item-remove{grid-area:remove;margin-left:0;justify-self:end}.sheet-item-mode{grid-area:mode;flex-wrap:wrap}.sheet-item-qty{grid-area:qty;justify-self:start;min-width:0}}.projects-layout{display:grid;grid-template-columns:1fr;gap:12px;transform:translateZ(0)}.projects-list-pane{min-width:0}.projects-list-toolbar{display:flex;justify-content:flex-start;margin-bottom:8px}.projects-list{display:flex;flex-direction:column;gap:8px}.project-list-entry{display:flex;flex-direction:column;gap:0;position:relative;border:1px solid var(--border);border-radius:var(--radius-md);overflow:visible;background:var(--bg-card);box-shadow:var(--shadow-sm);transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.project-list-entry.is-expanded{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow),var(--shadow-sm);z-index:6}.project-empty-state{margin-bottom:0}.project-list-card{width:100%;border:none;border-radius:var(--radius-md);box-shadow:none;cursor:pointer;text-align:left;appearance:none;-webkit-appearance:none;background:transparent;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),transform var(--motion-duration-fast) var(--motion-ease-standard)}.project-list-card:hover{border-color:transparent;background:var(--bg-secondary)}.project-list-card:active{transform:scale(var(--motion-press-scale-card));background:var(--bg-input)}.project-list-card.is-active{border-color:transparent;box-shadow:none}.project-list-entry.is-expanded:not(.is-collapsing) .project-list-card{border-bottom-left-radius:0;border-bottom-right-radius:0}.project-expanded-shell{overflow:hidden;max-height:var(--project-expanded-max-height, 0px);opacity:1;border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);transition:max-height var(--motion-duration-slow) var(--motion-ease-emphasized),opacity var(--motion-duration-medium) var(--motion-ease-standard)}.project-list-entry.is-expanded:not(.is-opening):not(.is-collapsing) .project-expanded-shell{max-height:none;overflow:visible}.project-expanded-shell.is-collapsing{max-height:0;opacity:0}.project-expanded-block{margin:0;border-top:1px solid var(--border);border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);transform-origin:top center}.project-list-entry.is-opening .project-expanded-block,.project-expanded-block.is-collapsing{animation:none}.project-expanded-block.is-collapsing{pointer-events:none}body.is-data-refreshing .project-list-entry.is-opening .project-expanded-block,body.is-data-refreshing .project-expanded-block.is-collapsing{animation:none!important}body.is-data-refreshing .project-expanded-shell,body.is-data-refreshing .project-list-entry{transition:none!important}.project-list-card-title-row{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:4px}.project-list-card-title{font-size:16px;font-weight:600;letter-spacing:-.2px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-status-badge{flex-shrink:0;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:600;line-height:1.3}.project-status-badge.status-draft{background:var(--bg-input);color:var(--text-secondary)}.project-status-badge.status-active{background:var(--accent-glow);color:var(--accent)}.project-status-badge.status-done{background:var(--success-glow);color:var(--success)}.project-list-card-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--text-secondary);margin-bottom:4px}.project-list-card-stats .is-danger{color:var(--danger);font-weight:600}.project-list-card-stats .is-accent{color:var(--accent);font-weight:600}.project-list-card-time{font-size:12px;color:var(--text-muted)}.project-detail-card{padding:16px;background:var(--bg-secondary)}.project-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.project-detail-header-main{min-width:0}.project-detail-subtitle{display:flex;flex-direction:column;gap:8px;align-items:flex-start;font-size:13px;color:var(--text-secondary)}.project-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.project-reserve-hint{font-size:12px;color:var(--accent)}.project-status-picker{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input)}.project-status-option{min-height:44px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.project-status-option.is-active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm)}.project-status-option:active{transform:scale(var(--motion-press-scale-button))}.project-status-option:disabled{opacity:.5;pointer-events:none}.project-detail-note{margin-top:8px;font-size:13px;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.project-detail-header-actions{display:flex;gap:8px;flex-shrink:0}.project-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.project-summary-cell{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--bg-input);text-align:center}.project-summary-cell.is-danger .project-summary-value{color:var(--danger)}.project-summary-cell.is-accent .project-summary-value{color:var(--accent)}.project-summary-value{font-size:20px;font-weight:700;line-height:1.1}.project-summary-label{margin-top:4px;font-size:12px;color:var(--text-muted)}.project-actions-row{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:12px}.project-actions-row .btn{min-height:44px}.project-manual-hint{margin:0 0 8px;font-size:12px;color:var(--text-secondary)}.project-item-form{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;gap:8px;margin-bottom:12px}.project-recent-codes{margin-top:-4px;margin-bottom:12px}.project-item-form input,.project-item-form select,.project-item-form textarea{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);padding:0 12px;outline:none}.project-item-form input:focus,.project-item-form select:focus,.project-item-form textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.project-item-code-wrap{position:relative}.project-item-code-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-muted);pointer-events:none}.project-item-code-wrap input{padding-left:40px;text-transform:uppercase}.project-items-list{display:flex;flex-direction:column;gap:8px}.project-inline-loading,.project-items-empty{border:1px dashed var(--border);border-radius:var(--radius-md);padding:16px;text-align:center;color:var(--text-secondary);font-size:13px}.project-item-row{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--bg-secondary);display:flex;flex-direction:column;gap:8px}.project-item-main{display:flex;align-items:center;gap:8px;min-width:0}.project-item-swatch{width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--border-light);flex-shrink:0}.project-item-text{min-width:0}.project-item-code{font-size:15px;font-weight:600}.project-item-meta{font-size:12px;color:var(--text-secondary)}.project-item-controls{display:grid;grid-template-columns:minmax(80px,140px) auto auto;gap:8px;align-items:stretch}.project-item-required-input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);padding:0 12px;font-weight:600;outline:none}.project-item-save,.project-item-remove{min-height:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}.project-item-shortage{font-size:13px;color:var(--text-secondary)}.project-item-shortage.has-shortage{color:var(--danger);font-weight:600}.project-check-text{font-size:14px;color:var(--text-secondary)}.project-editor-sheet{max-width:760px}.project-editor-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px}.project-editor-title{margin:0}.project-editor-close{flex-shrink:0}.project-editor-grid{display:flex;flex-direction:column;gap:12px}.project-editor-field{display:flex;flex-direction:column;gap:4px}.project-editor-label{font-size:13px;color:var(--text-secondary)}.project-editor-field input,.project-editor-field select,.project-editor-field textarea{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:15px;padding:0 12px;outline:none}.project-editor-field textarea{min-height:88px;padding:12px;resize:vertical}.modal-card-input[type=number],.import-input[type=number],.project-item-form input[type=number],.project-item-required-input,.project-editor-field input[type=number],.detail-threshold-input,.bulk-qty-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text-primary);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;outline:none;transition:border-color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard)}.modal-card-input[type=number]::placeholder,.import-input[type=number]::placeholder,.project-item-form input[type=number]::placeholder,.project-item-required-input::placeholder,.project-editor-field input[type=number]::placeholder,.detail-threshold-input::placeholder,.bulk-qty-input::placeholder{color:var(--text-muted)}.modal-card-input[type=number]:focus,.import-input[type=number]:focus,.project-item-form input[type=number]:focus,.project-item-required-input:focus,.project-editor-field input[type=number]:focus,.detail-threshold-input:focus,.bulk-qty-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px var(--accent-glow)}.detail-threshold-input{text-align:center}.detail-threshold-input.detail-threshold-input-large{min-height:56px;font-size:24px;padding:0 12px}@media(prefers-color-scheme:light){.project-list-entry{background:#ffffffdb;border-color:#3c3c4329}.project-list-card{background:transparent;border-color:transparent}}.light-theme .project-list-entry{background:#ffffffdb;border-color:#3c3c4329}.light-theme .project-list-card{background:transparent;border-color:transparent}.project-editor-actions{margin-top:16px}@media(max-width:720px){.history-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.history-detail-summary-item:first-child{grid-column:1 / -1}.history-batch-time{overflow-wrap:anywhere;word-break:break-word}.project-detail-header{flex-direction:column}.project-detail-header-actions{width:100%}.project-detail-header-actions .btn{flex:1}.project-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-actions-row .btn{flex:1}.project-item-form{grid-template-columns:1fr}.project-item-controls{grid-template-columns:1fr 1fr}.project-item-controls .project-item-required-input{grid-column:1 / -1}}@media(min-width:980px){.projects-layout{grid-template-columns:1fr;align-items:stretch}.projects-list-pane{position:static;top:auto;max-height:none;overflow:visible;padding-right:0}}@media(min-width:1024px)and (max-width:1366px)and (orientation:landscape){.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-banner{grid-template-columns:repeat(3,minmax(0,240px));justify-content:center}.color-grid{grid-template-columns:repeat(auto-fill,minmax(74px,1fr))}.floating-sheet{width:min(520px,calc(100vw - 40px));max-width:520px;max-height:calc(100dvh - max(24px,calc(var(--safe-top) + 18px)) - var(--page-fixed-bottom-offset) - 16px)}.modal-overlay.modal-sheet-overlay{align-items:center}.modal-content.modal-sheet{width:min(760px,calc(100vw - 120px));max-height:min(78vh,860px);border-radius:var(--radius-xl);border-bottom:1px solid var(--border)}.detail-sheet{max-width:760px}.projects-layout{grid-template-columns:1fr;gap:12px}}@media(min-width:1024px){.settings-layout{gap:16px}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(min-width:1367px){.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-banner{grid-template-columns:repeat(3,minmax(0,260px));justify-content:center}.color-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.settings-layout{max-width:880px;gap:16px}.history-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.floating-sheet{width:min(560px,calc(100vw - 48px));max-width:560px;max-height:calc(100dvh - max(28px,calc(var(--safe-top) + 20px)) - var(--page-fixed-bottom-offset) - 16px)}.modal-overlay.modal-sheet-overlay{align-items:center}.modal-content.modal-sheet{width:min(860px,calc(100vw - 180px));max-height:min(80vh,900px);border-radius:var(--radius-2xl);border-bottom:1px solid var(--border)}.detail-sheet{max-width:860px}}.legend-body{min-height:200px}.legend-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.legend-option-row{display:flex;align-items:center;gap:12px}.legend-option-label{font-size:13px;font-weight:600;color:var(--text-secondary);min-width:60px;flex-shrink:0}.legend-segmented{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input)}.legend-segmented-btn{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.legend-segmented-btn:hover{color:var(--text-primary)}.legend-segmented-btn.is-active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.legend-segmented-btn:active{transform:scale(var(--motion-press-scale-option))}.legend-upload-zone{border:1px dashed var(--border);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;cursor:pointer;transition:border-color var(--motion-duration-medium) var(--motion-ease-standard),background-color var(--motion-duration-medium) var(--motion-ease-standard),box-shadow var(--motion-duration-medium) var(--motion-ease-standard),transform var(--motion-duration-medium) var(--motion-ease-standard);background:var(--bg-card);box-shadow:var(--shadow-sm)}.legend-upload-zone svg{width:32px;height:32px;color:var(--text-muted);margin-bottom:12px}.legend-upload-zone:hover{border-color:var(--accent);background:var(--bg-input);transform:translateY(-1px)}.legend-upload-zone.dragover{border-color:var(--accent);background:var(--bg-input);box-shadow:0 0 0 3px var(--accent-glow),var(--shadow-sm);transform:translateY(-1px)}.legend-upload-text{font-size:15px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.legend-upload-hint{font-size:13px;color:var(--text-muted)}.legend-preview-container{display:flex;justify-content:center;padding:16px}.legend-preview-img{max-width:100%;max-height:40vh;border-radius:var(--radius-md);object-fit:contain}.legend-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px}.legend-loading-text{font-size:14px;color:var(--text-secondary)}.legend-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.legend-results-info{font-size:13px;color:var(--text-secondary)}.legend-sort-chips{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input)}.legend-sort-chip{display:inline-flex;align-items:center;gap:4px;min-height:40px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--motion-duration-fast) var(--motion-ease-standard),color var(--motion-duration-fast) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.legend-sort-chip:hover{color:var(--text-primary)}.legend-sort-chip.is-active{background:var(--bg-card);color:var(--text-primary);box-shadow:var(--shadow-sm)}.legend-sort-icon{font-size:11px}.legend-results-scroll{max-height:50vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.legend-results-list{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:var(--radius-md);overflow:hidden}.legend-result-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;transition:opacity var(--motion-duration-fast) var(--motion-ease-standard)}.legend-result-row:not(:last-child){border-bottom:1px solid var(--border)}.legend-row-disabled{opacity:.35}.legend-row-leading{display:flex;align-items:center;gap:12px;min-width:0}.legend-row-trailing{display:flex;align-items:center;gap:8px;flex-shrink:0}.legend-cell-swatch{width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--border-light);flex-shrink:0}.legend-cell-code{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-count-input{width:72px;min-height:44px;padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-primary);text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.legend-count-input::-webkit-inner-spin-button,.legend-count-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.legend-count-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.legend-toggle-btn{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:none;background:none;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);transition:color var(--motion-duration-fast) var(--motion-ease-standard),background-color var(--motion-duration-fast) var(--motion-ease-standard)}.legend-toggle-btn:hover{color:var(--text-primary);background:var(--bg-input)}.legend-state-results .project-editor-actions{display:flex;gap:8px;margin-top:16px}.legend-state-results .legend-reupload-btn{flex:0 0 auto}.legend-state-results .legend-import-btn{flex:1}
