:root{--color-primary: #2f6fed;--color-primary-dark: #2456c4;--color-primary-light: #eaf0fe;--color-danger: #e5484d;--color-danger-dark: #c53338;--color-danger-light: #fdecec;--color-success: #1a8a3d;--color-success-light: #e3f7e8;--color-warning: #b9770e;--color-warning-light: #fdf0dc;--color-info: #2f6fed;--color-info-light: #e6f0fd;--color-text: #1c2333;--color-text-secondary: #5b6472;--color-text-muted: #8b93a1;--color-border: #e0e3ea;--color-surface: #ffffff;--color-bg: #eef0f4;--color-sidebar-bg: #ffffff;--color-sidebar-border: #e9ecf3;--color-sidebar-text: #5b6472;--color-sidebar-text-hover: #1c2333;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow-md: 0 4px 16px rgba(16, 24, 40, .07);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-size:14px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.page{padding:2rem 2.5rem;max-width:100%}.table-wrap{overflow-x:auto;border-radius:var(--radius-md)}.table-wrap table{min-width:600px}@media(max-width:640px){.page{padding:1.25rem 1rem}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-header h1{font-size:1.45rem;font-weight:650;letter-spacing:-.01em;margin:0;color:var(--color-text)}.page-header a:not(.btn){color:var(--color-primary);text-decoration:none;font-size:.875rem;font-weight:500}.page-header a:not(.btn):hover{text-decoration:underline}.back{display:inline-flex;align-items:center;color:var(--color-primary);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:1rem}.back:hover{text-decoration:underline}.btn,button[type=submit],.create-form button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.05rem;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;font-weight:600;font-size:.875rem;text-decoration:none;cursor:pointer;box-shadow:0 3px 10px -4px #2f6fed8c;transition:background .15s ease,box-shadow .15s ease,transform .1s ease}.btn:hover,button[type=submit]:hover:not(:disabled),.create-form button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-dark),#1a2f78);box-shadow:0 8px 18px -6px #2f6fed99;transform:translateY(-1px)}.btn:active,button[type=submit]:active:not(:disabled),.create-form button:active:not(:disabled){transform:translateY(1px)}button[type=submit]:disabled,.create-form button:disabled{opacity:.55;cursor:default;box-shadow:none}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}th,td{text-align:left;padding:.75rem 1rem;font-size:.875rem;border-bottom:1px solid var(--color-border)}th{background:#fafbfc;color:var(--color-text-secondary);font-weight:650;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#f8f9fb}tbody tr.clickable-row{cursor:pointer}tfoot .totals-row td{background:#fafbfc;font-weight:700;border-bottom:none;border-top:2px solid var(--color-border)}td input[type=text]{padding:.4rem .6rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:650;letter-spacing:.02em;background:#eef0f3;color:var(--color-text-secondary)}.badge.active{background:var(--color-success-light);color:var(--color-success)}.badge.low-stock,.badge.danger{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge.status-1{background:#eef0f3;color:var(--color-text-secondary)}.badge.status-2{background:var(--color-info-light);color:var(--color-info)}.badge.status-3{background:var(--color-warning-light);color:var(--color-warning)}.badge.status-4{background:var(--color-success-light);color:var(--color-success)}.badge.status-5{background:#e2e5eb;color:var(--color-text-secondary)}.badge.status-6{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge.invoice-status-1{background:var(--color-warning-light);color:var(--color-warning)}.badge.invoice-status-2{background:var(--color-info-light);color:var(--color-info)}.badge.invoice-status-3{background:var(--color-success-light);color:var(--color-success)}.badge.invoice-status-4{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge.credit-note-status-1{background:var(--color-warning-light);color:var(--color-warning)}.badge.credit-note-status-2{background:var(--color-info-light);color:var(--color-info)}.badge.credit-note-status-3{background:var(--color-success-light);color:var(--color-success)}.badge.credit-note-status-4{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge.transfer-status-1{background:#eef0f3;color:var(--color-text-secondary)}.badge.transfer-status-2{background:var(--color-success-light);color:var(--color-success)}.badge.transfer-status-3{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge.stock-count-status-1{background:#eef0f3;color:var(--color-text-secondary)}.badge.stock-count-status-2{background:var(--color-success-light);color:var(--color-success)}.badge.stock-count-status-3{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge.quote-status-1{background:#eef0f3;color:var(--color-text-secondary)}.badge.quote-status-2{background:var(--color-info-light);color:var(--color-info)}.badge.quote-status-3{background:var(--color-warning-light);color:var(--color-warning)}.badge.quote-status-4{background:var(--color-danger-light);color:var(--color-danger-dark)}.badge.quote-status-5{background:#e2e5eb;color:var(--color-text-secondary)}.badge.quote-status-6{background:var(--color-success-light);color:var(--color-success)}.actions{display:flex;align-items:center;gap:.5rem}.actions a,.actions button{display:inline-flex;align-items:center;border:1px solid transparent;background:var(--color-primary-light);color:var(--color-primary);cursor:pointer;padding:.35rem .7rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;font-family:inherit;text-decoration:none;white-space:nowrap;transition:background .15s ease,color .15s ease,transform .1s ease}.actions a:hover,.actions button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff}.actions a:active,.actions button:active:not(:disabled){transform:translateY(1px)}.actions button.danger{background:var(--color-danger-light);color:var(--color-danger-dark)}.actions button.danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.actions button:disabled{opacity:.5;cursor:default}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-primary);cursor:pointer;padding:0}.icon-btn svg{width:16px;height:16px}.icon-btn:hover:not(:disabled){background:var(--color-primary-light)}.icon-btn:disabled{color:var(--color-text-muted);cursor:default}.icon-btn-lg{width:38px;height:38px}.icon-btn-lg svg{width:22px;height:22px}.danger-text{color:var(--color-danger);font-weight:600}.percent-field-row{display:flex;align-items:center;gap:.4rem}.percent-presets{display:flex;flex-wrap:nowrap;gap:.3rem}.percent-preset-btn{flex:1;padding:.3rem .4rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;text-align:center;transition:background .15s ease,border-color .15s ease,color .15s ease}.percent-preset-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.percent-preset-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;max-width:860px}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.1rem 1.25rem;display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--shadow-sm)}.summary-label{font-size:.8rem;color:var(--color-text-secondary);font-weight:500}.summary-value{font-size:1.6rem;font-weight:700;color:var(--color-text)}.summary-card.warn{border-color:var(--color-warning)}.summary-card.danger{border-color:var(--color-danger)}.image-uploader{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.image-preview-wrap{position:relative;display:inline-block;flex-shrink:0}.image-preview{display:block;width:90px;height:90px;object-fit:cover;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.remove-image-btn{position:absolute;top:-8px;right:-8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;border-radius:50%;background:var(--color-danger);color:#fff;font-size:.85rem;line-height:1;padding:0;cursor:pointer;box-shadow:var(--shadow-sm)}.remove-image-btn:hover{background:var(--color-danger-dark)}.image-upload-controls{display:flex;flex-direction:column;gap:.3rem}.error{color:var(--color-danger-dark);font-size:.85rem;margin:0;padding:.6rem .85rem;background:var(--color-danger-light);border-radius:var(--radius-sm)}.success{color:var(--color-success);font-size:.85rem;margin:0;padding:.6rem .85rem;background:var(--color-success-light);border-radius:var(--radius-sm)}.hint{font-size:.8rem;color:var(--color-text-muted);margin:0}.form{display:flex;flex-direction:column;gap:.85rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.82rem;font-weight:600;color:var(--color-text-secondary)}.field input,.field select,.create-form input{padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;color:var(--color-text);background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.create-form input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.field input:disabled{background:#f4f4f6;color:#9aa1ab}.field input.invalid,.field select.invalid{border-color:var(--color-danger)}.field input.invalid:focus,.field select.invalid:focus{box-shadow:0 0 0 3px var(--color-danger-light)}.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.field-row-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem}.field.checkbox{flex-direction:row;align-items:center}.field.checkbox label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;color:var(--color-text);text-transform:none}.field input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.checkbox-inline{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.checkbox-inline input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem}.filters .search-input{flex:1;min-width:220px}.filters input,.filters select{padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.88rem;font-family:inherit;color:var(--color-text);background:#fff}.filters input:focus,.filters select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.filters button{padding:.55rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--color-text-secondary)}.filters button:hover{background:#f4f5f8;border-color:#c7ccd6}.create-form{display:flex;gap:.6rem;margin-bottom:1.5rem;max-width:420px}.create-form input{flex:1}.pagination{display:flex;align-items:center;gap:.85rem;margin-top:1.25rem;font-size:.85rem;color:var(--color-text-secondary)}.pagination button{padding:.45rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-weight:600;font-size:.85rem;font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease}.pagination button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border-color:var(--color-primary);color:#fff}.pagination button:disabled{opacity:.5;cursor:default}.pagination span{padding:.3rem .75rem;background:linear-gradient(135deg,var(--color-primary-light),#dbe6fc);color:var(--color-primary-dark);border-radius:999px;font-weight:600}.roles{margin-top:1.25rem;padding:1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.roles h2{font-size:.95rem;font-weight:650;margin:0 0 .75rem}.role-list{display:flex;flex-direction:column;gap:.5rem}.role-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--color-text)}.role-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.users-row td{background:#fafbfc}.users-row ul{margin:0;padding-left:1.2rem;font-size:.85rem;color:var(--color-text-secondary)}.users-row p{margin:0;font-size:.85rem;color:var(--color-text-muted)}
