:root{--tef-blue: #019DF4;--tef-blue-dark: #0066B3;--tef-blue-light: #4DB8F9;--tef-green: #5BC500;--tef-green-dark: #4AA000;--tef-green-light: #7DD633;--tef-dark: #0B2739;--tef-gray-dark: #313235;--tef-gray-medium: #50535A;--tef-gray-light: #86888C;--tef-bg-light: #F5F5F5;--tef-white: #FFFFFF;--tef-border: #E6E6E6;--tef-border-light: #F0F0F0;--color-primary: var(--tef-blue);--color-primary-dark: var(--tef-blue-dark);--color-primary-light: var(--tef-blue-light);--color-secondary: var(--tef-green);--color-accent: #E30045;--color-success: #5BC500;--color-warning: #FF9500;--color-danger: #E74C3C;--color-info: #019DF4;--color-white: #FFFFFF;--color-gray-50: #FAFBFC;--color-gray-100: #F5F5F5;--color-gray-200: #E6E6E6;--color-gray-300: #D1D5DB;--color-gray-400: #86888C;--color-gray-500: #6B7280;--color-gray-600: #50535A;--color-gray-700: #313235;--color-gray-800: #0B2739;--color-gray-900: #0B2739;--color-black: #0B2739;--font-family-base: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", sans-serif;--font-family-heading: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--page-max-width: 1600px;--page-padding: 2rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:1.5;color:var(--color-gray-800);background-color:var(--color-gray-50);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}*:focus-visible{outline:3px solid #019DF4;outline-offset:2px;border-radius:4px}*:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible{outline:3px solid #019DF4;outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #019DF4;outline-offset:2px;border-color:#019df4}.app-container{display:flex;flex-direction:column;min-height:100vh;width:100%}.main-content{flex:1;width:100%;max-width:var(--page-max-width, 2200px);margin:0 auto;padding:1.5rem var(--page-padding, 1.5rem) 4rem var(--page-padding, 1.5rem)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-bold);line-height:1.2;color:var(--color-gray-900);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}button{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border:none;outline:none;transition:all var(--transition-base)}button:disabled{opacity:.6;cursor:not-allowed}input,textarea,select{font-family:var(--font-family-base);font-size:var(--font-size-base);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);min-height:44px;outline:none;transition:all var(--transition-fast);width:100%}input[type=checkbox],input[type=radio]{width:16px;height:16px;min-height:unset;padding:0;border-radius:3px;accent-color:var(--color-primary, #019DF4);cursor:pointer;flex-shrink:0}input[type=radio]{border-radius:50%}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #0c63e61a}.container{width:100%;max-width:var(--page-max-width, 1600px);margin:0 auto;padding:0 var(--page-padding, 2rem)}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.025em}.badge-critical{background:var(--color-danger);color:var(--color-white)}.badge-high{background:var(--color-warning);color:var(--color-gray-900)}.badge-medium{background:var(--color-info);color:var(--color-white)}.badge-low{background:var(--color-success);color:var(--color-white)}.spinner{border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin .8s linear infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}.login-container{min-height:100vh;display:flex;overflow:hidden}.login-panel-left{flex:1;background:linear-gradient(160deg,#0b2739,#0a3a6b 40%,#019df4);color:#fff;display:flex;flex-direction:column;padding:2rem 3rem;position:relative;overflow:hidden;min-height:100vh}.login-panel-left-header{display:flex;align-items:center;gap:1rem;z-index:1}.login-brand-logo{height:48px;width:auto;filter:brightness(0) invert(1)}.login-brand-divider{width:1px;height:20px;background:#fff6}.login-brand-label{font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;opacity:.9}.login-panel-left-content{flex:1;display:flex;flex-direction:column;justify-content:center;z-index:1;max-width:520px}.login-panel-title{font-size:3rem;font-weight:800;line-height:1.15;margin:0 0 1.25rem;color:#fff}.login-panel-subtitle{font-size:1.0625rem;line-height:1.6;opacity:.85;margin:0 0 2.5rem;font-weight:300}.login-panel-features{list-style:none;padding:0;margin:0}.login-panel-features li{font-size:.9375rem;margin-bottom:.75rem;padding-left:1.75rem;position:relative;opacity:.9;font-weight:400}.login-panel-features li:before{content:"✓";position:absolute;left:0;font-weight:700;opacity:.8}.login-panel-circle{position:absolute;bottom:-80px;left:50%;transform:translate(-50%);width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff08;pointer-events:none}.login-panel-circle:after{content:"";position:absolute;inset:20px;border-radius:50%;border:1px solid rgba(255,255,255,.06)}.login-panel-left-footer{font-size:.8125rem;opacity:.5;z-index:1;margin:0}.login-panel-right{flex:1;background:#f7f8fa;display:flex;align-items:center;justify-content:center;padding:2rem;min-height:100vh}.login-form-wrapper{background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000000f;padding:3rem 2.5rem;width:100%;max-width:420px}.login-header{text-align:center;margin-bottom:2rem}.login-welcome{font-size:1.75rem;font-weight:700;color:#0b2739;margin:0 0 .375rem}.login-welcome-sub{font-size:.9375rem;color:#019df4;margin:0;font-weight:400}.login-form{margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;color:#0b2739;margin-bottom:.5rem;font-size:.875rem}.form-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.form-label-row label{margin-bottom:0}.forgot-link{font-size:.8125rem;color:#019df4;text-decoration:none;font-weight:500;transition:color .2s}.forgot-link:hover{color:#0066b3;text-decoration:underline}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:2.75rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#86888c;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s}.password-toggle:hover{color:#0b2739}.form-group input{width:100%;padding:.75rem 1rem;border:1px solid #E0E0E0;border-radius:8px;font-size:.9375rem;color:#0b2739;transition:border-color .2s,box-shadow .2s;background:#fff;outline:none;box-sizing:border-box}.form-group input::placeholder{color:#b0b3b8}.form-group input:focus{border-color:#019df4;box-shadow:0 0 0 3px #019df41a}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.alert{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.8375rem}.alert-error{background:#fef2f2;color:#dc2626;border:1px solid #FECACA}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9375rem;border:none;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:#0189db;transform:translateY(-1px);box-shadow:0 4px 16px #019df44d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-block{width:100%}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-footer{text-align:center;padding-top:1.5rem;border-top:1px solid #EEEEEE}.telefonica-copyright{font-size:.75rem;color:#a0a3a8;margin:0}@media(max-width:968px){.login-container{flex-direction:column}.login-panel-left{min-height:auto;padding:2rem 1.5rem}.login-panel-title{font-size:2rem}.login-panel-features,.login-panel-circle,.login-panel-left-footer{display:none}.login-panel-right{min-height:auto;padding:1.5rem}.login-form-wrapper{padding:2rem 1.5rem}}.mfa-form .mfa-header{text-align:center;margin-bottom:2rem}.mfa-form .mfa-icon-wrapper{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);margin-bottom:1.25rem}.mfa-form .mfa-icon{color:#6366f1}.mfa-form .mfa-header h2{font-size:1.3rem;font-weight:700;color:var(--tef-dark-blue, #0B2739);margin-bottom:.5rem}.mfa-form .mfa-header p{font-size:.875rem;color:var(--tef-grey, #666666);margin:0;line-height:1.5}.mfa-form .mfa-email{margin-top:.25rem!important}.mfa-form .mfa-header strong{color:var(--tef-blue, #019DF4);font-weight:600}.mfa-form .mfa-input{text-align:center;font-size:1.75rem;letter-spacing:.75rem;font-weight:700;padding:1rem;border:2px solid #e2e8f0;border-radius:12px;transition:border-color .2s,box-shadow .2s}.mfa-form .mfa-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;outline:none}.mfa-form .mfa-input::placeholder{letter-spacing:.75rem;opacity:.3;font-weight:400}.btn-verify{margin-top:.25rem;padding:.9rem 1.5rem;font-size:.95rem;border-radius:10px;background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;color:#fff;font-weight:600;transition:all .2s}.btn-verify:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-1px);box-shadow:0 4px 16px #6366f159}.btn-verify:disabled{opacity:.5;cursor:not-allowed}.resend-section{display:flex;justify-content:center;margin-top:1rem}.btn-resend-link{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6366f1;font-size:.875rem;font-weight:600;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:all .2s;white-space:nowrap}.btn-resend-link:hover:not(:disabled){background:#eef2ff;color:#4f46e5}.btn-resend-link:disabled{color:#94a3b8;cursor:not-allowed}.resend-icon{transition:transform .3s}.btn-resend-link:hover:not(:disabled) .resend-icon{transform:rotate(90deg)}.btn-back{margin-top:.5rem;background:transparent;border:1px solid #e2e8f0;color:#64748b;font-size:.875rem;border-radius:10px;transition:all .2s}.btn-back:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;color:#475569}.mfa-icon-email{color:#6366f1!important}.mfa-hint{margin-top:1rem;font-size:.75rem;color:#94a3b8;text-align:center;line-height:1.5;padding:10px 14px;background:#f8fafc;border-radius:10px;border:1px dashed #e2e8f0}.mfa-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.mfa-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mfa-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#019df4,#0066b3);color:#fff}.mfa-modal-header h2{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.125rem;font-weight:600}.mfa-modal-header .header-icon{width:24px;height:24px}.mfa-modal-header .close-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.mfa-modal-header .close-btn:hover{background:#ffffff4d}.mfa-modal-body{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 70px)}.mfa-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#666}.mfa-loading .spinner{animation:spin 1s linear infinite;color:#019df4}.mfa-alert{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.mfa-alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.mfa-alert-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.mfa-status{text-align:center}.mfa-status-badge{padding:2rem;border-radius:12px;margin-bottom:1.5rem}.mfa-status-badge.enabled{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.mfa-status-badge.disabled{background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#c2410c}.mfa-status-badge svg{margin-bottom:1rem}.mfa-status-badge h3{margin:0 0 .5rem;font-size:1.25rem}.mfa-status-badge p{margin:0;font-size:.875rem;opacity:.8}.mfa-setup{text-align:center}.setup-instructions{text-align:left;margin-bottom:1rem}.setup-instructions h3{font-size:1rem;margin:0 0 .5rem;color:#1a1a1a}.setup-instructions p{font-size:.875rem;color:#666;margin:0}.qr-container{background:#f8f8f8;border:2px dashed #e0e0e0;border-radius:12px;padding:1.5rem;margin:1.5rem 0;display:inline-block}.qr-container img{width:200px;height:200px}.manual-entry{background:#f0f7ff;border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:left}.manual-entry h4{font-size:.875rem;margin:0 0 .5rem;color:#1a1a1a}.manual-entry p{font-size:.8125rem;color:#666;margin:0 0 .75rem}.secret-key{display:flex;align-items:center;gap:.5rem;background:#fff;padding:.75rem 1rem;border-radius:6px;border:1px solid #e0e0e0}.secret-key code{font-family:Courier New,monospace;font-size:.9375rem;letter-spacing:.1em;color:#019df4;font-weight:600}.verification-input{margin:1.5rem 0}.verification-input input{width:100%;max-width:200px;padding:1rem;font-size:1.75rem;text-align:center;letter-spacing:.5rem;border:2px solid #e0e0e0;border-radius:8px;font-weight:600}.verification-input input:focus{border-color:#019df4;outline:none;box-shadow:0 0 0 3px #019df41a}.mfa-disable{text-align:center}.disable-warning{background:#fef2f2;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.disable-warning .warning-icon{color:#dc2626;margin-bottom:1rem}.disable-warning h3{color:#dc2626;margin:0 0 .5rem}.disable-warning p{color:#7f1d1d;font-size:.875rem;margin:0}.password-input{text-align:left;margin-bottom:1.5rem}.password-input label{display:block;font-size:.875rem;font-weight:500;color:#333;margin-bottom:.5rem}.password-input input{width:100%;padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:6px;font-size:.9375rem}.password-input input:focus{border-color:#019df4;outline:none;box-shadow:0 0 0 3px #019df41a}.mfa-actions{display:flex;gap:.75rem;justify-content:center;margin-top:1.5rem}.mfa-actions .btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-size:.9375rem}.mfa-actions .btn-primary{background:#019df4;color:#fff}.mfa-actions .btn-primary:hover:not(:disabled){background:#0066b3}.mfa-actions .btn-secondary{background:#f0f0f0;color:#333}.mfa-actions .btn-secondary:hover:not(:disabled){background:#e0e0e0}.mfa-actions .btn-danger{background:#dc2626;color:#fff}.mfa-actions .btn-danger:hover:not(:disabled){background:#b91c1c}.mfa-actions .btn:disabled{opacity:.6;cursor:not-allowed}.mfa-actions .btn .spinner{animation:spin 1s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.navbar{background:var(--tef-white, #FFFFFF);border-bottom:1px solid var(--tef-border, #E6E6E6);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky)}.navbar-container{display:flex;align-items:center;justify-content:space-between;padding:.75rem 2rem;max-width:var(--page-max-width, 1600px);margin:0 auto}.navbar-brand{display:flex;align-items:center;gap:1rem}.navbar-brand img{height:56px;width:auto}.navbar-title{font-size:.8rem;font-weight:700;color:var(--tef-blue, #019DF4);text-transform:uppercase;letter-spacing:.5px}.navbar-menu{display:flex;gap:.25rem}.navbar-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-md);color:var(--tef-gray-medium, #50535A);font-weight:500;font-size:.875rem;transition:all var(--transition-fast);border:none;background:none;cursor:pointer;text-decoration:none;white-space:nowrap}.navbar-item:hover{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-blue, #019DF4)}.navbar-item.active{background:var(--tef-blue, #019DF4);color:var(--tef-white, #FFFFFF)}.navbar-dropdown{position:relative}.navbar-dropdown-toggle{display:flex;align-items:center;gap:.5rem}.dropdown-chevron{transition:transform .2s ease;margin-left:-.2rem}.dropdown-chevron.rotated{transform:rotate(180deg)}.navbar-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);box-shadow:0 12px 36px #0000001f,0 4px 12px #0000000f;min-width:280px;padding:.5rem;z-index:1000;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.navbar-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-md, 8px);color:var(--tef-gray-medium, #50535A);text-decoration:none;transition:all .15s ease}.navbar-dropdown-item:hover{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-blue, #019DF4)}.navbar-dropdown-item.active{background:#019df414;color:var(--tef-blue, #019DF4)}.navbar-dropdown-item.active .dropdown-item-label{font-weight:600}.dropdown-item-text{display:flex;flex-direction:column;gap:.125rem}.dropdown-item-label{font-size:.875rem;font-weight:500;line-height:1.3}.dropdown-item-desc{font-size:.75rem;color:var(--tef-gray-light, #86888C);line-height:1.3}.dropdown-group-header{padding:.5rem 1rem .25rem;font-size:.65rem;font-weight:700;color:var(--tef-gray-light, #86888C);text-transform:uppercase;letter-spacing:.06em;border-top:1px solid #f0f0f0;margin-top:.25rem}.dropdown-group-header:first-child,div:first-child>.dropdown-group-header{border-top:none;margin-top:0}.navbar-user{display:flex;align-items:center;gap:1rem}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,var(--tef-green, #5BC500) 100%);color:var(--tef-white, #FFFFFF);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.user-details{display:flex;flex-direction:column;align-items:flex-start}.user-name{font-weight:600;color:var(--tef-dark, #0B2739);font-size:.875rem}.user-role{font-size:.75rem;color:var(--tef-gray-light, #86888C)}.btn-logout{padding:.5rem;border-radius:var(--radius-md);background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);transition:all var(--transition-fast)}.btn-logout:hover{background:var(--color-danger);color:var(--tef-white, #FFFFFF)}.btn-mfa{padding:.5rem;border-radius:var(--radius-md);background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);transition:all var(--transition-fast);border:none;cursor:pointer}.btn-mfa:hover{background:var(--tef-blue, #019DF4);color:var(--tef-white, #FFFFFF)}@media(max-width:768px){.navbar-container{flex-wrap:wrap;gap:1rem;padding:.75rem 1rem}.navbar-menu{order:3;width:100%;justify-content:space-around;padding-top:.75rem;border-top:1px solid var(--tef-border, #E6E6E6)}.navbar-item span,.dropdown-chevron{display:none}.navbar-dropdown-menu{position:fixed;top:auto;left:1rem;right:1rem;transform:none;width:calc(100% - 2rem);min-width:auto}.user-details{display:none}}.subscription-stats-widget{background:var(--tef-white, #FFFFFF);border-radius:20px;padding:28px;box-shadow:0 4px 20px #0000000f;border:1px solid var(--tef-border, #E6E6E6)}.widget-header{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--tef-border, #E6E6E6);display:flex;justify-content:space-between;align-items:center}.widget-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--tef-dark, #0B2739);display:flex;align-items:center;gap:10px}.renewal-badge{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#5bc5001a,#4caf501a);padding:8px 16px;border-radius:24px;border:2px solid rgba(91,197,0,.3)}.renewal-percent{font-size:1.1rem;font-weight:800;color:var(--tef-green, #5BC500)}.renewal-text{font-size:.875rem;font-weight:600;color:var(--tef-gray-medium, #50535A)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stats-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:24px;flex-wrap:wrap}.stat-mini{flex:1;min-width:140px;background:var(--tef-white, #FFFFFF);border:2px solid var(--tef-border, #E6E6E6);border-radius:16px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-mini:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:transparent;transition:all .3s}.stat-mini:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001a}.stat-mini svg{flex-shrink:0}.stat-value{font-size:1.75rem;font-weight:800;color:var(--tef-dark, #0B2739);line-height:1}.stat-name{font-size:.75rem;font-weight:600;color:var(--tef-gray-medium, #50535A);text-transform:uppercase;letter-spacing:.5px;text-align:center}.stat-mini.stat-active{border-color:#5bc50066;background:linear-gradient(135deg,#5bc5000d,#5bc50005)}.stat-mini.stat-active:before{background:linear-gradient(90deg,var(--tef-green, #5BC500),#4CAF50)}.stat-mini.stat-active svg{color:var(--tef-green, #5BC500)}.stat-mini.stat-active .stat-value{color:var(--tef-green, #5BC500)}.stat-mini.stat-expiring{border-color:#ff980066;background:linear-gradient(135deg,#ff98000d,#ff980005)}.stat-mini.stat-expiring:before{background:linear-gradient(90deg,#ff9800,#f57c00)}.stat-mini.stat-expiring svg{color:#ff9800}.stat-mini.stat-expiring .stat-value{color:#f57c00}.stat-mini.stat-contacted{border-color:#019df466;background:linear-gradient(135deg,#019df40d,#019df405)}.stat-mini.stat-contacted:before{background:linear-gradient(90deg,var(--tef-blue, #019DF4),#0182d4)}.stat-mini.stat-contacted svg{color:var(--tef-blue, #019DF4)}.stat-mini.stat-contacted .stat-value{color:var(--tef-blue, #019DF4)}.stat-mini.stat-nodate{border-color:#86888c66;background:linear-gradient(135deg,#86888c0d,#86888c05)}.stat-mini.stat-nodate:before{background:linear-gradient(90deg,var(--tef-gray-light, #86888C),var(--tef-gray-medium, #50535A))}.stat-mini.stat-nodate svg{color:var(--tef-gray-light, #86888C)}.stat-mini.stat-nodate .stat-value{color:var(--tef-gray-medium, #50535A)}.stat-mini.stat-archived{border-color:var(--tef-border, #E6E6E6);background:linear-gradient(135deg,#86888c0d,#86888c05)}.stat-mini.stat-archived:before{background:linear-gradient(90deg,var(--tef-gray-light, #86888C),var(--tef-gray-medium, #50535A))}.stat-mini.stat-archived svg{color:var(--tef-gray-light, #86888C)}.stat-mini.stat-archived .stat-value{color:var(--tef-gray-medium, #50535A)}.stat-card{background:var(--tef-white, #FFFFFF);border:2px solid var(--tef-border, #E6E6E6);border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:transparent;transition:all .3s}.stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-active{border-color:#5bc50066;background:linear-gradient(135deg,#5bc5000d,#5bc50005)}.stat-active:before{background:linear-gradient(90deg,var(--tef-green, #5BC500),#4CAF50)}.stat-active .stat-icon{background:linear-gradient(135deg,var(--tef-green, #5BC500) 0%,#4CAF50 100%);color:#fff;box-shadow:0 6px 16px #5bc50059}.stat-active .stat-number{color:var(--tef-green, #5BC500)}.stat-expiring{border-color:#ff980066;background:linear-gradient(135deg,#ff98000d,#ff980005)}.stat-expiring:before{background:linear-gradient(90deg,#ff9800,#f57c00)}.stat-expiring .stat-icon{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 6px 16px #ff980059;animation:pulse-warning 2s ease-in-out infinite}.stat-expiring .stat-number{color:#f57c00}.stat-expired{border-color:#dc354566;background:linear-gradient(135deg,#dc35450d,#dc354505)}.stat-expired:before{background:linear-gradient(90deg,#dc3545,#c82333)}.stat-expired .stat-icon{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;box-shadow:0 6px 16px #dc354559}.stat-expired .stat-number{color:#dc3545}.stat-archived{border-color:var(--tef-border, #E6E6E6);background:linear-gradient(135deg,#86888c0d,#86888c05)}.stat-archived:before{background:linear-gradient(90deg,var(--tef-gray-light, #86888C),var(--tef-gray-medium, #50535A))}.stat-archived .stat-icon{background:linear-gradient(135deg,var(--tef-gray-light, #86888C) 0%,var(--tef-gray-medium, #50535A) 100%);color:#fff;box-shadow:0 6px 16px #50535a59}.stat-archived .stat-number{color:var(--tef-gray-medium, #50535A)}.stat-nodate{margin:0 auto 24px;max-width:300px;border-color:#019df466;background:linear-gradient(135deg,#019df414,#019df408);justify-content:center;text-align:center;flex-direction:column;gap:12px;padding:24px}.stat-nodate:before{background:linear-gradient(90deg,var(--tef-blue, #019DF4),#0182d4)}.stat-nodate .stat-icon{background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,#0182d4 100%);color:#fff;box-shadow:0 6px 16px #019df459;margin:0 auto}.stat-nodate .stat-number{color:var(--tef-blue, #019DF4);font-size:2.5rem}.stat-nodate .stat-content{text-align:center}.stat-content{flex:1}.stat-number{font-size:2.25rem;font-weight:800;color:var(--tef-dark, #0B2739);line-height:1;margin-bottom:6px}.stat-label{font-size:.8rem;font-weight:700;color:var(--tef-gray-medium, #50535A);text-transform:uppercase;letter-spacing:.8px}.stat-sublabel{font-size:.75rem;color:var(--tef-gray-light, #86888C);margin-top:4px;font-weight:500}.renewal-rate-card{background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,#0066B3 50%,var(--tef-dark, #0B2739) 100%);border-radius:20px;padding:28px 32px;display:flex;align-items:center;gap:24px;color:#fff;margin-bottom:24px;box-shadow:0 8px 32px #019df459;position:relative;overflow:hidden}.renewal-rate-card:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.renewal-rate-card:after{content:"";position:absolute;bottom:-30%;left:10%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);border-radius:50%}.rate-icon{width:72px;height:72px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(255,255,255,.3);position:relative;z-index:1}.rate-content{flex:1;position:relative;z-index:1}.rate-number{font-size:3rem;font-weight:800;line-height:1;margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.2)}.rate-label{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;opacity:.95}.rate-description{font-size:.875rem;opacity:.85;font-weight:500}.alert-box{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ffb74d;border-radius:14px;padding:16px 20px;display:flex;align-items:center;gap:14px;color:#e65100;font-size:14px;font-weight:500;animation:pulse-alert 2s ease-in-out infinite;box-shadow:0 4px 12px #ff980026}.alert-box svg{flex-shrink:0}.alert-box strong{font-weight:700}.status-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:24px 0}.status-card{background:#f9fbff;border:2px solid #e3f2fd;border-radius:16px;padding:20px;box-shadow:0 4px 16px #0176d30f;transition:all .3s}.status-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0176d31f}.status-card.upcoming{border-color:#ffcc80;background:linear-gradient(135deg,#fffaf0,#fff3e0)}.status-card.overdue{border-color:#ef9a9a;background:linear-gradient(135deg,#fff8f8,#ffebee)}.status-card.missing{border-color:#b39ddb;background:linear-gradient(135deg,#faf8ff,#ede7f6)}.status-card-header{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--tef-dark, #0B2739);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.08)}.status-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.status-card li{background:#fff9;border-radius:10px;padding:12px 14px;transition:all .2s}.status-card li:hover{background:#ffffffe6;transform:translate(4px)}.list-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.list-company{font-size:14px;font-weight:600;color:var(--tef-dark, #0B2739)}.list-date{font-size:12px;font-weight:700;color:#0174a8;background:#019df41a;padding:4px 10px;border-radius:20px}.status-card.overdue .list-date{color:#c0392b;background:#dc35451a}.status-card.missing .list-date{color:#7f8c8d;background:#7f8c8d1a;font-style:italic}.list-subline{font-size:12px;color:#607d8b;margin-top:6px;font-weight:500}.list-subline.warning{color:#c0392b;font-weight:700}.clients-tables{margin-top:24px;display:flex;flex-direction:column;gap:20px}.clients-table-container{background:var(--tef-white, #FFFFFF);border:2px solid var(--tef-border, #E6E6E6);border-radius:12px;overflow:hidden}.table-header{display:flex;align-items:center;gap:10px;padding:14px 18px;font-weight:700;font-size:.9rem;color:var(--tef-dark, #0B2739);background:var(--tef-bg-light, #F5F5F5);border-bottom:2px solid var(--tef-border, #E6E6E6)}.table-header svg{flex-shrink:0}.table-header.missing{background:linear-gradient(135deg,#faf8ff,#ede7f6);border-bottom-color:#b39ddb;color:#5e35b1}.table-header.upcoming{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-bottom-color:#42a5f5;color:#1565c0}.table-header.inprogress{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-bottom-color:#ffb74d;color:#e65100}.clients-table{width:100%;border-collapse:collapse}.clients-table thead th{text-align:left;padding:12px 18px;font-weight:600;font-size:.8rem;color:var(--tef-gray-medium, #50535A);text-transform:uppercase;letter-spacing:.5px;background:var(--tef-white, #FFFFFF);border-bottom:1px solid var(--tef-border, #E6E6E6)}.clients-table tbody tr:hover{background:var(--tef-bg-light, #F5F5F5)}.clients-table tbody td{padding:12px 18px;border-bottom:1px solid var(--tef-border, #E6E6E6);font-size:.875rem}.clients-table tbody tr:last-child td{border-bottom:none}.td-company{font-weight:600;color:var(--tef-dark, #0B2739)}.client-link{color:var(--tef-blue, #019DF4);text-decoration:none;font-weight:600;transition:color .2s}.client-link:hover{color:#0182d4;text-decoration:underline}.action-link{display:inline-flex;align-items:center;gap:4px;color:var(--tef-blue, #019DF4);text-decoration:none;font-weight:500;font-size:.8rem;transition:all .2s}.action-link:hover{color:#0182d4;text-decoration:underline}.action-link svg{flex-shrink:0}.badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}@keyframes pulse-warning{0%,to{box-shadow:0 6px 16px #ff980059}50%{box-shadow:0 8px 24px #ff98008c}}@keyframes pulse-alert{0%,to{border-color:#ffb74d;box-shadow:0 4px 12px #ff980026}50%{border-color:#ff9800;box-shadow:0 4px 16px #ff980040}}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stats-row{flex-wrap:wrap}.stat-mini{min-width:120px}}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.stats-row{flex-direction:column}.stat-mini{min-width:100%}.stat-number{font-size:1.75rem}.renewal-rate-card{flex-direction:column;text-align:center;padding:24px}.rate-number{font-size:2.5rem}.status-lists{grid-template-columns:1fr}.stat-nodate{max-width:100%}.widget-header{flex-direction:column;align-items:flex-start;gap:12px}.renewal-badge{align-self:stretch;justify-content:center}}@media(max-width:480px){.subscription-stats-widget{padding:20px;border-radius:16px}.stat-card{padding:16px}.stat-icon{width:44px;height:44px}}.dashboard{min-height:calc(100vh - 73px);background:var(--tef-bg-light, #F5F5F5)}.dashboard-container{max-width:var(--page-max-width, 1600px);margin:0 auto;padding:1.75rem var(--page-padding, 2rem)}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 73px);gap:1.5rem}@keyframes dashFadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;padding-bottom:1rem;border-bottom:1px solid var(--tef-border, #E6E6E6);animation:dashFadeIn .45s ease-out both}.dashboard-header-left{display:flex;flex-direction:column;gap:.4rem}.dashboard-greeting{font-size:1.85rem;font-weight:700;color:var(--tef-dark, #0B2739);margin:0;line-height:1.25}.dashboard-username{color:var(--tef-blue, #019DF4)}.dashboard-date{display:flex;align-items:center;gap:.45rem;color:var(--tef-gray-medium, #50535A);font-size:.95rem;margin:0;text-transform:capitalize}.dashboard-date svg{color:var(--tef-gray-light, #86888C)}.btn-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.4rem;font-weight:600;border-radius:12px;box-shadow:0 4px 14px #019df447;transition:all .2s ease}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 6px 22px #019df461}.stats-bar{display:flex;align-items:stretch;background:var(--color-white, #fff);border-radius:12px;border:1px solid var(--tef-border, #E6E6E6);margin-bottom:1.5rem;overflow:hidden;animation:dashFadeIn .45s ease-out both}.stats-item{flex:1;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:1rem 1.25rem;border-left:1px solid var(--tef-border, #E6E6E6);transition:background .18s ease;text-decoration:none;color:inherit}.stats-item:first-child{border-left:none}.stats-item:hover{background:var(--color-gray-50, #FAFBFC)}.stats-item-value{font-size:1.65rem;font-weight:800;line-height:1}.stats-item-label{font-size:.72rem;font-weight:600;color:var(--tef-gray-medium, #50535A);text-transform:uppercase;letter-spacing:.4px}.stats-item-primary .stats-item-value{color:#019df4}.stats-item-info .stats-item-value{color:#0066b3}.stats-item-danger .stats-item-value{color:#e74c3c}.stats-item-success .stats-item-value{color:#5bc500}.dashboard-section{margin-bottom:1.75rem;animation:dashFadeIn .5s ease-out both}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h2{margin:0;font-size:1.35rem;font-weight:700;color:var(--tef-dark, #0B2739)}.link-secondary{display:inline-flex;align-items:center;gap:.3rem;color:var(--color-primary, #019DF4);font-weight:600;font-size:.85rem;transition:gap .15s ease}.link-secondary:hover{gap:.55rem;color:var(--color-primary-dark, #0066B3)}.metrics-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.metrics-card{animation:dashFadeIn .5s ease-out both}.metrics-card .card-header h3{display:flex;align-items:center;gap:.5rem}.metrics-period{font-size:.75rem;color:var(--tef-gray-light, #86888C);font-weight:500}.trend-chart{display:flex;align-items:flex-end;gap:.75rem;height:160px;padding-top:.5rem}.trend-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;height:100%}.trend-bar-value{font-size:.72rem;font-weight:700;color:var(--tef-dark, #0B2739)}.trend-bar-track{flex:1;width:100%;max-width:44px;background:var(--color-gray-100, #F0F1F3);border-radius:8px;display:flex;align-items:flex-end;overflow:hidden}.trend-bar-fill{width:100%;height:var(--bar-height, 0%);background:linear-gradient(180deg,#019df4,#0066b3);border-radius:8px;transition:height .8s cubic-bezier(.4,0,.2,1);min-height:4px}.trend-bar-label{font-size:.72rem;color:var(--tef-gray-medium, #50535A);font-weight:600;text-transform:capitalize}.file-processing-stats{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1rem 0}.processing-ring{width:110px;height:110px;border-radius:50%;background:conic-gradient(#5BC500 0deg var(--processed-pct, 0deg),var(--color-gray-200, #E6E6E6) var(--processed-pct, 0deg) 360deg);display:flex;align-items:center;justify-content:center;position:relative}.processing-ring:before{content:"";width:76px;height:76px;border-radius:50%;background:var(--color-white, #fff);position:absolute}.processing-ring-value{position:relative;z-index:1;font-size:1.5rem;font-weight:700;color:var(--tef-dark, #0B2739)}.processing-legend{display:flex;flex-direction:column;gap:.65rem;width:100%}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-processed{background:#5bc500}.legend-pending{background:var(--color-gray-300, #D1D5DB)}.legend-label{flex:1;font-size:.82rem;color:var(--tef-gray-medium, #50535A)}.legend-count{font-weight:700;font-size:.9rem;color:var(--tef-dark, #0B2739)}.workflow-pipeline{display:flex;align-items:flex-start;justify-content:space-between;background:var(--color-white, #fff);border-radius:16px;padding:1.5rem 1.75rem 1.25rem;box-shadow:0 2px 8px #0000000d;border:1px solid var(--tef-border, #E6E6E6);position:relative;animation:dashFadeIn .5s ease-out both}.pipeline-stage{display:flex;flex-direction:column;align-items:center;gap:.7rem;position:relative;flex:1;min-width:110px}.pipeline-node{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;z-index:2;box-shadow:0 4px 16px #0000001f}.pipeline-node:hover{transform:scale(1.12)}.pipeline-count{font-size:1.25rem;font-weight:700;color:#fff;line-height:1}.pipeline-label{font-size:.7rem;font-weight:600;color:var(--tef-gray-medium, #50535A);text-align:center;text-transform:uppercase;letter-spacing:.4px;max-width:110px;line-height:1.3}.pipeline-connector{position:absolute;top:30px;right:-12px;color:var(--tef-gray-light, #B0B3B8);z-index:3;display:flex;align-items:center}.pipeline-stage:not(:last-child):after{content:"";position:absolute;top:29px;left:calc(50% + 34px);right:calc(-50% + 34px);height:2px;background:var(--tef-border, #E6E6E6);z-index:1}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem;animation:dashFadeIn .5s ease-out .15s both}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:2px solid var(--color-gray-100, #F0F1F3)}.card-header h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--tef-dark, #0B2739)}.card-header-actions{display:flex;align-items:center;gap:.65rem}.header-count{background:var(--tef-blue, #019DF4);color:#fff;font-size:.7rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;min-width:22px;text-align:center}.client-list{display:flex;flex-direction:column;gap:.75rem}.client-item{display:flex;align-items:center;gap:.85rem;padding:.75rem;border-radius:10px;transition:all .18s ease;border:1px solid var(--color-gray-200, #E6E6E6)}.client-item:hover{background:var(--color-gray-50, #FAFBFC);border-color:var(--tef-blue, #019DF4);transform:translate(4px)}.client-avatar{width:44px;height:44px;border-radius:50%;background:var(--color-primary, #019DF4);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.client-info{flex:1;min-width:0}.client-info h4{margin:0 0 .15rem;font-size:.9rem;color:var(--color-gray-900, #0B2739);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.client-info p{margin:0;font-size:.78rem;color:var(--color-gray-500, #86888C)}.empty-state{text-align:center;color:var(--color-gray-500, #86888C);padding:2.5rem 1rem;margin:0;font-size:.9rem}.activity-list{display:flex;flex-direction:column;gap:.85rem}.activity-item{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;border-radius:12px;background:var(--color-gray-50, #FAFBFC);border:1px solid var(--color-gray-100, #F0F1F3);transition:all .18s ease}.activity-item:hover{background:var(--color-white, #fff);border-color:var(--color-gray-200, #E6E6E6);box-shadow:0 2px 8px #0000000a}.activity-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.activity-content{flex:1}.activity-title{font-size:.8rem;color:var(--color-gray-600, #50535A);margin:0 0 .15rem}.activity-value{font-size:1.2rem;font-weight:700;color:var(--color-gray-900, #0B2739);margin:0}.badge-primary{background:var(--color-primary, #019DF4);color:#fff}.badge-info{background:var(--color-info, #019DF4);color:#fff}@media(max-width:1024px){.metrics-grid{grid-template-columns:1fr}}@media(max-width:768px){.dashboard-container{padding:1.5rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.dashboard-greeting{font-size:1.4rem}.btn-cta{width:100%;justify-content:center}.stats-bar{flex-wrap:wrap}.stats-item{flex:1 1 45%;border-left:none;border-bottom:1px solid var(--tef-border, #E6E6E6);justify-content:flex-start}.dashboard-grid,.metrics-grid{grid-template-columns:1fr}.trend-chart{height:150px}.workflow-pipeline{flex-direction:column;align-items:stretch;gap:.5rem;padding:1.5rem}.pipeline-stage{flex-direction:row;gap:1rem;min-width:auto;padding:.5rem 0}.pipeline-node{width:52px;height:52px;flex-shrink:0}.pipeline-count{font-size:1.15rem}.pipeline-label{text-align:left;max-width:none;font-size:.78rem}.pipeline-connector{display:none}.pipeline-stage:not(:last-child):after{display:none}}.subscription-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.8125rem;font-weight:600;white-space:nowrap}.subscription-badge .badge-icon{font-size:.875rem;line-height:1}.subscription-badge.badge-success{background:linear-gradient(135deg,var(--tef-green, #5BC500) 0%,#4CAF50 100%);color:#fff;box-shadow:0 2px 8px #5bc5004d}.subscription-badge.badge-warning{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 2px 8px #ff98004d;animation:pulse 2s ease-in-out infinite}.subscription-badge.badge-danger{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;box-shadow:0 2px 8px #dc35454d}.subscription-badge.badge-secondary{background:linear-gradient(135deg,var(--tef-gray-light, #86888C) 0%,var(--tef-gray-medium, #50535A) 100%);color:#fff;box-shadow:0 2px 8px #50535a4d}@keyframes pulse{0%,to{box-shadow:0 2px 8px #ff98004d}50%{box-shadow:0 2px 16px #ff980099}}.toast-container{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:1100;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;min-width:280px;max-width:360px;padding:14px 16px;border-radius:12px;background:var(--tef-white, #FFFFFF);border-left:4px solid var(--tef-blue, #019DF4);box-shadow:0 15px 35px #0b273926;color:var(--tef-dark, #0B2739);pointer-events:auto;animation:toast-slide-in .25s ease forwards}.toast strong{display:block;font-size:.9375rem;margin-bottom:2px;color:var(--tef-dark, #0B2739)}.toast span{font-size:.8125rem;color:var(--tef-gray-medium, #50535A)}.toast-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#019df41a;color:var(--tef-blue, #019DF4);flex-shrink:0}.toast-dismiss{border:none;background:transparent;color:var(--tef-gray-light, #86888C);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s ease,color .2s ease}.toast-dismiss:hover{background:#019df414;color:var(--tef-blue, #019DF4)}.toast-success{border-left-color:var(--tef-green, #5BC500)}.toast-success .toast-icon{background:#5bc5001f;color:var(--tef-green, #5BC500)}.toast-warning{border-left-color:#ffc107}.toast-warning .toast-icon{background:#ffc10726;color:#c99700}.toast-danger,.toast-error{border-left-color:#dc3545}.toast-danger .toast-icon,.toast-error .toast-icon{background:#dc354526;color:#dc3545}.toast-info{border-left-color:var(--tef-blue, #019DF4)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.confirm-overlay{position:fixed;inset:0;background:#0b273999;display:flex;align-items:center;justify-content:center;padding:24px;z-index:1090;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog{background:var(--tef-white, #FFFFFF);border-radius:16px;max-width:460px;width:100%;box-shadow:0 25px 55px #0b273940;animation:confirm-pop .22s ease forwards;overflow:hidden}.confirm-icon{width:100%;display:flex;align-items:center;justify-content:center;padding:18px 0;border-bottom:1px solid var(--tef-border, #E6E6E6)}.confirm-icon svg{color:var(--tef-blue, #019DF4)}.confirm-icon.tone-danger{background:#dc35451f}.confirm-icon.tone-danger svg{color:#dc3545}.confirm-icon.tone-warning{background:#ffc10726}.confirm-icon.tone-warning svg{color:#c99700}.confirm-body{padding:24px 24px 10px;display:flex;flex-direction:column;gap:12px}.confirm-body h2{margin:0;font-size:1.25rem;color:var(--tef-dark, #0B2739)}.confirm-body p{margin:0;font-size:.9375rem;color:var(--tef-gray-medium, #50535A);line-height:1.45}.confirm-body textarea{width:100%;border-radius:12px;border:1px solid var(--tef-border, #E6E6E6);padding:10px 12px;font-size:.875rem;resize:vertical;transition:border .2s ease,box-shadow .2s ease}.confirm-body textarea:focus{outline:none;border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41f}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;padding:0 24px 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;border-radius:10px;padding:10px 18px;border:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.btn:active{transform:translateY(1px)}.btn-secondary{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);border:1px solid var(--tef-border, #E6E6E6)}.btn-primary{background:var(--tef-blue, #019DF4);color:#fff;box-shadow:0 12px 25px #019df440}.btn-primary:hover{background:#0182d4}.btn-warning{background:#ffc107;color:var(--tef-dark, #0B2739);box-shadow:0 12px 25px #ffc10747}.btn-warning:hover{background:#e0a800}.btn-danger{background:#dc3545;color:#fff;box-shadow:0 12px 25px #dc354547}.btn-danger:hover{background:#c82333}@keyframes confirm-pop{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.toast-container{inset:auto 16px 24px;align-items:stretch}.toast{width:100%;max-width:none}.confirm-dialog{max-width:100%}}.clients-page{padding:2rem 0;min-height:calc(100vh - 70px);background:var(--tef-bg-light, #F5F5F5);max-width:100%;width:100%}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.page-header h1{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--tef-dark, #0B2739);font-size:1.5rem;font-weight:600}.page-subtitle{color:var(--tef-gray-medium, #50535A);margin-top:.25rem}.search-filter-row{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}.search-box{position:relative;flex:1}.search-box svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--tef-gray-light, #86888C)}.search-box input{width:100%;padding:.625rem 1rem .625rem 2.75rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;font-size:.9375rem;background:var(--tef-white, #FFFFFF)}.search-box input:focus{outline:none;border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.filter-buttons{display:flex;gap:.25rem;background:var(--tef-white, #FFFFFF);padding:4px;border-radius:8px;border:1px solid var(--tef-border, #E6E6E6)}.filter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:500;color:var(--tef-gray-medium, #50535A);cursor:pointer;transition:all .2s;white-space:nowrap}.filter-btn:hover{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-dark, #0B2739)}.filter-btn.active{background:var(--tef-blue, #019DF4);color:var(--tef-white, #FFFFFF);box-shadow:0 2px 8px #019df440}.clients-table{padding:0}.clients-table-container{width:100%;overflow-x:hidden}.clients-table table{width:100%;border-collapse:collapse;table-layout:fixed}.clients-table th{text-align:left;padding:.55rem;background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);font-weight:600;font-size:.66rem;text-transform:uppercase;letter-spacing:.2px;border-bottom:2px solid var(--color-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.col-empresa{width:15%}.col-contacto{width:14%}.col-consultores{width:10%}.col-proveedor{width:8%}.col-riesgo{width:7%}.col-vulns{width:12%}.col-informes{width:5%}.col-pqc,.col-fsoc,.col-contrato{width:7%}.col-workflow{width:8%}.col-acciones{width:10%}.combined-metric{display:inline-flex;flex-direction:column;align-items:center;gap:2px;line-height:1}.combined-metric .metric-score{font-weight:700;font-size:.95rem}.combined-metric .metric-count{font-size:.62rem;color:#94a3b8;font-weight:500}.clients-table td{padding:.55rem;border-bottom:1px solid var(--color-border);color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;font-size:.78rem}.contact-cell .contact-item{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clients-table tbody tr{transition:background-color .2s}.clients-table tbody tr:hover{background:var(--color-background)}.client-name{display:flex;align-items:center;gap:.5rem;min-width:0}.client-avatar-small{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.client-name span:not(.client-avatar-small){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-name-info{display:flex;flex-direction:column;gap:2px;min-width:0}.client-name-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.client-domain{display:flex;align-items:center;gap:3px;font-size:.72rem;color:var(--tef-gray-light, #86888C);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-risk-critical{background:linear-gradient(135deg,#dc2626,#991b1b)!important;box-shadow:0 0 0 2px #dc26264d}.avatar-risk-high{background:linear-gradient(135deg,#ea580c,#c2410c)!important;box-shadow:0 0 0 2px #ea580c4d}.avatar-risk-medium{background:linear-gradient(135deg,#d97706,#b45309)!important}.avatar-risk-low{background:linear-gradient(135deg,#16a34a,#15803d)!important}.avatar-risk-none{background:linear-gradient(135deg,#6b7280,#4b5563)!important}.contact-info{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.85rem}.contact-info .text-muted{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .6rem;font-size:.65rem;font-weight:600;border-radius:12px;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.badge-medium{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f}.badge-info{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.badge-high{background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff}.badge-low{background:linear-gradient(135deg,#34d399,#10b981);color:#fff}.badge-primary{background:linear-gradient(135deg,#019df4,#07c);color:#fff}.clients-page .action-buttons{display:flex;gap:4px}.clients-page .btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;min-width:32px;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a;background:linear-gradient(135deg,#019df4,#07c);padding:0}.clients-page .btn-icon svg{color:#fff!important;stroke:#fff!important;width:15px;height:15px}.clients-page .btn-icon:hover{transform:translateY(-2px);box-shadow:0 4px 12px #019df466;background:linear-gradient(135deg,#07c,#059)}.clients-page .btn-icon.btn-edit{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.clients-page .btn-icon.btn-edit:hover{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b66}.clients-page .btn-icon.btn-danger{background:linear-gradient(135deg,#f87171,#ef4444)}.clients-page .btn-icon.btn-danger:hover{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444466}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl)}.empty-state svg{margin-bottom:var(--spacing-lg)}.empty-state h3{margin-bottom:var(--spacing-sm);color:var(--color-text-dark)}.empty-state p{color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.modal-overlay{position:fixed;inset:0;background:#0b2739b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-md);animation:fadeIn .2s}.modal-content{background:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:700px;width:95%;max-height:90vh;overflow-y:auto;animation:slideUp .3s}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:var(--font-size-xl);color:var(--color-text-dark)}.btn-close{background:none;border:none;font-size:28px;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all .2s}.btn-close:hover{background:var(--color-background);color:var(--color-text-dark)}.modal-content form{padding:var(--spacing-xl)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.alert-error{background:var(--color-danger-light);color:var(--color-danger);border:1px solid var(--color-danger)}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 70px);gap:var(--spacing-md)}@media(max-width:768px){.page-header{flex-direction:column;align-items:stretch}.clients-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.clients-table{font-size:var(--font-size-sm);min-width:700px}.clients-table th,.clients-table td{padding:var(--spacing-sm) var(--spacing-md)}.contact-info{font-size:var(--font-size-xs)}.action-buttons{flex-direction:column;gap:.5rem}.action-buttons button{width:100%}}@media(max-width:480px){.clients-table{min-width:600px;font-size:.75rem}.clients-table th,.clients-table td{padding:.5rem}}.header-actions{display:flex;gap:.75rem;align-items:center}.modal-import{max-width:600px}.modal-import .modal-header h2{display:flex;align-items:center;gap:.5rem}.modal-body{padding:1.5rem}.drop-zone{border:2px dashed #cbd5e1;border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background:#f8fafc;margin-bottom:1.5rem}.drop-zone:hover{border-color:#019df4;background:#f0f9ff}.drop-zone.has-file{border-color:#10b981;background:#f0fdf4}.drop-placeholder{color:#64748b}.drop-placeholder svg{color:#94a3b8;margin-bottom:.5rem}.drop-placeholder p{margin:.25rem 0}.drop-placeholder .text-muted{font-size:.85rem;color:#94a3b8}.file-selected{color:#10b981}.file-selected .file-icon{color:#10b981;margin-bottom:.5rem}.file-selected .file-name{font-weight:600;margin:.25rem 0;color:#0f172a}.file-selected .file-size{font-size:.85rem;color:#64748b;margin:0}.import-info{background:#f1f5f9;border-radius:8px;padding:1rem 1.25rem}.import-info h4{margin:0 0 .5rem;font-size:.9rem;color:#0f172a}.import-info p{margin:0 0 .75rem;font-size:.85rem;color:#475569}.import-info ul{margin:0;padding-left:1.25rem}.import-info li{font-size:.85rem;color:#475569;margin-bottom:.35rem}.import-info li strong{color:#0f172a}.import-results{padding:.5rem 0}.results-summary{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.result-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.5rem;border-radius:12px;min-width:100px}.result-stat span{font-size:1.75rem;font-weight:700}.result-stat label{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.result-stat.success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.result-stat.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.result-stat.error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b}.result-section{margin-bottom:1rem}.result-section h4{display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.result-section h4 svg{flex-shrink:0}.result-section ul{margin:0;padding-left:1.5rem;max-height:150px;overflow-y:auto}.result-section li{font-size:.85rem;color:#475569;margin-bottom:.25rem}.result-section li.more{color:#94a3b8;font-style:italic}.security-stats-bar{display:flex;gap:.75rem;margin-bottom:1.25rem}.sec-stat-card{flex:1;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:10px;border:1px solid transparent}.sec-stat-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;flex-shrink:0}.sec-stat-body{display:flex;flex-direction:column;gap:1px}.sec-stat-value{font-size:1.375rem;font-weight:700;line-height:1}.sec-stat-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.4px;opacity:.75}.sec-stat-clients{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.sec-stat-clients .sec-stat-icon{background:#bae6fd;color:#0369a1}.sec-stat-critical{background:#fff1f2;border-color:#fecdd3;color:#be123c}.sec-stat-critical .sec-stat-icon{background:#fecdd3;color:#be123c}.sec-stat-high{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.sec-stat-high .sec-stat-icon{background:#fed7aa;color:#c2410c}.sec-stat-audits{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}.sec-stat-audits .sec-stat-icon{background:#bbf7d0;color:#15803d}.sec-stat-risk{background:#faf5ff;border-color:#e9d5ff;color:#7c3aed}.sec-stat-risk .sec-stat-icon{background:#e9d5ff;color:#7c3aed}.risk-score-cell{display:inline-flex;flex-direction:column;align-items:center;gap:3px;line-height:1}.risk-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:6px;font-size:.625rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.risk-critical{background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;box-shadow:0 1px 4px #dc262666}.risk-high{background:linear-gradient(135deg,#ea580c,#c2410c);color:#fff;box-shadow:0 1px 4px #ea580c59}.risk-medium{background:linear-gradient(135deg,#d97706,#b45309);color:#fff;box-shadow:0 1px 4px #d977064d}.risk-low{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff}.risk-none{background:#e5e7eb;color:#6b7280}.risk-score-num{font-size:.68rem;font-weight:700;color:var(--tef-gray-medium, #50535A);background:#f3f4f6;padding:1px 5px;border-radius:4px}.vuln-pills{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.vuln-pill{display:inline-flex;align-items:center;padding:2px 7px;border-radius:5px;font-size:.67rem;font-weight:700;letter-spacing:.2px;white-space:nowrap}.vuln-critical{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.vuln-high{background:#ffedd5;color:#ea580c;border:1px solid #fdba74}.vuln-medium{background:#fef3c7;color:#d97706;border:1px solid #fcd34d}.vuln-low{background:#dcfce7;color:#16a34a;border:1px solid #86efac}.vuln-none{font-size:.72rem;color:#9ca3af;font-style:italic}.contact-cell{display:flex;flex-direction:column;gap:3px;max-width:200px}.contact-item{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-item svg{color:#94a3b8;flex-shrink:0}.contact-none{color:#94a3b8;font-size:.75rem}.consultores-cell{display:flex;flex-wrap:wrap;gap:4px}.consultores-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:12px;font-size:.72rem;font-weight:500;white-space:nowrap}.consultores-none{font-size:.72rem;color:#9ca3af;font-style:italic}.provider-cell{display:flex;flex-wrap:wrap;gap:4px}.provider-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe;border-radius:12px;font-size:.72rem;font-weight:500;white-space:nowrap}.provider-none{font-size:.72rem;color:#9ca3af;font-style:italic}.reports-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#f1f5f9;color:#475569;border-radius:6px;font-size:.8rem;font-weight:600}@media(max-width:1024px){.security-stats-bar{flex-wrap:wrap}.sec-stat-card{flex:1 1 calc(50% - .375rem);min-width:140px}}@media(max-width:768px){.security-stats-bar{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}}.severity-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.severity-badge.size-small{padding:3px 8px;font-size:.65rem}.severity-badge.size-large{padding:8px 14px;font-size:.875rem}.severity-critical{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#991b1b;border:1px solid #fca5a5}.severity-high{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#9a3412;border:1px solid #fdba74}.severity-medium{background:linear-gradient(135deg,#fef08a,#fde047);color:#854d0e;border:1px solid #fde047}.severity-low{background:linear-gradient(135deg,#bbf7d0,#86efac);color:#166534;border:1px solid #86efac}.severity-info{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3;border:1px solid #c7d2fe}.findings-table-container{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.findings-table{width:100%;border-collapse:collapse}.findings-table th{background:#f9fafb;padding:12px 16px;text-align:left;font-weight:600;color:#374151;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.findings-table td{padding:14px 16px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.finding-row{cursor:pointer;transition:background .2s}.finding-row:hover{background:#f9fafb}.finding-row.expanded{background:#eff6ff}.col-expand{width:40px;color:#9ca3af}.col-severity{width:100px}.col-title{min-width:250px}.col-category{width:120px}.col-resource{width:180px}.col-status{width:140px}.col-actions{width:50px}.finding-title{display:flex;flex-direction:column;gap:4px}.title-text{color:#1f2937;font-weight:500;font-size:.875rem;line-height:1.4}.finding-id{font-size:.75rem;color:#6b7280;font-family:monospace}.category-badge{display:inline-block;padding:4px 10px;background:#f3f4f6;color:#4b5563;border-radius:6px;font-size:.75rem;font-weight:500;text-transform:uppercase}.resource-name{display:block;color:#374151;font-size:.875rem;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.region-badge{display:inline-block;margin-top:4px;padding:2px 6px;background:#dbeafe;color:#1d4ed8;border-radius:4px;font-size:.7rem;font-weight:500}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:500;white-space:nowrap}.status-badge svg{flex-shrink:0}.status-badge.status-open{background:#fef2f2;color:#dc2626}.status-badge.status-in_progress{background:#fff7ed;color:#ea580c}.status-badge.status-resolved{background:#f0fdf4;color:#16a34a}.status-badge.status-false_positive{background:#f3f4f6;color:#6b7280}.status-badge.status-accepted_risk{background:#fefce8;color:#ca8a04}.status-badge.status-wont_fix{background:#f3f4f6;color:#6b7280}.action-menu-container{position:relative}.btn-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:background .2s,color .2s}.btn-action:hover{background:#f3f4f6;color:#374151}.action-menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:50;overflow:hidden}.action-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;text-align:left;cursor:pointer;color:#374151;font-size:.8rem}.action-menu button:hover{background:#f3f4f6}.action-menu hr{margin:4px 0;border:none;border-top:1px solid #e5e7eb}.finding-details-row{background:#f9fafb}.finding-details-row td{padding:0}.finding-details{padding:20px 24px;border-left:4px solid #3b82f6;margin:0 16px 16px;background:#fff;border-radius:0 8px 8px 0}.detail-section{margin-bottom:16px}.detail-section:last-child{margin-bottom:0}.detail-section h4{font-size:.75rem;text-transform:uppercase;color:#6b7280;margin-bottom:6px;letter-spacing:.05em}.detail-section p{color:#374151;font-size:.875rem;line-height:1.6;margin:0}.detail-section code{display:block;padding:10px 14px;background:#1f2937;color:#f9fafb;border-radius:6px;font-size:.8rem;overflow-x:auto;margin-bottom:6px}.detail-section code.arn{font-size:.75rem;background:#111827}.detail-section pre{padding:12px;background:#f3f4f6;border-radius:6px;font-size:.75rem;overflow-x:auto;margin:0}.compliance-tags{display:flex;flex-wrap:wrap;gap:6px}.compliance-tag{padding:4px 10px;background:#dbeafe;color:#1d4ed8;border-radius:4px;font-size:.75rem;font-weight:500}.status-notes{background:#fefce8;padding:12px;border-radius:8px;border:1px solid #fde68a}.status-notes h4{display:flex;align-items:center;gap:6px;color:#92400e}.status-notes p{color:#78350f}.status-notes .changed-by{display:block;margin-top:8px;font-size:.75rem;color:#a16207}.detail-meta{display:flex;gap:20px;padding-top:12px;border-top:1px solid #e5e7eb;margin-top:16px}.detail-meta span{font-size:.75rem;color:#6b7280}.findings-empty{text-align:center;padding:60px 20px;color:#6b7280}.findings-empty svg{color:#d1d5db;margin-bottom:16px}.findings-empty h3{margin:0 0 8px;color:#374151}.findings-empty p{margin:0;font-size:.875rem}.findings-pagination{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid #e5e7eb;background:#f9fafb}.pagination-info{font-size:.875rem;color:#6b7280}.pagination-buttons{display:flex;align-items:center;gap:12px}.pagination-buttons button{padding:6px 14px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s,border-color .2s}.pagination-buttons button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination-buttons button:disabled{opacity:.5;cursor:not-allowed}.page-indicator{font-size:.875rem;color:#6b7280}.ai-remediation-section{margin-top:16px;padding-top:16px;border-top:1px dashed #e5e7eb}.btn-ai-remediation{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,var(--tef-blue, #019DF4),var(--tef-blue-dark, #0066B3));color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #019df44d}.btn-ai-remediation:hover:not(:disabled){background:linear-gradient(135deg,var(--tef-blue-dark, #0066B3),#004C8C);box-shadow:0 4px 14px #019df466;transform:translateY(-1px)}.btn-ai-remediation:disabled{opacity:.7;cursor:wait}.btn-ai-remediation.active{background:linear-gradient(135deg,var(--tef-blue-dark, #0066B3),#003D73)}.btn-ai-remediation .spin{animation:spin 1s linear infinite}.ai-error{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px 14px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:8px;font-size:.8rem}.ai-error button{margin-left:auto;padding:4px 12px;background:#fff;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.75rem;cursor:pointer;transition:background .2s}.ai-error button:hover{background:#fef2f2}.ai-remediation-panel{margin-top:16px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #c4b5fd;border-radius:12px;overflow:hidden;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:2000px;transform:translateY(0)}}.ai-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:linear-gradient(135deg,var(--tef-blue, #019DF4),var(--tef-blue-dark, #0066B3));color:#fff}.ai-panel-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem}.ai-panel-meta{display:flex;align-items:center;gap:10px}.ai-model-badge{padding:3px 10px;background:#fff3;border-radius:12px;font-size:.7rem;font-weight:500}.ai-timestamp{font-size:.7rem;opacity:.8}.ai-section{padding:16px 18px;border-bottom:1px solid #ddd6fe}.ai-section:last-child{border-bottom:none}.ai-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ai-section-header h5{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#6d28d9;font-weight:600}.btn-copy-ai{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fff;border:1px solid #c4b5fd;border-radius:6px;cursor:pointer;color:#6d28d9;transition:all .2s}.btn-copy-ai:hover{background:#ede9fe;border-color:#8b5cf6}.ai-summary p{margin:0;color:#374151;font-size:.875rem;line-height:1.7;font-style:italic}.ai-detailed{background:#ffffff80}.ai-plan-content{color:#374151;font-size:.875rem;line-height:1.7}.ai-plan-content h6{margin:14px 0 6px;font-size:.85rem;color:var(--tef-blue-dark, #0066B3);font-weight:700}.ai-plan-content p{margin:4px 0}.ai-plan-content .ai-plan-heading{margin:14px 0 6px;font-size:.85rem}.ai-plan-content .ai-plan-heading strong{color:var(--tef-blue-dark, #0066B3)}.ai-plan-content .ai-plan-step{padding-left:8px;border-left:2px solid rgba(1,157,244,.3);margin:6px 0}.security-tab{padding:0}.security-tab-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.security-tab-loading .spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.security-header,.security-tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.security-tab-title{display:flex;align-items:center;gap:12px}.security-tab-title h2{margin:0;font-size:1.5rem;color:#1f2937}.security-tab-title svg{color:#3b82f6}.security-tab-actions,.security-title{display:flex;align-items:center;gap:12px}.security-title h2{margin:0;font-size:1.5rem;color:#1f2937}.security-title svg{color:#3b82f6}.security-actions{display:flex;align-items:center;gap:12px}.security-stats,.security-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.security-stat-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.security-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.security-stat-card .stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.security-stat-card .stat-content{display:flex;flex-direction:column;gap:4px}.security-stat-card .stat-value{font-size:1.75rem;font-weight:700;color:#1f2937;line-height:1}.security-stat-card .stat-label{font-size:.875rem;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.security-stat-card.critical .stat-icon{background:#fef2f2;color:#dc2626}.security-stat-card.high .stat-icon{background:#fff7ed;color:#ea580c}.security-stat-card.medium .stat-icon{background:#fefce8;color:#ca8a04}.security-stat-card.low .stat-icon{background:#f0fdf4;color:#16a34a}.security-stat-card.score .stat-icon{background:#eff6ff;color:#2563eb}.security-stat-card.score.good .stat-icon{background:#f0fdf4;color:#16a34a}.security-stat-card.score.medium .stat-icon{background:#fefce8;color:#ca8a04}.security-stat-card.score.poor .stat-icon{background:#fef2f2;color:#dc2626}.stat-card{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card .stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:10px}.stat-card.critical .stat-icon{background:#fef2f2;color:#dc2626}.stat-card.high .stat-icon{background:#fff7ed;color:#ea580c}.stat-card.medium .stat-icon{background:#fefce8;color:#ca8a04}.stat-card.low .stat-icon{background:#f0fdf4;color:#16a34a}.stat-card.score .stat-icon{background:#eff6ff;color:#2563eb}.stat-card.score.good .stat-icon{background:#f0fdf4;color:#16a34a}.stat-card.score.medium .stat-icon{background:#fefce8;color:#ca8a04}.stat-card.score.poor .stat-icon{background:#fef2f2;color:#dc2626}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;color:#1f2937;line-height:1}.stat-label{font-size:.875rem;color:#6b7280;margin-top:4px}.recent-scans{margin-bottom:24px}.recent-scans h3{font-size:1rem;color:#374151;margin-bottom:12px}.scans-list{display:flex;flex-direction:column;gap:6px}.scan-item{display:flex;align-items:center;padding:10px 14px;background:#f9fafb;border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s;border:2px solid transparent;gap:10px;min-width:0}.scan-item:hover{background:#f3f4f6}.scan-item.selected{border-color:#3b82f6;background:#eff6ff}.scan-item .btn-danger-subtle{background:transparent;border:none;color:#ef4444;padding:6px;border-radius:6px;cursor:pointer;transition:all .2s;opacity:.6;flex-shrink:0}.scan-item:hover .btn-danger-subtle{opacity:1}.scan-item .btn-danger-subtle:hover{background:#fee2e2;color:#dc2626;transform:scale(1.1)}.scan-info{display:flex;flex-direction:column;gap:2px}.scan-item .scan-details{flex:1;min-width:0}.scan-name{font-weight:500;color:#1f2937;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.scan-date{font-size:.75rem;color:#6b7280;display:flex;align-items:center;flex-wrap:wrap}.scan-user{display:inline-flex;align-items:center;color:#8b5cf6;font-weight:500;font-size:.7rem}.scan-stats{display:flex;align-items:center;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.scan-stats span{padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600}.scan-stats .critical{background:#fef2f2;color:#dc2626}.scan-stats .high{background:#fff7ed;color:#ea580c}.scan-stats .medium{background:#fefce8;color:#ca8a04}.scan-stats .status{display:flex;align-items:center;background:transparent}.scan-stats .status-completed{color:#16a34a}.scan-stats .status-running{color:#3b82f6}.scan-stats .status-failed{color:#dc2626}.btn-icon-danger{background:none;border:none;padding:4px;border-radius:4px;cursor:pointer;color:#94a3b8;display:flex;align-items:center;transition:all .15s}.btn-icon-danger:hover{color:#dc2626;background:#fef2f2}.findings-filters{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;padding:12px 16px;background:#f9fafb;border-radius:8px}.filter-group{display:flex;align-items:center;gap:8px}.filter-group select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.875rem;color:#374151}.filter-group.search{flex:1;min-width:200px}.filter-group.search input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.btn-primary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--tef-blue, #019DF4);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;min-height:40px}.btn-primary:hover:not(:disabled){background:#0182d4;transform:translateY(-1px);box-shadow:0 4px 12px #019df44d}.btn-primary:disabled{background:var(--tef-gray-light, #86888C);cursor:not-allowed;opacity:.6}.btn-secondary{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--tef-white, #FFFFFF);color:var(--tef-dark, #0B2739);border:2px solid var(--tef-border, #E6E6E6);border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;min-height:40px}.btn-secondary:hover:not(:disabled){background:var(--tef-bg-light, #F5F5F5);border-color:var(--tef-blue, #019DF4);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.security-scanning-container .btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:40px;min-width:40px;background:var(--tef-white, #FFFFFF);color:var(--tef-gray-medium, #50535A);border:2px solid var(--tef-border, #E6E6E6);border-radius:8px;cursor:pointer;transition:all .2s}.security-scanning-container .btn-icon:hover:not(:disabled){background:var(--tef-bg-light, #F5F5F5);color:var(--tef-blue, #019DF4);border-color:var(--tef-blue, #019DF4);transform:translateY(-1px)}.security-scanning-container .btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;min-height:40px;border:none;background:var(--tef-blue, #019DF4);color:#fff}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:var(--tef-white, #FFFFFF);color:var(--tef-blue, #019DF4);border:2px solid var(--tef-blue, #019DF4)}.btn-outline:hover:not(:disabled){background:var(--tef-blue, #019DF4);color:#fff}.btn-sm{padding:6px 12px;font-size:.8rem;min-height:32px}.scan-dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;background:var(--tef-white, #FFFFFF);border:2px solid var(--tef-border, #E6E6E6);border-radius:8px;box-shadow:0 10px 25px #00000026;z-index:50;display:none}.dropdown-menu.show{display:block}.dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:none;border:none;text-align:left;cursor:pointer;color:var(--tef-dark, #0B2739);font-size:.875rem;transition:background .2s;min-height:40px}.dropdown-menu button:hover:not(:disabled){background:var(--tef-bg-light, #F5F5F5);color:var(--tef-blue, #019DF4)}.dropdown-menu button:first-child{border-radius:8px 8px 0 0}.dropdown-menu button:last-child{border-radius:0 0 8px 8px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:#fff;border-radius:12px;padding:24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto}.modal h3{display:flex;align-items:center;gap:10px;margin:0 0 16px;color:#1f2937}.modal p{color:#6b7280;margin-bottom:20px}.file-drop-zone{position:relative;border:2px dashed var(--tef-border, #E6E6E6);border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;background:var(--tef-white, #FFFFFF)}.file-drop-zone:hover{border-color:var(--tef-blue, #019DF4);background:#019df40d}.file-drop-zone input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-drop-zone svg{color:#9ca3af;margin-bottom:8px}.file-drop-zone span{display:block;color:#6b7280;font-size:.875rem}.importing-status{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:#3b82f6}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:500;color:#374151;margin-bottom:6px;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.nessus-config-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px}.config-panel{background:#f9fafb;border-radius:10px;border:1px solid #e5e7eb;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#fff;border-bottom:1px solid #e5e7eb}.panel-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:600;color:#374151}.config-list{padding:12px;max-height:300px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.config-item{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;transition:border-color .15s}.config-item:hover{border-color:#93c5fd}.config-info{flex:1;min-width:0}.config-name{display:flex;align-items:center;gap:6px;font-weight:500;color:#1f2937;font-size:.875rem}.config-url{font-size:.75rem;color:#6b7280;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-actions{display:flex;gap:4px}.config-actions button{padding:6px;background:transparent;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s}.config-actions button:hover{background:#f3f4f6;color:#3b82f6}.config-actions button.danger:hover{background:#fef2f2;color:#dc2626}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:#9ca3af;text-align:center}.empty-state svg{margin-bottom:12px;opacity:.5}.empty-state p{margin:0;font-size:.875rem}.active-scan-banner{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;color:#fff;margin-bottom:24px}.active-scan-banner .scan-info{flex:1}.active-scan-banner .scan-name{font-weight:600;display:block}.active-scan-banner .scan-progress{font-size:.875rem;opacity:.9}.active-scan-banner .scan-started{font-size:.75rem;opacity:.8}.target-selection-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.target-selection-header label{margin:0;font-weight:500;font-size:.875rem;color:#374151}.btn-link{background:none;border:none;padding:0;font-size:.75rem;color:#2563eb;cursor:pointer;text-decoration:underline}.btn-link:hover{color:#1d4ed8}.target-selection{display:flex;flex-direction:column;gap:8px;max-height:240px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#f9fafb}.target-card{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;border:1.5px solid #e5e7eb;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;-webkit-user-select:none;user-select:none;min-height:0}.target-card:hover{border-color:#93c5fd;background:#eff6ff}.target-card.selected{border-color:#2563eb;background:#eff6ff;box-shadow:0 0 0 3px #2563eb1a}.target-card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:#e0e7ff;color:#4f46e5;flex-shrink:0}.target-card.selected .target-card-icon{background:#dbeafe;color:#2563eb}.target-card-info{flex:1;min-width:0}.target-card-info strong{display:block;font-size:.875rem;color:#1f2937;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-card-info small{display:block;font-size:.75rem;color:#6b7280;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.target-card-check{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;min-height:20px;border-radius:4px;border:2px solid #d1d5db;background:#fff;color:transparent;transition:all .15s;flex-shrink:0}.target-card-check svg{width:14px;height:14px}.target-card-check.visible{border-color:#2563eb;background:#2563eb;color:#fff}.target-selection-count{font-size:.75rem;color:#6b7280;margin-top:6px;text-align:right}.info-banner{display:flex;gap:12px;padding:16px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-bottom:24px;color:#1e40af}.info-banner svg{flex-shrink:0;margin-top:2px}.info-banner strong{color:#1e3a8a}.info-banner a{color:#2563eb;text-decoration:underline;margin-left:4px}.pk-score-overview{display:flex;gap:32px;padding:24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;margin-bottom:24px;border:1px solid #e2e8f0}.overall-score{display:flex;align-items:center;gap:20px;flex-shrink:0}.score-circle{width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:4px solid #e5e7eb;box-shadow:0 4px 12px #00000014}.score-circle[data-score=good]{border-color:#10b981;background:linear-gradient(135deg,#ecfdf5,#fff)}.score-circle[data-score=warning]{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fff)}.score-circle[data-score=poor]{border-color:#f97316;background:linear-gradient(135deg,#fff7ed,#fff)}.score-circle[data-score=critical]{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2,#fff)}.score-circle .score-value{font-size:1.75rem;font-weight:700;color:#1f2937}.score-circle .score-label{font-size:.75rem;color:#6b7280}.overall-score .score-info h3{margin:0 0 4px;font-size:1rem;color:#1f2937}.overall-score .score-info p{margin:0;font-size:.875rem;color:#6b7280}.category-scores{flex:1;display:flex;flex-direction:column;gap:12px}.category-score-item{display:flex;align-items:center;gap:12px}.category-header{display:flex;align-items:center;gap:6px;min-width:140px;font-size:.875rem;color:#374151}.score-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.category-score-item .score-value{min-width:40px;font-size:.875rem;font-weight:600;color:#374151;text-align:right}.pk-score-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.pk-score-badge.good{background:#dcfce7;color:#166534}.pk-score-badge.warning{background:#fef3c7;color:#92400e}.pk-score-badge.poor{background:#ffedd5;color:#9a3412}.pk-score-badge.critical{background:#fee2e2;color:#991b1b}.empty-state-large{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280;text-align:center}.empty-state-large svg{color:#d1d5db;margin-bottom:20px}.empty-state-large h3{margin:0 0 8px;font-size:1.125rem;color:#374151}.empty-state-large p{margin:0 0 20px;max-width:400px;font-size:.875rem;line-height:1.5}.import-instructions{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:20px}.import-instructions h4{margin:0 0 12px;font-size:.875rem;color:#374151}.import-instructions ol{margin:0;padding-left:20px}.import-instructions li{margin-bottom:8px;font-size:.875rem;color:#6b7280}.import-instructions a{color:#2563eb}.form-group textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s,box-shadow .2s}.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group small{display:block;margin-top:6px;font-size:.75rem;color:#6b7280}.form-group.checkbox label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-group.checkbox input[type=checkbox]{width:auto}.file-preview{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;background:#f3f4f6;border-radius:6px;font-size:.75rem;color:#374151}.modal-lg{max-width:600px}.text-muted{color:#9ca3af;font-size:.875rem}@media(max-width:768px){.nessus-config-section,.config-list,.scans-list{grid-template-columns:1fr}.pk-score-overview{flex-direction:column;gap:24px}.overall-score{justify-content:center}.category-header{min-width:100px;font-size:.75rem}}.reports-table-container{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.reports-info-table{width:100%;border-collapse:collapse;font-size:.875rem;table-layout:fixed}.reports-info-table thead{background:linear-gradient(135deg,#0b2739,#1a3a4f)}.reports-info-table th{padding:.875rem 1rem;text-align:left;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.reports-info-table .col-type{width:30%}.reports-info-table .col-findings{width:12%;text-align:center}.reports-info-table .col-date{width:22%}.reports-info-table .col-download{width:28%;text-align:center}.reports-info-table .col-actions{width:8%;text-align:center}.reports-info-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .15s ease}.reports-info-table tbody tr:hover{background:#019df40a}.reports-info-table tbody tr:last-child{border-bottom:none}.reports-info-table td{padding:.875rem 1rem;color:#313235;vertical-align:middle}.reports-info-table td.col-findings,.reports-info-table td.col-download,.reports-info-table td.col-actions{text-align:center}@media(max-width:768px){.reports-info-table .col-type{width:auto}.reports-info-table .col-findings{width:80px}.reports-info-table .col-date,.reports-info-table .col-download{width:auto}.reports-info-table .col-actions{width:50px}}.subscription-card{background:var(--tef-white, #FFFFFF);border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6)}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--tef-border, #E6E6E6)}.subscription-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--tef-dark, #0B2739);display:flex;align-items:center;gap:8px}.subscription-year{display:flex;align-items:center;gap:12px;margin-bottom:20px}.year-badge{background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,var(--tef-dark, #0B2739) 100%);color:#fff;padding:8px 20px;border-radius:12px;font-size:1.5rem;font-weight:700;box-shadow:0 4px 12px #019df44d}.year-label{color:var(--tef-gray-medium, #50535A);font-size:.875rem;font-weight:500}.subscription-dates{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;background:var(--tef-bg-light, #F5F5F5);border-radius:12px}.date-item{display:flex;align-items:center;gap:12px;flex:1}.date-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--tef-white, #FFFFFF);border-radius:10px;color:var(--tef-blue, #019DF4);box-shadow:0 2px 6px #0000000d}.date-info{display:flex;flex-direction:column;gap:4px}.date-label{font-size:.75rem;color:var(--tef-gray-light, #86888C);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.date-value{font-size:.9375rem;font-weight:600;color:var(--tef-dark, #0B2739)}.date-separator{font-size:1.5rem;color:var(--tef-blue, #019DF4);font-weight:300}.days-remaining{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#5bc5001a;border-radius:10px;color:var(--tef-green, #5BC500);font-weight:600;font-size:.875rem;margin-bottom:16px}.days-remaining.warning{background:#ffc10726;color:#e65100;animation:pulse-warning 2s ease-in-out infinite}.subscription-expired{display:flex;align-items:center;justify-content:center;padding:12px 16px;background:#dc35451a;border-radius:10px;color:#dc3545;font-weight:600;font-size:.875rem;margin-bottom:16px}.subscription-stats{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--tef-border, #E6E6E6)}.stat-box{display:flex;align-items:center;gap:12px;padding:12px;background:var(--tef-bg-light, #F5F5F5);border-radius:10px}.stat-box svg{color:var(--tef-blue, #019DF4)}.stat-label{flex:1;font-size:.8125rem;color:var(--tef-gray-medium, #50535A);font-weight:500}.stat-value{font-size:1.25rem;font-weight:700;color:var(--tef-dark, #0B2739)}@keyframes pulse-warning{0%,to{box-shadow:0 0 #e6510000}50%{box-shadow:0 0 20px #e651004d}}.subscription-history{background:var(--tef-white, #FFFFFF);border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6)}.subscription-history.empty{text-align:center;padding:40px 24px;color:var(--tef-gray-light, #86888C)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--tef-border, #E6E6E6)}.history-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--tef-dark, #0B2739);display:flex;align-items:center;gap:8px}.history-count{background:#019df41a;color:var(--tef-blue, #019DF4);padding:6px 12px;border-radius:12px;font-size:.8125rem;font-weight:600}.history-timeline{position:relative}.timeline-item{display:flex;gap:20px;position:relative;margin-bottom:24px}.timeline-item.first{margin-bottom:32px}.timeline-item:last-child{margin-bottom:0}.timeline-marker{display:flex;flex-direction:column;align-items:center;min-width:40px}.marker-dot{width:40px;height:40px;border-radius:50%;background:var(--tef-white, #FFFFFF);border:3px solid var(--tef-border, #E6E6E6);display:flex;align-items:center;justify-content:center;position:relative;z-index:2;transition:all .3s}.timeline-item.active .marker-dot{background:linear-gradient(135deg,var(--tef-green, #5BC500) 0%,#4CAF50 100%);border-color:var(--tef-green, #5BC500);box-shadow:0 0 0 6px #5bc5001a;animation:pulse-active 2s ease-in-out infinite}.timeline-item.active .marker-dot .status-icon{color:#fff}.marker-line{width:2px;flex:1;background:linear-gradient(180deg,var(--tef-border, #E6E6E6) 0%,transparent 100%);min-height:60px;margin-top:-6px}.status-icon{color:var(--tef-gray-light, #86888C)}.status-icon.active{color:var(--tef-green, #5BC500)}.status-icon.expired{color:#dc3545}.status-icon.cancelled{color:var(--tef-gray-light, #86888C)}.timeline-content{flex:1;padding-bottom:8px}.subscription-card-mini{background:var(--tef-bg-light, #F5F5F5);border:1px solid var(--tef-border, #E6E6E6);border-radius:12px;overflow:hidden;transition:all .3s}.timeline-item.active .subscription-card-mini{background:#5bc5000d;border-color:#5bc5004d;box-shadow:0 4px 16px #5bc50026}.subscription-card-mini:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.card-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--tef-border, #E6E6E6);flex-wrap:wrap}.timeline-item.active .card-header{border-bottom-color:#5bc50033}.year-badge-mini{background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,var(--tef-dark, #0B2739) 100%);color:#fff;padding:6px 16px;border-radius:8px;font-size:1rem;font-weight:700;box-shadow:0 2px 8px #019df44d}.type-badge{background:var(--tef-white, #FFFFFF);color:var(--tef-blue, #019DF4);padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:600;border:1px solid var(--tef-blue, #019DF4)}.status-badge{padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:600;margin-left:auto}.status-badge.status-active{background:#5bc50026;color:var(--tef-green, #5BC500)}.status-badge.status-expired{background:#dc354526;color:#dc3545}.status-badge.status-cancelled{background:#50535a26;color:var(--tef-gray-medium, #50535A)}.card-body{padding:16px}.date-range{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:12px;background:var(--tef-white, #FFFFFF);border-radius:10px}.date-item{display:flex;flex-direction:column;gap:4px;flex:1}.date-item .label{font-size:.6875rem;color:var(--tef-gray-light, #86888C);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.date-item .value{font-size:.875rem;font-weight:600;color:var(--tef-dark, #0B2739)}.date-separator{font-size:1.125rem;color:var(--tef-blue, #019DF4);font-weight:300}.card-meta{display:flex;flex-wrap:wrap;gap:16px;padding-top:12px;border-top:1px solid var(--tef-border, #E6E6E6)}.timeline-item.active .card-meta{border-top-color:#5bc50033}.meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#7f8c8d}.meta-item .icon{font-size:16px}.card-notes{margin-top:12px;padding:12px;background:#fff;border-radius:8px;border-left:3px solid #019CDE;display:flex;gap:10px}.notes-icon{font-size:16px;flex-shrink:0}.card-notes p{margin:0;font-size:13px;color:#555;line-height:1.5}@keyframes pulse-active{0%,to{box-shadow:0 0 0 6px #00a86b1a}50%{box-shadow:0 0 0 10px #00a86b33}}@media(max-width:768px){.timeline-marker{min-width:32px}.marker-dot{width:32px;height:32px}.date-range{flex-direction:column;align-items:stretch;gap:12px}.date-separator{transform:rotate(90deg);align-self:center}.card-meta{flex-direction:column;gap:8px}}.renew-modal{max-width:600px;max-height:90vh;overflow-y:auto}.renew-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--tef-border, #E6E6E6)}.renew-modal .modal-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:1.375rem;color:var(--tef-dark, #0B2739);font-weight:600}.renew-modal .modal-header svg{color:var(--tef-blue, #019DF4)}.btn-close{background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--tef-gray-light, #86888C)}.modal-body{padding:24px}.client-info-box{background:var(--tef-bg-light, #F5F5F5);padding:20px;border-radius:12px;margin-bottom:24px;border:1px solid var(--tef-border, #E6E6E6)}.client-info-box h3{margin:0 0 8px;color:var(--tef-dark, #0B2739);font-size:1.125rem;font-weight:600}.client-info-box p{margin:0 0 16px;color:var(--tef-gray-medium, #50535A);font-size:.875rem}.current-subscription,.current-end-date{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--tef-border, #E6E6E6)}.current-subscription .label,.current-end-date .label{color:var(--tef-gray-medium, #50535A);font-size:.8125rem;font-weight:500}.current-subscription .value,.current-end-date .value{color:var(--tef-dark, #0B2739);font-weight:600;font-size:.875rem}.form-group{margin-bottom:20px}.form-group label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--tef-dark, #0B2739);margin-bottom:8px;font-size:.875rem}.form-group select,.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--tef-border, #E6E6E6);border-radius:10px;font-size:.875rem;font-family:inherit;transition:all .2s;background:var(--tef-white, #FFFFFF)}.form-group select:focus,.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--tef-border, #E6E6E6);border-radius:10px;cursor:pointer;transition:all .2s}.radio-option:hover{border-color:var(--tef-blue, #019DF4);background:#019df40a}.radio-option input[type=radio]{margin-top:4px;width:18px;height:18px;cursor:pointer;accent-color:var(--tef-blue, #019DF4)}.radio-option input[type=radio]:checked~.radio-content{color:var(--tef-blue, #019DF4)}.radio-option.selected{border-color:var(--tef-blue, #019DF4);background:#019df414}.radio-content{display:flex;flex-direction:column;gap:4px}.radio-content strong{color:var(--tef-dark, #0B2739);font-size:.875rem}.radio-content span{color:var(--tef-gray-medium, #50535A);font-size:.8125rem}.renewal-summary{background:#5bc50014;padding:20px;border-radius:12px;margin:24px 0;border:1px solid rgba(91,197,0,.3)}.renewal-summary h4{margin:0 0 16px;color:var(--tef-green, #5BC500);font-size:1rem;display:flex;align-items:center;gap:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(91,197,0,.2)}.summary-row:last-child{border-bottom:none;padding-top:12px;margin-top:4px;border-top:2px solid rgba(91,197,0,.3)}.summary-row span{color:var(--tef-gray-dark, #313235);font-size:.875rem}.summary-row strong{color:var(--tef-dark, #0B2739);font-size:.9375rem}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--tef-border, #E6E6E6)}.modal-actions .btn{padding:12px 24px;border-radius:10px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .2s;border:none;display:flex;align-items:center;gap:8px}.modal-actions .btn-secondary{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-dark, #0B2739);border:1px solid var(--tef-border, #E6E6E6)}.modal-actions .btn-secondary:hover:not(:disabled){background:var(--tef-border, #E6E6E6)}.modal-actions .btn-primary{background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,#0182d4 100%);color:#fff;box-shadow:0 4px 12px #019df44d}.modal-actions .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #019df466}.modal-actions .btn:disabled{opacity:.6;cursor:not-allowed}.client-notifications{background-color:var(--tef-white, #FFFFFF);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6);margin-bottom:32px}.notifications-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--tef-border, #E6E6E6)}.notifications-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:1.125rem;font-weight:600;color:var(--tef-dark, #0B2739)}.email-warning{display:flex;align-items:center;gap:6px;padding:8px 12px;background-color:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px;font-size:.8125rem;color:#c99700}.send-actions{margin-bottom:24px}.send-label{font-size:.875rem;color:var(--tef-gray-medium, #50535A);margin-bottom:12px}.template-buttons{display:flex;flex-wrap:wrap;gap:10px}.template-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;background-color:var(--tef-white, #FFFFFF);color:var(--tef-dark, #0B2739);font-size:.875rem;cursor:pointer;transition:all .2s ease}.template-btn:hover:not(:disabled){border-color:var(--tef-blue, #019DF4);background-color:#019df40d;transform:translateY(-1px)}.template-btn:disabled{opacity:.5;cursor:not-allowed}.template-icon{font-size:1.125rem}.template-name{font-weight:500}.notifications-history h4{font-size:.9375rem;font-weight:600;color:var(--tef-dark, #0B2739);margin-bottom:16px}.empty-notifications{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--tef-gray-medium, #50535A)}.empty-notifications svg{margin-bottom:12px;opacity:.5}.empty-notifications p{margin:0;font-size:.9375rem;font-weight:500}.empty-notifications span{font-size:.8125rem;opacity:.8}.notifications-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.notification-item{display:flex;align-items:flex-start;gap:14px;padding:16px;background-color:var(--tef-bg-light, #F5F5F5);border-radius:10px;transition:background-color .2s}.notification-item:hover{background-color:#019df40a}.notification-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;font-size:1.25rem;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.notification-title strong{font-size:.875rem;color:var(--tef-dark, #0B2739)}.notification-status{display:flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500}.notification-subject{margin:0 0 8px;font-size:.8125rem;color:var(--tef-gray-medium, #50535A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.75rem;color:var(--tef-gray-light, #86888C)}.notification-meta span{display:flex;align-items:center;gap:4px}.notification-error{display:flex;align-items:center;gap:6px;margin:8px 0 0;padding:8px 10px;background-color:#dc354514;border-radius:6px;font-size:.75rem;color:#dc3545}.btn-resend{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;background-color:var(--tef-white, #FFFFFF);color:var(--tef-gray-medium, #50535A);cursor:pointer;transition:all .2s}.btn-resend:hover{border-color:var(--primary-color, #0066cc);color:var(--primary-color, #0066cc)}.notifications-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-secondary, #6c757d)}.send-modal{max-width:500px;width:95%}.modal-header{display:flex;align-items:flex-start;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border-color, #e9ecef);margin-bottom:20px}.modal-icon{font-size:32px}.modal-header h2{margin:0 0 4px;font-size:18px;font-weight:600}.modal-header p{margin:0;font-size:14px;color:var(--text-secondary, #6c757d)}.modal-close{position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background-color:transparent;color:var(--text-secondary, #6c757d);cursor:pointer;transition:background-color .2s}.modal-close:hover{background-color:var(--bg-secondary, #f8f9fa)}.recipient-info{margin-bottom:20px}.recipient-info label{display:block;font-size:13px;color:var(--text-secondary, #6c757d);margin-bottom:6px}.recipient-badge{display:flex;flex-direction:column;padding:12px 16px;background-color:var(--bg-secondary, #f8f9fa);border-radius:8px}.recipient-badge strong{font-size:15px;color:var(--text-primary, #1a1a1a)}.recipient-badge span{font-size:13px;color:var(--text-secondary, #6c757d)}.send-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--text-primary, #1a1a1a)}.form-group input{padding:10px 14px;border:1px solid var(--border-color, #e9ecef);border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--primary-color, #0066cc);box-shadow:0 0 0 3px #0066cc1a}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border-color, #e9ecef);margin-top:20px}.modal-footer .btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-footer .btn-secondary{border:1px solid var(--border-color, #e9ecef);background-color:var(--card-bg, #fff);color:var(--text-primary, #1a1a1a)}.modal-footer .btn-secondary:hover{background-color:var(--bg-secondary, #f8f9fa)}.modal-footer .btn-primary{border:none;background-color:var(--primary-color, #0066cc);color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background-color:#05a}.modal-footer .btn:disabled{opacity:.5;cursor:not-allowed}.preview-modal{max-width:800px;width:95%;max-height:90vh;display:flex;flex-direction:column}.preview-container{flex:1;min-height:500px;max-height:70vh;border:1px solid var(--border-color, #e9ecef);border-radius:8px;overflow:auto;background-color:#f8f9fa}.preview-iframe{width:100%;min-height:600px;height:100%;border:none;display:block}.client-notifications .pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 0 0;border-top:1px solid var(--tef-border, #E6E6E6);margin-top:1rem}.client-notifications .pagination-btn{padding:.5rem 1rem;border:1px solid var(--tef-border, #E6E6E6);background:#fff;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;color:var(--tef-gray-dark, #313235)}.client-notifications .pagination-btn:hover:not(:disabled){border-color:var(--tef-blue, #019DF4);color:var(--tef-blue, #019DF4);background:#019df40a}.client-notifications .pagination-btn:disabled{opacity:.5;cursor:not-allowed}.client-notifications .pagination-info{font-size:.85rem;color:var(--tef-gray-medium, #50535A)}@media(max-width:640px){.template-buttons{flex-direction:column}.template-btn{width:100%;justify-content:center}.notification-title{flex-direction:column;align-items:flex-start;gap:4px}.notification-meta{flex-direction:column;gap:6px}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%;justify-content:center}.client-notifications .pagination{flex-wrap:wrap;gap:.5rem}}.client-notifications.compact-mode{padding:0;border:none;box-shadow:none;margin-bottom:0;font-size:.85rem}.send-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.section-label{font-size:.7rem;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem}.template-grid,.quick-links{display:flex;flex-wrap:wrap;gap:.5rem}.template-chip,.link-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:.85rem;font-weight:500;border:1px solid #dee2e6;border-radius:6px;background:#fff;color:#495057;cursor:pointer;transition:all .15s}.template-chip:hover:not(:disabled),.link-chip:hover:not(:disabled){border-color:#019df4;background:#019df40d;color:#019df4}.template-chip:disabled,.link-chip:disabled{opacity:.5;cursor:not-allowed}.chip-icon{font-size:1rem}.chip-text{white-space:nowrap}.notifications-history-compact{background:#f8f9fa;border-radius:8px;padding:1rem}.history-title{font-size:.85rem;font-weight:600;color:#495057;margin:0 0 .75rem;display:flex;align-items:center;gap:6px}.history-count{font-weight:400;color:#6c757d;font-size:.85rem}.empty-text{text-align:center;color:#6c757d;font-size:.85rem;padding:1rem;margin:0}.notifications-table{width:100%;font-size:.85rem;border-collapse:collapse}.notifications-table th,.notifications-table td{padding:.6rem .5rem;text-align:left;border-bottom:1px solid #e9ecef}.notifications-table th{font-weight:600;color:#6c757d;font-size:.75rem;text-transform:uppercase;letter-spacing:.3px;background:transparent}.notifications-table tbody tr:hover{background:#ffffffb3}.type-chip{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border-radius:6px;font-size:1rem}.subject-cell{max-width:220px}.subject-text{display:block;font-weight:500;font-size:.85rem;color:#212529;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipient-text{display:block;font-size:.75rem;color:#6c757d;margin-top:2px}.date-cell{white-space:nowrap;color:#495057;font-size:.85rem}.status-chip{display:inline-block;padding:4px 10px;font-size:.8rem;font-weight:500;border-radius:4px}.status-chip.sent{background:#28a7451a;color:#28a745}.status-chip.pending{background:#ffc10726;color:#c99700}.status-chip.failed{background:#dc35451a;color:#dc3545}.btn-resend-sm{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;color:#6c757d}.btn-resend-sm:hover{background:#fff;border-color:#019df4;color:#019df4}.pagination-compact{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e9ecef}.pagination-compact button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;color:#495057;font-weight:600;font-size:.85rem}.pagination-compact button:hover:not(:disabled){border-color:#019df4;color:#019df4}.pagination-compact button:disabled{opacity:.4;cursor:not-allowed}.pagination-compact span{font-size:.85rem;color:#6c757d}@media(max-width:600px){.send-actions-grid{grid-template-columns:1fr;gap:1rem}.subject-cell{max-width:120px}}.client-detail-page{padding:1rem 0 2rem;min-height:calc(100vh - 70px);background:var(--tef-bg-light, #F5F5F5)}.client-detail-page .container{max-width:var(--page-max-width, 1600px);padding:0 var(--page-padding, 2rem)}.btn-back{display:inline-flex;align-items:center;gap:.25rem;color:var(--tef-gray-medium, #50535A);text-decoration:none;padding:.35rem .75rem;border-radius:6px;transition:all .2s;margin-bottom:1rem;font-size:.875rem}.btn-back:hover{background:var(--tef-white, #FFFFFF);color:var(--tef-blue, #019DF4)}.client-info-card{margin-bottom:1rem;border-radius:12px;box-shadow:0 2px 12px #0b273914;overflow:hidden}.quick-actions-bar{display:flex;gap:.5rem;margin-bottom:1rem;padding:.75rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;flex-wrap:wrap}.quick-action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;font-size:.85rem;font-weight:500;color:#495057;cursor:pointer;transition:all .2s}.quick-action-btn:hover{background:#e9ecef;border-color:#dee2e6;color:#212529}.quick-action-btn svg{color:var(--color-primary, #019DF4)}.mini-badge{padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600;background:#e3f2fd;color:#1976d2}.mini-badge.active{background:#e8f5e9;color:#2e7d32}.mini-badge.expiring{background:#fff3e0;color:#f57c00}.mini-badge.expired{background:#ffebee;color:#c62828}.mini-count{padding:.1rem .4rem;border-radius:8px;font-size:.7rem;font-weight:600;background:#e9ecef;color:#495057}.client-actions{display:flex;gap:.5rem;margin-left:auto;align-items:center;flex-shrink:0}.btn-renew{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background:linear-gradient(135deg,#00a86b,#00c853);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #00a86b40}.btn-renew:hover{transform:translateY(-1px);box-shadow:0 3px 8px #00a86b59}.btn-archive{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #ff980040}.btn-archive:hover{transform:translateY(-1px);box-shadow:0 3px 8px #ff980059}.btn-archive:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-unarchive{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background:linear-gradient(135deg,#019cde,#0174a8);color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #019cde40}.btn-unarchive:hover{transform:translateY(-1px);box-shadow:0 3px 8px #019cde59}.btn-unarchive:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .75rem;background:#f8f9fa;color:#495057;border:1px solid #dee2e6;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.subscription-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:1200px){.subscription-grid{grid-template-columns:1fr}}.subscription-section,.subscription-history-section{margin:0}.subscription-history-section .subscription-history,.subscription-history-section .subscription-history.empty{height:100%;display:flex;flex-direction:column}.subscription-history-section .subscription-history.empty{justify-content:center;align-items:center;text-align:center}.main-content-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:1rem}@media(max-width:1400px){.main-content-grid{grid-template-columns:1fr 1fr}}@media(max-width:992px){.main-content-grid{grid-template-columns:1fr}}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014;padding:1rem}.client-appointments{margin-bottom:1rem}.client-appointments .section-header{margin-bottom:.75rem;padding-bottom:.5rem}.appointments-count{font-size:.75rem;color:var(--color-text-muted);background:#f0f0f0;padding:.2rem .5rem;border-radius:12px}.appointments-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;text-align:center;color:var(--color-text-muted);background:var(--color-background);border-radius:6px;border:1px dashed var(--color-border)}.appointments-empty svg{opacity:.5}.appointments-empty p{margin:0;font-size:.9rem}.appointments-empty span{font-size:.75rem}.appointments-table-wrapper{overflow-x:auto;margin:0 -.5rem;padding:0 .5rem}.appointments-table{width:100%;border-collapse:collapse;font-size:.8rem}.appointments-table th{padding:.5rem;text-align:left;background:#f8f9fa;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.appointments-table td{padding:.5rem;border-bottom:1px solid #f0f0f0;vertical-align:middle}.appointments-table tr:hover{background:#f8f9fa}.date-text{font-weight:500}.time-text{display:inline-flex;align-items:center;gap:.25rem;color:#6c757d}.status-badge-sm{display:inline-block;padding:.15rem .5rem;border-radius:10px;font-size:.7rem;font-weight:600}.status-badge-sm.confirmed{background:#d4edda;color:#155724}.status-badge-sm.pending{background:#fff3cd;color:#856404}.status-badge-sm.scheduled{background:#cce5ff;color:#004085}.status-badge-sm.completed{background:#d1ecf1;color:#0c5460}.status-badge-sm.cancelled{background:#f8d7da;color:#721c24}.meeting-link-sm{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-primary);font-size:.75rem;text-decoration:none}.meeting-link-sm:hover{text-decoration:underline}.no-link{color:#adb5bd}.btn-icon-sm{padding:.25rem;background:transparent;border:none;cursor:pointer;color:#6c757d;border-radius:4px;transition:all .2s}.btn-icon-sm:hover{background:#e9ecef;color:var(--color-primary)}.client-notes{margin-bottom:1rem}.note-form-compact{display:flex;gap:.5rem;margin-bottom:1rem;align-items:center}.notes-table-wrap{overflow-x:auto;border:1px solid var(--color-border, #e2e8f0);border-radius:8px}.notes-table{width:100%;border-collapse:collapse}.notes-table th{text-align:left;padding:.6rem .75rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #64748b);font-weight:700;border-bottom:2px solid var(--color-border, #e2e8f0);background:var(--color-background, #f8fafc)}.notes-table td{padding:.6rem .75rem;border-bottom:1px solid var(--color-border-light, #f1f5f9);vertical-align:middle}.notes-table tbody tr:last-child td{border-bottom:none}.notes-table tbody tr:hover{background:#019df408}.notes-table tbody tr.editing-row{background:#019df40f}.note-form{display:flex;gap:.5rem;margin-bottom:1rem;align-items:flex-start}.note-form textarea{flex:1;border-radius:6px;border:1px solid var(--color-border);padding:.5rem .75rem;font-family:inherit;font-size:.85rem;resize:vertical;min-height:60px;max-height:150px}.note-form textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0c63e61a}.note-actions{flex-shrink:0}.note-actions .btn{padding:.5rem .75rem;font-size:.8rem}.notes-empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.5rem;text-align:center;color:var(--color-text-muted);background:var(--color-background);border-radius:6px;border:1px dashed var(--color-border)}.notes-empty svg{opacity:.4}.notes-empty p{margin:0;font-size:.85rem}.notes-empty span{font-size:.75rem}.notes-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;max-height:400px;overflow-y:auto}.note-item{padding:.75rem;background:var(--color-background);border-radius:6px;border:1px solid var(--color-border);box-shadow:0 1px 2px #0000000a}.note-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.35rem}.note-author{display:flex;align-items:center;gap:.5rem}.note-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem}.note-date,.note-email{display:block;font-size:.65rem;color:var(--color-text-muted)}.note-author>div>strong{font-size:.8rem}.note-updated{color:var(--color-warning)}.note-actions-bar{display:flex;gap:.25rem}.note-action-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;border:1px solid var(--color-border);background:#fff;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.note-action-btn svg{width:14px;height:14px}.note-action-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.note-action-btn:disabled{opacity:.6;cursor:not-allowed}.note-action-btn.danger{border-color:#e74c3c4d;color:#e74c3c}.note-action-btn.danger:hover:not(:disabled){border-color:#e74c3c;color:#fff;background:#e74c3c}.note-action-btn.success{border-color:#27ae604d;color:#27ae60}.note-action-btn.success:hover:not(:disabled){border-color:#27ae60;color:#fff;background:#27ae60}.note-action-btn.neutral{border-color:#7f8c8d4d;color:#7f8c8d}.note-action-btn.neutral:hover:not(:disabled){border-color:#7f8c8d;color:#fff;background:#7f8c8d}.note-edit-textarea{width:100%;margin-top:.35rem;border-radius:6px;border:1px solid var(--color-border);padding:.5rem;font-family:inherit;font-size:.85rem;resize:vertical}.note-edit-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #0c63e61a}.note-content{margin:0;white-space:pre-wrap;color:var(--color-text-dark);font-size:.85rem;line-height:1.4}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.section-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1rem;color:var(--color-text-dark)}.section-header h2 svg{width:20px;height:20px}.file-types-info{background:#f8f9fa;padding:.5rem .75rem;border-radius:6px;margin-bottom:.75rem}.file-types-info p{margin:0 0 .35rem;font-size:.75rem;color:var(--color-text-dark);font-weight:600}.file-types-info ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}.file-types-info li{display:flex;align-items:center;gap:4px;font-size:.7rem;color:var(--color-text-muted);line-height:1.4}.file-types-info li code{background:#e9ecef;padding:0 3px;border-radius:3px;font-size:.65rem}.file-types-info svg{color:var(--color-primary);width:12px;height:12px;flex-shrink:0}.files-list{display:flex;flex-direction:column;gap:.5rem;max-height:350px;overflow-y:auto}.file-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;transition:all .2s}.file-item:hover{box-shadow:0 2px 4px #0000000d;border-color:var(--color-primary)}.file-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.file-icon svg{width:18px;height:18px}.file-info{flex:1;min-width:0}.file-info h4{margin:0 0 2px;font-size:.8rem;color:var(--color-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-type{margin:0 0 2px;font-size:.7rem;color:var(--color-primary);font-weight:600}.file-date{margin:0;font-size:.65rem;color:var(--color-text-muted)}.file-status{flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;font-size:.65rem;font-weight:600}.status-badge svg{width:12px;height:12px}.status-badge.processed{background:var(--color-success-light);color:var(--color-success)}.status-badge.pending{background:var(--color-warning-light);color:var(--color-warning)}.reports-list{display:flex;flex-direction:column;gap:.5rem;max-height:350px;overflow-y:auto}.report-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;transition:all .2s}.report-item:hover{box-shadow:0 2px 4px #0000000d;border-color:var(--color-primary)}.report-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--color-success),#00875A);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.report-icon svg{width:20px;height:20px}.report-info{flex:1;min-width:0}.report-info h4{margin:0 0 2px;font-size:.8rem;color:var(--color-text-dark)}.report-date{margin:0 0 3px;font-size:.65rem;color:var(--color-text-muted)}.findings-count{display:inline-block;background:var(--color-warning-light);color:var(--color-warning);padding:2px 6px;border-radius:8px;font-size:.65rem;font-weight:600}.report-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.report-actions .btn{padding:.35rem .65rem;font-size:.75rem;white-space:nowrap}.report-actions .btn svg{width:14px;height:14px}.client-detail .report-actions .btn-icon{flex-shrink:0;padding:.35rem;background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:32px;min-width:32px;color:var(--tef-gray-medium, #50535A);transition:all .2s}.client-detail .report-actions .btn-icon:hover{background:#019df41a;color:var(--tef-blue, #019DF4);border-color:var(--tef-blue, #019DF4)}.empty-files,.empty-reports{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;text-align:center;background:var(--color-background);border-radius:6px}.empty-files svg,.empty-reports svg{margin-bottom:.5rem;opacity:.4}.empty-files p,.empty-reports p{margin:0 0 .25rem;color:var(--color-text-dark);font-size:.85rem}.empty-files p:last-child,.empty-reports p:last-child,.empty-files .text-muted,.empty-reports .text-muted{color:var(--color-text-muted);font-size:.75rem}.btn-success{background:var(--color-success);color:#fff;border:none;padding:.4rem .75rem;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem}.btn-success:hover:not(:disabled){background:#00875a;box-shadow:0 2px 6px #00000026}.btn-success:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1024px){.content-grid,.subscription-grid{grid-template-columns:1fr}}@media(max-width:768px){.client-detail-page{padding:.75rem 0 1.5rem}.client-info-card{padding:.75rem}.client-header{flex-direction:column;text-align:center;gap:.75rem}.client-avatar-large{margin:0 auto;width:48px;height:48px;font-size:18px}.client-meta{justify-content:center;gap:.5rem}.client-actions{flex-wrap:wrap;justify-content:center;margin-left:0}.client-stats{justify-content:center;gap:1rem}.section-header{flex-direction:column;gap:.5rem;align-items:stretch}.section-header .btn{width:100%;justify-content:center}.file-item,.report-item{flex-wrap:wrap}.file-info,.report-info{flex:1 1 calc(100% - 60px)}.file-types-info ul{grid-template-columns:1fr}.appointments-table{font-size:.7rem}.appointments-table th,.appointments-table td{padding:.35rem}.quick-actions-bar{flex-direction:column}.quick-action-btn{width:100%;justify-content:center}}.modal-lg{max-width:900px}.modal-xl{max-width:1100px}.modal-compact{max-width:420px;padding:1rem}.modal-header-compact{display:flex;justify-content:space-between;align-items:center;padding-bottom:.5rem;margin-bottom:.75rem;border-bottom:1px solid #e9ecef}.modal-header-compact h3{margin:0;font-size:.95rem;font-weight:600;color:#212529}.modal-close-sm{background:transparent;border:none;cursor:pointer;padding:.15rem;color:#6c757d;border-radius:3px;line-height:1}.modal-close-sm:hover{background:#f1f3f4;color:#212529}.modal-body-compact{max-height:400px;overflow-y:auto}.compact-info-table{width:100%;font-size:.8rem;border-collapse:collapse}.compact-info-table th,.compact-info-table td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid #f1f3f4}.compact-info-table th{font-weight:600;color:#6c757d;font-size:.7rem;text-transform:uppercase;letter-spacing:.3px}.compact-info-table tbody tr:hover{background:#f8f9fa}.compact-info-table .info-label{color:#6c757d;font-weight:500;width:40%}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.status-dot.active,.status-dot.confirmed,.status-dot.completed{background:#28a745}.status-dot.warning,.status-dot.pending{background:#ffc107}.status-dot.expired,.status-dot.cancelled{background:#dc3545}.status-text-sm{font-size:.7rem;text-transform:capitalize}.status-text-xs{font-size:.65rem}.section-title-sm{font-size:.8rem;font-weight:600;color:#495057;margin:1rem 0 .5rem;padding-top:.75rem;border-top:1px solid #e9ecef}.text-warning{color:#e67e22!important}.text-danger{color:#dc3545!important}.text-muted{color:#6c757d!important}.text-center{text-align:center!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:#019df4;text-decoration:none}.link-icon:hover{color:#0b2739}.btn-icon-xs{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;cursor:pointer;color:#6c757d;border-radius:3px}.btn-icon-xs:hover{background:#e9ecef;color:#212529}.modal-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid #e9ecef}.modal-header h2{margin:0;font-size:1.1rem;color:#212529}.modal-close{background:transparent;border:none;cursor:pointer;padding:.25rem;color:#6c757d;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f8f9fa;color:#212529}.modal-body{max-height:70vh;overflow-y:auto}.empty-state-modal{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:#6c757d}.empty-state-modal svg{opacity:.4;margin-bottom:1rem}.empty-state-modal p{margin:0;font-size:.9rem}.subscription-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.subscription-modal-grid{grid-template-columns:1fr}}.notes-add-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e9ecef}.notes-add-form{display:flex;gap:.75rem;align-items:flex-end}.notes-textarea{flex:1;padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.85rem;font-family:inherit;resize:vertical;min-height:60px;transition:border-color .2s,box-shadow .2s}.notes-textarea:focus{outline:none;border-color:#019df4;box-shadow:0 0 0 3px #019df41a}.btn-add-note{padding:.6rem 1rem;background:#019df4;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s}.btn-add-note:hover:not(:disabled){background:#0b2739}.btn-add-note:disabled{opacity:.5;cursor:not-allowed}.notes-list-section{background:#f8f9fa;border-radius:8px;padding:1rem;max-height:400px;overflow-y:auto}.notes-list-header{margin-bottom:.75rem;display:flex;justify-content:space-between;align-items:center}.notes-count{font-size:.8rem;font-weight:600;color:#6c757d}.notes-page-info{font-size:.75rem;color:#6c757d}.notes-empty-text{text-align:center;color:#6c757d;font-size:.85rem;padding:1.5rem;margin:0}.notes-timeline{display:flex;flex-direction:column;gap:.75rem}.note-card{background:#fff;border-radius:8px;padding:.875rem;border:1px solid #e9ecef;transition:box-shadow .2s}.note-card:hover{box-shadow:0 2px 8px #0000000f}.note-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.note-author-info{display:flex;align-items:center;gap:.5rem}.note-author-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#019df4,#0b2739);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem}.note-author-details{display:flex;flex-direction:column}.note-author-name{font-size:.85rem;font-weight:600;color:#212529}.note-timestamp{font-size:.7rem;color:#6c757d}.note-card-actions{display:flex;gap:.25rem}.note-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;color:#6c757d;transition:all .15s}.note-btn-icon:hover{background:#f1f3f4;color:#019df4}.note-btn-icon.danger:hover{background:#dc35451a;color:#dc3545}.note-card-content{margin:0;font-size:.85rem;color:#212529;white-space:pre-wrap;line-height:1.5}.note-edit-section{margin-top:.5rem}.note-edit-buttons{display:flex;gap:.5rem;margin-top:.5rem}.btn-save-note{padding:.4rem .75rem;background:#019df4;color:#fff;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer}.btn-save-note:hover:not(:disabled){background:#0b2739}.btn-cancel-note{padding:.4rem .75rem;background:#f1f3f4;color:#495057;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer}.btn-cancel-note:hover{background:#e9ecef}.notes-pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.notes-page-btn{padding:.4rem .75rem;background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:.8rem;color:#495057;cursor:pointer;transition:all .15s}.notes-page-btn:hover:not(:disabled){border-color:#019df4;color:#019df4}.notes-page-btn:disabled{opacity:.4;cursor:not-allowed}.notes-page-numbers{display:flex;gap:.25rem}.notes-page-num{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dee2e6;border-radius:4px;font-size:.8rem;color:#495057;cursor:pointer;transition:all .15s}.notes-page-num:hover{border-color:#019df4;color:#019df4}.notes-page-num.active{background:#019df4;border-color:#019df4;color:#fff}.note-form-modal{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:flex-start}.note-form-modal textarea{flex:1;padding:.75rem;border:1px solid #dee2e6;border-radius:6px;font-size:.9rem;resize:vertical;min-height:80px}.note-form-modal textarea:focus{outline:none;border-color:var(--color-primary, #019DF4);box-shadow:0 0 0 3px #019df41a}.notes-list-modal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.note-item-modal{padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.note-item-modal .note-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.note-item-modal .note-author{display:flex;align-items:center;gap:.5rem}.note-item-modal .note-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem}.note-item-modal .note-date{display:block;font-size:.7rem;color:#6c757d}.note-item-modal .note-content{margin:0;font-size:.9rem;color:#212529;white-space:pre-wrap;line-height:1.5}.note-edit-wrapper{margin-top:.5rem}.note-edit-actions{display:flex;gap:.5rem;margin-top:.5rem}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.modal-overlay{position:fixed;inset:0;background:#0b2739b3;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:10px;padding:1.25rem;max-width:600px;width:95%;max-height:90vh;overflow-y:auto;box-shadow:0 15px 50px #00000040}.modal-content h2{margin:0 0 .5rem;color:var(--color-text);font-size:1.15rem}.modal-subtitle{color:var(--color-text-muted);margin-bottom:1rem;font-size:.85rem}.report-type-selection{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.report-type-option{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border:2px solid var(--color-border);border-radius:6px;cursor:pointer;transition:all .2s}.report-type-option:hover{border-color:var(--color-primary);background:#f8f9fa}.report-type-option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.report-type-option input[type=checkbox]:checked+.type-icon+.type-label{font-weight:600;color:var(--color-primary)}.type-icon{font-size:24px;width:32px;text-align:center}.type-label{flex:1;font-size:14px;color:var(--color-text)}.empty-message{text-align:center;color:var(--color-text-muted);padding:var(--spacing-xl)}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.modal-actions .btn{flex:1}.modal-actions .btn:disabled{opacity:.5;cursor:not-allowed}.client-appointments{margin-bottom:var(--spacing-xl)}.client-appointments .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.client-appointments .section-header h2{display:flex;align-items:center;gap:var(--spacing-sm);margin:0;font-size:var(--font-size-lg);color:var(--color-text-dark)}.appointments-count{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);padding:.2rem .65rem;border-radius:12px;font-size:.78rem;font-weight:600;border:1px solid var(--tef-border, #E6E6E6)}.appointments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted)}.appointments-empty p{margin:var(--spacing-md) 0 var(--spacing-xs);font-weight:500;color:var(--color-text)}.appointments-empty span{font-size:var(--font-size-sm)}.appointments-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.appointment-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-background);border-radius:var(--border-radius-md);border-left:4px solid var(--color-border);transition:all .2s ease}.appointment-item:hover{box-shadow:0 2px 8px #00000014}.appointment-item.status-confirmed{border-left-color:var(--color-success)}.appointment-item.status-pending{border-left-color:var(--color-warning)}.appointment-item.status-completed{border-left-color:var(--color-info)}.appointment-item.status-cancelled{border-left-color:var(--color-danger);opacity:.7}.appointment-icon{flex-shrink:0}.appointment-icon .icon-confirmed{color:var(--color-success)}.appointment-icon .icon-pending{color:var(--color-warning)}.appointment-icon .icon-completed{color:var(--color-info)}.appointment-icon .icon-cancelled{color:var(--color-danger)}.appointment-info{flex:1;min-width:0}.appointment-info h4{margin:0 0 var(--spacing-xs);font-size:var(--font-size-md);color:var(--color-text-dark);font-weight:600}.appointment-datetime{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap}.appointment-datetime svg{opacity:.6}.appointment-notes{margin:var(--spacing-xs) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.appointment-status{display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.appointment-status .status-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.appointment-status .status-badge.confirmed{background:#00c85326;color:var(--color-success)}.appointment-status .status-badge.pending{background:#ffc10726;color:var(--color-warning-dark, #d48806)}.appointment-status .status-badge.completed{background:#00a3ff26;color:var(--color-info)}.appointment-status .status-badge.cancelled{background:#ff4d4f26;color:var(--color-danger)}.meeting-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary);color:#fff;border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:500;text-decoration:none;transition:all .2s}.meeting-link:hover{background:var(--color-primary-dark);transform:translateY(-1px)}@media(max-width:640px){.appointment-item{flex-direction:column;align-items:flex-start}.appointment-status{flex-direction:row;width:100%;justify-content:space-between;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}}.appointments-table-wrapper{overflow-x:auto;margin:0 -1rem;padding:0 1rem}.client-appointments .appointments-table{width:100%;border-collapse:collapse;font-size:.875rem;table-layout:auto}.client-appointments .appointments-table thead{background:linear-gradient(135deg,var(--tef-dark, #0B2739) 0%,#1a3a4f 100%)}.client-appointments .appointments-table th{padding:.875rem .75rem;text-align:left;font-size:.75rem;font-weight:600;color:#fff;background:transparent;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.client-appointments .appointments-table th:nth-child(1),.client-appointments .appointments-table td:nth-child(1){width:110px}.client-appointments .appointments-table th:nth-child(2),.client-appointments .appointments-table td:nth-child(2){width:80px}.client-appointments .appointments-table th:nth-child(3),.client-appointments .appointments-table td:nth-child(3){width:140px}.client-appointments .appointments-table th:nth-child(4),.client-appointments .appointments-table td:nth-child(4){width:110px}.client-appointments .appointments-table th:nth-child(5),.client-appointments .appointments-table td:nth-child(5){width:120px}.client-appointments .appointments-table th:nth-child(6),.client-appointments .appointments-table td:nth-child(6){width:90px}.client-appointments .appointments-table th:nth-child(7),.client-appointments .appointments-table td:nth-child(7){width:80px;text-align:center}.client-appointments .appointments-table tbody tr{border-bottom:1px solid var(--tef-border, #E6E6E6);transition:background .15s ease}.client-appointments .appointments-table tbody tr:hover{background:#019df40a}.client-appointments .appointments-table tbody tr:last-child{border-bottom:none}.client-appointments .appointments-table td{padding:.75rem;color:var(--tef-gray-dark, #313235);vertical-align:middle;overflow:visible;text-overflow:initial;white-space:nowrap}.client-appointments .appointments-table-manage th:nth-child(1),.client-appointments .appointments-table-manage td:nth-child(1){min-width:95px}.client-appointments .appointments-table-manage th:nth-child(2),.client-appointments .appointments-table-manage td:nth-child(2){min-width:70px}.client-appointments .appointments-table-manage th:nth-child(3),.client-appointments .appointments-table-manage td:nth-child(3){min-width:280px}.client-appointments .appointments-table-manage th:nth-child(4),.client-appointments .appointments-table-manage td:nth-child(4){min-width:160px}.client-appointments .appointments-table-manage th:nth-child(5),.client-appointments .appointments-table-manage td:nth-child(5){min-width:110px}.client-appointments .appointments-table-manage th:nth-child(6),.client-appointments .appointments-table-manage td:nth-child(6){min-width:120px}.client-appointments .appointments-table-manage th:nth-child(7),.client-appointments .appointments-table-manage td:nth-child(7){min-width:80px}.client-appointments .appointments-table-manage th:nth-child(8),.client-appointments .appointments-table-manage td:nth-child(8){min-width:72px}.client-appointments .appointments-table .date-text{font-weight:500;color:var(--tef-dark, #0B2739)}.client-appointments .appointments-table .time-text{display:inline-flex;align-items:center;gap:.35rem;color:var(--tef-gray-medium, #50535A)}.client-appointments .appointments-table .time-text svg{color:var(--tef-blue, #019DF4)}.row-status-confirmed{border-left:3px solid var(--tef-green, #5BC500)!important}.row-status-pending,.row-status-scheduled{border-left:3px solid #f59e0b!important}.row-status-completed{border-left:3px solid var(--tef-blue, #019DF4)!important}.row-status-cancelled{border-left:3px solid #ef4444!important;opacity:.7}.status-badge-sm{display:inline-block;padding:.25rem .625rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-badge-sm.confirmed{background:#5bc50026;color:#3d8200}.status-badge-sm.pending,.status-badge-sm.scheduled{background:#f59e0b26;color:#b45309}.status-badge-sm.completed{background:#019df426;color:#0077b6}.status-badge-sm.cancelled{background:#ef444426;color:#b91c1c}.meeting-link-sm{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;background:var(--tef-blue, #019DF4);color:#fff;border-radius:6px;font-size:.75rem;font-weight:500;text-decoration:none;transition:background .2s}.meeting-link-sm:hover{background:#0077b6}.no-link{color:var(--tef-gray-light, #86888C)}.pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;border-top:1px solid var(--tef-border, #E6E6E6);margin-top:.5rem}.pagination-btn{padding:.35rem .75rem;border:1px solid var(--tef-border, #E6E6E6);background:#fff;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;color:var(--tef-gray-dark, #313235)}.pagination-btn:hover:not(:disabled){border-color:var(--tef-blue, #019DF4);color:var(--tef-blue, #019DF4);background:#019df40a}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.75rem;color:var(--tef-gray-medium, #50535A)}.security-section{margin-bottom:1rem}.security-section .section-header{margin-bottom:0;padding-bottom:.75rem;border-bottom:none}.security-section .section-header h2{display:flex;align-items:center;gap:.5rem;color:var(--tef-gray-dark, #313235);font-size:1rem;font-weight:600}.security-section .section-header h2 svg{width:20px;height:20px}.security-tabs-nav{display:flex;gap:.25rem;padding:0 1rem;border-bottom:2px solid var(--tef-border, #E6E6E6);overflow-x:auto}.security-tab-btn{display:flex;align-items:center;gap:.35rem;padding:.6rem 1rem;background:transparent;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.8rem;font-weight:500;color:var(--tef-gray-medium, #50535A);transition:all .2s ease;white-space:nowrap}.security-tab-btn svg{width:16px;height:16px;opacity:.7}.security-tab-btn:hover{color:var(--tef-blue, #019DF4);background:#019df40a}.security-tab-btn.active{color:var(--tef-blue, #019DF4);border-bottom-color:var(--tef-blue, #019DF4);background:#019df40f}.security-tab-btn.active svg{opacity:1}.security-tab-content{padding:1rem;min-height:300px}@media(max-width:768px){.security-tabs-nav{padding:0 .75rem}.security-tab-btn{padding:.5rem .75rem;font-size:.75rem}.security-tab-btn span{display:none}.security-tab-content{padding:.75rem}}.cd-tab-nav{display:flex;gap:0;background:#fff;border-radius:12px;padding:.35rem;margin-bottom:1.25rem;box-shadow:0 1px 4px #0000000f,0 0 0 1px #0000000a;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cd-tab-nav::-webkit-scrollbar{display:none}.cd-tab-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.15rem;border:none;background:transparent;color:#6b7280;font-size:.85rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease;white-space:nowrap;position:relative;flex-shrink:0}.cd-tab-btn:hover{background:#f3f4f6;color:#374151}.cd-tab-btn.active{background:linear-gradient(135deg,#019df4,#0070b8);color:#fff;font-weight:600;box-shadow:0 2px 8px #019df44d}.cd-tab-btn.active svg{color:#fff}.cd-tab-btn svg{flex-shrink:0;width:18px;height:18px}.cd-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:.7rem;font-weight:700;background:#00000014;color:#6b7280}.cd-tab-btn.active .cd-tab-count{background:#ffffff40;color:#fff}.cd-tab-panel{animation:cdFadeIn .25s ease}@keyframes cdFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.cd-tab-btn span{display:none}.cd-tab-btn{padding:.6rem .8rem}}@media(max-width:600px){.cd-tab-nav{border-radius:8px;padding:.25rem}.cd-tab-btn{padding:.5rem .65rem}}.files-reports-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.fr-panel{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.fr-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--tef-border-light, #F0F0F0)}.fr-panel-title{display:flex;align-items:center;gap:.5rem}.fr-panel-title h2{margin:0;font-size:1rem;font-weight:700;color:var(--tef-dark, #0B2739)}.fr-panel-title svg{color:var(--tef-blue, #019DF4);width:20px;height:20px}.fr-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:.45rem 1rem;background:linear-gradient(135deg,var(--tef-blue, #019DF4),var(--tef-blue-dark, #0066B3));color:#fff;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #6366f140}.fr-upload-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.fr-upload-btn svg{width:15px;height:15px}.fr-formats-bar{display:flex;flex-wrap:wrap;gap:6px;padding:.75rem 1.25rem;border-bottom:1px solid var(--tef-border-light, #F0F0F0);background:var(--color-gray-50, #FAFBFC)}.fr-format-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:500;color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 8%,white);border:1px solid color-mix(in srgb,var(--chip-color) 20%,transparent);white-space:nowrap}.fr-format-ext{font-family:SF Mono,Fira Code,monospace;font-size:.65rem;font-weight:700;opacity:.7}.fr-files-list{padding:.5rem;display:flex;flex-direction:column;gap:4px;max-height:400px;overflow-y:auto}.fr-file-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;transition:background .15s}.fr-file-row:hover{background:var(--tef-bg-light, #F5F5F5)}.fr-file-type-icon{width:34px;height:34px;background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,var(--tef-blue-light, #4DB8F9) 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.fr-file-type-icon svg{width:16px;height:16px}.fr-file-meta{flex:1;min-width:0;display:flex;flex-direction:column}.fr-file-name{font-size:.8rem;font-weight:600;color:var(--tef-dark, #0B2739);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fr-file-detail{font-size:.7rem;color:var(--tef-gray-light, #86888C)}.fr-file-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:.65rem;font-weight:600;flex-shrink:0}.fr-file-badge.processed{background:#ecfdf5;color:#059669}.fr-file-badge.pending{background:#fffbeb;color:#d97706}.fr-icon-btn{width:30px;height:30px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#94a3b8;transition:all .2s;flex-shrink:0}.fr-icon-btn.danger:hover{background:#fef2f2;border-color:#fca5a5;color:#ef4444}.fr-empty-zone{display:flex;flex-direction:column;align-items:center;padding:2.5rem 1.5rem;text-align:center}.fr-empty-zone.small{padding:1.5rem 1rem}.fr-empty-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,var(--tef-bg-light, #F5F5F5),var(--tef-border, #E6E6E6));display:flex;align-items:center;justify-content:center;margin-bottom:12px}.fr-empty-icon svg{color:var(--tef-gray-light, #86888C)}.fr-empty-title{margin:0 0 4px;font-size:.9rem;font-weight:600;color:var(--tef-gray-medium, #50535A)}.fr-empty-sub{margin:0;font-size:.78rem;color:var(--tef-gray-light, #86888C)}.fr-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--tef-blue, #019DF4);color:#fff;font-size:.7rem;font-weight:700}.fr-gen-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:1rem 1.25rem;border-bottom:1px solid var(--tef-border-light, #F0F0F0)}.fr-gen-btn{display:flex;align-items:center;gap:8px;padding:.6rem .85rem;border-radius:8px;border:1.5px solid var(--gen-border);background:#fff;color:var(--gen-color);cursor:pointer;font-size:.78rem;font-weight:600;transition:all .2s;position:relative}.fr-gen-btn:hover:not(:disabled){background:var(--gen-bg);transform:translateY(-1px);box-shadow:0 3px 10px #00000014}.fr-gen-btn:disabled{opacity:.5;cursor:not-allowed}.fr-gen-icon{font-size:1.1rem;line-height:1}.fr-gen-label{flex:1;text-align:left}.fr-gen-spinner{animation:spin 1s linear infinite}.fr-reports-list{padding:.75rem;display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.fr-report-card{border:1px solid #e5e7eb;border-radius:10px;border-left:4px solid var(--report-accent);overflow:hidden;transition:all .2s}.fr-report-card:hover{box-shadow:0 4px 12px #0000000f;border-color:#d1d5db}.fr-report-card-header{display:flex;align-items:center;gap:10px;padding:.75rem 1rem}.fr-report-type-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.fr-report-card-info{flex:1;min-width:0;display:flex;flex-direction:column}.fr-report-card-title{font-size:.85rem;font-weight:700;color:var(--tef-dark, #0B2739)}.fr-report-card-date{font-size:.72rem;color:var(--tef-gray-light, #86888C)}.fr-findings-pill{padding:2px 8px;border-radius:12px;font-size:.68rem;font-weight:600;flex-shrink:0}.fr-report-card-actions{display:flex;align-items:center;gap:6px;padding:0 1rem .75rem}.fr-download-btn{display:inline-flex;align-items:center;gap:6px;padding:.4rem 1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #2563eb33}.fr-download-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px #2563eb4d}.fr-download-btn svg{width:14px;height:14px}@media(max-width:1024px){.files-reports-layout{grid-template-columns:1fr}}@media(max-width:768px){.fr-gen-grid{grid-template-columns:1fr}.fr-formats-bar{gap:4px}}.ov-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 2rem;color:var(--tef-gray-light, #86888C)}.ov-spinner{animation:spin 1s linear infinite}.ov-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.875rem;margin-bottom:1.25rem}.ov-kpi-card{background:var(--tef-white, #FFFFFF);border-radius:12px;padding:1.1rem 1rem;display:flex;align-items:center;gap:.875rem;border:1px solid var(--tef-border, #E6E6E6);box-shadow:0 1px 3px #0000000a;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.ov-kpi-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%}.ov-kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014;border-color:var(--tef-blue, #019DF4)}.ov-kpi-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ov-kpi-body{display:flex;flex-direction:column;min-width:0}.ov-kpi-value{font-size:1.6rem;font-weight:700;line-height:1.1;white-space:nowrap;color:var(--tef-dark, #0B2739)}.ov-kpi-value small{font-size:.7em;font-weight:400;opacity:.6}.ov-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--tef-gray-light, #86888C);font-weight:600;margin-top:2px}.ov-kpi-total:before{background:var(--tef-blue, #019DF4)}.ov-kpi-total .ov-kpi-icon{background:#019df41a;color:var(--tef-blue, #019DF4)}.ov-kpi-total .ov-kpi-value{color:var(--tef-dark, #0B2739)}.ov-kpi-critical:before{background:#e74c3c}.ov-kpi-critical .ov-kpi-icon{background:#e74c3c1a;color:#e74c3c}.ov-kpi-critical .ov-kpi-value{color:var(--tef-dark, #0B2739)}.ov-kpi-high:before{background:var(--color-warning, #FF9500)}.ov-kpi-high .ov-kpi-icon{background:#ff95001a;color:var(--color-warning, #FF9500)}.ov-kpi-high .ov-kpi-value{color:var(--tef-dark, #0B2739)}.ov-kpi-open:before{background:#f39c12}.ov-kpi-open .ov-kpi-icon{background:#f39c121a;color:#f39c12}.ov-kpi-open .ov-kpi-value{color:var(--tef-dark, #0B2739)}.ov-kpi-score:before{background:var(--tef-green, #5BC500)}.ov-kpi-score .ov-kpi-icon{background:#5bc5001a;color:var(--tef-green, #5BC500)}.ov-kpi-score .ov-kpi-value{color:var(--tef-dark, #0B2739)}.ov-severity-bar-wrap{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:12px;padding:1.15rem 1.25rem;margin-bottom:1.25rem;box-shadow:0 1px 3px #0000000a}.ov-section-title{font-size:.9rem;font-weight:600;color:var(--tef-dark, #0B2739);display:flex;align-items:center;gap:.5rem;margin:0 0 .85rem}.ov-severity-bar{display:flex;height:28px;border-radius:8px;overflow:hidden;gap:2px}.ov-sev-seg{display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;min-width:22px;transition:flex .3s}.ov-sev-seg.ov-sev-critical{background:#e74c3c}.ov-sev-seg.ov-sev-high{background:var(--color-warning, #FF9500)}.ov-sev-seg.ov-sev-medium{background:#f39c12}.ov-sev-seg.ov-sev-low{background:var(--tef-blue, #019DF4)}.ov-sev-seg.ov-sev-info{background:var(--tef-gray-light, #86888C)}.ov-severity-legend{display:flex;gap:1.25rem;margin-top:.6rem;flex-wrap:wrap}.ov-legend-item{display:flex;align-items:center;gap:5px;font-size:.72rem;color:var(--tef-gray-medium, #50535A);font-weight:500}.ov-legend-dot{width:10px;height:10px;border-radius:3px;display:inline-block}.ov-legend-dot.ov-sev-critical{background:#e74c3c}.ov-legend-dot.ov-sev-high{background:var(--color-warning, #FF9500)}.ov-legend-dot.ov-sev-medium{background:#f39c12}.ov-legend-dot.ov-sev-low{background:var(--tef-blue, #019DF4)}.ov-legend-dot.ov-sev-info{background:var(--tef-gray-light, #86888C)}.ov-two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.ov-ai-card{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;border-left:3px solid var(--tef-blue, #019DF4);box-shadow:0 1px 3px #0000000a}.ov-ai-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.ov-ai-header h3{font-size:.9rem;font-weight:600;color:var(--tef-dark, #0B2739);display:flex;align-items:center;gap:.5rem;margin:0}.ov-ai-header h3 svg{color:var(--tef-blue, #019DF4)}.ov-ai-refresh{background:#019df414;border:1px solid rgba(1,157,244,.2);border-radius:8px;padding:6px;color:var(--tef-blue, #019DF4);cursor:pointer;display:flex;align-items:center;transition:all .15s}.ov-ai-refresh:hover:not(:disabled){background:#019df426}.ov-ai-refresh:disabled{opacity:.5;cursor:default}.ov-ai-body{flex:1}.ov-ai-text{font-size:.85rem;color:var(--tef-gray-medium, #50535A);line-height:1.65;margin:0 0 1rem}.ov-ai-recs{background:#019df40a;border-radius:8px;padding:.75rem 1rem;margin-bottom:.75rem;border:1px solid rgba(1,157,244,.1)}.ov-ai-recs h4{font-size:.78rem;font-weight:600;color:var(--tef-blue, #019DF4);margin:0 0 .5rem;display:flex;align-items:center;gap:.4rem}.ov-ai-recs ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.ov-ai-recs li{font-size:.8rem;color:var(--tef-gray-dark, #313235);display:flex;align-items:flex-start;gap:.3rem}.ov-ai-recs li svg{flex-shrink:0;margin-top:2px;color:var(--tef-blue, #019DF4)}.ov-ai-meta{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;color:var(--tef-gray-light, #86888C);padding-top:.5rem;border-top:1px solid var(--tef-border, #E6E6E6)}.ov-ai-cached{display:flex;align-items:center;gap:4px;color:var(--tef-green, #5BC500)}.ov-ai-fresh{display:flex;align-items:center;gap:4px;color:var(--tef-blue, #019DF4)}.ov-ai-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;color:var(--tef-gray-light, #86888C);flex:1}.ov-ai-empty svg{margin-bottom:.5rem;opacity:.4}.ov-ai-empty p{font-size:.85rem;font-weight:500;margin:0 0 .25rem;color:var(--tef-gray-medium, #50535A)}.ov-ai-empty span{font-size:.75rem}.ov-scans-card{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.ov-scans-card h3{font-size:.9rem;font-weight:600;color:var(--tef-dark, #0B2739);display:flex;align-items:center;gap:.5rem;margin:0 0 .85rem}.ov-scans-list{display:flex;flex-direction:column;gap:.5rem}.ov-scan-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:.6rem;align-items:center;padding:.55rem .65rem;background:var(--tef-bg-light, #F5F5F5);border:1px solid var(--tef-border-light, #F0F0F0);border-radius:8px;transition:background .15s}.ov-scan-row:hover{background:var(--tef-border-light, #F0F0F0)}.ov-scan-badge{font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.ov-scan-nessus{background:#019df41a;color:var(--tef-blue-dark, #0066B3)}.ov-scan-scoutsuite{background:#ff95001a;color:#e08600}.ov-scan-purpleknight,.ov-scan-purple_knight{background:#8000ff14;color:#7b2fbe}.ov-scan-infostealers{background:#e74c3c1a;color:#c0392b}.ov-scan-name{font-size:.78rem;color:var(--tef-gray-dark, #313235);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ov-scan-findings{display:flex;gap:4px}.ov-sf{font-size:.62rem;font-weight:700;padding:1px 5px;border-radius:4px;white-space:nowrap}.ov-sf-c{background:#e74c3c1f;color:#c0392b}.ov-sf-h{background:#ff95001f;color:#e08600}.ov-sf-m{background:#f39c121f;color:#d4a017}.ov-sf-l{background:#019df41f;color:var(--tef-blue-dark, #0066B3)}.ov-sf-ok{background:#5bc5001f;color:var(--tef-green-dark, #4AA000)}.ov-scan-date{font-size:.72rem;color:var(--tef-gray-light, #86888C);white-space:nowrap}.ov-scan-status{display:flex;align-items:center}.ov-status-completed{color:var(--tef-green, #5BC500)}.ov-status-running{color:var(--color-warning, #FF9500)}.ov-status-queued,.ov-status-pending{color:var(--tef-gray-light, #86888C)}.ov-status-failed{color:#e74c3c}.ov-scans-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 1rem;color:var(--tef-gray-light, #86888C);text-align:center}.ov-scans-empty svg{opacity:.3;margin-bottom:.5rem}.ov-scans-empty p{font-size:.8rem;margin:0}.ov-status-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.875rem;margin-bottom:1.25rem}.ov-status-card{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:10px;padding:.85rem 1rem;text-align:center;box-shadow:0 1px 3px #0000000a}.ov-status-num{display:block;font-size:1.35rem;font-weight:700;line-height:1.2;color:var(--tef-dark, #0B2739)}.ov-status-label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.4px;color:var(--tef-gray-light, #86888C);margin-top:2px}.ov-st-resolved .ov-status-num{color:var(--tef-green, #5BC500)}.ov-st-fp .ov-status-num{color:var(--tef-gray-light, #86888C)}.ov-st-risk .ov-status-num{color:var(--color-warning, #FF9500)}.ov-st-scans .ov-status-num{color:var(--tef-blue, #019DF4)}.ov-st-last .ov-status-num{color:var(--tef-blue, #019DF4);font-size:1rem}.ov-subscription-section{margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--tef-border, #E6E6E6)}@media(max-width:1200px){.ov-kpi-row,.ov-status-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.ov-two-col{grid-template-columns:1fr}.ov-kpi-row,.ov-status-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.ov-kpi-row,.ov-status-row{grid-template-columns:1fr}.ov-scan-row{grid-template-columns:auto 1fr auto}.ov-scan-name,.ov-scan-date{display:none}}.workflow-page{padding:1.5rem 0;min-height:calc(100vh - 70px);background:var(--tef-bg-light, #F5F5F5)}.workflow-page .container-fluid{max-width:100%;padding:0 var(--page-padding, 2rem);margin:0 auto}.workflow-controls{margin-top:1rem;background:#fff;border:1px solid #e8e8e8;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 3px #0000000a}.filters-row{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.2rem;min-width:200px;flex:1}.filter-group label{font-size:.75rem;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.03em}.input-with-icon{display:flex;align-items:center;gap:8px;border:1px solid #e0e0e0;border-radius:8px;padding:0 10px;background:#fff;transition:border-color .2s}.input-with-icon:focus-within{border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.input-with-icon svg{color:#aaa;flex-shrink:0}.input-with-icon input{flex:1;border:none;padding:8px 0;font-size:.85rem;outline:none;background:transparent}.status-filters{display:flex;flex-wrap:wrap;gap:6px}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:9999px;border:1px solid #e0e0e0;background:#fff;color:#666;font-size:.8rem;cursor:pointer;transition:all .2s ease}.status-chip .status-color{width:8px;height:8px;border-radius:50%;background:var(--stage-color)}.status-chip:hover{border-color:var(--stage-color, var(--tef-blue, #019DF4))}.status-chip.active{background:var(--tef-blue, #019DF4);border-color:var(--tef-blue, #019DF4);color:#fff}.status-chip.active .status-color{background:#fff}.status-chip.all{font-weight:600}.kanban-board{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:1.25rem;padding-bottom:1rem}.workflow-column{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;min-height:400px;max-height:calc(100vh - 240px);border-top:3px solid var(--col-color, #019DF4)}.column-header{padding:.6rem .75rem;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(to bottom,color-mix(in srgb,var(--col-color) 6%,white),#fff);border-radius:7px 7px 0 0}.column-header h3{margin:0;font-size:.8rem;font-weight:600;color:#1a1a2e}.client-count{background:var(--col-color, #019DF4);color:#fff;padding:1px 7px;border-radius:9999px;font-size:.7rem;font-weight:700;min-width:22px;text-align:center;line-height:1.5}.column-content{flex:1;padding:.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.empty-column{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px}.empty-column p{color:#bbb;font-size:.8rem}.client-card{background:#fff;border:1px solid #eaeaea;border-radius:8px;padding:.5rem;cursor:grab;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex;gap:.3rem}.client-card:hover{box-shadow:0 3px 10px #00000014;border-color:color-mix(in srgb,var(--col-color, #019DF4) 40%,#e0e0e0)}.client-card:active{cursor:grabbing}.client-card.dragging{transform:rotate(2deg) scale(1.02);box-shadow:0 10px 30px #0000002e;border-color:var(--col-color, #019DF4)}.card-drag-handle{display:flex;align-items:flex-start;padding-top:3px;color:#ddd;cursor:grab;transition:color .15s;flex-shrink:0}.card-drag-handle:active{cursor:grabbing}.client-card:hover .card-drag-handle{color:#999}.card-body{flex:1;display:flex;flex-direction:column;gap:.35rem;min-width:0}.card-top{display:flex;align-items:center;gap:.4rem}.workflow-column .client-avatar{width:30px;height:30px;border-radius:7px;background:linear-gradient(135deg,var(--col-color, #019DF4),color-mix(in srgb,var(--col-color, #019DF4) 65%,#000));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0}.workflow-column .client-info{flex:1;min-width:0}.workflow-column .client-info h4{margin:0;font-size:.78rem;font-weight:600;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25}.workflow-column .client-cif{display:block;font-size:.68rem;color:#aaa;line-height:1.2}.workflow-column .btn-view{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #eaeaea;border-radius:6px;color:#bbb;text-decoration:none;transition:all .15s;flex-shrink:0}.workflow-column .btn-view:hover{background:var(--col-color, #019DF4);border-color:var(--col-color, #019DF4);color:#fff}.vuln-summary{display:flex;flex-direction:column;gap:3px}.vuln-bar{display:flex;height:3px;border-radius:2px;overflow:hidden;background:#f0f0f0;gap:1px}.vuln-seg{min-width:3px;border-radius:1px}.vuln-seg.critical{background:#dc3545}.vuln-seg.high{background:#fd7e14}.vuln-seg.medium{background:#ffc107}.vuln-seg.low{background:#28a745}.vuln-counts{display:flex;gap:.3rem}.vc{font-size:.62rem;font-weight:700;padding:0 3px;border-radius:3px;line-height:1.5}.vc-critical{color:#dc3545;background:#dc354514}.vc-high{color:#e67700;background:#fd7e1414}.vc-medium{color:#856404;background:#ffc1071a}.vc-low{color:#1b7a34;background:#28a74514}.client-card .card-meta{display:flex;flex-wrap:wrap;gap:.35rem;padding-top:.3rem;border-top:1px solid #f5f5f5}.meta-tag{display:inline-flex;align-items:center;gap:2px;font-size:.65rem;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.meta-tag svg{flex-shrink:0;color:#bbb}.client-card.dragging{transform:rotate(2deg) scale(1.02);box-shadow:0 10px 30px #0000002e}@media(max-width:1200px){.kanban-board{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.kanban-board{grid-template-columns:repeat(2,1fr)}.filters-row{flex-direction:column;align-items:stretch}}@media(max-width:600px){.kanban-board{grid-template-columns:1fr;gap:.5rem}.workflow-column{max-height:350px}.workflow-page .container-fluid{padding:0 .75rem}.workflow-controls{padding:.75rem}}.column-content::-webkit-scrollbar{width:4px}.column-content::-webkit-scrollbar-track{background:transparent}.column-content::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:9999px}.column-content::-webkit-scrollbar-thumb:hover{background:#ccc}.reports-page{padding:2rem 0;min-height:calc(100vh - 70px);background:var(--tef-bg-light, #F5F5F5)}.reports-stats-row{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.stat-card{flex:1;min-width:110px;background:var(--tef-white, #fff);border:1px solid var(--tef-border, #e6e6e6);border-top:3px solid var(--tef-blue, #019DF4);border-radius:10px;padding:.85rem 1rem;text-align:center}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--tef-dark, #1e293b);line-height:1.2}.stat-label{display:block;font-size:.75rem;color:var(--tef-gray-light, #64748b);margin-top:.2rem}.filters-bar{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.filters-bar .search-box{flex:1;min-width:260px}.filter-select{position:relative;display:flex;align-items:center;min-width:200px}.filter-select svg{position:absolute;left:.85rem;color:var(--tef-gray-light, #86888C);pointer-events:none;z-index:1}.filter-select select{width:100%;padding:.5rem 1rem .5rem 2.5rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;font-size:.875rem;background:var(--tef-white, #FFFFFF);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2386888C' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center}.filter-select select:focus{outline:none;border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.bulk-actions-bar{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;margin-bottom:.75rem;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;font-size:.85rem;color:#4338ca;font-weight:500}.bulk-actions-bar .btn-sm{padding:.3rem .75rem;font-size:.8rem;border-radius:6px;display:flex;align-items:center;gap:.3rem;cursor:pointer;border:none;font-weight:500}.bulk-actions-bar .btn-danger{background:#fee2e2;color:#dc2626}.bulk-actions-bar .btn-danger:hover{background:#fecaca}.bulk-actions-bar .btn-outline-secondary{background:transparent;color:#64748b;border:1px solid #cbd5e1}.bulk-actions-bar .btn-outline-secondary:hover{background:#f1f5f9}.btn-outline-secondary{background:var(--tef-white, #fff);border:1px solid var(--tef-border, #e6e6e6);color:var(--tef-gray-medium, #50535A);border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s}.btn-outline-secondary:hover{border-color:var(--tef-blue, #019DF4);color:var(--tef-blue, #019DF4);background:#019df40a}.reports-table-wrapper{background:var(--tef-white, #fff);border:1px solid var(--tef-border, #e6e6e6);border-radius:12px;overflow:hidden}.reports-table{width:100%;border-collapse:collapse;font-size:.875rem}.reports-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.reports-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#475569;white-space:nowrap;-webkit-user-select:none;user-select:none}.reports-table th.sortable{cursor:pointer;transition:color .15s}.reports-table th.sortable:hover{color:var(--tef-blue, #019DF4)}.reports-table th.sortable svg{vertical-align:-2px;margin-left:3px}.reports-table td{padding:.7rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.reports-table tbody tr{transition:background .12s}.reports-table tbody tr:hover{background:#f8fafc}.reports-table tbody tr.row-selected{background:#eef2ff}.reports-table tbody tr:last-child td{border-bottom:none}.col-checkbox{width:40px;text-align:center!important}.col-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--tef-blue, #019DF4)}.col-id{width:60px}.id-badge{font-weight:600;color:#94a3b8;font-size:.82rem;font-family:monospace}.col-type{width:155px}.type-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:20px;font-size:.78rem;font-weight:600;border:1px solid;white-space:nowrap}.col-client{min-width:140px}.client-link{color:var(--tef-blue, #019DF4);text-decoration:none;font-weight:500;transition:color .15s}.client-link:hover{color:#0284c7;text-decoration:underline}.col-filename{max-width:220px}.filename-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;color:#64748b}.col-findings{width:90px;text-align:center!important}.col-findings .findings-badge{display:inline-block;min-width:28px;padding:.2rem .55rem;border-radius:20px;font-size:.78rem;font-weight:600;background:#f3f4f6;color:#6b7280;text-align:center}.col-findings .findings-badge.has-findings{background:#fef3c7;color:#92400e}.col-date{width:160px;font-size:.82rem;color:#64748b;white-space:nowrap}.col-actions{width:130px}.actions-group{display:flex;gap:.35rem}.btn-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid;cursor:pointer;transition:all .15s;background:transparent;flex-shrink:0}.btn-action:disabled{opacity:.5;cursor:not-allowed}.btn-action-primary{color:#0369a1;border-color:#bae6fd;background:#f0f9ff}.btn-action-primary:hover:not(:disabled){background:#e0f2fe;border-color:#7dd3fc}.btn-action-secondary{color:#4b5563;border-color:#e5e7eb;background:#f9fafb}.btn-action-secondary:hover:not(:disabled){background:#e5e7eb;color:#1f2937}.btn-action-danger{color:#dc2626;border-color:#fecaca;background:transparent}.btn-action-danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.pagination-bar{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem;padding:.65rem 1rem;background:var(--tef-white, #fff);border:1px solid var(--tef-border, #e6e6e6);border-radius:10px;flex-wrap:wrap;gap:.75rem}.pagination-info{font-size:.82rem;color:#64748b}.pagination-controls{display:flex;align-items:center;gap:1rem}.page-size-select{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:#64748b}.page-size-select select{padding:.25rem .5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.82rem;background:#fff;cursor:pointer}.page-buttons{display:flex;align-items:center;gap:.25rem}.page-buttons button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;color:#475569;cursor:pointer;transition:all .15s}.page-buttons button:hover:not(:disabled){border-color:var(--tef-blue, #019DF4);color:var(--tef-blue, #019DF4);background:#019df40d}.page-buttons button:disabled{opacity:.35;cursor:not-allowed}.page-indicator{font-size:.82rem;font-weight:600;color:#334155;min-width:60px;text-align:center}.spin{animation:spin .8s linear infinite}.spinner-small{border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;width:14px;height:14px;animation:spin .6s linear infinite;display:inline-block}.empty-state{text-align:center;padding:3rem 1.5rem;margin-top:1rem}.empty-state svg{margin-bottom:1rem}.empty-state h3{margin-bottom:.5rem;color:var(--tef-dark, #1e293b)}.empty-state p{color:var(--tef-gray-light, #64748b);max-width:400px;margin:0 auto}@media(max-width:1024px){.reports-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.reports-table{min-width:750px}.col-filename{display:none}}@media(max-width:768px){.filters-bar{flex-direction:column}.filters-bar .search-box,.filter-select{min-width:100%}.reports-stats-row{flex-wrap:wrap}.stat-card{min-width:80px}.pagination-bar{flex-direction:column;align-items:stretch;text-align:center}.pagination-controls{justify-content:center}}.users-page{min-height:100vh;background:var(--tef-bg-light, #F5F5F5)}.users-container{padding:2rem;max-width:var(--page-max-width, 1600px);margin:0 auto}.users-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.users-header h1{font-size:1.75rem;color:var(--tef-dark, #0B2739);font-weight:600;margin:0 0 .5rem}.users-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.users-table-container{background:var(--tef-white, #FFFFFF);border-radius:12px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6);overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--tef-bg-light, #F5F5F5)}.users-table th{padding:1rem;text-align:left;font-weight:600;color:var(--tef-dark, #0B2739);border-bottom:1px solid var(--tef-border, #E6E6E6);font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px}.users-table td{padding:1rem;border-bottom:1px solid var(--tef-border, #E6E6E6);color:var(--tef-gray-dark, #313235)}.users-table tbody tr:hover{background:#019df40a}.users-table tbody tr.inactive{opacity:.6}.user-info{display:flex;align-items:center;gap:.75rem}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,var(--tef-dark, #0B2739) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;display:inline-block}.badge-admin{background:#019df41a;color:var(--tef-blue, #019DF4)}.badge-user,.badge-success{background:#5bc5001a;color:var(--tef-green, #5BC500)}.badge-danger{background:#dc35451a;color:#dc3545}.badge-org_admin{background:#6366f11a;color:#6366f1}.badge-auditor{background:#f59e0b1a;color:#d97706}.badge-viewer{background:#6b72801a;color:#6b7280}.users-page .action-buttons{display:flex;gap:.5rem}.users-page .action-menu-wrapper{position:relative;display:inline-block}.users-page .btn-kebab{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);cursor:pointer;padding:.4rem .5rem;min-height:34px;min-width:34px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:8px;color:var(--tef-gray-medium, #50535A)}.users-page .btn-kebab:hover{background:#019df41a;color:var(--tef-blue, #019DF4);border-color:var(--tef-blue, #019DF4)}.users-page .action-dropdown{position:relative;background:#fff;border:1px solid var(--tef-border, #E6E6E6);border-radius:10px;box-shadow:0 8px 24px #0000001f;min-width:220px;padding:.4rem 0;animation:dropdownFadeIn .15s ease-out}.action-dropdown-portal{pointer-events:auto}.action-dropdown-portal .action-dropdown{background:#fff;border:1px solid #E6E6E6;border-radius:10px;box-shadow:0 8px 24px #00000026;min-width:230px;padding:.4rem 0;animation:dropdownFadeIn .15s ease-out}.action-dropdown-portal .action-dropdown.open-up{animation:dropdownFadeInUp .15s ease-out}@keyframes dropdownFadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.users-page .action-dropdown button,.action-dropdown-portal .action-dropdown button{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem 1rem;border:none;background:transparent;cursor:pointer;font-size:.875rem;color:#313235;white-space:nowrap;transition:background .15s}.users-page .action-dropdown button:hover,.action-dropdown-portal .action-dropdown button:hover{background:#019df414;color:#019df4}.users-page .action-dropdown .dropdown-item-warning,.action-dropdown-portal .action-dropdown .dropdown-item-warning{color:#e67e22}.users-page .action-dropdown .dropdown-item-warning:hover,.action-dropdown-portal .action-dropdown .dropdown-item-warning:hover{background:#e67e2214;color:#d35400}.users-page .action-dropdown .dropdown-item-danger,.action-dropdown-portal .action-dropdown .dropdown-item-danger{color:#dc3545}.users-page .action-dropdown .dropdown-item-danger:hover,.action-dropdown-portal .action-dropdown .dropdown-item-danger:hover{background:#dc354514;color:#c82333}.users-page .action-dropdown .dropdown-divider,.action-dropdown-portal .action-dropdown .dropdown-divider{height:1px;margin:.3rem 0;background:#e6e6e6}.users-page .btn-icon{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);font-size:1.1rem;cursor:pointer;padding:.5rem;min-height:34px;min-width:34px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:8px;color:var(--tef-gray-medium, #50535A)}.users-page .btn-icon:hover{background:#019df41a;color:var(--tef-blue, #019DF4);border-color:var(--tef-blue, #019DF4)}.users-page .btn-icon.btn-danger:hover{background:#dc35451a;color:#dc3545;border-color:#dc3545}.btn-primary{background:var(--tef-blue, #019DF4);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-secondary{background:var(--tef-gray-light, #86888C);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s}.modal-content{background:var(--tef-white, #FFFFFF);border-radius:16px;padding:2rem;width:95%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal-content.modal-small{max-width:400px}.modal-content.modal-large{max-width:1000px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--tef-dark, #0B2739);font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;font-size:.9375rem;transition:all .2s;background:var(--tef-white, #FFFFFF)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer;accent-color:var(--tef-blue, #019DF4)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.modal-actions .btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#64748b,#475569);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.modal-actions .btn-secondary:hover{background:linear-gradient(135deg,#475569,#334155);transform:translateY(-1px);box-shadow:0 4px 12px #4755694d}.alert-error{background:#dc35451a;color:#dc3545;border:1px solid rgba(220,53,69,.2)}.no-data{text-align:center;padding:2rem;color:var(--tef-gray-light, #86888C)}.activity-list{max-height:500px;overflow-y:auto}.activity-table{width:100%;border-collapse:collapse;font-size:.875rem}.activity-table th{background:var(--tef-bg-light, #F5F5F5);padding:.75rem;text-align:left;font-weight:600;position:sticky;top:0;color:var(--tef-dark, #0B2739);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.activity-table td{padding:.75rem;border-bottom:1px solid var(--tef-border, #E6E6E6);color:var(--tef-gray-dark, #313235)}.ip-address{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;color:var(--tef-gray-medium, #50535A)}.api-key-display{padding:1rem 0}.api-key-label{font-weight:600;margin-top:1rem;margin-bottom:.5rem;color:var(--tef-dark, #0B2739);font-size:.875rem}.api-key-value{padding:.75rem 1rem;background:var(--tef-bg-light, #F5F5F5);border-radius:8px;border:1px solid var(--tef-border, #E6E6E6);font-weight:500;color:var(--tef-blue, #019DF4)}.api-key-code{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#019df40d;border:2px solid var(--tef-blue, #019DF4);border-radius:8px;font-family:SF Mono,Monaco,Consolas,monospace;word-break:break-all}.api-key-code code{flex:1;color:var(--tef-blue, #019DF4);font-weight:600}.btn-copy{padding:.5rem 1rem;background:var(--tef-blue, #019DF4);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;white-space:nowrap;transition:all .3s;font-weight:600}.btn-copy:hover{background:#0182d4;box-shadow:0 4px 12px #019df44d}.api-key-usage{margin-top:2rem;padding:1.5rem;background:var(--tef-bg-light, #F5F5F5);border-radius:12px;border:1px solid var(--tef-border, #E6E6E6)}.api-key-usage h4{margin:1rem 0 .5rem;color:var(--tef-dark, #0B2739);font-size:.9375rem}.api-key-usage h4:first-child{margin-top:0}.api-key-usage p{margin:.5rem 0;color:var(--tef-gray-medium, #50535A);font-size:.875rem}.code-block{position:relative;padding:1rem;background:var(--tef-dark, #0B2739);color:#f8f8f2;border-radius:8px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;overflow-x:auto;margin:.5rem 0}.code-block code{color:#f8f8f2}.btn-copy-small{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;background:#019df433;color:var(--tef-blue, #019DF4);border:1px solid rgba(1,157,244,.3);border-radius:6px;cursor:pointer;font-size:.75rem;transition:all .3s;font-weight:600}.btn-copy-small:hover{background:#019df44d}.alert-warning{padding:1rem;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:8px;color:#c99700;margin-bottom:1.5rem}.alert-warning strong{display:block;margin-bottom:.25rem}.btn-warning{background:#ffc107!important;color:var(--tef-dark, #0B2739)!important;font-weight:600!important}.btn-warning:hover{background:#e0a800!important;box-shadow:0 4px 12px #ffc1074d}.endpoints-list{margin:.5rem 0 1rem;padding-left:1.5rem}.endpoints-list li{margin:.5rem 0;color:var(--tef-gray-dark, #313235)}.endpoints-list code{background:#019df41a;padding:.2rem .5rem;border-radius:6px;color:var(--tef-blue, #019DF4);font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.warning-text{padding:.75rem 1rem;background:#ffc1071a;border-left:3px solid #ffc107;border-radius:8px;color:#c99700;margin:1rem 0;font-size:.875rem}.params-info{background:var(--tef-bg-light, #F5F5F5);padding:1.25rem;border-radius:12px;margin:1rem 0;border:1px solid var(--tef-border, #E6E6E6)}.param-group{margin-bottom:1.5rem}.param-group:last-child{margin-bottom:0}.param-group strong{display:block;color:var(--tef-blue, #019DF4);margin-bottom:.5rem;font-size:.875rem}.param-group ul{margin:.5rem 0 0;padding-left:1.5rem}.param-group li{margin:.4rem 0;color:var(--tef-gray-medium, #50535A);font-size:.875rem}.param-group code{background:var(--tef-white, #FFFFFF);padding:.2rem .4rem;border-radius:6px;color:#d63384;font-weight:600;font-family:SF Mono,Monaco,Consolas,monospace}.responses-info{margin:1rem 0}.response-example{margin-bottom:1rem;padding:1rem;background:#019df40d;border:1px solid rgba(1,157,244,.2);border-radius:12px}.response-example.error{background:#dc35450d;border-color:#dc354533}.response-example strong{display:block;margin-bottom:.5rem;color:var(--tef-blue, #019DF4)}.response-example.error strong{color:#dc3545}.response-example pre{margin:0;padding:.75rem 1rem;background:var(--tef-dark, #0B2739);color:#f8f8f2;border-radius:8px;font-size:.8125rem;overflow-x:auto;font-family:SF Mono,Monaco,Consolas,monospace}.modal-large{max-width:900px!important;max-height:90vh;overflow-y:auto}.user-modal{padding:0!important;max-width:540px;overflow:hidden}.user-modal form{padding:0 1.75rem 1.75rem}.user-modal-header{display:flex;align-items:center;gap:1rem;padding:1.5rem 1.75rem;background:linear-gradient(135deg,#f0f9ff,#f8fafc);border-bottom:1px solid var(--tef-border, #E6E6E6)}.user-modal-avatar{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,#0074b7 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.35rem;flex-shrink:0;box-shadow:0 4px 12px #019df440}.user-modal-title{flex:1;min-width:0}.user-modal-title h2{margin:0;font-size:1.15rem;font-weight:700;color:var(--tef-dark, #0B2739)}.user-modal-title p{margin:.15rem 0 0;font-size:.8rem;color:var(--tef-gray-medium, #50535A)}.user-modal .btn-close{align-self:flex-start;margin-top:-.25rem}.user-modal-section{padding-top:1.25rem}.user-modal-section:first-of-type{padding-top:1.5rem}.user-modal-section-title{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--tef-gray-medium, #50535A);margin-bottom:.85rem;padding-bottom:.5rem;border-bottom:1px solid #f0f0f0}.user-modal-section-title svg{color:var(--tef-blue, #019DF4)}.user-modal-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.user-modal-fields-row .form-group{margin-bottom:.75rem}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--tef-gray-light, #86888C);pointer-events:none}.input-with-icon input{padding-left:2.5rem!important}.input-with-icon input:focus+.input-icon,.input-with-icon input:focus~.input-icon{color:var(--tef-blue, #019DF4)}.form-select{width:100%;padding:.6rem .85rem;border:2px solid var(--tef-border, #E6E6E6);border-radius:10px;font-size:.9rem;background:var(--tef-white, #FFFFFF);color:var(--tef-dark, #0B2739);transition:border-color .2s}.form-select:focus{outline:none;border-color:var(--tef-blue, #019DF4)}.role-selector{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.role-option{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:2px solid var(--tef-border, #E6E6E6);border-radius:10px;background:var(--tef-white, #FFFFFF);cursor:pointer;transition:all .2s;text-align:left}.role-option:hover{border-color:#019df466;background:#019df405}.role-option.selected{border-color:var(--tef-blue, #019DF4);background:#019df40f;box-shadow:0 0 0 3px #019df414}.role-option svg{color:var(--tef-gray-light, #86888C);flex-shrink:0}.role-option.selected svg{color:var(--tef-blue, #019DF4)}.role-option div{display:flex;flex-direction:column}.role-option strong{font-size:.875rem;color:var(--tef-dark, #0B2739)}.role-option span{font-size:.7rem;color:var(--tef-gray-medium, #50535A);margin-top:1px}.role-option.selected strong{color:var(--tef-blue, #019DF4)}.module-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.module-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:2px solid var(--tef-border, #E6E6E6);border-radius:10px;background:var(--tef-white, #FFFFFF);cursor:pointer;transition:all .2s}.module-card input[type=checkbox]{display:none}.module-card:hover{border-color:#019df466;background:#019df405}.module-card.active{border-color:var(--tef-blue, #019DF4);background:#019df40f;box-shadow:0 0 0 3px #019df414}.module-card svg{color:var(--tef-gray-light, #86888C);flex-shrink:0}.module-card.active svg{color:var(--tef-blue, #019DF4)}.module-card-text{display:flex;flex-direction:column}.module-card-text strong{font-size:.875rem;color:var(--tef-dark, #0B2739)}.module-card-text span{font-size:.7rem;color:var(--tef-gray-medium, #50535A);margin-top:1px}.module-card.active .module-card-text strong{color:var(--tef-blue, #019DF4)}.user-active-toggle{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:10px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.user-active-toggle.active{background:#5bc50014}.user-active-toggle.inactive{background:#dc35450f}.user-active-toggle.active svg{color:var(--tef-green, #5BC500)}.user-active-toggle.inactive svg{color:#dc3545}.user-active-toggle div{display:flex;flex-direction:column}.user-active-toggle strong{font-size:.875rem;color:var(--tef-dark, #0B2739)}.user-active-toggle span{font-size:.7rem;color:var(--tef-gray-medium, #50535A);margin-top:1px}.user-active-toggle:hover{opacity:.85}.user-modal .modal-actions{padding-top:1.25rem;border-top:1px solid var(--tef-border, #E6E6E6);margin-top:1.25rem}@media(max-width:540px){.user-modal-fields-row,.role-selector,.module-cards{grid-template-columns:1fr 1fr}}.logs-page{min-height:100vh;background:var(--tef-bg-light, #F5F5F5)}.logs-container{padding:2rem;max-width:var(--page-max-width, 1600px);margin:0 auto}.logs-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.logs-header h1{font-size:1.75rem;color:var(--tef-dark, #0B2739);font-weight:600;margin:0 0 .5rem}.page-subtitle{color:var(--tef-gray-medium, #50535A);font-size:.9375rem;margin:0}.header-actions{display:flex;gap:1rem}.btn-primary,.btn-secondary,.btn-danger{border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary:hover{background:#0182d4;box-shadow:0 4px 12px #019df44d;transform:translateY(-1px)}.btn-secondary{background:var(--tef-gray-light, #86888C);color:#fff}.btn-secondary:hover{background:var(--tef-gray-medium, #50535A)}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333;box-shadow:0 4px 12px #dc35454d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--tef-white, #FFFFFF);padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6);text-align:center}.stat-number{font-size:2rem;font-weight:700;color:var(--tef-blue, #019DF4);margin-bottom:.5rem}.stat-label{color:var(--tef-gray-medium, #50535A);font-size:.875rem}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:2rem}.chart-card{background:var(--tef-white, #FFFFFF);padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6)}.chart-card h3{margin:0 0 1rem;color:var(--tef-dark, #0B2739);font-size:1rem;font-weight:600}.endpoint-list,.user-list{max-height:400px;overflow-y:auto}.endpoint-item{padding:.75rem;border-bottom:1px solid var(--tef-border, #E6E6E6);display:flex;justify-content:space-between;align-items:center;transition:all .2s}.endpoint-item:hover{background:#019df40a}.endpoint-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.endpoint-path{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;color:var(--tef-dark, #0B2739)}.endpoint-count{font-size:.75rem;color:var(--tef-gray-medium, #50535A)}.endpoint-metrics{display:flex;gap:.75rem}.metric{padding:.25rem .5rem;background:var(--tef-bg-light, #F5F5F5);border-radius:6px;font-size:.75rem;color:var(--tef-gray-dark, #313235)}.metric-danger{background:#dc35451a;color:#dc3545}.user-item{padding:.75rem;border-bottom:1px solid var(--tef-border, #E6E6E6);display:flex;align-items:center;gap:.75rem;transition:all .2s}.user-item:hover{background:#019df40a}.user-avatar-small{width:35px;height:35px;border-radius:50%;background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,var(--tef-dark, #0B2739) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.user-info-compact{flex:1;display:flex;flex-direction:column;gap:.25rem}.user-name{font-weight:500;color:var(--tef-dark, #0B2739)}.user-requests{font-size:.75rem;color:var(--tef-gray-medium, #50535A)}.user-metrics{display:flex;gap:.5rem}.metric-small{padding:.2rem .5rem;background:var(--tef-bg-light, #F5F5F5);border-radius:6px;font-size:.6875rem;color:var(--tef-gray-medium, #50535A)}.filters-container{background:var(--tef-white, #FFFFFF);padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6);margin-bottom:2rem}.filters-container h3{margin:0 0 1rem;color:var(--tef-dark, #0B2739);font-weight:600}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.filter-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--tef-dark, #0B2739);font-size:.8125rem}.filter-group input,.filter-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;font-size:.875rem;transition:all .2s}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.logs-table-container{background:var(--tef-white, #FFFFFF);padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6);overflow-x:auto}.logs-table-container h3{margin:0 0 1rem;color:var(--tef-dark, #0B2739);font-weight:600}.logs-table{width:100%;border-collapse:collapse;font-size:.875rem}.logs-table thead{background:var(--tef-bg-light, #F5F5F5)}.logs-table th{padding:.75rem;text-align:left;font-weight:600;color:var(--tef-dark, #0B2739);border-bottom:1px solid var(--tef-border, #E6E6E6);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.logs-table td{padding:.75rem;border-bottom:1px solid var(--tef-border, #E6E6E6);color:var(--tef-gray-dark, #313235)}.logs-table tbody tr:hover{background:#019df40a}.logs-table tbody tr.log-error{background:#dc35450d}.log-date{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;white-space:nowrap;color:var(--tef-gray-medium, #50535A)}.log-endpoint{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-ip{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.8125rem;color:var(--tef-gray-medium, #50535A)}.slow-response{color:#dc3545;font-weight:600}.method-badge{padding:.2rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:700;display:inline-block;text-transform:uppercase}.method-get{background:#5bc50026;color:var(--tef-green, #5BC500)}.method-post{background:#019df426;color:var(--tef-blue, #019DF4)}.method-put{background:#ffc10733;color:#c99700}.method-delete{background:#dc354526;color:#dc3545}.status-badge{padding:.2rem .5rem;border-radius:6px;font-size:.6875rem;font-weight:700;display:inline-block}.status-2xx{background:#5bc50026;color:var(--tef-green, #5BC500)}.status-3xx{background:#019df426;color:var(--tef-blue, #019DF4)}.status-4xx{background:#ffc10733;color:#c99700}.status-5xx{background:#dc354526;color:#dc3545}.logs-page .btn-icon{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);font-size:1rem;cursor:pointer;padding:.5rem;min-height:34px;min-width:34px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:8px;color:var(--tef-gray-medium, #50535A)}.logs-page .btn-icon:hover{background:#019df41a;color:var(--tef-blue, #019DF4);border-color:var(--tef-blue, #019DF4)}.modal-overlay{position:fixed;inset:0;background:#0b2739b3;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-content{background:var(--tef-white, #FFFFFF);border-radius:16px;padding:2rem;width:95%;max-width:800px;max-height:90vh;overflow-y:auto;color:var(--tef-dark, #0B2739);box-shadow:0 20px 60px #0003}.modal-content.modal-large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{margin:0;color:var(--tef-dark, #0B2739);font-weight:600}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--tef-gray-light, #86888C);padding:.5rem;border-radius:8px;transition:all .2s}.btn-close:hover{background:#019df41a;color:var(--tef-blue, #019DF4)}.log-detail{display:flex;flex-direction:column;gap:1.5rem}.detail-section h4{margin:0 0 1rem;color:var(--tef-blue, #019DF4);font-size:1rem;border-bottom:2px solid var(--tef-blue, #019DF4);padding-bottom:.5rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-weight:600;color:var(--tef-gray-medium, #50535A);font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px}.detail-value{color:var(--tef-dark, #0B2739);font-size:.9375rem}.detail-small{font-size:.75rem;color:var(--tef-gray-medium, #50535A)}.text-danger{color:#dc3545}.code-block,.error-block{margin-top:1rem}.code-block pre,.error-block pre{background:var(--tef-dark, #0B2739);padding:1rem;border-radius:8px;overflow-x:auto;font-size:.8125rem;font-family:SF Mono,Monaco,Consolas,monospace;border:none;color:#f8f8f2}.error-block pre{background:#dc35451a;border:1px solid rgba(220,53,69,.2);color:#dc3545}.loading{text-align:center;padding:3rem;font-size:1rem;color:var(--tef-gray-medium, #50535A)}.alert{padding:1rem;border-radius:8px;margin-bottom:1rem}.alert-error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.modal-overlay{position:fixed;inset:0;background:#0b2739b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;overflow-y:auto}.modal-content{background:var(--tef-white, #FFFFFF);border-radius:16px;box-shadow:0 25px 50px -12px #00000040;position:relative;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.appointment-modal{max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;padding:2rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--tef-border, #E6E6E6)}.modal-header h2{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.5rem;color:var(--tef-dark, #0B2739);font-weight:600}.appointment-modal .modal-close{background:var(--tef-bg-light, #F5F5F5);border:none;width:40px;height:40px;min-height:40px;min-width:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--tef-gray-medium, #50535A)}.appointment-modal .modal-close:hover{background:var(--tef-border, #E6E6E6);color:#002060;transform:rotate(90deg)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:1.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--tef-dark, #0B2739);font-size:.875rem}.form-group label svg{color:var(--tef-blue, #019DF4)}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;font-size:.9375rem;transition:all .2s;font-family:inherit;background:var(--tef-white, #FFFFFF)}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:#dc3545;background:#dc35450d}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.form-group.error input:focus,.form-group.error select:focus,.form-group.error textarea:focus{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.error-message{color:#dc3545;font-size:.8125rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.form-group textarea{resize:vertical;min-height:80px}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--tef-border, #E6E6E6)}@media(max-width:768px){.form-grid{grid-template-columns:1fr}.appointment-modal{max-width:95%;margin:.5rem;padding:1.5rem}.modal-header h2{font-size:1.25rem}.modal-overlay{padding:.5rem}}@media(max-width:480px){.appointment-modal{padding:1rem}.modal-header{margin-bottom:1rem;padding-bottom:.75rem}.form-group label{font-size:.8125rem}.form-group input,.form-group select,.form-group textarea{padding:.625rem .875rem;font-size:.875rem}.modal-footer{flex-direction:column-reverse;gap:.75rem}.modal-footer button{width:100%}}.appointments-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:2rem;flex-wrap:wrap}.appointments-page .header-content{display:flex;gap:3rem;align-items:flex-start;flex:1;min-width:0;flex-wrap:wrap}.appointments-page .header-title{min-width:250px}.appointments-page .header-title h1{margin:0;font-size:1.75rem;color:var(--tef-dark, #0B2739);font-weight:600}.appointments-page .page-subtitle{margin:.5rem 0 0;color:var(--tef-gray-medium, #50535A);font-size:.9375rem}.appointments-page .header-stats{display:flex;gap:1rem;flex-wrap:wrap}.appointments-page .stat-card{background:var(--tef-white, #FFFFFF);padding:1rem 1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6);text-align:center;min-width:100px}.appointments-page .stat-card.highlight{background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,#0066B3 100%);color:var(--tef-white, #FFFFFF);border:none}.appointments-page .stat-number{font-size:1.75rem;font-weight:700;margin-bottom:.25rem;color:var(--tef-dark, #0B2739)}.appointments-page .stat-card.highlight .stat-number{color:#fff}.appointments-page .stat-label{font-size:.85rem;color:#64748b;font-weight:500}.appointments-page .stat-card.highlight .stat-label{color:#ffffffe6}.appointments-page .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--tef-blue, #019DF4) 0%,#0077CC 100%);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #019df44d;white-space:nowrap}.appointments-page .btn-primary:hover{background:linear-gradient(135deg,#07c,#059);transform:translateY(-1px);box-shadow:0 4px 12px #019df466}.appointments-page .appointments-controls{margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.appointments-page .appointments-search-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.appointments-page .appointments-search-box{flex:1;min-width:250px;display:flex;align-items:center;gap:.5rem;background:#fff;border:2px solid #e2e8f0;border-radius:10px;padding:.6rem 1rem;transition:border-color .2s}.appointments-page .appointments-search-box:focus-within{border-color:#019df4}.appointments-page .appointments-search-box svg{color:#94a3b8;flex-shrink:0}.appointments-page .appointments-search-box input{border:none;outline:none;width:100%;font-size:.9rem;color:#334155;background:transparent}.appointments-page .appointments-date-range{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.appointments-page .appointments-date-range label{font-size:.8rem;font-weight:600;color:#64748b}.appointments-page .appointments-date-range input[type=date]{padding:.5rem .75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.85rem;color:#334155;background:#fff;outline:none;transition:border-color .2s}.appointments-page .appointments-date-range input[type=date]:focus{border-color:#019df4}.appointments-page .btn-clear-dates{background:none;border:none;cursor:pointer;color:#94a3b8;padding:.25rem;display:flex;align-items:center;transition:color .2s}.appointments-page .btn-clear-dates:hover{color:#ef4444}.appointments-page .appointments-filters-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.appointments-page .appointments-filters{display:flex;gap:.75rem;flex-wrap:wrap}.appointments-page .view-toggle{display:flex;gap:.25rem;background:#f1f5f9;border-radius:10px;padding:.25rem}.appointments-page .view-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:8px;cursor:pointer;background:transparent;color:#64748b;transition:all .2s}.appointments-page .view-btn:hover{background:#e2e8f0;color:#334155}.appointments-page .view-btn.active{background:#fff;color:#019df4;box-shadow:0 1px 4px #0000001a}.appointments-page .filter-btn{padding:.75rem 1.5rem;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;color:#475569}.appointments-page .filter-btn:hover{border-color:#019df4;color:#019df4;background:#f0f9ff}.appointments-page .filter-btn.active{background:linear-gradient(135deg,#019df4,#06c);color:#fff;border-color:transparent}.appointments-page .appointments-table-container{background:var(--tef-white, #FFFFFF);border-radius:12px;box-shadow:0 2px 12px #0000000f;border:1px solid var(--tef-border, #E6E6E6);overflow-x:auto;overflow-y:visible}.appointments-page .appointments-table{width:100%;min-width:900px;border-collapse:collapse;table-layout:auto}.appointments-page .appointments-table thead{background:linear-gradient(135deg,var(--tef-dark, #0B2739) 0%,#1a3a4f 100%)}.appointments-page .appointments-table th{padding:1rem 1.25rem;text-align:left;font-size:.8rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;background:transparent;border-bottom:none}.appointments-page .appointments-table th:first-child{padding-left:1.5rem}.appointments-page .appointments-table th:last-child{padding-right:1.5rem;text-align:center}.appointments-page .appointments-table tbody tr{border-bottom:1px solid var(--tef-border, #E6E6E6);transition:background .15s ease;opacity:1}.appointments-page .appointments-table tbody tr:hover{background:#019df40a}.appointments-page .appointments-table tbody tr:last-child{border-bottom:none}.appointments-page .appointments-table td{padding:1rem 1.25rem;font-size:.85rem;color:var(--tef-gray-dark, #313235);vertical-align:middle;background:transparent}.appointments-page .appointments-table td,.appointments-page .appointments-table td *{font-size:.85rem}.appointments-page .appointments-table td:first-child{padding-left:1.5rem}.appointments-page .appointments-table td:last-child{padding-right:1.5rem}.appointments-page .date-cell{display:flex;flex-direction:column;gap:.25rem}.appointments-page .date-primary{font-weight:600;color:var(--tef-dark, #0B2739);text-transform:capitalize;font-size:.875rem}.appointments-page .date-secondary{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--tef-gray-light, #86888C);margin-top:0}.appointments-page .date-secondary svg{width:12px;height:12px;color:var(--tef-gray-light, #86888C)}.appointments-page .client-cell{display:flex;flex-direction:column;gap:.25rem}.appointments-page .client-name{font-weight:600;color:var(--tef-dark, #0B2739);display:flex;align-items:center;gap:.5rem}.appointments-page .client-company{font-size:.75rem!important;color:#64748b}.appointments-page .org-cell .org-tag{display:inline-flex;align-items:center;gap:.35rem;background:#eff6ff;color:#1d4ed8;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.appointments-page .org-cell .text-muted{color:#94a3b8}.appointments-page .title-cell{max-width:250px;display:flex;flex-direction:column;gap:.25rem}.appointments-page .appointment-title-text{font-weight:500;color:var(--tef-dark, #0B2739);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.appointments-page .appointment-description{font-size:.8rem;color:var(--tef-gray-light, #86888C);margin-top:.25rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.appointments-page .responsable-cell{display:flex;align-items:center;gap:.65rem}.appointments-page .responsable-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#019df4,#0066b3);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;box-shadow:0 2px 4px #019df44d;text-transform:uppercase}.appointments-page .responsable-cell span{font-weight:500;color:var(--tef-dark, #0B2739)}.appointments-page .location-cell{max-width:180px;display:flex;align-items:center}.appointments-page .meeting-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--tef-blue, #019DF4);text-decoration:none;font-weight:500;font-size:.85rem;transition:all .2s;padding:.25rem .5rem;background:#019df414;border-radius:6px}.appointments-page .meeting-link:hover{color:#07c;background:#019df426;text-decoration:none}.appointments-page .meeting-link svg{color:var(--tef-blue, #019DF4)!important;stroke:var(--tef-blue, #019DF4)!important;flex-shrink:0}.appointments-page .location-text{display:flex;align-items:center;gap:.35rem;color:var(--tef-gray-medium, #50535A);font-size:.85rem}.appointments-page .location-text svg{color:var(--tef-gray-light, #86888C);flex-shrink:0}.appointments-page .actions-cell{display:flex;gap:.5rem;justify-content:center;white-space:nowrap;min-width:140px}.appointments-page .btn-table-action{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000001a;padding:0;color:#fff}.appointments-page .btn-table-action svg,.appointments-page .btn-table-action:hover svg{color:#fff!important;stroke:#fff!important;width:16px;height:16px}.appointments-page .btn-table-action.edit{background:linear-gradient(135deg,#019df4,#07c)}.appointments-page .btn-table-action.edit:hover{background:linear-gradient(135deg,#07c,#059);transform:translateY(-2px);box-shadow:0 4px 12px #019df466}.appointments-page .btn-table-action.complete{background:linear-gradient(135deg,#10b981,#059669)}.appointments-page .btn-table-action.complete:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.appointments-page .btn-table-action.cancel{background:linear-gradient(135deg,#f87171,#ef4444)}.appointments-page .btn-table-action.cancel:hover{background:linear-gradient(135deg,#ef4444,#dc2626);transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.appointments-page .completed-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--tef-green, #5BC500);font-weight:500;white-space:nowrap}.appointments-page .status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px}.appointments-page .badge-icon{font-size:1rem}.appointments-page .badge-scheduled{background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;box-shadow:0 2px 4px #0ea5e94d}.appointments-page .badge-confirmed{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.appointments-page .badge-completed{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 4px #6366f14d}.appointments-page .badge-cancelled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef44444d}.appointments-page .badge-no-show{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;box-shadow:0 2px 4px #6b72804d}.appointments-page .appointments-grid{display:none}.appointments-page .appointment-card{background:#fff;border-radius:16px;box-shadow:0 2px 12px #00000014;overflow:hidden;transition:all .3s;border:2px solid transparent}.appointments-page .appointment-card:hover{box-shadow:0 8px 24px #0000001f;border-color:#019df4;transform:translateY(-2px)}.appointments-page .appointment-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0}.appointments-page .appointment-date{display:flex;gap:1rem;align-items:center}.appointments-page .appointment-date>svg{color:#019df4;flex-shrink:0}.appointments-page .appointment-body{padding:1.5rem}.appointments-page .appointment-title{margin:0 0 1rem;font-size:1.25rem;font-weight:700;color:#002060;line-height:1.3}.appointments-page .appointment-details{display:flex;flex-direction:column;gap:.75rem}.appointments-page .detail-row{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:#475569}.appointments-page .detail-row svg{color:#019df4;flex-shrink:0;margin-top:.15rem}.appointments-page .detail-row strong{color:#334155}.appointments-page .description-text{color:#64748b;font-style:italic;line-height:1.5}.appointments-page .appointment-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap}.appointments-page .btn-action{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;flex:1;min-width:fit-content;justify-content:center}.appointments-page .btn-edit{background:#f1f5f9;color:#475569}.appointments-page .btn-edit:hover{background:#e2e8f0;color:#334155}.appointments-page .btn-complete{background:#d1fae5;color:#065f46}.appointments-page .btn-complete:hover{background:#a7f3d0}.appointments-page .btn-cancel{background:#fee2e2;color:#991b1b}.appointments-page .btn-cancel:hover{background:#fecaca}.appointments-page .completed-info{display:flex;align-items:center;gap:.5rem;color:#059669;font-size:.9rem;font-weight:600;width:100%;justify-content:center}.appointments-page .loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;gap:1rem}.appointments-page .spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#019df4;border-radius:50%;animation:spin .8s linear infinite}.appointments-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.appointments-page .empty-state h3{margin:1.5rem 0 .5rem;font-size:1.5rem;color:#334155}.appointments-page .empty-state p{color:#64748b;margin-bottom:2rem}@media(max-width:768px){.appointments-page .page-header{flex-direction:column;align-items:stretch}.appointments-page .header-content{flex-direction:column;gap:1.5rem}.appointments-page .header-stats{justify-content:center}.appointments-page .appointments-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.appointments-page .appointments-table{min-width:800px;font-size:.8125rem}.appointments-page .appointments-table th,.appointments-page .appointments-table td{padding:.75rem .5rem;white-space:nowrap}.appointments-page .date-cell{min-width:140px}.appointments-page .title-cell{min-width:150px}.appointments-page .appointment-actions{flex-direction:column}.appointments-page .btn-action{flex:none;width:100%}}@media(max-width:1200px){.appointments-page .appointments-table th,.appointments-page .appointments-table td{padding:.75rem 1rem}.appointments-page .appointments-table th:first-child,.appointments-page .appointments-table td:first-child{padding-left:1rem}.appointments-page .appointments-table th:last-child,.appointments-page .appointments-table td:last-child{padding-right:1rem}.appointments-page .title-cell{max-width:180px}.appointments-page .location-cell{max-width:120px}}.appointments-page .client-link{cursor:pointer;transition:color .15s}.appointments-page .client-link:hover{color:#019df4;text-decoration:underline}.appointments-page .org-link{cursor:pointer;transition:all .15s}.appointments-page .org-link:hover{background:#dbeafe;color:#1e40af}.appointments-page .calendar-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;border:1px solid #e6e6e6;overflow:hidden}.appointments-page .calendar-header{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#0b2739,#1a3a4f)}.appointments-page .cal-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:#ffffff26;color:#fff;cursor:pointer;transition:background .2s}.appointments-page .cal-nav-btn:hover{background:#ffffff40}.appointments-page .cal-month-title{flex:1;text-align:center;color:#fff;font-size:1.2rem;font-weight:600;text-transform:capitalize;margin:0}.appointments-page .cal-today-btn{padding:.4rem 1rem;border:1px solid rgba(255,255,255,.4);border-radius:8px;background:transparent;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.appointments-page .cal-today-btn:hover{background:#ffffff26}.appointments-page .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.appointments-page .cal-weekday{padding:.75rem .5rem;text-align:center;font-size:.75rem;font-weight:700;text-transform:uppercase;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.appointments-page .cal-weekday.cal-weekend{color:#94a3b8}.appointments-page .cal-cell{min-height:110px;padding:.5rem;border-right:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;background:#fff;transition:background .15s}.appointments-page .cal-cell:nth-child(7n+7){border-right:none}.appointments-page .cal-cell:hover{background:#fafbfc}.appointments-page .cal-empty{background:#fafafa}.appointments-page .cal-today{background:#eff6ff}.appointments-page .cal-today .cal-day-num{background:#019df4;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.appointments-page .cal-day-num{font-size:.85rem;font-weight:600;color:#334155;margin-bottom:.35rem}.appointments-page .cal-events{display:flex;flex-direction:column;gap:2px}.appointments-page .cal-event{display:flex;align-items:center;gap:.25rem;padding:2px 6px;border-radius:4px;font-size:.7rem;cursor:pointer;transition:all .15s;overflow:hidden;white-space:nowrap}.appointments-page .cal-event:hover{transform:scale(1.02);box-shadow:0 1px 4px #00000026}.appointments-page .cal-event-scheduled{background:#e0f2fe;color:#0369a1}.appointments-page .cal-event-confirmed{background:#d1fae5;color:#065f46}.appointments-page .cal-event-completed{background:#e0e7ff;color:#4338ca}.appointments-page .cal-event-cancelled{background:#fee2e2;color:#991b1b;text-decoration:line-through}.appointments-page .cal-event-time{font-weight:700;flex-shrink:0}.appointments-page .cal-event-title{overflow:hidden;text-overflow:ellipsis}.appointments-page .cal-event-more{font-size:.7rem;color:#64748b;font-weight:600;padding:1px 6px}@media(max-width:768px){.appointments-page .appointments-search-row{flex-direction:column}.appointments-page .appointments-date-range{width:100%}.appointments-page .cal-cell{min-height:60px;padding:.25rem}.appointments-page .cal-event-time{display:none}}.public-booking{min-height:100vh;background:var(--tef-bg-light, #F5F5F5);font-family:Open Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.booking-container{max-width:800px;margin:0 auto;padding:2rem 1rem}.booking-header{background:var(--tef-white, #FFFFFF);padding:2.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6);margin-bottom:2rem;text-align:center;position:relative}.booking-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--tef-blue, #019DF4) 0%,var(--tef-green, #5BC500) 100%);border-radius:0 0 12px 12px}.company-logo{margin-bottom:1.5rem}.company-logo img{height:64px;width:auto;max-width:280px}.booking-header h1{color:var(--tef-dark, #0B2739);font-size:1.75rem;font-weight:600;margin:0 0 1rem}.responsable-info{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--tef-bg-light, #F5F5F5)}.responsable-info p{color:var(--tef-gray-light, #86888C);font-size:.9375rem;margin:.25rem 0}.responsable-info strong{color:var(--tef-dark, #0B2739)}.progress-steps{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;background:var(--tef-white, #FFFFFF);padding:1.5rem;border-radius:12px;box-shadow:0 1px 3px #0000000a;border:1px solid var(--tef-border, #E6E6E6);position:relative}.progress-steps:before{content:"";position:absolute;top:50%;left:15%;right:15%;height:2px;background:var(--tef-border, #E6E6E6);transform:translateY(-50%);z-index:0}.progress-steps .step{display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative;z-index:1;flex:1}.progress-steps .step-number{width:40px;height:40px;border-radius:50%;background:#f5f5f5;border:2px solid #e6e6e6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#86888c;transition:all .3s ease}.progress-steps .step.active .step-number{background:#019df4;border-color:#019df4;color:#fff}.progress-steps .step.completed .step-number{background:#5bc500;border-color:#5bc500;color:#fff}.progress-steps .step-label{font-size:.875rem;color:#86888c;font-weight:500;text-align:center}.progress-steps .step.active .step-label,.progress-steps .step.completed .step-label{color:#313235;font-weight:600}.booking-step{background:#fff;padding:2.5rem;border-radius:8px;box-shadow:0 2px 12px #0000000f;border:1px solid #e6e6e6}.booking-step h2{color:#313235;font-size:1.5rem;font-weight:700;margin:0 0 2rem}.client-preloaded-info{background:linear-gradient(135deg,#5bc50014,#019df414);border:1px solid rgba(91,197,0,.3);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.client-preloaded-info .info-badge{display:flex;align-items:center;gap:.5rem;color:#5bc500;font-size:.9375rem;margin-bottom:.5rem}.client-preloaded-info .info-badge strong{color:#313235}.client-preloaded-info .info-hint{color:#86888c;font-size:.875rem;margin:0}.input-disabled{background:#f5f5f5!important;color:#86888c!important;cursor:not-allowed;border-color:#e6e6e6!important}.date-picker-section{margin-bottom:2rem}.date-picker-section h3{color:#313235;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.date-picker-section input[type=date]{width:100%;padding:.875rem;border:2px solid #e6e6e6;border-radius:4px;font-size:1rem;color:#313235;background:#fff;transition:all .2s ease}.date-picker-section input[type=date]:focus{outline:none;border-color:#019df4;box-shadow:0 0 0 3px #019df41a}.appointment-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.type-card{padding:1.25rem;border:2px solid #e6e6e6;border-radius:8px;background:#fff;cursor:pointer;transition:all .3s ease;text-align:center}.type-card:hover{border-color:#019df4;transform:translateY(-2px);box-shadow:0 4px 12px #019df426}.type-card.selected{border-color:#019df4;background:#f0f7ff;box-shadow:0 4px 12px #019df433}.type-card h3{color:#313235;font-size:1rem;font-weight:600;margin:0 0 .5rem}.type-card p{color:#86888c;font-size:.875rem;margin:0}.type-card .duration{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background:#f5f5f5;border-radius:12px;font-size:.75rem;color:#313235;font-weight:500}color: #313235; font-size: 1rem; font-weight: 600; margin: 0 0 .5rem 0; } .type-card p{color:#86888c;font-size:.875rem;margin:0}.time-slots,.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;margin-bottom:2rem}.slot-button{padding:.875rem .5rem;border:2px solid #e6e6e6;border-radius:8px;background:#fff;color:#313235;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:60px}.slot-button svg{color:#86888c;transition:color .2s ease}.slot-button:hover{border-color:#019df4;background:#f0f7ff;transform:translateY(-2px);box-shadow:0 4px 8px #019df426}.slot-button:hover svg{color:#019df4}.slot-button.selected{border-color:#019df4;background:#019df4;color:#fff;box-shadow:0 4px 12px #019df44d}.slot-button.selected svg{color:#fff}.slot-button.disabled{opacity:.5;cursor:not-allowed}.slot-button.disabled:hover{border-color:#e6e6e6;background:#fff;transform:none;box-shadow:none}.booking-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#313235;font-weight:600;font-size:.9375rem}.form-group input,.form-group textarea{padding:.875rem;border:1px solid #e6e6e6;border-radius:4px;font-size:1rem;color:#313235;font-family:inherit;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#019df4;box-shadow:0 0 0 3px #019df41a}.form-group textarea{resize:vertical;min-height:100px}.button-group{display:flex;gap:1rem;margin-top:1rem}.btn{padding:.875rem 2rem;border:none;border-radius:4px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:#019df4;color:#fff}.btn-primary:hover{background:#0189db;box-shadow:0 4px 12px #019df44d;transform:translateY(-2px)}.btn-primary:disabled{background:#e6e6e6;color:#86888c;cursor:not-allowed;transform:none}.btn-secondary{background:#f5f5f5;color:#313235;border:1px solid #e6e6e6}.btn-secondary:hover{background:#e6e6e6}.confirmation{text-align:center}.confirmation .success-icon{width:80px;height:80px;background:#5bc500;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem}.confirmation .success-icon svg{color:#fff}.confirmation h2{color:#313235;font-size:2rem;font-weight:700;margin:0 0 1rem}.confirmation p{color:#86888c;font-size:1.125rem;line-height:1.6;margin:0 0 2rem}.appointment-details{background:#fafafa;border:1px solid #e6e6e6;border-radius:8px;padding:2rem;margin:2rem 0;text-align:left}.detail-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e6e6e6}.detail-row:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.detail-row svg{color:#019df4;flex-shrink:0}.detail-row strong{color:#313235;font-weight:600;min-width:120px}.detail-row span{color:#86888c;flex:1}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:3rem}.spinner{width:48px;height:48px;border:4px solid #e6e6e6;border-top-color:#019df4;border-radius:50%;animation:spin .8s linear infinite}.error-container svg{color:#e74c3c;margin-bottom:1.5rem}.error-container h2{color:#313235;font-size:1.5rem;margin:0 0 1rem}.error-container p{color:#86888c;font-size:1rem}@media(max-width:768px){.booking-container{padding:1rem .5rem}.booking-header,.booking-step{padding:1.5rem}.booking-header h1{font-size:1.5rem}.appointment-types,.appointment-types-grid{grid-template-columns:1fr 1fr}.time-slots,.slots-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.slot-button{padding:.75rem .25rem;font-size:.8rem;min-height:55px}.button-group{flex-direction:column}.btn{width:100%}}@media(max-width:480px){.appointment-types,.appointment-types-grid{grid-template-columns:1fr}.time-slots,.slots-grid{grid-template-columns:repeat(2,1fr)}.progress-steps .step-label{font-size:.7rem}.booking-footer .footer-main{padding:1.5rem;flex-direction:column;gap:1rem}.booking-footer .footer-logo{height:36px}.booking-footer .footer-bottom{padding:.75rem 1rem}}.booking-footer{background:var(--tef-blue, #019DF4);color:#fff;margin-top:3rem}.booking-footer .footer-main{display:flex;justify-content:space-between;align-items:center;padding:2rem 3rem;flex-wrap:wrap;gap:1.5rem}.booking-footer .footer-brand{display:flex;flex-direction:column;gap:.75rem}.booking-footer .footer-logo{height:32px;width:auto;filter:brightness(0) invert(1)}.booking-footer .footer-tagline{font-size:.9rem;font-weight:300;color:#ffffffe6;margin:0;max-width:300px}.booking-footer .footer-service{font-size:1rem;font-weight:600;color:#fff;margin:0;padding:.5rem 1.5rem;background:#ffffff26;border-radius:25px}.booking-footer .footer-bottom{background:#00000026;padding:1rem 3rem;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.booking-footer .footer-bottom p,.booking-footer .footer-note{margin:0;font-size:.8rem;color:#ffffffd9}.booking-footer .footer-separator{color:#fff6}@media(max-width:768px){.booking-footer .footer-main{flex-direction:column;text-align:center;padding:2rem;gap:1rem}.booking-footer .footer-brand{align-items:center}.booking-footer .footer-tagline{text-align:center}.booking-footer .footer-bottom{padding:1rem}.booking-footer .footer-separator{display:none}}.knowledge-center-page{min-height:100vh;background:var(--bg-primary, #f8fafc)}.knowledge-center-content{padding:2rem;max-width:var(--page-max-width, 1600px);margin:0 auto}.knowledge-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.header-title{display:flex;align-items:center;gap:1rem}.header-title svg{color:var(--primary, #0066cc)}.header-title h1{margin:0;font-size:1.75rem;color:var(--text-primary, #1e293b)}.header-title p{margin:0;color:var(--text-secondary, #64748b);font-size:.875rem}.header-actions{display:flex;align-items:center;gap:1rem}.btn-primary{display:flex;align-items:center;gap:.5rem;background:var(--primary, #0066cc);color:#fff;border:none;padding:.75rem 1.25rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary:hover{background:var(--primary-dark, #0052a3);transform:translateY(-1px)}.empty-state,.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state svg,.loading-state svg{color:var(--text-muted, #94a3b8);margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;color:var(--text-primary, #1e293b)}.empty-state p{margin:0 0 1.5rem;color:var(--text-secondary, #64748b)}@media(max-width:768px){.knowledge-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;flex-direction:column}.btn-primary{width:100%;justify-content:center}.guide-toc-grid{grid-template-columns:1fr 1fr!important}.guide-controls-bar{flex-direction:column}.guide-search-box{min-width:unset!important;width:100%}}.guide-controls-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.guide-search-box{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:8px;padding:.5rem .75rem;min-width:280px;flex:1;max-width:480px}.guide-search-box svg{color:var(--text-secondary, #64748b);flex-shrink:0}.guide-search-box input{border:none;outline:none;flex:1;font-size:.8125rem;min-width:0;background:transparent}.guide-expand-buttons{display:flex;gap:.5rem}.btn-guide-expand{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;border:1px solid var(--border, #e2e8f0);background:#fff;border-radius:6px;font-size:.75rem;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s;white-space:nowrap}.btn-guide-expand:hover{background:var(--bg-secondary, #f1f5f9);border-color:var(--primary, #0066cc);color:var(--primary, #0066cc)}.guide-toc{background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.guide-toc h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.875rem;color:var(--text-secondary, #64748b);font-weight:600}.guide-toc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.guide-toc-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-secondary, #f8fafc);border:1px solid transparent;border-radius:8px;font-size:.8125rem;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .15s;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guide-toc-item:hover{background:#fff;border-color:var(--primary, #0066cc);color:var(--primary, #0066cc);transform:translateY(-1px);box-shadow:0 2px 8px #0000000f}.guide-toc-item svg{flex-shrink:0}.guide-sections{display:flex;flex-direction:column;gap:.75rem}.guide-section-card{background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;transition:all .2s}.guide-section-card:hover{box-shadow:0 4px 16px #0000000f}.guide-section-card.expanded{border-color:var(--primary, #0066cc);box-shadow:0 4px 20px #0066cc14}.guide-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;background:transparent;border:none;cursor:pointer;text-align:left;gap:1rem;transition:background .15s}.guide-section-header:hover{background:var(--bg-secondary, #f8fafc)}.guide-section-left{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.guide-section-icon{width:44px;height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border-radius:12px}.guide-section-title-area h3{margin:0;font-size:1rem;color:var(--text-primary, #1e293b);font-weight:600}.guide-section-title-area p{margin:.25rem 0 0;font-size:.8125rem;color:var(--text-secondary, #64748b)}.guide-section-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.guide-go-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--primary, #0066cc);font-weight:500;padding:.3rem .6rem;border-radius:6px;transition:all .15s;white-space:nowrap}.guide-go-link:hover{background:#0066cc14;text-decoration:underline}.guide-chevron{display:flex;align-items:center;color:var(--text-muted, #94a3b8)}.guide-section-body{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border, #e2e8f0);margin-top:0;animation:guideSlideDown .2s ease-out}@keyframes guideSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.guide-content-item{display:flex;gap:.75rem;padding:.875rem 0;border-bottom:1px solid var(--border-light, #f1f5f9)}.guide-content-item:last-child{border-bottom:none;padding-bottom:0}.guide-content-item:first-child{padding-top:1rem}.guide-content-bullet{flex-shrink:0;padding-top:.125rem}.guide-content-text{flex:1;min-width:0}.guide-content-text strong{display:block;font-size:.875rem;color:var(--text-primary, #1e293b);margin-bottom:.25rem}.guide-content-text p{margin:0;font-size:.8125rem;color:var(--text-secondary, #64748b);line-height:1.6;white-space:pre-line}.ai-chat-page{min-height:100vh;background:var(--bg-primary, #f8fafc)}.chat-container{display:flex;height:calc(100vh - 64px);overflow:hidden}.chat-sidebar{width:300px;background:#fff;border-right:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;transition:width .25s ease}.chat-sidebar::-webkit-scrollbar{width:3px}.chat-sidebar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.sidebar-header{padding:1rem 1.125rem;border-bottom:1px solid var(--border, #e2e8f0);display:flex;align-items:center;justify-content:space-between}.btn-collapse{background:transparent;border:none;color:var(--text-muted, #94a3b8);cursor:pointer;padding:.375rem;border-radius:6px;transition:all .2s;display:flex;align-items:center}.btn-collapse:hover{background:var(--bg-secondary, #f1f5f9);color:var(--primary, #0066cc)}.chat-sidebar.collapsed{width:48px;min-width:48px;align-items:center;border-right:2px solid var(--primary, #0066cc)}.chat-sidebar.collapsed .sidebar-header{padding:.75rem 0;justify-content:center;border-bottom:none}.chat-sidebar.collapsed .btn-collapse{width:36px;height:36px;justify-content:center;background:#0066cc14;border:1px solid rgba(0,102,204,.2);color:var(--primary, #0066cc)}.btn-back{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--text-secondary, #64748b);cursor:pointer;padding:.5rem .75rem;border-radius:8px;transition:all .2s;font-weight:500;font-size:.875rem}.btn-back:hover{background:var(--bg-secondary, #f1f5f9);color:var(--primary, #0066cc)}.stats-grid{display:flex;gap:.625rem}.stat-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .375rem;background:#fff;border-radius:10px;border:1px solid rgba(0,102,204,.08)}.stat-value{font-size:1.375rem;font-weight:700;color:var(--primary, #0066cc);line-height:1}.stat-label{font-size:.625rem;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem;font-weight:600}.sidebar-section{padding:1.125rem;border-bottom:1px solid var(--border, #e2e8f0)}.sidebar-section h3{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #94a3b8);margin:0 0 .75rem;font-weight:600}.source-filters{display:flex;flex-wrap:wrap;gap:.5rem}.source-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem .875rem;border-radius:20px;cursor:pointer;transition:all .2s ease;font-size:.8125rem;font-weight:500;color:var(--text-secondary, #64748b);border:1px solid var(--border, #e2e8f0);background:var(--bg-secondary, #f8fafc);-webkit-user-select:none;user-select:none}.source-chip input{display:none}.source-chip svg{flex-shrink:0}.source-chip:hover{border-color:var(--primary, #0066cc);color:var(--primary, #0066cc);background:#fff}.source-chip.active{background:var(--primary, #0066cc);border-color:var(--primary, #0066cc);color:#fff}.sidebar-footer{padding:1rem 1.125rem;margin-top:auto}.btn-clear{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:8px;color:var(--text-secondary, #64748b);font-size:.8125rem;cursor:pointer;transition:all .2s}.btn-clear:hover:not(:disabled){background:#fee2e2;border-color:#fecaca;color:#dc2626}.btn-clear:disabled{opacity:.5;cursor:not-allowed}.btn-new-conversation{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.625rem;background:linear-gradient(135deg,#06c,#0052a3);border:none;border-radius:8px;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-new-conversation:hover{background:linear-gradient(135deg,#0052a3,#003d7a);transform:translateY(-1px);box-shadow:0 2px 8px #0066cc4d}.conversations-section{flex:1;overflow-y:auto;min-height:0;padding-bottom:.5rem!important}.conversations-loading,.conversations-empty{text-align:center;color:var(--text-muted, #94a3b8);font-size:.8125rem;padding:1rem 0;display:flex;align-items:center;justify-content:center;gap:.5rem}.conversations-list{display:flex;flex-direction:column;gap:2px}.conv-group-label{display:flex;align-items:center;gap:.375rem;font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #94a3b8);font-weight:600;padding:.5rem .375rem .25rem}.conversation-item{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem;border-radius:8px;cursor:pointer;transition:all .15s;position:relative}.conversation-item:hover{background:var(--bg-secondary, #f1f5f9)}.conversation-item.active{background:#0066cc14;border-left:3px solid var(--primary, #0066cc)}.conv-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conv-title{font-size:.8125rem;font-weight:500;color:var(--text-primary, #1e293b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.conv-meta{font-size:.6875rem;color:var(--text-muted, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-title-input{font-size:.8125rem;padding:.25rem .375rem;border:1px solid var(--primary, #0066cc);border-radius:4px;outline:none;width:100%;background:#fff}.conv-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.conversation-item:hover .conv-actions{opacity:1}.conv-action-btn{background:transparent;border:none;color:var(--text-muted, #94a3b8);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;transition:all .15s}.conv-action-btn:hover{background:var(--bg-secondary, #e2e8f0);color:var(--text-primary, #1e293b)}.conv-action-btn.danger:hover{background:#fee2e2;color:#dc2626}.chat-header-actions{display:flex;gap:.5rem;padding-right:1rem}.chat-header-actions .btn-clear{width:auto;padding:.5rem .75rem;font-size:.75rem}.ai-transparency-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:linear-gradient(90deg,#eff6ff,#eef2ff);border-bottom:1px solid #bfdbfe;font-size:.75rem;color:#1e40af;line-height:1.5}.ai-transparency-banner svg{flex-shrink:0;color:#3b82f6}.ai-transparency-banner strong{font-weight:600}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary, #f8fafc)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.5rem;background:#fff;border-bottom:1px solid var(--border, #e2e8f0)}.chat-title{display:flex;align-items:center;gap:.75rem}.chat-title-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff}.chat-title h2{margin:0;font-size:1.05rem;color:var(--text-primary, #1e293b);font-weight:600}.chat-title p{margin:0;font-size:.75rem;color:var(--text-secondary, #64748b);display:flex;align-items:center;gap:.375rem}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.online{background:#22c55e;box-shadow:0 0 0 2px #22c55e33}.status-dot.thinking{background:#f59e0b;animation:pulse-dot 1s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.messages-container{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.message{display:flex;gap:.75rem;max-width:82%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.assistant{align-self:flex-start}.message-avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.message.user .message-avatar{background:var(--primary, #0066cc);color:#fff}.message.assistant .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.message-content{display:flex;flex-direction:column;gap:.375rem;min-width:0}.message-text{padding:.875rem 1.125rem;border-radius:16px;font-size:.9rem;line-height:1.65;word-wrap:break-word;overflow-wrap:break-word}.message.user .message-text{background:var(--primary, #0066cc);color:#fff;border-bottom-right-radius:4px}.message.assistant .message-text{background:#fff;color:var(--text-primary, #1e293b);border:1px solid var(--border, #e2e8f0);border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000000a}.message.error .message-text{background:#fef2f2;border-color:#fecaca;color:#991b1b}.message-text h3,.message-text h4,.message-text h5{margin:.875rem 0 .375rem;line-height:1.3}.message-text h3:first-child,.message-text h4:first-child,.message-text h5:first-child{margin-top:0}.message-text h3{font-size:1.05rem}.message-text h4{font-size:.975rem;color:var(--text-primary, #1e293b)}.message-text h5{font-size:.9rem;color:var(--text-secondary, #475569)}.message-text ul{margin:.375rem 0;padding-left:1.25rem}.message-text li{margin:.2rem 0;line-height:1.5}.message-text strong{color:var(--text-primary, #1e293b);font-weight:600}.message-text code{background:#0000000f;padding:.125rem .375rem;border-radius:4px;font-size:.825rem;font-family:JetBrains Mono,Fira Code,monospace}.message-text pre{background:#1e293b;color:#e2e8f0;padding:.75rem 1rem;border-radius:8px;overflow-x:auto;margin:.5rem 0;font-size:.8rem;line-height:1.5}.message-text pre code{background:none;padding:0;color:inherit}.message-text em{font-style:italic;color:var(--text-secondary, #475569)}.message-text p{margin:.25rem 0}.message-text blockquote{border-left:3px solid var(--primary, #0ea5e9);margin:.5rem 0;padding:.25rem .75rem;color:var(--text-secondary, #475569);background:#0ea5e90a;border-radius:0 6px 6px 0}.message-text hr{border:none;border-top:1px solid var(--border-color, #e2e8f0);margin:.75rem 0}.message-text ol{margin:.5rem 0;padding-left:1.5rem}.chat-table-wrapper{overflow-x:auto;margin:.75rem 0;border-radius:8px;border:1px solid var(--border-color, #e2e8f0)}.chat-table{width:100%;border-collapse:collapse;font-size:.825rem;line-height:1.4}.chat-table thead{background:var(--bg-secondary, #f1f5f9)}.chat-table th{padding:.5rem .75rem;text-align:left;font-weight:600;color:var(--text-primary, #1e293b);border-bottom:2px solid var(--border-color, #e2e8f0);white-space:nowrap}.chat-table td{padding:.45rem .75rem;border-bottom:1px solid var(--border-color, #e2e8f0);color:var(--text-secondary, #475569)}.chat-table tbody tr:last-child td{border-bottom:none}.chat-table tbody tr:hover{background:#0ea5e90a}.message-footer{display:flex;align-items:center;justify-content:space-between;padding:0 .25rem;min-height:28px}.message-footer-left{display:flex;align-items:center;gap:.625rem}.ai-generated-label{display:inline-flex;align-items:center;gap:.25rem;font-size:.625rem;color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe;padding:.125rem .5rem;border-radius:10px;font-weight:500;letter-spacing:.02em}.ai-generated-label svg{flex-shrink:0}.token-info{font-size:.675rem;color:var(--text-muted, #94a3b8);cursor:help}.feedback-btn.feedback-positive{color:#22c55e!important;opacity:1!important}.feedback-btn.feedback-negative{color:#ef4444!important;opacity:1!important}.feedback-btn.feedback-positive,.feedback-btn.feedback-negative{background:var(--bg-secondary, #f1f5f9)}.input-hint-link{color:var(--primary, #0066cc);text-decoration:none;font-weight:500}.input-hint-link:hover{text-decoration:underline}.message-actions{display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.message:hover .message-actions{opacity:1}.action-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-muted, #94a3b8);cursor:pointer;transition:all .2s}.action-btn:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.copied{color:#22c55e}.typing-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:16px 16px 16px 4px;width:fit-content;max-width:100%;white-space:nowrap}.message.loading{max-width:none}.message.loading .message-content{flex:0 0 auto;min-width:260px}.spinner{animation:spin 1s linear infinite;color:var(--primary, #0066cc);flex-shrink:0}.typing-text{font-size:.8125rem;color:var(--text-primary, #1e293b);font-style:italic;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-input-container{padding:.875rem 1.5rem 1rem;background:#fff;border-top:1px solid var(--border, #e2e8f0)}.chat-input-wrapper{display:flex;align-items:flex-end;gap:.625rem;background:var(--bg-secondary, #f8fafc);border:2px solid var(--border, #e2e8f0);border-radius:16px;padding:.625rem .75rem;transition:border-color .2s,box-shadow .2s}.chat-input-wrapper:focus-within{border-color:var(--primary, #0066cc);box-shadow:0 0 0 3px #0066cc1a}.chat-input-wrapper textarea{flex:1;border:none;background:transparent;resize:none;font-size:.9rem;line-height:1.5;max-height:150px;outline:none;font-family:inherit;padding:.25rem 0}.chat-input-wrapper textarea::placeholder{color:var(--text-muted, #94a3b8)}.btn-send{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--primary, #0066cc);border:none;border-radius:12px;color:#fff;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-send:hover:not(:disabled){background:var(--primary-dark, #0052a3);transform:scale(1.04)}.btn-send:disabled{background:var(--text-muted, #94a3b8);cursor:not-allowed;transform:none}.input-hint{margin:.5rem 0 0;font-size:.6875rem;color:var(--text-muted, #94a3b8);text-align:center}.chat-right-panel{width:260px;max-width:260px;background:#fff;border-left:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overflow-x:hidden;transition:width .25s ease}.chat-right-panel::-webkit-scrollbar{width:3px}.chat-right-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.chat-right-panel.collapsed{width:44px;min-width:44px;border-left:2px solid var(--primary, #0066cc)}.chat-right-panel.collapsed .right-panel-header{padding:.75rem 0;justify-content:center;border-bottom:none}.chat-right-panel.collapsed .btn-collapse{width:34px;height:34px;justify-content:center;background:#0066cc14;border-color:#06c3;color:var(--primary, #0066cc)}.right-panel-header{padding:.875rem 1rem;border-bottom:1px solid var(--border, #e2e8f0);display:flex;align-items:center;justify-content:space-between}.right-panel-header h3{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:600;color:var(--text-primary, #1e293b);margin:0}.right-panel-section{padding:1rem;border-bottom:1px solid var(--border, #e2e8f0)}.right-panel-section h4{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #94a3b8);margin:0 0 .75rem;font-weight:600}.right-panel-stats{background:linear-gradient(135deg,#f0f7ff,#eef2ff)}.right-panel-info{border-bottom:none}.context-summary{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-muted, #94a3b8);margin:0}.context-summary svg{color:#22c55e}.chat-quick-suggestions{padding:0 1.5rem;margin-bottom:.25rem;animation:fadeIn .3s ease}.quick-suggestions-label{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #94a3b8);font-weight:600;margin-bottom:.5rem}.quick-suggestions-chips{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:#fff;border:1px solid var(--border, #e2e8f0);border-radius:20px;font-size:.8rem;color:var(--text-primary, #1e293b);cursor:pointer;transition:all .2s ease;line-height:1.3;text-align:left}.suggestion-chip svg{flex-shrink:0;color:var(--text-muted, #94a3b8);transition:color .2s ease}.suggestion-chip:hover:not(:disabled){border-color:var(--primary, #0066cc);color:var(--primary, #0066cc);background:#0066cc0a;box-shadow:0 1px 4px #0066cc1a;transform:translateY(-1px)}.suggestion-chip:hover:not(:disabled) svg{color:var(--primary, #0066cc)}.suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.btn-toggle-panel{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:8px;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .2s}.btn-toggle-panel:hover{background:var(--bg-secondary, #f1f5f9);color:var(--primary, #0066cc);border-color:var(--primary, #0066cc)}@media(max-width:1100px){.chat-right-panel{width:220px}}@media(max-width:900px){.chat-sidebar{width:260px}.chat-right-panel{display:none}.stats-grid{gap:.5rem}}@media(max-width:768px){.chat-sidebar,.chat-right-panel{display:none}.chat-container{flex-direction:column}.message{max-width:95%}.messages-container{padding:1rem}.chat-input-container{padding:.75rem 1rem}.message-actions{opacity:1}.quick-suggestions-chips{flex-direction:column}.suggestion-chip{width:100%}}.page-container{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;background:var(--tef-bg-light, #F5F5F5);min-height:calc(100vh - 73px);padding:2rem}.page-content>*:not(nav){max-width:var(--page-max-width, 1600px);margin-left:auto;margin-right:auto}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.page-header-left{display:flex;align-items:center;gap:.75rem}.page-header-left svg{color:var(--tef-blue, #019DF4)}.page-header-left h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--tef-dark, #0B2739)}.page-header-left p{margin:0;font-size:.875rem;color:var(--tef-gray-medium, #50535A)}.search-bar{display:flex;align-items:center;gap:.5rem;background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-md, 8px);padding:.5rem 1rem;margin-top:1rem;transition:border-color var(--transition-fast, .15s ease)}.search-bar:focus-within{border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.search-bar input{border:none;outline:none;flex:1;font-size:.9rem;background:transparent;color:var(--tef-dark, #0B2739);min-height:auto;padding:.25rem 0}.search-bar input:focus{box-shadow:none;border-color:transparent}.search-bar svg{color:var(--tef-gray-light, #86888C);flex-shrink:0}.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-top:1.5rem}.org-card{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);padding:1.25rem;cursor:pointer;transition:all .2s ease;position:relative;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .04))}.org-card:hover{border-color:var(--tef-blue, #019DF4);box-shadow:var(--shadow-lg, 0 4px 16px rgba(0, 0, 0, .08));transform:translateY(-2px)}.org-card.inactive{opacity:.55}.org-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.org-card-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-sm, 4px);letter-spacing:.5px}.org-card-badge[data-type=internal]{background:#dbeafe;color:#1d4ed8}.org-card-badge[data-type=external]{background:#fef3c7;color:#92400e}.org-card-code{font-size:.8rem;color:var(--tef-gray-light, #86888C);font-weight:500;flex:1}.org-card-name{font-size:1.15rem;font-weight:600;margin:0 0 .75rem;color:var(--tef-dark, #0B2739)}.org-card-stats{display:flex;gap:1.25rem;margin-bottom:.5rem}.org-stat{display:flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--tef-gray-medium, #50535A)}.org-stat svg{color:var(--tef-gray-light, #86888C)}.org-card-contact{font-size:.8rem;color:var(--tef-gray-light, #86888C);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--tef-border-light, #F0F0F0)}.org-card-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--tef-gray-light, #86888C);transition:color .2s}.org-card:hover .org-card-arrow{color:var(--tef-blue, #019DF4)}.modal-overlay{position:fixed;inset:0;background:#0b273980;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1050);padding:1rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-content{background:var(--tef-white, #FFFFFF);border-radius:var(--radius-xl, 16px);padding:2rem;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl, 0 8px 32px rgba(0, 0, 0, .1))}.modal-content h2{margin:0 0 1.5rem;font-size:1.3rem;color:var(--tef-dark, #0B2739)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:var(--tef-gray-dark, #313235)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-md, 8px);font-size:.9rem;background:var(--tef-white, #FFFFFF);color:var(--tef-dark, #0B2739);box-sizing:border-box;transition:border-color var(--transition-fast, .15s ease)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41a}.form-group textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border:none;border-radius:var(--radius-md, 8px);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s ease)}.btn-primary{background:var(--tef-blue, #019DF4);color:var(--tef-white, #FFFFFF)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-dark, #0B2739)}.btn-secondary:hover{background:var(--tef-border, #E6E6E6)}.btn-icon{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:var(--radius-sm, 4px);display:flex;align-items:center;transition:background var(--transition-fast, .15s ease)}.btn-icon:hover{background:var(--tef-bg-light, #F5F5F5)}.text-success{color:var(--tef-green, #5BC500)}.empty-state{grid-column:1 / -1;text-align:center;padding:3rem;color:var(--tef-gray-medium, #50535A)}.empty-state svg{opacity:.3;margin-bottom:.75rem}.loading-state{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem;color:var(--tef-gray-medium, #50535A)}@media(max-width:768px){.page-content{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.org-grid,.form-row{grid-template-columns:1fr}}.btn-back{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--tef-blue, #019DF4);cursor:pointer;font-size:.875rem;padding:0;margin-bottom:1rem;transition:opacity .15s ease}.btn-back:hover{opacity:.7;text-decoration:underline}.org-header-card{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-xl, 16px);padding:1.5rem 1.75rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.06));border-left:4px solid var(--tef-blue, #019DF4)}.org-header-card[data-type=internal]{border-left-color:#1d4ed8}.org-header-card[data-type=external]{border-left-color:#f59e0b}.org-header-main{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.org-header-left{display:flex;flex-direction:column;gap:.4rem;min-width:0}.org-type-chip{display:inline-flex;align-items:center;font-size:.68rem;padding:2px 10px;border-radius:var(--radius-full, 9999px);font-weight:700;text-transform:uppercase;letter-spacing:.06em;width:fit-content}.org-type-chip[data-type=internal]{background:#dbeafe;color:#1d4ed8}.org-type-chip[data-type=external]{background:#fef3c7;color:#92400e}.org-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.org-name{margin:0;font-size:1.65rem;font-weight:700;color:var(--tef-dark, #0B2739);line-height:1.2}.org-code-tag{font-size:.78rem;background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);padding:3px 10px;border-radius:var(--radius-sm, 4px);font-weight:600;border:1px solid var(--tef-border, #E6E6E6)}.org-header-email{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--tef-gray-medium, #50535A)}.org-header-right{flex-shrink:0}.org-status-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;padding:.35rem .85rem;border-radius:var(--radius-full, 9999px)}.org-status-badge.active{background:#ecfdf5;color:#059669;border:1px solid #bbf7d0}.org-status-badge.inactive{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.org-progress-bar-wrap{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--tef-border-light, #F0F0F0)}.org-progress-label{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--tef-gray-medium, #50535A);margin-bottom:.5rem}.org-progress-pct{font-weight:600;color:var(--tef-blue, #019DF4)}.org-progress-track{height:6px;background:var(--tef-bg-light, #F5F5F5);border-radius:var(--radius-full, 9999px);overflow:hidden}.org-progress-fill{height:100%;background:linear-gradient(90deg,var(--tef-blue, #019DF4),#0066B3);border-radius:var(--radius-full, 9999px);transition:width .6s ease;min-width:4px}.edit-inline{display:flex;align-items:center;gap:.5rem}.edit-input-lg{font-size:1.3rem;font-weight:700;padding:.3rem .6rem;border:2px solid var(--tef-blue, #019DF4);border-radius:var(--radius-md, 8px);background:var(--tef-white, #FFFFFF);color:var(--tef-dark, #0B2739);outline:none}.btn-icon-sm{background:none;border:none;cursor:pointer;color:var(--tef-gray-light, #86888C);padding:4px 5px;border-radius:var(--radius-sm, 4px);transition:all .15s ease;line-height:0}.btn-icon-sm:hover{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-blue, #019DF4)}.btn-icon-sm.text-danger:hover{background:#fef2f2;color:#dc2626}.org-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.org-stat-card{display:flex;align-items:center;gap:1rem;background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);padding:1.1rem 1.25rem;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.04));transition:box-shadow .2s,transform .2s}.org-stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.stat-icon-wrap{width:42px;height:42px;border-radius:var(--radius-md, 8px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.org-stat-card[data-color=blue] .stat-icon-wrap{background:#eff6ff;color:#2563eb}.org-stat-card[data-color=green] .stat-icon-wrap{background:#f0fdf4;color:#16a34a}.org-stat-card[data-color=orange].stat-icon-wrap{background:#fff7ed;color:#ea580c}.org-stat-card[data-color=purple].stat-icon-wrap{background:#faf5ff;color:#9333ea}.stat-body{display:flex;flex-direction:column}.stat-value{font-size:1.45rem;font-weight:700;color:var(--tef-dark, #0B2739);line-height:1.2}.stat-label{font-size:.72rem;color:var(--tef-gray-medium, #50535A);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.org-tabs{display:flex;gap:0;border-bottom:2px solid var(--tef-border, #E6E6E6);margin-bottom:1.5rem;overflow-x:auto}.org-tabs button{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.1rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:.875rem;color:var(--tef-gray-medium, #50535A);font-weight:500;transition:all .2s;white-space:nowrap}.org-tabs button:hover{color:var(--tef-blue, #019DF4);background:#019df40a}.org-tabs button.active{color:var(--tef-blue, #019DF4);border-bottom-color:var(--tef-blue, #019DF4);font-weight:600}.tab-count{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);font-size:.7rem;font-weight:600;padding:1px 7px;border-radius:var(--radius-full, 9999px);border:1px solid var(--tef-border, #E6E6E6)}.org-tabs button.active .tab-count{background:#019df41f;color:var(--tef-blue, #019DF4);border-color:#019df440}.tab-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.tab-header h3{margin:0 0 .15rem;font-size:1.05rem;color:var(--tef-dark, #0B2739)}.tab-subtitle{margin:0;font-size:.82rem;color:var(--tef-gray-light, #86888C)}.overview-grid{display:grid;grid-template-columns:1fr 380px;gap:1.25rem;align-items:start}.overview-main,.overview-side{display:flex;flex-direction:column;gap:1.25rem}.section-card{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.04))}.section-card-header{display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tef-gray-medium, #50535A);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--tef-border-light, #F0F0F0)}.section-card-header svg{color:var(--tef-blue, #019DF4)}.section-total{margin-left:auto;background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);font-size:.7rem;padding:2px 8px;border-radius:var(--radius-full, 9999px);border:1px solid var(--tef-border, #E6E6E6)}.info-field-list{display:flex;flex-direction:column;gap:0}.info-field{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--tef-border-light, #F0F0F0)}.info-field:last-child{border-bottom:none}.info-field-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--tef-bg-light, #F5F5F5);border-radius:var(--radius-sm, 4px);color:var(--tef-gray-medium, #50535A);flex-shrink:0;margin-top:1px}.info-field-content{flex:1}.info-field-content label{display:block;font-size:.7rem;color:var(--tef-gray-light, #86888C);text-transform:uppercase;font-weight:600;letter-spacing:.04em;margin-bottom:.15rem}.info-field-content span{font-size:.9rem;color:var(--tef-dark, #0B2739);font-weight:500}.info-field-content a{color:var(--tef-blue, #019DF4);text-decoration:none}.info-field-content a:hover{text-decoration:underline}.mini-progress-track{height:4px;background:var(--tef-bg-light, #F5F5F5);border-radius:2px;overflow:hidden;margin-top:.4rem;width:120px}.mini-progress-fill{height:100%;background:var(--tef-blue, #019DF4);border-radius:2px;transition:width .5s ease}.notes-text{margin:0;font-size:.88rem;color:var(--tef-dark, #0B2739);line-height:1.6}.status-bars{display:flex;flex-direction:column;gap:.6rem}.status-bar-row{display:flex;align-items:center;gap:.6rem}.status-bar-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-bar-label{width:110px;font-size:.82rem;color:var(--tef-gray-medium, #50535A);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-bar-track{flex:1;height:10px;background:var(--tef-bg-light, #F5F5F5);border-radius:var(--radius-full, 9999px);overflow:hidden}.status-bar-fill{height:100%;border-radius:var(--radius-full, 9999px);transition:width .6s ease;min-width:3px}.status-bar-pct{width:34px;text-align:right;font-size:.75rem;color:var(--tef-gray-light, #86888C);flex-shrink:0}.status-bar-count{width:22px;text-align:right;font-size:.82rem;font-weight:700;color:var(--tef-dark, #0B2739);flex-shrink:0}.clients-table-wrap{overflow-x:auto;background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.04))}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:.75rem 1rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tef-gray-medium, #50535A);border-bottom:2px solid var(--tef-border, #E6E6E6);font-weight:700;background:var(--tef-bg-light, #F5F5F5)}.data-table th:first-child{border-radius:var(--radius-lg, 12px) 0 0 0}.data-table th:last-child{border-radius:0 var(--radius-lg, 12px) 0 0}.data-table td{padding:.75rem 1rem;font-size:.875rem;border-bottom:1px solid var(--tef-border-light, #F0F0F0);color:var(--tef-dark, #0B2739)}.data-table tbody tr:hover{background:#019df408}.data-table tbody tr:last-child td{border-bottom:none}.fw-500{font-weight:500}.text-sm{font-size:.8rem}.text-muted{color:var(--tef-gray-light, #86888C)}.text-center{text-align:center}.cif-code{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A);padding:2px 7px;border-radius:4px;font-size:.8rem;font-family:Courier New,monospace;border:1px solid var(--tef-border, #E6E6E6)}.status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full, 9999px);font-size:.73rem;font-weight:600}.status-pill-apt{display:inline-flex;align-items:center;gap:.25rem;padding:3px 10px;border-radius:9999px;font-size:.73rem;font-weight:600}.status-pill-apt.badge-scheduled{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.status-pill-apt.badge-confirmed{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.status-pill-apt.badge-completed{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.status-pill-apt.badge-cancelled{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.status-pill-apt.badge-no-show{background:#f5f3ff;color:#6d28d9;border:1px solid #ddd6fe}.role-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm, 4px);font-size:.73rem;font-weight:700;text-transform:uppercase}.role-admin{background:#fee2e2;color:#991b1b}.role-org_admin{background:#fef3c7;color:#92400e}.role-user{background:#dbeafe;color:#1e40af}.inline-status{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:500}.inline-status.active:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#10b981}.inline-status.inactive:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#ef4444}.inline-status.active{color:#059669}.inline-status.inactive{color:#dc2626}.user-cell{display:flex;align-items:center;gap:.6rem}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--tef-blue, #019DF4),#0066B3);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.empty-state-cell{padding:2.5rem 1rem!important}.empty-state-inline{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--tef-gray-light, #86888C);text-align:center}.empty-state-inline svg{opacity:.35}.empty-state-inline p{margin:0;font-size:.88rem}.bulk-assign-section{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);padding:1.75rem;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.04))}.bulk-assign-section h3{margin:0 0 .4rem;color:var(--tef-dark, #0B2739)}.bulk-assign-section p{color:var(--tef-gray-medium, #50535A);margin:0 0 1rem}.upload-area{border:2px dashed var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);padding:2.5rem;text-align:center;color:var(--tef-gray-medium, #50535A);position:relative;transition:border-color .2s,background .2s;cursor:pointer}.upload-area:hover{border-color:var(--tef-blue, #019DF4);background:#019df408}.upload-icon-wrap{width:52px;height:52px;background:#019df41a;border-radius:var(--radius-lg, 12px);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:var(--tef-blue, #019DF4)}.upload-title{font-weight:600;margin:0 0 .25rem}.file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.bulk-result{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);padding:1.5rem;margin-top:1.5rem}.bulk-result h4{margin:0 0 1rem;font-size:1rem;color:var(--tef-dark, #0B2739)}.bulk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.bulk-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem .75rem;border-radius:var(--radius-md, 8px)}.bulk-stat.neutral{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-gray-medium, #50535A)}.bulk-stat.success{background:#ecfdf5;color:#059669}.bulk-stat.warning{background:#fffbeb;color:#d97706}.bulk-stat.error{background:#fef2f2;color:#dc2626}.bulk-stat-value{font-size:1.6rem;font-weight:700;line-height:1}.bulk-stat-label{font-size:.72rem;text-align:center}.bulk-detail-section{margin-bottom:1rem}.bulk-detail-section h5{margin:0 0 .5rem;font-size:.82rem;color:var(--tef-dark, #0B2739)}.nif-list{display:flex;flex-wrap:wrap;gap:.4rem}.nif-tag{display:inline-block;padding:3px 10px;border-radius:var(--radius-md, 8px);font-size:.78rem;font-family:Courier New,monospace}.nif-tag.error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.nif-tag.success{background:#ecfdf5;color:#059669;border:1px solid #bbf7d0}.activity-list{display:flex;flex-direction:column;background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);overflow:hidden;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0,0,0,.04))}.activity-item{display:flex;align-items:flex-start;gap:.85rem;padding:.9rem 1.25rem;border-bottom:1px solid var(--tef-border-light, #F0F0F0);transition:background .15s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#019df405}.activity-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-icon[data-action=assign]{background:#dbeafe;color:#2563eb}.activity-icon[data-action=bulk_assign]{background:#e0e7ff;color:#4338ca}.activity-icon[data-action=unassign]{background:#fee2e2;color:#dc2626}.activity-body{flex:1;min-width:0}.activity-text{font-size:.875rem;color:var(--tef-dark, #0B2739);margin-bottom:.15rem}.activity-meta{font-size:.78rem;color:var(--tef-gray-light, #86888C)}.activity-time{font-size:.75rem;color:var(--tef-gray-light, #86888C);white-space:nowrap;flex-shrink:0}.modal-lg{max-width:620px}.modal-header{margin-bottom:1rem}.modal-header h2{margin:0 0 .2rem;font-size:1.2rem}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;cursor:pointer;color:var(--tef-gray-light, #86888C);padding:4px;border-radius:var(--radius-sm, 4px)}.modal-close:hover{background:var(--tef-bg-light, #F5F5F5)}.assign-list{max-height:340px;overflow-y:auto;margin:.75rem 0;border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-md, 8px)}.assign-item{display:flex;align-items:center;gap:.75rem;padding:.55rem .85rem;border-bottom:1px solid var(--tef-border-light, #F0F0F0);cursor:pointer;transition:background .12s}.assign-item:last-child{border-bottom:none}.assign-item:hover{background:#019df40a}.assign-item.selected{background:#019df414}.assign-item input[type=checkbox]{cursor:pointer;accent-color:var(--tef-blue, #019DF4)}.assign-name{flex:1;font-size:.875rem;color:var(--tef-dark, #0B2739)}.assign-cif{font-size:.78rem;color:var(--tef-gray-light, #86888C);font-family:monospace}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--tef-border, #E6E6E6)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.1rem;border:none;border-radius:var(--radius-md, 8px);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s ease}.btn-sm{padding:.35rem .8rem;font-size:.82rem}.btn-primary{background:var(--tef-blue, #019DF4);color:#fff}.btn-primary:hover{background:var(--tef-blue-dark, #0066B3)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:var(--tef-bg-light, #F5F5F5);color:var(--tef-dark, #0B2739);border:1px solid var(--tef-border, #E6E6E6)}.btn-ghost:hover{background:var(--tef-border, #E6E6E6)}.loading-state{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:.75rem;color:var(--tef-gray-medium, #50535A)}.spinner{width:32px;height:32px;border:3px solid var(--tef-border, #E6E6E6);border-top-color:var(--tef-blue, #019DF4);border-radius:50%;animation:spin .7s linear infinite}.edit-org-form{display:flex;flex-direction:column;gap:.85rem;padding:.5rem 0}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.75rem;font-weight:600;color:var(--tef-gray-medium, #50535A);text-transform:uppercase;letter-spacing:.04em}.form-group input,.form-group select,.form-group textarea{padding:.5rem .75rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-md, 8px);font-size:.875rem;color:var(--tef-dark, #0B2739);background:var(--tef-white, #FFFFFF);transition:border-color .15s;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--tef-blue, #019DF4);box-shadow:0 0 0 3px #019df41f}.form-group textarea{resize:vertical;min-height:60px}.form-separator{height:1px;background:var(--tef-border-light, #F0F0F0);margin:.25rem 0}.form-section-title{margin:0;font-size:.82rem;font-weight:700;color:var(--tef-gray-medium, #50535A);text-transform:uppercase;letter-spacing:.04em}@media(max-width:480px){.form-grid-2{grid-template-columns:1fr}}@media(max-width:1024px){.overview-grid{grid-template-columns:1fr}.org-stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.org-stats-row{grid-template-columns:repeat(2,1fr)}.org-tabs{overflow-x:auto}.bulk-stats{grid-template-columns:repeat(2,1fr)}.org-name{font-size:1.3rem}}.orgdash-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.orgdash-header h1{margin:0;font-size:1.5rem;color:var(--tef-dark, #0B2739);display:flex;align-items:center;gap:.5rem}.orgdash-header p{margin:.25rem 0 0;font-size:.9rem;color:var(--tef-gray-medium, #50535A)}.orgdash-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{display:flex;align-items:center;gap:.75rem;background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);padding:1.25rem;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .04));transition:all .2s ease}.summary-card:hover{box-shadow:var(--shadow-md, 0 2px 8px rgba(0, 0, 0, .06));border-color:var(--tef-blue, #019DF4)}.summary-card svg{flex-shrink:0;color:var(--tef-blue, #019DF4)}.summary-card>div{display:flex;flex-direction:column}.summary-value{font-size:1.5rem;font-weight:700;color:var(--tef-dark, #0B2739)}.summary-label{font-size:.75rem;color:var(--tef-gray-medium, #50535A);text-transform:uppercase;letter-spacing:.03em;font-weight:600}.section-title{font-size:1.15rem;font-weight:600;color:var(--tef-dark, #0B2739);margin:0 0 1rem;display:flex;align-items:center;gap:.4rem}.orgdash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-bottom:2rem}.orgdash-card{background:var(--tef-white, #FFFFFF);border:1px solid var(--tef-border, #E6E6E6);border-radius:var(--radius-lg, 12px);padding:1.25rem;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .04));transition:all .2s ease;display:flex;flex-direction:column;gap:.75rem}.orgdash-card:hover{box-shadow:var(--shadow-md, 0 2px 8px rgba(0, 0, 0, .06));border-color:var(--tef-blue, #019DF4)}.orgdash-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.orgdash-card-header h3{margin:0;font-size:1rem;color:var(--tef-dark, #0B2739)}.type-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;padding:3px 10px;border-radius:var(--radius-full, 9999px);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.type-badge.internal{background:#dbeafe;color:#1d4ed8}.type-badge.external{background:#fef3c7;color:#92400e}.org-code-sm{font-size:.75rem;color:var(--tef-gray-light, #86888C);font-weight:500}.orgdash-card-stats,.mini-stats{display:flex;gap:1rem;flex-wrap:wrap}.mini-stat{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--tef-gray-medium, #50535A)}.mini-stat svg{flex-shrink:0}.mini-stat span{font-weight:600;color:var(--tef-dark, #0B2739)}.orgdash-progress{display:flex;flex-direction:column;gap:.35rem}.progress-header{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--tef-gray-medium, #50535A);font-weight:500}.progress-pct{font-weight:700;color:var(--tef-dark, #0B2739)}.progress-row{display:flex;align-items:center;gap:.5rem}.progress-label{width:70px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tef-gray-light, #86888C);text-align:right;flex-shrink:0}.progress-track{flex:1;height:8px;background:var(--tef-bg-light, #F5F5F5);border-radius:var(--radius-full, 9999px);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full, 9999px);transition:width .5s ease;min-width:2px}.progress-fill.critical{background:#ef4444}.progress-fill.high{background:#f97316}.progress-fill.medium{background:#eab308}.progress-fill.low{background:#22c55e}.progress-count{font-size:.72rem;width:26px;font-weight:600;color:var(--tef-dark, #0B2739)}.orgdash-contact{font-size:.82rem;color:var(--tef-gray-medium, #50535A);display:flex;align-items:center;gap:.35rem}.orgdash-contact svg{flex-shrink:0;color:var(--tef-gray-light, #86888C)}.btn-link-sm{padding:.3rem .7rem;background:#019df414;color:var(--tef-blue, #019DF4);border:none;border-radius:var(--radius-md, 8px);cursor:pointer;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;transition:all .15s ease}.btn-link-sm:hover{background:#019df426}.status-chip{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;padding:2px 8px;border-radius:var(--radius-full, 9999px);font-weight:600}.status-chip.active{background:#ecfdf5;color:#059669}.status-chip.inactive{background:#fef2f2;color:#dc2626}.orgdash-empty,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--tef-gray-medium, #50535A);text-align:center}.orgdash-empty svg{margin-bottom:.75rem;color:var(--tef-gray-light, #86888C)}.orgdash-empty p{font-size:.95rem;margin:0}.orgdash-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--tef-gray-medium, #50535A)}@media(max-width:768px){.orgdash-summary{grid-template-columns:repeat(2,1fr)}.orgdash-grid{grid-template-columns:1fr}.orgdash-header{flex-direction:column;align-items:flex-start}}.platform-test-page{min-height:100vh;background:var(--tef-bg-light, #f8fafc)}.platform-test-container{max-width:var(--page-max-width, 1400px);margin:0 auto;padding:24px 32px}.pt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.pt-header-left{display:flex;align-items:center;gap:14px}.pt-header-icon{color:var(--tef-blue, #0066ff)}.pt-header h1{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0}.pt-subtitle{font-size:.85rem;color:#64748b;margin:2px 0 0}.pt-header-actions{display:flex;gap:10px}.pt-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md, 8px);font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.pt-btn:disabled{opacity:.5;cursor:not-allowed}.pt-btn-primary{background:var(--tef-blue, #0066ff);color:#fff}.pt-btn-primary:hover:not(:disabled){background:#0052cc;transform:translateY(-1px);box-shadow:0 4px 12px #0066ff4d}.pt-btn-outline{background:#fff;color:#64748b;border:1px solid #e2e8f0}.pt-btn-outline:hover:not(:disabled){background:#f8fafc;color:#ef4444;border-color:#fecaca}.pt-btn-pdf{background:linear-gradient(135deg,#0050c8,#06f);color:#fff;padding:10px 24px;font-size:.9rem}.pt-btn-pdf:hover:not(:disabled){background:linear-gradient(135deg,#003d99,#0052cc);transform:translateY(-1px);box-shadow:0 4px 16px #0050c859}.pt-status-bar{display:flex;align-items:center;gap:20px;padding:12px 20px;background:#fff;border-radius:var(--radius-md, 8px);border:1px solid #e2e8f0;margin-bottom:16px;flex-wrap:wrap}.pt-status-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#475569}.pt-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;padding:3px 10px;border-radius:12px;font-weight:600}.pt-status-active{background:#fef3c7;color:#92400e}.pt-progress-section{margin-bottom:20px}.pt-score-bar{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.pt-score-fill{height:100%;border-radius:4px;transition:width .3s ease,background-color .3s ease}.pt-score-stats{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pt-stat{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:600}.pt-stat-passed{color:#10b981}.pt-stat-failed{color:#ef4444}.pt-stat-skipped{color:#94a3b8}.pt-stat-total{color:#475569;margin-left:auto}.pt-stat-current{color:var(--tef-blue, #0066ff)}.pt-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md, 8px);color:#dc2626;font-size:.85rem;font-weight:500;margin-bottom:16px}.pt-results{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.pt-suite{background:#fff;border-radius:var(--radius-md, 8px);border:1px solid #e2e8f0;overflow:hidden}.pt-suite-fail{border-left:3px solid #ef4444}.pt-suite-pass{border-left:3px solid #10b981}.pt-suite-header{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.pt-suite-header:hover{background:#f8fafc}.pt-suite-toggle{color:#94a3b8;display:flex}.pt-suite-name{font-weight:600;font-size:.9rem;color:#0f172a;flex:1}.pt-suite-badges{display:flex;gap:6px}.pt-badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:10px}.pt-badge-pass{background:#d1fae5;color:#065f46}.pt-badge-fail{background:#fee2e2;color:#991b1b}.pt-badge-skip{background:#f1f5f9;color:#64748b}.pt-suite-tests{border-top:1px solid #f1f5f9}.pt-test{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 40px;font-size:.82rem;border-bottom:1px solid #f8fafc}.pt-test:last-child{border-bottom:none}.pt-test-icon{flex-shrink:0;display:flex}.pt-test-pass .pt-test-icon{color:#10b981}.pt-test-fail .pt-test-icon{color:#ef4444}.pt-test-skip .pt-test-icon{color:#94a3b8}.pt-test-name{color:#334155;font-weight:500}.pt-test-fail .pt-test-name{color:#dc2626}.pt-test>.pt-info-icon{width:16px;height:16px}.pt-test-detail{margin-left:auto;color:#94a3b8;font-size:.78rem;font-family:Monaco,Menlo,monospace;white-space:nowrap}.pt-log{background:#1e293b;border-radius:var(--radius-md, 8px);padding:16px;margin-bottom:20px;max-height:200px;overflow-y:auto}.pt-log h3{display:flex;align-items:center;gap:8px;color:#94a3b8;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.pt-log-line{display:flex;gap:10px;font-size:.78rem;font-family:Monaco,Menlo,monospace;padding:3px 0;color:#cbd5e1}.pt-log-error{color:#fca5a5}.pt-log-time{color:#64748b;min-width:70px}.pt-summary-card{display:flex;align-items:center;gap:20px;padding:24px;border-radius:var(--radius-lg, 12px);margin-bottom:20px}.pt-summary-success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0}.pt-summary-success .pt-summary-icon{color:#059669}.pt-summary-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d}.pt-summary-warning .pt-summary-icon{color:#d97706}.pt-summary-text h2{font-size:1.2rem;font-weight:700;margin:0 0 4px;color:#0f172a}.pt-summary-text p{font-size:.85rem;color:#475569;margin:0}.pt-summary-cleanup{margin-top:6px!important;font-size:.78rem!important;color:#64748b!important}.pt-description{margin-top:10px}.pt-description h2{font-size:1.2rem;font-weight:700;color:#0f172a;margin:0 0 20px}.pt-desc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:24px}.pt-desc-card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-md, 8px);padding:20px;transition:transform .15s,box-shadow .15s}.pt-desc-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.pt-desc-card svg{color:var(--tef-blue, #0066ff);margin-bottom:10px}.pt-desc-card h3{font-size:.95rem;font-weight:700;color:#0f172a;margin:0 0 6px}.pt-desc-card p{font-size:.82rem;color:#64748b;margin:0;line-height:1.5}.pt-desc-suites h3{font-size:.9rem;font-weight:600;color:#334155;margin:0 0 12px}.pt-desc-suite-list{display:flex;flex-wrap:wrap;gap:8px}.pt-desc-suite-tag{font-size:.78rem;background:#fff;border:1px solid #e2e8f0;padding:5px 12px;border-radius:16px;color:#475569;font-weight:500}.pt-info-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#e2e8f0;color:#64748b;cursor:pointer;position:relative;margin-left:4px;flex-shrink:0;vertical-align:middle;transition:background .2s,color .2s}.pt-info-icon:hover{background:#0050c8;color:#fff}.pt-info-icon:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293b;color:#f1f5f9;font-size:12px;font-weight:400;line-height:1.45;padding:8px 12px;border-radius:6px;white-space:normal;width:max-content;max-width:280px;box-shadow:0 4px 12px #0003;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100}.pt-info-icon:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100}.pt-info-icon:hover:after,.pt-info-icon:hover:before{opacity:1;visibility:visible}.pt-desc-suite-tag{display:inline-flex;align-items:center;gap:2px}@media(max-width:768px){.platform-test-container{padding:16px}.pt-header{flex-direction:column;align-items:flex-start}.pt-header-actions{width:100%}.pt-header-actions .pt-btn{flex:1;justify-content:center}.pt-score-stats{flex-direction:column;gap:4px}.pt-stat-total{margin-left:0}}.dbv-page{min-height:100vh;background:var(--tef-bg-light, #f8fafc)}.dbv-container{max-width:var(--page-max-width, 1400px);margin:0 auto;padding:24px 32px}.dbv-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.dbv-header-left{display:flex;align-items:center;gap:14px}.dbv-header-icon{color:var(--tef-blue, #0066ff)}.dbv-header h1{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0}.dbv-subtitle{font-size:.85rem;color:#64748b;margin:2px 0 0}.dbv-header-actions{display:flex;gap:10px}.dbv-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md, 8px);font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.dbv-btn:disabled{opacity:.5;cursor:not-allowed}.dbv-btn-primary{background:var(--tef-blue, #0066ff);color:#fff}.dbv-btn-primary:hover:not(:disabled){background:#0052cc;transform:translateY(-1px);box-shadow:0 4px 12px #0066ff4d}.dbv-btn-outline{background:#fff;color:#64748b;border:1px solid #e2e8f0}.dbv-btn-outline:hover:not(:disabled){background:#f8fafc;color:var(--tef-blue, #0066ff);border-color:var(--tef-blue, #0066ff)}.dbv-phase{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-md, 8px);color:#1d4ed8;font-size:.85rem;font-weight:500;margin-bottom:16px}.dbv-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md, 8px);color:#dc2626;font-size:.85rem;font-weight:500;margin-bottom:16px}.dbv-summary-card{display:flex;align-items:center;gap:20px;padding:24px;border-radius:var(--radius-lg, 12px);margin-bottom:20px}.dbv-summary-success{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0}.dbv-summary-success .dbv-summary-icon{color:#059669}.dbv-summary-warning{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d}.dbv-summary-warning .dbv-summary-icon{color:#d97706}.dbv-summary-text h2{font-size:1.2rem;font-weight:700;margin:0 0 4px;color:#0f172a}.dbv-summary-text p{font-size:.85rem;color:#475569;margin:0}.dbv-stats-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;background:#fff;border-radius:var(--radius-md, 8px);border:1px solid #e2e8f0;margin-bottom:16px;flex-wrap:wrap}.dbv-stat-group{display:flex;align-items:center;gap:16px}.dbv-stat{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:600;color:#475569}.dbv-stat-label{font-weight:500;color:#94a3b8}.dbv-stat-value{color:#0f172a}.dbv-stat-error{color:#ef4444}.dbv-stat-warn{color:#f59e0b}.dbv-stat-ok{color:#10b981}.dbv-filter-bar{display:flex;gap:8px;margin-bottom:12px}.dbv-filter-btn{padding:6px 14px;font-size:.8rem;font-weight:600;border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#64748b;cursor:pointer;transition:all .15s}.dbv-filter-btn:hover{background:#f8fafc}.dbv-filter-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}.dbv-filter-error.active{background:#ef4444;border-color:#ef4444}.dbv-filter-warn.active{background:#f59e0b;border-color:#f59e0b}.dbv-filter-ok.active{background:#10b981;border-color:#10b981}.dbv-tables{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.dbv-table-card{background:#fff;border-radius:var(--radius-md, 8px);border:1px solid #e2e8f0;overflow:hidden}.dbv-table-card.dbv-status-error{border-left:3px solid #ef4444}.dbv-table-card.dbv-status-warning{border-left:3px solid #f59e0b}.dbv-table-card.dbv-status-ok{border-left:3px solid #10b981}.dbv-table-card.dbv-status-info{border-left:3px solid #3b82f6}.dbv-table-header{display:flex;align-items:center;gap:8px;padding:10px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.dbv-table-header:hover{background:#f8fafc}.dbv-table-toggle{color:#94a3b8;display:flex}.dbv-table-icon{display:flex}.dbv-table-icon.dbv-status-ok{color:#10b981}.dbv-table-icon.dbv-status-error{color:#ef4444}.dbv-table-icon.dbv-status-warning{color:#f59e0b}.dbv-table-icon.dbv-status-info{color:#3b82f6}.dbv-table-name{font-weight:600;font-size:.88rem;color:#0f172a;font-family:Monaco,Menlo,Consolas,monospace;flex:1}.dbv-table-badges{display:flex;gap:6px;flex-wrap:wrap}.dbv-badge{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:10px;background:#f1f5f9;color:#475569}.dbv-badge-rows{background:#f0fdf4;color:#166534}.dbv-badge-error{background:#fee2e2;color:#991b1b}.dbv-badge-warn{background:#fef3c7;color:#92400e}.dbv-badge-info{background:#eff6ff;color:#1e40af}.dbv-table-details{border-top:1px solid #f1f5f9;padding:12px 16px 12px 44px}.dbv-detail-section{margin-bottom:12px}.dbv-detail-section:last-child{margin-bottom:0}.dbv-detail-section h4{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:#334155;margin:0 0 6px}.dbv-detail-chips{display:flex;flex-wrap:wrap;gap:4px}.dbv-chip{font-size:.75rem;font-weight:500;padding:3px 10px;border-radius:12px;font-family:Monaco,Menlo,Consolas,monospace}.dbv-chip-error{background:#fee2e2;color:#991b1b}.dbv-chip-info{background:#eff6ff;color:#1e40af}.dbv-detail-row{display:flex;align-items:center;gap:8px;font-size:.82rem;padding:6px 0}.dbv-detail-ok{color:#059669}.dbv-detail-error{color:#dc2626}.dbv-type-table{width:100%;border-collapse:collapse;font-size:.78rem}.dbv-type-table th{text-align:left;padding:4px 10px;font-weight:600;color:#64748b;border-bottom:1px solid #e2e8f0}.dbv-type-table td{padding:4px 10px;font-family:Monaco,Menlo,Consolas,monospace;color:#334155}.dbv-type-expected{color:#059669}.dbv-type-actual{color:#dc2626}.dbv-integrity-section{margin-bottom:24px}.dbv-integrity-section h3{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:#0f172a;margin:0 0 12px}.dbv-integrity-list{display:flex;flex-direction:column;gap:4px}.dbv-integrity-item{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-radius:var(--radius-md, 8px);border:1px solid #e2e8f0;font-size:.85rem}.dbv-integrity-item.dbv-status-ok{border-left:3px solid #10b981}.dbv-integrity-item.dbv-status-error{border-left:3px solid #ef4444}.dbv-integrity-item.dbv-status-warning{border-left:3px solid #f59e0b}.dbv-integrity-item.dbv-status-info{border-left:3px solid #3b82f6}.dbv-integrity-icon{display:flex}.dbv-integrity-item.dbv-status-ok .dbv-integrity-icon{color:#10b981}.dbv-integrity-item.dbv-status-error .dbv-integrity-icon{color:#ef4444}.dbv-integrity-item.dbv-status-warning .dbv-integrity-icon{color:#f59e0b}.dbv-integrity-item.dbv-status-info .dbv-integrity-icon{color:#3b82f6}.dbv-integrity-msg{color:#334155;font-weight:500;flex:1}.dbv-index-cols{font-size:.75rem;font-family:Monaco,Menlo,Consolas,monospace;color:#64748b;background:#f1f5f9;padding:2px 8px;border-radius:10px;white-space:nowrap}.dbv-footer{text-align:center;font-size:.78rem;color:#94a3b8;padding:12px 0}.dbv-landing{margin-top:10px}.dbv-desc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:24px}.dbv-desc-card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-md, 8px);padding:20px;transition:transform .15s,box-shadow .15s}.dbv-desc-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.dbv-desc-card svg{color:var(--tef-blue, #0066ff);margin-bottom:10px}.dbv-desc-card h3{font-size:.95rem;font-weight:700;color:#0f172a;margin:0 0 6px}.dbv-desc-card p{font-size:.82rem;color:#64748b;margin:0;line-height:1.5}.dbv-landing-hint{text-align:center;font-size:.85rem;color:#64748b}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.dbv-container{padding:16px}.dbv-header{flex-direction:column;align-items:flex-start}.dbv-header-actions{width:100%}.dbv-header-actions .dbv-btn{flex:1;justify-content:center}.dbv-stats-bar{flex-direction:column;gap:8px}.dbv-filter-bar{flex-wrap:wrap}}.pqc-admin-page{min-height:calc(100vh - 73px);background:var(--tef-bg-light, #F5F5F5)}.pqc-admin-container{max-width:var(--page-max-width, 1600px);margin:0 auto;padding:2rem}.pqc-upload-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.pqc-upload-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pqc-upload-form .form-group{display:flex;flex-direction:column;gap:.35rem}.pqc-upload-form label{font-size:.82rem;font-weight:600;color:var(--tef-dark, #0B2739)}.pqc-upload-form input[type=text],.pqc-upload-form input[type=file]{padding:.55rem .75rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:6px;font-size:.88rem;transition:border-color .2s}.pqc-upload-form input[type=text]:focus{border-color:var(--tef-blue, #019DF4);outline:none;box-shadow:0 0 0 3px #019df41a}.pqc-upload-form .form-actions{display:flex;gap:.75rem;margin-top:.5rem}.pqc-assessments-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.pqc-assessments-filters{display:flex;gap:.5rem;flex-wrap:wrap}.pqc-assessments-filters .filter-btn{padding:.4rem .85rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:20px;background:#fff;font-size:.8rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.35rem}.pqc-assessments-filters .filter-btn:hover{border-color:var(--tef-blue, #019DF4);color:var(--tef-blue, #019DF4)}.pqc-assessments-filters .filter-btn.active{background:var(--tef-blue, #019DF4);color:#fff;border-color:var(--tef-blue, #019DF4)}.pqc-table-container{overflow-x:auto}.pqc-assessments-table{width:100%;border-collapse:collapse;font-size:.85rem}.pqc-assessments-table thead th{text-align:left;padding:.75rem 1rem;background:#f8fafc;border-bottom:2px solid #e2e8f0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#475569;white-space:nowrap}.pqc-assessments-table tbody td{padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.pqc-assessments-table tbody tr:hover td{background:#f8fafc}.pqc-assessments-table .td-company strong{color:var(--tef-dark, #0B2739)}.pqc-assessments-table .text-muted{color:#64748b;font-size:.82rem}.pqc-progress-bar-inline{height:6px;background:#eee;border-radius:3px;overflow:hidden;margin-bottom:.25rem;min-width:80px}.pqc-progress-fill{height:100%;background:linear-gradient(90deg,var(--tef-blue, #019DF4),var(--tef-green, #5BC500));border-radius:3px;transition:width .3s}.progress-label{font-size:.72rem;color:#64748b}.pqc-assessments-table .action-buttons{display:flex;gap:4px}.pqc-assessments-table .btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:var(--tef-blue, #019DF4);box-shadow:0 1px 3px #0000001a;text-decoration:none}.pqc-assessments-table .btn-icon:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.pqc-assessments-table .btn-icon.btn-danger{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc3545}.pqc-assessments-table .btn-icon.btn-danger:hover{background:linear-gradient(135deg,#fee2e2,#fecaca)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:12px;font-size:.72rem;font-weight:600;white-space:nowrap}.badge-success{background:#e8f5e9;color:#2e7d32}.badge-warning{background:#fff8e1;color:#f57f17}.badge-info{background:#e3f2fd;color:#1565c0}.badge-muted{background:#f5f5f5;color:#757575}.badge-primary{background:#e3f2fd;color:var(--tef-blue, #019DF4)}.badge-purple{background:#f3e5f5;color:#7b1fa2}.modal-overlay{position:fixed;inset:0;background:#0b2739b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:1.1rem;color:var(--tef-dark, #0B2739)}.btn-close{background:none;border:none;color:#999;cursor:pointer;padding:.25rem;border-radius:6px;transition:all .2s;display:flex}.btn-close:hover{background:#f5f5f5;color:#333}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-body .form-group{display:flex;flex-direction:column;gap:.35rem}.modal-body label{font-size:.82rem;font-weight:600;color:var(--tef-dark, #0B2739)}.modal-body select,.modal-body input{padding:.6rem .75rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:6px;font-size:.88rem;transition:border-color .2s}.modal-body select:focus,.modal-body input:focus{border-color:var(--tef-blue, #019DF4);outline:none;box-shadow:0 0 0 3px #019df41a}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #eee}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.pqc-admin-page .actions-cell{white-space:nowrap}.pqc-admin-page .actions-cell,.pqc-admin-page .action-buttons{display:flex;gap:4px}.pqc-admin-page .btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:var(--tef-blue, #019DF4);box-shadow:0 1px 3px #0000001a}.pqc-admin-page .btn-icon:hover{transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.pqc-admin-page .btn-icon.btn-danger{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc3545}.pqc-admin-page .btn-icon.btn-danger:hover{background:linear-gradient(135deg,#fee2e2,#fecaca)}.pqc-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.pqc-detail-header .back-btn{display:flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--tef-blue, #019DF4);cursor:pointer;font-size:.88rem;padding:.35rem;border-radius:6px;transition:background .2s}.pqc-detail-header .back-btn:hover{background:#019df414}.pqc-detail-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.pqc-detail-info-wide{grid-template-columns:repeat(5,1fr)}.pqc-detail-info-item{display:flex;flex-direction:column;gap:.2rem}.pqc-detail-info-item label{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--tef-gray-light, #86888C);font-weight:600}.pqc-detail-info-item span{font-size:.9rem;color:var(--tef-dark, #0B2739);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pqc-detail-url-bar{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#eef6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:1.5rem;font-size:.82rem}.pqc-detail-url-label{font-weight:600;color:#1e40af;white-space:nowrap}.pqc-detail-url-value{flex:1;color:#1e40af;word-break:break-all;font-family:monospace;font-size:.78rem}.pqc-detail-tabs{display:flex;border-bottom:2px solid #eee;margin-bottom:1.5rem;gap:0}.pqc-detail-tab{padding:.65rem 1.25rem;border:none;background:none;cursor:pointer;font-size:.85rem;font-weight:500;color:var(--tef-gray-medium, #50535A);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;display:flex;align-items:center;gap:.4rem}.pqc-detail-tab:hover{color:var(--tef-blue, #019DF4)}.pqc-detail-tab.active{color:var(--tef-blue, #019DF4);border-bottom-color:var(--tef-blue, #019DF4);font-weight:600}.pqc-chart-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.pqc-chart-card{background:#fff;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;padding:1.25rem}.pqc-chart-card h4{margin:0 0 1rem;font-size:.9rem;color:var(--tef-dark, #0B2739)}.pqc-radar-container{position:relative;width:100%;padding-bottom:100%}.pqc-radar-container svg{position:absolute;top:0;left:0;width:100%;height:100%}.pqc-scores-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.pqc-score-card{background:#fff;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;padding:1.25rem;text-align:center;position:relative;overflow:hidden}.pqc-score-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.pqc-score-card.gobierno:before{background:#019df4}.pqc-score-card.arquitectura:before{background:#5bc500}.pqc-score-card.modelo-operativo:before{background:#ff6b35}.pqc-score-card .score-value{font-size:2rem;font-weight:700;color:var(--tef-dark, #0B2739)}.pqc-score-card .score-level{font-size:.82rem;font-weight:600;margin-top:.25rem}.pqc-score-card .score-label{font-size:.78rem;color:var(--tef-gray-medium, #50535A);margin-top:.35rem}.pqc-dimensions-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed}.pqc-dimensions-table th{text-align:left;padding:.75rem 1rem;background:#f8fafc;border-bottom:2px solid #e2e8f0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#475569}.pqc-dimensions-table th:first-child{width:55%}.pqc-dimensions-table th:nth-child(2){width:30%}.pqc-dimensions-table th:nth-child(3){width:15%}.pqc-dimensions-table th:nth-child(4){width:12%}.pqc-dimensions-table.cols-4 th:first-child{width:40%}.pqc-dimensions-table.cols-4 th:nth-child(2){width:25%}.pqc-dimensions-table.cols-4 th:nth-child(3){width:20%}.pqc-dimensions-table.cols-4 th:nth-child(4){width:15%}.pqc-dimensions-table td{padding:.75rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155;vertical-align:middle}.pqc-dimensions-table tr:hover td{background:#f8fafc}.pqc-score-bar{display:flex;align-items:center;gap:.5rem}.pqc-score-bar-track{flex:1;height:8px;background:#eee;border-radius:4px;overflow:hidden}.pqc-score-bar-fill{height:100%;border-radius:4px;transition:width .3s}.pqc-score-bar-value{font-weight:600;min-width:2.5rem;text-align:right}.level-L0{color:#c62828}.level-L1{color:#e65100}.level-L2{color:#f57f17}.level-L3{color:#2e7d32}.level-L4{color:#1565c0}.level-L5{color:#6a1b9a}.bar-L0{background:#ef5350}.bar-L1{background:#ff9800}.bar-L2{background:#ffc107}.bar-L3{background:#66bb6a}.bar-L4{background:#42a5f5}.bar-L5{background:#ab47bc}.pqc-tobe-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.pqc-tobe-actions{display:flex;gap:.5rem}.pqc-tobe-section{background:#fff;border:1px solid var(--tef-border, #E6E6E6);border-radius:8px;margin-bottom:1rem;overflow:hidden}.pqc-tobe-section-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:#f8f9fa;border-bottom:1px solid #eee;cursor:pointer}.pqc-tobe-section-header h4{margin:0;font-size:.88rem;display:flex;align-items:center;gap:.5rem}.pqc-tobe-section-body{padding:1rem}.pqc-tobe-action-item{display:flex;gap:1rem;padding:.85rem;border-bottom:1px solid #f0f0f0;align-items:flex-start}.pqc-tobe-action-item:last-child{border-bottom:none}.pqc-tobe-priority{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:.72rem;font-weight:700;flex-shrink:0}.pqc-tobe-priority.high{background:#fce4ec;color:#c62828}.pqc-tobe-priority.medium{background:#fff8e1;color:#f57f17}.pqc-tobe-priority.low{background:#e8f5e9;color:#2e7d32}.pqc-tobe-action-content{flex:1}.pqc-tobe-action-content h5{margin:0 0 .3rem;font-size:.85rem}.pqc-tobe-action-content p{margin:0;font-size:.8rem;color:var(--tef-gray-medium, #50535A);line-height:1.5}.pqc-tobe-tags{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.5rem}.pqc-tobe-tag{padding:.15rem .5rem;border-radius:10px;font-size:.68rem;font-weight:600}.pqc-tobe-tag.service{background:#e3f2fd;color:#1565c0}.pqc-tobe-tag.timeline{background:#f3e5f5;color:#7b1fa2}.pqc-review-section{margin-top:1.5rem;padding:1rem;background:#fffde7;border:1px solid #fff9c4;border-radius:8px}.pqc-review-section h4{margin:0 0 .75rem;font-size:.88rem;display:flex;align-items:center;gap:.4rem}.pqc-review-section textarea{width:100%;min-height:80px;padding:.65rem;border:1px solid #eee;border-radius:6px;font-size:.85rem;resize:vertical}.pqc-send-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.pqc-send-form .form-group{display:flex;flex-direction:column;gap:.3rem}.pqc-send-form label{font-size:.82rem;font-weight:600}.pqc-send-form input{padding:.5rem .75rem;border:1px solid var(--tef-border, #E6E6E6);border-radius:6px;font-size:.88rem}.pqc-send-result{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;padding:1rem;margin-top:1rem}.pqc-send-result p{margin:.3rem 0;font-size:.85rem}.pqc-send-result .url-copy{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem;background:#fff;border-radius:4px;font-size:.8rem;word-break:break-all}.loading-center{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem;color:var(--tef-gray-medium, #50535A)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:3rem;color:var(--tef-gray-light, #86888C);text-align:center}.empty-state p{margin:0;font-size:.9rem}@media(max-width:768px){.pqc-upload-form .form-row,.pqc-assessments-grid,.pqc-chart-container{grid-template-columns:1fr}.pqc-scores-grid{grid-template-columns:repeat(2,1fr)}.pqc-detail-info,.pqc-detail-info-wide{grid-template-columns:1fr 1fr}.pqc-detail-tabs{overflow-x:auto}}.pqc-public-container{min-height:100vh;background:#f8fafc;padding-bottom:120px}.pqc-public-header{background:#fff;border-bottom:1px solid #e6e6e6;box-shadow:0 1px 3px #00000014;padding:.75rem 2rem}.pqc-public-header-content{max-width:var(--page-max-width, 1600px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.pqc-public-logo{display:flex;align-items:center;gap:1rem;flex-shrink:0}.pqc-public-brand-img{height:48px;width:auto}.pqc-public-brand-title{font-size:.8rem;font-weight:700;color:#019df4;text-transform:uppercase;letter-spacing:.5px}.pqc-public-header-info{text-align:right}.pqc-public-header-info h1{font-size:1rem;margin:0;font-weight:600;color:#1e293b}.pqc-public-header-info p{margin:.15rem 0 0;font-size:.8rem;color:#64748b}.pqc-public-progress{max-width:var(--page-max-width, 1600px);margin:1rem auto;padding:0 2rem;display:flex;align-items:center;gap:1rem}.pqc-progress-bar{flex:1;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.pqc-progress-fill{height:100%;background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:4px;transition:width .3s ease}.pqc-progress-text{font-size:.85rem;color:#64748b;white-space:nowrap}.pqc-respondent-info{max-width:var(--page-max-width, 1600px);margin:1rem auto;padding:1rem 2rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #00000014}.pqc-respondent-info h3{margin:0 0 .75rem;font-size:.95rem;color:#334155}.pqc-respondent-fields{display:flex;gap:1rem}.pqc-respondent-fields input{flex:1;padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem}.pqc-breadcrumb{max-width:var(--page-max-width, 1600px);margin:1rem auto;padding:0 2rem;display:flex;gap:.5rem}.pqc-breadcrumb-item{flex:1;padding:.6rem 1rem;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;font-size:.85rem;font-weight:500;color:#64748b;text-align:center;transition:all .2s}.pqc-breadcrumb-item.active{border-color:#2563eb;background:#eff6ff;color:#2563eb}.pqc-breadcrumb-item.completed{border-color:#16a34a;color:#16a34a}.pqc-dim-selector{max-width:var(--page-max-width, 1600px);margin:.75rem auto;padding:0 2rem;display:flex;gap:.35rem;flex-wrap:wrap}.pqc-dim-item{padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;cursor:pointer;font-size:.8rem;color:#64748b;display:flex;align-items:center;gap:.3rem;transition:all .2s}.pqc-dim-item.active{border-color:#2563eb;background:#eff6ff;color:#2563eb;font-weight:600}.pqc-dim-item.complete{color:#16a34a;border-color:#bbf7d0}.pqc-dimension-header{max-width:var(--page-max-width, 1600px);margin:1rem auto .5rem;padding:0 2rem}.pqc-dimension-header h2{font-size:.85rem;color:#64748b;margin:0;text-transform:uppercase;letter-spacing:.5px}.pqc-dimension-header h3{font-size:1.2rem;color:#1e293b;margin:.25rem 0 0}.pqc-questions{max-width:var(--page-max-width, 1600px);margin:1rem auto;padding:0 2rem;display:flex;flex-direction:column;gap:1rem}.pqc-question-card{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 1px 3px #0000000f;border:1px solid #e2e8f0}.pqc-question-header{display:flex;gap:.75rem;margin-bottom:.75rem;align-items:flex-start}.pqc-question-code{background:#1e293b;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap;margin-top:2px}.pqc-question-text{margin:0;font-size:.95rem;color:#334155;line-height:1.5}.pqc-levels{display:flex;flex-direction:column;gap:.4rem}.pqc-level-option{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:all .15s;font-size:.85rem;line-height:1.4}.pqc-level-option:hover{background:#f8fafc}.pqc-level-option.selected{border-width:2px}.pqc-level-option input[type=radio]{display:none}.pqc-level-badge{color:#fff;padding:.1rem .4rem;border-radius:3px;font-size:.7rem;font-weight:700;white-space:nowrap;flex-shrink:0;margin-top:1px}.pqc-level-desc{color:#475569}.pqc-comment{width:100%;margin-top:.5rem;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.85rem;resize:vertical;font-family:inherit}.pqc-comment:focus{outline:none;border-color:#2563eb}.pqc-navigation{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e2e8f0;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;z-index:100;box-shadow:0 -2px 8px #0000000d}.pqc-nav-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.pqc-nav-prev{background:#f1f5f9;color:#475569}.pqc-nav-prev:hover:not(:disabled){background:#e2e8f0}.pqc-nav-next{background:#2563eb;color:#fff}.pqc-nav-next:hover:not(:disabled){background:#1d4ed8}.pqc-nav-submit{background:#16a34a;color:#fff}.pqc-nav-submit:hover:not(:disabled){background:#15803d}.pqc-nav-btn:disabled{opacity:.5;cursor:not-allowed}.pqc-nav-center{font-size:.85rem;color:#64748b}.pqc-saving{display:flex;align-items:center;gap:.4rem}.pqc-public-loading,.pqc-public-error,.pqc-public-success{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;text-align:center;padding:2rem}.pqc-public-error{color:#dc2626}.pqc-public-error h2,.pqc-public-success h2{color:#1e293b}.spin{animation:spin 1s linear infinite}@media(max-width:768px){.pqc-breadcrumb,.pqc-respondent-fields{flex-direction:column}.pqc-dim-selector{gap:.25rem}.pqc-dim-item{padding:.3rem .5rem;font-size:.75rem}.pqc-level-option{font-size:.8rem}}.pqc-dashboard-page{min-height:calc(100vh - 73px);background:var(--tef-bg-light, #F5F5F5)}.pqc-dashboard-page .container-fluid{max-width:var(--page-max-width, 1600px);margin:0 auto;padding:1.75rem var(--page-padding, 2rem)}.pqc-dashboard-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem}.pqc-dashboard-page .page-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;color:#1e293b}.pqc-dashboard-page .page-subtitle{color:#64748b;margin-top:.25rem;font-size:.85rem}.pqc-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.pqc-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;transition:box-shadow .2s}.pqc-kpi-card:hover{box-shadow:0 4px 12px #00000014}.pqc-kpi-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pqc-kpi-data{display:flex;flex-direction:column}.pqc-kpi-value{font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1}.pqc-kpi-label{font-size:.78rem;color:#64748b;margin-top:.25rem}.pqc-dashboard-section{margin-bottom:2rem}.pqc-dashboard-section h2{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;color:#1e293b;margin-bottom:1rem}.pqc-kanban-board{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem;overflow-x:auto;min-height:300px}.pqc-kanban-column{background:#f8fafc;border-radius:10px;min-height:250px;display:flex;flex-direction:column}.pqc-column-header{padding:.75rem;border-top:3px solid;display:flex;align-items:center;gap:.5rem;font-size:.8rem}.pqc-column-header h3{font-size:.8rem;font-weight:600;color:#334155;flex:1;margin:0}.pqc-column-count{background:#e2e8f0;color:#475569;border-radius:10px;padding:0 8px;font-size:.72rem;font-weight:600;min-width:20px;text-align:center}.pqc-column-cards{padding:.5rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.pqc-column-empty{color:#94a3b8;font-size:.75rem;text-align:center;padding:1rem .5rem;font-style:italic}.pqc-kanban-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;align-items:stretch;transition:box-shadow .2s,transform .15s;cursor:default}.pqc-kanban-card:hover{box-shadow:0 2px 8px #0000001a}.pqc-kanban-card.dragging{box-shadow:0 8px 24px #00000026;transform:rotate(2deg);opacity:.9}.kanban-card-grip{display:flex;align-items:center;padding:0 4px;color:#cbd5e1;cursor:grab;flex-shrink:0}.kanban-card-grip:active{cursor:grabbing}.kanban-card-body{padding:.6rem .5rem;flex:1;text-decoration:none;color:inherit;min-width:0}.kanban-card-body:hover{color:inherit}.kanban-card-company{font-size:.78rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-card-meta{display:flex;gap:.5rem;margin-top:.25rem;align-items:center}.kanban-card-version{font-size:.68rem;color:#94a3b8;background:#f1f5f9;padding:1px 6px;border-radius:4px}.kanban-card-score{font-size:.7rem;font-weight:600;color:#8b5cf6}.kanban-card-progress{display:flex;align-items:center;gap:.4rem;margin-top:.35rem}.kanban-progress-bar{flex:1;height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}.kanban-progress-fill{height:100%;background:#3b82f6;border-radius:2px;transition:width .3s}.kanban-progress-text{font-size:.65rem;color:#94a3b8;min-width:28px;text-align:right}.pqc-recent-table{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.pqc-recent-table table{width:100%;border-collapse:collapse;font-size:.82rem}.pqc-recent-table th{background:#f8fafc;color:#64748b;font-weight:600;text-align:left;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.pqc-recent-table td{padding:.65rem 1rem;border-bottom:1px solid #f1f5f9;color:#334155}.pqc-recent-table tbody tr:hover{background:#f8fafc}.pqc-recent-link{color:#3b82f6;text-decoration:none;font-weight:500}.pqc-recent-link:hover{text-decoration:underline}.pqc-status-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:.72rem;font-weight:600}.pqc-empty{text-align:center;color:#94a3b8;padding:2rem!important;font-style:italic}@media(max-width:1200px){.pqc-kanban-board{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.pqc-kpi-grid,.pqc-kanban-board{grid-template-columns:repeat(2,1fr)}.pqc-dashboard-page .page-header{flex-direction:column;gap:1rem}}.pqc-chat-layout{display:flex;height:calc(100vh - 64px);overflow:hidden;background:#f8fafc}.pqc-chat-sidebar{width:280px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;transition:width .25s ease}.pqc-chat-sidebar.collapsed{width:44px;min-width:44px;align-items:center}.pqc-chat-sidebar .sidebar-header{padding:.75rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.pqc-chat-sidebar .sidebar-header h3{font-size:.85rem;color:#1e293b;margin:0}.sidebar-toggle{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.sidebar-toggle:hover{background:#f1f5f9;color:#3b82f6}.new-conv-btn{margin:.5rem;padding:.5rem .75rem;background:#8b5cf6;color:#fff;border:none;border-radius:8px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:background .2s}.new-conv-btn:hover{background:#7c3aed}.conv-list{flex:1;overflow-y:auto;padding:.25rem}.conv-item{padding:.5rem .6rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.78rem;color:#334155;transition:background .15s}.conv-item:hover{background:#f1f5f9}.conv-item.active{background:#ede9fe;color:#7c3aed}.conv-title{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0;overflow:hidden}.conv-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-actions{display:none;gap:2px}.conv-item:hover .conv-actions{display:flex}.conv-actions button{background:none;border:none;color:#94a3b8;cursor:pointer;padding:2px;border-radius:4px}.conv-actions button:hover{background:#e2e8f0;color:#475569}.conv-title-edit{width:100%;padding:2px 6px;font-size:.78rem;border:1px solid #8b5cf6;border-radius:4px;outline:none}.conv-empty{color:#94a3b8;font-size:.75rem;text-align:center;padding:1.5rem .5rem;font-style:italic}.pqc-chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.pqc-chat-main .ai-transparency-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:linear-gradient(90deg,#eff6ff,#eef2ff);border-bottom:1px solid #bfdbfe;font-size:.75rem;color:#1e40af;line-height:1.5}.pqc-chat-main .ai-transparency-banner svg{flex-shrink:0;color:#3b82f6}.pqc-chat-main .ai-transparency-banner strong{font-weight:600}.chat-header{padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.5rem}.chat-header h2{font-size:1rem;color:#1e293b;margin:0}.back-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.back-btn:hover{background:#f1f5f9;color:#3b82f6}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.chat-message{display:flex;gap:.75rem;max-width:85%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-message.assistant .message-avatar{background:#ede9fe;color:#7c3aed}.chat-message.user .message-avatar{background:#dbeafe;color:#3b82f6}.message-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem 1rem;font-size:.85rem;line-height:1.5;color:#334155}.chat-message.user .message-content{background:#3b82f6;color:#fff;border-color:#3b82f6}.chat-message.user .message-content p{margin:0}.chat-message.error .message-content{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.message-content h1,.message-content h2,.message-content h3{margin:.5rem 0;font-size:.9rem}.message-content ul,.message-content ol{padding-left:1.2rem;margin:.4rem 0}.message-content pre{background:#f1f5f9;padding:.5rem;border-radius:6px;overflow-x:auto;font-size:.78rem}.message-content table{border-collapse:collapse;margin:.4rem 0;font-size:.8rem}.message-content th,.message-content td{border:1px solid #e2e8f0;padding:.35rem .5rem;text-align:left}.message-content th{background:#f8fafc}.message-actions{display:flex;align-items:center;gap:.4rem;margin-top:.4rem;padding-top:.3rem;border-top:1px solid #f1f5f9}.message-actions button{background:none;border:none;color:#94a3b8;cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center}.message-actions button:hover{background:#f1f5f9;color:#475569}.msg-meta{font-size:.68rem;color:#94a3b8;margin-left:auto}.typing-indicator{display:flex;gap:4px;padding:.25rem 0}.typing-indicator span{width:8px;height:8px;background:#8b5cf6;border-radius:50%;animation:typing 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.quick-questions{padding:.5rem 1rem .25rem;display:flex;flex-wrap:wrap;gap:.4rem}.quick-q-btn{padding:.4rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:20px;font-size:.75rem;color:#475569;cursor:pointer;transition:all .2s}.quick-q-btn:hover{background:#ede9fe;border-color:#8b5cf6;color:#7c3aed}.chat-input-area{padding:.75rem 1rem;background:#fff;border-top:1px solid #e2e8f0;display:flex;align-items:flex-end;gap:.5rem}.chat-input-area textarea{flex:1;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .75rem;font-size:.85rem;font-family:inherit;resize:none;outline:none;max-height:150px;line-height:1.4;transition:border-color .2s}.chat-input-area textarea:focus{border-color:#8b5cf6}.send-btn{width:40px;height:40px;border-radius:10px;background:#8b5cf6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.send-btn:hover:not(:disabled){background:#7c3aed}.send-btn:disabled{opacity:.5;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pqc-chat-right{width:260px;background:#fff;border-left:1px solid #e2e8f0;flex-shrink:0;position:relative;transition:width .25s ease}.pqc-chat-right.collapsed{width:44px;min-width:44px}.panel-toggle{position:absolute;top:8px;left:8px;background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.panel-toggle:hover{background:#f1f5f9;color:#3b82f6}.right-panel-content{padding:2.5rem .75rem .75rem}.right-panel-content h4{font-size:.85rem;color:#1e293b;margin:0 0 .75rem}.right-panel-content .stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.right-panel-content .stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .35rem;text-align:center;gap:0}.right-panel-content .stat-value{display:block;font-size:1.2rem;font-weight:700;color:#8b5cf6;line-height:1.2}.right-panel-content .stat-label{display:block;font-size:.58rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.context-info h5{font-size:.78rem;color:#475569;margin:0 0 .4rem}.context-info ul{list-style:none;padding:0;margin:0}.context-info li{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#22c55e;padding:.2rem 0}@media(max-width:1024px){.pqc-chat-right{display:none}}@media(max-width:768px){.pqc-chat-sidebar{display:none}}.fsoc-chat-layout{display:flex;height:calc(100vh - 64px);overflow:hidden;background:#f8fafc}.fsoc-chat-sidebar{width:280px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;transition:width .25s ease}.fsoc-chat-sidebar.collapsed{width:44px;min-width:44px;align-items:center}.fsoc-chat-sidebar .sidebar-header{padding:.75rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.fsoc-chat-sidebar .sidebar-header h3{font-size:.85rem;color:#1e293b;margin:0}.fsoc-sidebar-toggle{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.fsoc-sidebar-toggle:hover{background:#f1f5f9;color:#0ea5e9}.fsoc-new-conv-btn{margin:.5rem;padding:.5rem .75rem;background:#0ea5e9;color:#fff;border:none;border-radius:8px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:background .2s}.fsoc-new-conv-btn:hover{background:#0284c7}.fsoc-conv-list{flex:1;overflow-y:auto;padding:.25rem}.fsoc-conv-item{padding:.5rem .6rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.4rem;font-size:.78rem;color:#334155;transition:background .15s}.fsoc-conv-item:hover{background:#f1f5f9}.fsoc-conv-item.active{background:#e0f2fe;color:#0284c7}.fsoc-conv-title{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0;overflow:hidden}.fsoc-conv-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fsoc-conv-actions{display:none;gap:2px}.fsoc-conv-item:hover .fsoc-conv-actions{display:flex}.fsoc-conv-actions button{background:none;border:none;color:#94a3b8;cursor:pointer;padding:2px;border-radius:4px}.fsoc-conv-actions button:hover{background:#e2e8f0;color:#475569}.fsoc-conv-title-edit{width:100%;padding:2px 6px;font-size:.78rem;border:1px solid #0ea5e9;border-radius:4px;outline:none}.fsoc-conv-empty{color:#94a3b8;font-size:.75rem;text-align:center;padding:1.5rem .5rem;font-style:italic}.fsoc-chat-main{flex:1;display:flex;flex-direction:column;min-width:0}.fsoc-chat-main .ai-transparency-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.5rem;background:linear-gradient(90deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #bae6fd;font-size:.75rem;color:#0c4a6e;line-height:1.5}.fsoc-chat-main .ai-transparency-banner svg{flex-shrink:0;color:#0ea5e9}.fsoc-chat-main .ai-transparency-banner strong{font-weight:600}.fsoc-chat-header{padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:.5rem}.fsoc-chat-header h2{font-size:1rem;color:#1e293b;margin:0}.fsoc-back-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.fsoc-back-btn:hover{background:#f1f5f9;color:#0ea5e9}.fsoc-chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.fsoc-chat-message{display:flex;gap:.75rem;max-width:85%}.fsoc-chat-message.user{align-self:flex-end;flex-direction:row-reverse}.fsoc-message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fsoc-chat-message.assistant .fsoc-message-avatar{background:#e0f2fe;color:#0284c7}.fsoc-chat-message.user .fsoc-message-avatar{background:#dbeafe;color:#3b82f6}.fsoc-message-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:.75rem 1rem;font-size:.85rem;line-height:1.5;color:#334155}.fsoc-chat-message.user .fsoc-message-content{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.fsoc-chat-message.user .fsoc-message-content p{margin:0}.fsoc-chat-message.error .fsoc-message-content{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.fsoc-message-content h1,.fsoc-message-content h2,.fsoc-message-content h3{margin:.5rem 0;font-size:.9rem}.fsoc-message-content ul,.fsoc-message-content ol{padding-left:1.2rem;margin:.4rem 0}.fsoc-message-content pre{background:#f1f5f9;padding:.5rem;border-radius:6px;overflow-x:auto;font-size:.78rem}.fsoc-message-content table{border-collapse:collapse;margin:.4rem 0;font-size:.8rem}.fsoc-message-content th,.fsoc-message-content td{border:1px solid #e2e8f0;padding:.35rem .5rem;text-align:left}.fsoc-message-content th{background:#f8fafc}.fsoc-message-actions{display:flex;align-items:center;gap:.4rem;margin-top:.4rem;padding-top:.3rem;border-top:1px solid #f1f5f9}.fsoc-message-actions button{background:none;border:none;color:#94a3b8;cursor:pointer;padding:3px;border-radius:4px;display:flex;align-items:center}.fsoc-message-actions button:hover{background:#f1f5f9;color:#475569}.fsoc-msg-meta{font-size:.68rem;color:#94a3b8;margin-left:auto}.fsoc-typing-indicator{display:flex;gap:4px;padding:.25rem 0}.fsoc-typing-indicator span{width:8px;height:8px;background:#0ea5e9;border-radius:50%;animation:fsoc-typing 1.2s infinite}.fsoc-typing-indicator span:nth-child(2){animation-delay:.2s}.fsoc-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes fsoc-typing{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.fsoc-quick-questions{padding:.5rem 1rem .25rem;display:flex;flex-wrap:wrap;gap:.4rem}.fsoc-quick-q-btn{padding:.4rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:20px;font-size:.75rem;color:#475569;cursor:pointer;transition:all .2s}.fsoc-quick-q-btn:hover{background:#e0f2fe;border-color:#0ea5e9;color:#0284c7}.fsoc-chat-input-area{padding:.75rem 1rem;background:#fff;border-top:1px solid #e2e8f0;display:flex;align-items:flex-end;gap:.5rem}.fsoc-chat-input-area textarea{flex:1;border:1px solid #e2e8f0;border-radius:10px;padding:.6rem .75rem;font-size:.85rem;font-family:inherit;resize:none;outline:none;max-height:150px;line-height:1.4;transition:border-color .2s}.fsoc-chat-input-area textarea:focus{border-color:#0ea5e9}.fsoc-send-btn{width:40px;height:40px;border-radius:10px;background:#0ea5e9;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.fsoc-send-btn:hover:not(:disabled){background:#0284c7}.fsoc-send-btn:disabled{opacity:.5;cursor:not-allowed}.fsoc-spinning{animation:fsoc-spin 1s linear infinite}@keyframes fsoc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fsoc-chat-right{width:260px;background:#fff;border-left:1px solid #e2e8f0;flex-shrink:0;position:relative;transition:width .25s ease}.fsoc-chat-right.collapsed{width:44px;min-width:44px}.fsoc-panel-toggle{position:absolute;top:8px;left:8px;background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.fsoc-panel-toggle:hover{background:#f1f5f9;color:#0ea5e9}.fsoc-right-panel-content{padding:2.5rem .75rem .75rem}.fsoc-right-panel-content h4{font-size:.85rem;color:#1e293b;margin:0 0 .75rem}.fsoc-right-panel-content .stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.fsoc-right-panel-content .stat-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem .35rem;text-align:center;gap:0}.fsoc-right-panel-content .stat-value{display:block;font-size:1.2rem;font-weight:700;color:#0ea5e9;line-height:1.2}.fsoc-right-panel-content .stat-label{display:block;font-size:.58rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.fsoc-context-info h5{font-size:.78rem;color:#475569;margin:0 0 .4rem}.fsoc-context-info ul{list-style:none;padding:0;margin:0}.fsoc-context-info li{display:flex;align-items:center;gap:.4rem;font-size:.75rem;color:#22c55e;padding:.2rem 0}.fsoc-cmm-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.fsoc-cmm-badge{padding:.2rem .5rem;border-radius:12px;font-size:.68rem;font-weight:600}.fsoc-cmm-badge.ctem{background:#fef3c7;color:#92400e}.fsoc-cmm-badge.xdr{background:#dcfce7;color:#166534}.fsoc-cmm-badge.zerotrust{background:#e0f2fe;color:#0c4a6e}@media(max-width:1024px){.fsoc-chat-right{display:none}}@media(max-width:768px){.fsoc-chat-sidebar{display:none}}
