*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-base);line-height:1.5}a{color:var(--color-primary);text-decoration:none;transition:var(--transition)}a:hover{color:var(--color-primary-hover)}#wrapper{flex-direction:column;min-height:100vh}#wrapper,.navbar{display:flex;width:100%}.navbar{align-items:center;background-color:var(--color-bg-dark)!important;border:none!important;height:var(--header-height);left:0;padding:0 20px!important;position:fixed;top:0;z-index:1000}.navbar-header{align-items:center;display:flex;flex-grow:1;gap:10px}.navbar-brand{color:#fff;font-size:16px;font-weight:700;padding:10px 0}.navbar-brand:hover{color:var(--color-primary-light)}.navbar-toggle{background:none;border:none;color:#fff;cursor:pointer;display:block;font-size:20px;margin-right:15px;padding:10px 12px;transition:var(--transition)}.navbar-toggle:hover{opacity:.8}.navbar-toggle .icon-bar{background-color:#fff;display:inline-block;height:2px;margin:4px 0;width:20px}.navbar-top-links{align-items:center;display:flex;gap:20px;list-style:none;margin:0 0 0 auto!important}.navbar-top-links li a{color:#fff;font-size:var(--font-size-sm);padding:5px 10px}.navbar-top-links li a:hover{color:var(--color-primary-light)}.sidebar{background-color:var(--color-bg-light);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:calc(100vh - var(--header-height));left:0;overflow-y:auto;position:fixed;top:var(--header-height);transition:left .3s ease;width:var(--sidebar-width);z-index:999}.sidebar-nav{flex:1;overflow-y:auto;padding:20px 0}.sidebar.collapsed{left:calc(var(--sidebar-width)*-1)}.sidebar .nav{margin:0;padding:0}.sidebar .nav,.sidebar .nav li{list-style:none}.sidebar .nav>li>a{border-left:3px solid transparent;color:var(--color-text);display:block;font-size:var(--font-size-sm);font-weight:500;padding:12px 20px;transition:var(--transition)}.sidebar .nav>li>a:hover{background-color:var(--color-bg-light);border-left-color:var(--color-active);color:var(--color-active)}.sidebar .nav>li>a i{margin-right:8px;text-align:center;width:14px}.sidebar .nav-second-level{background-color:var(--color-bg-light);border-left:3px solid var(--color-success);display:none;list-style:none;margin:0;padding:0}.sidebar .nav-second-level li{list-style:none}.sidebar .nav-second-level li a{color:var(--color-text);display:block;font-size:var(--font-size-xs);padding:10px 30px;transition:var(--transition)}.sidebar .nav-second-level li a:hover{background-color:var(--color-bg-light);color:var(--color-active);padding-left:35px}.sidebar .nav>li.active .nav-second-level{display:block}.sidebar-user-section{background-color:#fff;border-top:1px solid var(--color-border);list-style:none;margin-top:auto;padding:20px}.sidebar-user-info{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:12px;margin-bottom:15px;padding-bottom:15px}.sidebar-user-info i{color:var(--color-active);flex-shrink:0;font-size:32px}.user-details{flex:1;min-width:0}.user-name{color:var(--color-text);font-size:var(--font-size-sm);font-weight:600;margin-bottom:4px}.user-name,.user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:var(--color-text-light)}.sidebar-logout,.user-role{display:block;font-size:var(--font-size-xs)}.sidebar-logout{background-color:var(--color-bg);border-radius:4px;color:var(--color-danger)!important;font-weight:500;padding:10px;text-align:center;transition:var(--transition);width:100%}.sidebar-logout:hover{background-color:var(--color-danger);color:#fff!important}.sidebar-logout i{margin-right:6px}#page-wrapper{display:flex;flex:1;flex-direction:column;margin-left:var(--sidebar-width);margin-top:var(--header-height);min-height:calc(100vh - var(--header-height));overflow-y:auto;transition:margin-left .3s ease}.page-shell{margin:0 auto;padding:var(--spacing-lg);width:min(100%,90rem)}.page-shell>.container-fluid{padding:0;width:100%}#page-wrapper.sidebar-collapsed{margin-left:0}.container-fluid{padding:20px}.page-header{border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:24px;font-weight:600;margin-bottom:30px;padding-bottom:15px}.page-header i{margin-right:10px;opacity:.7}.btn{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);cursor:pointer;display:inline-block;font-size:var(--font-size-sm);font-weight:500;padding:8px 16px;transition:var(--transition)}.btn:hover{background-color:var(--color-bg-light)}.btn-default{background-color:var(--color-bg);border-color:var(--color-border)}.btn-danger{background-color:var(--color-danger);border-color:var(--color-danger-hover);color:#fff}.btn-danger:hover{background-color:var(--color-danger-hover)}@media (max-width:64rem){.sidebar{width:200px}#page-wrapper{margin-left:200px}}@media (max-width:48rem){.sidebar{left:-230px;width:230px}.sidebar.active{left:0}#page-wrapper{margin-left:0}.container-fluid{padding:15px}.page-shell{padding:var(--spacing-md)}.page-header{font-size:18px;margin-bottom:20px}}@media (max-width:30rem){.navbar-brand{font-size:var(--font-size-base)}.page-header{font-size:16px;margin-bottom:15px}.sidebar-user-section{padding:15px}.sidebar-logout{font-size:var(--font-size-xs)}}body{padding-bottom:var(--actions-footer-space)}footer.actions-footer{align-items:center;background:var(--color-success);border-top:1px solid var(--color-border-light);bottom:0;box-shadow:var(--shadow-footer);display:flex;height:var(--actions-footer-height);justify-content:center;left:0;position:fixed;width:100%;z-index:1000}#floating-menu-toggle-action{align-items:center;background-color:var(--color-bg-dark);border:none;border-radius:50em;box-shadow:var(--shadow-button);color:var(--color-text-white);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;height:auto;outline:none;padding:12px 24px;transition:var(--transition);width:auto}#floating-menu-toggle-action:hover{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);box-shadow:var(--shadow-button-hover);transform:translateY(-2px)}#floating-menu-toggle-action:active{transform:translateY(0)}#floating-menu-toggle-action i{font-size:16px}@media (min-width:48.0625rem){body{padding-bottom:0}footer.actions-footer{background:transparent;border-top:0;bottom:auto;box-shadow:none;height:var(--header-height);justify-content:flex-end;left:auto;padding:0 var(--spacing-lg);pointer-events:none;right:0;top:0;width:auto;z-index:1001}#floating-menu-toggle-action{background-color:var(--color-success);box-shadow:var(--shadow-button);color:var(--color-primary);min-height:var(--control-height-sm);padding:var(--spacing-sm) var(--spacing-md);pointer-events:auto}#floating-menu-toggle-action:focus-visible,#floating-menu-toggle-action:hover{background:var(--color-success-hover);box-shadow:var(--shadow-button-hover);color:var(--color-primary)}.floating-menu ul li{border-bottom-color:var(--color-success-hover)}.floating-menu ul li a{color:var(--color-primary)}.floating-menu ul li a:hover{background-color:var(--color-success-light);border-left-color:var(--color-primary);color:var(--color-primary)}.floating-menu ul li a i{color:var(--color-primary)}}.floating-menu{background-color:var(--color-text-white);border-radius:12px;bottom:70px;box-shadow:var(--shadow-menu);left:50%;max-height:400px;max-width:320px;min-width:240px;opacity:0;overflow:hidden;overflow-y:auto;pointer-events:none;position:fixed;transform:translateX(-50%) translateY(10px);transition:var(--transition);visibility:hidden;z-index:999}.floating-menu.show{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);visibility:visible}.floating-menu ul{list-style:none;margin:0;padding:0}.floating-menu ul li{border-bottom:1px solid var(--color-border-lighter);margin:0;padding:0}.floating-menu ul li:first-child a{padding-top:16px}.floating-menu ul li:last-child a{padding-bottom:16px}.floating-menu ul li:last-child{border-bottom:none}.floating-menu ul li a{border-left:3px solid transparent;color:var(--color-text);cursor:pointer;display:block;font-size:var(--font-size-base);overflow:hidden;padding:14px 20px;text-decoration:none;text-overflow:ellipsis;transition:var(--transition);white-space:nowrap}.floating-menu ul li a:hover{background-color:var(--color-info-bg-light);border-left-color:var(--color-info);color:var(--color-info);padding-left:22px}.floating-menu ul li a i{color:var(--color-info);font-size:15px;margin-right:12px;text-align:center;width:18px}.floating-menu-overlay{bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:var(--transition);visibility:hidden;z-index:998}.floating-menu-overlay.show{opacity:1;pointer-events:auto;visibility:visible}@media (min-width:48.0625rem){.floating-menu{background-color:var(--color-text-white);border:1px solid var(--color-border-light);border-radius:var(--radius-md);bottom:auto;box-shadow:var(--shadow-lg);left:auto;pointer-events:auto;position:absolute;right:var(--spacing-lg);top:100%;transform:translateY(-var(--spacing-sm));transform-origin:top right}.floating-menu.show{transform:translateY(0)}.floating-menu ul li{border-bottom-color:var(--color-border-lighter)}.floating-menu ul li a{color:var(--color-text)}.floating-menu ul li a:hover{background-color:var(--color-info-bg-light);border-left-color:var(--color-info);color:var(--color-info)}.floating-menu ul li a i{color:var(--color-info)}}@media (max-width:48rem){body{padding-bottom:var(--actions-footer-space)}footer.actions-footer{height:var(--actions-footer-height)}}@media (max-width:30rem){body{padding-bottom:var(--actions-footer-space)}footer.actions-footer{height:var(--actions-footer-height-mobile)}}.email-resend-modal .modal__dialog--small{max-width:26rem;width:min(95vw,26rem)}.email-resend-modal .modal__body{display:grid;gap:var(--spacing-lg)}.email-resend-modal .form-input:invalid:placeholder-shown{border-color:var(--color-border)}.email-resend-modal .form-input:invalid:not(:placeholder-shown):not(:focus){border-color:var(--color-danger)}.email-resend-modal .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(22,40,59,.12);outline:none}.email-resend-modal .modal__footer{align-items:center;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end}.email-resend-modal .modal__footer .btn{align-items:center;display:inline-flex;gap:var(--spacing-sm);justify-content:center;min-height:2.5rem;min-width:7rem;width:auto}.email-resend-modal__button--secondary{background-color:var(--color-bg-lighter);border-color:var(--color-border);color:var(--color-text)}.email-resend-modal__button--secondary:hover{background-color:var(--color-bg-light)}.email-resend-modal__button--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-white)}.email-resend-modal__button--primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-button)}.email-resend-modal__button:focus-visible{outline:3px solid var(--color-info);outline-offset:2px}.notification-item{animation:notificationSlideIn .3s ease-out;border-radius:var(--radius);box-shadow:var(--shadow);font-size:var(--font-size-sm);font-weight:500;margin-bottom:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);pointer-events:auto;word-wrap:break-word;background-color:var(--color-bg-lighter);border-left:4px solid;color:var(--color-text);max-width:400px;overflow-wrap:break-word;word-break:break-word}.notification-item.success{background-color:var(--color-success-light);border-left-color:var(--color-success);color:#155724}.notification-item.error{background-color:var(--color-danger-light);border-left-color:var(--color-danger);color:#721c24}.notification-item.warning{background-color:var(--color-warning-light);border-left-color:var(--color-warning);color:#856404}.notification-item.info{background-color:var(--color-info-light);border-left-color:var(--color-info);color:#0c5460}.notification-item.hiding{animation:notificationSlideOut .3s ease-out forwards}.notification-dialog-overlay{align-items:center;animation:notificationFadeIn .2s ease-out;background-color:var(--overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.notification-dialog{animation:notificationSlideUp .3s ease-out;background-color:var(--color-bg-lighter);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:400px;padding:var(--spacing-xl)}.notification-dialog-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--spacing-md) 0}.notification-dialog-message{color:var(--color-text-light);font-size:var(--font-size-sm);line-height:1.5;margin:0 0 var(--spacing-xl) 0;white-space:pre-wrap}.notification-dialog-buttons{display:flex;gap:var(--spacing-md);justify-content:flex-end}.notification-dialog-btn{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;padding:.5rem 1rem;transition:var(--transition)}.notification-dialog-btn:hover{background-color:var(--color-border)}.notification-dialog-btn.primary{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-white)}.notification-dialog-btn.primary:hover{background-color:var(--color-primary-dark)}@keyframes notificationSlideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes notificationSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(400px)}}@media (max-width:30rem){@keyframes notificationSlideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes notificationSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}}@keyframes notificationFadeIn{0%{opacity:0}to{opacity:1}}@keyframes notificationSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#notification-system-container{display:flex;flex-direction:column;gap:var(--spacing-md);pointer-events:none;position:fixed;right:var(--spacing-lg);top:var(--spacing-lg);z-index:9999}@media (max-width:48rem){#notification-system-container{left:var(--spacing-md);max-width:calc(100% - var(--spacing-md)*2);right:var(--spacing-md);top:var(--spacing-md)}.notification-item{font-size:.9rem;max-width:100%}.notification-dialog{max-width:90vw;padding:var(--spacing-lg);width:calc(100% - var(--spacing-md)*2)}.notification-dialog-buttons{flex-wrap:wrap}}@media (max-width:30rem){#notification-system-container{left:var(--spacing-sm);max-width:calc(100% - var(--spacing-sm)*2);right:var(--spacing-sm);top:var(--spacing-sm)}.notification-item{border-radius:4px;font-size:.85rem;margin-bottom:var(--spacing-sm);max-width:100%;padding:var(--spacing-md) var(--spacing-md)}.notification-dialog-overlay{padding:var(--spacing-sm)}.notification-dialog{border-radius:8px;max-width:100%;padding:var(--spacing-md);width:100%}.notification-dialog-title{font-size:1.1rem;margin-bottom:var(--spacing-md)}.notification-dialog-message{font-size:.9rem;margin-bottom:var(--spacing-lg)}.notification-dialog-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm);justify-content:center}.notification-dialog-btn{font-size:.9rem;padding:.75rem 1rem;width:100%}}.action-spinner-container{align-items:center;background:rgba(0,0,0,.35);bottom:0;box-sizing:border-box;display:none;height:100%;justify-content:center;left:0;margin:0;padding:0;position:fixed;right:0;top:0;width:100%;z-index:9999}.action-spinner-container.active{display:flex}.action-spinner-content{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.12);min-width:260px;padding:40px 50px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.action-spinner-icon{height:50px;margin:0 auto 16px;position:relative;width:50px}.action-spinner-icon:before{animation:spin 1s linear infinite;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top:3px solid var(--color-procesando,#f5a623);content:"";height:100%;position:absolute;width:100%}@keyframes spin{to{transform:rotate(1turn)}}.action-spinner-message{color:var(--color-text,#2c3e50);font-size:14px;font-weight:500;line-height:1.4;margin:0}@media (max-width:36rem){.action-spinner-content{margin:20px;min-width:auto}}