:root{--color-bg-app: #f6f3ee;--color-bg-surface: #fffdf9;--color-bg-soft: #f1ece4;--color-bg-subtle: #ede8e0;--color-text-primary: #1f1a17;--color-text-secondary: #5f5750;--color-text-muted: #8a8077;--color-text-inverse: #fffdf9;--color-border-soft: #e7dfd4;--color-border-strong: #d6c9b8;--color-border-focus: #8b3d2e;--color-primary: #8b3d2e;--color-primary-hover: #743225;--color-primary-active: #5e2a1e;--color-primary-soft: #f3e2dc;--color-primary-text: #fffdf9;--color-secondary: #2f5d50;--color-secondary-hover: #264c41;--color-secondary-active: #1e3c34;--color-secondary-soft: #dcebe6;--color-secondary-text: #fffdf9;--color-accent: #c6922d;--color-accent-hover: #a87825;--color-accent-soft: #f6ecd3;--color-accent-text: #1f1a17;--color-success: #2e7d4f;--color-success-soft: #dff3e7;--color-success-text: #1a4d31;--color-warning: #c27a1a;--color-warning-soft: #f9ecd6;--color-warning-text: #7a4c10;--color-error: #b64040;--color-error-soft: #f8dddd;--color-error-text: #7a2828;--color-info: #366c91;--color-info-soft: #ddebf5;--color-info-text: #1e4560;--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;--space-16: 64px;--space-20: 80px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(31, 26, 23, .06);--shadow-sm: 0 1px 4px rgba(31, 26, 23, .08), 0 0 1px rgba(31, 26, 23, .04);--shadow-md: 0 4px 12px rgba(31, 26, 23, .1), 0 0 2px rgba(31, 26, 23, .06);--shadow-lg: 0 8px 24px rgba(31, 26, 23, .12), 0 0 3px rgba(31, 26, 23, .06);--shadow-xl: 0 16px 40px rgba(31, 26, 23, .14), 0 0 4px rgba(31, 26, 23, .08);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .32s ease;--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-toast: 500;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--header-height: 60px;--content-max-width: 1400px;--pos-panel-width: 360px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}img,svg{display:block;max-width:100%}button{cursor:pointer;font-family:inherit;border:none;background:none;padding:0}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}p{line-height:var(--line-height-normal)}table{border-collapse:collapse;width:100%}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background:var(--color-primary-soft);color:var(--color-primary)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-brand{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--transition-base) ease both}.animate-fade-in-up{animation:fadeInUp var(--transition-base) ease both}.animate-scale-in{animation:scaleIn var(--transition-fast) ease both}.animate-slide-in-right{animation:slideInRight var(--transition-base) ease both}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease infinite}.skeleton{background:linear-gradient(90deg,var(--color-bg-soft) 25%,var(--color-bg-subtle) 50%,var(--color-bg-soft) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--radius-sm)}
