:root{--color-primary-dark: #071626;--color-accent: #ff7847;--color-accent-hover: #e8663a;--color-accent-light: rgba(255, 120, 71, .12);--color-bg-page: #f7f8fa;--color-bg-content: #ffffff;--color-bg-panel: #f1f3f5;--color-bg-sidebar: #071626;--color-bg-sidebar-hover: rgba(255,255,255,.07);--color-bg-sidebar-active: rgba(255, 120, 71, .18);--color-text-primary: #1a1a2e;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-inverse: #ffffff;--color-text-sidebar: rgba(255,255,255,.75);--color-text-sidebar-active: #ffffff;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-status-offered: #3b82f6;--color-status-sold: #10b981;--color-status-on-hold: #f59e0b;--color-status-invoiced: #8b5cf6;--color-status-archived: #6b7280;--color-portal-keysurplus: #0ea5e9;--color-portal-4semi: #8b5cf6;--color-portal-labjupiter: #10b981;--color-portal-machinetoolmarket: #f59e0b;--color-portal-wwx: #ef4444;--color-portal-processequipmentmarket:#6366f1;--font-family: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-base: 1.5;--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: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0,0,0,.05);--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);--shadow-xl: 0 16px 40px rgba(0,0,0,.16);--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .25s ease;--sidebar-width: 220px;--sidebar-collapsed-width: 56px;--header-height: 56px;--content-max-width: 1600px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background:var(--color-bg-page);-webkit-font-smoothing:antialiased}#app{display:flex;height:100vh;overflow:hidden}#app.login-mode{display:block}#app.login-mode #sidebar,#app.login-mode #header{display:none}#app.login-mode #main{height:100vh}#app.login-mode #content{padding:0;overflow:auto}#sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-bg-sidebar);display:flex;flex-direction:column;height:100vh;position:relative;z-index:200;transition:width var(--transition-slow),min-width var(--transition-slow);overflow:hidden}#sidebar.collapsed{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width)}.sidebar-nav{flex:1;padding:var(--space-4) 0;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:var(--radius-full)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);margin:2px var(--space-2);border-radius:var(--radius-lg);color:var(--color-text-sidebar);text-decoration:none;cursor:pointer;transition:background var(--transition-base),color var(--transition-base);white-space:nowrap;overflow:hidden;position:relative;border:none;background:none;width:calc(100% - var(--space-4));font-size:var(--font-size-base);font-family:var(--font-family)}.nav-item:hover{background:var(--color-bg-sidebar-hover);color:var(--color-text-inverse)}.nav-item.active{background:var(--color-bg-sidebar-active);color:var(--color-text-inverse)}.nav-item.active .nav-icon{color:var(--color-accent)}.nav-item-sub{padding-left:calc(var(--space-3) + 20px + var(--space-3) + var(--space-2));font-size:var(--font-size-xs);opacity:.8}.nav-item-sub .nav-icon{width:16px;height:16px}.nav-item-sub.active{opacity:1}.nav-chevron{margin-left:auto;display:flex;align-items:center;opacity:.5;transition:transform .2s ease,opacity .2s;flex-shrink:0}.nav-chevron.open{transform:rotate(180deg);opacity:.8}.nav-item:hover .nav-chevron{opacity:.8}.nav-icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.nav-label{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:opacity var(--transition-slow)}#sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden}.nav-badge{margin-left:auto;background:var(--color-accent);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:1px 6px;border-radius:var(--radius-full);min-width:18px;text-align:center;transition:opacity var(--transition-slow)}#sidebar.collapsed .nav-badge{opacity:0}.sidebar-footer{padding:var(--space-3) var(--space-2);border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-collapse-btn{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border:none;background:none;color:var(--color-text-sidebar);cursor:pointer;border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-family:var(--font-family);transition:background var(--transition-base),color var(--transition-base);white-space:nowrap;overflow:hidden}.sidebar-collapse-btn:hover{background:var(--color-bg-sidebar-hover);color:var(--color-text-inverse)}.sidebar-collapse-btn svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--transition-slow)}#sidebar.collapsed .sidebar-collapse-btn svg{transform:rotate(180deg)}.sidebar-collapse-btn span{transition:opacity var(--transition-slow)}#sidebar.collapsed .sidebar-collapse-btn span{opacity:0;width:0;overflow:hidden}#main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}#header{height:var(--header-height);background:var(--color-bg-content);border-bottom:1px solid var(--color-border);display:flex;align-items:center;padding:0 var(--space-6);gap:var(--space-4);flex-shrink:0;z-index:100}.header-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;flex-shrink:0;margin-left:var(--space-1)}.header-logo-img{height:45px;width:auto;display:block}.header-logo-sub{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);letter-spacing:.4px;text-transform:uppercase;border-left:1px solid var(--color-border);padding-left:var(--space-3);line-height:1.3;white-space:nowrap}@media (max-width: 640px){.header-logo-sub,.logout-label{display:none}.header-logout-btn{padding:var(--space-2);border-color:transparent}}.header-menu-btn{display:none;width:36px;height:36px;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-lg);transition:background var(--transition-base);flex-shrink:0}.header-menu-btn:hover{background:var(--color-bg-panel);color:var(--color-text-primary)}.header-menu-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-icon-btn{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-lg);transition:background var(--transition-base),color var(--transition-base)}.header-icon-btn:hover{background:var(--color-bg-panel);color:var(--color-text-primary)}.header-icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.header-notif-badge{position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--color-accent);border-radius:var(--radius-full);border:2px solid white}.header-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-primary-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);flex-shrink:0}.header-user{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);border:none;background:none;font-family:var(--font-family);transition:background var(--transition-base)}.header-user:hover{background:var(--color-bg-panel)}.header-user-info{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.header-username{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1.2}.header-company{font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1.2}.header-user-caret{opacity:.4;flex-shrink:0;transition:transform .2s ease}.header-user[aria-expanded=true] .header-user-caret{transform:rotate(180deg)}.header-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:var(--color-bg-content);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;min-width:180px;z-index:200;padding:var(--space-1) 0}.header-dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border:none;background:none;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:background var(--transition-base)}.header-dropdown-item:hover{background:var(--color-bg-panel)}.header-dropdown-item-muted{color:var(--color-text-secondary)}.header-dropdown-divider{height:1px;background:var(--color-border);margin:var(--space-1) 0}.header-logout-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:none;color:var(--color-text-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base)}.header-logout-btn:hover{border-color:var(--color-border-hover);background:var(--color-bg-panel);color:var(--color-text-primary)}#content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-6);background:var(--color-bg-page)}#content::-webkit-scrollbar{width:6px}#content::-webkit-scrollbar-track{background:transparent}#content::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}.view-container{max-width:var(--content-max-width);margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);gap:var(--space-4);flex-wrap:wrap}.page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.page-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-top:2px}.page-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}#toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}@media (max-width: 1024px){#sidebar{width:var(--sidebar-collapsed-width);min-width:var(--sidebar-collapsed-width)}#sidebar .nav-label,#sidebar .nav-badge,#sidebar .sidebar-collapse-btn span{opacity:0;width:0;overflow:hidden}#sidebar .sidebar-collapse-btn svg{transform:rotate(180deg)}}#sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:199;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--transition-base)}#sidebar-overlay.visible{display:block}.sidebar-mobile-close{display:none}@media (max-width: 768px){#app{flex-direction:column}#sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width)!important;min-width:var(--sidebar-width)!important;z-index:300;transform:translate(-100%);transition:transform var(--transition-slow)}#sidebar .nav-label,#sidebar .nav-badge,#sidebar .sidebar-collapse-btn span{opacity:1!important;width:auto!important;overflow:visible!important}#sidebar .sidebar-collapse-btn svg{transform:none!important}#sidebar.mobile-open{transform:translate(0)}.sidebar-footer{display:none}.sidebar-mobile-close{display:flex;align-items:center;justify-content:flex-end;padding:var(--space-2) var(--space-3);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-mobile-close button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff14;border-radius:var(--radius-md);color:#ffffffb3;cursor:pointer}.sidebar-mobile-close button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.header-menu-btn{display:flex!important}#content{padding:var(--space-4)}#header{padding:0 var(--space-4)}.header-username,.header-company,.header-user-caret{display:none}#toast-container{bottom:var(--space-4);right:var(--space-4);left:var(--space-4)}}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:var(--font-family);cursor:pointer;transition:all var(--transition-base);border:1px solid transparent;white-space:nowrap;text-decoration:none;line-height:1.5}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-content);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-panel);border-color:var(--color-border-hover)}.btn-ghost{background:none;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-bg-panel);color:var(--color-text-primary)}.btn-danger{background:#fee2e2;color:#dc2626;border-color:#fecaca}.btn-danger:hover:not(:disabled){background:#fecaca;border-color:#f87171}.btn-dark{background:var(--color-primary-dark);color:#fff;border-color:var(--color-primary-dark)}.btn-dark:hover:not(:disabled){background:#0d2035}.btn-sm{padding:4px var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-md)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-lg)}.card{background:var(--color-bg-content);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--space-6)}.card-sm{padding:var(--space-4);border-radius:var(--radius-lg)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.stat-card{background:var(--color-bg-content);border-radius:var(--radius-xl);border:1px solid var(--color-border);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.stat-value{font-size:28px;font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:1.2}.stat-change{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;line-height:1.5}.badge-dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.badge-offered{background:#dbeafe;color:#1d4ed8}.badge-sold{background:#d1fae5;color:#065f46}.badge-on-hold{background:#fef3c7;color:#92400e}.badge-invoiced{background:#ede9fe;color:#5b21b6}.badge-archived{background:#f3f4f6;color:#374151}.badge-new{background:var(--color-accent-light);color:var(--color-accent)}.portal-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:#fff;white-space:nowrap;letter-spacing:.02em}.portal-keysurplus{background:#0ea5e9}.portal-4semi{background:#8b5cf6}.portal-labjupiter{background:#10b981}.portal-machinetoolmarket{background:#f59e0b}.portal-wwx{background:#ef4444}.portal-processequipmentmarket{background:#6366f1}.form-group{display:flex;flex-direction:column;gap:var(--space-1)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-label .required{color:var(--color-accent);margin-left:2px}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.form-control{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-bg-content);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base);outline:none;line-height:var(--line-height-base)}.form-control::placeholder{color:var(--color-text-tertiary)}.form-control:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-control:disabled{background:var(--color-bg-panel);color:var(--color-text-tertiary);cursor:not-allowed}textarea.form-control{resize:vertical;min-height:80px}trix-editor{width:100%;min-height:120px;padding:var(--space-2) var(--space-3);background:var(--color-bg-content);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);line-height:var(--line-height-base);outline:none;box-sizing:border-box;overflow:hidden}trix-editor ul{padding-left:1.25em;margin:0}trix-editor li{list-style-position:inside}trix-editor:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}trix-toolbar{margin-bottom:4px}trix-toolbar .trix-button-group:not(:first-child){margin-left:0!important}select.form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-4)}.form-error{font-size:var(--font-size-xs);color:#dc2626}.form-control.has-error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.table-wrapper{background:var(--color-bg-content);border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden}.table-scroll{overflow-x:scroll;-webkit-overflow-scrolling:touch}.table-scroll::-webkit-scrollbar{height:4px}.table-scroll::-webkit-scrollbar-track{background:transparent}.table-scroll::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.table-nav{position:relative;display:flex;align-items:center;height:36px;background:var(--color-bg-panel);border-bottom:1px solid var(--color-border)}.table-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;border:none;background:var(--color-bg-content);box-shadow:0 1px 4px #0000002e,0 0 0 1px var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:box-shadow .12s,color .12s}.table-scroll-btn:hover{color:var(--color-text-primary);box-shadow:0 2px 6px #00000038,0 0 0 1px var(--color-border-hover)}.table-scroll-btn svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.table-scroll-btn--left{left:8px}.table-scroll-btn--right{right:8px}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border)}.data-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--color-text-primary)}.sort-icon{display:inline-flex;align-items:center;margin-left:4px;color:var(--color-text-tertiary)}.sort-icon svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2}.data-table td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-bg-panel)}.data-table tbody tr.selected{background:var(--color-accent-light)}.checkbox-input{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--color-bg-content);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;animation:slideUp var(--transition-slow)}@keyframes slideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-lg{max-width:720px}.modal-xl{max-width:960px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.modal-close{transition:background var(--transition-base)}.modal-close:hover{background:var(--color-bg-panel)}.modal-close svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}.modal-body{padding:var(--space-6)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border)}.slideover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:800;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);animation:fadeIn var(--transition-base)}.slideover{position:fixed;top:0;right:0;height:100vh;width:560px;max-width:95vw;background:var(--color-bg-content);box-shadow:var(--shadow-xl);z-index:900;display:flex;flex-direction:column;animation:slideInRight var(--transition-slow)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.slideover-lg{width:720px}.slideover-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex-shrink:0}.slideover-body{flex:1;overflow-y:auto;padding:var(--space-6)}.search-bar{position:relative}.search-bar input{padding-left:38px}.search-bar-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.search-bar-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.filter-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.divider{height:1px;background:var(--color-border);margin:var(--space-4) 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center;color:var(--color-text-tertiary);gap:var(--space-3)}.empty-state-icon{width:48px;height:48px;stroke:var(--color-text-tertiary);fill:none;stroke-width:1.5}.empty-state-title{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.empty-state-desc{font-size:var(--font-size-sm);max-width:320px}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-primary-dark);color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);min-width:260px;max-width:380px;pointer-events:all;animation:toastIn var(--transition-slow)}@keyframes toastIn{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.toast.toast-success{background:#065f46}.toast.toast-error{background:#7f1d1d}.toast.toast-warning{background:#78350f}.toast-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0;margin-top:1px}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:#fff9;cursor:pointer;padding:0;display:flex;align-items:center;transition:color var(--transition-base);flex-shrink:0}.toast-close:hover{color:#fff}.toast-close svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--color-bg-panel) 25%,var(--color-border) 50%,var(--color-bg-panel) 75%);background-size:200% 100%;animation:skeleton-wave 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.pagination{display:flex;align-items:center;gap:var(--space-1)}.pagination-btn{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-bg-content);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:var(--font-family);cursor:pointer;color:var(--color-text-primary);transition:all var(--transition-base);padding:0 var(--space-2)}.pagination-btn:hover:not(:disabled){background:var(--color-bg-panel);border-color:var(--color-border-hover)}.pagination-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;font-weight:var(--font-weight-medium)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}@media (max-width: 1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.form-row-3{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.grid-2,.grid-3,.grid-4,.form-row-2,.form-row-3{grid-template-columns:1fr}.modal{margin:var(--space-2)}.slideover{width:100%;max-width:100%}}.tabs{display:flex;border-bottom:1px solid var(--color-border);gap:0;margin-bottom:var(--space-6)}.tab-btn{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:var(--font-family);color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--transition-base),border-color var(--transition-base);margin-bottom:-1px;white-space:nowrap}.tab-btn:hover{color:var(--color-text-primary)}.tab-btn.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.text-muted{color:var(--color-text-secondary)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-right{text-align:right}.text-center{text-align:center}.fw-medium{font-weight:var(--font-weight-medium)}.fw-semibold{font-weight:var(--font-weight-semibold)}.mt-auto{margin-top:auto}.flex{display:flex}.flex-center{display:flex;align-items:center}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.w-full{width:100%}.toggle-switch{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;width:40px;height:22px;background:var(--border-color, #d1d5db);border-radius:11px;transition:background var(--transition-base)}.toggle-switch input:checked+.toggle-track{background:var(--color-primary, #ff7847)}.toggle-switch input:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;transition:transform var(--transition-base)}.toggle-switch input:checked+.toggle-track .toggle-thumb{transform:translate(18px)}.item-thumb,.promo-item-thumb,.deals-chain-thumb,.deals-group-thumb,.inva-thumb{flex-shrink:0;border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center}.item-thumb img,.promo-item-thumb img,.deals-chain-thumb img,.deals-group-thumb img,.inva-thumb img{width:100%;height:100%;object-fit:cover}.item-thumb svg,.promo-item-thumb svg,.deals-chain-thumb svg,.deals-group-thumb svg,.inva-thumb svg{fill:none;stroke-width:1.5;stroke:var(--color-text-tertiary)}.dt-context-card-title,.form-section-title,.inv-totals-panel-title,.inv-section-title,.crm-field-label{font-weight:var(--font-weight-semibold);text-transform:uppercase}.crm-field-label{font-weight:var(--font-weight-medium);font-size:var(--font-size-xs)}.deals-chain-list,.inva-list{background:var(--color-bg-content);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.inva-row,.template-item,.activity-item,.promo-send-row{display:flex;border-bottom:1px solid var(--color-border)}.inva-row:last-child,.template-item:last-child,.activity-item:last-child,.promo-send-row:last-child{border-bottom:none}.inv-mobile-icon-btn,.deals-mobile-filter-btn,.deals-mobile-info-btn{display:none}.canned-btn,.dt-canned-btn{font-size:var(--font-size-xs);border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-family);transition:border-color var(--transition-base),background var(--transition-base),color var(--transition-base);white-space:nowrap}.deals-type-badge,.deals-status-badge,.deals-unread-badge{font-size:var(--font-size-xs);white-space:nowrap;border-radius:var(--radius-full)}.wizard-divider,.promo-step-connector,.batch-step-line{background:var(--color-border)}.modal-close,.slide-over-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--color-text-secondary);border-radius:var(--radius-md)}.dt-context-row,.inv-totals-panel-row,.dt-accept-row{display:flex;justify-content:space-between}.chart-bar{display:flex;flex-direction:column;gap:var(--space-2)}.chart-bar-item{display:flex;align-items:center;gap:var(--space-3)}.chart-bar-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);width:160px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-bar-track{flex:1;height:8px;background:var(--color-bg-panel);border-radius:var(--radius-full);overflow:hidden}.chart-bar-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width .4s ease}.chart-bar-value{font-size:var(--font-size-sm);color:var(--color-text-secondary);width:50px;text-align:right;flex-shrink:0}
