@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);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;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;font-family:Inter,sans-serif;margin:0;padding:0}.loginContainer{align-items:center;background-color:#f3f4f6;background-image:radial-gradient(#e5e7eb 1px,#0000 0);background-size:20px 20px;display:flex;height:100vh;justify-content:center;width:100vw}.loginCard{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;display:flex;flex-direction:column;gap:24px;max-width:420px;padding:48px;width:100%}.loginHeader{margin-bottom:8px;text-align:center}.logoCircle{font-size:40px;margin-bottom:12px}.loginHeader h2{color:#111827;font-size:24px;font-weight:700;margin-bottom:8px}.loginHeader p{color:#6b7280;font-size:14px}.formGroup{display:flex;flex-direction:column;gap:8px}.formGroup label{color:#374151;font-size:13px;font-weight:600}.inputWrapper{align-items:center;display:flex;position:relative}.inputIcon{color:#9ca3af;font-size:16px;left:14px;pointer-events:none;position:absolute}.loginCard input{background-color:#fff;border:1.5px solid #d1d5db;border-radius:8px;color:#111827;font-size:15px;padding:12px 12px 12px 42px;transition:all .2s ease;width:100%}.loginCard input::placeholder{color:#9ca3af}.loginCard input:focus{background-color:#fff;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e51a;outline:none}.loginButton{background-color:#4f46e5;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:8px;padding:14px;transition:background-color .2s ease,transform .1s ease;width:100%}.loginButton:hover{background-color:#4338ca}.loginButton:active{transform:scale(.98)}.loginButton:disabled{background-color:#9ca3af;cursor:not-allowed}.loginFooter{margin-top:8px;text-align:center}.loginFooter p{color:#9ca3af;font-size:12px;letter-spacing:1px;text-transform:uppercase}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:#111827!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}.wide-register-container{align-items:center;animation:fadeIn .5s ease-out;background:#f4f7fe;display:flex;justify-content:center;min-height:100vh;padding:40px 20px;width:100%}.register-card-wide{animation:cardSlideUp .6s cubic-bezier(.175,.885,.32,1.275);background:#fff;border:1px solid #0000000d;border-radius:24px;box-shadow:0 20px 50px #0000000d;max-width:850px;padding:45px;width:100%}.register-header{margin-bottom:40px;text-align:center}.register-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1e3c72,#6a11cb);-webkit-background-clip:text;font-size:28px;font-weight:700;margin-bottom:8px}.register-header p{color:#a3aed0;font-size:15px}.register-form-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 1fr;margin-bottom:35px}.inputGroup{display:flex;flex-direction:column;gap:8px}.inputGroup label{color:#2b3674;font-size:14px;font-weight:600;margin-left:4px}.inputGroup input,.inputGroup select{background:#f9fafb;border:2px solid #e0e5f2;border-radius:14px;font-size:15px;outline:none;padding:14px 18px;transition:all .3s ease}.inputGroup input:focus,.inputGroup select:focus{background:#fff;border-color:#4f46e5;box-shadow:0 8px 20px #4f46e514}.req{color:#ef4444}.register-footer{align-items:center;display:flex;flex-direction:column;gap:20px}.register-btn{background:linear-gradient(135deg,#1e3c72,#2a5298);border:none;border-radius:14px;box-shadow:0 10px 20px #1e3c7233;color:#fff;cursor:pointer;font-size:16px;font-weight:600;max-width:300px;padding:16px;transition:all .3s ease;width:100%}.register-btn:hover{box-shadow:0 15px 25px #1e3c724d;transform:translateY(-3px)}.switchText{color:#718096;font-size:14px}.link{color:#4f46e5;cursor:pointer;font-weight:700}.link:hover{text-decoration:underline}@media (max-width:768px){.register-form-grid{grid-template-columns:1fr}.register-card-wide{padding:30px 24px}}@keyframes cardSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.usersPage{animation:fadeIn .5s ease-out}.usersHeader{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.usersHeader h2{color:#1e293b;font-size:24px;font-weight:600;margin:0}.usersTableWrap{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d;overflow:hidden}.usersTable{border-collapse:collapse;font-size:15px;width:100%}.usersTable th{background:#f8fafc;color:#64748b;font-size:12px;font-weight:600;letter-spacing:.05em;padding:16px 20px;text-align:left;text-transform:uppercase}.usersTable td{border-bottom:1px solid #f1f5f9;color:#334155;padding:16px 20px;transition:background .2s ease}.usersTable tr:hover td{background:#f1f7ff}.roleBadge{border-radius:20px;display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.roleBadge.admin{background:#eef2ff;border:1px solid #c7d2fe;color:#4f46e5}.roleBadge.user{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.actionBtns{display:flex;gap:8px}.dangerBtn{background:#fff;border:1px solid #fca5a5;border-radius:10px;color:#ef4444;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.dangerBtn:hover{background:#ef4444;box-shadow:0 4px 12px #ef444433;color:#fff}.backBtn{align-items:center;background:#f1f5f9;border:none;border-radius:10px;color:#475569;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 18px;transition:all .2s}.backBtn:hover{background:#e2e8f0;color:#1e293b}.dashboardContainer{animation:fadeIn .6s ease-out;background:#f8fafc;min-height:100vh;padding:15px 20px}.dashboardTitle{color:#1e293b;font-size:20px;font-weight:800;letter-spacing:-.5px;margin-bottom:20px}.statsGrid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.statCard{background:#fff;border:1px solid #e2e8f0cc;border-radius:12px;box-shadow:0 4px 6px -1px #0000000d;overflow:hidden;padding:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.statCard h4{color:#64748b;font-size:12px;font-weight:600;margin:0}.statCard p{color:#0f172a;font-size:22px;font-weight:800;margin:8px 0 0}.financeSummary{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 15px -3px #0000001a;display:flex;justify-content:space-around;margin-bottom:20px;padding:15px}.financeSummary p{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#0f172a,#334155);-webkit-background-clip:text;font-size:20px}.leaderboardCard{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px}.leaderRow{align-items:center;border-radius:10px;display:flex;padding:8px 12px}.rank{background:#f1f5f9;border-radius:6px;font-size:11px;height:24px;margin-right:12px;width:24px}.leaderRevenue{background:#ecfdf5;border-radius:20px;color:#059669;font-size:12px;font-weight:700;padding:3px 10px}.followUpContent{border-radius:16px;padding:20px}.iconCircle{border-radius:10px;height:34px;width:34px}.dashboardHeader{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px;position:relative}.dashboardSubtitle{font-size:12px}.headerActions{align-items:center;display:flex;gap:15px;position:relative}.followUpOverlay{align-items:center;background:#00000073;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.followUpModal{animation:fadeIn .25s ease;background:#fff;border-radius:14px;box-shadow:0 20px 40px #00000040;max-height:70vh;overflow-y:auto;padding:25px;width:420px}.followUpItem{border-bottom:1px solid #eee;margin-bottom:10px;padding:10px}.markDoneBtn{background:#22c55e;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 10px}.markDoneBtn:hover{background:#16a34a}.notificationWrapper{position:relative}.bellBtn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:6px;position:relative}.bellBtn,.notificationBadge{align-items:center;display:flex;justify-content:center}.notificationBadge{background:red;border:1.5px solid #fff;border-radius:50%;color:#fff;font-size:10px;font-weight:700;height:15px;min-width:15px;position:absolute;right:-4px;top:-4px}.notificationDropdown{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 8px 20px #0000001f;margin-top:6px;max-height:350px;overflow-y:auto;padding:6px;position:absolute;right:0;top:42px;width:280px;z-index:999}.notificationDropdown::-webkit-scrollbar{width:4px}.notificationDropdown::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.notificationItem{border-radius:8px;cursor:pointer;margin-bottom:4px;padding:8px;transition:background .2s}.notificationItem:last-child{margin-bottom:0}.notificationItem.unread{background:#fff7ed;border-left:3px solid #f59e0b}.notificationItem.read{background:#f8fafc;opacity:.8}.notificationItem p{font-size:12px;line-height:1.4;margin:0}.emptyMsg{color:#94a3b8;font-size:12px;padding:15px 0;text-align:center}.tableWrap{font-size:14px;padding:20px;width:100%}.tableToolbar{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:15px}.tableSearch{width:250px}.tableSearch,.tableSelect{border:1px solid #ddd;border-radius:6px;font-size:13px;padding:8px 10px}.downloadBtn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 14px}.downloadBtn:hover{background:#1d4ed8}.tableCard{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.tableScroll{max-height:520px;overflow-x:auto;overflow-y:auto;width:100%}.crmTable{border-collapse:collapse;min-width:1100px;width:100%}.crmTable th{background:#fff;box-shadow:0 2px 4px #0000000d;color:#475569;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 10px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:2}.crmTable td{border-top:1px solid #f1f5f9;font-size:13px;padding:10px}.crmTable tbody tr:hover{background:#f8fafc}.nameCell{gap:10px}.avatarSmall,.nameCell{align-items:center;display:flex}.avatarSmall{background:#2563eb;border-radius:50%;color:#fff;font-weight:600;height:34px;justify-content:center;width:34px}.nameText{font-size:13px;font-weight:600}.subText{color:#64748b;font-size:11px}.ownerBox{gap:8px}.ownerAvatar,.ownerBox{align-items:center;display:flex;font-size:12px}.ownerAvatar{background:#6366f1;border-radius:50%;color:#fff;height:28px;justify-content:center;width:28px}.badgeStage{border-radius:12px;font-size:10px;font-weight:600;padding:3px 8px}.b-identification{background:#dbeafe;color:#1e40af}.b-documents{background:#fef3c7;color:#92400e}.b-finance{background:#ede9fe;color:#5b21b6}.b-installation{background:#d1fae5;color:#065f46}.b-contract{background:#ffe4e6;color:#9f1239}.b-completed{background:#cffafe;color:#155e75}.stageProgress{display:flex;gap:5px}.progressDot{background:#d1d5db;border-radius:50%;height:8px;width:8px}.progressDot.active{background:#22c55e}.phoneActions{align-items:center;display:flex;gap:8px}.phoneLink{color:#2563eb;font-size:12px;text-decoration:none}.phoneLink:hover{text-decoration:underline}.whatsappLink{font-size:18px;text-decoration:none}.actionsRow{display:flex;flex-wrap:wrap;gap:6px}.actionsRow button{border:none;border-radius:6px;cursor:pointer;font-size:11px;padding:4px 8px}.btnView{background:#2563eb;color:#fff}.btnDocs{background:#f59e0b;color:#fff}.btnFinance{background:#7c3aed;color:#fff}.btnInstall{background:#10b981;color:#fff}.btnContract{background:#f97316;color:#fff}.btnComplete{background:#06b6d4;color:#fff}.btnFollowUp{background:#6366f1;color:#fff}.pagination{align-items:center;display:flex;gap:15px;justify-content:center;margin-top:20px}.pagination button{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:5px 12px}.pagination button:disabled{background:#cbd5f5}.pipelineSummary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.pipelineStat{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 6px #00000014;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:6px 12px}.pipelineStat.active{border:2px solid #2563eb}.modalOverlay{background:#00000073}.modalContent{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;gap:12px;max-width:90%;padding:25px;width:420px}.modalContent input,.modalContent textarea{border:1px solid #e2e8f0;border-radius:8px;padding:10px}.modalActions{display:flex;gap:10px;margin-top:10px}.modalActions button{border:none;border-radius:8px;cursor:pointer;padding:8px 14px}.modalActions button:first-child{background:#6366f1;color:#fff}.modalActions button:last-child{background:#e2e8f0}.filePreview{margin-top:6px}.filePreview img{border:1px solid #e2e8f0;border-radius:8px;height:80px;object-fit:cover;width:80px}.viewerModal{box-shadow:0 20px 40px #0003}.viewerContent{display:flex;justify-content:center;margin-top:10px}.viewerContent img{max-height:500px;max-width:100%}.closeBtn{background:#0f172a;margin-top:15px;padding:10px 16px}.resetFilter{background:#e2e8f0;border:none;border-radius:6px;color:#334155;cursor:pointer;font-size:12px;margin-bottom:10px;padding:6px 12px;transition:.2s}.resetFilter:hover{background:#cbd5e1}button:disabled{cursor:not-allowed;opacity:.5}.modalOverlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#0f172abf,#1e3c72a6);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.modalCard{animation:slideUp .24s ease-out;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #1e3c7240;border-radius:22px;box-shadow:0 35px 70px #00000059,0 0 0 1px #00c6ff26;max-height:90vh;max-width:100%;overflow-y:auto;padding:22px;transform-origin:center;width:920px}.modalCard::-webkit-scrollbar{width:6px}.modalCard::-webkit-scrollbar-thumb{background:#1e3c724d;border-radius:10px}.modalHeader{align-items:flex-start;border-bottom:1px solid #00000014;display:flex;justify-content:space-between;margin-bottom:18px;padding-bottom:14px}.modalTitle{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#1e3c72,#00c6ff);-webkit-background-clip:text;font-size:22px;font-weight:800;margin:0}.modalSub{color:#64748b;font-size:13px;margin-top:6px}.closeBtn{background:linear-gradient(135deg,#ff4e50,#f9d423);border:none;border-radius:10px;color:#fff;font-weight:700;padding:6px 10px;transition:all .25s ease}.closeBtn:hover{box-shadow:0 6px 18px #00000040;transform:scale(1.1) rotate(3deg)}.grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin:16px 0 22px}@media (max-width:760px){.grid{grid-template-columns:1fr}}.infoBox{background:linear-gradient(145deg,#f1f5f9,#e2e8f0);border-radius:16px;box-shadow:0 6px 18px #00000014;padding:14px;transition:all .3s ease}.infoBox:hover{background:linear-gradient(145deg,#fff,#e0f2ff);box-shadow:0 10px 25px #0000001f;transform:translateY(-4px)}.label{color:#64748b;font-size:12px}.value{color:#0f172a;font-size:15px;font-weight:700;margin-top:5px}.section{background:linear-gradient(135deg,#f8fafc,#fff);border-radius:18px;box-shadow:0 8px 24px #0000000f;margin-bottom:18px;padding:16px;transition:all .3s ease}.section:hover{box-shadow:0 12px 32px #00000014;transform:translateY(-2px)}.section h3{color:#1e3c72;font-size:16px;font-weight:700;margin:0 0 12px}.timelineItem{animation:fadeIn .4s ease forwards;display:flex;gap:14px;margin-bottom:18px;position:relative}.timelineDot{animation:pulseDot 2s infinite;background:linear-gradient(135deg,#1e3c72,#00c6ff);border-radius:50%;box-shadow:0 0 0 4px #00c6ff33;height:14px;margin-top:6px;width:14px}@keyframes pulseDot{0%{box-shadow:0 0 0 4px #00c6ff33}50%{box-shadow:0 0 0 8px #00c6ff1a}to{box-shadow:0 0 0 4px #00c6ff33}}.timelineText{color:#0f172a;font-size:14px;font-weight:600}.timelineMeta{color:#64748b;font-size:12px;margin-top:3px}.timelineItem:before{background:linear-gradient(180deg,#1e3c72,#00c6ff);bottom:-14px;content:"";left:6px;opacity:.3;position:absolute;top:20px;width:2px}.timelineItem:last-child:before{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.noteInputBox textarea{border:1px solid #0000001a;border-radius:12px;margin-bottom:8px;min-height:70px;padding:10px;width:100%}.noteInputBox button{background:linear-gradient(135deg,#1e3c72,#00c6ff);border:none;border-radius:10px;color:#fff;cursor:pointer;padding:6px 14px}.noteCard{background:#f8fafc;border-radius:12px;box-shadow:0 4px 12px #0000000f;margin-top:8px;padding:10px}.noteText{font-weight:500}.noteMeta{color:#64748b;font-size:12px;margin-top:4px}.viewerModal{background:#fff;border-radius:16px;max-width:900px;padding:25px;width:70%}.viewerImg{max-height:500px;max-width:100%}.viewBtn{background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-left:10px;padding:4px 10px}.finance-container{align-items:center;background:#f4f7fb;display:flex;justify-content:center;min-height:100vh;padding:20px}.finance-card{animation:popup .2s ease;background:#fff;border-radius:14px;box-shadow:0 20px 50px #00000026;max-height:85vh;max-width:95%;overflow-y:auto;padding:22px;width:420px}@keyframes popup{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.finance-card h2{color:#1e3c72;margin:0 0 18px;text-align:center}.finance-form{display:flex;flex-direction:column;gap:10px}.finance-form label{color:#333;font-size:13px;font-weight:600;margin-top:6px}.finance-form input,.finance-form select{border:1px solid #d0d7e2;border-radius:8px;font-size:14px;padding:10px 12px}.finance-form input:focus,.finance-form select:focus{border-color:#1e3c72;box-shadow:0 0 0 3px #1e3c7226;outline:none}.finance-actions{display:flex;gap:10px;margin-top:14px}.btn-primary{background:#1e3c72;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-weight:700;padding:10px}.btn-primary:hover{background:#16305a}.btn-secondary{background:#fff;border:1px solid #1e3c72;border-radius:8px;color:#1e3c72;cursor:pointer;flex:1 1;font-weight:700;padding:10px}.btn-secondary:hover{background:#eef3ff}.finance-summary{background:#f8fafc;border-radius:8px;font-size:13px;margin-top:12px;padding:10px}.finance-summary p{margin:4px 0}.financeTotal{color:#1e293b;font-weight:600}.financeStatusPending{color:#f59e0b}.financeStatusApproved{color:#22c55e}.financeStatusRejected{color:#ef4444}.finance-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a8c;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:9999}.finance-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.close-btn{background:#f1f5f9;border-radius:6px;height:28px;width:28px}.close-btn:hover{background:#e2e8f0}.installation-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a99;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;transition:all .3s ease;z-index:2000}.installation-card{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:20px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a,0 0 0 1px #0000000d;max-height:90vh;max-width:100%;overflow-x:hidden;overflow-y:auto;padding:32px;position:relative;scroll-behavior:smooth;width:600px}.installation-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.installation-header h2{color:#1e293b;font-size:22px;font-weight:700;letter-spacing:-.025em}.close-btn{align-items:center;background:#f8fafc;border:none;border-radius:10px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:.2s;width:36px}.close-btn:hover{background:#fee2e2;color:#ef4444;transform:rotate(90deg)}.progressBox{background:#f1f5f9;border-radius:14px;display:flex;gap:12px;margin-bottom:28px;padding:6px}.step{align-items:center;background:#0000;border-radius:10px;color:#64748b;display:flex;flex:1 1;flex-direction:column;font-size:11px;font-weight:600;letter-spacing:.05em;padding:12px 8px;text-transform:uppercase;transition:all .3s ease}.step.done{background:#fff;box-shadow:0 4px 6px -1px #0000001a;color:#2563eb}.stepIcon{font-size:20px;margin-bottom:4px}.installation-card form{display:flex;flex-direction:column;gap:18px}.form-field{display:flex;flex-direction:column;gap:6px}.installation-card label{color:#334155;font-size:14px;font-weight:600}.installation-card input,.installation-card select,.installation-card textarea{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:15px;padding:12px 16px;transition:all .2s}.installation-card input:focus,.installation-card select:focus,.installation-card textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.statusBadge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;padding:6px 12px}.status-SCHEDULED{background:#e0f2fe;color:#0369a1}.status-IN_PROGRESS{background:#fef9c3;color:#a16207}.status-COMPLETED{background:#dcfce7;color:#15803d}.installation-summary{background:#f8fafc;border:1px dashed #cbd5e1;font-size:14px;line-height:1.5;padding:16px}.installation-actions{border-top:1px solid #f1f5f9;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.cancel-btn{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;font-weight:600;padding:10px 20px;transition:.2s}.cancel-btn:hover{background:#f1f5f9;color:#1e293b}.installation-actions button[type=submit]{background:#2563eb;border:none;border-radius:10px;box-shadow:0 4px 10px #2563eb33;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:.3s}.installation-actions button[type=submit]:hover{background:#1d4ed8;box-shadow:0 6px 15px #2563eb4d;transform:translateY(-1px)}.installation-card::-webkit-scrollbar{width:8px}.installation-card::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}.installation-card::-webkit-scrollbar-thumb:hover{background:#cbd5e1}@keyframes scaleIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.form-grid{grid-gap:16px;gap:16px}.installation-form{display:flex;flex-direction:column;gap:20px}.file-upload-container{width:100%}.file-upload-label{align-items:center;background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;cursor:pointer;display:flex;justify-content:center;padding:20px;transition:all .2s ease}.file-upload-label:hover{background:#eff6ff;border-color:#3b82f6}.file-upload-label.has-file{background:#f0fdf4;border-color:#22c55e;border-style:solid}.upload-content{align-items:center;display:flex;gap:15px}.upload-icon-circle{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000000d;color:#3b82f6;display:flex;font-size:20px;font-weight:700;height:40px;justify-content:center;width:40px}.upload-text strong{color:#1e293b;display:block;font-size:14px}.upload-text span{color:#64748b;font-size:12px}.hidden-input{display:none}.image-preview-wrapper{border:1px solid #e2e8f0;border-radius:12px;height:180px;overflow:hidden;position:relative;width:100%}.previewImage{height:100%;object-fit:cover;width:100%}.remove-photo{background:#f00c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:5px 12px;position:absolute;right:10px;top:10px}.remove-photo:hover{background:red}.installation-summary{align-items:center;background:#f1f5f9;border-radius:12px;display:flex;justify-content:space-between;margin-top:20px;padding:15px 20px}.timeline-container{margin-top:20px}.timeline-item{display:flex;gap:15px;margin-bottom:20px}.timeline-icon{font-size:24px}.timeline-content{background:#f5f7fb;border-radius:8px;padding:12px;width:100%}.timeline-image{border-radius:6px;margin-top:10px;width:120px}.timeline-content h4{margin-bottom:5px}.timeline-item:first-child h4{color:#3b82f6}.timeline-item:nth-child(2) h4{color:#f59e0b}.timeline-item:nth-child(3) h4{color:#22c55e}.contract-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a99;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.contract-card{animation:contractSlideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;max-width:95%;padding:32px;width:440px}.contract-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.contract-header h2{color:#1e293b;font-size:20px;font-weight:700;margin:0}.closeBtn{align-items:center;background:#f1f5f9;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:.2s;width:32px}.closeBtn:hover{background:#fee2e2;color:#ef4444}.contract-card form{gap:16px}.contract-card form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#475569;font-size:13px;font-weight:600}.contract-card input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;box-sizing:border-box;font-size:14px;padding:11px 14px;transition:all .2s;width:100%}.contract-card input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.file-drop-area{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:20px;position:relative;transition:.2s}.file-drop-area:hover{background:#eff6ff;border-color:#3b82f6}.file-drop-area.has-file{background:#f0fdf4;border-color:#22c55e;border-style:solid}.file-icon{font-size:24px;margin-bottom:8px}.file-msg{color:#64748b;font-size:13px;text-align:center}.file-msg strong{color:#3b82f6}.file-name-label{color:#166534;font-size:12px;font-weight:600;margin-top:4px}.contract-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.contract-actions button{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:.2s}.btn-cancel{background:#f1f5f9;color:#475569}.btn-cancel:hover{background:#e2e8f0}.btn-save{background:#2563eb;box-shadow:0 4px 6px -1px #2563eb33;color:#fff}.btn-save:hover{background:#1d4ed8;transform:translateY(-1px)}@keyframes contractSlideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.assignOverlay{align-items:center;background:#00000059;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}.assignCard{background:#fff;border-radius:10px;box-shadow:0 10px 25px #00000026;padding:25px;width:320px}.assignCard h3{margin-bottom:15px}.assignCard select{border:1px solid #ddd;border-radius:6px;padding:8px;width:100%}.assignActions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btnCancel{background:#eee}.btnAssign,.btnCancel{border:none;border-radius:6px;cursor:pointer;padding:7px 12px}.btnAssign{background:#6366f1;color:#fff}.add-customer-container{background-color:#f4f7fe;display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.add-customer-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000000d;max-width:900px;padding:40px;width:100%}.header-section{margin-bottom:30px;text-align:center}.header-section h2{color:#1b2559;font-size:28px;margin-bottom:5px}.header-section p{color:#a3aed0;font-size:14px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.input-group{display:flex;flex-direction:column;gap:8px;margin-bottom:15px}.input-group label{color:#2b3674;font-size:14px;font-weight:600}.input-group input,.input-group select,.input-group textarea{background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;font-size:14px;padding:12px 16px}.section-title{border-left:4px solid #4f46e5;color:#1b2559;font-size:18px;margin:30px 0 20px;padding-left:12px}.document-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:30px}.upload-card{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:15px;display:flex;height:120px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease}.upload-card:hover{background:#f0f4ff;border-color:#4f46e5}.upload-card.uploaded{background:#ecfdf5;border-color:#10b981;border-style:solid}.upload-card input[type=file]{cursor:pointer;height:100%;opacity:0;position:absolute;width:100%;z-index:2}.upload-label{cursor:pointer;text-align:center}.placeholder-area{color:#64748b;font-size:12px}.placeholder-area,.preview-area{align-items:center;display:flex;flex-direction:column;gap:5px}.preview-area img{border-radius:8px;height:50px;object-fit:cover;width:50px}.file-status{align-items:center;color:#059669;display:flex;font-size:11px;font-weight:700;gap:3px}.submit-btn{background:#4f46e5;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:16px;transition:background .3s;width:100%}.submit-btn:hover{background:#4338ca}@media (max-width:600px){.form-grid{grid-template-columns:1fr}.document-grid{grid-template-columns:1fr 1fr}}.required{color:red;font-weight:600;margin-left:4px}.helper-text{color:#6b7280;font-size:12px;margin-top:4px}.detect-btn{align-items:center;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;color:#4f46e5;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-top:10px;padding:8px 14px;transition:all .2s ease}.detect-btn:hover{background:#e0e7ff;border-color:#a5b4fc}.detect-btn:active{transform:scale(.97)}.detect-btn:disabled{cursor:not-allowed;opacity:.6}.textarea-like{background-color:#fff!important;background-image:none!important}.textarea-like:-webkit-autofill{-webkit-text-fill-color:inherit!important;-webkit-box-shadow:inset 0 0 0 1000px #fff!important}.pac-container{z-index:9999!important}input[name=address]{auto-complete:off!important;background-image:none!important}input[name=manualAddress]{border-left:4px solid #4f46e5}:root{--sidebar-bg:#1e293b;--sidebar-border:#334155;--sidebar-text:#94a3b8;--sidebar-hover-bg:#334155;--primary-accent:#6366f1;--active-text:#fff}.sidebar{background:#1e293b;background:var(--sidebar-bg);border:1px solid #334155;border:1px solid var(--sidebar-border);border-radius:16px;box-shadow:0 20px 40px #0003;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;height:calc(100vh - 24px);left:12px;padding:15px 12px;position:fixed;top:12px;transition:width .3s ease;width:210px;z-index:1000}.sidebar.collapsed{width:70px}.sidebarTop{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;gap:10px;margin-bottom:15px;padding-bottom:15px}.logoCircle{flex-shrink:0;font-size:20px}.sidebarTitle{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#fff,#94a3b8);-webkit-background-clip:text;font-size:15px;font-weight:700;white-space:nowrap}.collapseBtn{align-items:center;background:#334155;background:var(--sidebar-hover-bg);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;margin-left:auto;width:28px}.collapseBtn:hover{background:#6366f1;background:var(--primary-accent)}.sidebarMenu{display:flex;flex:1 1;flex-direction:column;gap:4px}.menuLabel{color:#475569;font-size:10px;font-weight:700;letter-spacing:.5px;margin:15px 0 5px 8px;text-transform:uppercase}.sidebarItem{align-items:center;border-radius:10px;color:#94a3b8;color:var(--sidebar-text);display:flex;font-size:13px;font-weight:500;gap:12px;padding:10px 12px;text-decoration:none;transition:all .2s}.navIcon{flex-shrink:0;font-size:18px}.sidebarItem:hover{background:#334155;background:var(--sidebar-hover-bg);color:#fff}.sidebarItem.active{background:#6366f1;background:var(--primary-accent);box-shadow:0 4px 12px #6366f14d;color:#fff;color:var(--active-text)}.sidebarFooter{border-top:1px solid #ffffff0d;margin-top:auto;padding-top:15px}.userBrief{gap:10px;margin-bottom:10px;padding:8px}.avatar,.userBrief{align-items:center;display:flex}.avatar{background:#6366f1;background:var(--primary-accent);border-radius:8px;font-size:12px;font-weight:700;height:32px;justify-content:center;width:32px}.userText p{line-height:1.2;margin:0}.userName{color:#fff;font-size:12px;font-weight:600}.userStatus{color:#22c55e;font-size:10px}.logoutBtn{align-items:center;background:#ef44441a;border:1px solid #ef444433;border-radius:10px;color:#fca5a5;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:10px;padding:10px;transition:.2s;width:100%}.logoutBtn:hover{background:#ef4444;color:#fff}.sidebar.collapsed .logoutBtn span,.sidebar.collapsed .menuLabel,.sidebar.collapsed .sidebarItem span,.sidebar.collapsed .sidebarTitle,.sidebar.collapsed .userText{display:none}.sidebar.collapsed .logoutBtn,.sidebar.collapsed .sidebarItem,.sidebar.collapsed .userBrief{justify-content:center}.layout{background:#f3f6fb;display:flex;min-height:100vh}.mainContent{display:flex;flex:1 1;flex-direction:column;margin-left:210px;min-width:0;padding:12px 18px;transition:margin-left .35s ease;width:100%}.mainContent.collapsed{margin-left:80px}.pageWrapper{animation:fadeSlide .35s ease;background:#fff;border-radius:14px;box-shadow:0 10px 30px #0000000d,inset 0 1px 0 #fff6;margin:0 auto;max-width:1600px;overflow-x:auto;padding:16px;scrollbar-color:#d1d5db #0000;scrollbar-width:thin;width:100%}.pageWrapper::-webkit-scrollbar{height:6px}.pageWrapper::-webkit-scrollbar-track{background:#0000}.pageWrapper::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:6px}.pageWrapper::-webkit-scrollbar-thumb:hover{background:#9ca3af}@keyframes fadeSlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.c5b39bf1.css.map*/