@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Nunito+Sans:wght@300;400;500;600&display=swap";:root{--bg-color:#f4f6f9;--surface-color:#fff;--text-primary:#334155;--text-secondary:#64748b;--border-color:#e2e8f0;--primary-color:#065dbc;--primary-hover:#054c9b;--primary-light:#e6f0fa;accent-color:var(--primary-color);--success-color:#10b981;--success-bg:#d1fae5;--warning-color:#f59e0b;--warning-bg:#fef3c7;--danger-color:#ef4444;--danger-bg:#fee2e2;--border-radius:8px;--border-radius-lg:12px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--transition-speed:.2s;--header-height:64px;--sidebar-width:260px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5}#root{min-height:100dvh}img,svg,canvas,video{max-width:100%}button,input,select,textarea{font:inherit;min-width:0}a{color:var(--primary-color);transition:color var(--transition-speed);text-decoration:none}a:hover{color:var(--primary-hover)}.app-container{height:100vh;display:flex;overflow:hidden}.card{background:var(--surface-color);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);border:2px solid var(--border-color);transition:box-shadow var(--transition-speed);margin-bottom:1.5rem;padding:1.5rem}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:.75rem;min-width:0;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.card-title{color:var(--text-primary);min-width:0;font-size:1.125rem;font-weight:600}.btn{border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-speed);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-sm)}.btn-secondary{border-color:var(--border-color);color:var(--text-primary);background-color:#fff}.btn-secondary:hover{background-color:var(--bg-color);border-color:var(--text-secondary)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-success{background-color:var(--success-color);color:#fff}.btn-success:hover{background-color:#059669}.btn-icon{border-radius:50%;padding:.5rem}.form-group{margin-bottom:1rem}.form-label{color:var(--text-primary);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-control{width:100%;color:var(--text-primary);background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:border-color var(--transition-speed), box-shadow var(--transition-speed);background-clip:padding-box;padding:.5rem .75rem;font-size:.875rem;line-height:1.5}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light);outline:0}textarea.form-control{resize:vertical;min-height:100px}.rich-text-editor{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);transition:border-color var(--transition-speed), box-shadow var(--transition-speed);overflow:hidden}.rich-text-editor:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.rich-text-toolbar{border-bottom:1px solid var(--border-color);background-color:#f8fafc;flex-wrap:wrap;gap:.25rem;padding:.4rem;display:flex}.rich-text-toolbar-button{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-speed), color var(--transition-speed), border-color var(--transition-speed);background-color:#0000;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.rich-text-toolbar-button:hover:not(:disabled),.rich-text-toolbar-button.active{border-color:var(--primary-light);background-color:var(--primary-light);color:var(--primary-color)}.rich-text-toolbar-button:disabled{opacity:.45;cursor:not-allowed}.rich-text-editor-content{min-height:var(--rich-editor-min-height,120px);color:var(--text-primary);outline:none;padding:.65rem .75rem;font-size:.875rem}.rich-text-editor-content .is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-secondary);pointer-events:none;float:left;height:0}.rich-text-editor-content p,.rich-description p{margin:0 0 .55rem}.rich-text-editor-content p:last-child,.rich-description p:last-child{margin-bottom:0}.rich-text-editor-content ul,.rich-text-editor-content ol,.rich-description ul,.rich-description ol{margin:.35rem 0 .55rem;padding-left:1.25rem}.rich-description{overflow-wrap:anywhere}.rte-templates-trigger{border:1px solid var(--border-color);background-color:var(--surface-color);height:32px;color:var(--primary-color);cursor:pointer;white-space:nowrap;transition:background-color var(--transition-speed), border-color var(--transition-speed), box-shadow var(--transition-speed);border-radius:6px;align-items:center;gap:.3rem;margin-left:auto;padding:0 .6rem;font-size:.78rem;font-weight:500;display:inline-flex}.rte-templates-trigger:hover,.rte-templates-trigger.active{background-color:var(--primary-light);border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.rte-templates-trigger .rte-chevron-open{transition:transform .15s;transform:rotate(180deg)}.rte-templates-menu{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius);min-width:220px;box-shadow:var(--shadow-lg);z-index:9999;animation:.12s rte-menu-in;position:fixed;overflow:hidden}@keyframes rte-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rte-templates-item{text-align:left;border:none;border-bottom:1px solid var(--border-color);width:100%;color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-speed), color var(--transition-speed);background:0 0;padding:.6rem .9rem;font-size:.85rem;display:block}.rte-templates-item:last-child{border-bottom:none}.rte-templates-item:hover{background-color:var(--primary-light);color:var(--primary-color);font-weight:500}.table-responsive{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%}.table th,.table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:.75rem 1rem;font-size:.875rem}.table th{color:var(--text-secondary);white-space:nowrap;background-color:#f8fafc;font-weight:600}.table tbody tr:hover{background-color:#f1f5f9}.table tbody tr:last-child td{border-bottom:none}.badge{white-space:nowrap;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-primary{background-color:var(--primary-light);color:var(--primary-hover)}.badge-success{background-color:var(--success-bg);color:#065f46}.badge-warning{background-color:var(--warning-bg);color:#92400e}.badge-danger{background-color:var(--danger-bg);color:#991b1b}.badge-default{color:var(--text-primary);background-color:#e2e8f0}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin-top:0;margin-bottom:.5rem;font-weight:600}h1{font-size:1.5rem}h2{font-size:1.25rem}@media (width<=768px){.app-container{flex-direction:column}.content-area{padding:1rem}}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}.justify-content-center{justify-content:center}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.position-relative{position:relative}.text-start{text-align:left}.text-center{text-align:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mt-1{margin-top:.25rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.text-danger{color:var(--danger-color)}.text-success{color:var(--success-color)}.text-muted{color:var(--text-secondary);font-size:.875rem}.w-100{width:100%}.h-100{height:100%}.grid{display:grid}.grid>*{min-width:0}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.search-box{min-width:0}.settings-wide{grid-column:span 2}.company-logo-picker{align-items:center;gap:1rem;min-width:0;display:flex}.company-logo-preview{border:1px solid var(--border-color);border-radius:var(--border-radius);width:76px;height:76px;color:var(--text-secondary);background-color:#f8fafc;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.company-logo-preview img{object-fit:contain;max-width:100%;max-height:100%;padding:8px}.email-report-options{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#f8fafc;flex-wrap:wrap;gap:.75rem;padding:.75rem;display:flex}.email-report-options label{min-height:32px;color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:inline-flex}.email-report-options input{flex:none;width:16px;height:16px}.backup-summary-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.backup-summary-item{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#f8fafc;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.backup-summary-item span{color:var(--text-secondary);font-size:.875rem}.backup-summary-item strong{color:var(--text-primary);font-size:1.2rem}.backup-actions{flex-wrap:wrap;gap:.75rem;display:flex}.client-detail-header,.client-detail-actions{flex-wrap:wrap}.client-stat-card{border:1px solid var(--border-color);border-left:4px solid var(--primary-color);border-radius:var(--border-radius);background-color:var(--surface-color);min-height:108px;box-shadow:var(--shadow-sm);padding:1rem;position:relative;overflow:hidden}.client-stat-card.warning{border-left-color:var(--warning-color)}.client-stat-card.warning svg{color:var(--warning-color)}.client-stat-card.danger{border-left-color:var(--danger-color)}.client-stat-card.danger svg{color:var(--danger-color)}.client-stat-card span{color:var(--text-secondary);margin-bottom:.45rem;font-size:.82rem;display:block}.client-stat-card strong{color:var(--text-primary);word-break:break-word;font-size:1.35rem;line-height:1.2;display:block}.client-stat-card svg{color:var(--primary-color);opacity:.22;position:absolute;bottom:1rem;right:1rem}.client-contact-list{flex-direction:column;gap:.85rem;display:flex}.client-contact-list div{color:var(--text-primary);align-items:center;gap:.65rem;min-width:0;display:flex}.client-contact-list svg{color:var(--primary-color);flex:none}.client-contact-list span{overflow-wrap:anywhere}.client-vat-box{border-top:1px solid var(--border-color);margin-top:1.25rem;padding-top:1rem}.client-vat-box span{color:var(--text-secondary);margin-bottom:.25rem;font-size:.8rem;display:block}.client-vat-box strong{font-size:.95rem}.client-history-description{white-space:nowrap;text-overflow:ellipsis;max-width:360px;overflow:hidden}.dashboard-heading,.dashboard-page .card-header{flex-wrap:wrap;gap:.75rem}.dashboard-kpi{border-left:4px solid var(--primary-color);justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-kpi h3{margin:0;font-size:1.8rem}.dashboard-kpi>svg{color:var(--primary-color);background-color:var(--primary-light);border-radius:50%;flex:none;width:42px;height:42px;padding:.45rem}.dashboard-chart-box,.dashboard-trend-box{height:300px}.dashboard-active-list,.dashboard-watch-list,.dashboard-recent-list{flex-direction:column;gap:.65rem;display:flex}.dashboard-active-item,.dashboard-watch-item,.dashboard-recent-item{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#f8fafc;justify-content:space-between;align-items:center;gap:.8rem;padding:.85rem;display:flex}.dashboard-active-item{border-left:4px solid var(--warning-color)}.dashboard-active-item.running{border-left-color:var(--success-color);background-color:#f0fdf4}.dashboard-active-item.paused{background-color:#fffbeb}.dashboard-active-main{min-width:0}.dashboard-active-item strong,.dashboard-watch-item strong,.dashboard-recent-item strong{overflow-wrap:anywhere;margin-bottom:.2rem;font-size:.92rem;display:block}.dashboard-active-item span,.dashboard-watch-item span,.dashboard-recent-item span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-size:.8rem;display:block;overflow:hidden}.dashboard-active-meta{flex-wrap:wrap;flex:none;align-items:center;gap:.5rem;display:flex}.dashboard-active-meta code{color:var(--primary-color);border:1px solid var(--border-color);background-color:#fff;border-radius:999px;padding:.2rem .5rem;font-family:monospace;font-weight:700}.dashboard-active-actions{flex:none;align-items:center;gap:.35rem;display:inline-flex}.stop-modal-summary{border-left:4px solid var(--primary-color);border-radius:var(--border-radius);background-color:var(--primary-light);margin-bottom:1.25rem;padding:12px 16px;font-size:.9rem;line-height:1.5}.stop-modal-summary div{margin-bottom:4px}.stop-modal-summary div:last-child{margin-bottom:0}.stop-modal-summary span{color:var(--text-primary);font-family:monospace;font-weight:600}.dashboard-empty-state{color:var(--text-secondary);border:1px dashed var(--border-color);border-radius:var(--border-radius);text-align:center;background-color:#f8fafc;padding:1rem;font-size:.875rem}.dashboard-footer-stats{color:var(--text-secondary);flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;font-size:.875rem;display:flex}.dashboard-footer-stats span{align-items:center;gap:.35rem;display:inline-flex}.package-cell{min-width:160px}.package-alert{border-radius:var(--border-radius);margin-bottom:1rem;padding:.75rem .9rem;font-size:.875rem;font-weight:500}.package-alert.warning{background-color:var(--warning-bg);color:#92400e;border:1px solid #fcd34d}.package-alert.danger{background-color:var(--danger-bg);color:#991b1b;border:1px solid #fca5a5}.package-progress-header{grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1rem;display:grid}.package-progress-header div{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#f8fafc;padding:.85rem}.package-progress-header span{color:var(--text-secondary);margin-bottom:.3rem;font-size:.78rem;display:block}.package-progress-header strong{font-size:1.05rem}.package-progress-track{background-color:#e2e8f0;border-radius:999px;height:12px;overflow:hidden}.package-progress-fill{border-radius:inherit;background-color:var(--success-color);height:100%;transition:width var(--transition-speed)}.package-progress-fill.warning{background-color:var(--warning-color)}.package-progress-fill.danger{background-color:var(--danger-color)}.report-filter-grid{grid-template-columns:repeat(7,minmax(130px,1fr));gap:1rem;display:grid}.report-summary-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.25rem;display:grid}.report-summary-panel,.report-chart-panel{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:#fff;padding:1rem}.report-summary-panel-header{color:var(--primary-color);align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.report-summary-panel-header h3{margin:0;font-size:.98rem}.report-compact-table th,.report-compact-table td{padding:.55rem .65rem}.report-chart-panel{margin-bottom:1.25rem}.report-chart-container{height:260px}.no-break{break-inside:avoid;page-break-inside:avoid}@media (width<=1024px){.grid-cols-5{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){html,body,#root{max-width:100%;overflow-x:hidden}.content-area{overflow-x:hidden}h1{font-size:1.35rem}h2{font-size:1.15rem}.card{margin-bottom:1rem;padding:1rem}.card-header{flex-wrap:wrap;align-items:flex-start}.card-header .search-box{flex:100%;width:100%}.search-box .form-control{width:100%!important}.clienti-page>.d-flex:first-child,.categorie-page>.d-flex:first-child,.attivita-page>.d-flex:first-child,.report-page>.d-flex:first-child,.cliente-dettaglio-page>.d-flex:first-child,.dashboard-heading{flex-direction:column;align-items:stretch}.clienti-page>.d-flex:first-child .btn,.categorie-page>.d-flex:first-child .btn,.attivita-page>.d-flex:first-child .btn,.report-page>.d-flex:first-child .btn{width:100%}.report-page>.d-flex:first-child>.d-flex{flex-wrap:wrap;width:100%}.report-page>.d-flex:first-child>.d-flex .btn{flex:calc(50% - .5rem)}.card form>.d-flex,.custom-modal-body .form-group>.d-flex{flex-wrap:wrap}.card form>.d-flex .btn{flex:auto}.table-responsive{background-color:#0000;border:0;overflow-x:visible}.table,.attivita-page .table,.clienti-page .table,.cliente-dettaglio-page .table,.report-page .table,.categorie-page .table{width:100%;display:block;border:0!important;min-width:0!important}.table thead{display:none}.table tbody,.table tfoot{gap:.75rem;width:100%;display:grid}.table tr{border:1px solid var(--border-color);border-radius:var(--border-radius);background-color:var(--surface-color);width:100%;box-shadow:var(--shadow-sm);padding:.85rem;display:block}.table tbody tr:hover{background-color:var(--surface-color)}.table td,.table th{border-bottom:0}.table td{overflow-wrap:anywhere;grid-template-columns:minmax(6.5rem,34%) minmax(0,1fr);align-items:start;gap:.75rem;width:100%;padding:.45rem 0;display:grid}.table td:before{content:attr(data-label);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:700}.table td:not([data-label]){text-align:center;padding:1rem .5rem;display:block}.table td:not([data-label]):before{content:none}.table td[style*="text-align: right"],.table td.actions-column-cell{text-align:left!important}.table td>[style*="white-space: nowrap"]{overflow-wrap:anywhere;white-space:normal!important;max-width:100%!important}.actions-column-cell .actions-flex-container{flex-wrap:wrap;justify-content:flex-start}.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-5{grid-template-columns:1fr}.grid>[style*=grid-column]{grid-column:1/-1!important}.settings-wide{grid-column:span 1}.company-logo-picker{flex-direction:column;align-items:flex-start}.backup-summary-grid{grid-template-columns:repeat(2,1fr)}.report-filter-grid,.report-summary-grid{grid-template-columns:1fr}.cliente-dettaglio-page .card[style],.dashboard-page .card[style]{grid-column:span 1!important}.dashboard-active-item,.dashboard-watch-item,.dashboard-recent-item{flex-direction:column;align-items:flex-start}.dashboard-active-meta{width:100%}.dashboard-active-item span,.dashboard-watch-item span,.dashboard-recent-item span{max-width:100%}.package-progress-header{grid-template-columns:repeat(2,1fr)}.client-detail-actions .btn{flex:100%}.client-history-description{max-width:none}.dashboard-chart-box,.dashboard-trend-box,.report-chart-container{height:240px}.print-report-card{padding:1rem!important}}@media (width<=480px){.backup-summary-grid,.report-filter-grid{grid-template-columns:1fr}.backup-actions .btn{width:100%}.package-progress-header{grid-template-columns:1fr}.report-page>.d-flex:first-child>.d-flex .btn{flex-basis:100%}.card form>.d-flex .btn,.custom-modal-body .form-group>.d-flex>div{flex-basis:100%!important}.form-group .d-flex{align-items:stretch}}@media print{@page{margin:25mm!important}.no-print,.no-print *,aside.sidebar,.top-header,.mobile-header{display:none!important}body{color:#1e293b!important;background-color:#fff!important}.content-area{padding:0!important;overflow-y:visible!important}.card{box-shadow:none!important;border:none!important;margin:0!important;padding:0!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}.btn-whatsapp{color:#128c7e;background-color:#e8f5e9;border-color:#a7f3d0}.btn-whatsapp:hover{color:#075e54;box-shadow:var(--shadow-sm);background-color:#d1fae5;border-color:#34d399;transform:translateY(-1px)}.btn-email{color:#ea4335;background-color:#fde8e8;border-color:#fca5a5}.btn-email:hover{color:#c53030;box-shadow:var(--shadow-sm);background-color:#fee2e2;border-color:#f87171;transform:translateY(-1px)}.btn-icon-share{border:1px solid var(--border-color);cursor:pointer;width:32px;height:32px;transition:all var(--transition-speed);background-color:#fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}a.btn-icon-share{text-decoration:none}.btn-icon-share.whatsapp{color:#25d366;border-color:#d1fae5}.btn-icon-share.whatsapp:hover{background-color:#e8f5e9;border-color:#25d366;transform:translateY(-2px);box-shadow:0 4px 6px -1px #25d36626}.btn-icon-share.email{color:#ea4335;border-color:#fee2e2}.btn-icon-share.email:hover{background-color:#fde8e8;border-color:#ea4335;transform:translateY(-2px);box-shadow:0 4px 6px -1px #ea433526}.btn-icon-share.pdf{color:var(--primary-color);border-color:var(--primary-light)}.btn-icon-share.pdf:hover{background-color:var(--primary-light);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 6px -1px #065dbc26}.btn-icon-share.edit{color:var(--warning-color);border-color:var(--warning-bg)}.btn-icon-share.edit:hover{background-color:var(--warning-bg);border-color:var(--warning-color);transform:translateY(-2px);box-shadow:0 4px 6px -1px #f59e0b26}.btn-icon-share.delete{color:var(--danger-color);border-color:var(--danger-bg)}.btn-icon-share.delete:hover{background-color:var(--danger-bg);border-color:var(--danger-color);transform:translateY(-2px);box-shadow:0 4px 6px -1px #ef444426}.btn-icon-share.play{color:var(--success-color);border-color:var(--success-bg)}.btn-icon-share.play:hover{background-color:var(--success-bg);border-color:var(--success-color);transform:translateY(-2px);box-shadow:0 4px 6px -1px #10b98126}.btn-icon-share.pause{color:var(--warning-color);border-color:var(--warning-bg)}.btn-icon-share.pause:hover{background-color:var(--warning-bg);border-color:var(--warning-color);transform:translateY(-2px);box-shadow:0 4px 6px -1px #f59e0b26}.btn-icon-share.stop{color:var(--danger-color);border-color:var(--danger-bg)}.btn-icon-share.stop:hover{background-color:var(--danger-bg);border-color:var(--danger-color);transform:translateY(-2px);box-shadow:0 4px 6px -1px #ef444426}.actions-divider{background-color:var(--border-color);align-self:center;width:1px;height:20px;margin:0 6px}.actions-column-header{text-align:center!important}.actions-column-cell{text-align:center!important;vertical-align:middle!important}.actions-flex-container{white-space:nowrap!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:center!important;gap:.5rem!important;display:inline-flex!important}.custom-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0f172a99;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out modal-fade-in;display:flex;position:fixed;inset:0}.custom-modal{background-color:var(--surface-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);flex-direction:column;width:95%;max-width:550px;max-height:calc(100dvh - 2rem);animation:.2s cubic-bezier(.34,1.56,.64,1) modal-scale-in;display:flex;overflow:hidden}.custom-modal-header{border-bottom:1px solid var(--border-color);background-color:#f8fafc;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.custom-modal-title{color:var(--text-primary);overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.125rem;font-weight:600}.custom-modal-body{-webkit-overflow-scrolling:touch;padding:1.5rem;overflow-y:auto}.custom-modal-footer{border-top:1px solid var(--border-color);background-color:#f8fafc;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}@media (width<=576px){.custom-modal-overlay{align-items:flex-end;padding:.75rem}.custom-modal{width:100%;max-height:calc(100dvh - 1.5rem)}.custom-modal-header,.custom-modal-body,.custom-modal-footer{padding-left:1rem;padding-right:1rem}.custom-modal-footer .btn{flex:100%;width:100%}.custom-modal-footer .btn-danger{margin-right:0!important}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-speed)}.sortable-header:hover{background-color:#e2e8f0!important}.print-report-card{transition:box-shadow var(--transition-speed)}.print-header-premium{display:none}.print-logo-container{color:var(--primary-color);align-items:center;gap:10px;font-size:1.4rem;font-weight:700;display:flex}.print-logo-container img{width:auto;height:40px}.print-report-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem;font-weight:600}.print-meta-grid{border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:#f8fafc;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px;padding:15px;display:grid}@media (width<=768px){.print-meta-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.print-meta-grid{grid-template-columns:1fr}}.print-meta-item{flex-direction:column;display:flex}.print-meta-item label{color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.print-meta-item span{color:var(--text-primary);font-size:.95rem;font-weight:500;display:block}.print-signatures{display:none!important}.print-footer{text-align:center;border-top:1px dashed #cbd5e1;margin-top:40px;padding-top:20px;display:none}.print-footer-brand{color:var(--primary-color);margin-bottom:5px;font-size:.95rem;font-weight:600}.print-footer-info{color:var(--text-secondary);margin-bottom:10px;font-size:.85rem}.print-footer-divider{border-top:1px solid var(--border-color);width:100%;margin:10px 0}.print-footer-disclaimer{color:#64748b;font-size:.75rem;font-style:italic;line-height:1.4}@media print{.print-report-card{box-shadow:none!important;background-color:#fff!important;border:1px solid #e2e8f0!important;border-radius:12px!important;margin:0!important;padding:30px!important}.print-meta-grid{background-color:#f8fafc!important;border:1px solid #e2e8f0!important;grid-template-columns:repeat(4,1fr)!important}.report-summary-grid{grid-template-columns:repeat(2,1fr)!important}.report-summary-panel,.report-chart-panel{box-shadow:none!important;border:1px solid #e2e8f0!important}.report-chart-container{height:210px!important}.print-signatures{display:none!important}.print-footer,.print-header-premium{display:block!important}}.app-layout{background-color:var(--bg-color);flex-direction:column;width:100%;height:100dvh;min-height:100dvh;display:flex;overflow:hidden}.global-header{height:var(--header-height);background-color:var(--surface-color);border-bottom:1px solid var(--border-color);z-index:110;align-items:center;gap:1rem;min-width:0;padding:0 1.5rem;display:flex}.global-header>.d-flex:first-child{flex:0 auto;min-width:0}.global-header img{object-fit:contain;flex:none;max-width:140px}.global-title{color:#000;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:1.25rem;font-weight:700;overflow:hidden}.app-body{flex:1;display:flex;position:relative;overflow:hidden}.sidebar{width:var(--sidebar-width);background-color:var(--surface-color);border-right:1px solid var(--border-color);height:100%;transition:transform var(--transition-speed) ease-in-out;z-index:100;flex-direction:column;display:flex}.sidebar-header{height:var(--header-height);border-bottom:1px solid var(--border-color);padding:0 1.5rem}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;padding:1rem;display:flex;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--border-color);background-color:var(--surface-color);flex-shrink:0;justify-content:space-between;align-items:center;margin-top:auto;padding:1rem;display:flex}.user-profile{cursor:pointer;min-width:0;transition:all var(--transition-speed) ease;border-radius:6px;align-items:center;gap:.75rem;margin-left:-8px;padding:4px 8px;display:flex}.user-profile:hover{background-color:var(--primary-light)}.user-profile:hover .user-name{color:var(--primary-color)}.user-avatar{background:linear-gradient(135deg, var(--primary-color), #3b82f6);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;font-weight:700;display:flex;box-shadow:0 2px 4px #065dbc33}.user-info{flex-direction:column;min-width:0;display:flex}.user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.btn-logout{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-speed);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:8px;display:flex}.btn-logout:hover{background-color:var(--danger-bg);color:var(--danger-color)}.nav-link{border-radius:var(--border-radius);color:var(--text-primary);transition:background-color var(--transition-speed), color var(--transition-speed);align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;display:flex}.nav-link:hover{background-color:var(--primary-light);color:var(--primary-color)}.nav-link.active{background-color:var(--primary-color);color:#fff}.nav-icon{justify-content:center;align-items:center;display:flex}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.top-header{height:var(--header-height);background-color:var(--surface-color);border-bottom:1px solid var(--border-color);align-items:center;padding:0 1.5rem;display:flex}.page-title{color:var(--text-primary);margin:0;font-size:1.25rem}.content-area{-webkit-overflow-scrolling:touch;flex:1;min-width:0;padding:1.5rem;overflow-y:auto}.app-footer-bar{z-index:100;color:#fff;letter-spacing:.01em;padding:.85rem max(2rem, env(safe-area-inset-right)) .85rem max(2rem, env(safe-area-inset-left));background-color:#0a192f;font-family:Nunito Sans,Inter,system-ui,-apple-system,sans-serif;font-size:.84rem;font-weight:300}.app-footer-bar a{color:#fff;font-weight:500;text-decoration:none}.app-footer-bar a:hover{text-decoration:underline}.mobile-header{height:var(--header-height);background-color:var(--surface-color);border-bottom:1px solid var(--border-color);padding:0 1rem;display:none}.sidebar-overlay{display:none}.btn-icon{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}@media (width<=768px){.global-header{gap:.5rem;padding:0 1rem}.global-header img{max-width:92px;height:30px!important}.desktop-only{display:none!important}.mobile-only{display:flex!important}.sidebar{width:min(86vw, var(--sidebar-width));z-index:120;height:100dvh;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:115;background-color:#00000080;display:block;position:fixed;inset:0}.content-area{padding:1rem}.header-timers-container{gap:.35rem;max-width:none}.header-timer-indicator{flex:none;gap:.4rem;padding:5px 7px}.header-timer-counter{min-width:64px;padding:3px 6px;font-size:.82rem}.header-timer-actions{gap:.25rem}.app-footer-bar{padding-right:max(1.25rem, env(safe-area-inset-right));padding-left:max(1.25rem, env(safe-area-inset-left))}}@media (width<=576px){.global-header:has(.header-timer-indicator) .global-title{display:none}.global-header{padding:0 max(.75rem, env(safe-area-inset-right)) 0 max(.75rem, env(safe-area-inset-left))}.global-header img{max-width:72px;height:28px!important}.header-timer-indicator{border-radius:18px}}@media (width>=769px){.mobile-only{display:none!important}}.header-timer-indicator{background-color:var(--bg-color);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);max-height:48px;transition:box-shadow var(--transition-speed);border-radius:24px;align-items:center;gap:.75rem;padding:6px 12px 6px 10px;display:flex}.header-timer-indicator:hover{box-shadow:var(--shadow-md)}.header-timer-info{flex-direction:column;gap:3px;min-width:0;line-height:1.2;display:flex}.header-timer-client{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.75rem;font-weight:700;display:block;overflow:hidden}.header-timer-desc{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:150px;font-size:.65rem;display:block;overflow:hidden}.header-timer-counter{color:var(--primary-color);background-color:var(--primary-light);text-align:center;border-radius:12px;min-width:70px;padding:3px 8px;font-family:monospace;font-size:.95rem;font-weight:700}.header-timer-dot{border-radius:50%;width:8px;height:8px}.header-timer-dot.inactive-gray{background-color:var(--text-secondary);opacity:.5}.header-timer-dot.pulse-green{background-color:var(--success-color);animation:1.5s infinite pulse-green-animation;box-shadow:0 0 #10b98166}.header-timer-dot.paused-yellow{background-color:var(--warning-color);animation:1.5s infinite pulse-yellow-animation;box-shadow:0 0 #f59e0b66}@keyframes pulse-green-animation{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}@keyframes pulse-yellow-animation{0%{transform:scale(.95);box-shadow:0 0 #f59e0bb3}70%{transform:scale(1);box-shadow:0 0 0 6px #f59e0b00}to{transform:scale(.95);box-shadow:0 0 #f59e0b00}}.header-timers-container{scrollbar-width:none;-ms-overflow-style:none;flex:auto;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;max-width:70%;display:flex;overflow-x:auto}.header-timers-container::-webkit-scrollbar{display:none}.btn-whatsapp{color:#fff;background-color:#25d366}.btn-whatsapp:hover{color:#fff;box-shadow:var(--shadow-sm);background-color:#128c7e}.login-page-wrapper{background:radial-gradient(circle at 10% 20%,#e4eefacc 0%,#f4f6f9 90%);justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.login-bg-blob{filter:blur(80px);z-index:1;opacity:.65;border-radius:50%;position:absolute}.login-bg-blob-1{background:radial-gradient(circle,#065dbc40 0%,#00c6ff0d 70%);width:450px;height:450px;top:-10%;left:-10%}.login-bg-blob-2{background:radial-gradient(circle,#10b98126 0%,#065dbc08 70%);width:500px;height:500px;bottom:-15%;right:-10%}.login-card{z-index:10;-webkit-backdrop-filter:blur(16px)saturate(120%);border-radius:var(--border-radius-lg);text-align:center;background:#ffffffbf;border:1px solid #ffffff80;flex-direction:column;align-items:center;width:100%;max-width:420px;padding:2.5rem 2rem;animation:.6s cubic-bezier(.16,1,.3,1) both loginCardFadeIn;display:flex;position:relative;box-shadow:0 20px 40px #0000000f,0 1px 3px #00000005,inset 0 0 0 1px #ffffff80}@keyframes loginCardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-logo-container{background-color:var(--surface-color);width:80px;height:80px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:transform var(--transition-speed);border-radius:20px;justify-content:center;align-items:center;margin-bottom:1.25rem;padding:12px;display:flex}.login-logo-container:hover{transform:scale(1.05)}.login-logo-container img{object-fit:contain;max-width:100%;max-height:100%}.login-header-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.login-header-subtitle{color:var(--text-secondary);margin-bottom:2rem;font-size:.875rem}.login-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.login-input-wrapper{width:100%;position:relative}.login-input-icon{color:var(--text-secondary);transition:color var(--transition-speed);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-input{border:1px solid var(--border-color);border-radius:var(--border-radius);width:100%;color:var(--text-primary);transition:all var(--transition-speed);background-color:#fffc;outline:none;padding:12px 14px 12px 42px;font-size:.95rem;font-weight:500}.login-input:focus{border-color:var(--primary-color);background-color:var(--surface-color);box-shadow:0 0 0 3px #065dbc26}.login-input:focus+.login-input-icon{color:var(--primary-color)}.login-error-alert{background-color:var(--danger-bg);color:var(--danger-color);border-radius:var(--border-radius);text-align:left;border:1px solid #ef444433;align-items:center;gap:8px;width:100%;margin-bottom:.5rem;padding:10px 14px;font-size:.85rem;font-weight:500;animation:.4s cubic-bezier(.36,.07,.19,.97) both loginShake;display:flex}@keyframes loginShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.btn-login{border-radius:var(--border-radius);background:linear-gradient(135deg, var(--primary-color), var(--primary-hover));color:#fff;cursor:pointer;width:100%;transition:all var(--transition-speed);border:none;padding:12px;font-size:1rem;font-weight:600;box-shadow:0 4px 12px #065dbc40}.btn-login:hover{transform:translateY(-1px);box-shadow:0 6px 16px #065dbc59}.btn-login:active{transform:translateY(1px)}.login-footer-credits{color:var(--text-secondary);margin-top:2rem;font-size:.75rem}.login-footer-credits a{color:var(--primary-color);font-weight:600;text-decoration:none}.login-footer-credits a:hover{text-decoration:underline}
