:root{--color-bg: #FFFFFF;--color-text: #1E293B;--color-text-muted: #64748B;--color-primary: #F06000;--color-border: #E2E8F0;--color-bg-soft: #F8FAFC;--color-primary-hover: #D45200;--color-primary-tint: color-mix(in srgb, var(--color-primary) 12%, transparent);--color-primary-soft-bg: #FFF7ED;--color-primary-dark: var(--color-primary-hover);--color-bg-alt: var(--color-bg-soft);--color-secondary: var(--color-text);--color-primary-light: var(--color-primary-tint);--color-status-received: var(--color-text-muted);--color-status-active: var(--color-primary);--color-status-done: var(--color-text);--color-status-cancelled: var(--color-text-muted);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Microsoft JhengHei", "Hiragino Sans", "Yu Gothic UI", "Noto Sans CJK TC", "Noto Sans CJK JP", Roboto, system-ui, sans-serif;--line-height-base: 1.6;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-display-md: clamp(1.5rem, 3vw, 2.25rem);--text-display-lg: clamp(2rem, 4vw, 3.25rem);--font-size-base: var(--text-base);--space-2: .5rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--spacing-section: 5rem;--spacing-container: var(--space-6);--max-width-content: 1200px;--max-width-narrow: 720px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-base: .25s ease}@media(max-width:768px){:root{--spacing-section: 3.5rem}}:root{--color-success: #2E7D55;--color-success-hover: #266A48;--color-success-tint: color-mix(in srgb, var(--color-success) 12%, transparent);--color-warning: #9A6700;--color-warning-hover: #835700;--color-warning-tint: color-mix(in srgb, var(--color-warning) 12%, transparent);--color-danger: #B42318;--color-danger-hover: #97180F;--color-danger-tint: color-mix(in srgb, var(--color-danger) 12%, transparent);--color-info: #2C5282;--color-info-hover: #21426B;--color-info-tint: color-mix(in srgb, var(--color-info) 12%, transparent)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{color:var(--color-text);line-height:1.3}a{color:var(--color-text);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-soft)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}img{max-width:100%;height:auto}::selection{background:var(--color-primary-tint);color:var(--color-text)}.app-shell{min-height:100vh;background:var(--color-bg-soft)}.main-content{padding:var(--space-6);max-width:var(--max-width-content);margin:0 auto}.navbar{background:var(--color-primary);color:#fff;padding:0 var(--space-6);display:flex;align-items:center;height:56px;gap:var(--space-8)}.navbar__brand{color:#fff;text-decoration:none;font-size:var(--text-lg);font-weight:700;flex-shrink:0}.navbar__brand:hover{text-decoration:none;opacity:.9}.navbar__links{display:flex;gap:var(--space-6);align-items:center;height:100%}.navbar__link{color:#fff;text-decoration:none;font-size:var(--text-sm);opacity:.7;border-bottom:2px solid transparent;padding-bottom:4px;transition:opacity var(--transition-fast),border-color var(--transition-fast);display:flex;align-items:center;height:100%}.navbar__link:hover{opacity:1;text-decoration:none}.navbar__link--active{opacity:1;border-bottom-color:#fff}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.page-header__title{margin:0;font-size:var(--text-xl);font-weight:700;color:var(--color-text)}.page-header__actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:600;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;font-family:var(--font-sans);line-height:1.4;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast)}.btn:disabled{opacity:.6;cursor:not-allowed}a.btn:hover{text-decoration:none}.btn--sm{padding:.4rem .875rem;font-size:var(--text-sm)}.btn--md{padding:.625rem 1.25rem;font-size:var(--text-base)}.btn--lg{padding:.875rem 1.75rem;font-size:var(--text-base)}.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn--secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-soft);border-color:var(--color-text-muted)}.btn--ghost{background:var(--color-primary-soft-bg);color:var(--color-text);border-color:var(--color-primary-tint)}.btn--ghost:hover:not(:disabled){background:var(--color-primary-tint)}.btn--danger{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn--success{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn--success:hover:not(:disabled){background:var(--color-success-hover);border-color:var(--color-success-hover)}.btn--info{background:var(--color-info);color:#fff;border-color:var(--color-info)}.btn--info:hover:not(:disabled){background:var(--color-info-hover);border-color:var(--color-info-hover)}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.card--soft{background:var(--color-bg-soft)}.card__title{margin:0 0 var(--space-4);font-size:var(--text-base);font-weight:600}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;margin-bottom:4px;font-size:var(--text-sm);font-weight:600;color:var(--color-text)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border);box-sizing:border-box;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px var(--color-primary-tint)}.form-textarea{resize:vertical;min-height:60px}.form-select{cursor:pointer}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:640px){.form-grid-2{grid-template-columns:1fr}}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);font-size:var(--text-sm)}.detail-grid__item{line-height:1.6}.detail-grid__item strong{color:var(--color-text)}.table{width:100%;border-collapse:collapse;background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;font-size:var(--text-sm)}.table th{padding:var(--space-2) var(--space-4);text-align:left;font-weight:600;background:var(--color-bg-soft);color:var(--color-text);border-bottom:1px solid var(--color-border);white-space:nowrap}.table td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-bg-soft)}.table th--center,.table td--center{text-align:center}.table th--right,.table td--right{text-align:right}.td--truncate{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table__link{color:var(--color-text);text-decoration:none;margin-right:var(--space-4);font-size:var(--text-sm)}.table__link:hover{text-decoration:underline}.table__action-btn{background:none;border:none;cursor:pointer;font-size:var(--text-sm);padding:0;color:var(--color-danger);font-family:var(--font-sans)}.table__action-btn:hover{text-decoration:underline}.table-input{padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-sans);box-sizing:border-box;color:var(--color-text);background:var(--color-bg)}.table-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px var(--color-primary-tint)}.card>.table{box-shadow:none;border-radius:0}.status{display:inline-flex;align-items:center;gap:var(--space-2);padding:.25rem .625rem;border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;line-height:1.4;color:var(--color-text);background:var(--color-bg);white-space:nowrap}.status__icon{font-size:.9em;line-height:1}.status--received{color:var(--color-status-received);background:var(--color-bg-soft)}.status--received .status__icon{color:var(--color-status-received)}.status--active{color:var(--color-text);background:var(--color-primary-soft-bg);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border))}.status--active .status__icon{color:var(--color-status-active)}.status--done{color:var(--color-status-done);background:var(--color-bg-soft)}.status--done .status__icon{color:var(--color-status-done)}.status--cancelled{color:var(--color-status-cancelled);background:var(--color-bg);border-style:dashed;border-color:var(--color-status-cancelled)}.status--cancelled .status__icon{color:var(--color-status-cancelled)}.totals-bar{border-top:2px solid var(--color-text);margin-top:var(--space-2);padding-top:var(--space-2);display:flex;justify-content:flex-end;gap:60px;font-size:var(--text-base)}.totals-bar__col{text-align:right}.totals-bar__amount{font-size:var(--text-lg);font-weight:700;margin-top:4px}.diff-removed{background:var(--color-danger-tint)}.diff-added{background:var(--color-success-tint)}.text-muted{color:var(--color-text-muted)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.section{padding:var(--space-6)}
