@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap);:root{--primary:#6366f1;--primary-hover:#4f46e5;--primary-bg:rgba(var(--primary-rgb),0.06);--primary-rgb:99,102,241;--primary-gradient:linear-gradient(135deg,#6366f1,#8b5cf6);--accent:#06b6d4;--success:#10b981;--success-hover:#059669;--success-bg:#ecfdf5;--success-rgb:16,185,129;--warning:#f59e0b;--warning-hover:#d97706;--warning-bg:#fffbeb;--warning-rgb:245,158,11;--danger:#ef4444;--danger-hover:#dc2626;--danger-bg:#fef2f2;--danger-rgb:239,68,68;--info:#3b82f6;--info-hover:#2563eb;--info-bg:#eff6ff;--info-rgb:59,130,246;--bg:#f8f9fc;--bg-base:#fff;--bg-subtle:#f7f7f9;--bg-secondary:#fff;--bg-tertiary:#f1f3f9;--bg-elevated:#fff;--bg-card:#fff;--bg-card-hover:#fafbff;--bg-hover:#f1f1f4;--bg-glass:#ffffffb3;--text:#1a1d2e;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#64748b;--text-muted:#94a3b8;--text-inverse:#fff;--text-accent:#6366f1;--border:#e5e7eb;--border-light:#f1f5f9;--border-strong:#d1d5db;--border-focus:#6366f1;--blue-50:#eef2ff;--blue-100:#e0e7ff;--blue-200:#c7d2fe;--blue-300:#a5b4fc;--blue-400:#818cf8;--blue-500:#6366f1;--blue-600:#4f46e5;--blue-700:#4338ca;--green-50:#ecfdf5;--green-100:#d1fae5;--green-200:#a7f3d0;--green-500:#10b981;--green-600:#059669;--green-700:#047857;--yellow-50:#fffbeb;--yellow-100:#fef3c7;--yellow-500:#f59e0b;--yellow-600:#d97706;--yellow-700:#92400e;--red-50:#fef2f2;--red-100:#fee2e2;--red-200:#fecaca;--red-300:#fca5a5;--red-500:#ef4444;--red-600:#dc2626;--red-700:#991b1b;--purple-50:#f5f3ff;--purple-100:#ede9fe;--purple-500:#8b5cf6;--purple-600:#7c3aed;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--chart-1:#6366f1;--chart-2:#06b6d4;--chart-3:#10b981;--chart-4:#ef4444;--chart-5:#f59e0b;--chart-6:#ec4899;--chart-7:#8b5cf6;--chart-8:#14b8a6;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000a;--shadow-primary:0 4px 14px rgba(var(--primary-rgb),0.25);--shadow-success:0 4px 14px rgba(var(--success-rgb),0.2);--shadow-card:0 1px 3px #0000000a,0 1px 2px #00000005;--shadow-card-hover:0 10px 25px #00000014,0 0 0 1px rgba(var(--primary-rgb),0.08);--shadow-glow:0 0 20px rgba(var(--primary-rgb),0.08);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-2xl:24px;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition:0.2s cubic-bezier(0.4,0,0.2,1);--transition-slow:0.3s cubic-bezier(0.4,0,0.2,1);--transition-bounce:0.4s cubic-bezier(0.34,1.56,0.64,1);--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;--glass-bg:#ffffffb3;--glass-border:#ffffff4d;--glass-blur:blur(16px)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fc;background-color:var(--bg);color:#1a1d2e;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6}.container{margin:0 auto;max-width:1400px;padding:0 24px;padding:0 var(--space-6)}:focus-visible{outline:2px solid #6366f1;outline:2px solid var(--primary);outline-offset:2px}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;gap:var(--space-4);justify-content:space-between;margin-bottom:32px;margin-bottom:var(--space-8)}.page-header h2{color:#0f172a;color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0}.page-description{color:#475569;color:var(--text-secondary);font-size:.9rem;margin-top:4px;margin-top:var(--space-1)}.btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;gap:var(--space-2);letter-spacing:-.01em;line-height:1.4;overflow:hidden;padding:10px 20px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--primary-gradient);box-shadow:0 2px 8px #6366f140;box-shadow:0 2px 8px rgba(var(--primary-rgb),.25);color:#fff;color:var(--text-inverse)}.btn-primary:hover{box-shadow:0 4px 14px #6366f140;box-shadow:var(--shadow-primary);filter:brightness(1.05);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-primary:disabled{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--primary-gradient);box-shadow:none;cursor:not-allowed;opacity:.45;transform:none}.btn-secondary{background-color:#f1f3f9;background-color:var(--bg-tertiary);border:1px solid #e5e7eb;border:1px solid var(--border);color:#475569;color:var(--text-secondary)}.btn-secondary:hover{background-color:#e2e8f0;background-color:var(--slate-200);border-color:#d1d5db;border-color:var(--border-strong);transform:translateY(-1px)}.btn-success{background:#10b981;background:var(--success);box-shadow:0 2px 8px #10b98133;box-shadow:0 2px 8px rgba(var(--success-rgb),.2);color:#fff}.btn-success:hover{background:#059669;background:var(--success-hover);box-shadow:0 4px 14px #10b98133;box-shadow:var(--shadow-success);transform:translateY(-1px)}.btn-danger{background:#ef4444;background:var(--danger);box-shadow:0 2px 8px #ef444433;box-shadow:0 2px 8px rgba(var(--danger-rgb),.2);color:#fff}.btn-danger:hover{background:#dc2626;background:var(--danger-hover);box-shadow:0 4px 14px #ef44444d;box-shadow:0 4px 14px rgba(var(--danger-rgb),.3);transform:translateY(-1px)}.btn-outline{background-color:#fff;background-color:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);color:#475569;color:var(--text-secondary)}.btn-outline:hover{background-color:#6366f10f;background-color:var(--primary-bg);border-color:#c7d2fe;border-color:var(--blue-200);color:#6366f1;color:var(--primary);transform:translateY(-1px)}.btn-outline:disabled{cursor:not-allowed;opacity:.4;transform:none}.btn-sm{border-radius:8px;font-size:.78rem;padding:6px 14px}.btn-icon{border-radius:8px;border-radius:var(--radius-md);padding:8px}.card{background:#fff;background:var(--bg-card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;box-shadow:var(--shadow-card);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-slow)}.card:hover{box-shadow:0 10px 25px #00000014,0 0 0 1px #6366f114;box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card-header{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);padding:1.25rem 1.5rem}.card-body{padding:1.5rem}.summary-card{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;box-shadow:var(--shadow-card);display:flex;gap:16px;gap:var(--space-4);overflow:hidden;padding:1.25rem 1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--transition-slow)}.summary-card:hover{box-shadow:0 10px 25px #00000014,0 0 0 1px #6366f114;box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.summary-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:1.2rem;height:48px;justify-content:center;width:48px}.icon-blue{background:#eef2ff;background:var(--blue-50);color:#4f46e5;color:var(--blue-600)}.icon-green{background:#ecfdf5;background:var(--green-50);color:#059669;color:var(--green-600)}.icon-purple{background:#f5f3ff;background:var(--purple-50);color:#7c3aed;color:var(--purple-600)}.icon-amber{background:#fffbeb;background:var(--yellow-50);color:#d97706;color:var(--yellow-600)}.icon-red{background:#fef2f2;background:var(--red-50);color:#dc2626;color:var(--red-600)}.summary-value{font-feature-settings:"tnum";color:#0f172a;color:var(--text-primary);font-size:1.85rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.03em;line-height:1.1}.summary-label{color:#475569;color:var(--text-secondary);font-size:.78rem;font-weight:500;margin-top:2px}.form-group{margin-bottom:1.25rem}.form-label{color:#475569;color:var(--text-secondary);display:block;font-size:.85rem;font-weight:600;margin-bottom:8px;margin-bottom:var(--space-2)}.form-control,.form-input,.form-select{background-color:#fff;background-color:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;color:#0f172a;color:var(--text-primary);font-size:.875rem;line-height:1.5;padding:11px 15px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}.form-control:focus,.form-input:focus,.form-select:focus{border-color:#6366f1;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);outline:none}.form-input::placeholder{color:#64748b;color:var(--text-tertiary)}input[type=file]{background:#fff;background:var(--bg-secondary);border:1px dashed #e5e7eb;border:1px dashed var(--border);border-radius:10px;color:#475569;color:var(--text-secondary);cursor:pointer;font-size:.84rem;padding:8px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}input[type=file]:hover{background:#6366f10a;background:rgba(var(--primary-rgb),.04)}input[type=file]:focus,input[type=file]:hover{border-color:#6366f1;border-color:var(--primary)}input[type=file]:focus{box-shadow:0 0 0 3px #6366f11a;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);outline:none}input[type=file]::file-selector-button{background:#fff;background:var(--bg-card);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:7px;color:#0f172a;color:var(--text-primary);cursor:pointer;font-size:.82rem;font-weight:500;margin-right:12px;padding:6px 16px;transition:all .15s}input[type=file]::file-selector-button:hover{background:#6366f1;background:var(--primary);border-color:#6366f1;border-color:var(--primary);color:#fff}input[type=file]:disabled{cursor:not-allowed;opacity:.5}input[type=file]:disabled::file-selector-button{cursor:not-allowed}.table{border-collapse:initial;border-spacing:0;width:100%}.table td,.table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);padding:12px 16px;text-align:left}.table th{background:#f1f3f9;background:var(--bg-tertiary);color:#64748b;color:var(--text-tertiary);font-size:.72rem;font-weight:600;letter-spacing:.06em;position:sticky;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.table tbody tr{transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.table tbody tr:nth-child(2n){background:#f7f7f9;background:var(--bg-subtle)}.table tbody tr:hover{background-color:#6366f10d;background-color:rgba(var(--primary-rgb),.05)}.table tbody tr:last-child td{border-bottom:none}.table td{color:#475569;color:var(--slate-600);font-size:.875rem;vertical-align:middle}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-full);display:inline-flex;font-size:.72rem;font-weight:600;gap:4px;letter-spacing:.02em;line-height:1.4;padding:4px 12px}.badge-success{background:#ecfdf5;background:var(--green-50);color:#047857;color:var(--green-700)}.badge-warning{background:#fffbeb;background:var(--yellow-50);color:#92400e;color:var(--yellow-700)}.badge-error{background:#fef2f2;background:var(--red-50);color:#991b1b;color:var(--red-700)}.badge-info{background:#eef2ff;background:var(--blue-50);color:#4338ca;color:var(--blue-700)}.badge-gray{background:#f1f5f9;background:var(--slate-100);color:#475569;color:var(--slate-600)}.badge-danger{background:#fef2f2;background:var(--red-50);color:#991b1b;color:var(--red-700)}.alert{align-items:flex-start;animation:slideDown .25s ease;border:1px solid;border-radius:12px;display:flex;font-size:.875rem;gap:.75rem;line-height:1.5;margin-bottom:16px;margin-bottom:var(--space-4);padding:1rem 1.25rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:#fef2f2;background:var(--red-50);border-color:#fecaca;border-color:var(--red-200);color:#991b1b;color:var(--red-700)}.alert-success{background:#ecfdf5;background:var(--green-50);border-color:#a7f3d0;border-color:var(--green-200);color:#047857;color:var(--green-700)}.alert-warning{background:#fffbeb;background:var(--yellow-50);border-color:#fef3c7;border-color:var(--yellow-100);color:#92400e;color:var(--yellow-700)}.alert-info{background:#eef2ff;background:var(--blue-50);border-color:#c7d2fe;border-color:var(--blue-200);color:#4338ca;color:var(--blue-700)}.progress-cell{align-items:center;display:flex;gap:8px;gap:var(--space-2)}.progress-bar-bg{background:#f1f5f9;background:var(--slate-100);border-radius:3px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.progress-bar-fill{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--primary-gradient);border-radius:3px;height:100%;position:relative;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-bar-fill:after{animation:progressShimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";inset:0;position:absolute}@keyframes progressShimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-text{font-feature-settings:"tnum";color:#475569;color:var(--text-secondary);font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:700;min-width:36px;text-align:right}.spinner{animation:spin .75s linear infinite;border:2.5px solid #e2e8f0;border-right-color:#6366f1;border:2.5px solid var(--slate-200);border-radius:50%;border-right-color:var(--primary);display:inline-block;height:1.25rem;width:1.25rem}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-zone{background:#f1f3f9;background:var(--bg-tertiary);border:2px dashed #d1d5db;border:2px dashed var(--border-strong);border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;padding:3rem;text-align:center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.upload-zone:hover{transform:translateY(-1px)}.upload-zone.dragover,.upload-zone:hover{background:#6366f10f;background:var(--primary-bg);border-color:#6366f1;border-color:var(--primary)}.upload-zone.dragover{box-shadow:0 0 0 4px #6366f114;box-shadow:0 0 0 4px rgba(var(--primary-rgb),.08)}.empty-state{color:#64748b;color:var(--text-tertiary);font-size:.9rem;padding:4rem 2rem;text-align:center}.empty-state svg{height:3.5rem;margin-bottom:1rem;opacity:.25;width:3.5rem}.empty-state p{margin:.25rem 0}.empty-state p strong{color:#475569;color:var(--text-secondary)}.shipment-row{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.shipment-row:hover{background-color:#6366f108!important;background-color:rgba(var(--primary-rgb),.03)!important}.modal-overlay{align-items:center;animation:modalFadeIn .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a66;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:modalSlideUp .3s cubic-bezier(.34,1.56,.64,1);background:#fff;background:var(--bg-secondary);border-radius:20px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000a,0 0 0 1px #00000008;box-shadow:var(--shadow-xl),0 0 0 1px #00000008;max-height:90vh;max-width:540px;overflow-y:auto;width:100%}.modal-body{padding:1.5rem 1.75rem}.form-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.required{color:#ef4444;color:var(--danger)}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;padding:1.5rem 1.75rem}.modal-header h3{color:#0f172a;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.modal-footer{align-items:center;background:#f1f3f9;background:var(--bg-tertiary);border-radius:0 0 20px 20px;border-top:1px solid #f1f5f9;border-top:1px solid var(--border-light);display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.75rem}.section-title{color:#0f172a;color:var(--text-primary);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin:0 0 16px;margin:0 0 var(--space-4) 0}.section-header{align-items:center;display:flex;gap:16px;gap:var(--space-4);justify-content:space-between;margin-bottom:16px;margin-bottom:var(--space-4)}.text-muted{color:#475569;color:var(--text-secondary);font-size:.85rem}.gap-sm{gap:8px;gap:var(--space-2)}.gap-md{gap:16px;gap:var(--space-4)}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.dashboard-summary{grid-gap:20px;grid-gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-summary,.stages-grid{display:grid;gap:20px;gap:var(--space-5);margin-bottom:32px;margin-bottom:var(--space-8)}.stages-grid{grid-gap:20px;grid-gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pagination-bar{align-items:center;background:#f1f3f9;background:var(--bg-tertiary);border-radius:0 0 16px 16px;border-top:1px solid #f1f5f9;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;padding:12px 16px}.pagination-info{color:#475569;color:var(--text-secondary);font-size:.8rem;font-weight:500}.pagination-btns{display:flex;gap:8px;gap:var(--space-2)}.pagination-bar button,.pagination-btns button{background:#fff;background:var(--bg-secondary);border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:10px;color:#475569;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.pagination-bar button:hover:not(:disabled),.pagination-btns button:hover:not(:disabled){background:#6366f10f;background:var(--primary-bg);border-color:#c7d2fe;border-color:var(--blue-200);color:#6366f1;color:var(--primary);transform:translateY(-1px)}.pagination-bar button:disabled,.pagination-btns button:disabled{cursor:not-allowed;opacity:.35}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#cbd5e1;background:var(--slate-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8;background:var(--slate-400)}::selection{background:#e0e7ff;background:var(--blue-100);color:#4338ca;color:var(--blue-700)}.glass{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb3;background:var(--glass-bg)}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#8b5cf6);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text}[data-theme=dark]{--primary:#818cf8;--primary-hover:#6366f1;--primary-bg:#818cf81a;--primary-rgb:129,140,248;--primary-gradient:linear-gradient(135deg,#818cf8,#a78bfa);--accent:#22d3ee;--success:#34d399;--success-hover:#10b981;--success-bg:#34d3991f;--success-rgb:52,211,153;--warning:#fbbf24;--warning-hover:#f59e0b;--warning-bg:#fbbf241f;--warning-rgb:251,191,36;--danger:#f87171;--danger-hover:#ef4444;--danger-bg:#f871711f;--danger-rgb:248,113,113;--info:#60a5fa;--info-hover:#3b82f6;--info-bg:#60a5fa1f;--info-rgb:96,165,250;--bg:#0f172a;--bg-base:#0f172a;--bg-subtle:#162032;--bg-secondary:#1e293b;--bg-tertiary:#1e293b;--bg-elevated:#1e293b;--bg-card:#1e293b;--bg-card-hover:#263449;--bg-hover:#818cf814;--bg-glass:#0f172acc;--text:#cbd5e1;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-tertiary:#94a3b8;--text-muted:#94a3b8;--text-inverse:#0f172a;--text-accent:#818cf8;--border:#334155;--border-light:#293548;--border-strong:#475569;--border-focus:#818cf8;--blue-50:#818cf81a;--blue-100:#818cf826;--blue-200:#818cf840;--blue-300:#818cf8;--blue-400:#a5b4fc;--blue-500:#818cf8;--blue-600:#a5b4fc;--blue-700:#c7d2fe;--green-50:#34d3991a;--green-100:#34d39926;--green-200:#34d39940;--green-500:#34d399;--green-600:#6ee7b7;--green-700:#a7f3d0;--yellow-50:#fbbf241a;--yellow-100:#fbbf2426;--yellow-500:#fbbf24;--yellow-600:#fcd34d;--yellow-700:#fde68a;--red-50:#f871711a;--red-100:#f8717126;--red-200:#f8717133;--red-300:#fca5a5;--red-500:#f87171;--red-600:#fca5a5;--red-700:#fecaca;--purple-50:#a78bfa1a;--purple-100:#a78bfa26;--purple-500:#a78bfa;--purple-600:#c4b5fd;--slate-50:#1e293b;--slate-100:#1e293b;--slate-200:#334155;--slate-300:#475569;--slate-400:#64748b;--slate-500:#94a3b8;--slate-600:#cbd5e1;--slate-700:#e2e8f0;--slate-800:#f1f5f9;--slate-900:#f8fafc;--chart-1:#818cf8;--chart-2:#22d3ee;--chart-3:#34d399;--chart-4:#f87171;--chart-5:#fbbf24;--chart-6:#f472b6;--chart-7:#a78bfa;--chart-8:#2dd4bf;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006,0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #00000080,0 8px 10px -6px #0000004d;--shadow-card:0 1px 3px #0000004d,0 0 0 1px #ffffff08;--shadow-card-hover:0 10px 25px #0006,0 0 0 1px rgba(var(--primary-rgb),0.15);--shadow-glow:0 0 20px rgba(var(--primary-rgb),0.12);--glass-bg:#1e293bcc;--glass-border:#ffffff0f}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#475569}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748b}[data-theme=dark] ::selection{background:#818cf84d;color:#f1f5f9}html[data-theme-transition],html[data-theme-transition] *,html[data-theme-transition] :after,html[data-theme-transition] :before{transition:background-color .2s ease,color .15s ease,border-color .2s ease,box-shadow .2s ease!important}@media (max-width:1200px){.page-header{align-items:flex-start;flex-direction:column}.page-header .btn,.page-header button{font-size:.78rem;padding:8px 14px}.dashboard-summary,.stages-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.page-header h2{font-size:1.2rem}.page-header{gap:.75rem}.btn{font-size:.8rem;padding:8px 14px}.btn-sm{font-size:.76rem;padding:6px 10px}.summary-card{padding:.85rem 1rem}.summary-value{font-size:1.2rem}.summary-label{font-size:.7rem}.summary-icon{border-radius:10px;height:38px;width:38px}.dashboard-summary{gap:.5rem;grid-template-columns:1fr 1fr}.form-row,.stages-grid{grid-template-columns:1fr}.modal{border-radius:14px;max-width:calc(100vw - 2rem)}.table td,.table th{font-size:.78rem;padding:.5rem .6rem}.table th{font-size:.66rem}.container{padding:0 16px;padding:0 var(--space-4)}.card-header{padding:1rem 1.25rem}.card-body,.modal-body,.modal-header{padding:1.25rem}.modal-footer{padding:.85rem 1.25rem}.pagination-bar{flex-direction:column;gap:.5rem;text-align:center}}@media (max-width:480px){.page-header h2{font-size:1.05rem}.summary-value{font-size:1rem}.dashboard-summary{grid-template-columns:1fr}.btn{font-size:.76rem;padding:7px 12px}}.toast-container{display:flex;flex-direction:column;gap:.5rem;pointer-events:none;position:fixed;right:1.25rem;top:1.25rem;z-index:10000}.toast{align-items:center;animation:toast-in .25s ease;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;max-width:440px;min-width:260px;padding:.65rem 1rem;pointer-events:all}@keyframes toast-in{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.toast-success{background:var(--green-50);border:1px solid var(--green-200);color:var(--green-700)}.toast-error{background:var(--red-50);border:1px solid var(--red-200);color:var(--red-700)}.toast-info{background:var(--blue-50);border:1px solid var(--blue-200);color:var(--blue-700)}[data-theme=dark] .toast-success{background:#22c55e26;border-color:#22c55e40;color:#4ade80}[data-theme=dark] .toast-error{background:#ef444426;border-color:#ef444440;color:#f87171}[data-theme=dark] .toast-info{background:#3b82f626;border-color:#3b82f640;color:#60a5fa}.toast-icon{flex-shrink:0}.toast-msg{flex:1 1}.toast-undo{align-items:center;background:none;border:1px solid;border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;gap:4px;opacity:.8;padding:2px 8px;transition:opacity var(--transition-fast)}.toast-undo:hover{opacity:1}.toast-close{background:none;border:none;color:inherit;cursor:pointer;flex-shrink:0;line-height:1;opacity:.5;padding:0}.toast-close:hover{opacity:1}.help-btn{align-items:center;background:var(--primary);border:none;border-radius:50%;bottom:1.5rem;box-shadow:0 4px 12px #6366f14d;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;position:fixed;right:1.5rem;transition:transform .15s,box-shadow .15s;width:44px;z-index:100}.help-btn:hover{box-shadow:0 6px 20px #6366f166;transform:scale(1.08)}.help-overlay{background:#0000004d;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1000}.help-drawer{animation:helpSlideIn .2s ease-out;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;height:100%;max-width:90vw;width:380px}@keyframes helpSlideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.help-drawer__header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1rem 1.25rem}.help-drawer__header-content{align-items:center;color:var(--primary);display:flex;gap:.5rem}.help-drawer__header h3{color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.help-drawer__close{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:.3rem}.help-drawer__close:hover{background:var(--bg-hover);color:var(--text)}.help-drawer__body{display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:.75rem}.help-drawer__loading{color:var(--text-muted);padding:2rem;text-align:center}.help-drawer__empty{color:var(--text-secondary);padding:2rem;text-align:center}.help-drawer__empty p{font-size:.9rem;margin:0 0 1rem}.help-drawer__list{display:flex;flex:1 1;flex-direction:column;gap:2px}.help-drawer__item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text);cursor:pointer;display:flex;gap:.5rem;padding:.75rem;text-align:left;transition:background .1s;width:100%}.help-drawer__item:hover{background:var(--bg-hover)}.help-drawer__item-content{display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:0}.help-drawer__item-title{color:var(--text-primary);font-size:.9rem;font-weight:500}.help-drawer__item-summary{color:var(--text-muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.help-drawer__item-arrow{color:var(--text-muted);flex-shrink:0}.help-drawer__footer{border-top:1px solid var(--border-light);margin-top:auto;padding:.75rem}.help-drawer__link{align-items:center;background:#0000;border:none;color:var(--primary);cursor:pointer;display:flex;font-size:.85rem;gap:.35rem;padding:.4rem 0}.help-drawer__link:hover{text-decoration:underline}@media (max-width:480px){.help-drawer{width:100%}}.layout{display:flex;min-height:100vh}.mobile-menu-btn{align-items:center;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);color:var(--text-primary);cursor:pointer;display:none;height:44px;justify-content:center;left:.75rem;position:fixed;top:.75rem;transition:all var(--transition);width:44px;z-index:200}.mobile-menu-btn:hover{box-shadow:var(--shadow-primary);transform:scale(1.05)}.sidebar-backdrop{display:none}.sidebar{background:linear-gradient(180deg,#0f172a,#1e293b);background:var(--sidebar-bg,linear-gradient(180deg,#0f172a 0,#1e293b 100%));border-right:1px solid #ffffff0f;border-right:1px solid var(--sidebar-border,#ffffff0f);bottom:0;color:#fff;display:flex;flex-direction:column;left:0;position:fixed;top:0;transition:transform var(--transition-slow),width var(--transition-slow);width:256px;z-index:100}[data-theme=dark] .sidebar{--sidebar-bg:linear-gradient(180deg,#0b1120,#162032);--sidebar-border:#ffffff14}.sidebar-header{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;gap:.75rem;padding:1rem}.multi-company-info{border-bottom:1px solid #ffffff0f;color:#94a3b880;font-size:.68rem;line-height:1.3;overflow:hidden;padding:.35rem 1rem;text-overflow:ellipsis;white-space:nowrap}.logo-icon{background:var(--primary-gradient);border-radius:10px;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:800;height:36px;justify-content:center;letter-spacing:-.03em;width:36px}.logo-icon,.sidebar-logo{align-items:center;display:flex}.sidebar-logo{gap:.5rem}.sidebar-logo-box{align-items:center;background:#e8520e;border-radius:8px;color:#fff;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.sidebar-logo-text{color:#fff;font-size:1.15rem;font-weight:800;letter-spacing:-.03em}.sidebar-logo-text span{color:#e8520e}.sidebar-nav{flex:1 1;overflow-y:auto;padding:.5rem .35rem;scrollbar-color:#ffffff0f #0000;scrollbar-width:thin}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff0f;border-radius:4px}.nav-section{margin-bottom:var(--space-1)}.nav-section-label{color:#94a3b866;font-size:.6rem;font-weight:700;letter-spacing:.1em;padding:14px 16px 5px;text-transform:uppercase}.nav-section:first-child .nav-section-label{padding-top:4px}.nav-item{align-items:center;border-radius:8px;color:#94a3b8b3;display:flex;font-size:.84rem;font-weight:500;gap:.65rem;margin:1px 6px;padding:8px 12px;position:relative;text-decoration:none;transition:all var(--transition)}.nav-item:hover{background:#ffffff0f;color:#fff;transform:translateX(2px)}.nav-item.active{background:rgba(var(--primary-rgb),.15);color:#fff;font-weight:600}.nav-item.active:before{background:var(--primary-gradient);border-radius:0 3px 3px 0;content:"";height:60%;left:0;position:absolute;top:20%;width:3px}.sidebar-footer{border-top:1px solid #ffffff0f;justify-content:space-between;padding:.65rem .75rem}.sidebar-footer,.user-info{align-items:center;display:flex}.user-info{gap:var(--space-3)}.user-avatar{align-items:center;background:var(--primary-gradient);border-radius:10px;color:var(--text-inverse);display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:36px;justify-content:center;width:36px}.user-details{display:flex;flex-direction:column}.user-name{color:#ffffffe6;font-size:.82rem;font-weight:600;line-height:1.2}.user-role{color:#94a3b880;font-size:.68rem;font-weight:500}.btn-logout{align-items:center;background:none;border:none;border-radius:8px;color:#94a3b866;cursor:pointer;display:flex;padding:.45rem;transition:all var(--transition)}.btn-logout:hover{background:rgba(var(--danger-rgb),.12);color:#f87171}.sidebar-actions{align-items:center;display:flex;gap:var(--space-1)}.btn-theme-toggle{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:#94a3b880;cursor:pointer;display:flex;padding:.45rem;transition:all var(--transition)}.btn-theme-toggle:hover{background:#ffffff14;color:#94a3b8e6}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-header{justify-content:center;padding:1.5rem .75rem}.sidebar.collapsed .logo-icon{border-radius:10px;height:36px;width:36px}.sidebar.collapsed .sidebar-nav{padding:.75rem .25rem}.sidebar.collapsed .nav-item{gap:0;justify-content:center;margin:2px 6px;padding:10px}.sidebar.collapsed .nav-item.active:before{left:0}.nav-section-divider{background:#ffffff0f;height:1px;margin:12px 12px 8px}.sidebar-collapse-btn{align-items:center;background:none;border:none;border-radius:10px;color:#94a3b866;cursor:pointer;display:flex;font-size:.78rem;font-weight:500;gap:.5rem;justify-content:center;margin:0 .4rem .15rem;padding:7px 12px;transition:all var(--transition)}.sidebar-collapse-btn:hover{background:#ffffff0f;color:#94a3b8b3}.sidebar.collapsed .sidebar-collapse-btn{margin:0 .25rem .25rem;padding:10px}.sidebar.collapsed .sidebar-footer{justify-content:center;padding:.75rem .5rem}.sidebar.collapsed .user-info{gap:0}.sidebar.collapsed .user-avatar{font-size:.72rem;height:32px;width:32px}.main-content{background-color:var(--bg);flex:1 1;margin-left:256px;max-width:calc(100% - 256px);min-height:100vh;overflow-x:hidden;padding:28px 36px;position:relative;transition:margin-left var(--transition-slow),max-width var(--transition-slow)}.sidebar-collapsed .main-content{margin-left:72px;max-width:calc(100% - 72px)}.main-topbar{align-items:center;display:flex;margin-bottom:var(--space-8);padding:var(--space-2) 0}.global-search{max-width:500px;position:relative;width:100%}.global-search-icon{color:var(--text-tertiary);left:16px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.global-search-input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-xs);color:var(--text-primary);font-size:.875rem;padding:11px 20px 11px 2.75rem;transition:all var(--transition);width:100%}.global-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);outline:none}.global-search-input::placeholder{color:var(--text-tertiary)}.global-search-dropdown{animation:fadeIn .15s ease;background:var(--bg-secondary);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-xl);left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 8px);z-index:200}.search-section{padding:var(--space-1) 0}.search-section-label{color:var(--text-tertiary);font-size:.68rem;font-weight:700;letter-spacing:.06em;padding:var(--space-2) var(--space-4) var(--space-1);text-transform:uppercase}.search-result-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:.85rem;gap:.75rem;margin:0 4px;padding:10px 16px;transition:background var(--transition-fast)}.search-result-item:hover{background:var(--primary-bg)}.search-result-article{color:var(--text-primary);flex-shrink:0;font-weight:700}.search-result-name{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-empty{color:var(--text-tertiary);font-size:.875rem;padding:2rem;text-align:center}@media (max-width:640px){.mobile-menu-btn{display:flex}.sidebar-backdrop{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a80;display:block;inset:0;position:fixed;z-index:99}.sidebar{box-shadow:4px 0 30px #0003;transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;max-width:100%;overflow-x:hidden;padding:4rem 16px 2rem}.main-topbar{margin-bottom:var(--space-4)}.global-search-input{font-size:.82rem;padding:10px 16px 10px 2.5rem}}@media (max-width:480px){.main-content{padding:3.5rem 12px 1.5rem}}.login-page{background:#f8f9fc;display:flex;min-height:100vh}.login-left{background:linear-gradient(160deg,#1a1225,#1e1535 40%,#15102a);color:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:center;overflow:hidden;padding:3.5rem 5rem;position:relative}.login-left-content{position:relative;z-index:2}.login-decor{border-radius:50%;pointer-events:none;position:absolute}.login-decor-1{animation:decorFloat 14s ease-in-out infinite alternate;background:radial-gradient(circle,#6366f126 0,#0000 65%);height:500px;right:-80px;top:-120px;width:500px}.login-decor-2{animation:decorFloat 18s ease-in-out infinite alternate-reverse;background:radial-gradient(circle,#e8520e14 0,#0000 65%);bottom:-100px;height:400px;left:-60px;width:400px}.login-decor-3{animation:decorLine 8s ease-in-out infinite;background:linear-gradient(180deg,#0000,#6366f140,#0000);border-radius:2px;height:200px;right:10%;top:50%;width:2px}@keyframes decorFloat{0%{transform:scale(1) translate(0)}50%{transform:scale(1.08) translate(10px,-8px)}to{transform:scale(1.12) translate(-5px,12px)}}@keyframes decorLine{0%,to{opacity:0;transform:translateY(-40px)}50%{opacity:1;transform:translateY(40px)}}.login-brand{animation:loginSlideUp .6s cubic-bezier(.34,1.56,.64,1) both;margin-bottom:3rem}.login-brand-divider{background:linear-gradient(90deg,#e8520e,#6366f1);border-radius:3px;height:3px;margin:1.25rem 0;width:48px}.login-brand-subtitle{color:#ffffff59;font-size:.8rem;font-weight:500;letter-spacing:.15em;margin:0;text-transform:uppercase}.login-hero{animation:loginSlideUp .6s cubic-bezier(.34,1.56,.64,1) .08s both;margin-bottom:3rem}.login-hero h2{color:#fff;font-size:2.4rem;font-weight:800;letter-spacing:-.04em;line-height:1.2;margin:0 0 1rem}.hero-accent{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e8520e,#f4943e);-webkit-background-clip:text;background-clip:text}.login-hero-desc{color:#ffffff73;font-size:.95rem;line-height:1.7;margin:0;max-width:440px}.login-features{grid-gap:1rem;animation:loginSlideUp .6s cubic-bezier(.34,1.56,.64,1) .16s both;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.login-feature{align-items:flex-start;background:#ffffff0a;border:1px solid #ffffff12;border-radius:14px;display:flex;gap:.85rem;padding:1rem;transition:all .3s ease}.login-feature:hover{background:#ffffff12;border-color:#6366f140;transform:translateY(-2px)}.feature-icon{align-items:center;background:linear-gradient(135deg,#6366f133,#8b5cf61a);border-radius:10px;color:#a5b4fc;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.login-feature strong{color:#ffffffe6;display:block;font-size:.85rem;font-weight:700;margin-bottom:.15rem}.login-feature span{color:#ffffff59;font-size:.78rem;line-height:1.4}.login-left-footer{bottom:2.5rem;color:#fff3;font-size:.78rem;left:5rem;letter-spacing:.05em;position:absolute;z-index:2}@keyframes loginSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-right{align-items:center;background:var(--bg-base);display:flex;flex-shrink:0;justify-content:center;padding:3rem;position:relative;width:480px}[data-theme=dark] .login-right{background:var(--bg-secondary)}[data-theme=dark] .login-form .form-input:focus{background:var(--bg-elevated)}.login-card{animation:loginSlideUp .5s cubic-bezier(.34,1.56,.64,1) .1s both;max-width:360px;width:100%}.login-mobile-logo{display:none;margin-bottom:2rem}.login-header{margin-bottom:2.5rem}.login-header h2{color:var(--text-primary);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .5rem}.login-header p{color:var(--text-secondary);font-size:.9rem}.login-form .form-group{margin-bottom:1.5rem}.login-form .form-label{color:var(--text-secondary);font-size:.82rem;font-weight:600;margin-bottom:8px}.login-form .form-input{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:.9rem;height:48px;padding:0 1rem;transition:all .2s ease}.login-form .form-input:focus{background:var(--bg-base);border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.password-wrapper{position:relative}.password-wrapper .form-input{padding-right:3rem}.password-toggle{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;display:flex;padding:.3rem;position:absolute;right:.85rem;top:50%;transform:translateY(-50%);transition:color .2s ease}.password-toggle:hover{background:#00000008;color:var(--text-secondary)}.login-btn{align-items:center;background:var(--primary-gradient);border:none;border-radius:12px;box-shadow:0 4px 16px rgba(var(--primary-rgb),.3);color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;height:48px;justify-content:center;letter-spacing:-.01em;margin-top:.75rem;transition:all .2s ease;width:100%}.login-btn:hover{box-shadow:0 8px 28px rgba(var(--primary-rgb),.4);transform:translateY(-2px)}.login-btn:active{transform:translateY(0) scale(.99)}.login-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.login-switch{border-top:1px solid var(--border-light);color:var(--text-secondary);display:flex;gap:var(--space-2);justify-content:center;margin-top:2rem;padding-top:2rem}.login-switch,.login-switch-btn{align-items:center;font-size:.85rem}.login-switch-btn{background:none;border:none;border-radius:8px;color:var(--primary);cursor:pointer;display:inline-flex;font-weight:700;gap:.35rem;padding:.3rem .6rem;transition:all .2s ease}.login-switch-btn:hover{background:var(--primary-bg)}.login-btn-row{display:flex;gap:var(--space-2)}.login-back-btn{flex:0 0 auto}.login-btn-row .login-btn{flex:1 1}.reg-check-icon{color:var(--success)}.reg-company-badge{align-items:center;background:var(--green-50);border:1px solid var(--green-200);border-radius:10px;color:var(--green-700);display:flex;font-size:.85rem;font-weight:500;gap:var(--space-2);margin-bottom:1rem;padding:.7rem 1rem}@media (max-width:1024px){.login-left{padding:3rem}.login-left-footer{left:3rem}.login-hero h2{font-size:2rem}}@media (max-width:768px){.login-left{display:none}.login-right{background:var(--bg-base);padding:2rem;width:100%}.login-mobile-logo{display:block}}