@charset "UTF-8";.login-page,.register-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:#f9f9f6}.login-page .login-card,.register-page .login-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.login-page .login-card:hover,.register-page .login-card:hover{box-shadow:0 4px 12px #00000014}.login-page .login-card,.register-page .login-card{width:100%;max-width:420px;padding:3rem;animation:slideUp .5s ease}.login-page .login-card .login-header,.register-page .login-card .login-header{text-align:center;margin-bottom:3rem}.login-page .login-card .login-header .login-icon,.register-page .login-card .login-header .login-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;background:#e8f5e9;margin:0 auto 1.5rem}.login-page .login-card .login-header .login-icon svg,.register-page .login-card .login-header .login-icon svg{width:28px;height:28px;color:#2d8a4e}.login-page .login-card .login-header h1,.register-page .login-card .login-header h1{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin-bottom:.25rem}.login-page .login-card .login-header p,.register-page .login-card .login-header p{font-size:.875rem;color:#6b7280}.login-page .login-card .form-group,.register-page .login-card .form-group{margin-bottom:1.5rem}.login-page .login-card .form-group label,.register-page .login-card .form-group label{display:block;font-size:.875rem;font-weight:500;color:#1a1a1a;margin-bottom:.5rem}.login-page .login-card .form-group input,.register-page .login-card .form-group input{width:100%;padding:1rem 1.5rem;border:1.5px solid #E5E7EB;border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.login-page .login-card .form-group input::placeholder,.register-page .login-card .form-group input::placeholder{color:#9ca3af}.login-page .login-card .form-group input:focus,.register-page .login-card .form-group input:focus{border-color:#2d8a4e;box-shadow:0 0 0 3px #2d8a4e1a}.login-page .login-card .btn-primary,.register-page .login-card .btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.login-page .login-card .btn-primary:disabled,.register-page .login-card .btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-page .login-card .btn-primary,.register-page .login-card .btn-primary{width:100%;background:#2d8a4e;color:#fff;padding:1rem;font-size:1rem}.login-page .login-card .btn-primary:hover:not(:disabled),.register-page .login-card .btn-primary:hover:not(:disabled){background:#277743;transform:translateY(-1px);box-shadow:0 4px 12px #2d8a4e4d}.login-page .login-card .btn-primary:active:not(:disabled),.register-page .login-card .btn-primary:active:not(:disabled){transform:translateY(0)}.login-page .login-card .error-message,.register-page .login-card .error-message{background:#fef2f2;color:#dc2626;padding:1rem;border-radius:8px;font-size:.875rem;margin-bottom:1.5rem;text-align:center;animation:fadeIn .3s ease}.login-page .login-card .login-footer,.register-page .login-card .login-footer{text-align:center;margin-top:2rem;font-size:.875rem;color:#6b7280}.login-page .login-card .login-footer a,.register-page .login-card .login-footer a{color:#2d8a4e;font-weight:600;margin-left:.25rem}.stat-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.stat-card:hover{box-shadow:0 4px 12px #00000014}.stat-card{padding:1.5rem;animation:slideUp .5s ease;animation-fill-mode:backwards}.stat-card:nth-child(1){animation-delay:.08s}.stat-card:nth-child(2){animation-delay:.16s}.stat-card:nth-child(3){animation-delay:.24s}.stat-card:nth-child(4){animation-delay:.32s}.stat-card .stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;margin-bottom:1rem;font-size:1.125rem}.stat-card .stat-icon.green{background:#e8f5e9;color:#2d8a4e}.stat-card .stat-icon.beige{background:#f5e6d3;color:#d49342}.stat-card .stat-icon.yellow{background:#fffde7;color:#cfad17}.stat-card .stat-icon.coral{background:#f5c6aa4d;color:#e87a38}.stat-card .stat-label{font-size:.75rem;color:#6b7280;margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-card .stat-value{font-size:1.5rem;font-weight:700;color:#1a1a1a}.stat-card .stat-value .stat-unit{font-size:.875rem;font-weight:500;color:#6b7280;margin-left:2px}.list-item{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.list-item:hover{box-shadow:0 4px 12px #00000014}.list-item{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;margin-bottom:1rem;cursor:pointer;animation:slideUp .4s ease;animation-fill-mode:backwards}.list-item:nth-child(1){animation-delay:.06s}.list-item:nth-child(2){animation-delay:.12s}.list-item:nth-child(3){animation-delay:.18s}.list-item:nth-child(4){animation-delay:.24s}.list-item:nth-child(5){animation-delay:.3s}.list-item:nth-child(6){animation-delay:.36s}.list-item:hover{transform:translate(4px)}.list-item .list-item-left{display:flex;align-items:center;gap:1rem}.list-item .list-item-left .list-item-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;font-size:1.25rem}.list-item .list-item-left .list-item-icon.green{background:#e8f5e9}.list-item .list-item-left .list-item-icon.beige{background:#f5e6d3}.list-item .list-item-left .list-item-icon.yellow{background:#fffde7}.list-item .list-item-left .list-item-icon.coral{background:#f5c6aa4d}.list-item .list-item-left .list-item-content h4{font-size:1rem;font-weight:600;color:#1a1a1a;margin-bottom:2px}.list-item .list-item-left .list-item-content p{font-size:.75rem;color:#6b7280}.list-item .list-item-right{display:flex;align-items:center;justify-content:center;color:#9ca3af}.list-item .list-item-right .status-badge{padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.list-item .list-item-right .status-badge.pendiente{background:#fffde7;color:#cfad17}.list-item .list-item-right .status-badge.firmado{background:#e8f5e9;color:#2d8a4e}.list-item .list-item-right .chevron{font-size:1.125rem;margin-left:.5rem}.navbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:#fff;border-top:1px solid #E5E7EB;padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-around;z-index:100;box-shadow:0 -2px 10px #0000000a}.navbar .nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.5rem 1rem;border:none;background:none;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#9ca3af;font-size:.75rem;transition:color .15s ease;border-radius:8px}.navbar .nav-item svg{width:22px;height:22px}.navbar .nav-item.active,.navbar .nav-item:hover{color:#2d8a4e}.home-page{display:flex;flex-direction:column;min-height:100vh;max-width:100%;margin:0 auto;background:#f9f9f6;padding-bottom:80px}.home-page .home-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 1.5rem 1.5rem;animation:fadeIn .4s ease}.home-page .home-header .header-info h1{font-size:1.5rem;font-weight:700;color:#1a1a1a}.home-page .home-header .header-info p{font-size:.875rem;color:#6b7280;margin-top:2px}.home-page .home-header .header-actions{display:flex;gap:.5rem}.home-page .home-header .header-actions .icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid #E5E7EB;background:#fff;cursor:pointer;transition:all .15s ease;color:#1a1a1a}.home-page .home-header .header-actions .icon-btn:hover{background:#e8f5e9;border-color:#2d8a4e;color:#2d8a4e}.home-page .home-header .header-actions .icon-btn svg{width:18px;height:18px}.home-page .contracts-table-container{flex:1;padding:0 1.5rem;overflow:hidden;display:flex;flex-direction:column}.home-page .contracts-table-container .table-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.home-page .contracts-table-container .table-header-bar h2{font-size:1.125rem;font-weight:700;color:#1a1a1a}.home-page .contracts-table-container .table-header-bar .contract-count{font-size:.875rem;color:#6b7280;background:#fff;padding:.25rem 1rem;border-radius:24px;border:1px solid #E5E7EB}.home-page .contracts-table-container .table-scroll{flex:1;overflow-y:auto;border-radius:16px;background:#fff;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5)}.home-page .contracts-table-container .table-scroll::-webkit-scrollbar{width:4px}.home-page .contracts-table-container .table-scroll::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}.home-page .contracts-table-container table.contracts-table{width:100%;border-collapse:collapse;font-size:.875rem}.home-page .contracts-table-container table.contracts-table thead{position:sticky;top:0;z-index:10;background:#f9f9f6}.home-page .contracts-table-container table.contracts-table thead th{padding:1rem 1.5rem;text-align:left;font-weight:600;color:#6b7280;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #E5E7EB}.home-page .contracts-table-container table.contracts-table thead th:last-child{text-align:center;width:80px}.home-page .contracts-table-container table.contracts-table tbody tr{transition:background .15s ease;border-bottom:1px solid rgba(229,231,235,.4);animation:fadeIn .3s ease}.home-page .contracts-table-container table.contracts-table tbody tr:last-child{border-bottom:none}.home-page .contracts-table-container table.contracts-table tbody tr.estado-pendiente{background:#fff}.home-page .contracts-table-container table.contracts-table tbody tr.estado-pendiente:hover{background:#fafafa}.home-page .contracts-table-container table.contracts-table tbody tr.estado-firmado{background:#e8f5e9}.home-page .contracts-table-container table.contracts-table tbody tr.estado-firmado:hover{background:#ddf0df}.home-page .contracts-table-container table.contracts-table tbody tr td{padding:1rem 1.5rem;color:#1a1a1a;vertical-align:middle}.home-page .contracts-table-container table.contracts-table tbody tr td.col-id{font-weight:700;color:#6b7280;width:60px;font-size:.75rem}.home-page .contracts-table-container table.contracts-table tbody tr td.col-titulo{font-weight:500}.home-page .contracts-table-container table.contracts-table tbody tr td.col-titulo .titulo-text{display:block;margin-bottom:2px}.home-page .contracts-table-container table.contracts-table tbody tr td.col-titulo .estado-badge{display:inline-block;padding:2px .5rem;border-radius:8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.home-page .contracts-table-container table.contracts-table tbody tr td.col-titulo .estado-badge.pendiente{background:#fffde7;color:#8b7000}.home-page .contracts-table-container table.contracts-table tbody tr td.col-titulo .estado-badge.firmado{background:#e8f5e9;color:#2d8a4e}.home-page .contracts-table-container table.contracts-table tbody tr td.col-acciones{text-align:center;position:relative}.home-page .contracts-table-container table.contracts-table tbody tr td.col-acciones .action-trigger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;cursor:pointer;border-radius:8px;color:#6b7280;margin:0 auto;transition:all .15s ease}.home-page .contracts-table-container table.contracts-table tbody tr td.col-acciones .action-trigger:hover{background:#0000000d;color:#1a1a1a}.home-page .contracts-table-container table.contracts-table tbody tr td.col-acciones .action-trigger svg{width:18px;height:18px}.home-page .contracts-table-container .loading-more{text-align:center;padding:1.5rem;color:#9ca3af;font-size:.875rem}.home-page .contracts-table-container .loading-more .mini-spinner{display:inline-block;width:20px;height:20px;border:2px solid #E5E7EB;border-top-color:#2d8a4e;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}.home-page .contracts-table-container .empty-table{align-items:center;justify-content:center;display:flex;flex-direction:column;padding:6rem;text-align:center}.home-page .contracts-table-container .empty-table .empty-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#e8f5e9;margin-bottom:1.5rem}.home-page .contracts-table-container .empty-table .empty-icon svg{width:28px;height:28px;color:#2d8a4e}.home-page .contracts-table-container .empty-table h3{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin-bottom:.25rem}.home-page .contracts-table-container .empty-table p{font-size:.875rem;color:#6b7280;max-width:280px}.home-page .loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}.home-page .loading-screen .spinner{width:40px;height:40px;border:3px solid #E5E7EB;border-top-color:#2d8a4e;border-radius:50%;animation:spin .8s linear infinite}.action-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999;background:#0003;animation:fadeIn .15s ease}.action-menu{position:fixed;z-index:1000;background:#fff;border-radius:16px;box-shadow:0 8px 24px #0000001a;border:1px solid #E5E7EB;min-width:200px;overflow:hidden;animation:slideUp .2s ease}.action-menu .action-menu-item{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.5rem;border:none;background:none;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;color:#1a1a1a;transition:background .15s ease;text-align:left}.action-menu .action-menu-item:hover{background:#e8f5e9}.action-menu .action-menu-item.destructive{color:#dc2626}.action-menu .action-menu-item.destructive:hover{background:#fef2f2}.action-menu .action-menu-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.action-menu .action-menu-item.close-item{border-top:1px solid #E5E7EB;color:#6b7280;justify-content:center}.action-menu .action-menu-item svg{width:16px;height:16px;flex-shrink:0}.template-page{min-height:100vh;background:#f9f9f6;padding:2rem 1.5rem 3rem;max-width:680px;margin:0 auto}.template-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.template-page .page-header .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid #E5E7EB;background:#fff;cursor:pointer;color:#1a1a1a;transition:all .15s ease}.template-page .page-header .back-btn:hover{background:#e8f5e9;border-color:#2d8a4e;color:#2d8a4e}.template-page .page-header .back-btn svg{width:18px;height:18px}.template-page .page-header h1{font-size:1.25rem;font-weight:700}.template-page .page-header .save-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.template-page .page-header .save-btn:disabled{opacity:.6;cursor:not-allowed}.template-page .page-header .save-btn{background:#2d8a4e;color:#fff;padding:.5rem 1.5rem;font-size:.875rem}.template-page .page-header .save-btn:hover:not(:disabled){background:#277743}.template-page .template-name-input{width:100%;padding:1rem 1.5rem;border:1.5px solid #E5E7EB;border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.template-page .template-name-input::placeholder{color:#9ca3af}.template-page .template-name-input:focus{border-color:#2d8a4e;box-shadow:0 0 0 3px #2d8a4e1a}.template-page .template-name-input{font-size:1.125rem;font-weight:600;margin-bottom:2rem}.template-page .blocks-section{margin-bottom:2rem}.template-page .blocks-section .section-label{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}.template-page .block-item{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.template-page .block-item:hover{box-shadow:0 4px 12px #00000014}.template-page .block-item{padding:1.5rem;margin-bottom:1rem;animation:slideUp .3s ease}.template-page .block-item .block-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.template-page .block-item .block-header .block-type-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:8px;font-size:.75rem;font-weight:600}.template-page .block-item .block-header .block-type-badge.texto_estatico{background:#e3f2fd;color:#1565c0}.template-page .block-item .block-header .block-type-badge.texto_dinamico{background:#e8f5e9;color:#2d8a4e}.template-page .block-item .block-header .block-type-badge.valores_dinamicos{background:#fffde7;color:#8b7000}.template-page .block-item .block-header .block-type-badge.imagen{background:#f5e6d3;color:#8b5e34}.template-page .block-item .block-header .block-actions{display:flex;gap:.25rem}.template-page .block-item .block-header .block-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;cursor:pointer;border-radius:8px;color:#9ca3af;font-size:1.125rem;transition:all .15s ease}.template-page .block-item .block-header .block-actions button:hover{background:#0000000d;color:#1a1a1a}.template-page .block-item .block-header .block-actions button.delete-btn:hover{background:#fef2f2;color:#dc2626}.template-page .block-item .block-fields{display:flex;flex-direction:column;gap:.5rem}.template-page .block-item .block-fields input,.template-page .block-item .block-fields textarea{width:100%;padding:1rem 1.5rem;border:1.5px solid #E5E7EB;border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.template-page .block-item .block-fields input::placeholder,.template-page .block-item .block-fields textarea::placeholder{color:#9ca3af}.template-page .block-item .block-fields input:focus,.template-page .block-item .block-fields textarea:focus{border-color:#2d8a4e;box-shadow:0 0 0 3px #2d8a4e1a}.template-page .block-item .block-fields input,.template-page .block-item .block-fields textarea{font-size:.875rem}.template-page .block-item .block-fields textarea{min-height:80px;resize:vertical}.template-page .block-item .block-fields label{font-size:.75rem;font-weight:500;color:#6b7280}.template-page .add-block-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.template-page .add-block-grid .add-block-btn{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.template-page .add-block-grid .add-block-btn:hover{box-shadow:0 4px 12px #00000014}.template-page .add-block-grid .add-block-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;border:2px dashed #E5E7EB;background:transparent;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:500;color:#6b7280;transition:all .15s ease}.template-page .add-block-grid .add-block-btn:hover{border-color:#2d8a4e;color:#2d8a4e;background:#e8f5e9}.template-page .add-block-grid .add-block-btn .block-icon{font-size:1.25rem}.template-page .branding-section{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.template-page .branding-section:hover{box-shadow:0 4px 12px #00000014}.template-page .branding-section{margin-top:2rem;padding:2rem;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#2d8a4e,#1565c0) border-box;animation:slideUp .4s ease}.template-page .branding-section .branding-section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem}.template-page .branding-section .branding-section-header .branding-icon{font-size:1.25rem}.template-page .branding-section .branding-section-header h2{font-size:1.125rem;font-weight:700;color:#1a1a1a;margin:0;background:linear-gradient(135deg,#2d8a4e,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.template-page .branding-section .branding-error{color:#dc2626;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:.5rem 1rem;background:#fef2f2;border-radius:8px}.template-page .branding-section .branding-field{margin-bottom:1.5rem}.template-page .branding-section .branding-field label{display:block;font-size:.875rem;font-weight:600;color:#6b7280;margin-bottom:.5rem}.template-page .branding-section .branding-field input[type=text],.template-page .branding-section .branding-field textarea{width:100%;padding:1rem 1.5rem;border:1.5px solid #E5E7EB;border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.template-page .branding-section .branding-field input[type=text]::placeholder,.template-page .branding-section .branding-field textarea::placeholder{color:#9ca3af}.template-page .branding-section .branding-field input[type=text]:focus,.template-page .branding-section .branding-field textarea:focus{border-color:#2d8a4e;box-shadow:0 0 0 3px #2d8a4e1a}.template-page .branding-section .branding-field input[type=text],.template-page .branding-section .branding-field textarea{font-size:.875rem}.template-page .branding-section .branding-field textarea{min-height:60px;resize:vertical}.template-page .branding-section .branding-file-input{width:100%;padding:1rem;border:2px dashed #E5E7EB;border-radius:12px;background:#f9f9f6;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;color:#6b7280;transition:all .15s ease}.template-page .branding-section .branding-file-input:hover{border-color:#2d8a4e;background:#e8f5e9}.template-page .branding-section .branding-file-input::file-selector-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.template-page .branding-section .branding-file-input::file-selector-button:disabled{opacity:.6;cursor:not-allowed}.template-page .branding-section .branding-file-input::file-selector-button{background:#2d8a4e;color:#fff;padding:.25rem 1rem;font-size:.75rem;margin-right:1rem;cursor:pointer}.template-page .branding-section .branding-file-input::file-selector-button:hover{background:#277743}.template-page .branding-section .branding-uploading{display:inline-block;font-size:.75rem;color:#2d8a4e;font-weight:500;margin-top:.25rem;animation:pulse 1.5s ease infinite}.template-page .branding-section .branding-logo-preview{margin-bottom:1.5rem;padding:1rem;background:#f9f9f6;border-radius:12px;border:1.5px solid #E5E7EB;text-align:center}.template-page .branding-section .branding-logo-preview img{max-height:60px;object-fit:contain;border-radius:8px}.template-page .branding-section .branding-position-group{display:flex;gap:.5rem}.template-page .branding-section .branding-position-group .branding-pos-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.template-page .branding-section .branding-position-group .branding-pos-btn:disabled{opacity:.6;cursor:not-allowed}.template-page .branding-section .branding-position-group .branding-pos-btn{flex:1;padding:.5rem 1rem;font-size:.75rem;font-weight:600;background:#f9f9f6;color:#6b7280;border:1.5px solid #E5E7EB;transition:all .15s ease}.template-page .branding-section .branding-position-group .branding-pos-btn:hover{border-color:#2d8a4e;color:#2d8a4e;background:#e8f5e9}.template-page .branding-section .branding-position-group .branding-pos-btn.active{background:#2d8a4e;color:#fff;border-color:#2d8a4e;box-shadow:0 2px 8px #2d8a4e4d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.contract-form-page{min-height:100vh;background:#f9f9f6;padding:2rem 1.5rem 3rem;max-width:680px;margin:0 auto}.contract-form-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.contract-form-page .page-header .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid #E5E7EB;background:#fff;cursor:pointer;color:#1a1a1a;transition:all .15s ease}.contract-form-page .page-header .back-btn:hover{background:#e8f5e9;border-color:#2d8a4e;color:#2d8a4e}.contract-form-page .page-header .back-btn svg{width:18px;height:18px}.contract-form-page .page-header h1{font-size:1.25rem;font-weight:700;flex:1;text-align:center}.contract-form-page .page-header .spacer{width:40px}.contract-form-page .contract-title-input{width:100%;padding:1rem 1.5rem;border:1.5px solid #E5E7EB;border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.contract-form-page .contract-title-input::placeholder{color:#9ca3af}.contract-form-page .contract-title-input:focus{border-color:#2d8a4e;box-shadow:0 0 0 3px #2d8a4e1a}.contract-form-page .contract-title-input{font-size:1.125rem;font-weight:600;margin-bottom:2rem}.contract-form-page .form-block{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.contract-form-page .form-block:hover{box-shadow:0 4px 12px #00000014}.contract-form-page .form-block{padding:1.5rem;margin-bottom:1rem}.contract-form-page .form-block .block-label{font-size:.875rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}.contract-form-page .form-block .block-static-text{font-size:.875rem;color:#6b7280;line-height:1.6;background:#f9f9f6;padding:1rem;border-radius:8px}.contract-form-page .form-block input,.contract-form-page .form-block textarea{width:100%;padding:1rem 1.5rem;border:1.5px solid #E5E7EB;border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.contract-form-page .form-block input::placeholder,.contract-form-page .form-block textarea::placeholder{color:#9ca3af}.contract-form-page .form-block input:focus,.contract-form-page .form-block textarea:focus{border-color:#2d8a4e;box-shadow:0 0 0 3px #2d8a4e1a}.contract-form-page .form-block input,.contract-form-page .form-block textarea{font-size:.875rem}.contract-form-page .form-block textarea{min-height:80px;resize:vertical}.contract-form-page .form-block .image-buttons{display:flex;gap:.5rem;margin-bottom:1rem}.contract-form-page .form-block .image-buttons .image-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.contract-form-page .form-block .image-buttons .image-btn:disabled{opacity:.6;cursor:not-allowed}.contract-form-page .form-block .image-buttons .image-btn{flex:1;padding:.5rem 1rem;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.contract-form-page .form-block .image-buttons .image-btn.camera-btn{background:#2d8a4e;color:#fff}.contract-form-page .form-block .image-buttons .image-btn.camera-btn:hover{background:#277743}.contract-form-page .form-block .image-buttons .image-btn.gallery-btn{background:#f9f9f6;color:#1a1a1a;border:1.5px solid #E5E7EB}.contract-form-page .form-block .image-buttons .image-btn.gallery-btn:hover{border-color:#2d8a4e;color:#2d8a4e;background:#e8f5e9}.contract-form-page .form-block .image-thumbnails-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-top:.5rem}.contract-form-page .form-block .image-thumbnail{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f9f9f6;border:1.5px solid #E5E7EB;transition:border-color .15s ease}.contract-form-page .form-block .image-thumbnail:hover{border-color:#9ca3af}.contract-form-page .form-block .image-thumbnail.has-error{border-color:#dc2626}.contract-form-page .form-block .image-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.contract-form-page .form-block .image-thumbnail .image-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#f9f9f6}.contract-form-page .form-block .image-thumbnail .image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.25rem;background:#0000008c;color:#fff;font-size:.75rem;font-weight:500}.contract-form-page .form-block .image-thumbnail .image-overlay.error-overlay{background:#dc2626d9}.contract-form-page .form-block .image-thumbnail .image-overlay .error-text{font-weight:700}.contract-form-page .form-block .image-thumbnail .mini-spinner{width:22px;height:22px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.contract-form-page .form-block .image-thumbnail .image-remove-btn{position:absolute;top:4px;right:4px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:11px;cursor:pointer;opacity:0;transition:opacity .15s ease;line-height:1}.contract-form-page .form-block .image-thumbnail:hover .image-remove-btn{opacity:1}.contract-form-page .form-block .image-thumbnail .image-retry-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.contract-form-page .form-block .image-thumbnail .image-retry-btn:disabled{opacity:.6;cursor:not-allowed}.contract-form-page .form-block .image-thumbnail .image-retry-btn{padding:.25rem .5rem;font-size:.75rem;background:#fff;color:#dc2626;border-radius:8px}.contract-form-page .form-block .image-thumbnail .image-size-label{position:absolute;bottom:4px;left:4px;background:#0009;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;line-height:1.3}.contract-form-page .form-block .image-thumbnail .image-success-badge{position:absolute;top:4px;left:4px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#2d8a4e;color:#fff;font-size:11px;font-weight:700}.contract-form-page .submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.contract-form-page .submit-btn:disabled{opacity:.6;cursor:not-allowed}.contract-form-page .submit-btn{width:100%;background:#2d8a4e;color:#fff;padding:1rem;margin-top:1.5rem}.contract-form-page .submit-btn:hover:not(:disabled){background:#277743;transform:translateY(-1px);box-shadow:0 4px 12px #2d8a4e4d}.profile-page{min-height:100vh;background:#f9f9f6;padding:2rem 1.5rem;max-width:680px;margin:0 auto;padding-bottom:100px}.profile-page .page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.profile-page .page-header .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px solid #E5E7EB;background:#fff;cursor:pointer;color:#1a1a1a;transition:all .15s ease}.profile-page .page-header .back-btn:hover{background:#e8f5e9;border-color:#2d8a4e;color:#2d8a4e}.profile-page .page-header .back-btn svg{width:18px;height:18px}.profile-page .page-header h1{font-size:1.25rem;font-weight:700}.profile-page .page-header .spacer{width:40px}.profile-page .profile-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.profile-page .profile-card:hover{box-shadow:0 4px 12px #00000014}.profile-page .profile-card{padding:2rem;margin-bottom:1.5rem;text-align:center}.profile-page .profile-card .avatar-large{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#f5e6d3;font-size:1.5rem;font-weight:700;color:#8b5e34;margin:0 auto 1rem}.profile-page .profile-card .profile-email{font-size:1.125rem;font-weight:600;color:#1a1a1a}.profile-page .profile-card .profile-since{font-size:.75rem;color:#6b7280;margin-top:.25rem}.profile-page .section-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.profile-page .section-card:hover{box-shadow:0 4px 12px #00000014}.profile-page .section-card{padding:2rem;margin-bottom:1.5rem}.profile-page .section-card h3{font-size:1rem;font-weight:700;color:#1a1a1a;margin-bottom:1.5rem}.profile-page .section-card .plan-current{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.profile-page .section-card .plan-current .plan-name{font-size:1.125rem;font-weight:700;color:#2d8a4e}.profile-page .section-card .plan-current .plan-badge-large{padding:.25rem 1rem;border-radius:24px;font-size:.875rem;font-weight:600;background:#e8f5e9;color:#2d8a4e}.profile-page .section-card .progress-item{margin-bottom:1rem}.profile-page .section-card .progress-item .progress-label{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:#6b7280;margin-bottom:.25rem}.profile-page .section-card .progress-item .progress-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.profile-page .section-card .progress-item .progress-bar .progress-fill{height:100%;background:#2d8a4e;border-radius:4px;transition:width .5s ease}.profile-page .section-card .progress-item .progress-bar .progress-fill.warning{background:#f59e0b}.profile-page .section-card .progress-item .progress-bar .progress-fill.danger{background:#dc2626}.profile-page .section-card .upgrade-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.profile-page .section-card .upgrade-btn:disabled{opacity:.6;cursor:not-allowed}.profile-page .section-card .upgrade-btn{width:100%;background:linear-gradient(135deg,#2d8a4e,#206438);color:#fff;padding:1rem;margin-top:1rem}.profile-page .section-card .upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #2d8a4e66}.profile-page .section-card .upgrade-benefits{margin-top:1rem;padding:1rem;background:#e8f5e9;border-radius:12px;font-size:.75rem;color:#6b7280;line-height:1.8}.profile-page .section-card .upgrade-benefits strong{color:#1a1a1a}.profile-page .section-card .plan-badge-large.plan-paid{background:linear-gradient(135deg,#2d8a4e,#206438);color:#fff}.profile-page .section-card .plan-active-info{margin-bottom:1.5rem;padding:1rem;background:#e8f5e9;border-radius:12px}.profile-page .section-card .plan-active-info .plan-status-row{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;padding:.25rem 0;color:#6b7280}.profile-page .section-card .plan-active-info .plan-status-row .status-tag{font-weight:600}.profile-page .section-card .plan-active-info .plan-status-row .status-tag.activo{color:#2d8a4e}.profile-page .section-card .plan-active-info .plan-status-row .status-tag.cancelado{color:#dc2626}.profile-page .section-card .plan-active-info .plan-status-row .status-tag.suspendido{color:#f59e0b}.profile-page .section-card .plan-active-info .plan-benefits-active{font-size:.75rem;color:#2d8a4e;font-weight:500;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(45,138,78,.2)}.profile-page .section-card .plan-cards{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.profile-page .section-card .plan-card{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.profile-page .section-card .plan-card:hover{box-shadow:0 4px 12px #00000014}.profile-page .section-card .plan-card{padding:1.5rem;border:2px solid #E5E7EB;transition:all .15s ease}.profile-page .section-card .plan-card:hover{border-color:#2d8a4e;box-shadow:0 4px 12px #00000014}.profile-page .section-card .plan-card.pro{border-color:#2d8a4e}.profile-page .section-card .plan-card.empresa{border-color:#1565c0}.profile-page .section-card .plan-card .plan-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.profile-page .section-card .plan-card .plan-card-header .plan-card-name{font-size:1.125rem;font-weight:700;color:#1a1a1a}.profile-page .section-card .plan-card .plan-card-header .plan-card-price{font-size:1.125rem;font-weight:700;color:#2d8a4e}.profile-page .section-card .plan-card .plan-card-header .plan-card-price small{font-size:.75rem;font-weight:400;color:#9ca3af}.profile-page .section-card .plan-card .plan-card-features{list-style:none;padding:0;margin:0 0 1rem}.profile-page .section-card .plan-card .plan-card-features li{font-size:.875rem;color:#6b7280;padding:.25rem 0}.profile-page .section-card .plan-card .upgrade-btn{width:100%;margin-top:0}.profile-page .section-card .plan-card .empresa-btn{background:linear-gradient(135deg,#1565c0,#0d47a1)}.profile-page .section-card .plan-card .empresa-btn:hover{box-shadow:0 4px 16px #1565c066}.profile-page .section-card .form-group{margin-bottom:1rem}.profile-page .section-card .form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem;color:#1a1a1a}.profile-page .section-card .form-group input{width:100%;padding:1rem 1.5rem;border:1.5px solid #E5E7EB;border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.profile-page .section-card .form-group input::placeholder{color:#9ca3af}.profile-page .section-card .form-group input:focus{border-color:#2d8a4e;box-shadow:0 0 0 3px #2d8a4e1a}.profile-page .section-card .form-group input{font-size:.875rem}.profile-page .section-card .save-password-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.profile-page .section-card .save-password-btn:disabled{opacity:.6;cursor:not-allowed}.profile-page .section-card .save-password-btn{width:100%;background:#1a1a1a;color:#fff;padding:1rem;font-size:.875rem}.profile-page .section-card .save-password-btn:hover:not(:disabled){background:#343434}.profile-page .section-card .success-msg{text-align:center;color:#2d8a4e;font-size:.875rem;font-weight:500;margin-top:1rem}.profile-page .section-card .error-msg{text-align:center;color:#dc2626;font-size:.875rem;font-weight:500;margin-top:1rem}.profile-page .logout-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.profile-page .logout-btn:disabled{opacity:.6;cursor:not-allowed}.profile-page .logout-btn{width:100%;background:transparent;color:#dc2626;border:1.5px solid #DC2626;padding:1rem}.profile-page .logout-btn:hover{background:#fef2f2}.signature-page{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#fff;z-index:2000;display:flex;flex-direction:column;overflow:hidden}@media(orientation:portrait){.signature-page:before{content:"📱 Gira tu dispositivo a horizontal para una mejor experiencia";position:absolute;top:0;left:0;right:0;background:#fffde7;color:#8b7000;text-align:center;padding:.5rem;font-size:.75rem;font-weight:500;z-index:10}}.signature-page .signature-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #E5E7EB;flex-shrink:0}.signature-page .signature-header h2{font-size:1.125rem;font-weight:700}.signature-page .signature-header .close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;cursor:pointer;border-radius:8px;color:#6b7280;font-size:1.25rem}.signature-page .signature-header .close-btn:hover{background:#fef2f2;color:#dc2626}.signature-page .signature-content{flex:1;overflow-y:auto;padding:1.5rem}.signature-page .signature-content .contract-block{margin-bottom:1rem;font-size:.875rem;line-height:1.7;color:#1a1a1a}.signature-page .signature-content .contract-block.static-block{white-space:pre-wrap}.signature-page .signature-content .contract-block.dynamic-block strong{color:#2d8a4e}.signature-page .signature-content .contract-block.image-block img{max-width:100%;border-radius:8px}.signature-page .signature-footer{flex-shrink:1;overflow-y:auto;padding:1.5rem 1.5rem 3rem;border-top:1px solid #E5E7EB;background:#f9f9f6}.signature-page .signature-footer .canvas-container{margin-bottom:1rem}.signature-page .signature-footer .canvas-container .canvas-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.signature-page .signature-footer .canvas-container .canvas-label span{font-size:.875rem;font-weight:600}.signature-page .signature-footer .canvas-container .canvas-label button{font-size:.75rem;color:#dc2626;background:none;border:none;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500}.signature-page .signature-footer .canvas-container .canvas-label button:hover{text-decoration:underline}.signature-page .signature-footer .canvas-container canvas{width:100%;height:120px;border:2px dashed #E5E7EB;border-radius:12px;cursor:crosshair;touch-action:none}.signature-page .signature-footer .email-input-group{margin-bottom:1rem}.signature-page .signature-footer .email-input-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.signature-page .signature-footer .email-input-group input{width:100%;padding:1rem 1.5rem;border:1.5px solid #E5E7EB;border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.signature-page .signature-footer .email-input-group input::placeholder{color:#9ca3af}.signature-page .signature-footer .email-input-group input:focus{border-color:#2d8a4e;box-shadow:0 0 0 3px #2d8a4e1a}.signature-page .signature-footer .email-input-group input{font-size:.875rem}.signature-page .signature-footer .accept-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.signature-page .signature-footer .accept-btn:disabled{opacity:.6;cursor:not-allowed}.signature-page .signature-footer .accept-btn{width:100%;background:#2d8a4e;color:#fff;padding:1rem}.signature-page .signature-footer .accept-btn:disabled{background:#9ca3af;cursor:not-allowed}.signature-page .signature-footer .accept-btn:hover:not(:disabled){background:#277743}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1500;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease;padding:1.5rem}.modal-overlay .modal-content{background:#fff;border-radius:24px;padding:3rem;max-width:420px;width:100%;box-shadow:0 8px 24px #0000001a;animation:slideUp .3s ease;max-height:80vh;overflow-y:auto}.modal-overlay .modal-content .modal-header{text-align:center;margin-bottom:2rem}.modal-overlay .modal-content .modal-header .modal-icon{font-size:48px;margin-bottom:1rem}.modal-overlay .modal-content .modal-header h2{font-size:1.25rem;font-weight:700}.modal-overlay .modal-content .modal-header p{font-size:.875rem;color:#6b7280;margin-top:.25rem}.modal-overlay .modal-content .modal-body{margin-bottom:2rem}.modal-overlay .modal-content .modal-body .template-list-modal{display:flex;flex-direction:column;gap:.5rem}.modal-overlay .modal-content .modal-body .template-list-modal .template-option{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000f;border:1px solid rgba(229,231,235,.5);transition:box-shadow .25s ease,transform .25s ease}.modal-overlay .modal-content .modal-body .template-list-modal .template-option:hover{box-shadow:0 4px 12px #00000014}.modal-overlay .modal-content .modal-body .template-list-modal .template-option{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;cursor:pointer;border:none;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-align:left;width:100%}.modal-overlay .modal-content .modal-body .template-list-modal .template-option:hover{transform:translate(4px);border-color:#2d8a4e}.modal-overlay .modal-content .modal-body .template-list-modal .template-option .template-name{font-weight:600;font-size:.875rem;color:#1a1a1a}.modal-overlay .modal-content .modal-body .template-list-modal .template-option .template-blocks{font-size:.75rem;color:#6b7280}.modal-overlay .modal-content .modal-body .template-list-modal .template-option .chevron{color:#9ca3af;font-size:1.125rem}.modal-overlay .modal-content .modal-body .upgrade-features{list-style:none;padding:0}.modal-overlay .modal-content .modal-body .upgrade-features li{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;color:#1a1a1a}.modal-overlay .modal-content .modal-body .upgrade-features li:before{content:"✓";display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#e8f5e9;color:#2d8a4e;font-size:.75rem;font-weight:700;flex-shrink:0}.modal-overlay .modal-content .modal-actions{display:flex;flex-direction:column;gap:.5rem}.modal-overlay .modal-content .modal-actions .btn-modal-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.modal-overlay .modal-content .modal-actions .btn-modal-primary:disabled{opacity:.6;cursor:not-allowed}.modal-overlay .modal-content .modal-actions .btn-modal-primary{width:100%;background:#2d8a4e;color:#fff;padding:1rem}.modal-overlay .modal-content .modal-actions .btn-modal-primary:hover{background:#277743}.modal-overlay .modal-content .modal-actions .btn-modal-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none}.modal-overlay .modal-content .modal-actions .btn-modal-secondary:disabled{opacity:.6;cursor:not-allowed}.modal-overlay .modal-content .modal-actions .btn-modal-secondary{width:100%;background:transparent;color:#6b7280;padding:1rem}.modal-overlay .modal-content .modal-actions .btn-modal-secondary:hover{background:#00000008}.admin-page{max-width:1200px;margin:0 auto;padding:1.5rem;min-height:100vh;background:#f9f9f6}.admin-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.admin-header h1{font-size:1.5rem;font-weight:700;color:#1a1a1a;margin:0}.admin-header .back-btn{background:none;border:none;cursor:pointer;padding:.5rem;color:#6b7280;display:flex;align-items:center}.admin-header .back-btn svg{width:24px;height:24px}.admin-header .back-btn:hover{color:#1a1a1a}.admin-header .spacer{flex:1}.admin-loading{display:flex;justify-content:center;align-items:center;min-height:300px}.admin-loading .spinner{width:40px;height:40px;border:3px solid #E5E7EB;border-top-color:#2d8a4e;border-radius:50%;animation:spin .8s linear infinite}.admin-error{text-align:center;padding:2rem;color:#dc2626;font-size:1.125rem}@keyframes spin{to{transform:rotate(360deg)}}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.admin-stat-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000000f;border:1px solid #E5E7EB;text-align:center;transition:box-shadow .15s ease}.admin-stat-card:hover{box-shadow:0 4px 12px #00000014}.admin-stat-card .stat-icon{font-size:1.8rem;margin-bottom:.5rem}.admin-stat-card .stat-value{font-size:1.5rem;font-weight:700;color:#1a1a1a;line-height:1.2}.admin-stat-card .stat-label{font-size:.875rem;color:#6b7280;margin-top:.25rem}.admin-stat-card.stat-pro .stat-value{color:#2563eb}.admin-stat-card.stat-trial .stat-value{color:#d97706}.admin-stat-card.stat-revenue .stat-value{color:#2d8a4e}.admin-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:2rem}.admin-detail-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000000f;border:1px solid #E5E7EB}.admin-detail-card h3{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #E5E7EB}.admin-detail-card .detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem;color:#6b7280}.admin-detail-card .detail-row:not(:last-child){border-bottom:1px solid rgb(237.647826087,238.9826086957,241.652173913)}.admin-detail-card .detail-row .detail-value{font-weight:600;color:#1a1a1a}.admin-detail-card .detail-row .text-red{color:#dc2626}.admin-nav-section{text-align:center}.admin-nav-section .admin-nav-btn{display:inline-block;background:#2d8a4e;color:#fff;border:none;border-radius:8px;padding:1rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s ease}.admin-nav-section .admin-nav-btn:hover{background:#236b3d}.admin-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.admin-filters .search-form{display:flex;flex:1;min-width:250px;gap:.5rem}.admin-filters .search-form input{flex:1;padding:.5rem 1rem;border:1px solid #E5E7EB;border-radius:8px;font-size:.875rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.admin-filters .search-form input:focus{outline:none;border-color:#2d8a4e}.admin-filters .search-form button{background:#2d8a4e;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:nowrap}.admin-filters .search-form button:hover{background:#236b3d}.admin-filters select{padding:.5rem 1rem;border:1px solid #E5E7EB;border-radius:8px;font-size:.875rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;cursor:pointer;min-width:160px}.admin-filters select:focus{outline:none;border-color:#2d8a4e}.admin-table-wrapper{overflow-x:auto;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000f;border:1px solid #E5E7EB}.admin-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-table th,.admin-table td{padding:.5rem 1rem;text-align:left;border-bottom:1px solid #E5E7EB}.admin-table th{font-weight:600;color:#6b7280;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:#fbfbf9;white-space:nowrap}.admin-table tbody tr{transition:background .15s ease}.admin-table tbody tr:hover{background:#fbfbf9}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table .user-cell .user-name{font-weight:600;color:#1a1a1a}.admin-table .user-cell .user-email{font-size:.75rem;color:#9ca3af}.admin-table .center{text-align:center}.admin-table .empty-row{text-align:center;color:#9ca3af;padding:2rem}.admin-mini-table{width:100%;border-collapse:collapse;font-size:.75rem}.admin-mini-table th,.admin-mini-table td{padding:.25rem .5rem;text-align:left;border-bottom:1px solid rgb(237.647826087,238.9826086957,241.652173913)}.admin-mini-table th{font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.admin-mini-table .mono{font-family:monospace;font-size:.7rem}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap}.badge.badge-gratis{background:#f3f4f6;color:#6b7280}.badge.badge-pro{background:#dbeafe;color:#2563eb}.badge.badge-empresa{background:#fef3c7;color:#b45309}.badge.badge-activo{background:#d1fae5;color:#059669}.badge.badge-suspendido{background:#fee2e2;color:#dc2626}.badge.badge-cancelado{background:#fee2e2;color:#b91c1c}.badge.badge-trial{background:#fef3c7;color:#d97706}.btn-detail{background:transparent;border:1px solid #2D8A4E;color:#2d8a4e;border-radius:8px;padding:4px 12px;font-size:.75rem;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;white-space:nowrap;transition:all .15s ease}.btn-detail:hover{background:#2d8a4e;color:#fff}.admin-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 0}.admin-pagination button{background:#fff;border:1px solid #E5E7EB;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:all .15s ease}.admin-pagination button:hover:not(:disabled){border-color:#2d8a4e;color:#2d8a4e}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-pagination span{font-size:.875rem;color:#6b7280}.admin-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.admin-detail-layout{grid-template-columns:1fr}}.detail-left,.detail-right{display:flex;flex-direction:column;gap:1rem}.admin-action-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000000f;border:1px solid #E5E7EB}.admin-action-card h3{font-size:1rem;font-weight:700;color:#1a1a1a;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #2D8A4E}.action-form .form-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.action-form .form-row label{font-size:.875rem;font-weight:600;color:#6b7280}.action-form .form-row input,.action-form .form-row select,.action-form .form-row textarea{padding:.5rem;border:1px solid #E5E7EB;border-radius:8px;font-size:.875rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.action-form .form-row input:focus,.action-form .form-row select:focus,.action-form .form-row textarea:focus{outline:none;border-color:#2d8a4e}.action-form .form-row textarea{resize:vertical}.action-form .form-row input[type=number]{max-width:100px}.action-form .form-row.checkbox-row{flex-direction:row;align-items:center}.action-form .form-row.checkbox-row label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:500}.action-form .form-row.checkbox-row input[type=checkbox]{width:16px;height:16px}.admin-btn{width:100%;background:#2d8a4e;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .15s ease}.admin-btn:hover:not(:disabled){background:#236b3d}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn.btn-trial{background:#d97706}.admin-btn.btn-trial:hover:not(:disabled){background:#b16105}.action-msg{font-size:.875rem;margin-top:.5rem;padding:.5rem;border-radius:8px;background:#fbfbf9}.notes-history{background:#fbfbf9;border:1px solid #E5E7EB;border-radius:8px;padding:1rem;margin-bottom:1rem;max-height:200px;overflow-y:auto}.notes-history pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.75rem;color:#6b7280;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}.text-muted{color:#9ca3af;font-size:.875rem}.nav-admin{color:#d97706!important}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#f9f9f6;color:#1a1a1a;min-height:100vh;line-height:1.6}a{color:#2d8a4e;text-decoration:none;font-weight:500;transition:opacity .15s ease}a:hover{opacity:.8}.app-container{max-width:480px;margin:0 auto;min-height:100vh;background:#f9f9f6;position:relative}@media(min-width:769px){.app-container{max-width:480px;box-shadow:0 8px 24px #0000001a}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.fade-in{animation:fadeIn .4s ease forwards}.slide-up{animation:slideUp .5s ease forwards}
