:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--primary:#3b82f6;--primary-dark:#2563eb;--primary-light:#60a5fa;--secondary:#1e293b;--background:#fff;--surface:#f8fafc;--surface-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--border:#e2e8f0;--error:#ef4444;--info:#3b82f6}[data-theme=oscuro]{--primary:#dc2626;--primary-dark:#991b1b;--primary-light:#f87171;--secondary:#1f2937;--background:#111827;--surface:#1f2937;--surface-hover:#374151;--text-primary:#f9fafb;--text-secondary:#9ca3af;--border:#374151;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;background-color:var(--background);color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;transition:background-color .3s ease,color .3s ease}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:#3b82f6;background:var(--primary);color:#fff}.btn-primary:hover{background:#2563eb;background:var(--primary-dark)}.btn-secondary{background:#f8fafc;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);color:#0f172a;color:var(--text-primary)}.btn-secondary:hover{background:#f1f5f9;background:var(--surface-hover)}.btn-danger{background:#ef4444;background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626}.btn-warning{background:#ea580c;color:#fff}.btn-warning:hover{background:#c2410c}.btn-success{background:#10b981;background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-sm{font-size:.8125rem;padding:.375rem .75rem}.card{background:#f8fafc;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:1.5rem;transition:all .2s}.card:hover{box-shadow:0 4px 12px #0000001a}.card-title{color:#0f172a;color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-weight:600;margin-bottom:.5rem}.form-input,.form-label,.form-select,.form-textarea{color:#0f172a;color:var(--text-primary);font-size:.875rem}.form-input,.form-select,.form-textarea{background:#fff;background:var(--background);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;padding:.625rem .875rem;transition:all .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}[data-theme=oscuro] .form-input:focus,[data-theme=oscuro] .form-select:focus,[data-theme=oscuro] .form-textarea:focus{box-shadow:0 0 0 3px #dc26261a}.form-textarea{min-height:100px;resize:vertical}.table-container{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;overflow-x:auto}.table{background:#f8fafc;background:var(--surface);border-collapse:collapse;width:100%}.table th{background:#fff;background:var(--background);color:#64748b;color:var(--text-secondary);font-size:.8125rem;font-weight:600;text-align:left;text-transform:uppercase}.table td,.table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);padding:.875rem 1rem}.table td{color:#0f172a;color:var(--text-primary)}.table tbody tr:hover{background:#f1f5f9;background:var(--surface-hover)}.table tbody tr:last-child td{border-bottom:none}.badge{padding:.25rem .625rem}.badge-success{background:#10b9811a;color:#10b981}.badge-warning{background:#f59e0b1a;color:#f59e0b}.badge-danger{background:#ef44441a}.badge-info{background:#3b82f61a;color:#3b82f6}.modal-overlay{align-items:center;animation:fadeIn .2s;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{animation:slideUp .3s;background:#f8fafc;background:var(--surface);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1.5rem}.modal-title{font-size:1.25rem;font-weight:700}.modal-body,.modal-footer{padding:1.5rem}.modal-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-3{gap:1.5rem}.loading{animation:spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.card{padding:1rem}.modal{width:95%}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.grid-2{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media (max-width:768px){.grid-2{grid-template-columns:1fr}}.modal-large{max-height:90vh;max-width:900px;overflow-y:auto;width:90%}@media (max-width:968px){.modal-large{max-height:95vh;max-width:100%;width:95%}}.form-input:disabled{background-color:#fff;background-color:var(--background);cursor:not-allowed;opacity:.6}.badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-align:center}.badge-success{background-color:#22c55e1a;color:#22c55e}.badge-secondary{background-color:#6b72801a;color:#6b7280}.badge-danger{background-color:#ef44441a;color:#ef4444}@media (max-width:768px){.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{min-width:600px}}.grid-responsive{display:grid;grid-template-columns:repeat(2,1fr)}@media (max-width:640px){.grid-responsive{grid-template-columns:1fr}.card{border-radius:10px;padding:1rem}.card-title{font-size:1rem}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:16px 16px 0 0;margin:0;max-height:93vh;max-width:100%;width:100%}.modal-body,.modal-footer,.modal-header{padding:1rem 1.25rem}.modal-footer{flex-direction:column-reverse;gap:.5rem}.modal-footer .btn{justify-content:center;width:100%}.modal-title{font-size:1.05rem}.btn{font-size:.8125rem;padding:.55rem 1rem}.btn-sm{font-size:.75rem;padding:.35rem .65rem}.form-row{grid-template-columns:1fr}}@media (min-width:641px) and (max-width:968px){.modal{max-height:90vh;width:92%}}:root{--accent:#6366f1;--accent-dark:#4f46e5;--accent-light:#e0e7ff;--accent-soft:#f0f0ff;--surface:#fff;--surface-2:#f8f9fb;--surface-3:#f1f3f7;--background:#f4f5f9;--border:#e4e6ed;--border-soft:#edf0f5;--text-primary:#111827;--text-secondary:#6b7280;--text-hint:#9ca3af;--success:#10b981;--success-bg:#ecfdf5;--success-border:#a7f3d0;--warning:#f59e0b;--warning-bg:#fffbeb;--danger:#ef4444;--danger-bg:#fef2f2;--danger-border:#fecaca;--sidebar-width:240px;--sidebar-collapsed-w:68px;--navbar-h:62px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--shadow-sm:0 1px 3px #0000000f,0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--transition:0.25s cubic-bezier(.4,0,.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f4f5f9;background:var(--background);color:#111827;color:var(--text-primary);font-family:DM Sans,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}.layout{display:flex;flex-direction:column;min-height:100vh}.navbar{align-items:center;background:#fff;background:var(--surface);border-bottom:1px solid #e4e6ed;border-bottom:1px solid var(--border);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);display:flex;height:62px;height:var(--navbar-h);justify-content:space-between;left:240px;left:var(--sidebar-width);padding:0 1.5rem 0 1.25rem;position:fixed;right:0;top:0;transition:left .25s cubic-bezier(.4,0,.2,1);transition:left var(--transition);z-index:100}.layout:has(.sidebar.collapsed) .navbar{left:68px;left:var(--sidebar-collapsed-w)}.navbar-left{align-items:center;display:flex;gap:.875rem}.menu-toggle{align-items:center;background:none;border:1px solid #e4e6ed;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:none;height:36px;justify-content:center;padding:0;transition:background .25s cubic-bezier(.4,0,.2,1);transition:background var(--transition);width:36px}.menu-toggle:hover{background:#f1f3f7;background:var(--surface-3)}.hamburger-icon{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center}.hamburger-icon span{background:#6b7280;background:var(--text-secondary);border-radius:2px;display:block;height:2px;width:16px}.navbar-brand{color:#6366f1;color:var(--accent);font-size:1.5rem;font-weight:700;line-height:1;margin:0;white-space:nowrap}.navbar-right{gap:.625rem}.icon-btn,.navbar-right{align-items:center;display:flex}.icon-btn{background:#f8f9fb;background:var(--surface-2);border:1px solid #e4e6ed;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;font-size:15px;height:36px;justify-content:center;transition:background .25s cubic-bezier(.4,0,.2,1),border-color .25s cubic-bezier(.4,0,.2,1);transition:background var(--transition),border-color var(--transition);width:36px}.icon-btn:hover{background:#f1f3f7;background:var(--surface-3);border-color:#e4e6ed;border-color:var(--border)}.plan-badge{align-items:center;animation:fadeSlideIn .3s ease;border:1px solid;border-radius:20px;border-radius:var(--radius-xl);display:flex;font-size:.8125rem;font-weight:500;gap:.4rem;padding:.35rem .875rem}.plan-badge--ok{background:#ecfdf5;background:var(--success-bg);border-color:#a7f3d0;border-color:var(--success-border);color:#065f46}.plan-badge--warning{animation:softPulse 1.8s ease infinite}.plan-badge--expired,.plan-badge--warning{background:#fef2f2;background:var(--danger-bg);border-color:#fecaca;border-color:var(--danger-border);color:#b91c1c}.plan-badge--grace{animation:softPulse 1.8s ease infinite;background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.plan-badge__icon{font-size:1rem}.plan-badge__days{font-weight:700}.plan-badge__label{font-size:.75rem}.plan-badge__cta{background:#fff;border:1px solid;border-radius:4px;color:inherit;font-size:.7rem;font-weight:700;margin-left:.375rem;padding:.2rem .5rem;text-decoration:none;transition:background .25s cubic-bezier(.4,0,.2,1);transition:background var(--transition)}.plan-badge__cta:hover{background:#fef2f2;background:var(--danger-bg)}.superadmin-pill{align-items:center;align-self:flex-start;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:20px;border-radius:var(--radius-xl);color:#fff;display:inline-flex;font-size:.72rem;font-weight:700;gap:.3rem;letter-spacing:.2px;margin-top:2px;padding:.25rem .65rem}.whatsapp-code{align-items:center;background:#f8f9fb;background:var(--surface-2);border:1px solid #e4e6ed;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#6b7280;color:var(--text-secondary);display:flex;font-size:.75rem;gap:.4rem;padding:.35rem .75rem}.whatsapp-code strong{color:#111827;color:var(--text-primary)}.nav-divider{background:#e4e6ed;background:var(--border);height:26px;margin:0 .25rem;width:1px}.user-chip{align-items:center;background:#f8f9fb;background:var(--surface-2);border:1px solid #e4e6ed;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);cursor:default;display:flex;gap:.625rem;padding:.3rem .75rem .3rem .3rem;transition:background .25s cubic-bezier(.4,0,.2,1);transition:background var(--transition)}.user-chip:hover{background:#f1f3f7;background:var(--surface-3)}.user-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:30px;justify-content:center;letter-spacing:.5px;width:30px}.user-info{align-items:flex-start;display:flex;flex-direction:column}.user-name{color:#111827;color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.2}.user-role{color:#9ca3af;color:var(--text-hint);font-size:11px;line-height:1.2}.logout-btn{background:#f8f9fb;background:var(--surface-2);border:1px solid #e4e6ed;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#6b7280;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:.45rem .875rem;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.logout-btn:hover{background:#fef2f2;background:var(--danger-bg);border-color:#fecaca;border-color:var(--danger-border);color:#ef4444;color:var(--danger)}.sidebar{background:#fff;background:var(--surface);border-right:1px solid #e4e6ed;border-right:1px solid var(--border);box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:100vh;left:0;overflow-x:visible;overflow-y:auto;position:fixed;scrollbar-color:#e4e6ed #0000;scrollbar-color:var(--border) #0000;scrollbar-width:thin;top:0;transition:width .25s cubic-bezier(.4,0,.2,1);transition:width var(--transition);width:240px;width:var(--sidebar-width);z-index:90}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#e4e6ed;background:var(--border);border-radius:4px}.sidebar.collapsed{width:68px;width:var(--sidebar-collapsed-w)}.sidebar-header{align-items:center;border-bottom:1px solid #e4e6ed;border-bottom:1px solid var(--border);cursor:pointer;display:flex;flex-shrink:0;gap:.65rem;height:62px;padding:0 1.25rem;transition:background .25s cubic-bezier(.4,0,.2,1);transition:background var(--transition);-webkit-user-select:none;user-select:none}.sidebar-header:hover{background:#f1f3f7;background:var(--surface-3)}.sidebar-brand-icon{flex-shrink:0;font-size:1.35rem;line-height:1}.sidebar-brand-info{display:flex;flex:1 1;flex-direction:column;gap:.2rem;min-width:0;overflow:hidden}.sidebar-brand-name{color:#3b82f6;color:var(--primary,#3b82f6);font-size:15px;font-weight:700;letter-spacing:-.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-brand-arrow{color:#6b7280;color:var(--text-secondary);flex-shrink:0;font-size:13px;margin-left:auto;opacity:.4}.tenant-plan-badge{align-self:flex-start;background:#e0e7ff;background:var(--accent-light);border-radius:20px;border-radius:var(--radius-xl);color:#4f46e5;color:var(--accent-dark);display:inline-block;font-size:10.5px;font-weight:600;padding:.15rem .55rem;white-space:nowrap}.sidebar-bottom{border-top:1px solid #e4e6ed;border-top:1px solid var(--border);flex-shrink:0;margin-top:auto;padding:8px 8px 12px}.sidebar-superadmin-chip{align-items:center;background:linear-gradient(135deg,#f0f0ff,#e8e8ff);border:1px solid #d4d4f7;border-radius:10px;border-radius:var(--radius-md);cursor:default;display:flex;gap:10px;padding:8px 12px}.sidebar-superadmin-crown{flex-shrink:0;font-size:1.2rem;line-height:1}.sidebar-superadmin-info{display:flex;flex-direction:column;overflow:hidden}.sidebar-superadmin-name{color:#4f46e5;font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-superadmin-role{color:#6366f1;font-size:11px;font-weight:600}.sidebar.collapsed .sidebar-superadmin-chip{background:#0000;border:none;justify-content:center;padding:10px 0}.sidebar-user-chip{align-items:center;background:#f8f9fb;background:var(--surface-2);border:1px solid #e4e6ed;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);display:flex;gap:10px;padding:8px 12px}.sidebar-user-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:30px;justify-content:center;letter-spacing:.5px;width:30px}.sidebar-user-info{display:flex;flex-direction:column;overflow:hidden}.sidebar-user-name{color:#111827;color:var(--text-primary);font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{color:#9ca3af;color:var(--text-hint);font-size:11px}.sidebar.collapsed .sidebar-user-chip{background:#0000;border:none;justify-content:center;padding:8px 0}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:.75rem .625rem}.sidebar-link{align-items:center;border-radius:10px;border-radius:var(--radius-md);color:#6b7280;color:var(--text-secondary);display:flex;font-size:13.5px;font-weight:500;gap:.625rem;padding:.65rem .875rem;position:relative;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);transition:all var(--transition);white-space:nowrap}.sidebar-link:hover{background:#f1f3f7;background:var(--surface-3);color:#111827;color:var(--text-primary)}.sidebar-link.active{background:#f0f0ff;background:var(--accent-soft);color:#6366f1;color:var(--accent);font-weight:600}.sidebar-link.active:before{background:#6366f1;background:var(--accent);border-radius:0 3px 3px 0;content:"";height:18px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.sidebar-icon{flex-shrink:0;font-size:1.15rem;min-width:22px;text-align:center}.sidebar-link-label{overflow:hidden;text-overflow:ellipsis}.sidebar-link--sub{font-size:13px}.sidebar.collapsed .sidebar-link{gap:0;justify-content:center;padding:.75rem 0}.sidebar.collapsed .sidebar-link:before{display:none}.sidebar.collapsed .sidebar-link.active{background:#f0f0ff;background:var(--accent-soft)}.sidebar.collapsed .sidebar-link-label{display:none}.sidebar.collapsed .sidebar-icon{font-size:1.35rem}.sidebar.collapsed .sidebar-link{position:relative}.sidebar.collapsed .sidebar-link:hover:after{background:#1f2937;border-radius:6px;border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;content:attr(title);font-family:inherit;font-size:12.5px;left:76px;left:calc(var(--sidebar-collapsed-w) + 8px);padding:.4rem .875rem;pointer-events:none;position:fixed;white-space:nowrap;z-index:1000}.sidebar-divider{margin:.5rem}.sidebar-divider,.sidebar-divider-mini{border:none;border-top:1px solid #edf0f5;border-top:1px solid var(--border-soft)}.sidebar-divider-mini{margin:.5rem .75rem}.sidebar-section-header{align-items:center;border-radius:10px;border-radius:var(--radius-md);color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13.5px;font-weight:600;justify-content:space-between;padding:.6rem .875rem;transition:background .25s cubic-bezier(.4,0,.2,1),color .25s cubic-bezier(.4,0,.2,1);transition:background var(--transition),color var(--transition);-webkit-user-select:none;user-select:none}.sidebar-section-header:hover{background:#f1f3f7;background:var(--surface-3);color:#111827;color:var(--text-primary)}.sidebar-section-inner{align-items:center;display:flex;gap:.625rem}.sidebar-section-arrow{color:#9ca3af;color:var(--text-hint);display:inline-block;font-size:12px;transition:transform .25s cubic-bezier(.4,0,.2,1);transition:transform var(--transition)}.sidebar-section-arrow.open{transform:rotate(180deg)}.sidebar.collapsed .sidebar-section-header{justify-content:center;padding:.75rem 0}.sidebar.collapsed .sidebar-section-inner{gap:0}.sidebar.collapsed .sidebar-section-arrow,.sidebar.collapsed .sidebar-section-header span:not(.sidebar-icon),.sidebar.collapsed .sidebar-submenu{display:none}.sidebar.collapsed .sidebar-section-header{position:relative}.sidebar.collapsed .sidebar-section-header:hover:after{background:#1f2937;border-radius:6px;border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000014;box-shadow:var(--shadow-md);color:#fff;content:attr(title);font-family:inherit;font-size:12.5px;left:76px;left:calc(var(--sidebar-collapsed-w) + 8px);padding:.4rem .875rem;pointer-events:none;position:fixed;white-space:nowrap;z-index:1000}.sidebar-submenu{overflow:hidden;transition:max-height .3s ease}.sidebar-submenu.open{max-height:600px}.sidebar-submenu.closed{max-height:0}.main-content{background:#f4f5f9;background:var(--background);margin-left:240px;margin-left:var(--sidebar-width);margin-top:62px;margin-top:var(--navbar-h);min-height:calc(100vh - 62px);min-height:calc(100vh - var(--navbar-h));padding:2rem;transition:margin-left .25s cubic-bezier(.4,0,.2,1);transition:margin-left var(--transition)}.main-content.sidebar-collapsed{margin-left:68px;margin-left:var(--sidebar-collapsed-w)}.sidebar-overlay{display:none}@keyframes fadeSlideIn{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes softPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.015)}}body:has(.dark-mode),html:has(.dark-mode){background:#0c0e12!important;color:#e8eaf0}.dark-mode{--surface:#10131a;--surface-2:#13161f;--surface-3:#1a1d26;--background:#0c0e12;--border:#1e2330;--border-soft:#181b26;--text-primary:#e8eaf0;--text-secondary:#9ca3af;--text-hint:#6b7280;--accent:#6366f1;--accent-dark:#4f46e5;--accent-light:#1e234a;--accent-soft:#1a2035;--shadow-sm:0 1px 4px #0006;--shadow-md:0 4px 16px #00000080}.dark-mode .navbar{background:#10131a;border-bottom:1px solid #1e2330;box-shadow:none}.dark-mode .navbar-brand{color:#7c9ef5}.dark-mode .icon-btn{background:#13161f;border-color:#1e2330;color:#9ca3af}.dark-mode .icon-btn:hover{background:#1a1d26;color:#e8eaf0}.dark-mode .user-chip{background:#13161f;border-color:#1e2330}.dark-mode .user-name{color:#e8eaf0}.dark-mode .user-role{color:#6b7280}.dark-mode .nav-divider{background:#1e2330}.dark-mode .logout-btn{background:#13161f;border-color:#1e2330;color:#9ca3af}.dark-mode .logout-btn:hover{background:#1a1d26;border-color:#2e3a50;color:#e8eaf0}.dark-mode .sidebar{background:#10131a;border-right:1px solid #1e2330}.dark-mode .sidebar-header{border-bottom:1px solid #1e2330}.dark-mode .sidebar-header:hover{background:#13161f}.dark-mode .sidebar-brand-name{color:#7c9ef5}.dark-mode .sidebar-brand-arrow{color:#4a5268}.dark-mode .sidebar-link{color:#6b7280}.dark-mode .sidebar-link:hover{background:#13161f;color:#e8eaf0}.dark-mode .sidebar-link.active{background:#1a2035;color:#7c9ef5}.dark-mode .sidebar-link.active:before{background:#6366f1}.dark-mode .sidebar-section-header{color:#6b7280}.dark-mode .sidebar-section-header:hover{background:#13161f;color:#e8eaf0}.dark-mode .sidebar-divider,.dark-mode .sidebar-divider-mini{border-top-color:#1e2330}.dark-mode .sidebar-bottom{border-top:1px solid #1e2330}.dark-mode .sidebar-user-chip{background:#1a1d26;border-color:#1e2330}.dark-mode .sidebar-user-name{color:#d1d5db}.dark-mode .sidebar-user-role{color:#6b7280}.dark-mode .sidebar-superadmin-chip{background:#1a1d26;border:1px solid #1e2330}.dark-mode .sidebar-superadmin-name{color:#d1d5db}.dark-mode .sidebar-superadmin-role{color:#9ca3af}.dark-mode .sidebar.collapsed .sidebar-superadmin-chip{background:#0000;border:none}.dark-mode .tenant-plan-badge{background:#1a2035;color:#7c9ef5}.dark-mode .sidebar.collapsed .sidebar-link:hover:after,.dark-mode .sidebar.collapsed .sidebar-section-header:hover:after{background:#1f2937;border:none;color:#e8eaf0}.dark-mode .main-content{background:#0c0e12}.dark-mode .main-content h1,.dark-mode .main-content h2,.dark-mode .main-content h3,.dark-mode .main-content h4,.dark-mode .main-content h5,.dark-mode .main-content h6{color:#e8eaf0}.dark-mode .main-content label,.dark-mode .main-content p,.dark-mode .main-content span{color:#9ca3af}.dark-mode .main-content b,.dark-mode .main-content strong{color:#e8eaf0}.dark-mode .main-content .bg-white,.dark-mode .main-content [style*="background-color: #fff"],.dark-mode .main-content [style*="background-color: white"],.dark-mode .main-content [style*="background: #fff"],.dark-mode .main-content [style*="background: white"],.dark-mode .main-content [style*="background:#fff"]{background-color:#10131a!important;color:#e8eaf0!important}.dark-mode .main-content table{border-color:#1e2330}.dark-mode .main-content th{background:#13161f;border-color:#1e2330;color:#9ca3af}.dark-mode .main-content td{border-color:#1e2330;color:#d1d5db}.dark-mode .main-content tr:hover td{background:#13161f}.dark-mode .main-content input,.dark-mode .main-content select,.dark-mode .main-content textarea{background:#13161f!important;border-color:#1e2330!important;color:#e8eaf0!important}.dark-mode .main-content input::placeholder,.dark-mode .main-content textarea::placeholder{color:#6b7280}.dark-mode .main-content .card,.dark-mode .main-content [class*=card],.dark-mode .main-content [class*=panel]{background:#10131a!important;border-color:#1e2330!important;color:#e8eaf0!important}@media (max-width:968px){.menu-toggle{display:flex}.navbar{left:0!important}.sidebar{transform:translateX(-100%);width:240px!important;width:var(--sidebar-width)!important}.sidebar.open{transform:translateX(0)}.sidebar.collapsed.open{width:240px!important;width:var(--sidebar-width)!important}.sidebar.collapsed.open .sidebar-link{gap:.625rem;justify-content:flex-start;padding:.65rem .875rem}.sidebar.collapsed.open .sidebar-link-label{display:inline}.sidebar.collapsed.open .sidebar-section-header{justify-content:space-between;padding:.6rem .875rem}.sidebar.collapsed.open .sidebar-section-inner{gap:.625rem}.sidebar.collapsed.open .sidebar-section-header span{display:inline!important}.sidebar.collapsed.open .sidebar-section-arrow{display:inline-block!important}.sidebar.collapsed.open .sidebar-submenu{display:block!important}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:80}.main-content,.main-content.sidebar-collapsed{margin-left:0!important}.nav-divider,.user-info,.whatsapp-code{display:none}}@media (max-width:560px){.navbar{gap:.5rem;padding:0 1rem}.plan-badge__label{display:none}.plan-badge{padding:.3rem .6rem}.logout-btn{font-size:12px;padding:.4rem .6rem}.main-content{padding:1rem}}.page-header{align-items:center;display:flex;flex-wrap:nowrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.page-header>div:first-child{flex:1 1;min-width:0}.page-header h2{color:#111827;color:var(--text-primary);font-size:1.375rem;font-weight:700;margin:0}.page-subtitle{color:#6b7280;color:var(--text-secondary);font-size:.875rem;margin:.25rem 0 0}@media (max-width:560px){.page-header{align-items:stretch;flex-direction:column}.page-header>.btn,.page-header>a,.page-header>button{justify-content:center;text-align:center;width:100%}}:root{--stat-blue:#3b82f6;--stat-green:#10b981;--stat-purple:#8b5cf6;--stat-orange:#f59e0b}.dashboard{display:flex;flex-direction:column;gap:1.25rem}.stats-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}.stat-card{align-items:center;background:#fff;background:var(--surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;display:flex;gap:.875rem;padding:1rem;transition:transform .15s,box-shadow .15s}.stat-card.clickable:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1.75rem;height:44px;justify-content:center;width:44px}.stat-blue .stat-icon{background:#eff6ff}.stat-green .stat-icon{background:#ecfdf5}.stat-purple .stat-icon{background:#f5f3ff}.stat-orange .stat-icon{background:#fffbeb}.stat-content{min-width:0}.stat-value{font-size:1.5rem;font-weight:700;line-height:1;margin:0}.stat-blue .stat-value{color:#3b82f6;color:var(--stat-blue)}.stat-green .stat-value{color:#10b981;color:var(--stat-green)}.stat-purple .stat-value{color:#8b5cf6;color:var(--stat-purple)}.stat-orange .stat-value{color:#f59e0b;color:var(--stat-orange)}.stat-title{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;margin:.25rem 0 0;text-overflow:ellipsis;white-space:nowrap}.calendario-card,.stat-title{overflow:hidden}.calendario-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.calendario-titulo h3{font-size:1rem;font-weight:700;margin:0}.calendario-controles{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width:480px){.calendario-header{align-items:flex-start;flex-direction:column}.calendario-controles{justify-content:space-between;width:100%}.calendario-controles .btn{flex:1 1;font-size:.75rem;padding:.4rem .5rem;text-align:center}}.calendario-container{align-items:flex-start;display:flex;gap:1rem}.calendario{flex:1 1;min-width:0}.calendario-encabezado{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:2px}.dia-semana-header{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.7rem;font-weight:600;letter-spacing:.03em;padding:.35rem 0;text-align:center;text-transform:uppercase}.calendario-cuerpo{display:flex;flex-direction:column;gap:2px}.calendario-semana{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.calendario-dia{background:#fff;background:var(--surface,#fff);border:1px solid #f0f0f0;border:1px solid var(--border-soft,#f0f0f0);border-radius:8px;cursor:pointer;min-height:64px;overflow:hidden;padding:4px;position:relative;transition:background .12s}.calendario-dia:hover{background:#f8f9fb;background:var(--surface-2,#f8f9fb)}.dia-numero{color:#111827;color:var(--text-primary,#111827);font-size:.8rem;font-weight:600;margin-bottom:2px}.calendario-dia.hoy{background:#eff6ff;border-color:#3b82f6}.calendario-dia.hoy .dia-numero{align-items:center;background:#3b82f6;border-radius:50%;color:#1d4ed8;color:#fff;display:flex;font-size:.7rem;height:20px;justify-content:center;width:20px}.calendario-dia.seleccionado{background:#f0f9ff;border-color:#38bdf8;box-shadow:0 0 0 2px #38bdf840}.calendario-dia.tiene-citas{border-color:#10b981}.calendario-dia.cerrado{background:#fef2f2;border-color:#fecaca}.calendario-dia.cerrado .dia-numero{color:#ef4444}.calendario-dia.cerrado-base{background:#f9fafb;border-color:#e5e7eb;opacity:.6}.calendario-dia.especial{background:#fffbeb;border-color:#fcd34d}.calendario-dia.pasado{background:#fefce8;border-color:#fef08a}.dia-horario{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:.55rem;line-height:1.2;margin-top:1px}.dia-citas-indicador{align-items:center;display:flex;gap:2px;margin-top:2px}.citas-count{background:#10b981;border-radius:20px;color:#fff;font-size:.55rem;font-weight:700;line-height:1.4;padding:1px 5px}.dia-citas-indicador{color:#059669;font-size:.55rem}.dia-excepciones-multiple{display:flex;flex-wrap:wrap;gap:1px;margin-top:1px}.dia-excepcion-item{font-size:.65rem;line-height:1}.dia-excepcion-mas{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:.55rem}.dia-detalle{background:#f8f9fb;background:var(--surface-2,#f8f9fb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;flex-shrink:0;max-height:520px;overflow-y:auto;padding:1rem;position:-webkit-sticky;position:sticky;top:0;width:240px}.dia-detalle-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.875rem}.dia-detalle-header h4{font-size:.9rem;font-weight:700;margin:0}.btn-cerrar{background:none;border:none;color:#6b7280;color:var(--text-secondary,#6b7280);cursor:pointer;font-size:1rem;line-height:1;padding:0}.horas-disponibles-total{margin-bottom:.75rem}.total-horas-badge{align-items:baseline;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;display:flex;gap:.375rem;padding:.5rem .75rem}.total-horas-numero{color:#059669;font-size:1.5rem;font-weight:700}.total-horas-texto{color:#059669;font-size:.75rem}.quick-cita-btn{margin-bottom:.875rem;width:100%}.citas-lista h5,.excepciones-lista h5{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.8rem;font-weight:600;margin:0 0 .5rem}.cita-detalle{background:#fff;background:var(--surface,#fff);border-left:3px solid #e5e7eb;border-radius:8px;display:flex;gap:.625rem;margin-bottom:.5rem;padding:.625rem}.cita-detalle.pendiente{border-left-color:#f59e0b}.cita-detalle.confirmada{border-left-color:#3b82f6}.cita-detalle.completada{border-left-color:#10b981}.cita-detalle.cancelada{border-left-color:#ef4444;opacity:.6}.cita-detalle-hora{flex-shrink:0}.hora-badge{background:#f3f4f6;border-radius:6px;font-size:.75rem;font-weight:600;padding:2px 6px}.cita-detalle-info{flex:1 1;min-width:0}.cita-cliente-nombre{font-size:.8rem}.cita-cliente-nombre,.cita-servicio{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cita-servicio{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.72rem;margin-top:1px}.cita-notas{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:.7rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cita-acciones{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.375rem}.cita-estado-badge{border-radius:20px;font-size:.65rem;font-weight:600;padding:2px 7px}.cita-estado-badge.pendiente{background:#fef9c3;color:#854d0e}.cita-estado-badge.confirmada{background:#dbeafe;color:#1e40af}.cita-estado-badge.completada{background:#d1fae5;color:#065f46}.cita-estado-badge.cancelada{background:#fee2e2;color:#991b1b}.excepcion-detalle{align-items:flex-start;border-radius:8px;display:flex;font-size:.8rem;gap:.5rem;margin-bottom:.375rem;padding:.5rem}.excepcion-detalle.cerrado{background:#fef2f2}.excepcion-detalle.horario_especial{background:#fffbeb}.excepcion-tipo{font-size:.75rem;font-weight:600}.excepcion-motivo{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.72rem}.excepcion-horario{color:#059669;font-size:.7rem;margin-top:2px}.sin-citas{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:.8rem;padding:1rem 0;text-align:center}.horario-especial-bloque{border:1px solid #fde68a;border-radius:8px;margin-bottom:.75rem;overflow:hidden}.horario-especial-bloque-header{align-items:center;background:linear-gradient(135deg,#fffbeb,#fef3c7);display:flex;gap:.5rem;justify-content:space-between;padding:.5rem .75rem}.horario-especial-bloque-info{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.horario-especial-nombre{color:#92400e;font-size:.78rem;font-weight:600}.horario-especial-rango{background:#fef9c3;border-radius:4px;color:#b45309;font-size:.72rem;padding:.1rem .4rem}.horario-especial-count{background:#d97706;border-radius:10px;color:#fff;font-size:.72rem;font-weight:700;padding:.15rem .5rem;white-space:nowrap}.horario-especial-bloque .citas-lista{padding:.5rem .5rem .25rem}.sin-citas-bloque{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:.75rem;padding:.5rem;text-align:center}.calendario-leyenda{border-top:1px solid #e5e7eb;border-top:1px solid var(--border,#e5e7eb);display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.875rem;padding-top:.875rem}.leyenda-item{align-items:center;color:#6b7280;color:var(--text-secondary,#6b7280);display:flex;font-size:.72rem;gap:.375rem}.leyenda-color{border-radius:3px;flex-shrink:0;height:12px;width:12px}.hoy-color{background:#3b82f6}.tiene-citas-color{background:#10b981}.cerrado-color{background:#fee2e2;border:1px solid #fecaca}.cerrado-base-color{background:#f9fafb;border:1px solid #e5e7eb}.especial-color{background:#fffbeb;border:1px solid #fcd34d}.quick-actions{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(4,1fr)}.quick-action-btn{align-items:center;background:#f8f9fb;background:var(--surface-2,#f8f9fb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:10px;color:#111827;color:var(--text-primary,#111827);display:flex;flex-direction:column;font-size:.72rem;font-weight:500;gap:.3rem;padding:.6rem .25rem;text-align:center;text-decoration:none;transition:all .15s}.quick-action-btn:hover{background:#f1f3f7;background:var(--surface-3,#f1f3f7);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.action-icon{font-size:1.5rem;line-height:1}.dark-mode .calendario-dia{background:#13161f;border-color:#1e2330}.dark-mode .calendario-dia:hover{background:#1a1d26}.dark-mode .calendario-dia.hoy{background:#172554;border-color:#3b82f6}.dark-mode .calendario-dia.seleccionado{background:#0c2136;border-color:#38bdf8}.dark-mode .calendario-dia.cerrado{background:#2a0d0d;border-color:#5a1a1a}.dark-mode .calendario-dia.cerrado-base{background:#111;border-color:#1e2330}.dark-mode .calendario-dia.especial{background:#1c1500;border-color:#78350f}.dark-mode .calendario-dia.pasado{background:#1a1a00;border-color:#3d3a00}.dark-mode .dia-numero{color:#e8eaf0}.dark-mode .dia-detalle{background:#13161f;border-color:#1e2330}.dark-mode .cita-detalle{background:#1a1d26}.dark-mode .hora-badge{background:#1e2330;color:#e8eaf0}.dark-mode .quick-action-btn{background:#13161f;border-color:#1e2330;color:#e8eaf0}.dark-mode .quick-action-btn:hover{background:#1a1d26}.dark-mode .stat-card{background:#10131a;border-color:#1e2330}.dark-mode .stat-blue .stat-icon{background:#172554}.dark-mode .stat-green .stat-icon{background:#052e16}.dark-mode .stat-purple .stat-icon{background:#2e1065}.dark-mode .stat-orange .stat-icon{background:#1c1500}@media (min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr)}.calendario-dia{min-height:80px}.dia-numero{font-size:.875rem}.dia-horario{font-size:.6rem}.citas-count,.dia-citas-indicador{font-size:.65rem}}@media (min-width:1024px){.calendario-dia{min-height:90px;padding:6px}.dia-semana-header{font-size:.75rem}.dia-numero{font-size:.9rem}}@media (max-width:767px){.stats-grid{gap:.625rem;grid-template-columns:repeat(2,1fr)}.stat-card{gap:.625rem;padding:.75rem}.stat-icon{font-size:1.35rem;height:36px;width:36px}.stat-value{font-size:1.25rem}.stat-title{font-size:.7rem}.calendario-container{flex-direction:column}.dia-detalle{max-height:none;position:static;width:100%}.calendario-dia{min-height:52px;padding:3px}.dia-numero{font-size:.72rem}.dia-horario{display:none}.citas-count,.dia-citas-indicador{font-size:.5rem}.citas-count{padding:1px 4px}.dia-semana-header{font-size:.6rem;padding:.25rem 0}.quick-actions{gap:.5rem;grid-template-columns:repeat(3,1fr)}.quick-action-btn{font-size:.7rem;padding:.75rem .25rem}.action-icon{font-size:1.25rem}.calendario-leyenda{grid-gap:.375rem;display:grid;gap:.375rem;grid-template-columns:1fr 1fr}}@media (max-width:380px){.calendario-dia{min-height:42px}.dia-numero{font-size:.65rem}.dia-excepcion-item{font-size:.55rem}.citas-count,.dia-citas-indicador{display:none}.calendario-dia.tiene-citas:after{background:#10b981;border-radius:50%;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}}.adm-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.adm-title{font-size:1.5rem;font-weight:700;margin:0}.adm-subtitle{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.875rem;margin-top:.25rem}.adm-header-actions{display:flex;flex-wrap:wrap;gap:.75rem}.adm-stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.adm-stat-card{background:#fff;background:var(--surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;gap:1rem;padding:1.1rem 1.25rem}.adm-stat-card,.adm-stat-icon{align-items:center;display:flex}.adm-stat-icon{border-radius:10px;flex-shrink:0;font-size:1.35rem;height:44px;justify-content:center;width:44px}.adm-stat-body{display:flex;flex-direction:column;gap:2px;min-width:0}.adm-stat-value{font-size:1.35rem;font-weight:700;line-height:1}.adm-stat-label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem}.adm-stat-sub{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-analytics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.adm-card{background:#fff;background:var(--surface,#fff);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:12px;overflow:hidden}.adm-card--full{grid-column:1/-1}.adm-card-head{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);display:flex;justify-content:space-between;padding:1rem 1.25rem}.adm-card-title{font-size:.9rem;font-weight:600}.adm-card-badge{background:#f8f9fb;background:var(--surface-2,#f8f9fb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:20px;color:#6b7280;color:var(--text-secondary,#6b7280);font-size:.75rem;padding:.15rem .6rem}.adm-plan-bars{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem}.adm-plan-bar__head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:6px}.adm-plan-bar__name{font-size:13px;font-weight:600}.adm-plan-bar__meta{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:11px}.adm-plan-bar__track{background:#f1f3f7;background:var(--surface-3,#f1f3f7);border-radius:99px;height:6px;margin-bottom:4px;overflow:hidden}.adm-plan-bar__fill{border-radius:99px;height:100%;transition:width .4s ease}.adm-plan-bar__pct{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:11px;font-weight:600}.adm-plan-detail{display:flex;flex-direction:column;gap:1.1rem;padding:1rem 1.25rem}.adm-plan-detail__head{align-items:center;display:flex;gap:8px;margin-bottom:6px}.adm-plan-detail__dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.adm-plan-detail__count{background:#f8f9fb;background:var(--surface-2,#f8f9fb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:20px;font-size:12px;font-weight:700;margin-left:auto;padding:1px 8px}.adm-plan-detail__names{display:flex;flex-wrap:wrap;gap:6px;padding-left:18px}.adm-empresa-chip{background:#f1f5f9;background:var(--surface-2,#f1f5f9);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:6px;color:#6b7280;color:var(--text-secondary,#6b7280);font-size:11px;padding:2px 8px}.adm-insights-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.adm-insight{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border,#e5e7eb);border-right:1px solid #e5e7eb;border-right:1px solid var(--border,#e5e7eb);display:flex;gap:.875rem;padding:1.25rem}.adm-insight:nth-child(2n){border-right:none}.adm-insight:nth-last-child(-n+2){border-bottom:none}.adm-insight__icon{flex-shrink:0;font-size:1.5rem;line-height:1}.adm-insight__title{font-size:13px;font-weight:600;margin-bottom:8px}.adm-insight__body{font-size:13px}.adm-insight__hint{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:11.5px;line-height:1.5;margin-top:6px}.adm-insight__row{display:flex;font-size:12.5px;gap:8px;justify-content:space-between;margin-bottom:4px}.adm-insight__tag{border-radius:20px;font-size:11px;font-weight:600;padding:2px 8px}.adm-insight__tag.warning{background:#fef9c3;color:#854d0e}.adm-mrr-row{border-bottom:1px solid #edf0f5;border-bottom:1px solid var(--border-soft,#edf0f5);display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.adm-mrr-row--total{border-bottom:none;font-weight:600;padding-top:8px}.adm-top-plan{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.adm-top-plan__name{font-size:14px;font-weight:700}.adm-top-plan__count{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px}.adm-retention{align-items:baseline;display:flex;gap:6px;margin-bottom:4px}.adm-retention__pct{font-size:2rem;font-weight:700;line-height:1}.adm-retention__label{color:#6b7280;color:var(--text-secondary,#6b7280);font-size:12px}.adm-ok{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:13px}.adm-table-filters{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.adm-search{background:#f8f9fb;background:var(--surface-2,#f8f9fb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;color:#111827;color:var(--text-primary,#111827);font-size:13px;outline:none;padding:.4rem .875rem;width:220px}.adm-search:focus{background:#fff;background:var(--surface,#fff);border-color:#6366f1}.adm-filter-select{background:#f8f9fb;background:var(--surface-2,#f8f9fb);border:1px solid #e5e7eb;border:1px solid var(--border,#e5e7eb);border-radius:8px;color:#111827;color:var(--text-primary,#111827);cursor:pointer;font-size:13px;padding:.4rem .75rem}.adm-actions{display:flex;flex-wrap:wrap;gap:.5rem}.adm-empty{color:#9ca3af;color:var(--text-hint,#9ca3af);font-size:14px;padding:2rem;text-align:center}.dark-mode .adm-card,.dark-mode .adm-stat-card{background:#10131a;border-color:#1e2330}.dark-mode .adm-card-badge{background:#13161f;border-color:#1e2330}.dark-mode .adm-plan-bar__track{background:#1a1d26}.dark-mode .adm-empresa-chip{color:#9ca3af}.dark-mode .adm-empresa-chip,.dark-mode .adm-plan-detail__count{background:#1a1d26;border-color:#1e2330}.dark-mode .adm-insight,.dark-mode .adm-mrr-row{border-color:#1e2330}.dark-mode .adm-filter-select,.dark-mode .adm-search{background:#13161f;border-color:#1e2330;color:#e8eaf0}.dark-mode .adm-search:focus{background:#10131a;border-color:#6366f1}.dark-mode .adm-insight__tag.warning{background:#2d1f0a;color:#fbbf24}@media (max-width:768px){.adm-analytics-grid,.adm-insights-grid{grid-template-columns:1fr}.adm-insight{border-right:none}.adm-stats-grid{grid-template-columns:repeat(2,1fr)}.adm-header,.adm-table-filters{flex-direction:column}.adm-table-filters{align-items:stretch}.adm-search{width:100%}}
/*# sourceMappingURL=main.f6f41316.css.map*/