html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes page-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.page-animate{animation:page-enter .3s cubic-bezier(.16,1,.3,1) both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .25s cubic-bezier(.16,1,.3,1) both}.animate-fade-in-up{animation:fade-in-up .25s cubic-bezier(.16,1,.3,1) both}.animate-fade-in-scale{animation:fade-in-scale .25s cubic-bezier(.16,1,.3,1) both}@keyframes list-item-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-stagger{animation:list-item-enter .25s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--stagger-index, 0) * 50ms)}.stagger-1{--stagger-index: 1}.stagger-2{--stagger-index: 2}.stagger-3{--stagger-index: 3}.stagger-4{--stagger-index: 4}.stagger-5{--stagger-index: 5}.stagger-6{--stagger-index: 6}.stagger-7{--stagger-index: 7}.stagger-8{--stagger-index: 8}@keyframes card-enter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-card{animation:card-enter .4s cubic-bezier(.16,1,.3,1) both}.card-hover{transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .15s cubic-bezier(.22,1,.36,1);will-change:transform,box-shadow}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.card-hover:active{transform:translateY(0) scale(.99)}.btn-animate{transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .15s cubic-bezier(.22,1,.36,1),background-color .15s cubic-bezier(.4,0,.2,1);will-change:transform}.btn-animate:hover:not(:disabled){transform:translateY(-1px)}.btn-animate:active:not(:disabled){transform:translateY(0) scale(.98);transition-duration:.1s}@keyframes pulse-subtle{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 8px #2563eb00}}.btn-pulse{animation:pulse-subtle 2s ease-in-out infinite}@keyframes modal-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes modal-content-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modal-overlay-exit{0%{opacity:1}to{opacity:0}}@keyframes modal-content-exit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.modal-overlay-animate{animation:modal-overlay-enter .25s cubic-bezier(.16,1,.3,1) both}.modal-content-animate{animation:modal-content-enter .25s cubic-bezier(.16,1,.3,1) both}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-50) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:spin .8s linear infinite}@keyframes checkmark-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.animate-checkmark{animation:checkmark-pop .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;inset:0;background:currentColor;border-radius:50%;transform:scale(0);opacity:0;pointer-events:none}.ripple:active:after{animation:ripple .4s cubic-bezier(.16,1,.3,1)}@keyframes focus-ring-expand{0%{box-shadow:0 0 0 0 var(--accent-bg)}to{box-shadow:0 0 0 3px var(--accent-bg)}}.focus-ring-animate:focus-visible{animation:focus-ring-expand .15s cubic-bezier(.16,1,.3,1) both}@keyframes count-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-count{animation:count-up .25s cubic-bezier(.16,1,.3,1) both}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-bottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-right{animation:slide-in-right .25s cubic-bezier(.16,1,.3,1) both}.animate-slide-in-left{animation:slide-in-left .25s cubic-bezier(.16,1,.3,1) both}.animate-slide-in-bottom{animation:slide-in-bottom .25s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.img-preview-hint{position:absolute;bottom:6px;right:6px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#00000073;pointer-events:none;opacity:0;transition:opacity var(--duration-fast);z-index:1}.img-preview-hint:after{content:"";width:12px;height:12px;border:2px solid #fff;border-radius:50%;box-shadow:4px 4px 0 -1px #fff}*:hover>.img-preview-hint{opacity:1}@media(hover:none){.img-preview-hint{opacity:.6}}body.img-preview-open{overflow:hidden}.img-preview-overlay{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000000d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);opacity:0;transition:opacity var(--duration-normal) var(--ease-spring);cursor:zoom-out;padding:var(--space-lg)}.img-preview-overlay--visible{opacity:1}.img-preview-overlay--closing{opacity:0}.img-preview-overlay__close{position:absolute;top:var(--space-base);right:var(--space-base);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);background:#ffffff26;color:#fff;font-size:var(--font-size-lg);cursor:pointer;transition:background var(--duration-fast)}.img-preview-overlay__close:hover{background:#ffffff4d}.img-preview-overlay__img{max-width:calc(100vw - var(--space-xl) * 2);max-height:calc(100vh - 120px);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);object-fit:contain;cursor:default;transform:scale(.92);transition:transform var(--duration-normal) var(--ease-spring)}.img-preview-overlay--visible .img-preview-overlay__img{transform:scale(1)}.img-preview-overlay--closing .img-preview-overlay__img{transform:scale(.92)}.img-preview-overlay__label{margin-top:var(--space-sm);color:#ffffffb3;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center}:root{--accent-color: #2563EB;--accent-hover: #1D4ED8;--accent-light: #EFF6FF;--accent-bg: rgba(37, 99, 235, .08);--secondary: #8B5CF6;--bg-app: #F3F4F6;--bg-card: #FFFFFF;--bg-input: #F9FAFB;--bg-elevated: #FFFFFF;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 100px;--page-gutter: 24px;--touch-target: 44px;--space-xxs: 4px;--space-xs: 8px;--space-sm: 12px;--space-base: 16px;--space-md: 20px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, "Cascadia Code", Consolas, monospace;--font-size-base: 15px;--font-size-sm: 13px;--font-size-xs: 11px;--font-size-lg: 17px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-size-3xl: 34px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--text-primary: #111827;--text-secondary: #374151;--text-tertiary: #6B7280;--text-inverse: #FFFFFF;--brand-color: #111827;--color-success: #10B981;--color-success-bg: #ECFDF5;--color-warning: #F59E0B;--color-warning-bg: #FFFBEB;--color-error: #EF4444;--color-error-bg: #FEF2F2;--color-info: #3B82F6;--color-info-bg: #EFF6FF;--status-deposited: #3B82F6;--status-deposited-bg: #EFF6FF;--status-in-progress: #F59E0B;--status-in-progress-bg: #FFFBEB;--status-ready: #10B981;--status-ready-bg: #ECFDF5;--status-collected: #6B7280;--status-collected-bg: #F3F4F6;--status-late: #EF4444;--status-late-bg: #FEF2F2;--bottom-bar-height: 84px;--border-hairline: #E5E7EB;--border-subtle: #D1D5DB;--border-color: #E5E7EB;--border-separator: #D1D5DB;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-card: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-elevated: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-btn-primary: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 2px rgba(0, 0, 0, .05);--shadow-btn-primary-hover: inset 0 1px 0 rgba(255, 255, 255, .1), 0 4px 8px rgba(37, 99, 235, .25);--ease-spring: cubic-bezier(.22, 1, .36, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--stagger-index: 0;--accent-active: #1E40AF;--border-hover: #D1D5DB;--focus-ring: 0 0 0 2px var(--accent-light), 0 0 0 4px var(--accent-color);--brand-dark: #0A1628;--brand-mid: #1E3A5F;--brand-gradient: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand-mid) 50%, var(--brand-dark) 100%);--accent-glow: rgba(37, 99, 235, .3);--accent-glow-light: rgba(37, 99, 235, .25);--bg-overlay: rgba(0, 0, 0, .5);--bg-overlay-heavy: rgba(0, 0, 0, .85);--shadow-error-ring: 0 0 0 3px rgba(239, 68, 68, .15);--shadow-accent-ring: 0 0 0 3px rgba(37, 99, 235, .15);--sidebar-width: 260px;--sidebar-collapsed: 72px}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background-color:var(--bg-app);width:100vw;min-height:100vh}:focus-visible{outline:3px solid var(--accent-color);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background-color:#007aff33;color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-separator)}a{color:var(--accent-color);text-decoration:none;transition:color var(--duration-fast) var(--ease-spring)}a:hover{color:var(--accent-hover)}.data-table{width:100%;border-collapse:collapse;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-elevated);overflow:hidden}.data-table th{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;text-align:left;border-bottom:1px solid var(--border-hairline)}.data-table td{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--text-secondary);border-bottom:1px solid var(--border-hairline)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{cursor:pointer;transition:background var(--duration-fast) var(--ease-spring)}.data-table tbody tr:hover{background:var(--gray-50)}@media print{*{box-shadow:none!important}}
