@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-app:#090f1d;--bg-sidebar:#0d1527;--bg-header:#0f172ab3;--bg-card:#1e293b66;--bg-table:#0f172a66;--bg-table-header:#0f172a99;--bg-modal:#0f172af2;--bg-input:#0f172a66;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border-color:#ffffff14;--border-muted:#ffffff0d;--bg-hover:#ffffff05;--scrollbar-track:#090f1d;--scrollbar-thumb:#1e293b;--input-focus-bg:#0f172ab3;--shadow-main:0 10px 30px -10px #00000059;--shadow-card:0 4px 20px #00000026;--shadow-hover:0 12px 30px -5px #0000004d;--shadow-sm:0 2px 8px #0003}:root.light{--bg-app:#f1f5f9;--bg-sidebar:#fff;--bg-header:#fffc;--bg-card:#fff;--bg-table:#fff;--bg-table-header:#f8fafc;--bg-modal:#fffffffa;--bg-input:#fff;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#57687e;--border-color:#0000001f;--border-muted:#00000014;--bg-hover:#00000008;--scrollbar-track:#f1f5f9;--scrollbar-thumb:#cbd5e1;--input-focus-bg:#fff;--shadow-main:0 10px 30px -10px #0f172a14, 0 4px 12px #0f172a08;--shadow-card:0 4px 20px #0f172a05;--shadow-hover:0 10px 25px #0f172a0f;--shadow-sm:0 2px 8px #0f172a0a}html,body{background-color:var(--bg-app);width:100%;height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,sans-serif;transition:background-color .3s,color .3s;overflow-x:hidden}#root{flex-direction:column;width:100%;height:100%;min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}input,select,textarea,button{font-family:inherit}.expense-stat-card,.gps-stat-card,.recent-activity-card,.alerts-card,.commercial-card,.balance-card,.crm-info-sidebar,.crm-tab-section,.margin-calculator-box,.history-log-panel{transition:background-color .3s,border-color .3s,color .3s;background:var(--bg-card)!important;border:1px solid var(--border-color)!important;color:var(--text-primary)!important}.bold-text{color:var(--text-primary)!important}.sub-text{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.icon-location{color:#3b82f6}.icon-phone{color:#22c55e}.icon-mail{color:#f59e0b}.icon-briefcase{color:#818cf8}.icon-user{color:#60a5fa}.icon-calendar,.icon-car{color:#3b82f6}.icon-shield{color:#818cf8}.icon-check{color:#10b981}:root.light .icon-location{color:#2563eb}:root.light .icon-phone{color:#16a34a}:root.light .icon-mail{color:#d97706}:root.light .icon-briefcase{color:#6366f1}:root.light .icon-user,:root.light .icon-calendar,:root.light .icon-car{color:#2563eb}:root.light .icon-shield{color:#6366f1}:root.light .icon-check{color:#059669}.status-pill{color:inherit!important}:root.light .nav-link-item{color:#334155!important}:root.light .nav-link-item:hover{color:#0f172a!important;background:#0000000a!important}:root.light .nav-link-item.active{color:#1d4ed8!important;background:#3b82f61a!important;font-weight:700!important}:root.light .logout-btn{color:#dc2626!important}:root.light .logout-btn:hover{color:#b91c1c!important;background:#dc262614!important}:root.light .username{color:#0f172a!important}:root.light .notification-btn{color:#334155!important}:root.light .notification-btn:hover{color:#0f172a!important;background:#0000000a!important}:root.light .view-header h2{color:#0f172a!important}:root.light .view-subtitle{color:#334155!important}:root.light .welcome-banner{color:#fff!important;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)!important;border:none!important;box-shadow:0 10px 30px -10px #2563eb4d!important}:root.light .welcome-banner h1{color:#fff!important}:root.light .welcome-banner p{color:#fffc!important}:root.light .banner-date{color:#fff!important;background:#ffffff26!important;border:1px solid #ffffff40!important}:root.light .kpi-card,:root.light .details-card,:root.light .expense-stat-card,:root.light .gps-stat-card,:root.light .inv-stat-card,:root.light .commercial-card,:root.light .balance-card,:root.light .crm-info-sidebar,:root.light .crm-tab-section,:root.light .margin-calculator-box,:root.light .history-log-panel,:root.light .items-selector-box,:root.light .totals-summary-box,:root.light .balance-chart-card,:root.light .chart-panel-card,:root.light .pipeline-panel-card,:root.light .top-products-panel,:root.light .items-builder-panel,:root.light .selected-items-table-wrapper,:root.light .totals-summary,:root.light .mrr-card,:root.light .month-summary-panel,:root.light .summary-cell,:root.light .c-stat-card{color:#0f172a!important;background:#fff!important;border:1px solid #00000014!important;box-shadow:0 4px 20px #0000000a!important}:root.light .fin-card{color:#0f172a!important;background:#fff!important;border-top:1px solid #00000014!important;border-bottom:1px solid #00000014!important;border-right:1px solid #00000014!important;box-shadow:0 4px 20px #0000000a!important}:root.light .kpi-card:hover,:root.light .fin-card:hover,:root.light .details-card:hover,:root.light .mrr-card:hover,:root.light .c-stat-card:hover{border-color:#3b82f64d!important;box-shadow:0 10px 25px #0000000f!important}:root.light .kpi-content h3,:root.light .mrr-card .value,:root.light .cell-val,:root.light .c-stat-card .value,:root.light .expense-stat-card .value,:root.light .inv-stat-card .value,:root.light .gps-stat-card .value{color:#0f172a!important}:root.light .kpi-content p,:root.light .mrr-card .label,:root.light .cell-label,:root.light .c-stat-card .label,:root.light .inv-stat-card .label,:root.light .gps-stat-card .label{color:#334155!important}:root.light .summary-cell.highlight{background:#2563eb0d!important;border-color:#2563eb26!important}:root.light .fin-label{color:#334155!important}:root.light .fin-value,:root.light .section-title,:root.light .financial-section h2,:root.light .details-header h3,:root.light .history-log-panel h4,:root.light .crm-tab-section h4,:root.light .month-summary-panel h3,:root.light .balance-table-wrapper h3,:root.light .projections-table-wrapper h3,:root.light .chart-panel-card h3,:root.light .pipeline-panel-card h3,:root.light .top-products-panel h3,:root.light .items-builder-panel h4{color:#0f172a!important}:root.light .activity-title,:root.light .activity-badge-label{color:#1e293b!important}:root.light .activity-date{color:#334155!important}:root.light input,:root.light select,:root.light textarea{color:#0f172a!important;background:#fff!important;border:1px solid #0000003b!important}:root.light input::placeholder,:root.light textarea::placeholder{color:#475569!important}:root.light input:focus,:root.light select:focus,:root.light textarea:focus{background:#fff!important;border-color:#1d4ed8!important;box-shadow:0 0 0 3px #1d4ed826!important}:root.light input:disabled,:root.light select:disabled,:root.light textarea:disabled{color:#475569!important;background:#f1f5f9!important;border-color:#0000001a!important}:root.light .gtk-table th,:root.light .details-table th,:root.light .selected-items-table th{color:#0f172a!important;background:#f8fafc!important;border-bottom:2px solid #0000001a!important;font-weight:700!important}:root.light .gtk-table td,:root.light .details-table td,:root.light .selected-items-table td{color:#0f172a!important;border-bottom:1px solid #00000017!important}:root.light .gtk-table tbody tr:hover,:root.light .details-table tbody tr:hover{background:#00000008!important}:root.light .totals-row{color:#334155!important}:root.light .totals-row.grand-total{color:#1d4ed8!important;border-top:1px solid #0000001f!important;padding-top:8px!important}:root.light .status-select-pill{color:#334155!important;background:#fff!important;border:1px solid #0000001f!important}:root.light .status-pill.abierto{color:#1d4ed8!important;background:#2563eb1f!important;border:1px solid #2563eb4d!important;font-weight:700!important}:root.light .status-pill.cerrado{color:#047857!important;background:#0596691f!important;border:1px solid #0596694d!important;font-weight:700!important}:root.light .project-badge,:root.light .engineer-badge,:root.light .category-tag,:root.light .service-badge-tag,:root.light .cycle-pill,:root.light .sector-tag,:root.light .seller-badge,:root.light .qty-badge,:root.light .percentage-label,:root.light .date-badge{color:#0f172a!important;background:#0000000d!important;border:1px solid #00000026!important;font-weight:600!important}:root.light .unassigned{color:#475569!important}:root.light .plan-pill{color:#1d4ed8!important;background:#2563eb1f!important;border:1px solid #2563eb4d!important;font-weight:700!important}:root.light .plan-pill.cortesia{color:#be185d!important;background:#be185d1f!important;border:1px solid #be185d4d!important;font-weight:700!important}:root.light .badge.warning,:root.light .status-pill.verificar,:root.light .hours-badge.warning,:root.light .failure-reason-badge{color:#b45309!important;background:#d977061f!important;border:1px solid #d977064d!important;font-weight:700!important}:root.light .badge.danger,:root.light .badge.expired,:root.light .hours-badge.critical{color:#b91c1c!important;background:#dc26261f!important;border:1px solid #dc26264d!important;font-weight:700!important}:root.light .badge.success{color:#047857!important;background:#0596691f!important;border:1px solid #0596694d!important;font-weight:700!important}:root.light .badge.primary{color:#1d4ed8!important;background:#2563eb1f!important;border:1px solid #2563eb4d!important;font-weight:700!important}:root.light .table-action-btn,:root.light .table-action-btn.danger{color:#b91c1c!important;background:#dc262614!important;border:1px solid #dc262659!important;font-weight:700!important}:root.light .table-action-btn:hover,:root.light .table-action-btn.danger:hover{color:#991b1b!important;background:#dc262629!important}:root.light .table-action-btn.warning{color:#b45309!important;background:#d9770614!important;border:1px solid #d9770659!important;font-weight:700!important}:root.light .table-action-btn.warning:hover{color:#92400e!important;background:#d9770629!important}:root.light .table-action-btn.primary{color:#1d4ed8!important;background:#2563eb14!important;border:1px solid #2563eb59!important;font-weight:700!important}:root.light .table-action-btn.primary:hover{color:#1e40af!important;background:#2563eb29!important}:root.light .status-name{color:#0f172a!important;font-weight:600!important}:root.light .status-count{color:#334155!important;font-weight:600!important}:root.light .pipeline-bar-wrapper{background:#00000014!important}:root.light .expire-date-cell .date-str{color:#0f172a!important;font-weight:600!important}:root.light .expire-date-cell.active .days-left{color:#047857!important;font-weight:700!important}:root.light .expire-date-cell.warning .days-left{color:#b45309!important;font-weight:700!important}:root.light .expire-date-cell.expired .days-left{color:#b91c1c!important;font-weight:700!important}:root.light .expire-date-cell.expired .date-str{text-decoration:line-through;color:#b91c1c!important}:root.light .bold-text{color:#0f172a!important;font-weight:700!important}:root.light .sub-text{color:#334155!important;font-weight:600!important}:root.light .text-muted{color:#475569!important;font-weight:500!important}:root.light .text-success{color:#047857!important;font-weight:600!important}:root.light .text-danger,:root.light .danger-text,:root.light .expense-stat-card.total .value{color:#b91c1c!important;font-weight:600!important}:root.light .text-info{color:#1d4ed8!important;font-weight:600!important}:root.light .text-warning{color:#b45309!important;font-weight:600!important}:root.light .chart-tooltip{color:#0f172a!important;background:#fff!important;border:1px solid #00000026!important;box-shadow:0 4px 15px #0000001a!important}:root.light .history-content-scroll,:root.light .history-content-scroll p,:root.light .history-content-scroll span,:root.light .history-content-scroll div,:root.light .history-content-scroll font{color:#334155!important}:root.light .history-content-scroll b,:root.light .history-content-scroll b span,:root.light .history-content-scroll b font{color:#1d4ed8!important}:root.light .status-select-pill.pendiente{color:#b45309!important;background:#d977061f!important;border-color:#d977064d!important;font-weight:700!important}:root.light .status-select-pill.aprobado{color:#047857!important;background:#0596691f!important;border-color:#0596694d!important;font-weight:700!important}:root.light .status-select-pill.rechazado{color:#b91c1c!important;background:#dc26261f!important;border-color:#dc26264d!important;font-weight:700!important}:root.light .activity-item{background:#f8fafc!important;border:1px solid #00000014!important}:root.light .activity-item:hover{background:#f1f5f9!important}:root.light .activity-title{color:#0f172a!important;font-weight:600!important}:root.light .activity-badge-label{color:#475569!important;font-weight:600!important}:root.light .activity-date{color:#334155!important;font-weight:600!important}@media (width<=600px){.view-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.view-header button,.view-header .btn{width:100%!important}.table-toolbar{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding:16px!important}.search-box-wrapper{width:100%!important;max-width:100%!important}.filter-actions{justify-content:space-between!important;width:100%!important}.filter-select{flex:1!important}}.login-container{color:#f1f5f9;background:radial-gradient(circle at 10% 20%,#040f24 0%,#111c30 90%);justify-content:center;align-items:center;width:100vw;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;display:flex;position:relative;overflow:hidden}.login-background-pattern{opacity:.8;z-index:0;background-image:radial-gradient(#3b82f626 1px,#0000 1px),radial-gradient(#10b9811a 1.5px,#0000 1.5px);background-position:0 0,20px 20px;background-size:40px 40px,60px 60px;width:100%;height:100%;position:absolute;top:0;left:0}.login-container:before,.login-container:after{content:"";filter:blur(80px);z-index:0;pointer-events:none;border-radius:50%;position:absolute}.login-container:before{background:#2563eb4d;width:300px;height:300px;animation:12s ease-in-out infinite alternate floatOrb;top:15%;left:20%}.login-container:after{background:#10b98133;width:250px;height:250px;animation:10s ease-in-out infinite alternate-reverse floatOrb;bottom:15%;right:20%}@keyframes floatOrb{0%{transform:translateY(0)scale(1)}to{transform:translateY(-30px)scale(1.1)}}.login-box{z-index:10;width:100%;max-width:420px;padding:24px;animation:.6s cubic-bezier(.16,1,.3,1) forwards fadeIn;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo{flex-direction:column;align-items:center;gap:8px;margin-bottom:24px;display:flex}.login-logo-text{letter-spacing:-1.5px;justify-content:center;align-items:baseline;gap:6px;font-size:2.2rem;font-weight:800;display:flex}.login-logo-sub-icons{color:#94a3b8;gap:8px;display:flex}.login-logo-sub-icons .sub-icon{opacity:.5;cursor:pointer;transition:all .2s}.login-logo-sub-icons .sub-icon:hover{opacity:1;color:#3b82f6;transform:scale(1.25)}html.light .login-logo-sub-icons{color:#475569}.logo-accent{background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 50%,#10b981 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.logo-sub{color:#94a3b8;letter-spacing:0;font-size:1.1rem;font-weight:400}.login-card{-webkit-backdrop-filter:blur(16px);background:#0f172aa6;border:1px solid #ffffff14;border-radius:24px;padding:40px 32px;transition:border-color .3s,box-shadow .3s;box-shadow:0 25px 50px -12px #00000080}.login-card:hover{border-color:#3b82f633;box-shadow:0 25px 50px -12px #3b82f626}.login-card h2{color:#f8fafc;text-align:center;letter-spacing:-.5px;margin:0 0 6px;font-size:1.75rem;font-weight:700}.subtitle{color:#94a3b8;text-align:center;margin-bottom:32px;font-size:.9rem}.login-form{flex-direction:column;gap:20px;display:flex}.error-alert{color:#fca5a5;background:#ef444426;border:1px solid #ef444440;border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:.85rem;animation:.4s ease-in-out shake;display:flex}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.alert-icon{flex-shrink:0}.input-group{flex-direction:column;gap:8px;display:flex}.input-group label{color:#cbd5e1;text-align:left;font-size:.85rem;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:#64748b;pointer-events:none;transition:color .3s;position:absolute;left:14px}.input-wrapper input{color:#f8fafc;box-sizing:border-box;background:#0f172a66;border:1px solid #ffffff1f;border-radius:12px;outline:none;width:100%;padding:14px 14px 14px 44px;font-size:.95rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.input-wrapper input::placeholder{color:#475569}.input-wrapper input:focus{background:#0f172acc;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f626}.input-wrapper input:focus+.input-icon{color:#3b82f6}.login-btn{color:#fff;cursor:pointer;box-sizing:border-box;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:14px;font-size:.95rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.login-btn:hover{background:linear-gradient(135deg,#4f87fa 0%,#1d4ed8 100%);transform:translateY(-2px);box-shadow:0 8px 25px #2563eb73}.login-btn:active{transform:translateY(0)}.login-btn:disabled{color:#64748b;cursor:not-allowed;box-shadow:none;background:#334155;transform:none}.spinner-icon{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.login-box{padding:16px!important}.login-card{border-radius:20px!important;padding:30px 20px!important}.login-logo{margin-bottom:16px!important}.login-logo-text{font-size:1.8rem!important}}.login-theme-toggle{color:#94a3b8;cursor:pointer;z-index:50;background:#ffffff0d;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;padding:10px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:24px;right:24px}.login-theme-toggle:hover{color:#f1f5f9;background:#ffffff1a;transform:scale(1.08)}html.light .login-theme-toggle{color:#475569;background:#00000008;border:1px solid #00000014}html.light .login-theme-toggle:hover{color:#0f172a;background:#0000000f}html.light .login-container{color:#0f172a;background:radial-gradient(circle at 10% 20%,#f1f5f9 0%,#e2e8f0 90%)}html.light .login-card{-webkit-backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #00000014;box-shadow:0 25px 50px -12px #0f172a14}html.light .login-card:hover{border-color:#2563eb26;box-shadow:0 25px 50px -12px #2563eb14}html.light .login-card h2{color:#0f172a}html.light .logo-sub{color:#475569}html.light .input-group label{color:#334155}html.light .input-wrapper input{color:#0f172a;background:#fff;border:1px solid #00000026}html.light .input-wrapper input::placeholder{color:#94a3b8}html.light .input-wrapper input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}html.light .input-wrapper input:focus+.input-icon{color:#3b82f6}html.light .login-background-pattern{opacity:1;background-image:radial-gradient(#2563eb0a 1px,#0000 1px),radial-gradient(#10b98105 1.5px,#0000 1.5px)}html.light .login-container:before{background:#2563eb14}html.light .login-container:after{background:#10b9810f}.app-container{background:var(--bg-app);width:100vw;height:100vh;color:var(--text-primary);flex-direction:column;font-family:Inter,system-ui,-apple-system,sans-serif;transition:background-color .3s,color .3s;display:flex;overflow:hidden}.app-header{background:var(--bg-header);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:50;box-sizing:border-box;justify-content:space-between;align-items:center;height:70px;padding:0 24px;transition:background-color .3s,border-color .3s;display:flex}.header-left{align-items:center;gap:16px;display:flex}.mobile-toggle-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;transition:background .3s,color .3s;display:none}.mobile-toggle-btn:hover{background:var(--bg-hover)}.header-logo{flex-direction:column;align-items:flex-start;gap:2px;line-height:1.1;display:flex}.header-logo .logo-text{letter-spacing:-1px;background:linear-gradient(135deg,#60a5fa 0%,#10b981 50%,#60a5fa 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:800;animation:6s linear infinite shineLogo}@keyframes shineLogo{to{background-position:200%}}.logo-sub-icons{color:var(--text-muted);gap:6px;margin-top:1px;display:flex}.logo-sub-icons .sub-icon{opacity:.5;cursor:pointer;transition:all .2s}.logo-sub-icons .sub-icon:hover{opacity:1;color:#3b82f6;transform:scale(1.25)}.header-right{align-items:center;gap:20px;display:flex}.notification-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.notification-btn:hover{color:#f1f5f9;background:#ffffff0f;transform:scale(1.08)}.notification-badge{color:#fff;background:#ef4444;border:2px solid #0f172a;border-radius:10px;padding:2px 6px;font-size:.7rem;font-weight:700;position:absolute;top:4px;right:4px}.user-profile{cursor:pointer;align-items:center;gap:12px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#10b981 100%);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:.9rem;font-weight:700;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;box-shadow:0 4px 10px #3b82f640}.user-profile:hover .avatar{transform:scale(1.1)}.user-info-text{flex-direction:column;align-items:flex-start;display:flex}.username{color:#f8fafc;font-size:.9rem;font-weight:600}.role{color:#10b981;font-size:.75rem;font-weight:500}.main-wrapper{flex:1;height:calc(100vh - 70px);display:flex;position:relative;overflow:hidden}.app-sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);box-sizing:border-box;z-index:40;flex-direction:column;justify-content:space-between;width:260px;padding:24px 16px;transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .3s,border-color .3s;display:flex}.sidebar-header-mobile{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;display:none}.sidebar-close-btn{color:#f1f5f9;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px}.sidebar-nav{flex-direction:column;flex:1;gap:20px;margin-bottom:20px;padding-right:4px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.sidebar-section-header{text-transform:uppercase;letter-spacing:1px;color:#64748b;text-align:left;margin-bottom:8px;padding-left:8px;font-size:.72rem;font-weight:750;display:block}.nav-link-item{color:#94a3b8;border-left:3px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.nav-link-item:hover{color:#f1f5f9;background:#ffffff0a;transform:translate(4px)}.nav-link-item.active{color:#f8fafc;background:#3b82f61a;border-left-color:#3b82f6;font-weight:600}.nav-icon{flex-shrink:0}.sidebar-footer{margin-top:auto}.logout-btn{color:#fca5a5;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 16px;font-size:.95rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.logout-btn:hover{color:#f87171;background:#ef444414;transform:translate(4px)}.content-area{background:var(--bg-app);flex:1;transition:background-color .3s;position:relative;overflow-y:auto}.content-container{box-sizing:border-box;max-width:100%;padding:32px}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:35;background:#00000080;position:absolute;inset:0}@media (width<=1024px){.mobile-toggle-btn{display:block}.app-sidebar{background:var(--bg-sidebar);position:absolute;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:25px 0 50px -12px #00000040}.app-sidebar.open{transform:translate(0)}.sidebar-header-mobile{display:flex}.content-container{padding:20px}}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeInModal;display:flex;position:fixed;inset:0}.modal-wrapper{background:var(--bg-modal);border:1px solid var(--border-color);width:100%;max-width:600px;max-height:90vh;box-shadow:var(--shadow-main);border-radius:20px;flex-direction:column;transition:background-color .3s,border-color .3s;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards scaleUpModal;display:flex;overflow:hidden}.modal-wrapper.large{max-width:900px}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes scaleUpModal{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-header{border-bottom:1px solid var(--border-muted);justify-content:space-between;align-items:center;padding:20px 24px;transition:border-color .3s;display:flex}.modal-header h3{color:var(--text-primary);align-items:center;gap:10px;margin:0;font-size:1.2rem;font-weight:700;display:flex}.modal-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px;transition:all .3s}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-muted);justify-content:flex-end;gap:12px;padding:16px 24px;transition:border-color .3s;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.form-group{text-align:left;flex-direction:column;gap:8px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);box-sizing:border-box;border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:.9rem;transition:all .3s}.form-group textarea{resize:vertical;min-height:100px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--input-focus-bg);border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--border-muted);color:var(--text-muted);cursor:not-allowed;border-color:var(--border-muted)}.btn{cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2563eb59}.btn-success{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.btn-success:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98159}.btn-secondary{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 6px 20px #ef444459}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.modal-wrapper form{flex-direction:column;max-height:80vh;display:flex;overflow:hidden}@media (width<=480px){.modal-footer{flex-direction:column-reverse!important;align-items:stretch!important;gap:10px!important}.modal-footer .btn{width:100%!important}.form-grid{grid-template-columns:1fr!important;gap:16px!important}}.dashboard-view{flex-direction:column;gap:28px;animation:.4s ease-out fadeIn;display:flex}.dashboard-loading,.dashboard-error{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;display:flex}.dashboard-loading .spinner{color:#3b82f6;animation:1.2s linear infinite spin}.dashboard-error h3{color:#f8fafc;margin:0}.dashboard-error p{color:#fca5a5;margin:0}.welcome-banner{box-shadow:var(--shadow-main);background:linear-gradient(135deg,#2563eb33 0%,#11182766 100%);border:1px solid #3b82f626;border-radius:20px;justify-content:space-between;align-items:center;padding:24px 32px;transition:all .3s;display:flex}.welcome-banner h1{color:#f8fafc;letter-spacing:-.5px;text-align:left;margin:0 0 4px;font-size:1.8rem;font-weight:700}.welcome-banner p{color:#94a3b8;text-align:left;margin:0;font-size:.95rem}.banner-date{color:#60a5fa;background:#ffffff0d;border:1px solid #ffffff14;border-radius:99px;padding:8px 16px;font-size:.85rem;font-weight:600}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card);border-radius:20px;justify-content:space-between;align-items:center;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-hover);border-color:#3b82f666;transform:translateY(-5px)}.kpi-content{flex-direction:column;align-items:flex-start;display:flex}.kpi-content h3{color:#f8fafc;letter-spacing:-1px;margin:0 0 4px;font-size:2.2rem;font-weight:800}.kpi-content p{color:#94a3b8;margin:0;font-size:.9rem;font-weight:500}.kpi-icon-wrapper{color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.kpi-card.premium .kpi-icon-wrapper{background:linear-gradient(135deg,#4f46e5 0%,#3730a3 100%);box-shadow:0 8px 20px #4f46e54d}.kpi-card.success .kpi-icon-wrapper{background:linear-gradient(135deg,#10b981 0%,#065f46 100%);box-shadow:0 8px 20px #10b9814d}.kpi-card.info .kpi-icon-wrapper{background:linear-gradient(135deg,#06b6d4 0%,#075985 100%);box-shadow:0 8px 20px #06b6d44d}.kpi-card.warning .kpi-icon-wrapper{background:linear-gradient(135deg,#f59e0b 0%,#92400e 100%);box-shadow:0 8px 20px #f59e0b4d}.financial-section{text-align:left;flex-direction:column;gap:16px;display:flex}.financial-section h2{color:#f1f5f9;align-items:center;gap:8px;margin:0;font-size:1.15rem;font-weight:600;display:flex}.section-title-icon{color:#10b981}.financial-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.fin-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-card);border-radius:16px;align-items:center;gap:16px;padding:18px 20px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.fin-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}.fin-icon{background:#ffffff0a;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.fin-info{flex-direction:column;align-items:flex-start;display:flex}.fin-label{color:#94a3b8;font-size:.8rem;font-weight:500}.fin-value{color:#f8fafc;margin-top:2px;font-size:1.15rem;font-weight:700}.fin-card.income{border-left:4px solid #10b981}.fin-card.income .fin-icon{color:#10b981}.fin-card.expense{border-left:4px solid #f43f5e}.fin-card.expense .fin-icon{color:#f43f5e}.fin-card.renewals{border-left:4px solid #f59e0b}.fin-card.renewals .fin-icon{color:#f59e0b}.fin-card.mrr{border-left:4px solid #3b82f6}.fin-card.mrr .fin-icon{color:#3b82f6}html.light .fin-card.income{border-left:5px solid #059669!important}html.light .fin-card.income .fin-icon{color:#059669!important;background:#0596691f!important}html.light .fin-card.expense{border-left:5px solid #e11d48!important}html.light .fin-card.expense .fin-icon{color:#e11d48!important;background:#e11d481f!important}html.light .fin-card.renewals{border-left:5px solid #d97706!important}html.light .fin-card.renewals .fin-icon{color:#d97706!important;background:#d977061f!important}html.light .fin-card.mrr{border-left:5px solid #2563eb!important}html.light .fin-card.mrr .fin-icon{color:#2563eb!important;background:#2563eb1f!important}.dashboard-details-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}@media (width<=1024px){.dashboard-details-grid{grid-template-columns:1fr}}.details-card{background:var(--bg-card);border:1px solid var(--border-color);box-sizing:border-box;text-align:left;box-shadow:var(--shadow-card);border-radius:20px;flex-direction:column;margin-bottom:24px;padding:24px;transition:background-color .3s,border-color .3s,box-shadow .3s;display:flex}.details-card:last-child{margin-bottom:0}.details-header{border-bottom:1px solid #ffffff0f;margin-bottom:18px;padding-bottom:12px}.details-header h3{color:#f1f5f9;align-items:center;gap:8px;margin:0;font-size:1.05rem;font-weight:600;display:flex}.table-responsive{width:100%;overflow-x:auto}.details-table{border-collapse:collapse;text-align:left;width:100%}.details-table th,.details-table td{border-bottom:1px solid #ffffff0a;padding:12px 16px}.details-table th{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.details-table td{color:#cbd5e1;font-size:.9rem}.bold-text{color:#f8fafc;font-weight:600}.sub-text{color:#64748b;font-size:.75rem}.primary-text{color:#60a5fa}.badge{border-radius:99px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge.danger{color:#fca5a5;background:#ef444426;border:1px solid #ef444433}.badge.warning{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b40}html.light .badge.warning{color:#b45309!important;background:#d977061f!important;border:1px solid #d9770659!important;font-weight:700!important}html.light .badge.danger{color:#b91c1c!important;background:#dc26261f!important;border:1px solid #dc262659!important;font-weight:700!important}.table-action-btn{color:#fca5a5;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:99px;align-items:center;gap:4px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .3s;display:flex}.table-action-btn:hover{background:#ef44441f;transform:translateY(-1px)}.table-action-btn.warning{color:#fbbf24;border-color:#f59e0b4d}.table-action-btn.warning:hover{background:#f59e0b1f}.table-action-btn.primary{color:#60a5fa;border-color:#3b82f64d}.table-action-btn.primary:hover{background:#3b82f61f}html.light .table-action-btn,html.light .table-action-btn.danger{color:#b91c1c!important;background:#dc262614!important;border:1px solid #dc262666!important;font-weight:700!important}html.light .table-action-btn:hover,html.light .table-action-btn.danger:hover{color:#991b1b!important;background:#dc26262e!important}html.light .table-action-btn.warning{color:#b45309!important;background:#d9770614!important;border:1px solid #d9770666!important;font-weight:700!important}html.light .table-action-btn.warning:hover{color:#92400e!important;background:#d977062e!important}html.light .table-action-btn.primary{color:#1d4ed8!important;background:#2563eb14!important;border:1px solid #2563eb66!important;font-weight:700!important}html.light .table-action-btn.primary:hover{color:#1e40af!important;background:#2563eb2e!important}.activity-list{flex-direction:column;gap:16px;display:flex}.activity-item{background:#ffffff05;border-radius:12px;align-items:center;gap:14px;padding:12px 16px;transition:all .3s;display:flex}.activity-item:hover{background:#ffffff0d}.activity-icon-bullet{border-radius:50%;flex-shrink:0;width:10px;height:10px}.activity-item.ticket .activity-icon-bullet{background:#3b82f6}.activity-item.client .activity-icon-bullet{background:#10b981}.activity-item.quotation .activity-icon-bullet{background:#0ea5e9}.activity-details{flex-direction:column;flex:1;align-items:flex-start;display:flex}.activity-title{color:#e2e8f0;text-align:left;font-size:.88rem;font-weight:600;line-height:1.25}.activity-badge-label{color:#64748b;margin-top:2px;font-size:.72rem}.activity-date{color:#94a3b8;white-space:nowrap;font-size:.8rem;font-weight:500}.no-activity{text-align:center;color:#64748b;padding:32px 0;font-size:.9rem}.table-container{background:var(--bg-table);border:1px solid var(--border-color);box-shadow:var(--shadow-main);border-radius:20px;flex-direction:column;transition:background-color .3s,border-color .3s;display:flex;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px;transition:border-color .3s;display:flex}.search-box-wrapper{align-items:center;width:100%;max-width:320px;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.search-input{background:var(--bg-input);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:10px 12px 10px 38px;font-size:.88rem;transition:all .3s}.search-input:focus{background:var(--input-focus-bg);border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.filter-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-select{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:10px;outline:none;padding:10px 14px;font-size:.88rem;transition:all .3s}.filter-select:focus{background:var(--input-focus-bg);border-color:#3b82f6}.table-tabs{background:var(--bg-input);border:1px solid var(--border-muted);border-radius:10px;gap:4px;padding:4px;transition:background-color .3s,border-color .3s;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.tab-btn.active{background:var(--bg-app);color:#3b82f6;box-shadow:var(--shadow-sm)}.responsive-table-wrapper{width:100%;overflow-x:auto}.gtk-table{border-collapse:collapse;text-align:left;width:100%}.gtk-table th,.gtk-table td{border-bottom:1px solid var(--border-muted);padding:16px 20px;transition:border-color .3s}.gtk-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-table-header);font-size:.8rem;font-weight:600;transition:background-color .3s,color .3s}.gtk-table td{color:var(--text-primary);vertical-align:middle;font-size:.88rem;transition:color .3s}.gtk-table tbody tr{transition:background .25s}.gtk-table tbody tr:hover{background:var(--bg-hover)}.row-actions{justify-content:flex-end;gap:8px;display:flex}.action-icon-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.action-icon-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);transform:scale(1.08)}.action-icon-btn.view{color:#3b82f6;border-color:#3b82f640}.action-icon-btn.view:hover{background:#3b82f61f;border-color:#3b82f666}.action-icon-btn.edit{color:#f59e0b;border-color:#f59e0b40}.action-icon-btn.edit:hover{background:#f59e0b1f;border-color:#f59e0b66}.action-icon-btn.pdf{color:#3b82f6;border-color:#3b82f640}.action-icon-btn.pdf:hover{background:#3b82f61f;border-color:#3b82f666}.action-icon-btn.delete:hover{color:#ef4444;background:#ef44441a;border-color:#ef444433}.action-icon-btn.whatsapp-btn:hover{background:#25d3661a!important;border-color:#25d36659!important}.table-empty-state{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.table-empty-state p{margin:0;font-size:.95rem;font-weight:500}.action-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;height:32px;padding:0 12px;font-size:.8rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.action-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);transform:translateY(-2px)}.action-btn.renew:hover{color:#2563eb;background:#2563eb1a;border-color:#2563eb33}.action-btn.verify:hover{color:#10b981;background:#10b9811a;border-color:#10b98133}.table-pagination{border-top:1px solid var(--border-color);background:var(--bg-card);border-bottom-right-radius:12px;border-bottom-left-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.pagination-info{color:var(--text-secondary);font-size:.85rem}.pagination-buttons{align-items:center;gap:6px;display:flex}.btn-sm{border-radius:6px!important;padding:6px 12px!important;font-size:.8rem!important}.pagination-page-btn{background:var(--bg-input);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.pagination-page-btn:hover{color:var(--text-primary);border-color:var(--text-secondary);background:var(--bg-hover)}.pagination-page-btn.active{background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 10px #3b82f640;color:#fff!important}.pagination-ellipsis{color:var(--text-muted);padding:0 4px;font-size:.9rem}@media (width<=600px){.table-pagination{text-align:center;flex-direction:column;align-items:center}}.tickets-view{flex-direction:column;gap:20px;display:flex}.project-badge{color:#818cf8;background:#6366f126;border:1px solid #6366f133;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:600}.engineer-badge{color:#e2e8f0;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.8rem;font-weight:500;display:inline-flex}.unassigned{color:#64748b;font-size:.8rem;font-style:italic}.failure-reason-badge{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b2e;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:600}.failure-reason-badge.field-visit{color:#10b981;background:#10b9811f;border-color:#10b9812e}.hours-badge{color:#34d399;background:#10b98126;border:1px solid #10b98133;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.8rem;font-weight:600;display:inline-flex}.hours-badge.warning{color:#fbbf24;background:#f59e0b26;border-color:#f59e0b33}.hours-badge.critical{color:#f87171;background:#ef444426;border-color:#ef444433;animation:2s infinite alternate pulseCrit}@keyframes pulseCrit{0%{opacity:.85}to{opacity:1;box-shadow:0 0 8px #ef44444d}}.closed-status-indicator{color:#64748b;align-items:center;gap:4px;font-size:.8rem;font-weight:500;display:inline-flex}.text-icon-group{align-items:center;gap:4px;margin-top:2px;display:flex}.table-loading{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.table-loading .spinner{color:#3b82f6;animation:1s linear infinite spin}.edit-modal-body{overflow-y:auto}.edit-modal-layout{grid-template-columns:1.2fr 1fr;gap:24px;height:100%;display:grid}@media (width<=900px){.edit-modal-layout{grid-template-columns:1fr;max-height:70vh;overflow-y:auto}}.history-log-panel{box-sizing:border-box;text-align:left;background:#0a0f1acc;border:1px solid #ffffff0d;border-radius:14px;flex-direction:column;padding:16px;display:flex}.history-log-panel h4{color:#f1f5f9;border-bottom:1px solid #ffffff0f;margin:0 0 12px;padding-bottom:8px;font-size:.95rem;font-weight:600}.history-content-scroll{color:#cbd5e1;flex:1;padding-right:8px;font-size:.85rem;line-height:1.5;overflow-y:auto}.history-content-scroll b{color:#60a5fa;margin-top:4px;font-size:.8rem;font-weight:600;display:inline-block}.history-content-scroll p{margin:0 0 8px}.clients-gps-view{flex-direction:column;gap:20px;display:flex}.gps-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.gps-stat-card{background:#1e293b66;border:1px solid #ffffff0d;border-radius:16px;justify-content:space-between;align-items:center;padding:16px 20px;transition:transform .3s;display:flex;box-shadow:0 4px 20px #0000001a}.gps-stat-card:hover{border-color:#ffffff14;transform:translateY(-2px)}.gps-stat-card .card-info{flex-direction:column;align-items:flex-start;display:flex}.gps-stat-card .label{color:#94a3b8;font-size:.8rem;font-weight:500}.gps-stat-card .value{color:#f8fafc;margin-top:4px;font-size:1.5rem;font-weight:750}.plate-search-form{align-items:center;display:flex}.plate-input{text-transform:uppercase;max-width:120px;border-radius:10px 0 0 10px!important}.plate-search-btn{color:#cbd5e1;background:#0f172a99;border:1px solid #ffffff14;border-left:none;height:38px;border-radius:0 10px 10px 0!important;padding:0 12px!important}.plate-search-btn:hover{color:#60a5fa;background:#3b82f626}.vehicle-plate-box{color:#1c1917;letter-spacing:.5px;background:#fef08a;border:1.5px solid #1c1917;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-family:Courier New,monospace;font-size:.85rem;font-weight:800;display:inline-flex;box-shadow:0 2px 4px #0003}.vehicle-plate-box svg{color:#1c1917;opacity:.7}.plan-pill{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f633;border-radius:99px;padding:4px 10px;font-size:.8rem;font-weight:600}.plan-pill.cortesia{color:#f472b6;background:#ec48991f;border:1px solid #ec489940}.status-pill{text-transform:capitalize;border-radius:99px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.status-pill.aprobado,.status-pill.instalado{color:#34d399;background:#10b9811f;border:1px solid #10b9812e}.status-pill.agendado{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f62e}.status-pill.verificar{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b2e}.expire-date-cell{flex-direction:column;align-items:flex-start;gap:2px;font-size:.85rem;display:flex}.expire-date-cell svg{display:none}.expire-date-cell .date-str{color:#e2e8f0;font-weight:600}.check-pay-btn{background:#10b98114!important;border-color:#10b98133!important}.check-pay-btn:hover{box-shadow:0 2px 8px #10b98133;color:#34d399!important;background:#10b98126!important}.inventory-gps-view{flex-direction:column;gap:20px;display:flex}.inventory-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.inv-stat-card{background:#1e293b66;border:1px solid #ffffff0d;border-radius:16px;justify-content:space-between;align-items:center;padding:16px 20px;transition:transform .3s;display:flex;box-shadow:0 4px 20px #0000001a}.inv-stat-card:hover{border-color:#ffffff14;transform:translateY(-2px)}.inv-stat-card .card-info{flex-direction:column;align-items:flex-start;display:flex}.inv-stat-card .label{color:#94a3b8;font-size:.8rem;font-weight:500}.inv-stat-card .value{color:#f8fafc;margin-top:4px;font-size:1.5rem;font-weight:750}.model-tag{color:#a78bfa;background:#8b5cf61f;border:1px solid #8b5cf633;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:600}.status-pill.disponible{color:#34d399;background:#10b9811f;border:1px solid #10b9812e}.status-pill.asignado{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b2e}.status-pill.demo-lab{color:#22d3ee;background:#06b6d41f;border:1px solid #06b6d42e}.inv-stat-card{cursor:pointer}.inv-stat-card.active{background:#1e293bb3;border-color:#38bdf866}.assigned-client-badge{color:#38bdf8;background:#0ea5e91f;border:1px solid #0ea5e940;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.assigned-client-badge:hover{color:#7dd3fc;background:#0ea5e940;border-color:#38bdf866;transform:translateY(-1px)}.status-pill.dañado{color:#f87171;background:#ef44441f;border:1px solid #ef44442e}.quotations-view{flex-direction:column;gap:20px;display:flex}.date-badge{background:var(--bg-input);color:var(--text-secondary);border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.8rem;font-weight:500;display:inline-flex}.status-select-pill{color:var(--text-secondary);border:1px solid var(--border-color);background:var(--bg-input);cursor:pointer;text-align:center;border-radius:99px;outline:none;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .3s}.status-select-pill.pendiente{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b33}.status-select-pill.aprobado{color:#34d399;background:#10b9811f;border-color:#10b98133}.status-select-pill.rechazado{color:#f87171;background:#ef44441f;border-color:#ef444433}.q-modal-body{flex-direction:column;gap:20px;display:flex}.items-builder-panel{background:var(--bg-input);border:1px solid var(--border-color);text-align:left;border-radius:14px;padding:16px 20px}.items-builder-panel h4{color:var(--text-primary);margin:0 0 14px;font-size:.95rem;font-weight:600}.builder-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.add-item-btn{align-items:center;gap:6px;height:38px;display:inline-flex}.selected-items-table-wrapper{border:1px solid var(--border-color);background:var(--bg-table);border-radius:12px;overflow:hidden}.selected-items-table{border-collapse:collapse;text-align:left;width:100%}.selected-items-table th,.selected-items-table td{border-bottom:1px solid var(--border-muted);padding:12px 16px;font-size:.85rem}.selected-items-table th{background:var(--bg-table-header);color:var(--text-secondary);text-transform:uppercase;font-size:.75rem;font-weight:600}.selected-items-table td{color:var(--text-primary)}.quotation-form-footer{text-align:left;grid-template-columns:1.5fr 1fr;align-items:flex-start;gap:32px;display:grid}@media (width<=768px){.quotation-form-footer{grid-template-columns:1fr;gap:20px}}.notes-group textarea{min-height:80px}.totals-summary{background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.totals-row{color:var(--text-secondary);justify-content:space-between;font-size:.9rem;display:flex}.totals-row.grand-total{color:#10b981;border-top:1px solid var(--border-color);margin-top:4px;padding-top:10px;font-size:1.1rem;font-weight:750}.q-detail-body{text-align:left}.q-detail-customer-header{border-bottom:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;display:flex}.q-detail-meta{flex-direction:column;align-items:flex-end;gap:6px;font-size:.9rem;display:flex}@media (width<=768px){.q-detail-meta{align-items:flex-start}}.q-detail-meta p{margin:0}.notes-display{background:var(--bg-input);border:1px solid var(--border-color);border-radius:12px;padding:16px}.notes-display strong{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;display:block}.notes-display p{color:var(--text-primary);margin:0;font-size:.9rem;line-height:1.4}.quotations-charts-grid{grid-template-columns:1fr 1.5fr;gap:24px;display:grid}@media (width<=900px){.quotations-charts-grid{grid-template-columns:1fr}}.quotations-charts-grid .chart-panel-card{text-align:left;background:#0f172a66;border:1px solid #ffffff0f;border-radius:20px;padding:24px}.quotations-charts-grid .chart-panel-card h3{color:#f1f5f9;margin:0 0 16px;font-size:1.05rem;font-weight:600}:root.light .quotations-charts-grid .chart-panel-card h3{color:#0f172a!important}.expenses-view{flex-direction:column;gap:20px;display:flex}.expenses-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.expense-stat-card{background:#1e293b66;border:1px solid #ffffff0d;border-radius:16px;justify-content:space-between;align-items:center;padding:16px 20px;transition:transform .3s;display:flex;box-shadow:0 4px 20px #0000001a}.expense-stat-card:hover{border-color:#ffffff14;transform:translateY(-2px)}.expense-stat-card .card-info{flex-direction:column;align-items:flex-start;display:flex}.expense-stat-card .label{color:#94a3b8;font-size:.8rem;font-weight:500}.expense-stat-card .value{color:#f8fafc;margin-top:4px;font-size:1.5rem;font-weight:750}.expense-stat-card.total{border-left:4px solid #ef4444}.expense-stat-card.total .value{color:#f87171}.expense-stat-card.servers{border-left:4px solid #3b82f6}.expense-stat-card.sim{border-left:4px solid #10b981}.expense-stat-card.ia{border-left:4px solid #06b6d4}.category-tag{color:#cbd5e1;background:#ffffff0d;border:1px solid #ffffff14;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:500}.danger-text{color:#f87171}.expenses-charts-grid{grid-template-columns:1fr 1.5fr;gap:24px;display:grid}@media (width<=900px){.expenses-charts-grid{grid-template-columns:1fr}}.expenses-charts-grid .chart-panel-card{text-align:left;background:#0f172a66;border:1px solid #ffffff0f;border-radius:20px;padding:24px}.expenses-charts-grid .chart-panel-card h3{color:#f1f5f9;margin:0 0 16px;font-size:1.05rem;font-weight:600}.expense-chart-donut-layout{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.expense-chart-legend{flex-direction:column;flex:1;gap:10px;min-width:200px;display:flex}.legend-row{align-items:center;gap:8px;font-size:.82rem;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.legend-label{color:#cbd5e1;flex:1;font-weight:500}.legend-value{color:#f1f5f9;font-weight:700}.chart-empty-state{color:#64748b;text-align:center;border:1px dashed #ffffff14;border-radius:12px;justify-content:center;align-items:center;padding:32px;font-size:.9rem;display:flex}:root.light .expenses-charts-grid .chart-panel-card h3{color:#0f172a!important}:root.light .legend-label{color:#334155!important}:root.light .legend-value{color:#0f172a!important}:root.light .chart-empty-state{color:#475569!important;border-color:#0000001f!important}.balance-view{flex-direction:column;gap:24px;display:flex}.year-selector-wrapper{color:#cbd5e1;align-items:center;gap:10px;font-size:.9rem;display:flex}.mrr-kpis-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.mrr-card{background:#1e293b66;border:1px solid #ffffff0d;border-radius:16px;justify-content:space-between;align-items:center;padding:18px 24px;transition:transform .3s;display:flex;box-shadow:0 4px 20px #0000001a}.mrr-card:hover{border-color:#ffffff14;transform:translateY(-2px)}.mrr-card .card-info{flex-direction:column;align-items:flex-start;display:flex}.mrr-card .label{color:#94a3b8;font-size:.8rem;font-weight:500}.mrr-card .value{margin-top:4px;font-size:1.6rem;font-weight:800}.month-summary-panel{text-align:left;background:#0f172a66;border:1px solid #ffffff0f;border-radius:20px;padding:24px}.month-summary-panel h3{color:#f1f5f9;margin:0 0 16px;font-size:1.05rem;font-weight:600}.summary-row-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.summary-cell{background:#ffffff05;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;gap:4px;padding:14px 18px;display:flex}.summary-cell.highlight{background:#3b82f60d;border-color:#3b82f626}.cell-label{color:#94a3b8;font-size:.78rem;font-weight:500}.cell-val{color:#f8fafc;align-items:center;gap:4px;font-size:1.2rem;font-weight:750;display:inline-flex}.balance-sections-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=1024px){.balance-sections-grid{grid-template-columns:1fr}}.balance-table-wrapper,.projections-table-wrapper{text-align:left;flex-direction:column;gap:14px;display:flex}.balance-table-wrapper h3,.projections-table-wrapper h3{color:#f1f5f9;margin:0;font-size:1.05rem;font-weight:600}.text-success{color:#34d399!important}.text-danger{color:#f87171!important}.users-view{flex-direction:column;gap:20px;display:flex}.user-profile-cell{align-items:center;gap:12px;display:flex}.avatar-small{color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#3b82f6 100%);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 4px 10px #3b82f633}.user-name-box{flex-direction:column;align-items:flex-start;display:flex}.role-badge{text-transform:capitalize;border-radius:99px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.role-badge.master{color:#f87171;background:#ef44441f;border:1px solid #ef44442e}.role-badge.administrativo{color:#34d399;background:#10b9811f;border:1px solid #10b9812e}.role-badge.tecnico{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f62e}.role-badge.comercial{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b2e}.commercial-view{flex-direction:column;gap:24px;display:flex}.commercial-kpis-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.c-stat-card{background:#1e293b66;border:1px solid #ffffff0d;border-radius:16px;justify-content:space-between;align-items:center;padding:18px 24px;transition:transform .3s;display:flex;box-shadow:0 4px 20px #0000001a}.c-stat-card:hover{border-color:#ffffff14;transform:translateY(-2px)}.c-stat-card .card-info{flex-direction:column;align-items:flex-start;display:flex}.c-stat-card .label{color:#94a3b8;font-size:.8rem;font-weight:500}.c-stat-card .value{margin-top:4px;font-size:1.5rem;font-weight:800}.c-stat-card.border-blue{border-left:4px solid #3b82f6}.c-stat-card.border-green{border-left:4px solid #10b981}.c-stat-card.border-yellow{border-left:4px solid #fbbf24}.c-stat-card.border-red{border-left:4px solid #ef4444}.commercial-layout-grid{grid-template-columns:1.8fr 1fr;gap:24px;display:grid}@media (width<=900px){.commercial-layout-grid{grid-template-columns:1fr}}.chart-panel-card,.pipeline-panel-card,.top-products-panel{text-align:left;background:#0f172a66;border:1px solid #ffffff0f;border-radius:20px;padding:24px}.chart-panel-card h3,.pipeline-panel-card h3,.top-products-panel h3{color:#f1f5f9;margin:0 0 16px;font-size:1.05rem;font-weight:600}.custom-chart-wrapper{width:100%;position:relative}.custom-sales-svg{width:100%;height:auto;overflow:visible}.chart-tooltip{color:#e2e8f0;pointer-events:none;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172af2;border:1px solid #ffffff14;border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;font-size:.8rem;transition:left .1s ease-out,top .1s ease-out;display:flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 15px #0000004d}.chart-tooltip .tooltip-month{color:#94a3b8;font-weight:700}.chart-tooltip .tooltip-value{color:#60a5fa;font-size:.95rem;font-weight:800}.chart-tooltip .tooltip-count{color:#cbd5e1;font-size:.7rem}.pipeline-items-list{flex-direction:column;gap:16px;display:flex}.pipeline-row{flex-direction:column;gap:6px;display:flex}.pipeline-label{align-items:center;gap:8px;font-size:.85rem;display:flex}.status-dot{border-radius:50%;width:8px;height:8px}.status-dot.approved{background:#10b981}.status-dot.pending{background:#fbbf24}.status-dot.rejected{background:#ef4444}.status-name{color:#cbd5e1;font-weight:600}.status-count{color:#94a3b8;font-size:.75rem}.pipeline-bar-wrapper{background:#ffffff0a;border-radius:99px;align-items:center;gap:10px;height:12px;padding:2px;display:flex;position:relative;overflow:hidden}.pipeline-bar-fill{border-radius:99px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.pipeline-bar-fill.approved{background:linear-gradient(90deg,#10b981 0%,#34d399 100%)}.pipeline-bar-fill.pending{background:linear-gradient(90deg,#f59e0b 0%,#fbbf24 100%)}.pipeline-bar-fill.rejected{background:linear-gradient(90deg,#ef4444 0%,#f87171 100%)}.percentage-label{color:#94a3b8;font-size:.7rem;font-weight:700;position:absolute;right:8px}.qty-badge{color:#22d3ee;background:#06b6d41f;border:1px solid #06b6d433;border-radius:99px;padding:4px 10px;font-size:.8rem;font-weight:600}.clients-view-crm{flex-direction:column;gap:20px;display:flex}.sector-tag{color:#818cf8;text-transform:uppercase;background:#6366f11f;border:1px solid #6366f12e;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:600}.seller-badge{color:#e2e8f0;background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.8rem;font-weight:500;display:inline-flex}.crm-layout{text-align:left;grid-template-columns:1fr 2fr;gap:24px;display:grid}@media (width<=900px){.crm-layout{grid-template-columns:1fr}}.crm-info-sidebar{background:#0f172a66;border:1px solid #ffffff0f;border-radius:16px;flex-direction:column;align-items:center;padding:20px;display:flex}.crm-avatar-big{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:12px;font-size:1.5rem;font-weight:800;display:flex;box-shadow:0 4px 20px #3b82f64d}.crm-info-sidebar h4{color:#f8fafc;text-align:center;margin:0 0 4px;font-size:1.1rem;font-weight:700}.crm-nit{color:#94a3b8;margin-bottom:24px;font-size:.85rem;font-weight:600}.crm-meta-list{flex-direction:column;gap:16px;width:100%;display:flex}.crm-meta-item{align-items:flex-start;gap:12px;display:flex}.crm-meta-item svg{margin-top:2px}.crm-meta-label{color:#64748b;text-transform:uppercase;font-size:.72rem;font-weight:600;display:block}.crm-meta-val{color:#cbd5e1;word-break:break-all;font-size:.85rem;font-weight:500;line-height:1.4;display:block}.crm-history-tabs{flex-direction:column;gap:20px;display:flex}.crm-tab-section{background:#0f172a33;border:1px solid #ffffff0d;border-radius:16px;padding:20px}.crm-tab-section h4{color:#f1f5f9;margin:0 0 14px;font-size:.95rem;font-weight:600}.crm-table-box{border:1px solid #ffffff0a;border-radius:10px;overflow-x:auto}.catalog-view{flex-direction:column;gap:20px;display:flex}.margin-indicator{color:#34d399;background:#10b9811f;border:1px solid #10b9812e;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:600}.margin-calculator-box{background:#0f172a4d;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:8px;padding:16px}.margin-calculator-box h5{color:#f1f5f9;text-transform:uppercase;letter-spacing:.2px;align-items:center;gap:6px;margin:0 0 12px;font-size:.88rem;font-weight:600;display:flex}.calculator-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=500px){.calculator-row{grid-template-columns:1fr;gap:10px}}.services-view-gtk{flex-direction:column;gap:20px;display:flex}.view-header{text-align:left;justify-content:space-between;align-items:center;display:flex}.view-header h2{color:#f8fafc;letter-spacing:-.5px;margin:0 0 4px;font-size:1.5rem;font-weight:700}.view-subtitle{color:#94a3b8;margin:0;font-size:.9rem}.service-badge-tag{color:#22d3ee;background:#06b6d41f;border:1px solid #06b6d42e;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:600}.cycle-pill{color:#cbd5e1;background:#ffffff0a;border:1px solid #ffffff14;border-radius:99px;padding:2px 8px;font-size:.78rem;font-weight:500}.price-cell{color:#10b981}.status-pill.suspendido{color:#f87171;background:#ef44441f;border:1px solid #ef44442e}.expire-date-cell{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.expire-date-cell .date-str{color:#e2e8f0;font-size:.85rem;font-weight:600}.expire-date-cell .days-left{font-size:.75rem;font-weight:500}.expire-date-cell.active .days-left{color:#34d399}.expire-date-cell.warning .days-left{color:#fbbf24}.expire-date-cell.expired .days-left{color:#f87171}.expire-date-cell.expired .date-str{color:#fca5a5;text-decoration:line-through}body{box-sizing:border-box;background-color:var(--bg-app);color:var(--text-primary);margin:0;padding:0;transition:background-color .3s,color .3s}.app-loading-screen{background-color:var(--bg-app);z-index:9999;justify-content:center;align-items:center;width:100vw;height:100vh;transition:background-color .3s;display:flex;position:fixed;inset:0}.loader-ring{border:3px solid #3b82f61a;border-top-color:#3b82f6;border-radius:50%;width:50px;height:50px;animation:1s ease-in-out infinite spin}
