@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes smToastSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#cbd5e199;border-radius:10px;transition:background-color .2s ease}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8e6}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:rgba(203,213,225,.6) transparent}:root{--bg-app: #f7f8fa;--bg-card: #ffffff;--bg-sidebar: #ffffff;--bg-header: #ffffff;--bg-drawer: #ffffff;--bg-input: #ffffff;--bg-hover: #f3f4f6;--bg-active: #eff6ff;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--border-color: #e5e7eb;--border-focus: #2563eb;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-success: #16a34a;--color-success-bg: #dcfce7;--color-danger: #dc2626;--color-danger-bg: #fee2e2;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-info: #2563eb;--color-info-bg: #dbeafe;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-page-title: 22px;--font-size-section-title: 18px;--font-size-card-title: 16px;--font-size-body: 14px;--font-size-caption: 12px;--font-size-button: 14px;--spacing-component: 8px;--spacing-section: 12px;--padding-card: 8px;--padding-form: 8px;--padding-drawer: 12px;--padding-table-cell: 6px;--radius-default: 0px;--radius-max: 0px;--radius-table: 0px;--shadow-subtle: none;--shadow-drawer: none;--sidebar-width: 230px;--sidebar-collapsed-width: 56px;--header-height: 48px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:var(--font-family);font-size:var(--font-size-body);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none}.app-layout{display:flex;height:100vh;max-height:100vh;overflow:hidden;background-color:var(--bg-app)}.main-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;max-height:100vh;overflow:hidden;position:relative;z-index:102}.main-content{flex:1;padding:var(--spacing-section);overflow-y:auto;overflow-x:hidden}.page{display:flex;flex-direction:column;gap:var(--spacing-section)}.page-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.page-title{font-size:var(--font-size-page-title);font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.page-subtitle{font-size:var(--font-size-caption);color:var(--text-secondary);margin-top:2px}.page-actions{display:flex;align-items:center;gap:var(--spacing-component)}.section{display:flex;flex-direction:column;gap:var(--spacing-component)}.section-header{display:flex;align-items:center;justify-content:space-between}.section-title{font-size:var(--font-size-section-title);font-weight:600;color:var(--text-primary)}.app-header{height:var(--header-height);flex-shrink:0;background-color:var(--bg-header);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:100}.header-left,.header-right{display:flex;align-items:center;gap:12px}.header-search{position:relative;width:260px}.header-search input{width:100%;height:32px;padding:0 12px 0 32px;font-size:13px;border:1px solid var(--border-color);border-radius:var(--radius-default);background-color:var(--bg-app);color:var(--text-primary);outline:none}.header-search input:focus{border-color:var(--color-primary);background-color:var(--bg-card)}.header-search .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:14px}.header-badge-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--border-color);border-radius:var(--radius-default);background-color:var(--bg-card);font-size:13px;color:var(--text-primary);cursor:pointer}.header-badge-btn:hover{background-color:var(--bg-hover)}.app-sidebar{width:var(--sidebar-width);height:100vh;max-height:100vh;flex-shrink:0;position:sticky;top:0;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width .2s ease;z-index:101}.app-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-brand{height:var(--header-height);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-color)}.brand-logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--text-primary)}.brand-icon{width:24px;height:24px;background-color:var(--color-primary);color:#fff;border-radius:var(--radius-default);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.sidebar-nav{flex:1;padding:12px 8px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.sidebar-group-title{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;padding:0 8px 4px}.sidebar-menu{list-style:none;display:flex;flex-direction:column;gap:2px}.sidebar-item a{display:flex;align-items:center;gap:10px;padding:8px 10px;height:34px;border-radius:var(--radius-default);color:var(--text-secondary);font-size:13px;font-weight:500;transition:all .15s ease}.sidebar-item a:hover{background-color:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active a{background-color:var(--bg-active);color:var(--color-primary);font-weight:600}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-default);box-shadow:var(--shadow-subtle);display:flex;flex-direction:column}.card-header{padding:var(--padding-card);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:var(--font-size-card-title);font-weight:600;color:var(--text-primary)}.card-body{padding:var(--padding-card);flex:1}.card-footer{padding:var(--padding-card);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-component)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;font-family:var(--font-family);font-size:var(--font-size-button);font-weight:500;border-radius:var(--radius-default);border:1px solid transparent;cursor:pointer;outline:none;transition:background-color .15s ease,border-color .15s ease;white-space:nowrap}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background-color:#fff;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background-color:var(--bg-hover)}.btn-danger{background-color:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-danger:hover{background-color:#b91c1c}.btn-success{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-success:hover{background-color:#15803d}.btn-ghost{background-color:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background-color:var(--bg-hover);color:var(--text-primary)}.btn-sm{height:28px;padding:0 10px;font-size:13px}.btn-xs{height:24px;padding:0 8px;font-size:12px}.form-group{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--padding-form)}.input-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.input-label.required:after{content:" *";color:var(--color-danger)}.form-control{width:100%;height:34px;padding:0 10px;font-family:var(--font-family);font-size:var(--font-size-body);color:var(--text-primary);background-color:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-default);outline:none;transition:border-color .15s ease}textarea.form-control{height:auto;padding:8px 10px;min-height:80px;resize:vertical}.form-control:focus{border-color:var(--border-focus)}.input-error{font-size:var(--font-size-caption);color:var(--color-danger);margin-top:2px}.form-row{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-component)}.col-12{grid-column:span 12}.col-11{grid-column:span 11}.col-10{grid-column:span 10}.col-9{grid-column:span 9}.col-8{grid-column:span 8}.col-7{grid-column:span 7}.col-6{grid-column:span 6}.col-5{grid-column:span 5}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}.col-1{grid-column:span 1}.table-wrapper{width:100%;overflow-x:auto;border:1px solid var(--border-color);border-radius:0;background-color:#fff;box-shadow:none}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px var(--padding-card);border-bottom:1px solid var(--border-color);background-color:#fff}.erp-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;border:1px solid var(--border-color)}.erp-table thead{position:sticky;top:0;background-color:#f8fafc;z-index:10}.erp-table th{padding:6px 10px;font-size:12px;font-weight:600;color:#475569;text-transform:none;letter-spacing:normal;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);white-space:nowrap}.erp-table td{padding:5px 10px;font-size:12px;color:var(--text-primary);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);white-space:nowrap}.erp-table tbody tr{transition:background-color .15s ease}.erp-table tbody tr:hover{background-color:#faf5ff}.badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;font-size:var(--font-size-caption);font-weight:500;border-radius:var(--radius-default)}.badge-success{background-color:var(--color-success-bg);color:var(--color-success)}.badge-danger{background-color:var(--color-danger-bg);color:var(--color-danger)}.badge-warning{background-color:var(--color-warning-bg);color:var(--color-warning)}.badge-info{background-color:var(--color-info-bg);color:var(--color-info)}.badge-neutral{background-color:#f3f4f6;color:var(--text-secondary)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0003;z-index:1000;display:flex;justify-content:flex-end}.drawer-panel{width:480px;max-width:90vw;height:100%;background-color:var(--bg-drawer);box-shadow:var(--shadow-drawer);display:flex;flex-direction:column}.drawer-header{padding:var(--padding-drawer);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.drawer-title{font-size:var(--font-size-card-title);font-weight:600;color:var(--text-primary)}.drawer-body{padding:var(--padding-drawer);flex:1;overflow-y:auto}.drawer-footer{padding:var(--padding-drawer);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-component)}.flex{display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.mt-12{margin-top:12px}.mb-12{margin-bottom:12px}.text-secondary{color:var(--text-secondary)}.sm-toggle-label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.sm-toggle-input{display:none}.sm-toggle-switch{position:relative;width:38px;height:20px;background-color:#cbd5e1;border-radius:20px;transition:background-color .2s ease;flex-shrink:0}.sm-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.sm-toggle-input:checked+.sm-toggle-switch{background-color:#7c3aed}.sm-toggle-input:checked+.sm-toggle-switch:after{transform:translate(18px)}.text-right{text-align:right}
