:root{--bg:#f6f8fb;--panel:#fff;--panel-2:#fafafa;--text:#0a0a0a;--muted:#5f6368;--brand:#0bb894;--brand-2:#099e80;--danger:#c62828;--warn:#f59e0b;--border:#e6e8ef;--shadow:0 8px 20px rgba(19,41,70,.08)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:1700px;margin:0 auto;padding:24px}.container.wide{max-width:2200px}.nav{justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#ffffffaa,#fff);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:20;box-shadow:var(--shadow)}.nav,.nav .brand{display:flex;align-items:center}.nav .brand{gap:10px;font-weight:700;letter-spacing:.2px;color:#0f172a}.nav .brand img{height:24px;width:auto;border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.05)}.nav .brand .brand-title{font-size:16px;font-weight:800;letter-spacing:.3px;background:linear-gradient(90deg,#065f46,#14532d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.nav .links{display:flex;align-items:center;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px}.nav .links a{color:#1f2a44;text-decoration:none;padding:8px 12px;border-radius:999px;font-weight:600;border:1px solid transparent;transition:background .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease;white-space:nowrap}.nav .links a:hover{background:#eef2f7;border-color:var(--border)}.nav .links a.active{background:var(--brand);color:#fff;box-shadow:var(--shadow);border-color:transparent}.nav .links a:focus-visible{outline:2px solid rgba(11,184,148,.35);outline-offset:2px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:18px 0;flex-wrap:wrap}.toolbar.compact{gap:8px;row-gap:6px;margin:10px 0;flex-wrap:wrap}.page-title-block{display:flex;flex-direction:column;gap:1px}.page-title{font-size:17px;font-weight:700;color:#0f172a;letter-spacing:-.2px;margin:0;line-height:1.3}.page-subtitle{font-size:11.5px;color:var(--muted);margin:0;font-weight:400}.card{background:linear-gradient(180deg,var(--panel) 0,var(--panel-2) 100%);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.card .card-body{padding:20px}.card h2{margin:0 0 8px;font-size:16px;color:var(--text)}.row{display:flex;flex-wrap:wrap;gap:16px}.col{flex:1 1 280px}label{display:block;margin:8px 0 6px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}input,select,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--text);outline:none;font-size:13px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.input-group>select{width:auto;flex:0 0 auto}.input-group .suggestions{flex:1 1 auto;min-width:280px}input:focus,select:focus,textarea:focus{border-color:#c9d4e5;box-shadow:0 0 0 3px rgba(11,184,148,.12)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer;color:#fff;background:var(--brand);box-shadow:var(--shadow);font-size:13px;font-family:inherit;transition:background .15s,box-shadow .15s,opacity .15s}.btn:hover{background:var(--brand-2)}.btn:disabled{opacity:.45;cursor:default;pointer-events:none}.btn.secondary{background:#f1f5f9;color:#0f172a;border:1px solid var(--border)}.btn.secondary:hover{background:#e9eef5}.btn.danger{background:var(--danger);color:#fff}.btn.warn{background:var(--warn);color:#111827}.btn.warn:hover{filter:brightness(.95)}.btn.xs{padding:4px 8px;font-size:11px;border-radius:6px}.btn.sm{padding:6px 10px;font-size:12px;border-radius:8px}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:12px;border-bottom:1px solid var(--border);vertical-align:middle}.table thead th{color:#314151;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc}.table thead tr{border-bottom:2px solid #dde3ed}.table.fixed thead th,.table.resizable thead th{position:-webkit-sticky;position:sticky;top:0;background:#f8fafc;z-index:1}.table.resizable td,.table.resizable thead th{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table.resizable[style*=table-layout] td{max-width:0}.table.resizable thead th .col-resizer{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.table.resizable thead th .col-resizer:after{content:"";position:absolute;top:10%;bottom:10%;left:3px;width:2px;background:transparent;border-radius:1px;transition:background .1s}.table.resizable thead th .col-resizer:hover:after,.table.resizable thead th:hover .col-resizer:after{background:rgba(2,6,23,.18)}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:#f3f7fb}.table.zebra tbody tr:nth-child(2n){background:#f8fafc}.table.zebra tbody tr:hover{background:#eef4fb}.table.dense td,.table.dense th{font-size:12px}.table.dense thead th{font-size:11px}.table.fixed{table-layout:fixed}.table.fixed td,.table.fixed th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sortable,.table tr.clickable{cursor:pointer}.sortable{-webkit-user-select:none;-moz-user-select:none;user-select:none}.table.wide{width:auto;min-width:1600px}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.table td[data-col=disc],.table td[data-col=price],.table td[data-col=qty],.table td[data-col=remain],.table td[data-col=total],.table th[data-col=disc],.table th[data-col=price],.table th[data-col=qty],.table th[data-col=remain],.table th[data-col=total]{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table td[data-col=qty] input{width:80px;text-align:right}.table td[data-col=price] input{width:100px;text-align:right}.table td[data-col=disc] input{width:80px;text-align:right}.table td[data-col=disc] span,.table td[data-col=price] span{color:#64748b}.table td input,.table td select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--text)}.table td input[readonly]{background:#f9fbfd}.table td .btn{padding:8px 10px}.table td.actions-col{white-space:nowrap;width:1%}.actions-compact{display:inline-flex;gap:6px;align-items:center}.actions-compact .btn{white-space:nowrap}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;padding:4px 6px;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;color:#334155}.icon-btn:hover{background:#eef2f7;border-color:var(--border)}.icon-btn:disabled{opacity:.5;cursor:default}.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;border:1px solid #e5e7eb}.chip,.chip.neutral{background:#f8fafc;color:#0f172a}.chip.green{background:#ecfdf5;color:#065f46;border-color:#a7f3d0}.chip.orange{background:#fffbeb;color:#92400e;border-color:#fbd38d}.chip.gray{background:#f3f4f6;color:#374151;border-color:#e5e7eb}a.chip{text-decoration:none;color:inherit}.chip.clickable{cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.chip.clickable:hover{filter:brightness(.98);box-shadow:0 1px 0 rgba(0,0,0,.03)}.chip.red{background:#fef2f2;color:#7f1d1d;border-color:#fecaca}.table.compact td,.table.compact th{padding:6px 8px}.table.compact .btn,.table.compact input,.table.compact select{padding:6px 8px;font-size:12px;border-radius:6px}.table.compact.dense td,.table.compact.dense th{padding:4px 6px}.table.compact.dense .btn,.table.compact.dense input,.table.compact.dense select{padding:4px 6px;font-size:11px;border-radius:6px}.drag-over{background:#f0f8ff!important}.input-group{display:flex;gap:8px}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#f8fafc;color:#0f172a;border:1px solid var(--border);font-size:12px}.pill input,.pill select{width:auto;padding:6px 8px;border-radius:6px;border:1px solid var(--border);background:#fff}.pill input[type=date]{width:150px}.form-dense label{margin:6px 0 4px;font-size:11px}.form-dense input,.form-dense select,.form-dense textarea{padding:6px 8px;font-size:12px;border-radius:8px}.form-dense .btn{border-radius:8px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-sm{font-size:12px}.muted{color:var(--muted)}.field-display{border:1px solid var(--border);border-radius:10px;padding:8px;background:#fff}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:100}.modal{width:min(1100px,92vw);background:linear-gradient(180deg,var(--panel) 0,var(--panel-2) 100%);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;max-height:90vh}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fafcff 0,var(--panel) 100%)}.modal-body{padding:16px;overflow:auto}.modal-footer{padding:12px 16px;display:flex;gap:8px;justify-content:flex-end;border-top:1px solid var(--border)}.modal-backdrop.show,.tabs{display:flex}.tabs{gap:4px;border-bottom:1px solid var(--border);margin-bottom:12px}.tab{padding:10px 14px;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:500;transition:color .15s;border-radius:6px 6px 0 0}.tab:hover{color:var(--text);background:#f1f5f9}.tab.active{color:var(--text);border-bottom-color:var(--brand);background:transparent}.tab-panel{display:none}.tab-panel.active{display:block}.empty{color:var(--muted);padding:40px 16px;text-align:center;font-size:13px}.error{color:var(--danger);white-space:pre-wrap}.spinner{display:inline-block;width:22px;height:22px;border:3px solid #e5e7eb;border-top:3px solid var(--brand);border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:16px;height:16px;border-width:2px}@keyframes spin{to{transform:rotate(1turn)}}.suggestions{position:relative}.suggestions-list{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);z-index:2001;max-height:320px;overflow:auto;min-width:360px;white-space:normal}.suggestions-list.portaled{position:fixed}.suggestions-item{padding:8px 10px;cursor:pointer}.suggestions-item:hover{background:#eef4fb}.menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;padding:8px 10px;cursor:pointer;font:inherit;color:inherit}.menu-item:hover{background:#eef4fb}.menu-item.disabled,.menu-item:disabled{opacity:.5;cursor:default;pointer-events:none}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:2000}.toast{background:#111827;color:#fff;padding:10px 12px;border-radius:8px;box-shadow:var(--shadow);font-size:13px}.toast.success{background:#059669}.toast.error{background:#dc2626}.flash-change{animation:flash-bg 1.2s ease-out}@keyframes flash-bg{0%{background:#fff7ed;box-shadow:0 0 0 0 rgba(245,158,11,.4)}40%{background:#fffbeb;box-shadow:0 0 0 6px rgba(245,158,11,0)}to{background:inherit;box-shadow:none}}.flash-row{animation:flash-row-bg 1s ease-out}@keyframes flash-row-bg{0%{background:#ecfdf5;box-shadow:inset 0 0 0 2px rgba(16,185,129,.35)}50%{background:#f0fdf4;box-shadow:inset 0 0 0 0 rgba(16,185,129,0)}to{background:inherit;box-shadow:none}}.flash-input{animation:flash-outline 1.2s ease-out}@keyframes flash-outline{0%{border-color:#f59e0b;box-shadow:0 0 0 0 rgba(245,158,11,.35);background:#fffdf5}40%{border-color:#f59e0b;box-shadow:0 0 0 6px rgba(245,158,11,0);background:#fffaf0}to{border-color:var(--border);box-shadow:none;background:#fff}}#colPanel .cols-list{display:flex;flex-direction:column;align-items:flex-start;gap:6px}#colPanel .col-row{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;font-size:12px;color:#0f172a;text-transform:none;margin:0}#colPanel .col-row input[type=checkbox]{margin:0 4px 0 0;vertical-align:middle}.table tbody tr.flag-invoiced{box-shadow:inset 3px 0 0 #10b981}.table tbody tr.flag-shipped{box-shadow:inset 3px 0 0 #3b82f6}.table tbody tr.flag-invoiced.flag-shipped{box-shadow:inset 3px 0 0 #10b981,inset 6px 0 0 #3b82f6}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.status-dot.green{background:#10b981}.status-dot.blue{background:#3b82f6}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:12px;background:#fff}.nav-sep{width:1px;height:18px;background:var(--border);margin:0 6px;flex-shrink:0}.nav-user{font-size:12px;color:var(--muted);font-weight:500;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fab-container{position:fixed;bottom:28px;right:28px;z-index:400;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fab{width:54px;height:54px;border-radius:50%;background:var(--brand);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(11,184,148,.45);transition:background .15s,transform .15s,box-shadow .15s;flex-shrink:0}.fab:hover{background:var(--brand-2);transform:scale(1.07);box-shadow:0 6px 24px rgba(11,184,148,.55)}.fab-plus{font-size:26px;line-height:1;font-weight:300;display:block;transition:transform .2s ease}.fab-plus.open{transform:rotate(45deg)}.fab-menu{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.fab-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid var(--border);border-radius:24px;padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.08);color:#0f172a;white-space:nowrap;display:flex;align-items:center;gap:8px;font-family:inherit;transition:background .12s,box-shadow .12s,transform .1s}.fab-action:hover{background:#f1f5f9;box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateX(-2px)}.activity-item{display:flex;gap:10px;padding:10px 4px;border-bottom:1px solid #f1f5f9;align-items:flex-start}.activity-item:last-child{border-bottom:none}.activity-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:1px}.activity-type-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.activity-meta{font-size:11px;color:#94a3b8;margin-left:auto;white-space:nowrap}*{scrollbar-width:thin;scrollbar-color:#d1d9e6 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d9e6;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#b0bbd0}