:root{--bg: #0f1117;--bg-card: #1a1d27;--bg-sidebar: #141620;--bg-input: #242736;--bg-hover: #2a2d3e;--text: #e4e6f0;--text-muted: #8b8fa3;--text-dim: #5c6078;--border: #2a2d3e;--primary: #6366f1;--primary-hover: #5457e5;--primary-light: rgba(99, 102, 241, .15);--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--warning: #f97316;--whatsapp: #25d366;--email: #3b82f6;--radius: 10px;--radius-sm: 6px;--shadow: 0 2px 8px rgba(0, 0, 0, .3);--sidebar-width: 260px;--topbar-height: 60px;--autofill-bg: #242736;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}[data-theme=light]{--bg: #f0f2f5;--bg-card: #ffffff;--bg-sidebar: #ffffff;--bg-input: #f5f6f8;--bg-hover: #e8eaef;--text: #1a1d27;--text-muted: #64687d;--text-dim: #9196ab;--border: #dde0e8;--primary: #6366f1;--primary-hover: #5457e5;--primary-light: rgba(99, 102, 241, .1);--shadow: 0 2px 8px rgba(0, 0, 0, .08);--autofill-bg: #f5f6f8}[data-theme=midnight]{--bg: #0b1222;--bg-card: #111d33;--bg-sidebar: #0d1729;--bg-input: #162240;--bg-hover: #1b2d50;--text: #d0ddf0;--text-muted: #7b8faa;--text-dim: #4d6380;--border: #1b2d50;--primary: #3b82f6;--primary-hover: #2563eb;--primary-light: rgba(59, 130, 246, .15);--shadow: 0 2px 8px rgba(0, 0, 0, .4);--autofill-bg: #162240}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}input,select,textarea,button{font-family:inherit;font-size:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform .3s ease}.sidebar-header{padding:20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.sidebar-close{display:none;background:none;border:none;color:var(--text-muted);cursor:pointer}.logo{display:flex;align-items:center;gap:10px}.logo-icon-svg{width:36px;height:36px;flex-shrink:0}.logo-icon-svg svg{width:100%;height:100%}.logo-icon-svg img{width:100%;height:100%;object-fit:contain}.logo-text{font-weight:700;font-size:16px;color:var(--text)}.sidebar-nav{flex:1;padding:12px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;transition:all .2s;font-weight:500}.nav-item:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.nav-item.active{background:var(--primary-light);color:var(--primary)}.sidebar-footer{padding:16px 20px;border-top:1px solid var(--border);font-size:12px;color:var(--text-dim)}.sidebar-footer .version{color:var(--text-dim);opacity:.6}.theme-selector{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--text-muted)}.theme-options{display:flex;gap:6px}.theme-dot{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .2s,transform .2s}.theme-dot:hover{transform:scale(1.15)}.theme-dot.active{border-color:var(--primary);transform:scale(1.15)}.theme-dot--dark{background:linear-gradient(135deg,#0f1117,#1a1d27);box-shadow:inset 0 0 0 1px #ffffff1a}.theme-dot--light{background:linear-gradient(135deg,#f0f2f5,#fff);box-shadow:inset 0 0 0 1px #00000026}.theme-dot--midnight{background:linear-gradient(135deg,#0b1222,#162240);box-shadow:inset 0 0 0 1px #3b82f64d}.sidebar-overlay{display:none}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh}.top-bar{height:var(--topbar-height);display:flex;align-items:center;gap:16px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--bg-sidebar);position:sticky;top:0;z-index:50}.menu-btn{display:none;background:none;border:none;color:var(--text);cursor:pointer;padding:4px}.page-title{font-size:18px;font-weight:600}.page-content{padding:28px 32px;max-width:1600px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-header{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-header h2{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.card-body{padding:20px 24px}.see-all{font-size:13px;display:flex;align-items:center;gap:4px;color:var(--primary)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;align-items:center;gap:16px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info{display:flex;flex-direction:column}.stat-number{font-size:24px;font-weight:700;line-height:1.2}.stat-label{font-size:13px;color:var(--text-muted)}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}.alert-list{display:flex;flex-direction:column;gap:8px}.alert-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:var(--radius-sm);transition:background .2s}.alert-item:hover{background:var(--bg-hover)}.alert-badge{min-width:72px;padding:4px 10px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;text-align:center;flex-shrink:0}.alert-info{flex:1;display:flex;flex-direction:column}.alert-name{font-weight:600;color:var(--text);font-size:14px}.alert-name:hover{color:var(--primary)}.alert-service{font-size:12px;color:var(--text-muted)}.alert-actions{display:flex;gap:6px;flex-shrink:0}.timeline{display:flex;flex-direction:column;gap:16px}.timeline-month{display:flex;flex-direction:column;gap:6px}.timeline-header{display:flex;justify-content:space-between;align-items:center}.timeline-label{font-weight:600;font-size:14px;text-transform:capitalize}.timeline-count{font-size:12px;color:var(--text-muted)}.timeline-items{display:flex;flex-direction:column;gap:4px}.timeline-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:13px;transition:background .2s}.timeline-item:hover{background:var(--bg-hover);text-decoration:none}.timeline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.timeline-name{flex:1;font-weight:500}.timeline-date{color:var(--text-muted);font-size:12px}.timeline-amount{font-weight:600;color:var(--success);font-size:12px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-weight:500;font-size:13px;transition:all .2s;text-decoration:none;white-space:nowrap}.btn:hover{text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--bg-hover);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-whatsapp{background:#25d3661a;color:var(--whatsapp);border:1px solid rgba(37,211,102,.2)}.btn-whatsapp:hover{background:var(--whatsapp);color:#fff}.btn-email{background:#3b82f61a;color:var(--email);border:1px solid rgba(59,130,246,.2)}.btn-email:hover{background:var(--email);color:#fff}.btn-back{background:none;color:var(--text-muted);padding:6px 0;margin-bottom:16px;border:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:13px}.btn-back:hover{color:var(--text)}.btn-icon,.btn-icon-only{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-muted);border:none;cursor:pointer;transition:all .2s;padding:0}.btn-icon:hover,.btn-icon-only:hover{background:var(--border);color:var(--text)}.btn-icon.whatsapp:hover{background:var(--whatsapp);color:#fff}.btn-icon.email:hover{background:var(--email);color:#fff}.btn-icon.danger:hover{background:var(--danger);color:#fff}.client-list-page{display:flex;flex-direction:column;gap:16px}.list-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.search-box{display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;flex:1;min-width:220px}.search-box input{background:none;border:none;outline:none;color:var(--text);width:100%}.search-box svg{color:var(--text-muted);flex-shrink:0}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text);outline:none;cursor:pointer}.list-actions{display:flex;gap:8px;margin-left:auto}.client-count{font-size:13px;color:var(--text-muted)}.client-table-wrapper{overflow-x:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.client-table{width:100%;border-collapse:collapse}.client-table th{background:var(--bg-sidebar);padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}.client-table td{padding:12px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.client-table tr:last-child td{border-bottom:none}.client-table tr:hover td{background:var(--bg-hover)}.client-cell{display:flex;flex-direction:column}.client-cell small{color:var(--text-muted);font-size:12px}.amount{font-weight:600;color:var(--success)}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.days-badge{display:inline-block;padding:2px 10px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.row-actions{display:flex;gap:4px;align-items:center}.confirm-delete{display:flex;gap:4px;align-items:center;font-size:12px}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable span{display:inline}.sort-icon{opacity:.3;margin-left:4px;vertical-align:middle;transition:opacity .15s,transform .15s}.sort-active .sort-icon{opacity:1}.sort-icon.desc{transform:rotate(180deg)}.domain-cell{color:var(--primary);font-size:13px}.renewal-totals{color:var(--success);font-weight:600}.client-form{padding:20px}.form-section{margin-bottom:28px}.form-section h3{font-size:15px;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px;color:var(--text)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:13px;font-weight:500;color:var(--text-muted)}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text);outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.form-group.error input,.form-group.error select{border-color:var(--danger)}.form-error{font-size:12px;color:var(--danger)}.form-hint{font-size:12px;color:var(--text-dim)}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--border)}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.client-detail-page .detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.detail-title h2{font-size:24px;font-weight:700}.company-name{font-size:14px;color:var(--text-muted)}.detail-actions{display:flex;gap:8px;align-items:center}.confirm-inline{display:flex;gap:6px;align-items:center;font-size:13px;color:var(--danger)}.detail-grid{display:grid;grid-template-columns:1fr 2fr;gap:24px}.detail-status-card{padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.renewal-big-badge{width:140px;height:140px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}.renewal-days{font-size:42px;font-weight:800;line-height:1}.renewal-label{font-size:11px;font-weight:500;opacity:.9}.renewal-date{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:14px}.renewal-amount{display:flex;align-items:center;gap:4px;font-size:20px;font-weight:700;color:var(--success)}.detail-notify-actions{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:8px}.detail-notify-actions .btn{justify-content:center;width:100%}.detail-info-card{padding:24px}.detail-info-card h3{font-size:14px;font-weight:600;color:var(--text-muted);margin:20px 0 10px;display:flex;align-items:center;gap:6px}.detail-info-card h3:first-child{margin-top:0}.info-rows{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;align-items:center;gap:10px;font-size:14px}.info-row svg{color:var(--text-dim);flex-shrink:0}.info-label{color:var(--text-muted);min-width:90px;flex-shrink:0}.status-tag{padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600}.status-tag.activo{background:#22c55e26;color:var(--success)}.status-tag.vencido{background:#ef444426;color:var(--danger)}.status-tag.suspendido{background:#fbbf2426;color:#f59e0b}.client-notes{font-size:14px;color:var(--text);white-space:pre-wrap;background:var(--bg-input);padding:12px;border-radius:var(--radius-sm)}.service-accordion{display:flex;flex-direction:column;gap:8px}.service-card{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .2s}.service-card.expanded{border-color:var(--primary)}.service-card-header{display:flex;align-items:center;gap:14px;padding:14px 16px;cursor:pointer;transition:background .15s}.service-card-header:hover{background:var(--bg-hover)}.service-card-toggle{color:var(--text-muted);flex-shrink:0}.service-card-actions{display:flex;gap:8px;padding:0 16px 10px;flex-wrap:wrap}.btn.btn-sm{padding:5px 12px;font-size:12px;gap:5px}.btn-whatsapp{background:#25d366!important;color:#fff!important;border:none!important}.btn-whatsapp:hover{background:#1da851!important}.btn-email{background:var(--primary)!important;color:#fff!important;border:none!important}.btn-email:hover{opacity:.85}.service-card-body{padding:16px;display:flex;flex-direction:column;gap:20px;border-top:1px solid var(--border)}.service-section{display:flex;flex-direction:column;gap:10px}.service-section h4{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text);margin:0}.service-section-header{display:flex;align-items:center;justify-content:space-between}.payment-form{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.payment-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.payment-form .form-group{display:flex;flex-direction:column;gap:4px}.payment-form .form-group label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase}.payment-form .form-group input,.payment-form .form-group select{padding:6px 8px;font-size:13px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none}.payment-form-actions{display:flex;gap:8px;margin-top:10px}.comment-input-row{display:flex;gap:8px}.comment-input-row input{flex:1;padding:8px 12px;font-size:13px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none}.comment-input-row input:focus{border-color:var(--primary)}.comments-list{display:flex;flex-direction:column;gap:6px}.comment-item{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.comment-author{font-size:12px;font-weight:600;color:var(--primary)}.comment-date{font-size:11px;color:var(--text-muted)}.comment-header .btn-xs{margin-left:auto;padding:2px;opacity:.5}.comment-header .btn-xs:hover{opacity:1}.comment-content{font-size:13px;color:var(--text);margin:0;white-space:pre-wrap}.empty-text{font-size:13px;color:var(--text-muted);margin:0;font-style:italic}.btn-sm{padding:4px 10px!important;font-size:12px!important;gap:4px}.calendar-page{display:flex;flex-direction:column;gap:20px}.calendar-controls{display:flex;align-items:center;gap:16px}.calendar-year{font-size:24px;font-weight:700;min-width:60px;text-align:center}.year-total{margin-left:auto;font-size:16px;font-weight:600;color:var(--success)}.calendar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calendar-month{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;transition:all .2s;text-align:left;display:flex;flex-direction:column;gap:6px;color:var(--text)}.calendar-month:hover{border-color:var(--primary);background:var(--bg-hover)}.calendar-month.selected{border-color:var(--primary);background:var(--primary-light)}.calendar-month.empty{opacity:.5}.month-name{font-weight:600;font-size:15px}.month-count{font-size:12px;color:var(--text-muted)}.month-revenue{font-weight:700;color:var(--success);font-size:16px}.month-dots{display:flex;gap:4px;align-items:center;margin-top:4px}.month-dot{width:8px;height:8px;border-radius:50%}.month-dot-more{font-size:10px;color:var(--text-muted)}.calendar-detail{margin-top:4px}.calendar-client-list{display:flex;flex-direction:column;gap:6px}.calendar-client-row{display:flex;align-items:center;gap:12px;padding:8px;border-radius:var(--radius-sm);transition:background .2s}.calendar-client-row:hover{background:var(--bg-hover)}.calendar-client-name{font-weight:600;flex:1}.calendar-client-service,.calendar-client-date{color:var(--text-muted);font-size:13px}.calendar-client-amount{font-weight:600;color:var(--success)}.calendar-client-actions{display:flex;gap:4px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:32px}.login-logo{width:80px;height:80px;margin:0 auto 16px}.login-logo svg{width:100%;height:100%}.login-logo img{width:100%;height:100%;object-fit:contain}.login-header h1{font-size:22px;font-weight:700;margin-bottom:4px}.login-header p{color:var(--text-muted);font-size:14px}.login-form{display:flex;flex-direction:column;gap:16px}.login-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:var(--danger);font-size:13px;animation:shakeError .4s ease}@keyframes shakeError{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-field{display:flex;align-items:center;gap:10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 14px;transition:border-color .2s}.login-field:focus-within{border-color:var(--primary)}.login-field-icon{color:var(--text-muted);flex-shrink:0}.login-field input{flex:1;background:none;border:none;outline:none;color:var(--text);padding:12px 0;font-size:14px}.login-field input:-webkit-autofill,.login-field input:-webkit-autofill:hover,.login-field input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--autofill-bg) inset;-webkit-text-fill-color:var(--text);transition:background-color 5000s ease-in-out 0s;caret-color:var(--text)}.login-toggle-pw{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;align-items:center}.login-toggle-pw:hover{color:var(--text)}.login-submit{width:100%;justify-content:center;padding:12px;font-size:15px;font-weight:600;margin-top:8px}.login-submit:disabled{opacity:.5;cursor:not-allowed}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--bg);color:var(--text-muted);font-size:14px}.loading-logo{width:56px;height:56px;animation:pulse 1.5s ease-in-out infinite}.loading-logo svg{width:100%;height:100%}.loading-logo img{width:100%;height:100%;object-fit:contain}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sidebar-user{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.sidebar-user-name{font-size:13px;font-weight:500;color:var(--text)}.settings-tabs{display:flex;gap:6px;margin-bottom:20px;border-bottom:2px solid var(--border);padding-bottom:0}.settings-tab{display:flex;align-items:center;gap:6px;padding:10px 18px;border:none;background:none;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tpl-vars{display:inline;font-size:12px;color:var(--text-muted);word-break:break-all}.settings-page .settings-form{padding:20px}.branding-preview{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.branding-preview-logo{width:64px;height:64px;flex-shrink:0}.branding-preview-logo img,.branding-preview-logo svg{width:100%;height:100%;object-fit:contain}.branding-preview-text{display:flex;flex-direction:column;gap:2px}.branding-preview-text strong{font-size:16px;color:var(--text)}.branding-preview-text span{font-size:13px;color:var(--text-muted)}.section-desc{font-size:13px;color:var(--text-muted);margin-bottom:12px}.notify-days{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.day-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary-light);color:var(--primary);border-radius:20px;font-size:13px;font-weight:500}.day-tag button{background:none;border:none;color:var(--primary);cursor:pointer;padding:0;display:flex;opacity:.7}.day-tag button:hover{opacity:1}.add-day-row{display:flex;gap:8px;align-items:center}.add-day-row input{width:80px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text);outline:none}.save-success{color:var(--success);font-size:14px;display:flex;align-items:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:16px;color:var(--text-muted);text-align:center}.catalog-page{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 768px){.catalog-page{grid-template-columns:1fr}}.catalog-card .card-header{display:flex;align-items:center;gap:10px}.catalog-card .card-header .badge{font-size:.75rem;padding:2px 8px;border-radius:999px;background:var(--bg-tertiary, #e5e7eb);color:var(--text-secondary, #555)}.catalog-body{padding:16px;display:flex;flex-direction:column;gap:8px}.catalog-list{display:flex;flex-direction:column;gap:4px}.catalog-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;transition:background .15s}.catalog-row:hover,.catalog-row.editing{background:var(--bg-secondary, #f3f4f6)}.catalog-name{flex:1;font-size:.9rem}.catalog-order-label{font-size:.75rem;color:var(--text-muted, #999);min-width:20px;text-align:center}.catalog-input{flex:1;padding:4px 8px;border:1px solid var(--border, #ddd);border-radius:4px;font-size:.9rem}.catalog-input.catalog-order{flex:0 0 56px;text-align:center}.catalog-add{display:flex;gap:8px;margin-top:8px;padding-top:12px;border-top:1px solid var(--border, #e5e7eb)}.catalog-error{display:flex;align-items:center;gap:8px;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;padding:8px 12px;font-size:.85rem}.catalog-error button{background:none;border:none;cursor:pointer;color:#b91c1c;margin-left:auto;padding:0}.empty-state svg{opacity:.3}.empty-state.small{padding:24px}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-grid{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close{display:block}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.main-content{margin-left:0}.menu-btn{display:block}.stats-grid{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.list-toolbar{flex-direction:column;align-items:stretch}.list-actions{margin-left:0}.filters{flex-direction:column}.calendar-grid{grid-template-columns:repeat(2,1fr)}.calendar-controls{flex-wrap:wrap}.year-total{width:100%;text-align:center;margin-left:0}.detail-actions{flex-wrap:wrap}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.page-content{padding:16px}.calendar-grid{grid-template-columns:1fr 1fr}.calendar-client-row{flex-wrap:wrap}.calendar-client-service,.calendar-client-date{display:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;animation:fadeIn .15s ease}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:32px;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;animation:scaleIn .2s ease}.modal-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.modal-title{font-size:18px;font-weight:700;color:var(--text)}.modal-message{font-size:14px;color:var(--text-muted);line-height:1.6}.modal-actions{display:flex;gap:12px;margin-top:8px;width:100%}.modal-btn{flex:1;justify-content:center;padding:10px 16px;font-size:14px;font-weight:600}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-wide{max-width:560px;text-align:left;align-items:stretch}.modal-wide .modal-title{text-align:left}.modal-wide .modal-message{text-align:left;margin-bottom:4px}.payment-modal-form{display:flex;flex-direction:column;gap:16px;width:100%}.payment-period-info{display:flex;gap:16px;margin-bottom:8px}.period-block{flex:1;display:flex;flex-direction:column;gap:2px;background:var(--bg-secondary, #f3f4f6);border-radius:var(--radius-sm, 6px);padding:12px 16px;border-left:3px solid var(--primary, #6366f1)}.period-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #888);font-weight:600}.period-value{font-size:1rem;font-weight:600;color:var(--text-primary, #111)}.period-value.amount{color:var(--success, #16a34a)}.period-hint{font-size:.75rem;color:var(--text-dim, #aaa)}.modal-hint{font-size:12px;color:var(--text-muted);font-style:italic}.activity-log-list{display:flex;flex-direction:column;gap:0}.activity-log-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.activity-log-item:last-child{border-bottom:none}.activity-log-dot{width:10px;height:10px;border-radius:50%;margin-top:5px;flex-shrink:0;background:var(--text-muted)}.activity-log-dot.create_client,.activity-log-dot.create_service,.activity-log-dot.create_payment{background:var(--success)}.activity-log-dot.update_client,.activity-log-dot.update_service{background:var(--primary)}.activity-log-dot.mark_paid,.activity-log-dot.renew_service{background:var(--warning)}.activity-log-dot.send_email,.activity-log-dot.send_whatsapp{background:var(--email, #8b5cf6)}.activity-log-content{flex:1;min-width:0}.activity-log-desc{font-size:13px;color:var(--text);margin:0;line-height:1.4}.activity-log-meta{font-size:12px;color:var(--text-muted)}
