:root{--sr-verde:#0e4a3a;--sr-verde-h:#0c3d2f;--sr-verde-light:#ebf2ef;--sr-dorado:#d58b26;--sr-dorado-h:#c47b1f;--sr-bg:#f7f6f3;--sr-borde:#e5e1d8;--sr-gris-bg:#f4f3f0;--sr-gris-borde:#e5e1d8;--sr-gris-texto:#6b7280;--sr-negro:#1a1d23;--sr-muted:#8a8f9e;--sr-radius:10px;--sr-radius-sm:6px;--sr-radius-lg:14px;--sr-shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--sr-font-serif:Georgia, "Times New Roman", serif}.sr-portal{background:var(--sr-bg);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.sr-layout{min-height:calc(100vh - 56px);display:flex}.sr-main{flex-direction:column;flex:1;gap:1rem;min-width:0;padding:1.25rem;display:flex;overflow-y:auto}.sr-header{background:var(--sr-verde);z-index:50;align-items:center;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 1px 8px #00000026}.sr-header-inner{justify-content:space-between;align-items:center;width:100%;max-width:1400px;margin:0 auto;display:flex}.sr-logo{align-items:center;gap:.625rem;display:flex}.sr-logo-mark{background:var(--sr-dorado);border-radius:var(--sr-radius-sm);width:30px;height:30px;font-family:var(--sr-font-serif);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.sr-logo-text{flex-direction:column;display:flex}.sr-logo-title{color:#fff;font-size:.8rem;font-weight:600;line-height:1.2}.sr-logo-sub{color:#ffffff80;font-size:.62rem}.sr-header-link{color:#ffffffa6;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s}.sr-header-link:hover{color:#fff}.sr-sidebar{border-right:1px solid var(--sr-gris-borde);background:#fff;flex-direction:column;flex-shrink:0;width:240px;display:flex;overflow:hidden}.sr-sidebar-header{border-bottom:1px solid var(--sr-gris-borde);padding:.875rem 1rem}.sr-sidebar-label{color:var(--sr-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:700}.sr-sidebar-list{flex:1;padding:.375rem 0;overflow-y:auto}.sr-client-item{text-align:left;cursor:pointer;background:0 0;border:none;border-left:2.5px solid #0000;width:100%;padding:.625rem 1rem;transition:background .1s}.sr-client-item:hover{background:var(--sr-gris-bg)}.sr-client-item.active{background:var(--sr-verde-light);border-left-color:var(--sr-verde)}.sr-client-name{color:var(--sr-negro);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.sr-client-email{color:var(--sr-gris-texto);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.68rem;overflow:hidden}.sr-client-warn{color:#d97706;margin-top:2px;font-size:.62rem}.sr-card{border:.5px solid var(--sr-gris-borde);border-radius:var(--sr-radius-lg);box-shadow:var(--sr-shadow);background:#fff;overflow:hidden}.sr-client-header{align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.sr-avatar{background:var(--sr-verde);border-radius:var(--sr-radius);width:44px;height:44px;font-family:var(--sr-font-serif);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.sr-client-info{flex:1;min-width:0}.sr-client-name-lg{color:var(--sr-negro);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.sr-client-email-lg{color:var(--sr-gris-texto);margin-top:1px;font-size:.75rem}.sr-exp-badge{border-radius:4px;margin-top:.375rem;padding:2px 8px;font-size:.68rem;font-weight:600;display:inline-block}.sr-exp-badge.ok{color:#166534;background:#dcfce7}.sr-exp-badge.warn{color:#92400e;background:#fef3c7}.sr-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.375rem;display:flex}.sr-tabs{border-bottom:1px solid var(--sr-gris-borde);scrollbar-width:none;background:#fff;padding:0 .25rem;display:flex;overflow-x:auto}.sr-tabs::-webkit-scrollbar{display:none}.sr-tab{color:var(--sr-gris-texto);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:.375rem;padding:.75rem .875rem;font-size:.75rem;font-weight:500;transition:color .15s,border-color .15s;display:flex;position:relative}.sr-tab:hover{color:var(--sr-negro)}.sr-tab.active{color:var(--sr-verde);border-bottom-color:var(--sr-verde);font-weight:600}.sr-tab-badge{color:#fff;background:#ef4444;border-radius:99px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 3px;font-size:.6rem;font-weight:700;display:flex}.sr-btn{border-radius:var(--sr-radius-sm);border:1px solid var(--sr-gris-borde);cursor:pointer;color:var(--sr-negro);white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:.375rem;padding:.5rem .875rem;font-size:.78rem;font-weight:600;line-height:1;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.sr-btn:disabled{opacity:.4;cursor:not-allowed}.sr-btn-primary{background:var(--sr-verde);border-color:var(--sr-verde);color:#fff}.sr-btn-primary:hover:not(:disabled){background:var(--sr-verde-h);border-color:var(--sr-verde-h)}.sr-btn-gold{background:var(--sr-dorado);border-color:var(--sr-dorado);color:#fff}.sr-btn-gold:hover:not(:disabled){background:var(--sr-dorado-h);border-color:var(--sr-dorado-h)}.sr-btn-outline{border-color:var(--sr-gris-borde);color:var(--sr-negro);background:#fff}.sr-btn-outline:hover:not(:disabled){border-color:var(--sr-verde);color:var(--sr-verde)}.sr-btn-ghost{color:var(--sr-gris-texto);background:0 0;border-color:#0000}.sr-btn-ghost:hover:not(:disabled){background:var(--sr-gris-bg);color:var(--sr-negro)}.sr-btn-danger-ghost{color:#9ca3af;background:0 0;border-color:#0000;padding:.25rem .5rem;font-size:.875rem}.sr-btn-danger-ghost:hover:not(:disabled){color:#ef4444;border-radius:var(--sr-radius-sm);background:#fef2f2}.sr-btn-sm{padding:.35rem .625rem;font-size:.7rem}.sr-btn-lg{padding:.625rem 1rem;font-size:.8rem}.sr-btn-full{justify-content:center;width:100%}.sr-input,.sr-search{border:1px solid var(--sr-gris-borde);border-radius:var(--sr-radius-sm);width:100%;color:var(--sr-negro);background:#fff;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.8rem;transition:border-color .15s,box-shadow .15s}.sr-input:focus,.sr-search:focus{border-color:var(--sr-verde);box-shadow:0 0 0 3px #0e4a3a14}.sr-search{background:var(--sr-gris-bg);padding:.375rem .625rem;font-size:.75rem}.sr-label{color:var(--sr-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem;font-size:.65rem;font-weight:700;display:block}.sr-field{flex-direction:column;gap:.25rem;display:flex}.sr-form-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.sr-form-grid .span-2{grid-column:span 2}.sr-badge{border-radius:99px;padding:2px 8px;font-size:.68rem;font-weight:700}.sr-badge-danger{color:#991b1b;background:#fee2e2}.sr-badge-warning{color:#92400e;background:#fef3c7}.sr-chip{border-radius:99px;align-items:center;padding:1px 7px;font-size:.65rem;font-weight:600;line-height:1.5;display:inline-flex}.sr-chip-verde{background:var(--sr-verde-light);color:var(--sr-verde)}.sr-chip-amber{color:#92400e;background:#fef3c7}.sr-chip-gray{color:#4b5563;background:#f3f4f6}.sr-chip-green{color:#166534;background:#dcfce7}.sr-toast{z-index:9999;border-radius:var(--sr-radius);white-space:nowrap;padding:.625rem 1.125rem;font-size:.8rem;font-weight:600;animation:.2s sr-fadein;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000026}.sr-toast.ok{background:var(--sr-verde);color:#fff}.sr-toast.err{color:#fff;background:#dc2626}@keyframes sr-fadein{0%{opacity:0;transform:translate(-50%)translateY(-8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.sr-modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.sr-modal{border-radius:var(--sr-radius-lg);background:#fff;width:100%;max-width:420px;overflow:hidden;box-shadow:0 20px 60px #0003}.sr-modal-header{border-bottom:1px solid var(--sr-gris-borde);justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.sr-modal-body{flex-direction:column;gap:.875rem;padding:1.25rem;display:flex}.sr-info-box{border-radius:var(--sr-radius);align-items:flex-start;gap:.625rem;padding:.75rem 1rem;font-size:.75rem;line-height:1.5;display:flex}.sr-info-box.verde{background:var(--sr-verde-light);color:var(--sr-negro);border:1px solid #0e4a3a1f}.sr-info-box.amber{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.sr-info-box.green{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.sr-info-box.gray{color:var(--sr-gris-texto);border:1px solid var(--sr-gris-borde);background:#f9fafb}.sr-panel-title{color:var(--sr-negro);font-size:.875rem;font-weight:700;font-family:var(--sr-font-serif)}.sr-panel-sub{color:var(--sr-gris-texto);margin-top:2px;font-size:.72rem}.sr-empty{text-align:center;padding:2rem 1rem}.sr-empty-title{color:#9ca3af;font-size:.8rem}.sr-empty-sub{color:#9ca3af;font-size:.75rem}.sr-chat-area{background:var(--sr-gris-bg);border-radius:var(--sr-radius);scroll-behavior:smooth;flex-direction:column;height:320px;margin-bottom:.75rem;padding:1rem;display:flex;overflow-y:auto}.sr-msg-bubble{border-radius:14px;max-width:78%;padding:.5rem .875rem;font-size:.82rem;line-height:1.5}.sr-msg-bubble.client{border:1px solid var(--sr-gris-borde);color:var(--sr-negro);background:#fff;border-bottom-left-radius:3px}.sr-msg-bubble.despacho{background:var(--sr-verde);color:#fff;border-bottom-right-radius:3px}.sr-msg-time{text-align:right;margin-top:3px;font-size:.6rem}.sr-msg-time.client{color:#9ca3af}.sr-msg-time.despacho{color:#ffffff8c}.sr-date-sep{align-items:center;gap:.5rem;margin:.75rem 0;display:flex}.sr-date-sep-line{background:var(--sr-gris-borde);flex:1;height:1px}.sr-date-sep-label{color:var(--sr-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.62rem;font-weight:700}.sr-doc-item{border:.5px solid var(--sr-gris-borde);border-radius:var(--sr-radius);background:#fff;align-items:center;gap:.75rem;margin-bottom:.375rem;padding:.625rem .875rem;display:flex}.sr-doc-item.cliente-origen{background:#fefbf5;border-color:#f0e8d8}.sr-doc-icon{background:var(--sr-gris-bg);border-radius:var(--sr-radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.sr-task-item{border:.5px solid var(--sr-gris-borde);border-radius:var(--sr-radius);background:#fff;align-items:flex-start;gap:.75rem;margin-bottom:.375rem;padding:.75rem;display:flex}.sr-task-item.done{background:#f0fdf4;border-color:#bbf7d0}.sr-firma-item{border:.5px solid var(--sr-gris-borde);border-radius:var(--sr-radius);background:#fff;align-items:flex-start;gap:.75rem;margin-bottom:.375rem;padding:.75rem;display:flex}.sr-firma-item.firmado{background:#f0fdf4;border-color:#bbf7d0}.sr-pago-pending{border-radius:var(--sr-radius);background:#fef3c7;border:1px solid #fde68a;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.375rem;padding:.75rem;display:flex}.sr-pago-paid{border-radius:var(--sr-radius);background:#f0fdf4;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.5rem .75rem;display:flex}.sr-activity-item{border:.5px solid var(--sr-gris-borde);border-radius:var(--sr-radius);background:#fff;align-items:flex-start;gap:.75rem;margin-bottom:.375rem;padding:.625rem;display:flex}.sr-dropzone{border:2px dashed var(--sr-gris-borde);border-radius:var(--sr-radius-lg);text-align:center;cursor:pointer;background:0 0;width:100%;padding:1.5rem;transition:border-color .15s,background .15s}.sr-dropzone:hover{border-color:var(--sr-verde);background:var(--sr-verde-light)}.sr-modulo-row{border-bottom:.5px solid var(--sr-gris-borde);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.sr-modulo-row:last-child{border-bottom:none}.sr-modulo-icon{flex-shrink:0;font-size:1.25rem}.sr-modulo-info{flex:1;min-width:0}.sr-modulo-name{color:var(--sr-negro);font-size:.8rem;font-weight:600}.sr-modulo-desc{color:var(--sr-gris-texto);margin-top:1px;font-size:.7rem}.sr-toggle{cursor:pointer;border:none;border-radius:99px;flex-shrink:0;width:36px;height:20px;padding:0;transition:background .2s;position:relative}.sr-toggle.on{background:var(--sr-verde)}.sr-toggle.off{background:#d1d5db}.sr-toggle:disabled{opacity:.4;cursor:not-allowed}.sr-toggle-thumb{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .2s;display:block;position:absolute;top:3px;box-shadow:0 1px 3px #0003}.sr-toggle.on .sr-toggle-thumb{left:19px}.sr-toggle.off .sr-toggle-thumb{left:3px}.sr-member-card{border:.5px solid var(--sr-gris-borde);border-radius:var(--sr-radius);background:#fff;overflow:hidden}.sr-member-card-header{align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex}.sr-member-avatar{background:var(--sr-gris-bg);border-radius:var(--sr-radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;display:flex}.sr-member-perms{background:var(--sr-gris-bg);border-top:1px solid var(--sr-gris-borde);padding:.875rem 1rem}.sr-perm-btn{border-radius:var(--sr-radius-sm);cursor:pointer;text-align:left;border:1px solid;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.7rem;transition:background .15s;display:flex}.sr-perm-btn.on{background:var(--sr-verde-light);color:var(--sr-verde);border-color:#0e4a3a33}.sr-perm-btn.off{border-color:var(--sr-gris-borde);color:var(--sr-gris-texto);background:#fff}.sr-perm-btn:hover{opacity:.85}.sr-plantilla-btn{border:.5px solid var(--sr-gris-borde);border-radius:var(--sr-radius-sm);color:var(--sr-negro);cursor:pointer;text-align:left;background:#fff;align-items:center;gap:.5rem;padding:.375rem .625rem;font-size:.72rem;transition:background .1s;display:flex}.sr-plantilla-btn:hover{background:var(--sr-verde-light);border-color:#0e4a3a33}.portal-admin,.portal-cliente{background:var(--sr-bg)}.portal-admin h1,.portal-admin h2.font-serif,.portal-cliente h1,.portal-cliente h2.font-serif{font-family:var(--sr-font-serif)}.portal-admin .rounded-2xl,.portal-cliente .rounded-2xl{border-radius:var(--sr-radius-lg)}.portal-admin .rounded-xl,.portal-cliente .rounded-xl{border-radius:var(--sr-radius)}.portal-cliente .border-\[\#E8E4DC\]{border-color:var(--sr-borde)}.portal-cliente .flex.overflow-x-auto button{padding-left:.875rem;padding-right:.875rem;font-size:.75rem}.portal-cliente .border-\[\#0E4A3A\].text-\[\#0E4A3A\]{background:#0e4a3a06}.portal-cliente .w-full.py-3.bg-\[\#0E4A3A\]{border-radius:var(--sr-radius);letter-spacing:.01em;font-size:.8rem}.portal-cliente input[type=text],.portal-cliente input[type=email],.portal-cliente select,.portal-cliente textarea{border-radius:var(--sr-radius-sm);border-color:var(--sr-borde);font-size:.8rem}.portal-cliente input:focus,.portal-cliente select:focus,.portal-cliente textarea:focus{border-color:var(--sr-verde);outline:none;box-shadow:0 0 0 3px #0e4a3a14}.portal-cliente .fixed.top-4{border-radius:var(--sr-radius);font-size:.8rem;box-shadow:0 4px 16px #00000026}.portal-admin *,.portal-cliente *{scrollbar-width:thin;scrollbar-color:var(--sr-borde) transparent}.portal-cliente nav.fixed.bottom-0{border-top-color:var(--sr-borde);-webkit-backdrop-filter:blur(12px)}.portal-cliente h2.text-xl{font-family:var(--sr-font-serif);color:var(--sr-verde);font-size:1.1rem;font-weight:700}.portal-cliente .w-9.h-9.rounded-full{width:32px;height:32px}.portal-cliente .text-xs.font-semibold.text-\[\#9CA3AF\].uppercase{padding-left:.75rem;position:relative}.portal-cliente .text-xs.font-semibold.text-\[\#9CA3AF\].uppercase:before{content:"";background:var(--sr-dorado);border-radius:2px;width:3px;height:12px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.portal-cliente .bg-white.rounded-2xl.shadow-sm.border{border-color:var(--sr-borde);border-radius:var(--sr-radius-lg)}.portal-cliente .flex.flex-wrap.gap-2 button,.portal-cliente .flex.flex-wrap.gap-1\.5 button{border-radius:var(--sr-radius-sm);font-size:.7rem}.portal-admin .shadow-2xl,.portal-cliente .shadow-2xl{box-shadow:0 20px 60px #0000002e}@media (max-width:640px){.portal-admin .p-5,.portal-cliente .p-5{padding:1rem}.sr-sidebar{display:none}.sr-layout{flex-direction:column}}
