@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap";.layout{display:flex;min-height:100vh;background:#f5f7fa}.sidebar{width:240px;display:flex;flex-direction:column;background:linear-gradient(180deg,#0f1b2d,#123d37);color:#fff;transition:width .25s ease;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:100}.layout--collapsed .sidebar{width:64px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo{display:flex;align-items:center;gap:.5rem}.logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-.5px}.logo-highlight{color:#35b88a}.logo-badge{font-size:.6rem;padding:2px 6px;border-radius:4px;background:#008c6a;color:#0f1b2d;font-weight:700;text-transform:uppercase}.layout--collapsed .logo-text,.layout--collapsed .logo-badge{display:none}.sidebar-toggle{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:.75rem;padding:.25rem;border-radius:4px;transition:color .2s,background .2s}.sidebar-toggle:hover{color:#fff;background:#ffffff1a}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:.75rem .5rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;color:#ffffffb3;text-decoration:none;font-size:.875rem;font-weight:500;transition:background .2s,color .2s}.sidebar-link:hover{background:#ffffff14;color:#fff}.sidebar-link--active{background:#008c6a33;color:#55d6a5;box-shadow:inset 3px 0 #35b88a}.sidebar-link-icon{font-size:1.1rem;flex-shrink:0;width:24px;text-align:center}.sidebar-link-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout--collapsed .sidebar-link{justify-content:center;padding:.6rem}.layout--collapsed .sidebar-link-label{display:none}.sidebar-bottom{padding:.75rem .5rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:4px}.sidebar-user{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;overflow:hidden}.sidebar-user-avatar{font-size:1.1rem;flex-shrink:0}.sidebar-user-name{font-size:.8rem;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layout--collapsed .sidebar-user-name{display:none}.sidebar-logout{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;background:none;border:none;color:#fff9;font-size:.875rem;font-family:inherit;cursor:pointer;transition:background .2s,color .2s;width:100%;text-align:left}.sidebar-logout:hover{background:#ef444426;color:#f87171}.sidebar-dgii-status{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-radius:8px;font-size:.78rem;font-weight:500;animation:dgiiPulse 2s ease-in-out infinite}.sidebar-dgii-status--contingencia{background:#eab30826;color:#fbbf24}.sidebar-dgii-status--verificando{background:#3b82f626;color:#60a5fa}@keyframes dgiiPulse{0%,to{opacity:1}50%{opacity:.7}}.layout--collapsed .sidebar-logout{justify-content:center}.layout--collapsed .sidebar-logout .sidebar-link-label{display:none}.layout-main{flex:1;display:flex;flex-direction:column;min-width:0}.layout-header{padding:1rem 2rem;background:#fff;border-bottom:1px solid #e5e7eb}.breadcrumb{display:flex;align-items:center;gap:.25rem;font-size:.85rem;color:#6b7280}.breadcrumb-item{display:flex;align-items:center;gap:.25rem}.breadcrumb-item:last-child{color:#1f2937;font-weight:600}.breadcrumb-sep{color:#d1d5db;margin:0 .25rem}.layout-content{flex:1;padding:2rem;overflow-y:auto}.cert-alert{padding:.6rem 2rem;font-size:.82rem;font-weight:500;text-align:center}.cert-alert--vencido{background:#fef2f2;color:#dc2626;border-bottom:1px solid #fecaca}.cert-alert--por_vencer{background:#fffbeb;color:#d97706;border-bottom:1px solid #fde68a}.cert-alert--sin_certificado{background:#fff7ed;color:#ea580c;border-bottom:1px solid #fed7aa}@media(max-width:768px){.sidebar{width:64px}.sidebar-link-label,.sidebar-user-name,.logo-text,.logo-badge{display:none}.sidebar-link{justify-content:center;padding:.6rem}.sidebar-logout{justify-content:center}.sidebar-logout .sidebar-link-label{display:none}.layout-content{padding:1rem}}.login-page{--login-ink: #17352d;--login-green: #2f7257;--login-mint: #b9e1c9;--login-paper: #f7f5ef;display:flex;min-height:100vh;overflow:hidden;background:var(--login-paper);color:var(--login-ink);font-family:DM Sans,system-ui,sans-serif;animation:loginFade .65s ease both}@keyframes loginFade{0%{opacity:0}to{opacity:1}}@keyframes loginRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-branding{position:relative;display:flex;flex:1.08;align-items:center;justify-content:center;min-width:0;padding:4rem clamp(2rem,6vw,6.5rem);overflow:hidden;background:linear-gradient(145deg,#17352df5,#265b45fa),#17352d;color:#fff}.login-branding:after{position:absolute;right:-10%;bottom:-22%;width:72%;height:62%;border:1px solid rgba(185,225,201,.2);border-radius:48% 52% 0 0;content:"";transform:rotate(-18deg)}.branding-orbit{position:absolute;border:1px solid rgba(185,225,201,.14);border-radius:50%;pointer-events:none}.branding-orbit--one{top:-21rem;left:-13rem;width:42rem;height:42rem}.branding-orbit--two{top:-12rem;left:-7rem;width:27rem;height:27rem;border-color:#b9e1c933}.branding-content{position:relative;z-index:1;width:min(100%,510px);animation:loginRise .8s .12s ease both}.branding-kicker,.login-eyebrow{display:inline-flex;align-items:center;gap:.55rem;color:var(--login-mint);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.branding-kicker span{width:22px;height:1px;background:var(--login-mint)}.branding-logo{margin:1.15rem 0 .85rem;color:#fff;font-family:Manrope,sans-serif;font-size:clamp(3rem,5vw,5.4rem);font-weight:800;letter-spacing:-.095em;line-height:.95}.branding-logo span{color:#a5dbb9}.branding-tagline{max-width:440px;margin-bottom:2.1rem;color:#d9ebe0;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.55}.branding-features{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1.5rem;max-width:480px;padding:0;list-style:none;color:#e7f3eb;font-size:.79rem}.branding-features li{display:flex;align-items:center;gap:.55rem}.branding-features li:first-letter{color:var(--login-mint)}.branding-functions{max-width:500px;margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.16)}.branding-functions h3{margin-bottom:.8rem;color:#a5dbb9;font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.functions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem}.function-item{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.58rem .7rem;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:#ffffff0e;color:#d9ebe0;font-size:.7rem;line-height:1.25;transition:background .2s,border-color .2s,transform .2s}.function-item:hover{border-color:#b9e1c94d;background:#ffffff1a;transform:translateY(-2px)}.function-icon{flex-shrink:0;font-size:.9rem}.function-text{opacity:.9}.login-form-panel{position:relative;display:flex;flex:.92;align-items:center;justify-content:center;min-width:0;padding:2rem clamp(1.25rem,5vw,5rem);background:radial-gradient(circle at 80% 14%,rgba(185,225,201,.45),transparent 24rem),var(--login-paper)}.login-form-panel:before{position:absolute;top:0;right:12%;width:1px;height:34%;background:#dce9df;content:""}.login-card{width:min(100%,410px);padding:clamp(1.7rem,4vw,2.7rem);border:1px solid #e3e8df;border-radius:24px;background:#ffffffd1;box-shadow:0 24px 70px #2041311a,0 3px 10px #2041310a;animation:loginRise .7s .24s ease both}.login-card-mark{display:flex;align-items:center;justify-content:space-between;margin-bottom:2.3rem;color:#8a9c90;font-family:Manrope,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:-.04em}.login-card-mark span{color:var(--login-green)}.login-card-mark b{color:#afc5b6;font-size:.65rem;letter-spacing:.12em}.login-card-header{margin-bottom:1.8rem}.login-card-header h2{margin:.65rem 0 .4rem;color:var(--login-ink);font-family:Manrope,sans-serif;font-size:clamp(1.65rem,3vw,2rem);letter-spacing:-.055em}.login-card-header p{color:#738178;font-size:.88rem}.login-form{display:flex;flex-direction:column;gap:1.15rem}.login-form .form-field{display:flex;flex-direction:column;gap:.42rem}.login-form .form-field label{color:#526359;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.login-form .form-field input{width:100%;padding:.85rem .95rem;border:1px solid #dce5dc;border-radius:11px;outline:none;background:#fbfcfa;color:var(--login-ink);font:inherit;font-size:.9rem;transition:border-color .2s,box-shadow .2s,background .2s}.login-form .form-field input::placeholder{color:#a7b2aa}.login-form .form-field input:focus{border-color:var(--login-green);background:#fff;box-shadow:0 0 0 4px #2f72571c}.login-form .form-field input[aria-invalid=true]{border-color:#c94f4f}.login-form .field-error{min-height:.95rem;color:#b83b3b;font-size:.72rem}.login-form .form-error{padding:.75rem .85rem;border:1px solid #f0caca;border-radius:10px;background:#fff5f4;color:#a83535;font-size:.8rem;line-height:1.4}.remember-me{display:flex;align-items:center;gap:.5rem;color:#64736a;font-size:.8rem;cursor:pointer}.remember-me input{width:.95rem;height:.95rem;accent-color:var(--login-green);cursor:pointer}.login-form .form-submit{margin-top:.3rem}.login-form .btn-primary{width:100%;padding:.9rem 1rem;border:0;border-radius:11px;background:var(--login-ink);color:#fff;font:inherit;font-size:.86rem;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}.login-form .btn-primary:hover:not(:disabled){background:#285f49;box-shadow:0 10px 20px #17352d2e;transform:translateY(-2px)}.login-form .btn-primary:disabled{opacity:.58;cursor:not-allowed}.login-card-footer{margin-top:1.7rem;color:#78857c;font-size:.8rem;text-align:center}.login-card-footer a{color:var(--login-green);font-weight:700;text-decoration:none}.login-card-footer a:hover{text-decoration:underline}.login-security{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:1.1rem;color:#8a998e;font-size:.67rem;letter-spacing:.03em}.security-dot{width:6px;height:6px;border-radius:50%;background:#62ad7f;box-shadow:0 0 0 4px #62ad7f21}.login-card-links{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem 1.1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e8ede8}.login-card-links a{color:#87948a;font-size:.72rem;font-weight:600}.login-card-links a:hover{color:var(--login-green)}@media(max-width:900px){.login-branding{padding-inline:2.5rem}.login-form-panel{padding-inline:2rem}}@media(max-width:720px){.login-page{display:flex;flex-direction:column-reverse;min-height:100svh;overflow:visible}.login-form-panel{flex:none;min-height:70svh;padding:2rem 1rem 2.5rem}.login-form-panel:before{display:none}.login-card{padding:1.55rem;border-radius:20px}.login-card-mark{margin-bottom:1.7rem}.login-branding{flex:none;min-height:250px;padding:2.4rem 1.5rem 3rem;align-items:flex-start}.branding-content{width:100%;text-align:left}.branding-logo{margin-top:.9rem;font-size:3.1rem}.branding-tagline{max-width:430px;margin-bottom:0;font-size:.9rem}.branding-features,.branding-functions{display:none}.branding-orbit--one{top:-13rem;left:45%;width:28rem;height:28rem}.branding-orbit--two{top:-7rem;left:58%;width:17rem;height:17rem}}@media(prefers-reduced-motion:reduce){.login-page,.branding-content,.login-card{animation:none}.function-item,.login-form .btn-primary{transition:none}}.onboarding-page{display:flex;min-height:100vh;animation:obFadeIn .6s ease-out}@keyframes obFadeIn{0%{opacity:0}to{opacity:1}}@keyframes obSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-branding{width:380px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;background:linear-gradient(135deg,#0f1b2d,#1a3a5c,#1e4976);color:#fff;position:relative;overflow:hidden}.onboarding-branding:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 70%);animation:obPulse 8s ease-in-out infinite}@keyframes obPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.onboarding-branding-content{position:relative;z-index:1;text-align:center;max-width:320px;animation:obSlideUp .8s ease-out .2s both}.onboarding-logo{font-size:2.5rem;font-weight:800;margin-bottom:1rem;letter-spacing:-1px}.onboarding-logo span{color:#64b5f6}.onboarding-tagline{font-size:1.1rem;font-weight:300;margin-bottom:2rem;opacity:.9;line-height:1.6}.onboarding-benefits{display:flex;flex-direction:column;gap:1rem;text-align:left}.benefit-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:10px;background:#ffffff0d}.benefit-icon{font-size:1.25rem;flex-shrink:0;margin-top:2px}.benefit-item strong{display:block;font-size:.85rem;margin-bottom:2px}.benefit-item p{font-size:.78rem;opacity:.7;margin:0}.onboarding-form-panel{flex:1;display:flex;justify-content:center;align-items:center;padding:2rem;background:#f0f4f8;overflow-y:auto}.onboarding-card{width:100%;max-width:560px;padding:2.5rem;border-radius:20px;background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a;animation:obSlideUp .6s ease-out .3s both}.onboarding-steps{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.step-indicator{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:#9ca3af}.step-indicator.active{color:#1a3a5c;font-weight:600}.step-indicator.completed{color:#059669}.step-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:2px solid #d1d5db;font-size:.75rem;font-weight:600}.step-indicator.active .step-number{border-color:#1a3a5c;background-color:#1a3a5c;color:#fff}.step-indicator.completed .step-number{border-color:#059669;background-color:#059669;color:#fff}.step-label{display:none}@media(min-width:480px){.step-label{display:inline}}.onboarding-header{margin-bottom:1.5rem;text-align:center}.onboarding-header h2{font-size:1.3rem;font-weight:700;color:#0f1b2d;margin-bottom:.4rem}.onboarding-header p{color:#5f6c7b;font-size:.85rem}.onboarding-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:540px){.form-row{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:.3rem}.form-field label{font-size:.82rem;font-weight:600;color:#374151}.form-field input{padding:.65rem .85rem;border:1px solid #d1d9e6;border-radius:10px;font-size:.9rem;font-family:inherit;background:#fffc;transition:border-color .2s,box-shadow .2s}.form-field input:focus{outline:none;border-color:#1a3a5c;box-shadow:0 0 0 3px #1a3a5c1a}.form-field input[aria-invalid=true]{border-color:#dc3545}.field-error{font-size:.75rem;color:#dc3545;min-height:.9rem}.form-error{padding:.65rem .85rem;border-radius:8px;background:#fef2f2;color:#dc3545;font-size:.82rem;border:1px solid #fecaca}.btn-primary{width:100%;padding:.75rem;border:none;border-radius:10px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;background:linear-gradient(135deg,#0f1b2d,#1a3a5c);color:#fff;transition:transform .15s,box-shadow .2s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0f1b2d4d}.onboarding-footer{margin-top:1.5rem;text-align:center;font-size:.82rem;color:#5f6c7b}.onboarding-footer a{color:#1a3a5c;font-weight:600;text-decoration:none}.onboarding-footer a:hover{text-decoration:underline}.cert-upload-area{border:2px dashed #d1d9e6;border-radius:12px;padding:1.5rem;text-align:center;transition:border-color .2s}.cert-upload-area:hover{border-color:#1a3a5c}.cert-upload-label{display:inline-block;padding:.55rem 1.1rem;background:#f3f4f6;border:1px solid #d1d9e6;border-radius:8px;font-size:.82rem;cursor:pointer;color:#374151;font-weight:500;transition:background .2s}.cert-upload-label:hover{background:#e5e7eb}.cert-upload-hint{margin-top:.6rem;font-size:.75rem;color:#9ca3af}.cert-file-selected{margin-top:.75rem;padding:.4rem .75rem;background:#eff6ff;border-radius:6px;font-size:.82rem;color:#1a3a5c;display:inline-block}.confirmation{text-align:center;padding:1.5rem 0}.confirmation-icon{width:56px;height:56px;margin:0 auto 1.25rem;background:#059669;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirmation-icon:after{content:"✓";font-size:1.75rem;color:#fff}.confirmation h3{font-size:1.15rem;color:#0f1b2d;margin-bottom:.6rem;font-weight:700}.confirmation p{color:#5f6c7b;margin-bottom:1.5rem;font-size:.88rem;line-height:1.5}.btn-secondary{display:inline-block;padding:.7rem 1.5rem;background:#fff;color:#1a3a5c;border:1px solid #1a3a5c;border-radius:10px;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .2s,transform .15s}.btn-secondary:hover{background:#f0f5ff;transform:translateY(-1px);text-decoration:none}@media(max-width:768px){.onboarding-page{flex-direction:column}.onboarding-branding{width:100%;padding:2rem 1.5rem;min-height:auto}.onboarding-benefits{display:none}.onboarding-form-panel{padding:1.5rem}.onboarding-card{padding:2rem 1.5rem}}.planes-page{max-width:960px;margin:0 auto;padding:2rem 1rem}.planes-header{text-align:center;margin-bottom:2.5rem}.planes-header h2{font-size:1.75rem;font-weight:700;color:#213547;margin-bottom:.5rem}.planes-header p{color:#5f6368;font-size:1rem}.planes-loading,.planes-error{text-align:center;padding:3rem;font-size:1rem}.planes-error{color:#d93025}.planes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem;align-items:stretch}.plan-card{position:relative;display:flex;flex-direction:column;padding:2rem 1.5rem;background:#fff;border:1px solid #dadce0;border-radius:12px;transition:box-shadow .2s,transform .2s}.plan-card:hover{box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.plan-card--featured{border-color:#1a73e8;border-width:2px;box-shadow:0 4px 16px #1a73e826}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#1a73e8;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.plan-nombre{font-size:1.25rem;font-weight:600;color:#213547;text-align:center;margin-bottom:1rem}.plan-precio{text-align:center;margin-bottom:1.5rem}.plan-precio-valor{font-size:2rem;font-weight:700;color:#213547}.plan-precio-periodo{font-size:.9rem;color:#5f6368}.plan-features{list-style:none;padding:0;margin:0 0 1.5rem;flex:1}.plan-features li{padding:.5rem 0;font-size:.9rem;color:#3c4043;border-bottom:1px solid #f1f3f4}.plan-features li:last-child{border-bottom:none}.plan-btn{width:100%;padding:.75rem 1rem;border:1px solid #1a73e8;border-radius:6px;font-size:.95rem;font-weight:500;font-family:inherit;cursor:pointer;background:#fff;color:#1a73e8;transition:background-color .2s,color .2s}.plan-btn:hover{background:#f1f7fe}.plan-btn--primary{background:#1a73e8;color:#fff;border-color:#1a73e8}.plan-btn--primary:hover{background:#1557b0}.planes-section{margin-bottom:3rem}.planes-section-header{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e8eaed}.planes-section-header h3{font-size:1.25rem;font-weight:600;color:#213547;margin-bottom:.25rem}.planes-section-header p{color:#5f6368;font-size:.9rem}.plan-card--api{background:linear-gradient(135deg,#f8fbff,#fff);border-color:#4285f4}.plan-card--api .plan-badge{background:#34a853}.edf-form{display:flex;flex-direction:column;gap:1.25rem}.edf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}.edf-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.edf-field--wide{grid-column:1 / -1}.edf-field label{font-size:.875rem;font-weight:500;color:#213547}.edf-field input,.edf-field select{padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.95rem;font-family:inherit;color:#213547;background:#fff;transition:border-color .2s;width:100%;box-sizing:border-box}.edf-field input:focus,.edf-field select:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.edf-field input:disabled,.edf-field select:disabled{background:#f1f3f4;color:#5f6368}.edf-field [aria-invalid=true]{border-color:#d93025}.edf-hint{font-size:.75rem;color:#5f6368}.edf-error{font-size:.8rem;color:#d93025}.edf-alert{padding:.75rem 1rem;border-radius:6px;font-size:.875rem}.edf-alert--error{background-color:#fce8e6;border:1px solid #f5c6cb;color:#d93025}.edf-alert--success{background-color:#e6f4ea;border:1px solid #b7e1cd;color:#137333}.edf-actions{display:flex;justify-content:flex-end;gap:.75rem}.edf-btn{padding:.65rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid transparent}.edf-btn--primary{background-color:#1a73e8;color:#fff}.edf-btn--primary:hover:not(:disabled){background-color:#1557b0}.edf-btn--primary:disabled{opacity:.55;cursor:not-allowed}.edf-btn--secondary{background:#fff;border-color:#dadce0;color:#213547}@media(max-width:640px){.edf-grid{grid-template-columns:1fr}}.configuracion-page{max-width:640px;margin:0 auto;padding:2rem 1rem}.configuracion-header{text-align:center;margin-bottom:2.5rem}.configuracion-header h2{font-size:1.5rem;font-weight:700;color:#213547;margin-bottom:.5rem}.configuracion-header p{color:#5f6368;font-size:.95rem}.configuracion-sections{display:flex;flex-direction:column;gap:2.5rem}.config-section{background:#fff;border:1px solid #dadce0;border-radius:12px;padding:1.75rem}.config-section h3{font-size:1.15rem;font-weight:600;color:#213547;margin-bottom:.5rem}.config-description{color:#5f6368;font-size:.875rem;margin-bottom:1.25rem}.config-form{display:flex;flex-direction:column;gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field label{font-size:.875rem;font-weight:500;color:#213547}.form-field input{padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.95rem;font-family:inherit;color:#213547;transition:border-color .2s}.form-field input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.form-field input[aria-invalid=true]{border-color:#d93025}.field-error{font-size:.8rem;color:#d93025;min-height:1rem}.form-error{padding:.75rem 1rem;background-color:#fce8e6;border:1px solid #f5c6cb;border-radius:6px;color:#d93025;font-size:.875rem}.form-success{padding:.75rem 1rem;background-color:#e6f4ea;border:1px solid #b7e1cd;border-radius:6px;color:#137333;font-size:.875rem}.form-submit{margin-top:.5rem}.btn-primary{width:100%;padding:.75rem 1.5rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#1557b0}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.cert-upload-area{border:2px dashed #dadce0;border-radius:8px;padding:1.5rem;text-align:center;transition:border-color .2s}.cert-upload-area:hover{border-color:#1a73e8}.cert-upload-area input[type=file]{display:none}.cert-upload-label{display:inline-block;padding:.625rem 1.25rem;background-color:#f1f3f4;border:1px solid #dadce0;border-radius:6px;font-size:.875rem;cursor:pointer;color:#213547;transition:background-color .2s}.cert-upload-label:hover{background-color:#e8eaed}.cert-upload-hint{margin-top:.75rem;font-size:.8rem;color:#5f6368}.cert-file-selected{margin-top:1rem;padding:.5rem .75rem;background-color:#e8f0fe;border-radius:4px;font-size:.85rem;color:#1a73e8}.facturas{max-width:1120px;margin:0 auto;padding-bottom:2rem}.facturas-header{margin-bottom:1.25rem;padding:1.5rem 1.75rem;border-radius:16px;color:#fff;background:linear-gradient(135deg,#0f1b2d,#145b50);box-shadow:0 12px 28px #0f1b2d24}.facturas-header h2{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.5rem}.facturas-header p{color:#ffffffc7;font-size:.95rem}.facturas-readonly-badge{display:inline-block;margin-top:.5rem;padding:.25rem .75rem;background-color:#f1f3f4;border:1px solid #dadce0;border-radius:4px;font-size:.8rem;color:#5f6368}.facturas-form{display:flex;flex-direction:column;gap:1.25rem;padding:1.5rem;border:1px solid #e3e8ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px #0f1b2d12}.facturas-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.facturas-field{display:flex;flex-direction:column;gap:.35rem}.facturas-field label{font-size:.875rem;font-weight:500;color:#213547}.facturas-field input,.facturas-field select{padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.95rem;font-family:inherit;color:#213547;transition:border-color .2s}.facturas-field input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.facturas-field select:focus{outline:none;border-color:#008c6a;box-shadow:0 0 0 2px #008c6a21}.facturas-field input[aria-invalid=true]{border-color:#d93025}.facturas-field input[aria-invalid=true]:focus{box-shadow:0 0 0 2px #d9302526}.facturas-field input:disabled{background-color:#f1f3f4;cursor:not-allowed}.facturas-field-error{font-size:.8rem;color:#d93025;min-height:1rem}.facturas-catalog-search{position:relative}.facturas-catalog-search input{width:100%;padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.95rem;font-family:inherit;color:#213547;transition:border-color .2s}.facturas-catalog-search input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.facturas-catalog-search input:disabled{background-color:#f1f3f4;cursor:not-allowed}.facturas-catalog-results{position:absolute;top:100%;left:0;right:0;z-index:10;max-height:200px;overflow-y:auto;background-color:#fff;border:1px solid #dadce0;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 8px #0000001a}.facturas-catalog-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;cursor:pointer;border-bottom:1px solid #f1f3f4;transition:background-color .15s}.facturas-catalog-item:hover{background-color:#e8f0fe}.facturas-catalog-item:last-child{border-bottom:none}.facturas-catalog-item-name{font-size:.875rem;color:#213547}.facturas-catalog-item-price{font-size:.8rem;color:#5f6368}.facturas-catalog-empty{padding:.75rem;font-size:.85rem;color:#5f6368;text-align:center}.facturas-lines-section{margin-top:.5rem;padding:1.1rem;border:1px solid #e3e8ef;border-radius:12px;background:#fbfcfe}.facturas-lines-title{font-size:.95rem;font-weight:600;color:#213547;margin-bottom:.75rem}.facturas-line{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:.5rem;align-items:start;padding:.75rem;background-color:#fff;border:1px solid #dce5ee;border-left:4px solid #008c6a;border-radius:10px;margin-bottom:.5rem}.facturas-line-field{display:flex;flex-direction:column;gap:.2rem}.facturas-line-field label{font-size:.75rem;font-weight:500;color:#5f6368}.facturas-line-field input{padding:.5rem .625rem;border:1px solid #dadce0;border-radius:4px;font-size:.875rem;font-family:inherit;color:#213547}.facturas-line-field input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.facturas-line-field input:disabled{background-color:#f1f3f4;cursor:not-allowed}.facturas-line-field .facturas-line-calculated{padding:.5rem .625rem;font-size:.875rem;color:#213547;background-color:#e8eaed;border-radius:4px;min-height:2.125rem;display:flex;align-items:center}.facturas-line-remove{margin-top:1.25rem;padding:.4rem .6rem;background:none;border:1px solid #d93025;border-radius:4px;color:#d93025;font-size:.8rem;cursor:pointer;transition:background-color .2s}.facturas-line-remove:hover:not(:disabled){background-color:#fce8e6}.facturas-line-remove:disabled{opacity:.4;cursor:not-allowed}.facturas-lines-error{font-size:.8rem;color:#d93025;margin-top:.25rem}.facturas-totals{margin-top:1rem;padding:1rem;max-width:420px;margin-left:auto;background:#eef8f5;border:1px solid #c7e8dc;border-radius:12px}.facturas-totals-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.9rem;color:#213547}.facturas-totals-row.facturas-totals-grand{font-weight:700;font-size:1rem;border-top:1px solid #a8d7c7;margin-top:.5rem;padding-top:.75rem}.facturas-submit{margin-top:1rem}.facturas-btn-primary{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#006b57,#008c6a);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.facturas-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#005545,#00775b)}.facturas-btn-primary:disabled{opacity:.6;cursor:not-allowed}.facturas-btn-add{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;background-color:#fff;color:#00785d;border:1px solid #008c6a;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s;margin-top:.5rem}.facturas-btn-add:hover:not(:disabled){background-color:#e9f7f2}.facturas-btn-add:disabled{opacity:.5;cursor:not-allowed}.facturas-form-error{padding:.75rem 1rem;background-color:#fce8e6;border:1px solid #f5c6cb;border-radius:6px;color:#d93025;font-size:.875rem}.facturas-success{padding:1.5rem;background-color:#e6f4ea;border:1px solid #a8dab5;border-radius:8px;text-align:center}.facturas-success-icon{width:48px;height:48px;margin:0 auto 1rem;background-color:#34a853;border-radius:50%;display:flex;align-items:center;justify-content:center}.facturas-success-icon:after{content:"✓";font-size:1.5rem;color:#fff}.facturas-success h3{font-size:1.1rem;color:#213547;margin-bottom:1rem}.facturas-success-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.facturas-success-detail{display:flex;justify-content:center;gap:.5rem;font-size:.9rem}.facturas-success-detail-label{font-weight:500;color:#5f6368}.facturas-success-detail-value{color:#213547;font-weight:600}.facturas-success-link{display:inline-block;padding:.625rem 1.25rem;background-color:#1a73e8;color:#fff;border-radius:6px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .2s;margin-right:.5rem}.facturas-success-link:hover{background-color:#1557b0;text-decoration:none}.facturas-btn-new{display:inline-block;padding:.625rem 1.25rem;background-color:#fff;color:#1a73e8;border:1px solid #1a73e8;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;font-family:inherit;transition:background-color .2s}.facturas-btn-new:hover{background-color:#f1f7fe}@media(max-width:640px){.facturas{padding:0 .25rem 1.5rem}.facturas-form{padding:1rem}.facturas-header{padding:1.25rem}.facturas-row{grid-template-columns:1fr}.facturas-line{grid-template-columns:1fr 1fr}.facturas-line-remove{grid-column:span 2;margin-top:.5rem}}.facturas-lista{max-width:1000px;margin:0 auto}.facturas-lista-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.facturas-lista-header h2{font-size:1.5rem;font-weight:700;color:#213547}.facturas-lista-btn-new{padding:.5rem 1rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none}.facturas-lista-btn-new:hover{background-color:#1557b0;text-decoration:none;color:#fff}.facturas-tabla{width:100%;border-collapse:collapse;font-size:.85rem}.facturas-tabla th,.facturas-tabla td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #e8eaed}.facturas-tabla th{font-weight:600;color:#5f6368;background-color:#f8f9fa;position:sticky;top:0}.facturas-tabla tr:hover{background-color:#f8f9fa}.facturas-tabla tr.expanded{background-color:#e8f0fe}.estado-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:capitalize}.estado-badge.enviado{background-color:#e8f0fe;color:#1a73e8}.estado-badge.aceptado,.estado-badge.aprobado{background-color:#e6f4ea;color:#1e8e3e}.estado-badge.rechazado,.estado-badge.rechazado_definitivo{background-color:#fce8e6;color:#d93025}.estado-badge.reintentando{background-color:#fef7e0;color:#e37400}.estado-badge.fallido{background-color:#fce8e6;color:#d93025}.estado-badge.anulado{background-color:#f1f3f4;color:#5f6368}.facturas-detalle{padding:1rem 1.5rem;background-color:#f8f9fa;border-bottom:2px solid #e8eaed}.facturas-detalle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.facturas-detalle-item{display:flex;flex-direction:column;gap:.2rem}.facturas-detalle-label{font-size:.75rem;color:#5f6368;font-weight:600}.facturas-detalle-value{font-size:.875rem;color:#213547;word-break:break-all}.facturas-lista-empty{text-align:center;padding:3rem;color:#5f6368}.facturas-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem}.facturas-pagination button{padding:.4rem .8rem;border:1px solid #dadce0;border-radius:4px;background:#fff;cursor:pointer;font-size:.8rem}.facturas-pagination button:disabled{opacity:.5;cursor:not-allowed}.facturas-pagination span{font-size:.85rem;color:#5f6368}.batch{animation:batchFadeIn .4s ease-out}@keyframes batchFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.batch-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.batch-header h2{font-size:1.3rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.batch-header p{color:#6b7280;font-size:.85rem}.batch-btn-plantilla{padding:.5rem 1rem;border:1px solid #1a3a5c;border-radius:8px;background:#fff;color:#1a3a5c;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.batch-btn-plantilla:hover{background:#f0f5ff}.batch-upload{margin-bottom:1.5rem}.batch-upload-area{border:2px dashed #d1d9e6;border-radius:12px;padding:2rem;text-align:center;transition:border-color .2s;margin-bottom:1rem}.batch-upload-area:hover{border-color:#1a3a5c}.batch-upload-area input[type=file]{display:none}.batch-upload-label{display:inline-block;padding:.6rem 1.2rem;background:#f3f4f6;border:1px solid #d1d9e6;border-radius:8px;font-size:.85rem;cursor:pointer;font-weight:500;color:#374151;transition:background .2s}.batch-upload-label:hover{background:#e5e7eb}.batch-upload-hint{margin-top:.6rem;font-size:.75rem;color:#9ca3af}.batch-actions{display:flex;gap:.75rem;flex-wrap:wrap}.batch-btn-validar,.batch-btn-emitir{padding:.6rem 1.2rem;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.batch-btn-validar{background:#f3f4f6;color:#374151;border:1px solid #d1d9e6}.batch-btn-validar:hover:not(:disabled){background:#e5e7eb}.batch-btn-emitir{background:linear-gradient(135deg,#0f1b2d,#1a3a5c);color:#fff}.batch-btn-emitir:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0f1b2d4d}.batch-btn-validar:disabled,.batch-btn-emitir:disabled{opacity:.6;cursor:not-allowed}.batch-error{padding:.75rem 1rem;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:.85rem;border:1px solid #fecaca;margin-bottom:1.5rem}.batch-validation,.batch-result{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.batch-structure-error{text-align:center}.batch-structure-error h3{color:#dc2626;margin-bottom:.5rem}.batch-structure-error p{font-size:.85rem;color:#5f6c7b;margin:.4rem 0}.batch-summary{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.batch-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;border-radius:8px;background:#f3f4f6}.batch-stat--success{background:#ecfdf5}.batch-stat--error{background:#fef2f2}.batch-stat-value{font-size:1.5rem;font-weight:700;color:#1f2937}.batch-stat--success .batch-stat-value{color:#059669}.batch-stat--error .batch-stat-value{color:#dc2626}.batch-stat-label{font-size:.75rem;color:#6b7280;margin-top:.2rem}.batch-errors-table,.batch-results-table{width:100%;border-collapse:collapse;font-size:.82rem}.batch-errors-table h4{font-size:.9rem;margin-bottom:.75rem;color:#374151}.batch-errors-table table,.batch-results-table{width:100%}.batch-errors-table th,.batch-errors-table td,.batch-results-table th,.batch-results-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid #f3f4f6}.batch-errors-table th,.batch-results-table th{background:#f9fafb;font-weight:600;color:#374151}.row-success{background:#f0fdf4}.row-error{background:#fef2f2}.batch-truncated{font-size:.75rem;color:#9ca3af;margin-top:.5rem}.batch-btn-reset{margin-top:1.5rem;padding:.5rem 1rem;border:1px solid #d1d9e6;border-radius:8px;background:#fff;color:#374151;font-size:.82rem;cursor:pointer;font-family:inherit}.batch-btn-reset:hover{background:#f3f4f6}@media(max-width:640px){.batch-header{flex-direction:column}.batch-summary{flex-direction:column;gap:.75rem}}.reportes{animation:reportesFadeIn .4s ease-out}@keyframes reportesFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reportes-header{margin-bottom:1.5rem}.reportes-header h2{font-size:1.3rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.reportes-header p{color:#6b7280;font-size:.85rem}.reportes-filters{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.reportes-field{display:flex;flex-direction:column;gap:.3rem}.reportes-field label{font-size:.8rem;font-weight:600;color:#374151}.reportes-field select{padding:.5rem .75rem;border:1px solid #d1d9e6;border-radius:8px;font-size:.85rem;font-family:inherit;background:#fff}.reportes-btn-consultar{padding:.55rem 1.2rem;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;background:linear-gradient(135deg,#0f1b2d,#1a3a5c);color:#fff;transition:all .15s}.reportes-btn-consultar:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0f1b2d4d}.reportes-btn-consultar:disabled{opacity:.6;cursor:not-allowed}.reportes-error{padding:.75rem 1rem;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:.85rem;border:1px solid #fecaca;margin-bottom:1.5rem}.reportes-results h3{font-size:1rem;font-weight:600;color:#374151;margin-bottom:1.25rem}.reportes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.reporte-card{padding:1.5rem;border-radius:14px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;gap:.5rem}.reporte-card-header{display:flex;align-items:center;gap:.5rem}.reporte-card-icon{font-size:1.25rem}.reporte-card-title{font-weight:700;color:#1f2937;font-size:.95rem}.reporte-card-desc{color:#6b7280;font-size:.82rem}.reporte-card-count{font-size:1.25rem;font-weight:700;color:#1a3a5c;margin:.25rem 0}.reporte-card-btn{margin-top:.5rem;padding:.5rem 1rem;border:1px solid #1a3a5c;border-radius:8px;background:#fff;color:#1a3a5c;font-size:.82rem;font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s}.reporte-card-btn:hover:not(:disabled){background:#f0f5ff}.reporte-card-btn:disabled{opacity:.4;cursor:not-allowed}@media(max-width:640px){.reportes-grid{grid-template-columns:1fr}}.catalogo{max-width:960px;margin:0 auto}.catalogo-header{margin-bottom:1.5rem}.catalogo-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.catalogo-header h2{font-size:1.5rem;font-weight:700;color:#213547;margin-bottom:.5rem}.catalogo-header p{color:#5f6368;font-size:.95rem}.catalogo-filters{display:flex;gap:1rem;align-items:flex-end;margin-bottom:1.5rem;flex-wrap:wrap}.catalogo-filter-field{display:flex;flex-direction:column;gap:.3rem}.catalogo-filter-field label{font-size:.8rem;font-weight:500;color:#5f6368}.catalogo-filter-search{flex:1;min-width:200px}.catalogo-filter-field input,.catalogo-filter-field select{padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.9rem;font-family:inherit;color:#213547;background-color:#fff;transition:border-color .2s}.catalogo-filter-field input:focus,.catalogo-filter-field select:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.catalogo-error{padding:.75rem 1rem;background-color:#fce8e6;border:1px solid #f5c6cb;border-radius:6px;color:#d93025;font-size:.875rem;margin-bottom:1rem}.catalogo-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#5f6368;font-size:.95rem}.catalogo-spinner{width:20px;height:20px;border:2px solid #dadce0;border-top-color:#1a73e8;border-radius:50%;animation:catalogo-spin .8s linear infinite}@keyframes catalogo-spin{to{transform:rotate(360deg)}}.catalogo-empty{text-align:center;padding:3rem 1.5rem;color:#5f6368}.catalogo-empty p{font-size:.95rem;margin-bottom:.5rem}.catalogo-empty-hint{font-size:.85rem;color:#80868b}.catalogo-table-wrapper{overflow-x:auto;border:1px solid #dadce0;border-radius:6px}.catalogo-table{width:100%;border-collapse:collapse;font-size:.875rem}.catalogo-table thead{background-color:#f8f9fa}.catalogo-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#213547;border-bottom:1px solid #dadce0;white-space:nowrap}.catalogo-table td{padding:.75rem 1rem;color:#213547;border-bottom:1px solid #f1f3f4;vertical-align:middle}.catalogo-table tbody tr:last-child td{border-bottom:none}.catalogo-table tbody tr:hover{background-color:#f8f9fa}.catalogo-row-inactive{opacity:.6}.catalogo-cell-code{font-family:monospace;font-size:.85rem;color:#5f6368}.catalogo-cell-price{white-space:nowrap;font-weight:500}.catalogo-cell-itbis{text-align:center}.catalogo-cell-actions{display:flex;gap:.5rem;white-space:nowrap}.catalogo-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500}.catalogo-badge-producto{background-color:#e8f0fe;color:#1a73e8}.catalogo-badge-servicio{background-color:#fef7e0;color:#e37400}.catalogo-badge-activo{background-color:#e6f4ea;color:#137333}.catalogo-badge-inactivo{background-color:#f1f3f4;color:#5f6368}.catalogo-btn-primary{padding:.625rem 1.25rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s;white-space:nowrap}.catalogo-btn-primary:hover:not(:disabled){background-color:#1557b0}.catalogo-btn-primary:disabled{opacity:.6;cursor:not-allowed}.catalogo-btn-cancel{padding:.625rem 1.25rem;background-color:#fff;color:#5f6368;border:1px solid #dadce0;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.catalogo-btn-cancel:hover:not(:disabled){background-color:#f1f3f4}.catalogo-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.catalogo-btn-edit{padding:.35rem .75rem;background-color:#fff;color:#1a73e8;border:1px solid #1a73e8;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.catalogo-btn-edit:hover{background-color:#e8f0fe}.catalogo-btn-delete{padding:.35rem .75rem;background-color:#fff;color:#d93025;border:1px solid #d93025;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.catalogo-btn-delete:hover{background-color:#fce8e6}.catalogo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.catalogo-modal{background-color:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.catalogo-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #dadce0}.catalogo-modal-header h3{font-size:1.1rem;font-weight:600;color:#213547}.catalogo-modal-close{padding:.35rem .6rem;background:none;border:1px solid #dadce0;border-radius:4px;color:#5f6368;font-size:.9rem;cursor:pointer;transition:background-color .2s}.catalogo-modal-close:hover{background-color:#f1f3f4}.catalogo-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.catalogo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.catalogo-form-field{display:flex;flex-direction:column;gap:.3rem}.catalogo-form-field label{font-size:.875rem;font-weight:500;color:#213547}.catalogo-form-field input,.catalogo-form-field select{padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.95rem;font-family:inherit;color:#213547;background-color:#fff;transition:border-color .2s}.catalogo-form-field input:focus,.catalogo-form-field select:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.catalogo-form-field input[aria-invalid=true],.catalogo-form-field select[aria-invalid=true]{border-color:#d93025}.catalogo-form-field input[aria-invalid=true]:focus,.catalogo-form-field select[aria-invalid=true]:focus{box-shadow:0 0 0 2px #d9302526}.catalogo-field-error{font-size:.8rem;color:#d93025;min-height:1rem}.catalogo-form-error{padding:.75rem 1rem;background-color:#fce8e6;border:1px solid #f5c6cb;border-radius:6px;color:#d93025;font-size:.875rem}.catalogo-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid #f1f3f4}@media(max-width:640px){.catalogo-header-top{flex-direction:column;align-items:stretch}.catalogo-filters{flex-direction:column}.catalogo-filter-search{min-width:unset}.catalogo-form-row{grid-template-columns:1fr}.catalogo-table{font-size:.8rem}.catalogo-table th,.catalogo-table td{padding:.5rem .625rem}.catalogo-cell-actions{flex-direction:column;gap:.35rem}}.secuencias{max-width:800px;margin:0 auto}.secuencias-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.secuencias-header h2{font-size:1.5rem;font-weight:700;color:#213547}.secuencias-btn-add{padding:.5rem 1rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer}.secuencias-btn-add:hover{background-color:#1557b0}.secuencias-table{width:100%;border-collapse:collapse;font-size:.875rem}.secuencias-table th,.secuencias-table td{padding:.75rem;text-align:left;border-bottom:1px solid #e8eaed}.secuencias-table th{font-weight:600;color:#5f6368;background-color:#f8f9fa}.secuencias-badge{display:inline-block;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.secuencias-badge.active{background-color:#e6f4ea;color:#1e8e3e}.secuencias-badge.warning{background-color:#fef7e0;color:#e37400}.secuencias-badge.danger{background-color:#fce8e6;color:#d93025}.secuencias-empty{text-align:center;padding:3rem;color:#5f6368}.secuencias-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.secuencias-modal{background:#fff;border-radius:12px;padding:2rem;width:100%;max-width:480px;box-shadow:0 20px 60px #0000004d}.secuencias-modal h3{margin-bottom:1.5rem;font-size:1.25rem;color:#213547}.secuencias-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.secuencias-btn-cancel{padding:.5rem 1rem;background:none;border:1px solid #dadce0;border-radius:6px;cursor:pointer;color:#5f6368}.secuencias-btn-save{padding:.5rem 1rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.secuencias-btn-save:disabled{opacity:.6;cursor:not-allowed}.secuencias-progress{width:100%;height:6px;background-color:#e8eaed;border-radius:3px;overflow:hidden}.secuencias-progress-bar{height:100%;border-radius:3px;transition:width .3s}.facturas-recibidas{max-width:1000px;margin:0 auto;padding:2rem 1rem}.facturas-recibidas-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.facturas-recibidas-header h2{margin:0;color:#202124}.facturas-recibidas-btn-toggle{padding:.5rem 1rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem}.facturas-recibidas-btn-toggle:hover{background-color:#1557b0}.facturas-recibidas-form{background:#f8f9fa;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.facturas-recibidas-form h3{margin:0 0 1rem;font-size:1rem;color:#202124}.facturas-recibidas-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.facturas-recibidas-form-field label{display:block;font-size:.75rem;color:#5f6368;margin-bottom:.25rem}.facturas-recibidas-form-field input{width:100%;padding:.5rem;border:1px solid #dadce0;border-radius:4px;font-size:.85rem}.facturas-recibidas-form-actions{margin-top:1rem;display:flex;gap:.5rem}.facturas-recibidas-form-actions button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.facturas-recibidas-form-actions button[type=submit]{background-color:#1a73e8;color:#fff}.facturas-recibidas-form-actions button[type=button]{background-color:#fff;color:#5f6368;border:1px solid #dadce0}.facturas-recibidas-tabla{width:100%;border-collapse:collapse;font-size:.85rem}.facturas-recibidas-tabla th,.facturas-recibidas-tabla td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #e8eaed}.facturas-recibidas-tabla th{background-color:#f8f9fa;font-weight:600;color:#5f6368;font-size:.75rem;text-transform:uppercase}.facturas-recibidas-tabla tbody tr:hover{background-color:#f1f3f4}.estado-badge{display:inline-block;padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase}.estado-badge.pendiente{background-color:#fef7e0;color:#b06000}.estado-badge.aprobada{background-color:#e6f4ea;color:#1e8e3e}.estado-badge.rechazada{background-color:#fce8e6;color:#d93025}.facturas-recibidas-actions{display:flex;gap:.4rem}.facturas-recibidas-actions button{padding:.3rem .6rem;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500}.btn-aprobar{background-color:#1e8e3e;color:#fff}.btn-aprobar:hover{background-color:#137333}.btn-rechazar{background-color:#d93025;color:#fff}.btn-rechazar:hover{background-color:#b3261e}.facturas-recibidas-empty{text-align:center;color:#5f6368;padding:3rem 1rem}:root{--cert-ink: #24352d;--cert-muted: #637168;--cert-line: #dfe8e1;--cert-primary: #2f6849;--cert-primary-dark: #245539;--cert-accent: #2f8764;--cert-warn: #b9823b;--cert-slate: #5b6672;--cert-paper: #ffffff;--cert-soft: #f6f9f7}.certificacion{max-width:1180px;margin:0 auto;padding-bottom:3rem;color:var(--cert-ink)}.certificacion-header{position:relative;overflow:hidden;margin:0 -1rem 1.5rem;padding:2.25rem 2.25rem 1.75rem;border-radius:0 0 24px 24px;background:linear-gradient(120deg,#244d3a,#326d4f 58%,#4f8962);color:#fff}.certificacion-header:after{content:"";position:absolute;width:260px;height:260px;right:-65px;top:-110px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 28px #ffffff0a,0 0 0 58px #ffffff06}.certificacion-eyebrow{position:relative;z-index:1;margin-bottom:.7rem;color:#9edcc9;font-size:.7rem;font-weight:800;letter-spacing:.16em}.certificacion-header h2{position:relative;z-index:1;margin:0 0 .55rem;color:#fff;font-size:clamp(1.65rem,3vw,2.35rem);letter-spacing:-.04em}.certificacion-header p{position:relative;z-index:1;max-width:650px;margin:0;color:#d9e4f5;font-size:.92rem;line-height:1.5}.certificacion-header-meta{position:relative;z-index:1;display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1.35rem;color:#b9c9e0;font-size:.76rem}.certificacion-header-meta span{display:inline-flex;align-items:center;gap:.45rem}.certificacion-status-dot{width:7px;height:7px;border-radius:50%;background:#62d4ad;box-shadow:0 0 0 4px #62d4ad29}.certificacion-panel{position:relative;margin:0 0 1.25rem;padding:1.4rem;border:1px solid var(--cert-line);border-radius:18px;background:var(--cert-paper);box-shadow:0 8px 24px #1720330b}.certificacion-panel:before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:0 4px 4px 0;background:var(--cert-primary)}.certificacion-panel--official:before{background:var(--cert-primary)}.certificacion-panel--commercial:before{background:var(--cert-warn)}.certificacion-panel--simulation:before{background:var(--cert-accent)}.certificacion-panel--tools:before{background:var(--cert-slate)}.certificacion-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.certificacion-panel-step{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.45rem;padding:.28rem .6rem;border-radius:999px;background:#e8f4ec;color:var(--cert-primary);font-size:.66rem;font-weight:800;letter-spacing:.12em}.certificacion-panel-head h3{margin:0 0 .45rem;color:var(--cert-ink);font-size:1.05rem;letter-spacing:-.02em}.certificacion-panel-head p{margin:0;max-width:660px;color:var(--cert-muted);font-size:.85rem;line-height:1.55}.certificacion-hint{display:block;margin:0 0 1rem;color:var(--cert-muted);font-size:.74rem;line-height:1.5}.certificacion-stepper{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;padding:.85rem;border:1px solid #e8efea;border-radius:12px;background:var(--cert-soft)}.certificacion-stepper-item{display:flex;flex-direction:column;gap:.3rem;min-width:235px;max-width:100%}.certificacion-stepper-item label{color:var(--cert-muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.certificacion-stepper-num{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:#dfeee4;color:var(--cert-primary);font-size:.68rem;font-weight:800}.certificacion-panel input[type=file]{min-width:235px;max-width:100%;padding:.52rem .65rem;border:1px dashed #b9c8be;border-radius:9px;background:#fff;color:var(--cert-muted);font-size:.78rem}.certificacion-btn-ejecutar{min-height:36px;padding:.55rem .95rem;border:none;border-radius:8px;background:var(--cert-primary);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:background .2s,transform .1s,box-shadow .2s}.certificacion-btn-ejecutar:hover:not(:disabled){background:var(--cert-primary-dark);transform:translateY(-1px)}.certificacion-btn-ejecutar:disabled{opacity:.55;cursor:not-allowed;transform:none}.certificacion-btn-ejecutar .certificacion-stepper-num{background:#ffffff38;color:#fff}.certificacion-btn--primary{background:#1f4d34;box-shadow:0 4px 12px #1f4d3447}.certificacion-btn--primary:hover:not(:disabled){background:#173d28}.certificacion-btn--ghost{background:#eef2ef;color:#43534a;border:1px solid #d3ddd6}.certificacion-btn--ghost:hover:not(:disabled){background:#e3eae5;transform:translateY(-1px)}.certificacion-btn-actualizar{padding:.6rem 1.1rem;border:none;border-radius:8px;background:var(--cert-primary);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:background .2s,transform .1s}.certificacion-btn-actualizar:hover:not(:disabled){background:var(--cert-primary-dark);transform:translateY(-1px)}.certificacion-btn-actualizar:disabled{opacity:.55;cursor:not-allowed}.certificacion-btn-reiniciar{padding:.6rem 1.1rem;border:1px solid #d3ddd6;border-radius:8px;background:#fff;color:var(--cert-muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s}.certificacion-btn-reiniciar:hover:not(:disabled){background:var(--cert-soft)}.certificacion-btn-reiniciar:disabled{opacity:.5;cursor:not-allowed}.certificacion button:focus-visible,.certificacion input:focus-visible,.certificacion a:focus-visible{outline:3px solid #8fc5a2;outline-offset:2px}.certificacion-nota{margin-top:.85rem;padding:.65rem .85rem;border-radius:9px;font-size:.78rem;line-height:1.5}.certificacion-nota--warn{border:1px solid #f3e2c3;background:#fff8ec;color:#8a5a12}.certificacion-envio-progreso{flex:1 1 100%;padding:.7rem .85rem;border:1px solid #cfe0d8;border-radius:9px;background:#f0f7f3;color:var(--cert-primary);font-size:.78rem}.certificacion-orden-dgii{margin-top:1.1rem;padding:.65rem .85rem;border:1px dashed #c3d4c9;border-radius:9px;background:#fbfdfc;color:var(--cert-muted);font-size:.74rem}.certificacion-integrador-info{margin-bottom:1.25rem;padding:.85rem 1rem;border:1px solid #cfe0d8;border-radius:10px;background:#f0f7f3}.certificacion-integrador-info p{margin:0;color:var(--cert-primary);font-size:.85rem;line-height:1.5}.certificacion-set-resumen{margin-top:1.1rem;display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}.certificacion-set-chip{display:inline-flex;flex-direction:column;gap:.1rem;padding:.5rem .8rem;border:1px solid var(--cert-line);border-radius:10px;background:#fbfdfc}.certificacion-set-chip-label{color:var(--cert-muted);font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.certificacion-set-chip strong{color:var(--cert-ink);font-size:.82rem;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.certificacion-casos{flex:1 1 100%;display:grid;gap:.7rem;margin-top:.4rem}.certificacion-caso{padding:.9rem 1rem;border:1px solid #f0d4d2;border-left:3px solid #d84b4b;border-radius:12px;background:#fffdfd;transition:box-shadow .15s ease}.certificacion-caso:hover{box-shadow:0 4px 14px #1720330f}.certificacion-caso.valido{border-color:#cbe9de;border-left-color:var(--cert-accent);background:#fbfffd}.certificacion-caso-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.certificacion-caso-info{display:flex;flex-direction:column;gap:.3rem;line-height:1.45}.certificacion-encf{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.84rem;font-weight:700;color:var(--cert-ink);letter-spacing:.02em}.certificacion-caso-tipo{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;color:var(--cert-muted);font-size:.74rem}.certificacion-destino{display:inline-flex;padding:.1rem .45rem;border-radius:999px;background:#eef2ef;color:#43534a;font-size:.66rem;font-weight:600}.certificacion-caso-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.certificacion-caso-actions button{padding:.34rem .6rem;border:1px solid #d9e2db;border-radius:7px;background:#fff;color:var(--cert-primary);font-size:.7rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.certificacion-caso-actions button:hover:not(:disabled){border-color:#b9d2c2;background:#f2f8f4}.certificacion-caso-actions button:disabled{opacity:.5;cursor:not-allowed}.certificacion-caso-meta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.45rem}.certificacion-caso small{display:block;margin-top:.35rem;color:#78837b;font-size:.72rem}.certificacion-caso-meta small{margin-top:0}.certificacion-caso small a{color:var(--cert-primary);font-weight:700;text-decoration:none}.certificacion-caso small a:hover{text-decoration:underline}.certificacion-track-id{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.75rem;color:var(--cert-muted)}.certificacion-badge{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;padding:.22rem .6rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em}.certificacion-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.certificacion-badge--ok{background:#e6f4ea;color:#1e6b46}.certificacion-badge--warn{background:#fef7e0;color:#8a5a12}.certificacion-badge--err{background:#fce8e6;color:#b3261e}.certificacion-badge--neutral{background:#eef1f5;color:#5b6672}.certificacion-simulacion-grupo{flex:1 1 100%;margin-top:.9rem;padding:.9rem;border:1px solid #e4eee9;border-radius:14px;background:#fcfefd}.certificacion-grupo-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.certificacion-simulacion-grupo h4{margin:0;color:#286447;font-size:.83rem;letter-spacing:.01em}.certificacion-grupo-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 .4rem;border-radius:999px;background:#dfeee4;color:var(--cert-primary);font-size:.7rem;font-weight:800}.certificacion-errores{margin:.45rem 0 0;padding-left:1.25rem;color:#b3261e;font-size:.78rem;line-height:1.4}div.certificacion-errores{padding-left:0}.certificacion-ok{color:#137333!important}.certificacion-error{color:#d93025;font-size:.75rem;max-width:300px;word-break:break-word}.certificacion-requisito{color:#e37400;font-size:.75rem;font-style:italic}.certificacion-tabs{display:flex;gap:.3rem;width:fit-content;max-width:100%;margin:0 0 1.25rem;padding:.3rem;border:1px solid var(--cert-line);border-radius:12px;background:#eef3f0}.certificacion-tab{padding:.6rem 1.1rem;border:0;border-radius:9px;background:transparent;color:#5b6b60;font-size:.8rem;font-weight:600;cursor:pointer;transition:color .2s,background .2s}.certificacion-tab:hover{color:var(--cert-ink)}.certificacion-tab.active{background:#fff;color:var(--cert-ink);box-shadow:0 2px 8px #17203314}.certificacion-content{animation:certFadeIn .2s ease}@keyframes certFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.certificacion-modo-desc{margin:0 0 1.25rem;color:var(--cert-muted);font-size:.85rem;line-height:1.4}.certificacion-actions{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap}.certificacion-progress-section{margin-bottom:1.5rem}.certificacion-progress-bar-container{width:100%;height:8px;background:#e6ece8;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.certificacion-progress-bar{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--cert-primary),var(--cert-accent));transition:width .3s ease}.certificacion-progress-text{font-size:.8rem;color:var(--cert-muted)}.certificacion-progress-inline{flex:1 1 260px;min-width:240px}.certificacion-resumen{display:flex;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background:var(--cert-soft);border:1px solid #e8efea;border-radius:10px}.certificacion-resumen-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500}.certificacion-resumen-item .count{font-size:1.25rem;font-weight:700}.certificacion-resumen-item.exitosos .count{color:#1e8e3e}.certificacion-resumen-item.fallidos .count{color:#d93025}.certificacion-resumen-item.omitidos .count{color:#e37400}.certificacion-duracion{font-size:.8rem;color:var(--cert-muted);margin-left:auto;align-self:center}.certificacion-tabla{width:100%;border-collapse:collapse;font-size:.85rem}.certificacion-tabla th,.certificacion-tabla td{padding:.7rem .6rem;text-align:left;border-bottom:1px solid #edf1ee}.certificacion-tabla th{background:var(--cert-soft);color:var(--cert-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.certificacion-tabla tr{transition:background-color .2s}.certificacion-tabla tbody tr:hover{background:#fafcfb}.certificacion-tabla tr.animating{background:#e8f4ec}.certificacion-tabla tr.integrador-completado{background:#f2faf5}.certificacion-paso-numero{width:30px;text-align:center;font-weight:700;color:var(--cert-ink)}.certificacion-estado-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.certificacion-estado-badge.exitoso{background:#e6f4ea;color:#1e8e3e}.certificacion-estado-badge.fallido{background:#fce8e6;color:#d93025}.certificacion-estado-badge.omitido{background:#fef7e0;color:#e37400}.certificacion-estado-badge.pendiente{background:#f1f3f4;color:#80868b}.certificacion-empty{padding:3rem;text-align:center;color:var(--cert-muted)}.certificacion-empty p{margin-bottom:.5rem}.certificacion-xml-preview{max-height:65vh;overflow:auto;padding:1rem;text-align:left;white-space:pre-wrap;word-break:break-word;background:#f8faf9;border:1px solid var(--cert-line);border-radius:8px;font-size:.75rem}@media(max-width:768px){.certificacion{padding:0 .8rem 2rem}.certificacion-header{margin:0 -.8rem 1.1rem;padding:1.6rem 1.2rem 1.35rem;border-radius:0 0 18px 18px}.certificacion-header-meta{flex-direction:column;gap:.65rem}.certificacion-panel{padding:1rem}.certificacion-panel-head{flex-direction:column;align-items:flex-start;gap:.75rem}.certificacion-stepper{align-items:stretch;flex-direction:column}.certificacion-stepper-item{min-width:0}.certificacion-panel input[type=file],.certificacion-btn-ejecutar{width:100%;min-width:0;justify-content:center}.certificacion-caso-header{display:block}.certificacion-caso-actions{justify-content:flex-start;margin-top:.65rem}.certificacion-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.certificacion-tab{width:100%;padding:.65rem .35rem}.certificacion-tabla{font-size:.75rem}.certificacion-tabla th,.certificacion-tabla td{padding:.5rem .25rem}.certificacion-resumen{flex-wrap:wrap;gap:1rem}.certificacion-actions{flex-direction:column;align-items:stretch}}.usuarios{max-width:960px;margin:0 auto}.usuarios-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.usuarios-header h2{font-size:1.5rem;font-weight:700;color:#213547;margin-bottom:.5rem}.usuarios-header p{color:#5f6368;font-size:.95rem}.usuarios-access-denied{text-align:center;padding:4rem 2rem;color:#5f6368}.usuarios-access-denied h2{font-size:1.5rem;color:#d93025;margin-bottom:.75rem}.usuarios-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#5f6368;font-size:.95rem}.usuarios-spinner{width:20px;height:20px;border:2px solid #dadce0;border-top-color:#1a73e8;border-radius:50%;animation:usuarios-spin .8s linear infinite}@keyframes usuarios-spin{to{transform:rotate(360deg)}}.usuarios-empty{text-align:center;padding:3rem 1.5rem;color:#5f6368}.usuarios-table-wrapper{overflow-x:auto;border:1px solid #dadce0;border-radius:6px}.usuarios-table{width:100%;border-collapse:collapse;font-size:.875rem}.usuarios-table thead{background-color:#f8f9fa}.usuarios-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#213547;border-bottom:1px solid #dadce0;white-space:nowrap}.usuarios-table td{padding:.75rem 1rem;color:#213547;border-bottom:1px solid #f1f3f4;vertical-align:middle}.usuarios-table tbody tr:last-child td{border-bottom:none}.usuarios-table tbody tr:hover{background-color:#f8f9fa}.usuarios-row-inactive{opacity:.6}.usuarios-cell-name{font-weight:500}.usuarios-cell-email{color:#5f6368}.usuarios-cell-date{white-space:nowrap;color:#5f6368;font-size:.8rem}.usuarios-cell-actions{display:flex;gap:.5rem;white-space:nowrap}.usuarios-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize}.usuarios-badge-admin{background-color:#e8f0fe;color:#1a73e8}.usuarios-badge-facturador{background-color:#e6f4ea;color:#137333}.usuarios-badge-lector{background-color:#f1f3f4;color:#5f6368}.usuarios-badge-activo{background-color:#e6f4ea;color:#137333}.usuarios-badge-inactivo{background-color:#f1f3f4;color:#5f6368}.usuarios-btn-primary{padding:.625rem 1.25rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s;white-space:nowrap}.usuarios-btn-primary:hover:not(:disabled){background-color:#1557b0}.usuarios-btn-primary:disabled{opacity:.6;cursor:not-allowed}.usuarios-btn-cancel{padding:.625rem 1.25rem;background-color:#fff;color:#5f6368;border:1px solid #dadce0;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.usuarios-btn-cancel:hover:not(:disabled){background-color:#f1f3f4}.usuarios-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.usuarios-btn-edit{padding:.35rem .75rem;background-color:#fff;color:#1a73e8;border:1px solid #1a73e8;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.usuarios-btn-edit:hover{background-color:#e8f0fe}.usuarios-btn-deactivate{padding:.35rem .75rem;background-color:#fff;color:#d93025;border:1px solid #d93025;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.usuarios-btn-deactivate:hover{background-color:#fce8e6}.usuarios-btn-activate{padding:.35rem .75rem;background-color:#fff;color:#1e8e3e;border:1px solid #1e8e3e;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.usuarios-btn-activate:hover{background-color:#e6f4ea}.usuarios-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.usuarios-modal{background-color:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.usuarios-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #dadce0}.usuarios-modal-header h3{font-size:1.1rem;font-weight:600;color:#213547}.usuarios-modal-close{padding:.35rem .6rem;background:none;border:1px solid #dadce0;border-radius:4px;color:#5f6368;font-size:.9rem;cursor:pointer;transition:background-color .2s}.usuarios-modal-close:hover{background-color:#f1f3f4}.usuarios-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.usuarios-form-field{display:flex;flex-direction:column;gap:.3rem}.usuarios-form-field label{font-size:.875rem;font-weight:500;color:#213547}.usuarios-form-field input,.usuarios-form-field select{padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.95rem;font-family:inherit;color:#213547;background-color:#fff;transition:border-color .2s}.usuarios-form-field input:focus,.usuarios-form-field select:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.usuarios-form-static{font-size:.9rem;color:#5f6368;padding:.5rem 0;margin:0}.usuarios-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid #f1f3f4}@media(max-width:640px){.usuarios-header{flex-direction:column;align-items:stretch}.usuarios-table{font-size:.8rem}.usuarios-table th,.usuarios-table td{padding:.5rem .625rem}.usuarios-cell-actions{flex-direction:column;gap:.35rem}}.apikeys{max-width:960px;margin:0 auto}.apikeys-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.apikeys-header h2{font-size:1.5rem;font-weight:700;color:#213547;margin-bottom:.5rem}.apikeys-header p{color:#5f6368;font-size:.95rem}.apikeys-warning{background-color:#fef7e0;border:1px solid #fdd663;border-radius:6px;padding:.75rem 1rem;font-size:.875rem;color:#e37400;margin-bottom:1.5rem}.apikeys-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#5f6368;font-size:.95rem}.apikeys-spinner{width:20px;height:20px;border:2px solid #dadce0;border-top-color:#1a73e8;border-radius:50%;animation:apikeys-spin .8s linear infinite}@keyframes apikeys-spin{to{transform:rotate(360deg)}}.apikeys-empty{text-align:center;padding:3rem 1.5rem;color:#5f6368}.apikeys-empty p{margin-bottom:.5rem}.apikeys-table-wrapper{border:1px solid #dadce0;border-radius:6px;overflow:hidden}.apikeys-table{width:100%;border-collapse:collapse;font-size:.875rem}.apikeys-table thead{background-color:#f8f9fa}.apikeys-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#213547;border-bottom:1px solid #dadce0;white-space:nowrap}.apikeys-table td{padding:.75rem 1rem;color:#213547;border-bottom:1px solid #f1f3f4;vertical-align:middle}.apikeys-table tbody tr:last-child td{border-bottom:none}.apikeys-table tbody tr:hover:not(.apikeys-detail-row){background-color:#f8f9fa}.apikeys-row-inactive{opacity:.6}.apikeys-row-expanded{background-color:#f8f9fa}.apikeys-cell-name{font-weight:500}.apikeys-cell-actions{display:flex;gap:.5rem;white-space:nowrap}.apikeys-detail-row td{padding:0;border-bottom:1px solid #dadce0}.apikeys-detail-panel{padding:1rem 1.5rem;background-color:#fafbfc;border-top:1px solid #e8eaed;display:flex;flex-direction:column;gap:.75rem}.apikeys-detail-item{display:flex;align-items:flex-start;gap:1rem}.apikeys-detail-label{font-size:.8rem;font-weight:600;color:#5f6368;min-width:80px;padding-top:.15rem}.apikeys-detail-value{font-size:.875rem;color:#213547}.apikeys-detail-scopes{display:flex;flex-wrap:wrap;gap:.35rem}.apikeys-key-hidden,.apikeys-key-revealed{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.apikeys-key-dots{font-family:monospace;font-size:.8rem;color:#5f6368;letter-spacing:1px}.apikeys-key-value{font-size:.8rem;background-color:#fff;padding:.35rem .6rem;border-radius:4px;border:1px solid #dadce0;word-break:break-all;display:inline-block}.apikeys-btn-reveal{padding:.3rem .6rem;background-color:#fff;color:#1a73e8;border:1px solid #1a73e8;border-radius:4px;font-size:.75rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s;white-space:nowrap}.apikeys-btn-reveal:hover{background-color:#e8f0fe}.apikeys-btn-copy{padding:.3rem .6rem;background-color:#fff;color:#137333;border:1px solid #137333;border-radius:4px;font-size:.75rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s;white-space:nowrap}.apikeys-btn-copy:hover{background-color:#e6f4ea}.apikeys-scope-chip{display:inline-block;padding:.2rem .55rem;background-color:#e8f0fe;color:#1a73e8;border-radius:12px;font-size:.7rem;font-weight:500;white-space:nowrap}.apikeys-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500}.apikeys-badge-activo{background-color:#e6f4ea;color:#137333}.apikeys-badge-inactivo{background-color:#f1f3f4;color:#5f6368}.apikeys-btn-primary{padding:.625rem 1.25rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s;white-space:nowrap}.apikeys-btn-primary:hover:not(:disabled){background-color:#1557b0}.apikeys-btn-primary:disabled{opacity:.6;cursor:not-allowed}.apikeys-btn-cancel{padding:.625rem 1.25rem;background-color:#fff;color:#5f6368;border:1px solid #dadce0;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.apikeys-btn-cancel:hover:not(:disabled){background-color:#f1f3f4}.apikeys-btn-cancel:disabled{opacity:.5;cursor:not-allowed}.apikeys-btn-rotate{padding:.35rem .75rem;background-color:#fff;color:#e37400;border:1px solid #e37400;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.apikeys-btn-rotate:hover{background-color:#fef7e0}.apikeys-btn-revoke{padding:.35rem .75rem;background-color:#fff;color:#d93025;border:1px solid #d93025;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.apikeys-btn-revoke:hover{background-color:#fce8e6}.apikeys-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.apikeys-modal{background-color:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.apikeys-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #dadce0}.apikeys-modal-header h3{font-size:1.1rem;font-weight:600;color:#213547}.apikeys-modal-close{padding:.35rem .6rem;background:none;border:1px solid #dadce0;border-radius:4px;color:#5f6368;font-size:.9rem;cursor:pointer;transition:background-color .2s}.apikeys-modal-close:hover{background-color:#f1f3f4}.apikeys-form{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.apikeys-form-field{display:flex;flex-direction:column;gap:.3rem}.apikeys-form-field>label{font-size:.875rem;font-weight:500;color:#213547}.apikeys-form-field input[type=text]{padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.95rem;font-family:inherit;color:#213547;background-color:#fff;transition:border-color .2s}.apikeys-form-field input[type=text]:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.apikeys-scopes-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem}.apikeys-scope-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid #dadce0;border-radius:6px;cursor:pointer;transition:border-color .2s,background-color .2s}.apikeys-scope-checkbox:hover{background-color:#f8f9fa}.apikeys-scope-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#1a73e8;cursor:pointer}.apikeys-scope-label{font-size:.8rem;font-family:monospace;color:#213547}.apikeys-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid #f1f3f4}@media(max-width:640px){.apikeys-header{flex-direction:column;align-items:stretch}.apikeys-scopes-grid{grid-template-columns:1fr}.apikeys-detail-item{flex-direction:column;gap:.25rem}.apikeys-detail-label{min-width:unset}.apikeys-cell-actions{flex-direction:column;gap:.35rem}}.doc-page{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#213547;line-height:1.7}.doc-header{text-align:center;margin-bottom:2.5rem}.doc-header h1{font-size:2.2rem;color:#1a73e8;margin-bottom:.3rem}.doc-header .doc-subtitle{font-size:1.15rem;color:#555;margin-bottom:1.5rem}.doc-callout{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50;border-radius:12px;padding:1.2rem 1.5rem;font-size:1rem;font-weight:500;color:#1b5e20;text-align:left;line-height:1.6}.doc-callout .callout-icon{font-size:1.3rem;margin-right:.4rem}.doc-section{margin-bottom:3rem}.doc-section h2{font-size:1.5rem;color:#1a73e8;border-bottom:2px solid #e3f2fd;padding-bottom:.4rem;margin-bottom:1.2rem}.doc-section h3{font-size:1.15rem;color:#333;margin-top:1.5rem;margin-bottom:.6rem}.doc-timeline{display:flex;align-items:center;justify-content:center;gap:0;margin:2rem 0;flex-wrap:wrap}.doc-step{display:flex;align-items:center;gap:.6rem;background:#e3f2fd;border-radius:30px;padding:.6rem 1.2rem;font-weight:600;color:#1a73e8;font-size:.95rem}.doc-step-number{background:#1a73e8;color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.doc-step-arrow{font-size:1.4rem;color:#90caf9;margin:0 .3rem}.doc-code{background:#1e1e2e;color:#cdd6f4;border-radius:10px;padding:1.2rem 1.5rem;overflow-x:auto;font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:.85rem;line-height:1.6;margin:.8rem 0 1.2rem}.doc-code .code-comment{color:#6c7086}.doc-code .code-key{color:#89b4fa}.doc-code .code-string{color:#a6e3a1}.doc-code .code-number{color:#fab387}.doc-code .code-method{color:#f38ba8;font-weight:700}.doc-code .code-url{color:#94e2d5}.doc-endpoint{border:1px solid #e0e0e0;border-radius:10px;margin-bottom:1.5rem;overflow:hidden}.doc-endpoint-header{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.2rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0}.doc-endpoint-method{background:#1a73e8;color:#fff;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:700;font-family:monospace}.doc-endpoint-method.post{background:#4caf50}.doc-endpoint-method.get{background:#1a73e8}.doc-endpoint-path{font-family:monospace;font-size:.9rem;color:#333}.doc-endpoint-desc{font-size:.85rem;color:#666;margin-left:auto}.doc-endpoint .doc-code{margin:0;border-radius:0}.doc-table-wrapper{overflow-x:auto;margin:1rem 0}.doc-table{width:100%;border-collapse:collapse;font-size:.9rem}.doc-table th{background:#1a73e8;color:#fff;padding:.7rem 1rem;text-align:left;font-weight:600}.doc-table td{padding:.6rem 1rem;border-bottom:1px solid #e0e0e0}.doc-table tr:nth-child(2n){background:#f8f9fa}.doc-table tr:hover{background:#e3f2fd}.doc-table code{background:#f1f3f4;padding:.15rem .4rem;border-radius:4px;font-size:.82rem}.doc-list{list-style:none;padding:0}.doc-list li{padding:.5rem 0 .5rem 1.8rem;position:relative}.doc-list li:before{content:"✓";position:absolute;left:0;color:#4caf50;font-weight:700}.doc-note{background:#e3f2fd;border-left:4px solid #1a73e8;border-radius:0 8px 8px 0;padding:1rem 1.2rem;margin:1rem 0;font-size:.9rem}.doc-note strong{color:#1a73e8}@media(max-width:768px){.doc-page{padding:1rem}.doc-header h1{font-size:1.6rem}.doc-timeline{flex-direction:column;gap:.5rem}.doc-step-arrow{transform:rotate(90deg)}.doc-endpoint-header{flex-wrap:wrap}.doc-endpoint-desc{margin-left:0;width:100%;margin-top:.3rem}.doc-code{font-size:.78rem;padding:.8rem 1rem}.doc-table{font-size:.8rem}.doc-table th,.doc-table td{padding:.5rem .6rem}}.doc-download-section{background:linear-gradient(135deg,#f3e5f5,#e8eaf6);border:1px solid #ce93d8;border-radius:12px;padding:1.5rem;margin-bottom:3rem;text-align:center}.doc-download-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:.8rem}.doc-download-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s}.doc-download-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.doc-download-btn.postman{background:#ff6c37;color:#fff}.doc-download-btn.swagger{background:#49cc90;color:#fff}.doc-download-hint{font-size:.85rem;color:#666;margin:0}.doc-playground{background:#f0f4f8;border:2px solid #90caf9;border-radius:14px;padding:2rem;margin-top:3rem;margin-bottom:2rem}.doc-playground h2{font-size:1.5rem;color:#1a73e8;margin-bottom:.4rem}.doc-playground-subtitle{color:#555;font-size:.95rem;margin-bottom:1.5rem}.doc-playground-apikey{margin-bottom:1.5rem}.doc-playground-apikey label{display:block;font-weight:600;margin-bottom:.4rem;color:#333}.doc-playground-apikey input{width:100%;padding:.7rem 1rem;border:2px solid #ccc;border-radius:8px;font-size:.95rem;font-family:monospace;box-sizing:border-box;transition:border-color .2s}.doc-playground-apikey input:focus{outline:none;border-color:#1a73e8}.doc-playground-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.doc-playground-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .15s}.doc-playground-tab:hover{border-color:#1a73e8}.doc-playground-tab.active{background:#1a73e8;color:#fff;border-color:#1a73e8}.doc-playground-tab.active .tab-method{background:#ffffff40;color:#fff}.tab-method{font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:3px;font-family:monospace}.tab-method.post{background:#c8e6c9;color:#2e7d32}.tab-method.get{background:#bbdefb;color:#1565c0}.doc-playground-panel{background:#fff;border-radius:10px;padding:1.5rem;border:1px solid #e0e0e0}.doc-playground-request-info{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid #eee}.doc-playground-params{margin-bottom:1rem}.doc-playground-param{display:flex;align-items:center;gap:.8rem;margin-bottom:.5rem}.doc-playground-param label{font-weight:600;font-family:monospace;font-size:.9rem;min-width:50px;color:#1a73e8}.doc-playground-param input{flex:1;padding:.5rem .8rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;font-family:monospace}.doc-playground-param input:focus{outline:none;border-color:#1a73e8}.doc-playground-editor{margin-bottom:1rem}.doc-playground-editor label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.4rem;color:#555}.doc-playground-editor textarea{width:100%;padding:1rem;border:1px solid #ddd;border-radius:8px;font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:.82rem;line-height:1.5;resize:vertical;box-sizing:border-box;background:#fafafa}.doc-playground-editor textarea:focus{outline:none;border-color:#1a73e8;background:#fff}.doc-playground-send{background:#1a73e8;color:#fff;border:none;padding:.7rem 2rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.doc-playground-send:hover:not(:disabled){background:#1557b0;transform:translateY(-1px)}.doc-playground-send:disabled{background:#aaa;cursor:not-allowed}.doc-playground-warning{color:#e65100;font-size:.85rem;margin-top:.5rem}.doc-playground-response{margin-top:1.5rem;border-radius:8px;overflow:hidden;border:1px solid #333}.doc-playground-response-header{background:#2d2d2d;padding:.6rem 1rem;display:flex;align-items:center}.status-badge{font-size:.8rem;font-weight:700;padding:.2rem .7rem;border-radius:4px;font-family:monospace}.status-badge.success{background:#4caf50;color:#fff}.status-badge.error{background:#f44336;color:#fff}.doc-playground-response-body{background:#1e1e2e;color:#cdd6f4;padding:1.2rem 1.5rem;margin:0;font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:.82rem;line-height:1.6;overflow-x:auto;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}@media(max-width:768px){.doc-playground{padding:1rem}.doc-playground-tabs{flex-direction:column}.doc-playground-tab{width:100%;justify-content:flex-start}.doc-playground-panel{padding:1rem}.doc-download-buttons{flex-direction:column;align-items:center}.doc-playground-param{flex-direction:column;align-items:flex-start}.doc-playground-param input{width:100%}}.miplan-page{max-width:960px;margin:0 auto;padding:2rem 1rem}.miplan-header{text-align:center;margin-bottom:2.5rem}.miplan-header h2{font-size:1.75rem;font-weight:700;color:#213547;margin-bottom:.5rem}.miplan-header p{color:#5f6368;font-size:1rem}.miplan-loading,.miplan-error{text-align:center;padding:3rem;font-size:1rem}.miplan-error{color:#d93025}.miplan-current{background:linear-gradient(135deg,#e8f0fe,#f8fbff);border:2px solid #1a73e8;border-radius:12px;padding:1.5rem 2rem;margin-bottom:2.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.miplan-current-info h3{font-size:1.25rem;font-weight:600;color:#213547;margin-bottom:.25rem}.miplan-current-details{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:.5rem}.miplan-current-details span{font-size:.9rem;color:#3c4043}.miplan-current-price{font-size:1.75rem;font-weight:700;color:#1a73e8}.miplan-current-price small{font-size:.85rem;font-weight:400;color:#5f6368}.miplan-badge-api{display:inline-block;background:#34a853;color:#fff;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-left:.5rem;vertical-align:middle}.miplan-badge-no-api{display:inline-block;background:#dadce0;color:#5f6368;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-left:.5rem;vertical-align:middle}.miplan-section{margin-bottom:3rem}.miplan-section-header{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e8eaed}.miplan-section-header h3{font-size:1.25rem;font-weight:600;color:#213547;margin-bottom:.25rem}.miplan-section-header p{color:#5f6368;font-size:.9rem}.miplan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.5rem;align-items:stretch}.miplan-card{position:relative;display:flex;flex-direction:column;padding:2rem 1.5rem;background:#fff;border:1px solid #dadce0;border-radius:12px;transition:box-shadow .2s,transform .2s}.miplan-card:hover{box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.miplan-card--current{border-color:#1a73e8;border-width:2px;box-shadow:0 4px 16px #1a73e826}.miplan-card--api{background:linear-gradient(135deg,#f8fbff,#fff);border-color:#4285f4}.miplan-card-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#1a73e8;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.miplan-card-badge--current{background:#34a853}.miplan-card-nombre{font-size:1.25rem;font-weight:600;color:#213547;text-align:center;margin-bottom:1rem}.miplan-card-precio{text-align:center;margin-bottom:1.5rem}.miplan-card-precio-valor{font-size:2rem;font-weight:700;color:#213547}.miplan-card-precio-periodo{font-size:.9rem;color:#5f6368}.miplan-card-features{list-style:none;padding:0;margin:0 0 1.5rem;flex:1}.miplan-card-features li{padding:.5rem 0;font-size:.9rem;color:#3c4043;border-bottom:1px solid #f1f3f4}.miplan-card-features li:last-child{border-bottom:none}.miplan-btn{width:100%;padding:.75rem 1rem;border:1px solid #1a73e8;border-radius:6px;font-size:.95rem;font-weight:500;font-family:inherit;cursor:pointer;background:#fff;color:#1a73e8;transition:background-color .2s,color .2s}.miplan-btn:hover{background:#f1f7fe}.miplan-btn--primary{background:#1a73e8;color:#fff;border-color:#1a73e8}.miplan-btn--primary:hover{background:#1557b0}.miplan-btn--disabled{background:#f1f3f4;color:#80868b;border-color:#dadce0;cursor:not-allowed}.miplan-btn--disabled:hover{background:#f1f3f4}.miplan-no-plan{text-align:center;padding:2rem;background:#fff3e0;border-radius:8px;color:#e37400;margin-bottom:2rem}.dash{--d-ink: #0f1b2d;--d-ink-2: #334155;--d-muted: #64748b;--d-line: #e6eaf0;--d-surface: #ffffff;--d-soft: #f4f7f9;--d-brand: #008c6a;--d-brand-soft: #e3f4ef;--d-ok: #059669;--d-ok-soft: #ecfdf5;--d-warn: #b45309;--d-warn-soft: #fff7e6;--d-error: #dc2626;--d-error-soft: #fef2f2;--d-radius: 16px;--d-shadow: 0 1px 2px rgba(15, 27, 45, .04), 0 4px 16px rgba(15, 27, 45, .05);display:flex;flex-direction:column;gap:1.5rem;color:var(--d-ink);animation:dashIn .35s ease-out}@keyframes dashIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dash svg{width:1.15em;height:1.15em;flex-shrink:0}.dash .hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:1.75rem 2rem;border-radius:20px;color:#fff;background:radial-gradient(circle at 88% -20%,rgba(0,140,106,.55),transparent 45%),radial-gradient(circle at 10% 130%,rgba(37,99,235,.25),transparent 40%),linear-gradient(120deg,#0f1b2d,#123d37);box-shadow:0 10px 30px #0f1b2d2e}.dash .hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:linear-gradient(90deg,transparent 40%,#000);mask-image:linear-gradient(90deg,transparent 40%,#000);pointer-events:none}.dash .hero-identity{position:relative;z-index:1;display:flex;align-items:center;gap:1.25rem;min-width:0}.dash .hero-avatar{flex-shrink:0;display:grid;place-items:center;width:64px;height:64px;border-radius:18px;font-size:1.4rem;font-weight:700;letter-spacing:.02em;background:linear-gradient(145deg,#00a57d,#006e53);border:1px solid rgba(255,255,255,.25);box-shadow:inset 0 1px #ffffff40,0 6px 16px #00000040}.dash .hero-text{display:flex;flex-direction:column;gap:.35rem;min-width:0}.dash .hero-eyebrow{font-size:.8rem;font-weight:500;color:#ffffffb3}.dash .hero-title{margin:0;font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:700;line-height:1.15;letter-spacing:-.01em;overflow-wrap:anywhere}.dash .hero-legal{font-size:.8rem;color:#fff9}.dash .hero-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.15rem}.dash .chip{display:inline-flex;align-items:center;gap:.4rem;padding:.22rem .65rem;border-radius:999px;font-size:.75rem;font-weight:500;color:#ffffffeb;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-variant-numeric:tabular-nums}.dash .chip-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #ffffff1f}.dash .chip--prod{color:#6ee7b7}.dash .chip--cert{color:#fcd34d}.dash .chip--test{color:#93c5fd}.dash .hero-actions{position:relative;z-index:1;display:flex;gap:.6rem;flex-wrap:wrap}.dash .btn{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1.1rem;border-radius:12px;border:1px solid transparent;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.dash .btn:active{transform:translateY(1px)}.dash .btn--primary{background:#00a57d;color:#fff;box-shadow:0 4px 14px #00a57d59}.dash .btn--primary:hover{background:#00b98c}.dash .btn--ghost{background:#ffffff14;color:#fff;border-color:#ffffff38}.dash .btn--ghost:hover{background:#ffffff29}.dash .btn--soft{background:var(--d-brand-soft);color:var(--d-brand)}.dash .btn--soft:hover{background:#d2ede5}.dash .btn:focus-visible,.dash .shortcut:focus-visible,.dash .recent-row:focus-visible,.dash .panel-link:focus-visible{outline:2px solid var(--d-brand);outline-offset:2px}.dash .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.dash .kpi{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.25rem 1.35rem;background:var(--d-surface);border:1px solid var(--d-line);border-radius:var(--d-radius);box-shadow:var(--d-shadow);transition:transform .15s ease,box-shadow .2s ease}.dash .kpi:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0f1b2d0d,0 12px 28px #0f1b2d14}.dash .kpi-main{display:flex;flex-direction:column;gap:.3rem;min-width:0}.dash .kpi-icon{display:grid;place-items:center;width:38px;height:38px;margin-bottom:.35rem;border-radius:11px;font-size:1.1rem;color:var(--d-brand);background:var(--d-brand-soft)}.dash .kpi-label{font-size:.8rem;font-weight:500;color:var(--d-muted)}.dash .kpi-label:first-letter{text-transform:uppercase}.dash .kpi-value{font-size:1.6rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.dash .kpi-value-muted{font-size:1rem;font-weight:500;color:var(--d-muted)}.dash .kpi-sub{font-size:.75rem;color:var(--d-muted)}.dash .kpi-status{font-size:1.25rem}.dash .kpi-link{color:var(--d-brand);font-weight:600;text-decoration:none}.dash .kpi-link:hover{text-decoration:underline}.dash .kpi--ok .kpi-icon{color:var(--d-ok);background:var(--d-ok-soft)}.dash .kpi--ok .kpi-status{color:var(--d-ok)}.dash .kpi--warn .kpi-icon{color:var(--d-warn);background:var(--d-warn-soft)}.dash .kpi--warn .kpi-status{color:var(--d-warn)}.dash .kpi--warn{border-color:#f6dfb0}.dash .kpi--error .kpi-icon{color:var(--d-error);background:var(--d-error-soft)}.dash .kpi--error .kpi-status{color:var(--d-error)}.dash .kpi--error{border-color:#f7caca}.dash .kpi--muted .kpi-icon{color:var(--d-muted);background:var(--d-soft)}.dash .kpi--muted .kpi-status{color:var(--d-muted)}.dash .ring{width:64px!important;height:64px!important;transform:rotate(-90deg)}.dash .ring-track,.dash .ring-fill{fill:none;stroke-width:6}.dash .ring-track{stroke:#edf1f5}.dash .ring-fill{stroke:var(--d-brand);stroke-linecap:round;transition:stroke-dashoffset .8s ease}.dash .ring--warn .ring-fill{stroke:#f59e0b}.dash .ring--error .ring-fill{stroke:var(--d-error)}.dash .ring-text{transform:rotate(90deg);transform-origin:32px 32px;font-size:13px;font-weight:700;fill:var(--d-ink)}.dash .dash-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1rem;align-items:start}.dash .panel{background:var(--d-surface);border:1px solid var(--d-line);border-radius:var(--d-radius);box-shadow:var(--d-shadow);padding:1.25rem 1.35rem}.dash .panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.dash .panel-header h2{margin:0;font-size:1rem;font-weight:650}.dash .panel-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--d-brand);text-decoration:none;border-radius:6px}.dash .panel-link:hover{text-decoration:underline}.dash .recent-list{list-style:none;margin:0;padding:0}.dash .recent-list li+li{border-top:1px solid var(--d-line)}.dash .recent-row{display:flex;align-items:center;gap:.85rem;padding:.75rem .5rem;margin:0 -.5rem;border-radius:10px;color:inherit;text-decoration:none;transition:background .15s ease}.dash .recent-row:hover{background:var(--d-soft)}.dash .recent-type{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border-radius:11px;font-size:.78rem;font-weight:700;color:#1e3a5f;background:#eaf0f8}.dash .recent-main{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.dash .recent-ncf{font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}.dash .recent-client{font-size:.78rem;color:var(--d-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash .recent-side{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;flex-shrink:0}.dash .recent-amount{font-size:.9rem;font-weight:650;font-variant-numeric:tabular-nums}.dash .recent-meta{display:flex;align-items:center;gap:.45rem}.dash .recent-time{font-size:.72rem;color:var(--d-muted)}.dash .pill{padding:.12rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600}.dash .pill--ok{color:var(--d-ok);background:var(--d-ok-soft)}.dash .pill--pending{color:#1d4ed8;background:#eff4ff}.dash .pill--error{color:var(--d-error);background:var(--d-error-soft)}.dash .pill--muted{color:var(--d-muted);background:var(--d-soft)}.dash .empty{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;text-align:center;color:var(--d-muted)}.dash .empty p{margin:0;font-size:.875rem}.dash .empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;font-size:1.4rem;color:var(--d-brand);background:var(--d-brand-soft)}.dash .shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.dash .shortcut{display:flex;align-items:center;gap:.7rem;padding:.8rem;border:1px solid var(--d-line);border-radius:12px;color:inherit;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}.dash .shortcut:hover{border-color:#b9e2d6;background:#f6fbf9;transform:translateY(-1px)}.dash .shortcut-icon{flex-shrink:0;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-size:1.05rem;color:var(--d-brand);background:var(--d-brand-soft)}.dash .shortcut-text{display:flex;flex-direction:column;min-width:0}.dash .shortcut-label{font-size:.85rem;font-weight:600}.dash .shortcut-desc{font-size:.72rem;color:var(--d-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash .skeleton{border-radius:var(--d-radius);background:linear-gradient(90deg,#eef2f6 25%,#f7f9fb,#eef2f6 75%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.dash .skeleton--hero{height:132px;border-radius:20px}.dash .skeleton--kpi{height:128px}.dash .skeleton--panel{height:300px}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:1024px){.dash .dash-columns{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.dash .hero{padding:1.35rem}.dash .hero-avatar{width:52px;height:52px;font-size:1.15rem;border-radius:14px}.dash .hero-actions,.dash .hero-actions .btn{width:100%;justify-content:center}.dash .hero-actions{flex-direction:column}.dash .shortcuts{grid-template-columns:minmax(0,1fr)}.dash .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.dash .kpi{padding:1rem}.dash .kpi-value{font-size:1.25rem}.dash .kpi .ring{display:none}.dash .panel{padding:1rem}.dash .recent-time{display:none}}@media(prefers-reduced-motion:reduce){.dash,.dash .skeleton,.dash .ring-fill,.dash .kpi,.dash .shortcut,.dash .btn{animation:none;transition:none}}.aprobaciones-comerciales{max-width:1280px;margin:0 auto}.aprobaciones-comerciales-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.aprobaciones-eyebrow{color:#587166;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.aprobaciones-comerciales h1{margin:6px 0;color:#15251f;font-size:clamp(1.7rem,3vw,2.5rem)}.aprobaciones-comerciales p{margin:0;color:#687b73}.aprobaciones-refresh,.aprobaciones-actions button{border:1px solid #c8d9d0;border-radius:10px;background:#fff;color:#245b49;cursor:pointer;font-weight:700;padding:10px 14px}.aprobaciones-refresh:disabled{opacity:.55;cursor:wait}.aprobaciones-summary{align-items:baseline;background:#edf7f1;border:1px solid #d6e9de;border-radius:14px;color:#527066;display:flex;gap:10px;margin-bottom:16px;padding:15px 18px}.aprobaciones-summary strong{color:#1d7354;font-size:1.55rem}.aprobaciones-empty{background:#fff;border:1px dashed #c9d7d0;border-radius:16px;color:#687b73;padding:48px 20px;text-align:center}.aprobaciones-table-wrap{overflow-x:auto;border:1px solid #dce7e1;border-radius:16px;background:#fff}.aprobaciones-table{border-collapse:collapse;min-width:900px;width:100%}.aprobaciones-table th{background:#f3f8f5;color:#527066;font-size:.74rem;letter-spacing:.06em;text-align:left;text-transform:uppercase}.aprobaciones-table th,.aprobaciones-table td{border-bottom:1px solid #edf1ee;padding:15px 16px;vertical-align:middle}.aprobaciones-table tbody tr:last-child td{border-bottom:0}.aprobaciones-table td{color:#31473d;font-size:.9rem}.aprobaciones-table td small{color:#799087;display:block;font-size:.75rem;margin-top:5px}.aprobaciones-status{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:800;padding:6px 10px}.aprobaciones-status--ok{background:#e3f5e9;color:#217345}.aprobaciones-status--error{background:#fde9e7;color:#b33d32}.aprobaciones-actions{display:flex;gap:6px}.aprobaciones-actions button{font-size:.75rem;padding:7px 9px}.aprobaciones-xml-viewer{background:#17231f;border-radius:10px;color:#d9f2e3;font-size:.72rem;max-height:60vh;overflow:auto;padding:16px;text-align:left;white-space:pre-wrap;word-break:break-word}@media(max-width:700px){.aprobaciones-comerciales-header{align-items:flex-start;flex-direction:column}.aprobaciones-refresh{width:100%}}.admin-empresas{max-width:1100px;margin:0 auto}.admin-empresas-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.admin-empresas-header h2{font-size:1.5rem;font-weight:700;color:#213547;margin-bottom:.5rem}.admin-empresas-header p{color:#5f6368;font-size:.95rem}.admin-empresas-count{padding:.5rem 1rem;background-color:#e8f0fe;color:#1a73e8;border-radius:6px;font-size:.875rem;font-weight:500;white-space:nowrap}.admin-empresas-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#5f6368;font-size:.95rem}.admin-empresas-spinner{width:20px;height:20px;border:2px solid #dadce0;border-top-color:#1a73e8;border-radius:50%;animation:admin-empresas-spin .8s linear infinite}@keyframes admin-empresas-spin{to{transform:rotate(360deg)}}.admin-empresas-empty{text-align:center;padding:3rem 1.5rem;color:#5f6368}.admin-empresas-table-wrapper{overflow-x:auto;border:1px solid #dadce0;border-radius:6px}.admin-empresas-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-empresas-table thead{background-color:#f8f9fa}.admin-empresas-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#213547;border-bottom:1px solid #dadce0;white-space:nowrap}.admin-empresas-table td{padding:.75rem 1rem;color:#213547;border-bottom:1px solid #f1f3f4;vertical-align:middle}.admin-empresas-table tbody tr:last-child td{border-bottom:none}.admin-empresas-table tbody tr:hover{background-color:#f8f9fa}.admin-empresas-cell-name{font-weight:500}.admin-empresas-cell-rnc{font-family:monospace;font-size:.85rem;color:#5f6368}.admin-empresas-cell-plan{color:#5f6368;font-size:.85rem}.admin-empresas-cell-date{white-space:nowrap;color:#5f6368;font-size:.8rem}.admin-empresas-cell-actions{white-space:nowrap}.admin-empresas-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:capitalize;background-color:#f1f3f4;color:#5f6368}.admin-empresas-badge-certificacion{background-color:#e8f0fe;color:#1a73e8}.admin-empresas-badge-produccion{background-color:#e6f4ea;color:#137333}.admin-empresas-badge-ambiente{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500}.admin-empresas-badge-ambiente-certificacion{background-color:#fef7e0;color:#b06000}.admin-empresas-badge-ambiente-produccion{background-color:#e6f4ea;color:#137333}.admin-empresas-badge-ambiente-testecf{background-color:#e8f0fe;color:#1a73e8}.admin-empresas-btn-promover{padding:.35rem .85rem;background-color:#fff;color:#1e8e3e;border:1px solid #1e8e3e;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.admin-empresas-btn-promover:hover{background-color:#e6f4ea}.admin-empresas-ambiente-select{padding:.35rem .5rem;border:1px solid #dadce0;border-radius:4px;font-size:.8rem;font-family:inherit;background-color:#fff;color:#202124;cursor:pointer}@media(max-width:768px){.admin-empresas-header{flex-direction:column;align-items:stretch}.admin-empresas-table{font-size:.8rem}.admin-empresas-table th,.admin-empresas-table td{padding:.5rem .625rem}}.admin-empresas-edit-btn{padding:.35rem .75rem;margin-right:.5rem;border:1px solid #1a73e8;border-radius:4px;background:#fff;color:#1a73e8;font-size:.8rem;font-family:inherit;cursor:pointer}.admin-empresas-edit-btn:hover{background:#e8f0fe}.admin-empresas-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#20212480;display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;overflow-y:auto;z-index:1000}.admin-empresas-modal{background:#fff;border-radius:12px;padding:1.5rem 1.75rem;width:100%;max-width:720px;box-shadow:0 12px 40px #0003}.admin-empresas-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.admin-empresas-modal-header h3{font-size:1.15rem;font-weight:600;color:#202124;margin:0}.admin-empresas-modal-close{border:none;background:none;font-size:1.6rem;line-height:1;color:#5f6368;cursor:pointer}.admin-planes{max-width:960px;margin:0 auto}.admin-planes-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.admin-planes-header h2{font-size:1.5rem;font-weight:700;color:#213547;margin-bottom:.5rem}.admin-planes-header p{color:#5f6368;font-size:.95rem}.admin-planes-btn-primary{padding:.625rem 1.25rem;background-color:#1a73e8;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s;white-space:nowrap}.admin-planes-btn-primary:hover:not(:disabled){background-color:#1557b0}.admin-planes-btn-primary:disabled{opacity:.6;cursor:not-allowed}.admin-planes-table-wrapper{border:1px solid #dadce0;border-radius:6px;overflow:hidden}.admin-planes-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-planes-table thead{background-color:#f8f9fa}.admin-planes-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#213547;border-bottom:1px solid #dadce0;white-space:nowrap}.admin-planes-table td{padding:.75rem 1rem;color:#213547;border-bottom:1px solid #f1f3f4;vertical-align:middle}.admin-planes-table tbody tr:last-child td{border-bottom:none}.admin-planes-table tbody tr:hover{background-color:#f8f9fa}.admin-planes-cell-name{font-weight:500}.admin-planes-badge{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500}.admin-planes-badge-activo{background-color:#e6f4ea;color:#137333}.admin-planes-badge-inactivo{background-color:#f1f3f4;color:#5f6368}.admin-planes-btn-edit{padding:.35rem .75rem;background-color:#fff;color:#1a73e8;border:1px solid #1a73e8;border-radius:4px;font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background-color .2s}.admin-planes-btn-edit:hover{background-color:#e8f0fe}.admin-planes-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.admin-planes-modal{background-color:#fff;border-radius:8px;box-shadow:0 8px 32px #0003;width:100%;max-width:440px;padding:1.5rem}.admin-planes-modal h3{font-size:1.1rem;font-weight:600;color:#213547;margin-bottom:1.25rem}.admin-planes-form-field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.admin-planes-form-field label{font-size:.875rem;font-weight:500;color:#213547}.admin-planes-form-field input[type=text],.admin-planes-form-field input[type=number]{padding:.625rem .75rem;border:1px solid #dadce0;border-radius:6px;font-size:.95rem;font-family:inherit;color:#213547;transition:border-color .2s}.admin-planes-form-field input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px #1a73e826}.admin-planes-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #f1f3f4}.admin-planes-form-actions button{padding:.625rem 1.25rem;border-radius:6px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer}.admin-planes-form-actions button:first-child{background-color:#fff;color:#5f6368;border:1px solid #dadce0}.admin-planes-form-actions button:first-child:hover{background-color:#f1f3f4}@media(max-width:640px){.admin-planes-header{flex-direction:column;align-items:stretch}}.admin-auditoria{max-width:1100px;margin:0 auto}.admin-auditoria-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.admin-auditoria-header h2{font-size:1.5rem;font-weight:700;color:#213547;margin-bottom:.5rem}.admin-auditoria-header p{color:#5f6368;font-size:.95rem}.admin-auditoria-count{padding:.5rem 1rem;background-color:#e8f0fe;color:#1a73e8;border-radius:6px;font-size:.875rem;font-weight:500;white-space:nowrap}.admin-auditoria-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#5f6368;font-size:.95rem}.admin-auditoria-spinner{width:20px;height:20px;border:2px solid #dadce0;border-top-color:#1a73e8;border-radius:50%;animation:admin-auditoria-spin .8s linear infinite}@keyframes admin-auditoria-spin{to{transform:rotate(360deg)}}.admin-auditoria-empty{text-align:center;padding:3rem 1.5rem;color:#5f6368}.admin-auditoria-table-wrapper{overflow-x:auto;border:1px solid #dadce0;border-radius:6px}.admin-auditoria-table{width:100%;border-collapse:collapse;font-size:.875rem}.admin-auditoria-table thead{background-color:#f8f9fa}.admin-auditoria-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#213547;border-bottom:1px solid #dadce0;white-space:nowrap}.admin-auditoria-table td{padding:.75rem 1rem;color:#213547;border-bottom:1px solid #f1f3f4;vertical-align:middle}.admin-auditoria-table tbody tr:last-child td{border-bottom:none}.admin-auditoria-table tbody tr:hover{background-color:#f8f9fa}.admin-auditoria-cell-date{white-space:nowrap;font-size:.8rem;color:#5f6368}.admin-auditoria-badge-accion{display:inline-block;padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:500;background-color:#e8f0fe;color:#1a73e8;text-transform:uppercase}.admin-auditoria-cell-recurso{font-size:.85rem}.admin-auditoria-recurso-id{display:block;font-family:monospace;font-size:.75rem;color:#5f6368;margin-top:.15rem}.admin-auditoria-cell-empresa,.admin-auditoria-cell-usuario{font-size:.85rem;color:#5f6368}.admin-auditoria-cell-ip{font-family:monospace;font-size:.8rem;color:#5f6368}@media(max-width:768px){.admin-auditoria-header{flex-direction:column;align-items:stretch}.admin-auditoria-table{font-size:.8rem}.admin-auditoria-table th,.admin-auditoria-table td{padding:.5rem .625rem}}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh}a{color:#1a73e8;text-decoration:none}a:hover{text-decoration:underline}
