body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,body,html{background-color:#f3f4f6;font-family:sans-serif;height:100%;margin:0!important;overflow:hidden;padding:0!important;width:100%}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:16px}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:20px;box-shadow:0 20px 40px #0003;max-width:400px;padding:32px;width:100%}.login-header{text-align:center}.login-header h1{font-size:24px}.login-header p{color:#777;font-size:14px;margin-bottom:20px}.login-message{background:#fef2f2;border-radius:8px;color:#dc2626;margin-bottom:15px;padding:10px;text-align:center}.input-group{margin-bottom:16px}.input-group label{margin-bottom:6px}.input-group input{border:2px solid #eee;border-radius:10px;font-size:15px}.input-group input:focus{border-color:#764ba2}.login-button{background:linear-gradient(90deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;font-weight:700;margin-top:10px;padding:14px;width:100%}.footer-text{font-size:13px;margin-top:20px;text-align:center}.link{color:#764ba2;cursor:pointer;font-weight:700}@media (max-width:768px){.login-card{padding:20px}.login-header h1{font-size:20px}.input-group input{font-size:14px;padding:10px}.login-button{padding:12px}}@media (max-width:480px){.login-container{align-items:flex-start;padding-top:30px}}:root{--primary:#3b82f6;--primary-hover:#2563eb;--bg-page:#f8fafc;--error:#ef4444}.cu-container{align-items:center;background-color:#f8fafc;background-color:var(--bg-page);display:flex;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;padding:20px}.cu-card{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:20px;box-shadow:0 10px 30px #0000000a;max-width:400px;padding:40px;width:100%}.cu-header{margin-bottom:32px;text-align:left}.cu-header h2{color:#1e293b;color:var(--text-dark);font-size:22px;font-weight:800;margin:0}.cu-header p{color:#64748b;color:var(--text-muted);font-size:14px;margin-top:6px}.cu-vertical-form{display:flex;flex-direction:column;gap:20px}.input-group label{color:#475569}.cu-input{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;box-sizing:border-box;font-size:14px;outline:none;padding:12px 14px;transition:all .2s;width:100%}.cu-input:focus{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.cu-input.error{border-color:#ef4444;border-color:var(--error)}.error-msg{color:#ef4444;color:var(--error);font-size:12px;font-weight:600;margin-top:4px}.cu-select{background-color:#fff;cursor:pointer}.cu-footer{display:flex;justify-content:flex-start;margin-top:10px}.submit-btn{background:#3b82f6;background:var(--primary);border-radius:10px;font-size:14px;font-weight:700;transition:background .2s;width:100%}.submit-btn:hover:not(:disabled){background:#2563eb;background:var(--primary-hover)}.submit-btn:disabled{background:#cbd5e1;cursor:not-allowed}.lr-container{margin:auto;max-width:700px;padding:20px}.lr-header h1{font-size:1.8rem}.lr-header p{color:#64748b}.lr-balance-banner{align-items:center;background:#fff;border-radius:12px;display:flex;justify-content:space-around;margin:20px 0;padding:20px}.balance-item{text-align:center}.balance-item label{font-size:12px}.balance-item .count{color:#3b82f6;font-size:22px;font-weight:700}.balance-divider{background:#e2e8f0;height:40px;width:1px}.lr-form-card{background:#fff;border-radius:16px;padding:24px}.lr-date-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.lr-form-group{display:flex;flex-direction:column;gap:6px}input,textarea{border-radius:10px;padding:12px}.duration-preview{background:#f1f5f9;border-left:4px solid #3b82f6;margin:10px 0;padding:10px}.lr-actions{display:flex;gap:10px;justify-content:flex-end}.btn-submit{background:#3b82f6;padding:12px 20px}.btn-cancel{border:1px solid #ccc;padding:12px 20px}@media (max-width:768px){.lr-date-row{grid-template-columns:1fr}.lr-balance-banner{flex-direction:column;gap:10px}.balance-divider{display:none}.lr-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.app-shell{position:relative;width:100%}.app-shell,.app-sidebar{display:flex;height:100vh}.app-sidebar{background-color:#111827;color:#fff;flex-direction:column;min-width:260px;transition:transform .3s ease;width:260px}.sidebar-brand{border-bottom:1px solid #1f2937;font-weight:700;gap:12px;height:64px;padding:0 24px}.brand-icon,.sidebar-brand{align-items:center;display:flex}.brand-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:8px;height:32px;justify-content:center;width:32px}.brand-accent{color:#3b82f6}.sidebar-nav{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:16px}.nav-item{align-items:center;border-radius:8px;color:#9ca3af;display:flex;justify-content:space-between;padding:12px 16px;position:relative;text-decoration:none;transition:.2s}.nav-item:hover{background-color:#1f2937;color:#fff}.nav-item.nav-active{background-color:#3b82f6;color:#fff}.notification-dot{background-color:#ef4444;border-radius:50%;box-shadow:0 0 0 2px #111827;height:8px;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:8px}.nav-item.nav-active .notification-dot{box-shadow:0 0 0 2px #3b82f6}.app-main{background-color:#f9fafb;display:flex;flex:1 1;flex-direction:column;min-width:0}.content-overflow-wrapper{flex:1 1;overflow-y:auto;width:100%}.content-inner{padding:24px;width:100%}.mobile-header{align-items:center;background:#111827;color:#fff;display:none;padding:10px 16px}.menu-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:22px;margin-right:10px}.mobile-title{font-weight:700}.sidebar-overlay{background:#0006;height:100%;left:0;position:fixed;top:0;width:100%;z-index:998}@media (max-width:768px){.app-sidebar{height:100%;left:0;position:fixed;top:0;transform:translateX(-100%);z-index:999}.app-sidebar.open{transform:translateX(0)}.mobile-header{display:flex}.content-inner{padding:16px}}.main-header{background-color:#fff;border-bottom:1px solid #e5e7eb;box-sizing:border-box;height:64px;justify-content:space-between;padding:0 24px;width:100%}.header-right,.main-header{align-items:center;display:flex}.header-right{gap:20px}.user-greet{color:#6b7280;font-size:.9rem}.btn-logout{background-color:#fef2f2;border:1px solid #fee2e2;border-radius:6px;color:#dc2626;cursor:pointer;font-weight:600;padding:8px 16px;transition:.2s}.btn-logout:hover{background-color:#dc2626;color:#fff}.btn-change-password{background-color:#eff6ff;border:1px solid #dbeafe;border-radius:6px;color:#2563eb;cursor:pointer;font-weight:600;padding:8px 16px;transition:.2s}.btn-change-password:hover{background-color:#2563eb;border-color:#2563eb;color:#fff}.calendar-container{margin:auto;max-width:1100px;padding:16px}.calendar-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.calendar-title{color:#0f172a;font-size:clamp(20px,4vw,32px);font-weight:800}.month-picker{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:6px;padding:4px 6px}.month-picker button{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;height:28px;transition:.2s;width:28px}.month-picker button:hover{background:#f1f5f9}.month-picker input{background:#0000;border:none;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;outline:none;padding:2px 6px}.stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:20px 0}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:12px}.stat-card,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:8px;font-size:14px;height:28px;justify-content:center;width:28px}.stat-label{color:#64748b;font-size:11px;margin:0;text-transform:uppercase}.stat-value{color:#0f172a;font-size:18px;font-weight:700;margin:0}.calendar-wrapper{overflow-x:auto}.calendar-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-width:700px;overflow:hidden}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday{background:#f1f5f9;color:#64748b;font-size:12px;font-weight:700;padding:10px;text-align:center}.day-cell{border-left:4px solid #0000;border-radius:8px;font-size:12px;min-height:90px;padding:8px;position:relative;transition:.2s}.day-cell.present{background:#ecfdf5;border-left:4px solid #10b981}.day-cell.absent{background:#fef2f2;border-left:4px solid #ef4444}.day-cell.off{background:#fffbeb;border-left:4px solid #f59e0b}.day-cell.leave-approved{background:#eef2ff;border-left:4px solid #6366f1}.day-cell.leave-pending{background:#f8fafc;border-left:4px dashed #94a3b8}.day-cell.holiday{background:#f0fdfa;border-left:4px solid #14b8a6}.day-cell.inactive{background:#f8fafc;opacity:.6}.day-top{align-items:center;display:flex;justify-content:space-between}.today{background:#4f46e5;border-radius:8px;color:#fff;font-weight:700;padding:4px 8px}.dot{border-radius:50%;height:8px;width:8px}.dot.present{background:#10b981}.dot.absent{background:#ef4444}.dot.off{background:#f59e0b}.dot.leave-approved{background:#6366f1}.dot.leave-pending{background:#94a3b8}.dot.holiday{background:#14b8a6}.time{color:#334155;font-size:11px;margin-top:6px}.bypass-tag{color:#ec4899;font-style:italic;font-weight:600}.deduction-reason{color:#991b1b;font-size:10px;margin-bottom:22px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{bottom:6px;font-size:10px;left:6px;position:absolute;text-transform:capitalize}.badge.present{color:#065f46}.badge.absent{color:#991b1b}.badge.off{color:#92400e}.badge.leave-approved{color:#3730a3}.badge.leave-pending{color:#64748b}.badge.holiday{color:#0f766e}@media (max-width:768px){.calendar-title{font-size:20px}.month-picker{padding:6px 10px}.month-picker button{font-size:16px;height:34px;width:34px}.month-picker input{font-size:14px}.day-cell{font-size:11px;min-height:70px}.stat-value{font-size:16px}}.report-container{align-items:center;display:flex;justify-content:center;min-height:70vh;padding:20px}.report-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 20px 25px #00000014;max-width:420px;padding:32px;text-align:center;width:100%}.report-header h2{font-size:22px;font-weight:800;margin-bottom:6px}.report-header p{color:#64748b;font-size:13px;margin-bottom:20px}.report-field{margin-bottom:20px;text-align:left}.report-field label{color:#64748b;display:block;font-size:12px;font-weight:700;margin-bottom:6px}.report-field input{border:2px solid #e2e8f0;border-radius:10px;font-size:14px;padding:12px;width:100%}.report-btn{background:#4f46e5;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:14px;width:100%}.report-btn:disabled{background:#94a3b8;cursor:not-allowed}.report-footer{color:#94a3b8;font-size:11px;margin-top:15px}@media (max-width:768px){.report-card{padding:20px}.report-header h2{font-size:18px}.report-btn{padding:12px}}@media (max-width:480px){.report-container{align-items:flex-start;padding-top:20px}}.home-container{margin:0 auto;max-width:1200px;width:100%}.home-empty{align-items:center;color:#6b7280;display:flex;flex-direction:column;height:60vh;justify-content:center;text-align:center}.home-empty h2{font-size:24px;margin-bottom:10px}.home-empty p{font-size:16px}@media (max-width:768px){.home-container{padding:0 10px}.home-empty h2{font-size:20px}.home-empty p{font-size:14px}}.um-container{display:flex;flex-direction:column;gap:24px}.um-header{align-items:center;display:flex;justify-content:space-between}.um-title{color:#111827;font-size:1.5rem;margin:0}.um-subtitle{color:#6b7280;margin-top:4px}.um-btn-primary{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:.2s}.um-btn-primary:hover{background-color:#2563eb}.um-controls{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:16px}.um-search-input{border:1px solid #d1d5db;border-radius:8px;outline:none;padding:10px 16px;width:320px}.um-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.um-table-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.um-table{border-collapse:collapse;text-align:left;width:100%}.um-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.85rem;padding:16px;text-transform:uppercase}.um-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:16px}.um-badge-role{background:#eff6ff;border-radius:6px;color:#1e40af;font-size:.8rem;font-weight:500;padding:4px 8px}.um-status{align-items:center;display:flex;font-size:.8rem;font-weight:600;gap:6px}.um-status.active{color:#059669}.um-status.inactive{color:#9ca3af}.um-btn-edit{background:none;border:none;color:#3b82f6;cursor:pointer;font-weight:600}.setup-container{align-items:center;background-color:#f4f7f9;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;justify-content:center;min-height:100vh}.setup-form{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:400px;padding:40px;width:100%}.setup-form h2{color:#333;font-size:24px;margin-top:0}.setup-form p{color:#666;font-size:14px;margin-bottom:24px}.input-group{margin-bottom:20px}.input-group label{color:#444;display:block;font-size:14px;margin-bottom:8px}.input-group input{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:16px;padding:12px;width:100%}.input-group input:focus{border-color:#007aff;box-shadow:0 0 0 2px #007aff1a;outline:none}.setup-btn{background-color:#007aff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:14px;transition:background-color .2s;width:100%}.setup-btn:hover{background-color:#0056b3}.profile-container{margin:0 auto;max-width:900px;padding:20px}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.profile-info-brief{align-items:center;display:flex;gap:20px}.profile-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;font-size:1.5rem;font-weight:700;height:64px;justify-content:center;width:64px}.save-profile-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:.2s}.save-profile-btn:hover{background:#2563eb;transform:translateY(-1px)}.tabs-nav{border-bottom:2px solid #e5e7eb;display:flex;gap:32px;margin-bottom:24px}.tab-link{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 4px;position:relative}.tab-link.active{color:#3b82f6}.tab-link.active:after{background:#3b82f6;bottom:-2px;content:"";height:2px;left:0;position:absolute;width:100%}.tab-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d;padding:32px}.form-grid{grid-gap:24px;gap:24px;grid-template-columns:1fr 1fr}.full-width{grid-column:1/span 2}.input-group{gap:8px}.input-group label{color:#374151;font-size:.85rem;font-weight:700}.input-group input,.styled-select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;outline:none;padding:12px;transition:all .2s}.input-group input:focus,.styled-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.days-selector{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.day-pill{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#374151;cursor:pointer;font-weight:600;padding:10px 18px}.day-pill.selected{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.animated-fade{animation:fadeIn .3s ease-in-out}.view-lr-container{margin:auto;max-width:1100px;padding:20px}.view-lr-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:20px}.view-lr-header h1{color:#1e293b;font-size:1.6rem;margin:0}.view-lr-header p{color:#64748b;font-size:.9rem;margin:0}.request-leave-btn{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:fit-content;padding:8px 14px;white-space:nowrap}.request-leave-btn:hover{background-color:#2563eb}.filter-group{display:flex;gap:6px;margin:15px 0;overflow-x:auto;padding-bottom:4px}.filter-btn{background:#f1f5f9;border:none;border-radius:8px;cursor:pointer;font-size:13px;padding:6px 12px;white-space:nowrap}.filter-btn.active{background:#fff;box-shadow:0 2px 4px #0000000d;color:#3b82f6;font-weight:600}.table-wrapper{overflow-x:auto}.lr-table{background:#fff;border-collapse:collapse;border-radius:12px;min-width:800px;overflow:hidden;width:100%}.lr-table td,.lr-table th{border-bottom:1px solid #e2e8f0;font-size:13px;padding:12px;text-align:left}.lr-table th{background:#f8fafc;color:#64748b;font-weight:700}.emp-name-cell{font-weight:600;gap:8px}.emp-name-cell,.table-avatar{align-items:center;display:flex}.table-avatar{background:#e0e7ff;border-radius:50%;color:#4338ca;font-size:12px;height:28px;justify-content:center;width:28px}.status-badge{border-radius:6px}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#dcfce7;color:#166534}.status-badge.rejected{background:#fee2e2}.status-badge.cancelled{background:#e2e8f0;color:#475569}.action-buttons{display:flex;gap:6px}.act-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;padding:4px 8px}.act-btn.approve{background:#10b981;color:#fff}.act-btn.reject{background:#f1f5f9;color:#475569}.act-btn.cancel{background:#ef4444;color:#fff}.act-btn:hover{opacity:.9}.action-done{color:#94a3b8;font-style:italic}.reason-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-cell{color:#64748b;font-size:12px}.empty-state{color:#94a3b8;padding:20px}@media (max-width:768px){.view-lr-header h1{font-size:18px}.view-lr-header p{font-size:13px}.request-leave-btn{font-size:14px;padding:12px;width:100%}.lr-table td,.lr-table th{font-size:12px;padding:8px}.reason-cell{max-width:120px}}:root{--primary:#2563eb;--bg-subtle:#f8fafc;--text-main:#0f172a;--error-bg:#fef2f2;--error-text:#dc2626;--success-bg:#f0fdf4;--success-text:#166534}.cp-container{align-items:center;display:flex;justify-content:center;min-height:90vh;padding:16px}.cp-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 10px 25px #0000000d;max-width:420px;padding:32px;width:100%}.cp-header{margin-bottom:24px;text-align:center}.cp-icon{align-items:center;background:#eff6ff;border-radius:12px;color:#2563eb;color:var(--primary);display:flex;height:48px;justify-content:center;margin:0 auto 12px;width:48px}.cp-header h2{font-size:20px;font-weight:800;margin:0}.cp-header p{color:#64748b;color:var(--text-muted);font-size:13px;margin-top:6px}.cp-form{gap:16px}.cp-form,.cp-input-group{display:flex;flex-direction:column}.cp-input-group{gap:6px}.cp-input-group input{border:1px solid #e2e8f0;border-radius:10px;font-size:14px;padding:12px}.cp-divider{background:#f1f5f9;height:1px}.cp-message{border-radius:8px;font-size:13px;margin-bottom:16px;padding:10px;text-align:center}.cp-message.error{background:#fef2f2;background:var(--error-bg);color:#dc2626;color:var(--error-text)}.cp-message.success{background:#f0fdf4;background:var(--success-bg);color:#166534;color:var(--success-text)}.cp-actions{display:flex;gap:10px;margin-top:10px}.btn-save{background:#2563eb;background:var(--primary);border:none;border-radius:10px;color:#fff;flex:2 1;font-weight:700;padding:12px}.btn-cancel{background:#0000;border:1px solid #e2e8f0;border-radius:10px;flex:1 1;padding:12px}@media (max-width:768px){.cp-card{padding:20px}.cp-header h2{font-size:18px}.cp-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}}@media (max-width:480px){.cp-container{align-items:flex-start;padding-top:20px}}body{background:#f9fafb}.inv-page{color:#111827;margin:auto;max-width:760px;padding:24px 16px 48px}.inv-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.inv-header h1{font-size:24px;font-weight:700;letter-spacing:-.02em;margin:0}.inv-subtitle{color:#6b7280;font-size:14px;margin:4px 0 0}.inv-stats{display:flex;flex-wrap:wrap;gap:10px}.inv-stat{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;justify-content:center;min-width:64px;padding:8px 12px}.inv-stat-value{color:#2563eb;font-size:18px;font-weight:700}.inv-stat-label{color:#6b7280;font-size:11px;letter-spacing:.03em;text-transform:uppercase}.inv-banner{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;color:#1e3a8a;display:flex;font-size:14px;gap:10px;margin-bottom:16px;padding:12px 14px}.inv-banner svg{flex-shrink:0;margin-top:1px}.inv-banner p{margin:0}.inv-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px #1018280a;margin-bottom:16px;padding:16px}.inv-tabs{background:#f3f4f6;border-radius:10px;display:flex;gap:4px;margin-bottom:16px;padding:4px}.inv-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 10px;transition:background-color .15s ease,color .15s ease}.inv-tab:hover{color:#111827}.inv-tab.active{background:#fff;box-shadow:0 1px 3px #1018281a;color:#2563eb}.inv-tab-panel{animation:inv-fade-in .15s ease;display:flex;flex-direction:column;gap:12px}@keyframes inv-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.inv-field-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.inv-bulk-upload{border-top:1px dashed #e2e8f0;display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-top:14px}.inv-bulk-upload-header{align-items:center;color:#64748b;display:flex;font-size:12px;font-weight:700;gap:12px;justify-content:space-between;text-transform:uppercase}.inv-bulk-upload input[type=file]{font-size:13px}.inv-bulk-upload-result{color:#374151;font-size:13px}.inv-bulk-upload-skipped{background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;color:#9a3412;gap:4px;margin-top:6px;max-height:160px;overflow-y:auto;padding:8px 10px}.inv-bulk-upload-skipped,.inv-field{display:flex;flex-direction:column;font-size:12px}.inv-field{color:#374151;font-weight:600;gap:6px}.inv-field input,.inv-field select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;font-weight:400;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease}.inv-field input:focus,.inv-field select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.inv-field input:disabled,.inv-field select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.inv-balance-preview{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#166534;display:flex;font-size:13px;gap:8px;justify-content:space-between;padding:10px 12px}.inv-balance-preview strong{font-weight:700}.inv-btn-primary{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px;transition:background-color .15s ease}.inv-btn-primary:hover:not(:disabled){background:#1d4ed8}.inv-btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.inv-form-actions{display:flex;gap:8px}.inv-btn-secondary{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px;transition:background-color .15s ease,border-color .15s ease}.inv-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.inv-item-actions{margin-top:4px}.hint{color:#6b7280}.error,.hint{font-size:13px;margin:0}.error{color:#dc2626}.inv-toolbar{flex-wrap:wrap;gap:10px}.inv-search,.inv-toolbar{align-items:center;display:flex}.inv-search{border:1px solid #d1d5db;border-radius:8px;color:#9ca3af;flex:1 1 220px;gap:8px;padding:9px 12px}.inv-search:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.inv-search input{border:none;color:#111827;flex:1 1;font-size:14px;outline:none}.inv-toolbar-filters{display:flex;flex-wrap:wrap;gap:8px}.inv-toolbar-filters select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:13px;padding:9px 10px}.inv-toolbar-filters select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.inv-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.inv-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:14px;transition:box-shadow .15s ease,transform .15s ease}.inv-item-card:hover{box-shadow:0 4px 14px #10182814;transform:translateY(-1px)}.inv-item-tags{display:flex;flex-wrap:wrap;gap:6px}.inv-tag{background:#eff6ff;border-radius:999px;color:#2563eb;font-size:11px;font-weight:600;padding:2px 8px}.inv-tag-muted{background:#f3f4f6;color:#6b7280}.inv-item-name{color:#111827;font-size:15px;font-weight:600}.inv-item-price{color:#6b7280;font-size:12px}.inv-item-footer{align-items:center;display:flex;justify-content:space-between;margin-top:auto}.inv-item-unit{color:#9ca3af;font-size:12px}.inv-qty-pill{border-radius:999px;font-size:12px;font-weight:700;padding:3px 10px}.inv-qty-pill.in-stock{background:#d1fae5;color:#047857}.inv-qty-pill.out-of-stock{background:#fee2e2;color:#b91c1c}.inv-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:6px;grid-column:1/-1;justify-content:center;padding:48px 16px;text-align:center}.inv-empty svg{color:#d1d5db;margin-bottom:4px}.inv-empty p{color:#6b7280;font-size:15px;font-weight:600;margin:0}.inv-empty span{font-size:13px}.inv-page-mode-tabs{max-width:320px}.inv-history-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}.inv-history-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.inv-history-toolbar select{border:1px solid #d1d5db;border-radius:8px;font-size:13px;padding:8px 10px}.inv-history-table-wrap{overflow-x:auto}.inv-history-table{border-collapse:collapse;font-size:13px;white-space:nowrap;width:100%}.inv-history-table th{border-bottom:1px solid #e5e7eb;color:#6b7280;font-weight:600;padding:8px 10px;text-align:left}.inv-history-table td{border-bottom:1px solid #f3f4f6;color:#111827;padding:8px 10px}.inv-delta-pos{color:#047857;font-weight:600}.inv-delta-neg{color:#b91c1c;font-weight:600}@media (max-width:480px){.inv-header{align-items:flex-start}.inv-field-row{grid-template-columns:1fr}.inv-toolbar{align-items:stretch;flex-direction:column}.inv-search{flex:none}.inv-toolbar-filters{flex-direction:column}}:root{--f-primary:#2563eb;--f-primary-dark:#1d4ed8;--f-primary-light:#eff6ff;--f-bg:#f7f8fa;--f-surface:#fff;--f-border:#e5e7eb;--f-border-strong:#d1d5db;--f-text:#111827;--f-text-muted:#6b7280;--f-text-faint:#9ca3af;--f-success:#16a34a;--f-success-bg:#d1fae5;--f-success-text:#047857;--f-danger:#dc2626;--f-danger-bg:#fee2e2;--f-danger-text:#b91c1c;--f-warning:#d97706;--f-warning-bg:#fef3c7;--f-warning-text:#92400e;--f-info:#2563eb;--f-info-bg:#eff6ff;--f-info-text:#1e3a8a;--f-neutral-bg:#f3f4f6;--f-neutral-text:#4b5563;--f-radius-lg:16px;--f-radius:12px;--f-radius-sm:8px;--f-radius-pill:999px;--f-shadow-sm:0 1px 2px #1018280d;--f-shadow-md:0 4px 14px #10182814;--f-shadow-lg:0 12px 32px #1018281f;--f-transition:150ms ease}.f-shell{color:#111827;color:var(--f-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;margin:0 auto;max-width:1180px;padding:20px 20px 56px}.f-shell-narrow{max-width:800px}.f-nav-wrap{background:#fff;background:var(--f-surface);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--f-border);position:sticky;top:0;z-index:20}.f-nav{align-items:center;display:flex;gap:2px;margin:0 auto;max-width:1180px;overflow-x:auto;padding:0 20px;scrollbar-width:none}.f-nav::-webkit-scrollbar{display:none}.f-nav-brand{border-right:1px solid #e5e7eb;border-right:1px solid var(--f-border);color:#111827;color:var(--f-text);font-size:14px;font-weight:700;gap:8px;margin-right:6px;padding:14px 16px 14px 0}.f-nav-brand,.f-nav-link{align-items:center;display:flex;white-space:nowrap}.f-nav-link{border-bottom:2px solid #0000;color:#6b7280;color:var(--f-text-muted);flex-shrink:0;font-size:13px;font-weight:600;gap:6px;padding:14px;text-decoration:none;transition:color .15s ease,border-color .15s ease;transition:color var(--f-transition),border-color var(--f-transition)}.f-nav-link:hover{color:#111827;color:var(--f-text)}.f-nav-link.active{border-bottom-color:#2563eb;border-bottom-color:var(--f-primary);color:#2563eb;color:var(--f-primary)}.f-nav-link svg{flex-shrink:0}.f-page-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:22px}.f-page-header h1{align-items:center;display:flex;font-size:24px;font-weight:700;gap:10px;letter-spacing:-.02em;margin:0}.f-page-subtitle{color:#6b7280;color:var(--f-text-muted);font-size:14px;margin:4px 0 0}.f-page-actions{display:flex;flex-wrap:wrap;gap:8px}.f-card{background:#fff;background:var(--f-surface);border:1px solid #e5e7eb;border:1px solid var(--f-border);border-radius:16px;border-radius:var(--f-radius-lg);box-shadow:0 1px 2px #1018280d;box-shadow:var(--f-shadow-sm);margin-bottom:18px;padding:20px;transition:box-shadow .15s ease;transition:box-shadow var(--f-transition)}.f-card-title{color:#111827;color:var(--f-text);font-size:15px;font-weight:700;margin:0 0 4px}.f-card-hint{color:#6b7280;color:var(--f-text-muted);font-size:13px;line-height:1.5;margin:0 0 14px}.f-btn{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--f-radius-sm);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;justify-content:center;padding:9px 16px;transition:background-color .15s ease,border-color .15s ease,transform 80ms ease,box-shadow .15s ease;transition:background-color var(--f-transition),border-color var(--f-transition),transform 80ms ease,box-shadow var(--f-transition);white-space:nowrap}.f-btn:active:not(:disabled){transform:translateY(1px)}.f-btn:disabled{cursor:not-allowed;opacity:.55}.f-btn-primary{background:#2563eb;background:var(--f-primary);color:#fff}.f-btn-primary:hover:not(:disabled){background:#1d4ed8;background:var(--f-primary-dark)}.f-btn-secondary{background:#fff;background:var(--f-surface);border-color:#d1d5db;border-color:var(--f-border-strong);color:#111827;color:var(--f-text)}.f-btn-secondary:hover:not(:disabled){background:#f3f4f6;background:var(--f-neutral-bg)}.f-btn-danger{background:#fee2e2;background:var(--f-danger-bg);color:#b91c1c;color:var(--f-danger-text)}.f-btn-danger:hover:not(:disabled){background:#fecaca}.f-btn-success{background:#d1fae5;background:var(--f-success-bg);color:#047857;color:var(--f-success-text)}.f-btn-success:hover:not(:disabled){background:#a7f3d0}.f-btn-warning{background:#fef3c7;background:var(--f-warning-bg);color:#92400e;color:var(--f-warning-text)}.f-btn-warning:hover:not(:disabled){background:#fde68a}.f-btn-ghost{background:#0000;border-color:#0000;color:#6b7280;color:var(--f-text-muted)}.f-btn-ghost:hover:not(:disabled){background:#f3f4f6;background:var(--f-neutral-bg);color:#111827;color:var(--f-text)}.f-btn-sm{font-size:12px;padding:6px 11px}.f-badge{align-items:center;background:#f3f4f6;background:var(--f-neutral-bg);border-radius:999px;border-radius:var(--f-radius-pill);color:#4b5563;color:var(--f-neutral-text);display:inline-flex;font-size:11px;font-weight:700;gap:4px;letter-spacing:.02em;padding:3px 10px;text-transform:uppercase}.f-badge:before{background:currentColor;border-radius:50%;content:"";height:6px;opacity:.7;width:6px}.f-badge-success{background:#d1fae5;background:var(--f-success-bg);color:#047857;color:var(--f-success-text)}.f-badge-danger{background:#fee2e2;background:var(--f-danger-bg);color:#b91c1c;color:var(--f-danger-text)}.f-badge-warning{background:#fef3c7;background:var(--f-warning-bg);color:#92400e;color:var(--f-warning-text)}.f-badge-info{background:#eff6ff;background:var(--f-info-bg);color:#1e3a8a;color:var(--f-info-text)}.f-stat-grid{display:flex;flex-wrap:wrap;gap:12px}.f-stat-tile{background:#f3f4f6;background:var(--f-neutral-bg);border-radius:12px;border-radius:var(--f-radius);flex:1 1 150px;padding:14px 16px}.f-stat-tile.f-stat-highlight{background:#eff6ff;background:var(--f-primary-light)}.f-stat-label{color:#6b7280;color:var(--f-text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.f-stat-highlight .f-stat-label{color:#2563eb;color:var(--f-primary)}.f-stat-value{color:#111827;color:var(--f-text);font-size:20px;font-weight:800;margin-top:4px}.f-stat-highlight .f-stat-value{color:#1d4ed8;color:var(--f-primary-dark)}.f-field{color:#374151;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:6px}.f-field input,.f-field select,.f-field textarea{background:#fff;background:var(--f-surface);border:1px solid #d1d5db;border:1px solid var(--f-border-strong);border-radius:8px;border-radius:var(--f-radius-sm);color:#111827;color:var(--f-text);font-family:inherit;font-size:14px;font-weight:400;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--f-transition),box-shadow var(--f-transition)}.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-color:#2563eb;border-color:var(--f-primary);box-shadow:0 0 0 3px #2563eb1f;outline:none}.f-field-row{display:flex;flex-wrap:wrap;gap:12px}.f-table-wrap{border:1px solid #e5e7eb;border:1px solid var(--f-border);border-radius:12px;border-radius:var(--f-radius);overflow-x:auto}.f-table{border-collapse:collapse;font-size:13px;width:100%}.f-table th{background:#f3f4f6;background:var(--f-neutral-bg);color:#6b7280;color:var(--f-text-muted);font-size:11px;font-weight:700;letter-spacing:.03em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.f-table td{border-top:1px solid #e5e7eb;border-top:1px solid var(--f-border);color:#111827;color:var(--f-text);padding:10px 14px}.f-table tbody tr{transition:background-color .15s ease;transition:background-color var(--f-transition)}.f-table tbody tr:hover{background:#fafbfc}.f-empty{align-items:center;color:#9ca3af;color:var(--f-text-faint);display:flex;flex-direction:column;gap:6px;justify-content:center;padding:48px 16px;text-align:center}.f-empty svg{color:#d1d5db;color:var(--f-border-strong);margin-bottom:4px}.f-empty p{color:#6b7280;color:var(--f-text-muted);font-size:15px;font-weight:600;margin:0}.f-empty span{font-size:13px}.f-skeleton{animation:f-shimmer 1.4s ease infinite;background:linear-gradient(90deg,#f3f4f6 25%,#eceef1 37%,#f3f4f6 63%);background:linear-gradient(90deg,var(--f-neutral-bg) 25%,#eceef1 37%,var(--f-neutral-bg) 63%);background-size:400% 100%;border-radius:8px;border-radius:var(--f-radius-sm)}@keyframes f-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.f-tabs{background:#f3f4f6;background:var(--f-neutral-bg);border-radius:10px;display:flex;gap:4px;margin-bottom:16px;padding:4px;width:fit-content}.f-tab{background:#0000;border:none;border-radius:8px;color:#6b7280;color:var(--f-text-muted);cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:background-color .15s ease,color .15s ease;transition:background-color var(--f-transition),color var(--f-transition)}.f-tab:hover{color:#111827;color:var(--f-text)}.f-tab.active{background:#fff;background:var(--f-surface);box-shadow:0 1px 2px #1018280d;box-shadow:var(--f-shadow-sm);color:#2563eb;color:var(--f-primary)}.f-divider{border:none;border-top:1px solid #e5e7eb;border-top:1px solid var(--f-border);margin:18px 0}.f-error-text{color:#b91c1c;color:var(--f-danger-text);font-size:13px;margin:0}.f-hint-text{color:#6b7280;color:var(--f-text-muted);font-size:13px;margin:0}@media (max-width:640px){.f-shell{padding:14px 14px 40px}.f-page-header{align-items:stretch}.f-field-row,.f-page-header{flex-direction:column}}:root{--danger:#ef4444}.dh-container{background:#f1f5f9;background:var(--bg-main);display:flex;flex:1 1;height:100vh;overflow:hidden}.dh-main{background:#fff;background:var(--bg-white);display:flex;flex:1 1;flex-direction:column;height:100%}.dh-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 32px}.dh-content{grid-gap:32px;display:grid;flex:1 1;gap:32px;grid-template-columns:1fr 1fr;overflow-y:auto;padding:32px}.dh-card{background:#f8fafc;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;height:fit-content;min-height:400px;padding:24px}.dh-card h4{color:#4f46e5;color:var(--primary);font-size:14px;letter-spacing:.05em;margin:0 0 16px;text-transform:uppercase}.dh-input-group{display:flex;gap:8px;margin-bottom:20px}.dh-input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;flex:1 1;font-size:13px;height:40px;outline:none;padding:0 12px}.dh-input:focus{border-color:#4f46e5;border-color:var(--primary)}.btn-add{font-size:13px}.dh-list{display:flex;flex-direction:column;gap:8px}.dh-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#1e293b;color:var(--text-dark);display:flex;font-size:13px;justify-content:space-between;padding:10px 12px}.btn-remove{background:#0000;border:none;color:#94a3b8;cursor:pointer;font-size:14px;line-height:1;padding:4px}.btn-remove:hover{color:#ef4444;color:var(--danger)}.pm-container{background:#f1f5f9;background:var(--bg-main);display:flex;flex:1 1;height:100vh;overflow:hidden}.pm-main{background:#fff;background:var(--bg-white);display:flex;flex:1 1;flex-direction:column;height:100%}.pm-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 32px}.btn-create-project{background:#4f46e5;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.modal-overlay{align-items:center;background:#0f172a80;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-width:450px;padding:32px;width:100%}.modal-header{margin-bottom:24px}.modal-header h3{color:#1e293b;color:var(--text-dark);margin:0}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.btn-cancel{background:#f1f5f9;border:none;border-radius:6px;color:#64748b;color:var(--text-muted);cursor:pointer;font-weight:600;padding:10px 16px}.pm-content{flex:1 1;overflow-y:auto;padding:32px}.pm-table{border-collapse:collapse;width:100%}.pm-table th{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border);color:#64748b;color:var(--text-muted);font-size:12px;padding:12px;text-align:left;text-transform:uppercase}.pm-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);font-size:14px;padding:16px 12px}.status-pill{background:#dcfce7;border-radius:4px;color:#166534;font-size:12px;font-weight:600;padding:4px 8px}.sv-group{z-index:2}.sidebar-header{display:flex;flex-direction:column}.sidebar-header>div:first-child{align-items:center;display:flex;justify-content:space-between;width:100%}.sv-btn-danger-link{background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 6px;text-transform:uppercase;transition:all .2s ease}.sv-btn-danger-link:hover{background-color:#fee2e2;color:#b91c1c}.design-nav-item{background:#fff;border-bottom:1px solid #f1f5f9;padding:8px 12px;position:relative}.design-nav-item.active{background-color:#eef2ff;border-left:4px solid #4f46e5;border-left:4px solid var(--primary)}.drag-handle{color:#94a3b8;cursor:grab;font-size:18px;margin-right:10px;padding:0 4px;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.nav-del{margin-left:auto}.chat-content-header{gap:16px}.chat-title-info{flex:1 1}.chat-img{margin-top:4px}.chat-footer{border-top:1px solid var(--border);padding:20px 32px}.chat-footer input{border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;flex:1 1;font-size:14px;outline:none;padding:12px 16px}.chat-footer button{background:#111827;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:0 24px}.btn-attach{background:#f3f4f6!important;border:1px solid #e5e7eb!important;border:1px solid var(--border)!important;color:#111827!important;color:var(--text-main)!important;font-size:18px;padding:0 16px!important}.pdf-attachment-card{background:#f8fafc;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:8px;gap:12px;min-width:240px;padding:10px 14px}.pdf-attachment-card,.pdf-icon{align-items:center;display:flex}.pdf-icon{color:#ef4444}.pdf-details{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.pdf-name{color:#111827;color:var(--text-main);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-size{color:#6b7280;color:var(--text-muted);font-size:11px}.pdf-download-btn:hover{background:#dcfce7}.message-text{word-wrap:break-word;white-space:pre-wrap}:root{--bg-main:#f1f5f9;--bg-white:#fff;--border:#e2e8f0;--text-dark:#1e293b}.sdm-container{background:#f1f5f9;background:var(--bg-main);display:flex;flex:1 1;height:100vh;overflow:hidden}.sdm-main{background:#fff;background:var(--bg-white);display:flex;flex:1 1;flex-direction:column;height:100%}.sdm-header{flex-shrink:0;padding:16px 32px}.sdm-header,.sdm-setup-bar{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border)}.sdm-setup-bar{background:#f8fafc;padding:24px 32px}.sdm-form-row{align-items:flex-end;display:flex;gap:12px;max-width:600px}.sdm-field{flex:1 1}.sdm-label{color:#64748b;color:var(--text-muted);display:block;font-size:11px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.sdm-input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;box-sizing:border-box;font-size:13px;height:40px;padding:0 12px;width:100%}.sdm-input:focus{border-color:#4f46e5;border-color:var(--primary);outline:none}.btn-add{background:#4f46e5;background:var(--primary);font-weight:600;height:40px;padding:0 20px;white-space:nowrap}.sdm-content{flex:1 1;overflow-y:auto;padding:32px}.sdm-search-wrapper{margin-bottom:24px;max-width:400px}.sdm-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.sdm-item-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;padding:16px;transition:box-shadow .2s}.sdm-item-card:hover{border-color:#4f46e5;border-color:var(--primary);box-shadow:0 4px 6px -1px #0000000d}.dep-name{color:#1e293b;color:var(--text-dark);font-size:14px;font-weight:600}.btn-delete{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px}.btn-delete:hover{color:#ef4444}.loc-container{margin:0 auto;max-width:900px;padding:24px 16px 48px}.loc-header{border-bottom:1px solid #e2e8f0;margin-bottom:20px;padding-bottom:16px}.loc-header h2{font-size:22px;font-weight:800;margin-bottom:6px}.loc-header p{color:#64748b;font-size:13px;margin-bottom:16px}.loc-field{max-width:220px}.loc-field label{color:#64748b;display:block;font-size:11px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.loc-field input{border:2px solid #e2e8f0;border-radius:8px;box-sizing:border-box;font-size:13px;padding:10px 12px;width:100%}.loc-empty{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:13px;padding:32px;text-align:center}.loc-user-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px;overflow:hidden}.loc-user-header{align-items:baseline;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:10px;padding:12px 16px}.loc-user-name{font-size:14px;font-weight:700}.loc-user-email{color:#64748b;font-size:12px}.loc-table{border-collapse:collapse;font-size:13px;width:100%}.loc-table th{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:700;padding:8px 16px;text-align:left;text-transform:uppercase}.loc-table td{border-bottom:1px solid #f1f5f9;padding:8px 16px}.loc-table tr:last-child td{border-bottom:none}.loc-map-link{color:#4f46e5;font-weight:600;text-decoration:none}.loc-map-link:hover{text-decoration:underline}@media (max-width:768px){.loc-table{display:block;overflow-x:auto;white-space:nowrap}}.mark-att-container{display:flex;justify-content:center;padding:24px 16px 48px}.mark-att-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 20px 25px #00000014;max-width:420px;padding:32px;text-align:center;width:100%}.mark-att-icon-badge{align-items:center;background:#eef2ff;border-radius:28px;display:flex;font-size:24px;height:56px;justify-content:center;margin:0 auto 12px;width:56px}.mark-att-card h2{font-size:22px;font-weight:800;margin-bottom:6px}.mark-att-subtitle{color:#64748b;font-size:13px;margin-bottom:22px}.mark-att-status{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:14px;margin-bottom:20px;padding:20px 16px}.mark-att-status-empty{background:#0000;border:1.5px dashed #e2e8f0;color:#64748b;font-size:13px;font-weight:600}.mark-att-status-icon{align-items:center;background:#22c55e;border-radius:20px;color:#fff;display:flex;font-weight:700;height:40px;justify-content:center;margin:0 auto 8px;width:40px}.mark-att-status-icon-empty{background:#0000;color:inherit;font-size:20px;opacity:.6}.mark-att-status strong{color:#15803d;display:block;font-size:15px;margin-bottom:6px}.mark-att-coords{color:#0f172a;font-size:13px;font-weight:600}.mark-att-time{color:#64748b;font-size:12px;margin-top:4px}.mark-att-btn{background:#4f46e5;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:14px;width:100%}.mark-att-btn:disabled{background:#94a3b8;cursor:not-allowed}.mark-att-error{color:#dc2626;font-size:13px;margin-top:12px}.mark-att-link{color:#4f46e5;display:inline-block;font-size:13px;font-weight:600;margin-top:18px;text-decoration:none}.mark-att-link:hover{text-decoration:underline}.hol-container{margin:0 auto;max-width:800px;padding:24px 16px 48px}.hol-header{border-bottom:1px solid #e2e8f0;margin-bottom:20px;padding-bottom:16px}.hol-error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.9rem;margin-bottom:16px;padding:.5rem .75rem}.hol-form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:20px}.hol-form-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.hol-field{min-width:160px}.hol-field-grow{flex:1 1}.hol-field-roles{margin-top:14px}.hol-label{color:#64748b;display:block;font-size:11px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.hol-input{border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-size:13px;height:40px;padding:0 12px;width:100%}.hol-input:focus{border-color:#4f46e5;outline:none}.hol-form-actions{align-items:center;display:flex;gap:10px}.hol-btn-add{background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;height:40px;margin-top:14px;padding:0 20px;white-space:nowrap}.hol-btn-add:hover{opacity:.9}.hol-btn-cancel{background:none;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-weight:600;height:40px;margin-top:14px;padding:0 20px;white-space:nowrap}.hol-btn-cancel:hover{background:#f1f5f9}.hol-empty-state{color:#94a3b8;padding:40px 0;text-align:center}.hol-list{display:flex;flex-direction:column;gap:10px}.hol-item-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-left:4px solid #6366f1;border-radius:8px;display:flex;gap:16px;padding:14px 16px}.hol-item-date{color:#4338ca;font-size:13px;font-weight:600;min-width:160px;padding-top:3px}.hol-item-name{color:#1e293b;flex:1 1;font-size:14px;padding-top:3px}.hol-item-roles{background:#f1f5f9;border-radius:10px;color:#64748b;font-size:11px;font-weight:600;line-height:1.5;max-width:220px;padding:4px 10px;white-space:normal;word-break:break-word}.hol-item-actions{display:flex;flex-shrink:0;gap:8px}.hol-btn-edit{background:none;border:1px solid #c7d2fe;border-radius:6px;color:#4f46e5;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.hol-btn-edit:hover{background:#eef2ff}.hol-btn-remove{background:none;border:1px solid #fecaca;border-radius:6px;color:#ef4444;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.hol-btn-remove:hover{background:#fef2f2}.ded-container{margin:0 auto;max-width:800px;padding:24px 16px 48px}.ded-header{border-bottom:1px solid #e2e8f0;margin-bottom:20px;padding-bottom:16px}.ded-error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.9rem;margin-bottom:16px;padding:.5rem .75rem}.ded-form-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:20px}.ded-form{flex-direction:column}.ded-form,.ded-form-row{display:flex;gap:14px}.ded-form-row .ded-field{flex:1 1}.ded-label{color:#64748b;display:block;font-size:11px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.ded-input,.ded-textarea{border:1px solid #e2e8f0;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:13px;padding:8px 12px;width:100%}.ded-input{height:40px}.ded-textarea{resize:vertical}.ded-input:focus,.ded-textarea:focus{border-color:#4f46e5;outline:none}.ded-btn-add{align-self:flex-start;background:#4f46e5;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;height:40px;padding:0 20px;white-space:nowrap}.ded-btn-add:hover{opacity:.9}.ded-empty-state{color:#94a3b8;padding:40px 0;text-align:center}.ded-list{display:flex;flex-direction:column;gap:10px}.ded-item-card{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-left:4px solid #ef4444;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.ded-item-main{flex:1 1;min-width:0}.ded-item-top{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}.ded-item-employee{color:#1e293b;font-size:14px;font-weight:700}.ded-item-date{color:#4338ca;font-size:12px;font-weight:600}.ded-item-fraction{background:#fef2f2;border-radius:10px;color:#991b1b;font-size:11px;font-weight:700;padding:2px 8px}.ded-item-reason{color:#334155;font-size:13px}.ded-item-meta{color:#94a3b8;font-size:11px;margin-top:6px}.ded-btn-remove{background:none;border:1px solid #fecaca;border-radius:6px;color:#ef4444;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.ded-btn-remove:hover{background:#fef2f2}body{background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif}.container{margin:auto;max-width:960px;padding:24px 20px 56px}.container h2{color:#111827;font-size:24px;font-weight:700;letter-spacing:-.02em;margin-bottom:18px}.mr-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px #1018280a;display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:18px}.mr-card>strong{color:#111827;font-size:14px}.mr-input-group{display:flex;flex-direction:column}.mr-input-group input,.mr-input-group select{box-sizing:border-box;width:100%}.item{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px #1018280a;display:flex;gap:16px;justify-content:space-between;padding:18px;transition:box-shadow .15s ease}.item:hover{box-shadow:0 4px 14px #10182814}.item h4{color:#111827;font-size:15px;margin-bottom:2px}.item>.left>p{color:#6b7280;font-size:13px}.left{flex:1 1}.right{display:flex;flex-direction:column;gap:8px;min-width:260px}input,select,textarea{border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:13px;padding:9px 11px;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}button{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 15px;transition:background-color .15s ease,transform 80ms ease}button:hover{background:#1d4ed8}button:active{transform:translateY(1px)}button:disabled{background:#93c5fd;cursor:not-allowed}.status{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 10px;text-transform:uppercase;width:fit-content}.created{background:#eff6ff;color:#1e3a8a}.quoted{background:#fef3c7;color:#92400e}.approved{background:#d1fae5;color:#047857}.declined{background:#fee2e2;color:#b91c1c}.received{background:#cffafe;color:#0e7490}.invoiced{background:#f3f4f6;color:#4b5563}.pending_approval{background:#fef3c7;color:#92400e}.partially_received{background:#dbeafe;color:#1d4ed8}.available-line-row,.po-line-row{align-items:center;flex-wrap:wrap}.available-line-row .left{flex:1 1 220px}.available-line-row input{box-sizing:border-box;flex:none;min-width:150px;width:150px}.available-line-row button{white-space:nowrap}.seller-list{margin-top:10px}.seller{background:#eff6ff;border-radius:8px;display:flex;font-size:13px;justify-content:space-between;margin-top:5px;padding:8px 10px}.seller.lowest{background:#d1fae5;color:#047857;font-weight:700}.invoice{display:flex;justify-content:space-between;margin-top:5px}.timeline{color:#6b7280;display:flex;flex-direction:column;font-size:12px;gap:3px;margin-top:10px}.row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.row input[type=file],.row input[type=text]{flex:1 1;min-width:0}.row button{white-space:nowrap}@media (max-width:600px){.row{align-items:stretch;flex-direction:column}.row button,.row input{width:100%}.row button{margin-top:4px}.item{flex-direction:column}}body,html{overflow:hidden;position:fixed}.app-wrapper{background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;height:calc(100vh - 49px);height:calc(100dvh - 49px)}.header{border-bottom:1px solid #e5e7eb}.header-actions{align-items:center}.dropdown{border-radius:8px;font-size:13px;padding:9px 10px;transition:border-color .15s ease,box-shadow .15s ease}.dropdown:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.btn-blue{background:#2563eb;border-radius:8px;font-size:13px;padding:9px 16px;transition:background-color .15s ease}.btn-blue:hover:not(:disabled){background:#1d4ed8}.btn-blue:disabled{background:#93c5fd;cursor:not-allowed}.main-content{overflow:hidden}.sidebar{width:300px}.sidebar-header{padding:12px}.new-task-row{display:flex;gap:6px;margin-bottom:8px}.new-task-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-size:13px;padding:9px 10px;transition:border-color .15s ease}.new-task-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.new-task-btn{background:#16a34a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:0 14px;transition:background-color .15s ease}.new-task-btn:hover{background:#15803d}.filter-input{border:1px solid #e5e7eb;border-radius:8px;font-size:13px;padding:9px 10px;transition:border-color .15s ease;width:100%}.filter-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}.list-container{padding:6px}.list-item{font-size:13.5px;margin-bottom:2px;padding:12px;transition:background-color .15s ease,color .15s ease}.list-item:hover{background:#f3f4f6}.list-item.active{color:#2563eb;font-weight:600}.content-area{background:#fff;height:100%}.chat-view{background:#f7f8fa;overflow:hidden}.chat-action-bar{gap:10px;padding:10px 16px}.view-toggle-bar{background:#f7f8fa;display:flex;flex-shrink:0;gap:10px;padding:10px 16px 0}.btn-action{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;color:#374151;transition:background-color .15s ease,border-color .15s ease}.btn-action:hover{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.btn-tab{background:#eef0f3;border:1px solid #e5e7eb;border-bottom:none;border-radius:8px 8px 0 0;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px;transition:all .2s ease}.btn-tab.active{background:#fff;border-bottom:2px solid #2563eb;color:#2563eb}.message-list{background:#fff;gap:10px;padding:15px}.bubble{box-shadow:0 1px 2px #1018280f;max-width:85%}.bubble.me{background:#2563eb;border-bottom-right-radius:3px}.bubble.other{border-bottom-left-radius:3px}.chat-img{border-radius:10px;margin:5px 0}.chat-footer{gap:10px;padding:10px 12px}.chat-input{background:#f7f8fa;border:1px solid #e5e7eb;border-radius:20px;transition:border-color .15s ease}.chat-input:focus{border-color:#2563eb}.btn-send{background:#2563eb;border-radius:20px;padding:10px 18px;transition:background-color .15s ease}.btn-send:hover{background:#1d4ed8}.progress-view{background:#fff;display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:24px}.progress-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px #1018280a;padding:20px}.progress-bar-container{background:#eef0f3;border-radius:10px;height:10px;margin-top:10px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:10px;height:100%;transition:width .3s ease}.progress-bar-fill.paused{background:linear-gradient(90deg,#d97706,#f59e0b)}.progress-title{color:#111827;font-size:17px;font-weight:700;margin-bottom:6px}.progress-desc{color:#6b7280;font-size:14px}.progress-status-row{color:#374151;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:8px}.progress-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.dispatch-btn{background:#7c3aed;color:#fff}.dispatch-btn:hover:not(:disabled){background:#6d28d9}.progress-section{border-top:1px solid #e5e7eb;margin-top:32px;padding-top:22px}.progress-section-title{color:#374151;font-size:13px;font-weight:700;letter-spacing:.03em;margin-bottom:12px;text-transform:uppercase}.history-list{list-style:none;margin:0;padding:0}.history-item{align-items:center;border-bottom:1px solid #f1f2f4;display:flex;gap:10px;justify-content:space-between;padding:12px 6px}.history-item:last-child{border-bottom:none}.history-item-left{align-items:center;display:flex;gap:10px}.history-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.history-dot.started{background:#2563eb}.history-dot.paused{background:#d97706}.history-dot.finished{background:#16a34a}.history-status-label{color:#111827;font-size:13.5px;font-weight:600}.history-meta{align-items:flex-end;display:flex;flex-direction:column;font-size:12px}.history-by{color:#374151;font-weight:600}.history-date{color:#9ca3af}.worker-add-row{display:flex;gap:10px;margin-bottom:14px}.worker-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.worker-item{align-items:center;background:#f7f8fa;border-radius:8px;display:flex;justify-content:space-between;padding:10px 14px}.worker-name{color:#111827;font-size:13.5px;font-weight:600}.worker-remove-btn{background:none;border:none;border-radius:6px;color:#dc2626;cursor:pointer;font-size:12px;font-weight:700;padding:4px 6px;transition:background-color .15s ease}.worker-remove-btn:hover{background:#fee2e2}.cost-report-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.log-hours-date{border:1px solid #d1d5db;border-radius:8px;flex:1 1 140px;font-family:inherit;padding:10px 12px}.log-hours-time-group{align-items:center;display:flex;flex:0 0 auto;gap:8px}.log-hours-time-group input{border:1px solid #d1d5db;border-radius:8px;font-family:inherit;padding:10px 12px;width:120px}.log-hours-to{color:#9ca3af;font-size:13px}:root{--border:#e5e7eb;--primary:#4f46e5;--bg-sidebar:#f9fafb;--text-main:#111827;--text-muted:#6b7280}.sv-container{background:#fff;display:flex;font-family:Inter,sans-serif;height:100vh}.sv-main{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.sv-header{background:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);padding:12px 24px}.sv-header h2{color:#111827;color:var(--text-main);font-size:15px;font-weight:700;margin:0}.sv-selection-bar{align-items:flex-end;background:#fdfdfd;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;gap:16px;padding:12px 24px}.sv-group{display:flex;flex:1 1;flex-direction:column;gap:4px;max-width:280px}.sv-label{color:#6b7280;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.sv-btn-primary{background:#111827;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;height:38px;padding:0 16px}.sv-workspace{display:flex;flex:1 1;overflow:hidden}.sv-col-sidebar{background:#f9fafb;background:var(--bg-sidebar);border-right:1px solid #e5e7eb;border-right:1px solid var(--border);display:flex;flex-direction:column;width:280px}.sidebar-header{border-bottom:1px solid var(--border);padding:20px}.add-design-box{display:flex;gap:6px;margin-top:10px}.add-design-box input{border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:6px;flex:1 1;font-size:13px;outline:none;padding:8px}.add-design-box button{background:#4f46e5;background:var(--primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;width:34px}.sidebar-list{flex:1 1;overflow-y:auto;padding:12px}.design-nav-item{align-items:center;border-radius:8px;color:#6b7280;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:space-between;margin-bottom:4px;padding:12px 16px;transition:all .2s}.design-nav-item:hover{background:#f3f4f6;color:#111827;color:var(--text-main)}.design-nav-item.active{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);box-shadow:0 1px 3px #0000001a;color:#4f46e5;color:var(--primary)}.nav-del{background:none;border:none;color:#9ca3af;cursor:pointer;opacity:0}.design-nav-item:hover .nav-del{opacity:1}.sv-col-main-chat{background:#fff;display:flex;flex:1 1;flex-direction:column}.chat-flex-container{display:flex;flex-direction:column;height:100%}.chat-content-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 32px}.chat-title-info h3{color:#111827;color:var(--text-main);font-size:18px;margin:0}.chat-title-info p{color:#6b7280;color:var(--text-muted);font-size:12px;margin:2px 0 0}.header-dep-selector{width:300px}.chat-window{background:#fafafa;flex:1 1;gap:16px;overflow-y:auto;padding:32px}.chat-msg,.chat-window{display:flex;flex-direction:column}.msg-left{align-items:flex-start}.msg-right{align-items:flex-end}.msg-bubble{border-radius:12px;box-shadow:0 1px 2px #0000000d;font-size:14px;line-height:1.5;max-width:70%;padding:12px 16px}.msg-left .msg-bubble{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border);border-bottom-left-radius:2px;color:#111827;color:var(--text-main)}.msg-right .msg-bubble{background:#4f46e5;background:var(--primary);border-bottom-right-radius:2px;color:#fff}.msg-info{font-size:10px;font-weight:600;margin-bottom:4px;opacity:.8}.no-selection{align-items:center;color:#9ca3af;display:flex;flex:1 1;flex-direction:column;justify-content:center}.info-icon{font-size:32px;margin-bottom:12px}.pdf-download-btn{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#22c55e;display:flex;justify-content:center;padding:8px;text-decoration:none;transition:all .2s}@media (max-width:768px){.main-content{flex-direction:column}.sidebar{border-bottom:1px solid #ddd;border-right:none;height:35%;width:100%}.content-area{height:65%}}.notification-container{background-color:#f9fafb;min-height:100vh;padding:1rem}@media (min-width:640px){.notification-container{padding-bottom:1.5rem;padding-top:1.5rem}}.notification-card{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;margin-left:auto;margin-right:auto;max-width:42rem;overflow:hidden}.notification-header{border-b:1px solid #e5e7eb;align-items:center;background-color:#f9fafb;display:flex;justify-content:space-between;padding:.625rem 1rem}.header-left{align-items:center;display:flex;gap:.5rem}.header-title{color:#1f2937;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.unread-badge{background-color:#dbeafe;border-radius:.25rem;color:#1d4ed8;font-size:10px;font-weight:600;padding:.125rem .375rem}.mark-read-btn{background:none;border:none;color:#2563eb;cursor:pointer;font-size:.75rem;font-weight:500;transition:color .1s}.mark-read-btn:hover{color:#1d4ed8}.notification-list{background-color:#fff}.notification-list>*+*{border-top:1px solid #e5e7eb}.notification-row{align-items:start;box-sizing:border-box;cursor:pointer;display:flex;gap:.625rem;padding:.5rem 1rem;transition:background-color .1s;-webkit-user-select:none;user-select:none;width:100%}.notification-row.unread{background-color:#dbeafe33}.notification-row.unread:hover{background-color:#dbeafe80}.notification-row.read{background-color:#fff}.notification-row.read:hover{background-color:#f9fafb}.status-dot-wrapper{flex-shrink:0;padding-top:.375rem}.status-dot{border-radius:9999px;height:5px;width:5px}.status-dot.active{background-color:#2563eb}.status-dot.inactive{background-color:initial}.content-wrapper{flex:1 1;min-width:0}.heading-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between;width:100%}.notif-title{max-w:75%;color:#111827;font-size:.75rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:640px){.notif-title{font-size:.875rem;max-width:85%}}.notif-title.unread-text{font-weight:600}.notif-title.read-text{color:#374151;font-weight:400}.notif-time{color:#9ca3af;flex-shrink:0;font-size:10px;font-weight:400;white-space:nowrap}.notif-description{color:#6b7280;display:block;font-size:.75rem;margin:.125rem 0 0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.empty-state{font-size:.75rem;padding:2rem}.notification-tabs{-ms-overflow-style:none;border-bottom:1px solid #e1e4e8;display:flex;gap:16px;margin-bottom:16px;overflow-x:auto;padding:0 20px;scrollbar-width:none}.notification-tabs::-webkit-scrollbar{display:none}.tab-btn{background:none;border-bottom:2px solid #0000;color:#6a737d;font-size:14px;font-weight:500;padding:8px 4px;text-transform:capitalize;transition:color .2s ease,border-color .2s ease}.tab-btn:hover{color:#24292e}.tab-btn.active{border-bottom:2px solid #0366d6;color:#0366d6;font-weight:600}.inventory-page-wrapper{background-color:#f8f9fa;color:#333;font-family:Inter,-apple-system,sans-serif;padding:12px 8px}@media (min-width:640px){.inventory-page-wrapper{padding:24px 16px}}.inventory-container{gap:16px;max-width:950px}@media (min-width:640px){.inventory-container{gap:24px}}.inventory-card{border-radius:10px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.form-row{display:flex;flex-direction:column;gap:14px;padding:16px}@media (min-width:640px){.form-row{align-items:flex-end;flex-direction:row;gap:12px}}.input-group{width:100%}@media (min-width:640px){.input-group{flex:1 1;min-width:200px}.input-group.short{flex:0 0 140px;min-width:120px}}.input-group label{color:#666;font-size:12px;font-weight:600}.inv-input,.inv-select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:16px;height:42px;outline:none;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}@media (min-width:640px){.inv-input,.inv-select{font-size:14px;height:38px}}.inv-input:focus,.inv-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.btn-submit{background-color:#2563eb;border-radius:8px;font-weight:600;height:42px;transition:background-color .15s ease;width:100%}@media (min-width:640px){.btn-submit{height:38px;padding:0 20px;width:auto}}.btn-submit:hover{background-color:#1d4ed8}@media (min-width:769px){.inv-table th{background-color:#fafbfc;box-shadow:inset 0 -1px 0 #eee;position:sticky;top:0;z-index:2}}@media (max-width:768px){.inv-table thead{display:none}.inv-table tbody,.inv-table td,.inv-table tr{box-sizing:border-box;display:block;width:100%}.inv-table tr{background:#fff;border-bottom:6px solid #e9ecef;padding:12px 14px}.inv-table tr:last-child{border-bottom:none}.inv-table td{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;padding:8px 0;text-align:right!important}.inv-table td:last-child{border-bottom:none;justify-content:flex-end;padding-top:12px}.inv-table td:before{color:#666;content:attr(data-label);font-size:12px;font-weight:600;padding-right:10px;text-align:left}}@media (min-width:769px){.inv-table{font-size:13px}.inv-table th{background-color:#fafbfc;border-bottom:1px solid #eee;color:#666;font-weight:600;padding:10px 16px;white-space:nowrap}.inv-table td{border-bottom:1px solid #f1f3f5;padding:12px 16px;vertical-align:middle}.text-center{text-align:center}.text-right{text-align:right}}.status-badge.CREATED,.status-badge.PENDING{background-color:#ffeeba;color:#856404}.status-badge.APPROVED,.status-badge.COMPLETED{background-color:#d4edda;color:#155724}.status-badge.REJECTED{background-color:#f8d7da;color:#721c24}.status-badge.CANCELLED{background-color:#e2e3e5;color:#383d41}.status-badge.IN_PROGRESS{background-color:#cce5ff;color:#004085}.request-header-list{display:flex;flex-direction:column;gap:16px;padding:16px}.request-header-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.request-header-meta{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;gap:10px;padding:10px 14px}.request-header-date{color:#6b7280;font-size:12px}.fulfillment-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.fulfillment-list li{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.fulfillment-source{color:#374151;font-weight:600}.fulfillment-empty{color:#9ca3af;font-size:12px;font-style:italic}.fulfillment-confirmed{color:#047857;font-size:11px;font-weight:600}.fulfillment-po-status{background:#fef3c7;border-radius:999px;color:#b45309;font-size:11px;font-weight:600;padding:2px 8px}.btn-row-action{border:none;border-radius:8px;font-weight:600;height:36px;padding:0 14px;transition:background-color .15s ease,transform 80ms ease;white-space:nowrap;width:100%}.btn-row-action:active{transform:translateY(1px)}@media (min-width:769px){.btn-row-action{font-size:12px;height:30px;padding:0 12px;width:auto}}.btn-row-action.success{background-color:#16a34a;color:#fff}.btn-row-action.success:hover{background-color:#15803d}.btn-row-action.danger{background-color:#dc2626;color:#fff}.btn-row-action.danger:hover{background-color:#b91c1c}.return-actions-cell{width:100%}.return-input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:15px;padding:6px 8px;text-align:center;transition:border-color .15s ease,box-shadow .15s ease;width:75px}.return-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}@media (min-width:769px){.return-input{font-size:13px;height:30px;width:70px}}.badge-all-returned{background-color:#fee2e2;border-radius:999px;color:#b91c1c;font-size:11px;font-weight:600;padding:3px 9px}.horizontal-tabs{-webkit-overflow-scrolling:touch;background-color:#f1f3f5;border-bottom:1px solid #e5e7eb;display:flex;overflow-x:auto;white-space:nowrap}.tab-button{background:#0000;color:#6c757d;flex:1 1;font-size:13px;font-weight:600;min-width:140px;padding:12px 16px;text-align:center;transition:all .2s ease-in-out}.tab-button:hover{background-color:#e9ecef;color:#2563eb}.tab-button.active{border-bottom-color:#2563eb;color:#2563eb;font-weight:700}.tab-button.active,.tab-content{background-color:#fff}.filter-toolbar,.metric-card{border:1px solid #e5e7eb;border-radius:10px}.btn-filter{border:1px solid #e5e7eb}.btn-filter.active{background:#2563eb;border-color:#2563eb}.main-ledger-card{border:1px solid #e5e7eb;border-radius:10px}.card-header{border-bottom:1px solid #e5e7eb}.status-badge{padding:3px 9px}.action-buttons-cell{align-items:center;flex-wrap:wrap;row-gap:8px}.qty-input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;flex-shrink:0;font-size:14px;height:38px;padding:0 8px;text-align:center;transition:border-color .15s ease,box-shadow .15s ease;width:80px}.qty-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f;outline:none}@media (min-width:769px){.qty-input{font-size:13px;height:32px;width:68px}}.btn-decision{border-radius:8px;transition:background-color .15s ease,transform 80ms ease}.btn-decision:active{transform:translateY(1px)}.btn-decision:disabled{cursor:not-allowed;opacity:.45}.btn-decision.purchase{background-color:#f59e0b;color:#fff}.btn-decision.purchase:hover{background-color:#d97706}.action-groups{display:flex;flex-direction:column;gap:6px;width:100%}@media (min-width:769px){.action-groups{align-items:flex-end;width:auto}}.tab-navigation-bar{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d;display:flex;gap:8px;padding:6px}.tab-btn{border-radius:8px;text-align:center;transition:all .15s ease}.tab-btn:hover{background:#f1f3f5;color:#111827}.tab-btn.active{background:#2563eb}@media (max-width:640px){.tab-navigation-bar{flex-direction:column;gap:4px}.tab-btn{font-size:12px;padding:12px;width:100%}}.status-badge{border-radius:999px;display:inline-block;letter-spacing:.02em;padding:4px 10px}.status-badge.created{background-color:#e2e8f0;color:#475569}.status-badge.approved{background-color:#d1fae5;color:#065f46}.status-badge.rejected{background-color:#fee2e2;color:#991b1b}.status-badge.cancelled{background-color:#f3f4f6;color:#6b7280}.status-badge.dispatched{background-color:#dbeafe;color:#1e40af}.status-badge.received{background-color:#fef3c7;color:#92400e}.bypass-page-wrapper{background-color:#f8f9fa;box-sizing:border-box;color:#333;font-family:Inter,-apple-system,sans-serif;min-height:100vh;padding:12px 8px}@media (min-width:640px){.bypass-page-wrapper{padding:24px 16px}}.bypass-container{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:950px}@media (min-width:640px){.bypass-container{gap:24px}}.bypass-card{background:#fff;border:1px solid #dcdcdc;border-radius:6px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr;padding:16px}@media (min-width:640px){.form-grid{align-items:flex-end;grid-template-columns:repeat(3,1fr)}}.input-block{display:flex;flex-direction:column;gap:6px}.input-block label{color:#666;font-size:12px;font-weight:600}.bp-input,.bp-select{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:16px;height:42px;outline:none;padding:8px 12px;width:100%}@media (min-width:640px){.bp-input,.bp-select{font-size:14px;height:38px}}.bp-input:focus,.bp-select:focus{border-color:#06f}.btn-submit-req{background-color:#06f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:42px;transition:background .15s;width:100%}@media (min-width:640px){.btn-submit-req{height:38px}}.btn-submit-req:hover{background-color:#0052cc}.bp-table{border-collapse:collapse;width:100%}@media (max-width:768px){.bp-table thead{display:none}.bp-table tbody,.bp-table td,.bp-table tr{box-sizing:border-box;display:block;width:100%}.bp-table tr{background:#fff;border-bottom:6px solid #e9ecef;padding:12px 14px}.bp-table tr:last-child{border-bottom:none}.bp-table td{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;padding:8px 0;text-align:right!important}.bp-table td:last-child{border-bottom:none;justify-content:flex-end;padding-top:12px}.bp-table td:before{color:#666;content:attr(data-label);font-size:12px;font-weight:600;padding-right:10px;text-align:left}}@media (min-width:769px){.bp-table{font-size:13px}.bp-table th{background-color:#fafbfc;border-bottom:1px solid #eee;color:#666;font-weight:600;padding:12px 16px;white-space:nowrap}.bp-table td{border-bottom:1px solid #f1f3f5;padding:14px 16px;vertical-align:middle}.text-center{text-align:center}.text-right{text-align:right}}.actions-flex{display:flex;gap:6px;justify-content:flex-end;width:100%}.btn-act{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;height:32px;padding:0 12px;transition:background .1s ease}@media (max-width:768px){.btn-act{flex:1 1;font-size:13px;height:36px}}.btn-act.approve{background-color:#28a745;color:#fff}.btn-act.approve:hover{background-color:#218838}.btn-act.reject{background-color:#dc3545;color:#fff}.btn-act.reject:hover{background-color:#c82333}.btn-act.cancel{background-color:#6c757d;color:#fff}.btn-act.cancel:hover{background-color:#5a6268}.full-width{grid-column:1/-1}.time-select-group{align-items:center;display:flex;gap:6px}.time-select{flex:1 1;min-width:0;text-align:center}.time-colon{color:#4b5563;font-weight:700}.container *{box-sizing:border-box}body{background:#f5f6fa}.container{margin:0 auto;max-width:800px;padding:20px 16px}h2{color:#111827;margin-bottom:24px;margin-top:0;text-align:center}.action-buttons-group{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}@media (min-width:640px){.action-buttons-group{align-items:stretch;flex-direction:row;justify-content:space-between}.action-buttons-group>*{display:flex;flex:1 1}}.card{background:#fff;border:1px solid #eaeaea;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:20px}@media (min-width:640px){.card{align-items:stretch;flex-direction:row}.card input{flex:1 1}.card button{min-width:140px}}.card input,.search{border:1px solid #dcdcdc;border-radius:6px;font-size:14px;outline:none;padding:12px 14px;transition:border-color .2s ease;width:100%}.card input:focus,.search:focus{border-color:#06f}.card button{background:#06f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:background .15s ease}.card button:hover{background:#005ce6}.card button:active{background:#004ecc}.search{background:#fff;box-shadow:0 1px 3px #00000008;margin-bottom:20px}.list{display:flex;flex-direction:column;gap:12px}.list p{margin:0}.list-item{align-items:center;background:#fff;border:1px solid #eaeaea;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:16px 20px}.item-info strong{color:#111827;display:block;font-size:15px;font-weight:600;margin-bottom:4px}.item-info p{color:#6b7280;font-size:13px}.quantity{background:#eff6ff;border-radius:20px;color:#2563eb;font-size:13px;font-weight:600;padding:6px 12px;white-space:nowrap}@media (max-width:480px){.list-item{align-items:flex-start;flex-direction:column;gap:12px}.quantity{align-self:flex-start}}.mr-container *{box-sizing:border-box}body{background:#f4f6f9;color:#333;font-family:Inter,-apple-system,sans-serif}.mr-container{margin:0 auto;max-width:1100px;padding:24px 16px}.mr-page-title{color:#111827;font-size:20px;font-weight:700;margin-bottom:24px;margin-top:0}.mr-form-control{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s ease;width:100%}.mr-form-control:focus{border-color:#06f}.mr-file-input{background:#f9fafb;font-size:13px;padding:7px 10px}.mr-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;padding:10px 16px;transition:all .15s ease}.mr-btn:active{transform:scale(.98)}.mr-btn-primary{background:#06f;color:#fff}.mr-btn-primary:hover{background:#005ce6}.mr-btn-success{background:#10b981;color:#fff}.mr-btn-success:hover{background:#059669}.mr-btn-danger{background:#ef4444;color:#fff}.mr-btn-danger:hover{background:#dc2626}.mr-btn-outline{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.mr-btn-outline:hover{background:#e5e7eb}.mr-btn-full{width:100%}.mr-create-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:20px}@media (min-width:640px){.mr-create-card{align-items:stretch;flex-direction:row}.mr-input-group{flex:1 1}.mr-create-card .mr-btn{min-width:160px}}.mr-list{display:flex;flex-direction:column;gap:16px}.mr-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000000d;display:grid;grid-template-columns:1fr;overflow:hidden}@media (min-width:768px){.mr-item{grid-template-columns:1fr 320px}}.mr-left{padding:20px}.mr-header-row{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.mr-item-title{color:#111827;font-size:16px;margin:0 0 4px}.mr-item-qty{color:#6b7280;font-size:13px;margin:0}.mr-item-qty strong{color:#374151}.mr-status{border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.mr-status-created{background:#f3f4f6;color:#4b5563}.mr-status-quoted{background:#fef3c7;color:#d97706}.mr-status-approved{background:#d1fae5;color:#059669}.mr-status-declined{background:#fee2e2;color:#dc2626}.mr-status-received{background:#dbeafe;color:#2563eb}.mr-timeline{border-left:2px solid #e5e7eb;display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-left:8px}.mr-timeline-event{color:#4b5563;font-size:13px;padding-left:12px;position:relative}.mr-timeline-event strong{color:#111827}.mr-timeline-event em{color:#9ca3af;font-style:normal}.mr-timeline-dot{background:#d1d5db;border:2px solid #fff;border-radius:50%;height:8px;left:-13px;position:absolute;top:4px;width:8px}.mr-invoices-section{border-top:1px solid #f3f4f6;margin-top:20px;padding-top:16px}.mr-invoices-section strong{color:#111827;display:block;font-size:13px;margin-bottom:8px}.mr-invoice-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px 12px}.mr-invoice-info{display:flex;flex-direction:column;gap:2px}.mr-invoice-label{color:#374151;font-size:13px;font-weight:600}.mr-invoice-date{color:#6b7280;font-size:11px}.mr-invoice-download{color:#06f;font-size:12px;font-weight:600;text-decoration:none}.mr-invoice-download:hover{text-decoration:underline}.mr-right{background:#f9fafb;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;gap:16px;padding:20px}@media (max-width:767px){.mr-right{border-left:none;border-top:1px solid #e5e7eb}}.mr-action-box{flex-direction:column}.mr-action-box,.mr-action-row{display:flex;gap:10px}.mr-action-row .mr-btn{flex:1 1}.mr-invoice-upload-box{display:flex;flex-direction:column;gap:12px}.mr-row{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;gap:8px;padding:8px}@media (max-width:600px){.mr-form-control{font-size:16px}.mr-row{align-items:stretch;flex-direction:column}}*{box-sizing:border-box;margin:0;padding:0}body,html{background:#f0f2f5;font-family:Inter,-apple-system,sans-serif;height:100%;width:100%}.app-wrapper{display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100%}.header{align-items:center;background:#fff;border-bottom:1px solid #d1d5db;display:flex;flex-shrink:0;gap:12px;padding:12px 16px;z-index:10}.header-actions{display:flex;flex:1 1;gap:12px}.dropdown{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#111827;flex:1 1;font-size:14px;min-width:0;outline:none;padding:10px 12px;text-overflow:ellipsis}.dropdown:focus{border-color:#06f}.btn-blue{background:#06f;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 16px;text-align:center;transition:background .15s ease;white-space:nowrap}.btn-blue:hover{background:#005ce6}.main-content{flex:1 1;flex-direction:row;width:100%}.main-content,.sidebar{display:flex;min-height:0}.sidebar{background:#fff;border-right:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;width:320px}.sidebar-header{background:#fafbfc;border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:16px}.add-task-row{display:flex;gap:8px;margin-bottom:12px}.input-text,.search-bar{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:16px;outline:none;padding:10px 12px;transition:border-color .15s}.input-text:focus,.search-bar:focus{border-color:#06f}.btn-add{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:20px;font-weight:700;line-height:1;padding:0 16px}.btn-add:hover{background:#059669}.search-bar{width:100%}.list-container{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;overflow-y:auto}.list-item{background:#0000;border-bottom:1px solid #f3f4f6;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:16px;transition:background .15s ease}.list-item:hover{background:#f9fafb}.list-item.active{background:#eff6ff;border-left:4px solid #06f;color:#06f}.empty-state{padding:24px}.content-area{min-width:0}.chat-view,.content-area{display:flex;flex:1 1;flex-direction:column;min-height:0}.chat-view{background:#f3f4f6}.chat-action-bar{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;padding:12px 16px}.btn-action{background:#06f;border:none;border-radius:6px;color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px;text-align:center}.btn-action.outline{background:#f8f9fa;border:1px solid #d1d5db;color:#374151}.message-list{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;padding:16px}.empty-chat-state{background:#e5e7eb;border-radius:20px;color:#6b7280;font-size:14px;margin:auto;padding:8px 16px}.date-separator{align-items:center;display:flex;justify-content:center;margin:16px 0 8px}.date-separator span{background:#e5e7eb;border-radius:12px;color:#4b5563;font-size:11px;font-weight:600;padding:4px 12px}.bubble{border-radius:14px;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;font-size:14px;line-height:1.4;max-width:80%;padding:10px 14px;word-break:break-word}.bubble.me{align-self:flex-end;background:#06f;border-bottom-right-radius:4px;color:#fff}.bubble.other{align-self:flex-start;background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px;color:#111827}.chat-img{display:block;margin-bottom:4px;max-width:250px;object-fit:cover;width:100%}.message-time{display:block;font-size:10px;margin-top:4px;opacity:.7;text-align:right}.chat-footer{background:#fff;border-top:1px solid #e5e7eb;gap:12px;padding:12px 16px max(12px,env(safe-area-inset-bottom))}.btn-camera,.chat-footer{align-items:center;display:flex;flex-shrink:0}.btn-camera{background:#f3f4f6;border:none;border-radius:50%;color:#4b5563;cursor:pointer;font-size:18px;height:40px;justify-content:center;width:40px}.chat-input{background:#f9fafb;border:1px solid #d1d5db;border-radius:24px;flex:1 1;font-size:16px;outline:none;padding:10px 16px;transition:border-color .2s ease,background .2s ease}.chat-input:focus{background:#fff;border-color:#06f}.btn-send{background:#06f;border:none;border-radius:24px;color:#fff;cursor:pointer;flex-shrink:0;font-weight:600;padding:10px 20px}@media (max-width:768px){.app-wrapper,body,html{height:auto;overflow:visible}.header{align-items:stretch;flex-direction:column;padding:12px}.header-actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.header-actions .btn-blue{grid-column:span 2}.main-content{flex-direction:column;height:auto}.sidebar{border-bottom:6px solid #d1d5db;border-right:none;height:40vh;min-height:350px;width:100%}.content-area{height:60vh;min-height:500px;width:100%}.bubble{max-width:90%}.chat-action-bar{padding:10px 12px}}.tabs-navigation{background-color:#fff;border:1px solid #dcdcdc;border-radius:6px;display:flex;gap:4px;overflow-x:auto;padding:4px}.tab-btn{background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.tab-btn:hover{background-color:#f1f3f5;color:#333}.tab-btn.active{background-color:#06f;box-shadow:0 1px 3px #0000001a;color:#fff}.inventory-page-wrapper{background-color:#f9fafb;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh;padding:24px}.inventory-container{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1280px}.inventory-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;padding:24px}.card-header{border-bottom:1px solid #f3f4f6;margin-bottom:20px;padding-bottom:12px}.card-header h2{color:#111827;font-size:18px;font-weight:600}.form-grid-wrapper{display:flex;flex-direction:column;gap:20px;width:100%}.form-input-grid{grid-gap:16px;align-items:flex-end;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);width:100%}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{color:#4b5563;font-size:13px;font-weight:500}.inv-input,.inv-select,.return-input{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#111827;font-size:14px;height:42px;outline:none;padding:8px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.inv-input:focus,.inv-select:focus,.return-input:focus{border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.inv-input[type=file]{background-color:#f3f4f6;cursor:pointer;line-height:26px}.form-actions-row{display:flex;justify-content:flex-end;width:100%}.main-action-btn{height:42px;min-width:200px}.btn-submit{align-items:center;background-color:#059669;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;justify-content:center;padding:0 16px;transition:background-color .15s ease-in-out}.btn-submit:hover{filter:brightness(.95)}.btn-row-action{border:1px solid #0000;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;transition:all .15s ease-in-out}.btn-row-action.approve{background-color:#eff6ff;border-color:#bfdbfe;color:#2563eb}.btn-row-action.approve:hover{background-color:#dbeafe}.btn-row-action.danger{background-color:#fef2f2;border-color:#fecaca;color:#dc2626}.btn-row-action.danger:hover{background-color:#fee2e2}.btn-row-action:disabled{background-color:#f3f4f6;border-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.draft-section-divider{border-top:1px dashed #e5e7eb;margin-top:24px;padding-top:20px}.draft-heading{color:#374151;font-size:16px;margin-bottom:12px}.draft-meta-details{color:#4b5563;font-size:13px;line-height:1.4}.file-attachment-preview{color:#2563eb;margin-top:2px}.bulk-submit-container{display:flex;justify-content:flex-end;margin-top:16px}.inv-table{border-collapse:collapse;font-size:14px;text-align:left;width:100%}.inv-table th{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:12px 16px;white-space:nowrap}.inv-table td{border-bottom:1px solid #f3f4f6;color:#4b5563;padding:12px 16px;vertical-align:middle}.inv-table tr:hover td{background-color:#f9fafb}.text-center{text-align:center}.text-right{text-align:right}.empty-state{padding:32px!important}.return-actions-cell{align-items:center;display:flex;gap:8px;justify-content:flex-end}.return-input{height:36px;width:80px}.status-badge{align-items:center;display:inline-flex;font-size:12px;font-weight:500;padding:4px 8px}.status-badge.CREATED,.status-badge.PENDING{background-color:#fef3c7;color:#d97706}.status-badge.APPROVED,.status-badge.COMPLETED{background-color:#d1fae5;color:#059669}.status-badge.CANCELLED,.status-badge.REJECTED{background-color:#fee2e2;color:#dc2626}.badge-all-returned{background-color:#f3f4f6;border-radius:4px;color:#6b7280;display:inline-flex;font-size:12px;font-weight:500;padding:4px 8px}@media (max-width:1024px){.form-input-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.inventory-page-wrapper{padding:12px}.inventory-card{padding:16px}.inv-table thead{display:none}.inv-table tr{background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:block;margin-bottom:12px;padding:8px}.inv-table td{align-items:center;border:none;display:flex;justify-content:space-between;padding:8px;text-align:right}.inv-table td:before{color:#374151;content:attr(data-label);float:left;font-weight:600;margin-right:16px;text-align:left}.inv-table td.text-center,.inv-table td.text-right{text-align:right}.return-actions-cell{width:100%}}@media (max-width:640px){.form-input-grid{grid-template-columns:1fr}.form-actions-row,.main-action-btn{width:100%}}.tabs-container{border-bottom:2px solid #e5e7eb;display:flex;gap:8px;padding-bottom:2px}.tab-button{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:15px;font-weight:500;margin-bottom:-2px;padding:10px 16px;transition:all .15s ease-in-out}.tab-button:hover{color:#111827}.tab-button.active{border-bottom-color:#4f46e5;color:#4f46e5;font-weight:600}.execution-container{background-color:#f8fafc;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:40px auto;max-width:1200px;padding:32px}.execution-header{margin-bottom:24px;padding-bottom:20px}.execution-subtitle{font-size:12px;font-weight:600}.execution-title{color:#0f172a;font-size:26px;font-weight:800;margin:4px 0 0}.execution-grid-layout{grid-gap:24px;gap:24px;grid-template-columns:1fr 1.2fr}@media (max-width:900px){.execution-grid-layout{grid-template-columns:1fr}}.actions-card,.details-card{border-radius:8px;padding:24px}.section-title{border-left:3px solid #3b82f6;color:#334155;font-size:15px;font-weight:700;margin-bottom:20px;padding-left:10px}.material-desc-text{color:#1e293b;font-size:16px;font-weight:700;margin:0}.metadata-grid{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr}.meta-item p{color:#334155;font-size:14px;font-weight:500}.allocation-inputs-block{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:24px}.input-field label{color:#475569;font-size:12px;font-weight:600;margin-bottom:6px}.input-field input{border:1px solid #cbd5e1;border-radius:6px;font-size:14px;outline:none;padding:10px 14px;transition:all .2s}.input-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.primary-actions-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}@media (max-width:500px){.primary-actions-group{grid-template-columns:1fr 1fr}}.action-btn{font-size:13px;padding:12px 8px;transition:background-color .15s}.btn-approve{background-color:#10b981}.btn-approve:hover{background-color:#059669}.btn-decline{background-color:#ef4444}.btn-decline:hover{background-color:#dc2626}.btn-cancel{background-color:#64748b}.btn-cancel:hover{background-color:#475569}.btn-receive{background-color:#3b82f6}.btn-receive:hover{background-color:#2563eb}.btn-receive.active{background-color:#1e3a8a}.quantity-extension-box{background-color:#eff6ff;border:1px solid #bfdbfe;margin-top:24px;padding:20px}.extension-header-inline h4{color:#1e40af;font-size:14px;font-weight:700;margin:0 0 4px}.extension-header-inline p{color:#60a5fa;color:#1e3a8a;font-size:12px;margin:0 0 16px}.extension-input-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.qty-box{display:flex;flex:1 1;flex-direction:column;min-width:160px}.qty-box label{color:#1e40af;font-size:11px;font-weight:700;margin-bottom:4px}.qty-box input{border:1px solid #93c5fd;border-radius:6px;font-size:14px;outline:none;padding:10px}.qty-box input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26}.extension-actions{display:flex;gap:8px}.btn-confirm-action{background-color:#2563eb;font-size:13px;padding:11px 16px}.btn-confirm-action:hover{background-color:#1d4ed8}.btn-close-action{background-color:#dae6f9;color:#1e40af;font-size:13px;padding:11px 16px}.btn-close-action:hover{background-color:#cbdcf7}.badge{border-radius:9999px;font-size:12px;font-weight:700;letter-spacing:.05em;padding:6px 14px;text-transform:uppercase}.badge-pending{background-color:#fef3c7;color:#d97706}.badge-approved{background-color:#ecfdf5;color:#059669}.badge-received{background-color:#eff6ff;color:#2563eb}.badge-declined{background-color:#fef2f2;color:#dc2626}.badge-default{background-color:#f1f5f9;color:#475569}.material-hero-row{align-items:center;background-color:#f1f5f9;border-radius:6px;gap:16px;justify-content:space-between;margin-bottom:20px;padding:16px}.hero-split-left{flex:2 1}.hero-split-right{border-left:1px solid #cbd5e1;flex:1 1;padding-left:16px;text-align:right}.material-hero-row label{color:#64748b;display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.material-qty-text{color:#2563eb;font-size:20px;font-weight:800;margin:0}.site-to-site-wrapper{display:flex;flex-direction:column;gap:12px;grid-column:span 2;margin-top:10px}.site-section-header{border-bottom:1px dashed #e2e8f0;padding-bottom:6px}.site-section-header label{color:#4a5568;margin-bottom:0!important}.add-site-btn{background-color:#ebf8ff;border:1px solid #bee3f8;color:#2b6cb0;font-size:13px;font-weight:600;padding:4px 12px;transition:all .2s ease}.add-site-btn:hover{background-color:#2b6cb0;color:#fff}.site-row-item{background:#f8fafc;border:1px solid #edf2f7;border-radius:6px;display:flex;gap:12px;padding:8px}.site-select-box{flex:2 1;margin-bottom:0!important}.site-select-box select{background-color:#fff;border:1px solid #cbd5e0;border-radius:4px;color:#2d3748;font-size:14px;outline:none;padding:8px 12px;width:100%}.site-select-box select:focus{border-color:#3182ce;box-shadow:0 0 0 1px #3182ce}.site-qty-box{flex:1 1;margin-bottom:0!important}.site-qty-box input{border:1px solid #cbd5e0;border-radius:4px;font-size:14px;padding:8px 12px;width:100%}.remove-site-btn{background:none;color:#e53e3e;font-size:24px;padding:0 6px;transition:color .15s ease}.remove-site-btn:hover{color:#9b2c2c}.animate-fade{animation:fadeIn .25s ease-out forwards}.delivery-channels-grid{background:#fff;border:1px solid #e2e8f0;border-radius:6px;gap:8px;margin:15px 0;overflow:hidden}.channel-row{border-bottom:1px solid #edf2f7;grid-template-columns:2fr 1fr 1.5fr;padding:10px 14px}.channel-row.row-header{background-color:#f7fafc;color:#4a5568;font-size:13px;font-weight:600}.channel-row label{color:#2d3748;font-weight:500;margin:0}.allocated-display-val{background-color:#edf2f7;border-radius:4px;color:#4a5568;font-weight:600;padding:2px 8px;width:fit-content}.channel-row input{border:1px solid #cbd5e0;border-radius:4px;font-size:14px;padding:6px 12px;width:100%}.channel-row input:focus{border-color:#3182ce;outline:none}.extension-actions-footer{gap:12px;justify-content:flex-end;margin-top:15px}:root{--bg-primary:#f8fafc;--surface-card:#fff;--text-main:#1e293b;--text-muted:#64748b;--border-color:#e2e8f0;--primary-accent:#3b82f6;--success-color:#10b981;--danger-color:#ef4444;--warning-color:#f59e0b}*,:after,:before{box-sizing:border-box}body{background-color:#f8fafc;background-color:var(--bg-primary);color:#1e293b;color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0;overflow-x:hidden}.execution-container{margin:0 auto;max-width:1250px;padding:1rem;width:100%}.execution-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.execution-subtitle{color:#64748b;color:var(--text-muted);display:block;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}.execution-title{color:#1e293b;color:var(--text-main);font-size:1.5rem;margin:.25rem 0 0;word-break:break-word}.status-badge{background:#e2e8f0;border-radius:9999px;color:#334155;font-size:.875rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase;white-space:nowrap}.status-badge.CREATED{background:#dbeafe;color:#1e40af}.status-badge.APPROVED{background:#d1fae5;color:#065f46}.status-badge.REJECTED{background:#fee2e2;color:#991b1b}.execution-grid-layout{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.actions-card,.details-card{background:#fff;background:var(--surface-card);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #0000000d;min-width:0;padding:1.25rem;width:100%}.section-title{border-bottom:2px solid #f8fafc;border-bottom:2px solid var(--bg-primary);color:#1e293b;color:var(--text-main);font-size:1.25rem;margin-bottom:1.25rem;margin-top:0;padding-bottom:.5rem}.material-hero-row{background:#f8fafc;background:var(--bg-primary);border-radius:8px;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.hero-split-left{flex:1 1 200px;min-width:0}.hero-split-right{flex:1 1 120px;min-width:0}.hero-split-left label,.hero-split-right label{color:#64748b;color:var(--text-muted);font-size:.85rem}.material-desc-text,.material-qty-text{font-size:1.1rem;font-weight:600;margin:.25rem 0 0;word-break:break-word}.metadata-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.meta-item{display:flex;flex-direction:column;gap:.25rem;min-width:0}.meta-item label{color:#64748b;color:var(--text-muted);font-size:.85rem;font-weight:500}.meta-item p{font-size:.95rem;margin:0;word-break:break-word}.chat-img{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;height:auto;margin-top:.5rem;max-width:100%}.allocation-inputs-block{display:flex;flex-direction:column;gap:1.25rem}.input-field{display:flex;flex-direction:column;gap:.35rem}.input-field label{font-size:.9rem;font-weight:500}.dropdown,input[type=number],input[type=text],select{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;min-width:0;padding:.6rem;width:100%}input:disabled,select:disabled{background:#f1f5f9;cursor:not-allowed}.site-to-site-wrapper{background:#f8fafc;background:var(--bg-primary);border:1px dashed #e2e8f0;border:1px dashed var(--border-color);border-radius:8px;margin-top:.5rem;padding:1rem}.site-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.site-section-header label{font-weight:600}.add-site-btn{background:#fff;background:var(--surface-card);border:1px solid #3b82f6;border:1px solid var(--primary-accent);border-radius:4px;color:#3b82f6;color:var(--primary-accent);cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s}.add-site-btn:hover:not(:disabled){background:#3b82f6;background:var(--primary-accent);color:#fff}.add-site-btn:disabled{border-color:#94a3b8;color:#94a3b8;cursor:not-allowed}.site-row-item{grid-gap:.5rem;align-items:center;display:grid;gap:.5rem;grid-template-columns:1fr 80px 30px;margin-bottom:.75rem}.remove-site-btn{align-items:center;background:#0000;border:none;color:#ef4444;color:var(--danger-color);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;line-height:1;padding:0}.remove-site-btn:hover{color:#b91c1c}.primary-actions-group{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.action-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1 120px;font-size:.95rem;font-weight:600;padding:.75rem 1rem;text-align:center;transition:opacity .2s}.action-btn:hover{opacity:.9}.btn-approve{background:#3b82f6;background:var(--primary-accent);color:#fff}.btn-decline{background:#ef4444;background:var(--danger-color);color:#fff}.btn-cancel{background:#f59e0b;background:var(--warning-color);color:#fff}.btn-receive{background:#10b981;background:var(--success-color);color:#fff}.btn-receive.active{background:#059669;box-shadow:inset 0 2px 4px #0000001a}.quantity-extension-box{background:#fdfdfd;border:1px solid #cbd5e1;border-radius:8px;margin-top:1.5rem;padding:1.25rem}.extension-header-inline{margin-bottom:1.25rem}.extension-header-inline h4{font-size:1.1rem;margin:0 0 .25rem}.extension-header-inline p{color:#64748b;color:var(--text-muted);font-size:.85rem;margin:0}.delivery-channels-grid{display:flex;flex-direction:column}.channel-row{grid-gap:.5rem;align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:grid;gap:.5rem;grid-template-columns:minmax(100px,2fr) minmax(70px,1fr) minmax(70px,1fr) minmax(100px,1.5fr) minmax(40px,1fr);padding:.75rem .5rem}.channel-row:last-child{border-bottom:none}.row-header{background:#f8fafc;background:var(--bg-primary);border:none;border-radius:6px;color:#64748b;color:var(--text-muted);font-size:.85rem;font-weight:600;padding:.5rem}.channel-row>*{min-width:0;word-break:break-word}.channel-row input[type=number]{min-width:0;padding:.4rem}.extension-actions-footer{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.btn-confirm-action{background:#10b981;background:var(--success-color);color:#fff}.btn-close-action,.btn-confirm-action{border:none;border-radius:6px;cursor:pointer;flex:1 1 auto;font-weight:600;padding:.75rem 1.5rem}.btn-close-action{background:#e2e8f0;color:#334155}.animate-fade{animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:990px){.execution-grid-layout{grid-template-columns:1fr}}@media (max-width:768px){.site-row-item{gap:.4rem;grid-template-columns:1fr 70px 24px}.delivery-channels-grid{display:flex;flex-direction:column;gap:.75rem}.channel-row{align-items:stretch;background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;margin-bottom:0;padding:1rem}.row-header{display:none}.channel-row>label,.channel-row>span{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:.4rem}.channel-row>:first-child:before{content:"Allocation Track"}.channel-row>:first-child:before,.channel-row>:nth-child(2):before{color:#64748b;color:var(--text-muted);font-size:.85rem;font-weight:600}.channel-row>:nth-child(2):before{content:"Status"}.channel-row>:nth-child(3):before{color:#64748b;color:var(--text-muted);content:"Received Qty";font-size:.85rem;font-weight:600}.channel-row input[type=number]{margin-top:.5rem;padding:.6rem}.channel-row>div:last-child{align-items:center;border-top:1px dashed #e2e8f0;border-top:1px dashed var(--border-color);display:flex;justify-content:space-between;margin-top:.5rem;padding-top:.5rem}.channel-row>div:last-child:before{color:#64748b;color:var(--text-muted);content:"Do not count delivery:";font-size:.85rem;font-weight:600}}.approvals-page-wrapper{background-color:#f8f9fa;box-sizing:border-box;color:#333;font-family:Inter,-apple-system,sans-serif;min-height:100vh;padding:12px 8px}@media (min-width:640px){.approvals-page-wrapper{padding:24px 16px}}.approvals-container{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:1000px}.metrics-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}@media (min-width:640px){.metrics-grid{gap:16px}}.metric-card{background:#fff;border:1px solid #dcdcdc;border-radius:6px;box-shadow:0 1px 3px #0000000d;padding:12px;text-align:center}.metric-card h3{color:#666;font-size:11px;margin-bottom:4px;text-transform:uppercase}.metric-card p{font-size:18px;font-weight:700;margin:0}.metric-card.pending p{color:#b7791f}.metric-card.approved p{color:#1c7430}.metric-card.rejected p{color:#bd2130}.filter-toolbar{background:#fff;border:1px solid #dcdcdc;border-radius:6px;display:flex;gap:8px;overflow-x:auto;padding:12px;white-space:nowrap}.btn-filter{background:#fff;border:1px solid #dcdcdc;border-radius:20px;color:#555;cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .15s ease}.btn-filter.active{background:#06f;border-color:#06f;color:#fff}.main-ledger-card{background:#fff;border:1px solid #dcdcdc;border-radius:6px;box-shadow:0 1px 3px #0000000d;overflow:hidden}.card-header{background-color:#f1f3f5;border-bottom:1px solid #dcdcdc;padding:12px 16px}.card-header h2{color:#495057;font-size:13px;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.table-responsive{-webkit-overflow-scrolling:touch;max-height:500px;overflow-y:auto;width:100%}@media (min-width:769px){.approvals-table th{background-color:#fafbfc;box-shadow:inset 0 -1px 0 #eee;position:sticky;top:0;z-index:2}}.approvals-table{border-collapse:collapse;width:100%}@media (max-width:768px){.approvals-table thead{display:none}.approvals-table tbody,.approvals-table td,.approvals-table tr{box-sizing:border-box;display:block;width:100%}.approvals-table tr{background:#fff;border-bottom:6px solid #e9ecef;padding:12px 14px}.approvals-table tr:last-child{border-bottom:none}.approvals-table td{align-items:center;border-bottom:1px solid #f1f3f5;display:flex;justify-content:space-between;padding:8px 0;text-align:right!important}.approvals-table td:last-child{border-bottom:none;justify-content:stretch;padding-top:12px}.approvals-table td:before{color:#666;content:attr(data-label);font-size:12px;font-weight:600;padding-right:10px;text-align:left}}@media (min-width:769px){.approvals-table{font-size:13px}.approvals-table th{background-color:#fafbfc;border-bottom:1px solid #eee;color:#666;font-weight:600;padding:12px 16px;white-space:nowrap}.approvals-table td{border-bottom:1px solid #f1f3f5;padding:14px 16px;vertical-align:middle}.text-center{text-align:center}.text-right{text-align:right}}.status-badge{border-radius:4px;font-size:11px;font-weight:600;padding:3px 8px;text-transform:capitalize}.status-badge.pending{background-color:#ffeeba;color:#856404}.status-badge.approved{background-color:#d4edda;color:#155724}.status-badge.rejected{background-color:#f8d7da;color:#721c24}.action-buttons-cell{display:flex;gap:8px;width:100%}@media (min-width:769px){.action-buttons-cell{justify-content:flex-end;width:auto}}.btn-decision{border:none;border-radius:4px;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;height:36px;transition:background .15s ease}@media (min-width:769px){.btn-decision{flex:none;font-size:12px;height:30px;padding:0 14px}}.btn-decision.approve{background-color:#28a745;color:#fff}.btn-decision.approve:hover{background-color:#218838}.btn-decision.reject{background-color:#dc3545;color:#fff}.btn-decision.reject:hover{background-color:#c82333}.empty-state{color:#888;font-size:13px;padding:32px}.labour-management-container{color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.page-header{border-bottom:2px solid #eaeaea;margin-bottom:30px;padding-bottom:10px}.page-header h2{color:#2c3e50;margin:0}.content-wrapper{display:flex;flex-direction:column;gap:30px}@media (min-width:700px){.content-wrapper{align-items:flex-start;flex-direction:row}.form-section{flex:1 1}}.directory-section{margin-top:30px}.form-section,.list-section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 1px 2px #1018280a;padding:24px}.list-header-container{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}@media (min-width:420px){.list-header-container{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.list-header-container h3{margin-bottom:0}}.search-container{flex:1 1 140px;min-width:0}.search-input{border:1px solid #ccc;border-radius:6px;font-size:.95rem;min-width:0;padding:10px 12px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f;outline:none}h3{color:#34495e;font-size:1.25rem;margin-bottom:20px;margin-top:0}.add-labour-form{gap:16px}.add-labour-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#555;font-size:.9rem;font-weight:600}.form-group input,.form-group select{border:1px solid #ccc;border-radius:6px;font-size:1rem;padding:10px 12px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f;outline:none}.hourly-rate-preview{color:#16a34a;font-size:.8rem;font-weight:600}.submit-btn{background-color:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px;padding:12px;transition:background-color .2s ease}.submit-btn:hover{background-color:#1d4ed8}.table-responsive{overflow-x:auto}.labour-table{border-collapse:collapse;text-align:left;width:100%}.labour-table th{background-color:#f8f9fa;border-bottom:2px solid #e2e8f0;color:#4a5568;font-weight:600;padding:12px 16px}.labour-table td{border-bottom:1px solid #e2e8f0;color:#2d3748;padding:14px 16px}.font-medium{font-weight:500}.no-data{color:#718096;font-style:italic;padding:20px;text-align:center}.badge{border-radius:4px;font-size:.85rem;padding:4px 8px}.badge-mason{background-color:#e3f2fd;color:#1565c0}.badge-carpenter{background-color:#fff3e0;color:#ef6c00}.badge-plumber{background-color:#e8f5e9;color:#2e7d32}.badge-electrician{background-color:#fff8e1;color:#ff8f00}.badge-helper{background-color:#f3e5f5;color:#6a1b9a}.badge-other{background-color:#f5f5f5;color:#616161}.action-column{width:100px}.action-column,.labour-table th.action-column{text-align:center}.delete-btn{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:background-color .2s ease,transform .1s ease}.delete-btn:hover{background-color:#c0392b}.delete-btn:active{transform:scale(.95)}.labour-row-hidden{opacity:.6}.labour-status-badge{border-radius:999px;font-size:.75rem;font-weight:600;padding:2px 8px}.labour-status-badge.visible{background:#d4edda;color:#155724}.labour-status-badge.hidden{background:#e2e3e5;color:#383d41}.dept-cell{align-items:center;display:flex;gap:6px}.dept-input{border:1px solid #ccc;border-radius:4px;font-size:.85rem;padding:6px 8px;width:130px}.dept-input:focus{border-color:#2563eb;outline:none}.save-dept-btn{background-color:#16a34a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 10px}.save-dept-btn:hover{background-color:#15803d}.dept-add-row{display:flex;gap:8px}.dept-add-row input{border:1px solid #ccc;border-radius:6px;flex:1 1;font-size:1rem;padding:10px 12px}.dept-add-btn{flex-shrink:0;margin-top:0;padding:10px 16px;width:auto}.dept-error{color:#e74c3c;font-size:.85rem;margin:6px 0 0}.dept-chip-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.dept-chip{background:#eef2f7;border-radius:999px;color:#34495e;font-size:.8rem;font-weight:600;padding:4px 12px}.directory-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.dept-filter-select{background:#fff;border:1px solid #ccc;border-radius:6px;font-size:.9rem;padding:10px 12px}.dept-filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f;outline:none}.edit-cell-input{border:1px solid #2563eb;border-radius:4px;box-sizing:border-box;font-size:.85rem;min-width:90px;padding:6px 8px;width:100%}.edit-cell-input:focus{box-shadow:0 0 0 2px #2563eb1f;outline:none}.edit-action-row{display:flex;gap:6px}.cancel-edit-btn{background-color:#e5e7eb;border:none;border-radius:4px;color:#374151;cursor:pointer;font-size:.8rem;font-weight:600;padding:6px 10px}.cancel-edit-btn:hover{background-color:#d1d5db}.worker-profile-container{background-color:#f9fafb;font-family:system-ui,-apple-system,sans-serif;margin:0 auto;max-width:896px;min-height:100vh;padding:24px}.profile-header{margin-bottom:32px}.profile-title{color:#111827;font-size:1.875rem;font-weight:700;margin:0 0 4px}.profile-role{color:#4b5563;font-size:1.125rem;margin:0}.section-container{margin-bottom:40px}.section-title{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:1.5rem;font-weight:600;margin-bottom:16px;padding-bottom:8px}.current-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr}@media (min-width:768px){.current-grid{grid-template-columns:repeat(2,1fr)}}.current-card{background-color:#fff;border:1px solid #e5e7eb;border-left:4px solid #2563eb;border-radius:14px;box-shadow:0 1px 2px 0 #0000000d;padding:20px}.card-title{color:#111827;font-size:1.125rem;font-weight:500;margin:0 0 8px}.card-details{align-items:center;color:#6b7280;display:flex;font-size:.875rem;justify-content:space-between}.project-name{color:#374151;font-weight:500}.badge{border-radius:999px;font-size:.75rem;font-weight:600;padding:4px 9px}.badge-high{background-color:#fee2e2;color:#b91c1c}.badge-medium{background-color:#fef3c7;color:#b45309}.log-rows{background-color:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.log-row{align-items:center;border-bottom:1px solid #f1f2f4;display:flex;flex-wrap:wrap;font-size:.85rem;gap:4px 16px;justify-content:space-between;padding:8px 14px;transition:background-color .15s ease}.log-row:last-child{border-bottom:none}.log-row:hover{background-color:#fafbfc}.log-row-main{align-items:center;display:flex;flex-wrap:wrap;gap:6px 8px;min-width:160px}.log-row-title{color:#111827;font-weight:600}.log-row-project{background-color:#f3f4f6;border-radius:999px;color:#6b7280;font-size:.78rem;padding:1px 8px}.log-row-date{color:#9ca3af;font-size:.78rem}.log-row-detail{align-items:center;color:#6b7280;display:flex;font-size:.8rem;gap:12px}.log-row-cost{color:#111827;font-weight:700}.task-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.task-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;padding:12px}.task-info,.task-item{align-items:center;display:flex}.task-info{gap:12px}.task-icon{color:#10b981;height:20px;width:20px}.task-title{color:#1f2937;font-size:.95rem}.task-hours{background-color:#fff;border:1px solid #f3f4f6;border-radius:4px;box-shadow:0 1px 2px 0 #0000000d;color:#6b7280;font-size:.875rem;padding:4px 8px}.empty-state{color:#9ca3af;font-size:.875rem}.loading-state{color:#6b7280;padding:32px;text-align:center}.work-logger-container{background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 6px #0000000d;font-family:system-ui,-apple-system,sans-serif;margin:2rem auto;max-width:600px;padding:2rem}.work-form{flex-direction:column;margin-bottom:2rem}.work-form,.work-form-row{display:flex;gap:1rem}.work-input{box-sizing:border-box;width:100%}.work-input,.work-select{border:1px solid #ccc;border-radius:4px;font-size:1rem;padding:.75rem}.work-select{background-color:#fff;flex:1 1;min-width:0}.btn{border:none;border-radius:4px;cursor:pointer;font-weight:700;padding:.75rem 1.25rem;transition:opacity .2s}.btn:hover{opacity:.9}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:#007bff;color:#fff}.btn-success{background-color:#28a745;color:#fff}.btn-secondary{background-color:#6c757d;color:#fff}.btn-warning{background-color:#ffc107;color:#212529}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.9rem;margin-bottom:1rem;padding:.5rem .75rem}.empty-state{color:#666;font-style:italic;text-align:center}.work-card{align-items:flex-start;background:#fff;border-left:5px solid #0000;border-radius:6px;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.work-card.active{border-left-color:#007bff}.work-card.held{border-left-color:#ffc107;opacity:.8}.work-card.completed{border-left-color:#28a745;opacity:.6}.work-info{display:flex;flex-direction:column;gap:.5rem}.work-name{font-size:1.1rem;font-weight:600}.work-project{background-color:#edf2f7;border-radius:4px;color:#4a5568;font-size:.8rem;padding:.15rem .4rem;width:fit-content}.work-meta{align-items:center;display:flex;gap:.75rem}.status-badge{border-radius:12px;font-size:.75rem;font-weight:700;padding:.25rem .5rem;width:fit-content}.status-badge.active{background-color:#cce5ff;color:#004085}.status-badge.held{background-color:#fff3cd;color:#856404}.status-badge.completed{background-color:#d4edda;color:#155724}.timer-display{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;color:#4a5568;font-family:Courier New,Courier,monospace;font-size:.95rem;font-weight:600;padding:.25rem .5rem}.work-card.active .timer-display{background-color:#ebf8ff;border-color:#bee3f8;color:#2b6cb0}.work-actions{display:flex;flex-shrink:0;gap:.5rem}.event-log{background-color:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:.5rem 0 0;max-height:140px;overflow-y:auto;padding:.5rem .75rem}.event-item{color:#4a5568;display:flex;font-size:.8rem;gap:1rem;justify-content:space-between}.event-label{font-weight:600;min-width:4.5rem}.event-item.resume .event-label,.event-item.start .event-label{color:#2b6cb0}.event-item.hold .event-label{color:#856404}.event-item.complete .event-label{color:#155724}.event-time{color:#718096;white-space:nowrap}.wl-calendar-container{margin:auto;max-width:1100px;padding:16px}.wl-calendar-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.wl-calendar-title{color:#0f172a;font-size:clamp(20px,4vw,32px);font-weight:800}.wl-month-picker{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:6px;padding:4px 6px}.wl-month-picker button{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;height:28px;transition:.2s;width:28px}.wl-month-picker button:hover{background:#f1f5f9}.wl-month-picker input{background:#0000;border:none;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;outline:none;padding:2px 6px}.wl-error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.9rem;margin:12px 0;padding:.5rem .75rem}.wl-stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:20px 0}.wl-stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:10px;padding:12px}.wl-stat-card,.wl-stat-icon{align-items:center;display:flex}.wl-stat-icon{border-radius:8px;font-size:14px;height:28px;justify-content:center;width:28px}.wl-stat-label{color:#64748b;font-size:11px;margin:0;text-transform:uppercase}.wl-stat-value{color:#0f172a;font-size:18px;font-weight:700;margin:0}.wl-calendar-wrapper{overflow-x:auto}.wl-calendar-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;min-width:700px;overflow:hidden}.wl-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.wl-weekday{background:#f1f5f9;color:#64748b;font-size:12px;font-weight:700;padding:10px;text-align:center}.wl-day-cell{border-left:4px solid #0000;border-radius:8px;font-size:12px;min-height:90px;padding:8px;position:relative;transition:.2s}.wl-day-cell.worked{background:#ecfdf5;border-left:4px solid #10b981}.wl-day-cell.no-work{background:#fef2f2;border-left:4px solid #ef4444}.wl-day-cell.off{background:#fffbeb;border-left:4px solid #f59e0b}.wl-day-cell.leave-approved{background:#eef2ff;border-left:4px solid #6366f1}.wl-day-cell.leave-pending{background:#f8fafc;border-left:4px dashed #94a3b8}.wl-day-cell.holiday{background:#f0fdfa;border-left:4px solid #14b8a6}.wl-day-cell.inactive{background:#f8fafc;opacity:.6}.wl-day-top{align-items:center;display:flex;justify-content:space-between}.wl-today{background:#4f46e5;border-radius:8px;color:#fff;font-weight:700;padding:4px 8px}.wl-dot{border-radius:50%;height:8px;width:8px}.wl-dot.worked{background:#10b981}.wl-dot.no-work{background:#ef4444}.wl-dot.off{background:#f59e0b}.wl-dot.leave-approved{background:#6366f1}.wl-dot.leave-pending{background:#94a3b8}.wl-dot.holiday{background:#14b8a6}.wl-time{color:#334155;font-size:11px;margin-top:6px}.wl-badge{bottom:6px;font-size:10px;font-weight:700;left:6px;position:absolute;text-transform:capitalize}.wl-badge.worked{color:#065f46}.wl-badge.no-work{color:#991b1b}.wl-badge.off{color:#92400e}.wl-badge.leave-approved{color:#3730a3}.wl-badge.leave-pending{color:#64748b}.wl-badge.holiday{color:#0f766e}@media (max-width:768px){.wl-calendar-title{font-size:20px}.wl-month-picker{padding:6px 10px}.wl-month-picker button{font-size:16px;height:34px;width:34px}.wl-month-picker input{font-size:14px}.wl-day-cell{font-size:11px;min-height:70px}.wl-stat-value{font-size:16px}}.stwl-container{max-width:900px}.stwl-subtitle{color:#64748b;font-size:.9rem;margin:-.5rem 0 1.5rem}.stwl-picker{margin-bottom:1.5rem}.stwl-label{color:#64748b;display:block;font-size:11px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.stwl-select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;height:40px;max-width:360px;padding:0 12px;width:100%}.stwl-select:focus{border-color:#4f46e5;outline:none}.stwl-month-picker{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:10px;margin-bottom:1.5rem;padding:6px 10px;width:fit-content}.stwl-month-picker button{background:#0000;border:none;border-radius:6px;color:#64748b;cursor:pointer;font-size:14px;height:28px;transition:.2s;width:28px}.stwl-month-picker button:hover{background:#f1f5f9}.stwl-month-picker input{background:#0000;border:none;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;outline:none;padding:2px 6px}.stwl-calendar-section{margin-top:1rem}.stwl-calendar-title{font-size:16px;margin:2rem 0 .5rem}.stwl-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.stwl-status-filters{display:flex;flex-wrap:wrap;gap:.5rem}.stwl-status-filter{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#4a5568;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.4rem .75rem;transition:.15s}.stwl-status-filter:hover{border-color:#cbd5e0}.stwl-status-filter-count{background:#edf2f7;border-radius:999px;color:#4a5568;font-size:.75rem;padding:.05rem .45rem}.stwl-status-filter.active-filter{background:#eef2ff;border-color:#4f46e5;color:#4338ca}.stwl-status-filter.active-filter .stwl-status-filter-count{background:#4f46e5;color:#fff}.stwl-status-filter.active.active-filter{background:#e6f0ff;border-color:#007bff;color:#004085}.stwl-status-filter.active.active-filter .stwl-status-filter-count{background:#007bff}.stwl-status-filter.held.active-filter{background:#fff8e1;border-color:#ffc107;color:#856404}.stwl-status-filter.held.active-filter .stwl-status-filter-count{background:#ffc107;color:#212529}.stwl-status-filter.completed.active-filter{background:#eafaf0;border-color:#28a745;color:#155724}.stwl-status-filter.completed.active-filter .stwl-status-filter-count{background:#28a745}
/*# sourceMappingURL=main.8795d4d7.css.map*/