:root{--color-primary: #3e5c76;--color-primary-hover: #33495e;--color-primary-subtle: #e8edf2;--color-bg-base: #ffffff;--color-bg-muted: #f4f6f8;--color-bg-elevated: #ffffff;--color-text-primary: #1b2733;--color-text-secondary: #5b6b7a;--color-text-disabled: #9aa7b2;--color-border: #d8dfe5;--color-border-strong: #b7c2cb;--color-success: #2e7d4f;--color-warning: #b8860b;--color-danger: #b3261e;--color-success-bg: #e6f2ea;--color-warning-bg: #faf3e0;--color-danger-bg: #f9e6e5;--font-family-base: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-base: 1.45;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(27, 39, 51, .08);--shadow-md: 0 4px 12px rgba(27, 39, 51, .12);--shadow-lg: 0 12px 32px rgba(27, 39, 51, .16);--tg-bg: var(--tg-theme-bg-color, var(--color-bg-base));--tg-secondary-bg: var(--tg-theme-secondary-bg-color, var(--color-bg-muted));--tg-text: var(--tg-theme-text-color, var(--color-text-primary));--tg-hint: var(--tg-theme-hint-color, var(--color-text-secondary));--tg-link: var(--tg-theme-link-color, var(--color-primary));--tg-button: var(--tg-theme-button-color, var(--color-primary));--tg-button-text: var(--tg-theme-button-text-color, #ffffff);--tg-section-bg: var(--tg-theme-section-bg-color, var(--color-bg-elevated))}:root[data-theme=dark]{--color-primary: #7da4c4;--color-primary-hover: #93b5d1;--color-primary-subtle: #263c52;--color-bg-base: #1a2430;--color-bg-muted: #223041;--color-bg-elevated: #223041;--color-text-primary: #e8eef4;--color-text-secondary: #92a4b5;--color-text-disabled: #5b6b7a;--color-border: #35455a;--color-border-strong: #4a5c72;--color-success: #6cc493;--color-warning: #d9a93f;--color-danger: #e57373;--color-success-bg: #1d3a2b;--color-warning-bg: #3d3316;--color-danger-bg: #442420;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--tg-bg);color:var(--tg-text);font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit;font-size:inherit}.desk-columns{display:flex;gap:var(--space-3);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch}.desk-column{flex:0 0 86%;max-width:360px;scroll-snap-align:start;background:var(--color-bg-muted);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);min-height:180px}@media(min-width:900px){.desk-columns{overflow-x:visible}.desk-column{flex:1 1 0;max-width:none}}.desk-column-title{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--tg-text)}.desk-count{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--color-primary);color:#fff;font-size:var(--font-size-xs);display:inline-flex;align-items:center;justify-content:center}.desk-card{background:var(--tg-section-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);text-align:left;cursor:pointer}.desk-empty{font-size:var(--font-size-sm);color:var(--tg-hint);text-align:center;padding:var(--space-6) var(--space-2)}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--tg-section-bg);border-top:1px solid var(--color-border);z-index:20;padding-bottom:env(safe-area-inset-bottom,0)}.tabbar button{flex:1;background:transparent;border:none;padding:var(--space-2) var(--space-1);min-height:52px;font-size:var(--font-size-xs);color:var(--tg-hint);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.tabbar button.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.tabbar .tab-icon{width:22px;height:22px;display:block}.sheet-backdrop{position:fixed;inset:0;background:#0006;z-index:30;animation:sheet-fade .18s ease}.sheet{position:fixed;left:0;right:0;bottom:0;top:8vh;background:var(--tg-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:31;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);animation:sheet-up .22s cubic-bezier(.2,.8,.3,1)}body:has(.sheet){overflow:hidden}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}@media(min-width:900px){.sheet{left:50%;right:auto;transform:translate(-50%);width:560px;top:6vh;bottom:6vh;border-radius:var(--radius-lg);animation:sheet-fade .18s ease}}.ui-screen{min-height:100vh;padding:var(--space-4);padding-bottom:calc(84px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:var(--space-4)}.ui-navbar{display:flex;align-items:center;gap:var(--space-2);min-height:44px}.ui-navbar-back{background:transparent;border:none;color:var(--tg-link);font-size:var(--font-size-base);cursor:pointer;padding:var(--space-2);margin-left:calc(-1 * var(--space-2));min-height:44px;display:inline-flex;align-items:center;gap:2px}.ui-navbar-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--tg-text);margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-list{background:var(--tg-section-bg);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border)}.ui-list+.ui-list{margin-top:var(--space-3)}.ui-list-header{font-size:var(--font-size-xs);color:var(--tg-hint);text-transform:uppercase;letter-spacing:.04em;margin:0 var(--space-4) var(--space-1)}.ui-cell{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:48px;background:transparent;border:none;text-align:left;font:inherit;color:var(--tg-text)}.ui-cell+.ui-cell,.ui-cell+.ui-cell-static,.ui-cell-static+.ui-cell{border-top:1px solid var(--color-border)}.ui-cell.pressable{cursor:pointer}.ui-cell.pressable:active{background:var(--color-bg-muted)}.ui-cell-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ui-cell-label{font-size:var(--font-size-base);color:var(--tg-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-cell-sub{font-size:var(--font-size-xs);color:var(--tg-hint)}.ui-cell-value{font-size:var(--font-size-base);color:var(--tg-hint);white-space:nowrap;flex-shrink:0}.ui-cell-chevron{color:var(--color-text-disabled);flex-shrink:0;font-size:var(--font-size-lg);line-height:1}.ui-cell.danger .ui-cell-label{color:var(--color-danger)}.ui-segmented{display:flex;background:var(--color-bg-muted);border-radius:var(--radius-md);padding:3px;gap:2px}.ui-segment{flex:1;border:none;background:transparent;border-radius:calc(var(--radius-md) - 3px);padding:var(--space-2) var(--space-2);min-height:38px;font-size:var(--font-size-sm);color:var(--tg-hint);cursor:pointer;white-space:nowrap}.ui-segment.active{background:var(--tg-section-bg);color:var(--tg-text);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-sm)}.ui-btn{border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);min-height:48px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.ui-btn:disabled{opacity:.5;cursor:default}.ui-btn.full{width:100%}.ui-btn.primary{background:var(--tg-button);color:var(--tg-button-text)}.ui-btn.secondary{background:var(--color-primary-subtle);color:var(--color-primary)}.ui-btn.plain{background:transparent;color:var(--tg-link)}.ui-btn.danger{background:var(--color-danger-bg);color:var(--color-danger)}.ui-btn.small{min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.ui-field{display:flex;flex-direction:column;gap:var(--space-1)}.ui-field-label{font-size:var(--font-size-xs);color:var(--tg-hint)}.ui-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--font-size-base);min-height:44px;background:var(--tg-bg);color:var(--tg-text);width:100%}.ui-input:focus{outline:none;border-color:var(--color-primary)}.ui-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:3px var(--space-2);white-space:nowrap}.ui-chip.success{color:var(--color-success);background:var(--color-success-bg)}.ui-chip.warning{color:var(--color-warning);background:var(--color-warning-bg)}.ui-chip.danger{color:var(--color-danger);background:var(--color-danger-bg)}.ui-chip.neutral{color:var(--tg-hint);background:var(--color-bg-muted)}.ui-chip.primary{color:var(--color-primary);background:var(--color-primary-subtle)}.ui-composer{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom,0px));display:flex;gap:var(--space-2);background:var(--tg-bg);padding-top:var(--space-2)}.ui-composer .ui-input{flex:1;border-radius:var(--radius-full);padding:var(--space-3) var(--space-4)}.ui-composer-add{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-full);border:none;background:var(--tg-button);color:var(--tg-button-text);font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.ui-composer-add:disabled{opacity:.5}.ui-table-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:52px;background:transparent;border:none;text-align:left;font:inherit;cursor:pointer}.ui-table-row+.ui-table-row{border-top:1px solid var(--color-border)}.ui-table-row:active{background:var(--color-bg-muted)}.ui-table-name{font-size:var(--font-size-sm);color:var(--tg-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-table-qty{font-size:var(--font-size-sm);color:var(--tg-hint);white-space:nowrap}.ui-suggest-scroll{max-height:264px;overflow-y:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg)}.ui-switch{position:relative;width:51px;height:31px;flex-shrink:0;border-radius:16px;background:var(--color-bg-muted);border:1px solid var(--color-border);cursor:pointer;transition:background .15s ease;padding:0}.ui-switch:after{content:"";position:absolute;top:2px;left:2px;width:25px;height:25px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform .15s ease}.ui-switch.on{background:var(--color-success);border-color:var(--color-success)}.ui-switch.on:after{transform:translate(20px)}.ui-cell-date{border:none;background:transparent;color:var(--tg-text);font:inherit;font-size:var(--font-size-base);text-align:right;min-height:44px;padding:0}.ui-empty{text-align:center;color:var(--tg-hint);font-size:var(--font-size-base);padding:var(--space-8) var(--space-4)}.ui-error-box{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-bg);display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.ui-error-text{margin:0;color:var(--color-danger);font-size:var(--font-size-sm)}.ui-skeleton{border-radius:var(--radius-md);background:var(--color-bg-muted);height:96px}
