body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.certificate-portal{background:#fafbfc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;min-height:100vh;overflow-x:hidden;padding:0}.portal-container{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:1100px;min-height:calc(100vh - 200px);padding:0 2rem 4rem}.hero-section{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);border-bottom:1px solid #ffffff0d;margin-bottom:1rem;overflow:hidden;padding:1rem 0;position:relative;width:100%}.hero-content-wrapper{margin:0 auto;max-width:1400px;padding:0 2rem}.hero-section:before{background:radial-gradient(circle at 30% 40%,#d977060f 0,#0000 60%),radial-gradient(circle at 70% 60%,#f59e0b0a 0,#0000 60%),repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff05 0,#ffffff05 4px);opacity:.6;pointer-events:none;top:0}.hero-section:after,.hero-section:before{bottom:0;content:"";left:0;position:absolute;right:0}.hero-section:after{background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px}.hero-content{margin:0 auto;max-width:900px;position:relative;text-align:center;z-index:1}.hero-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#d977061f;border:1px solid #d9770640;border-radius:50px;box-shadow:0 3px 8px #d977061f,inset 0 1px 0 #ffffff1a;color:#f59e0b;display:inline-flex;font-size:.6875rem;font-weight:600;gap:.375rem;letter-spacing:.4px;margin-bottom:.625rem;padding:.3rem .75rem;text-transform:uppercase}.hero-badge svg{color:#f59e0b;height:14px;width:14px}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#e5e7eb);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:1.375rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:0 0 .5rem;text-shadow:0 2px 8px #0000004d}.hero-subtitle{color:#cbd5e1;font-size:.75rem;font-weight:400;letter-spacing:.01em;line-height:1.4;margin:0 auto .875rem;max-width:600px}.hero-features{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;padding-top:.5rem}.hero-feature{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;box-shadow:0 4px 12px #00000026,inset 0 1px 0 #ffffff1a;color:#fff;display:flex;font-size:.9375rem;font-weight:500;gap:.625rem;padding:.875rem 1.5rem;transition:all .3s ease}.hero-feature:hover{background:#ffffff1f;border-color:#fff3;box-shadow:0 6px 16px #0003,inset 0 1px 0 #ffffff26;transform:translateY(-2px)}.hero-feature svg{color:#f59e0b;filter:drop-shadow(0 1px 2px rgba(217,119,6,.25));flex-shrink:0;height:20px;width:20px}.hero-feature span{color:#fff;font-weight:500;white-space:nowrap}.verification-card{grid-gap:0;align-items:start;background:linear-gradient(135deg,#fff,#f8fafc 50%,#fff),radial-gradient(circle at 20% 30%,#d9770608 0,#0000 50%),radial-gradient(circle at 80% 70%,#f59e0b05 0,#0000 50%);border:1px solid #e5e7eb99;border-radius:20px;box-shadow:0 25px 70px #00000026,0 10px 30px #0000001a,0 5px 15px #00000014,0 2px 5px #0000000d,inset 0 1px 0 #fffffff2,inset 0 -1px 0 #0000000d;display:grid;gap:0;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;margin:0 auto;overflow:hidden;position:relative;width:100%}.verification-card:before{background:linear-gradient(90deg,#d97706,#f59e0b 30%,#fbbf24 50%,#f59e0b 70%,#d97706);content:"";height:5px;left:0;opacity:.8;position:absolute;right:0;top:0;z-index:2}.verification-card:after{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#d9770603 0,#d9770603 4px);bottom:0;content:"";left:0;opacity:.5;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.center-header{background:linear-gradient(135deg,#f8fafc,#fff 50%,#f8fafc),radial-gradient(circle at 50% 0,#d977060a 0,#0000 70%);border-bottom:1.5px solid #e5e7ebcc;box-shadow:0 4px 12px #0000000a,0 2px 6px #00000008,inset 0 -1.5px 0 #0000000d,inset 0 1px 0 #fffc;grid-column:1/-1;padding:1.5rem 0;position:relative;text-align:center;z-index:1}.center-header:before{background:linear-gradient(90deg,#0000,#d97706,#0000);border-radius:2px;bottom:0;content:"";height:2px;left:50%;opacity:.6;position:absolute;transform:translateX(-50%);width:50px}.center-header h2{color:#1f2937;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .375rem}.center-header p{color:#6b7280;font-size:.8125rem;font-weight:400;margin:0}.verification-form-section{align-items:stretch;align-self:stretch;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:linear-gradient(180deg,#ffffffb3,#f9fafb80 50%,#ffffffb3),radial-gradient(circle at 10% 20%,rgba(217,119,6,.035) 0,#0000 50%),radial-gradient(circle at 90% 80%,#f59e0b05 0,#0000 50%);border-right:2px solid #e5e7eb99;display:flex;flex-direction:column;min-height:500px;padding:2rem;position:relative;z-index:1}.verification-form-section:before{background:linear-gradient(180deg,#0000,#d9770614,#0000);content:"";height:100%;position:absolute;right:0;top:0;width:1px}.input-header{background:linear-gradient(135deg,#f9fafb,#fff);border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px #00000005;margin-bottom:1.5rem;padding:1.5rem 0;position:relative;text-align:center;z-index:1}.input-header h2{color:#1f2937;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem}.input-header p{color:#6b7280;font-size:.875rem;font-weight:400;margin:0}.form-intro{border-bottom:1px solid #e5e7eb80;display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:1.5rem;min-height:70px;padding-bottom:1rem}.form-intro h3{color:#1f2937;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.form-intro p{color:#6b7280;font-size:.8125rem;line-height:1.5;margin:0}.input-form{margin-bottom:1.5rem;padding:1rem 0;position:relative}.form-label{justify-content:space-between;margin-bottom:.375rem}.label-text{color:#1e293b;font-size:.75rem;font-weight:600}.label-badge{background:#fff7ed;border-radius:4px;color:#f59e0b;font-size:.625rem;font-weight:600;padding:.125rem .375rem}.input-wrapper{margin-bottom:.875rem;position:relative}.input-icon{align-items:center;background:#d977060a;border-radius:5px;color:#64748b;display:flex;justify-content:center;left:.875rem;padding:.35rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.input-icon svg{height:14px;width:14px}.certificate-input{background:linear-gradient(135deg,#fff,#fafbfc);border:2px solid #d1d5db;border-radius:8px;box-shadow:inset 0 2px 4px #00000008,0 2px 8px #0000000a,0 1px 2px #00000005;color:#1f2937;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;font-weight:500;letter-spacing:.5px;padding:.625rem .875rem .625rem 2.75rem;text-transform:uppercase;transition:all .3s ease;width:100%}.certificate-input:focus{background:#fff;border-color:#d97706;box-shadow:0 0 0 4px #d9770614,inset 0 1px 2px #00000005,0 2px 4px #d9770614;outline:none;transform:translateY(-1px)}.certificate-input:disabled{cursor:not-allowed;opacity:.6}.validate-button{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#d97706,#b45309);border:none;border-radius:10px;box-shadow:0 6px 20px #d9770640,0 3px 8px #d977062e,0 1px 3px #d9770626,inset 0 1px 0 #ffffff40;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;margin-bottom:.75rem;margin-top:.5rem;overflow:hidden;padding:.75rem 1.25rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.validate-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0;z-index:0}.validate-button:active:before{height:300px;width:300px}.validate-button svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));flex-shrink:0;height:16px;position:relative;width:16px;z-index:1}.validate-button .btn-text{font-weight:600;letter-spacing:.3px;position:relative;z-index:1}.validate-button:hover:not(:disabled){background:linear-gradient(135deg,#b45309,#92400e);box-shadow:0 6px 16px #d9770640;transform:translateY(-2px)}.validate-button:active:not(:disabled){box-shadow:0 2px 8px #d9770633;transform:translateY(0) scale(.98)}.validate-button:disabled{cursor:not-allowed;opacity:.8;pointer-events:none;transform:none}.validate-button.loading{background:linear-gradient(135deg,#f59e0b,#d97706);cursor:wait}.validate-button.loading .btn-text{display:none}.validate-button.loading .btn-loader{display:inline-block!important}.btn-loader{animation:buttonSpin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:none;flex-shrink:0;height:18px;width:18px}@keyframes buttonSpin{to{transform:rotate(1turn)}}.validate-button.success{animation:successPulse .6s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98166}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.validate-button.success .btn-text{display:none}.validate-button.success .btn-success{display:flex}.btn-success{align-items:center;animation:checkmarkAppear .4s cubic-bezier(.4,0,.2,1);display:none;gap:8px}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.5) rotate(-45deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.btn-success .checkmark{align-items:center;animation:checkmarkCircle .4s cubic-bezier(.4,0,.2,1);background:#fff3;border-radius:50%;display:flex;height:20px;justify-content:center;width:20px}@keyframes checkmarkCircle{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.btn-success .checkmark i{animation:checkmarkIcon .3s cubic-bezier(.4,0,.2,1) .2s both;font-size:12px}@keyframes checkmarkIcon{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}.input-hint{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;border-radius:8px;box-shadow:inset 0 1px 2px #00000005,0 1px 3px #00000008;display:flex;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem}.verification-features{border-top:1px solid #e5e7eb80;display:flex;flex-direction:column;gap:.625rem;margin-top:1rem;padding-top:1rem}.feature-item{align-items:flex-start;background:linear-gradient(135deg,#fff9,#f9fafb66);border:1px solid #e5e7eb80;border-radius:8px;box-shadow:0 1px 4px #00000008;display:flex;gap:.625rem;padding:.625rem;transition:all .3s ease}.feature-item:hover{background:linear-gradient(135deg,#fffc,#f9fafb99);border-color:#d9770626;box-shadow:0 2px 8px #0000000a;transform:translateY(-1px)}.feature-icon{align-items:center;background:linear-gradient(135deg,#d9770614,#f59e0b0f);border:1px solid #d977061f;border-radius:6px;box-shadow:0 1px 4px #d9770614;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.feature-icon svg{color:#d97706;height:14px;width:14px}.feature-content h4{color:#1f2937;font-size:.75rem;font-weight:600;letter-spacing:-.01em;margin:0 0 .2rem}.feature-content p{color:#6b7280;font-size:.6875rem;line-height:1.4;margin:0}.trust-indicators{border-top:1px solid #e5e7eb80;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem;padding-top:2rem}.trust-item{align-items:center;background:linear-gradient(135deg,#ffffffb3,#f9fafb80);border:1px solid #e5e7eb80;border-radius:8px;box-shadow:0 1px 3px #00000008;color:#4b5563;display:flex;font-size:.8125rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.trust-item:hover{background:linear-gradient(135deg,#ffffffe6,#f9fafbb3);border-color:#d9770626;box-shadow:0 2px 6px #0000000a;transform:translateY(-1px)}.trust-item svg{color:#d97706;flex-shrink:0;height:18px;width:18px}.input-hint svg{color:#6b7280;flex-shrink:0;height:14px;width:14px}.input-hint span{color:#6b7280;font-size:.75rem}.instant-verify-box{align-items:center;background:linear-gradient(135deg,#fffc,#f9fafb99);border:1px solid #e5e7eb99;border-radius:8px;box-shadow:0 1px 4px #00000008,0 1px 2px #00000005;display:flex;gap:.625rem;margin-top:.625rem;padding:.625rem;transition:all .3s ease}.instant-verify-box:first-of-type{margin-top:1.25rem}.instant-verify-box:hover{background:linear-gradient(135deg,#fffffff2,#f9fafbcc);border-color:#d9770626;box-shadow:0 4px 12px #0000000f,0 2px 4px #00000008;transform:translateY(-1px)}.instant-verify-icon{align-items:center;background:linear-gradient(135deg,#ffedd5,#fed7aa);border:1px solid #d9770614;border-radius:7px;box-shadow:0 1px 2px #d9770614;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.instant-verify-icon svg{color:#f59e0b;filter:drop-shadow(0 1px 2px rgba(217,119,6,.15));height:18px;width:18px}.instant-verify-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.instant-verify-content h4{color:#1f2937;font-size:.8125rem;font-weight:600;letter-spacing:-.01em;margin:0}.instant-verify-content p{color:#6b7280;font-size:.6875rem;line-height:1.3;margin:0}.pdf-download-box{margin-top:.625rem}.revoked-certificate-display{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.revoked-header-bar{align-items:center;background:linear-gradient(135deg,#dc2626,#b91c1c);border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:.875rem 1.25rem}.revoked-status-indicator{align-items:center;color:#fff;display:flex;font-size:.8125rem;font-weight:600;gap:.5rem}.revoked-status-indicator svg{stroke-width:2.5;height:16px;width:16px}.revoked-header-bar .certificate-meta{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.revoked-header-bar .meta-label{color:#ffffffe6;font-weight:500}.revoked-header-bar .meta-value{background:#ffffff26;border-radius:4px;color:#fff;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9375rem;font-weight:700;letter-spacing:.5px;padding:.25rem .5rem}.revoked-certificate-content{padding:1.5rem;text-align:center}.revoked-icon-wrapper{margin-bottom:1rem}.revoked-icon{align-items:center;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:50%;box-shadow:0 2px 8px #dc262626;color:#dc2626;display:flex;height:50px;justify-content:center;margin:0 auto;width:50px}.revoked-icon svg{stroke-width:2;height:24px;width:24px}.revoked-message{margin-bottom:1.25rem}.revoked-message h2{color:#1e293b;font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.revoked-authority-message{color:#64748b;font-size:.8125rem;line-height:1.5;margin:0 auto;max-width:500px}.revoked-certificate-details{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem;padding:1rem;text-align:left}.revoked-detail-item{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:.5rem 0}.revoked-detail-item:last-child{border-bottom:none}.revoked-detail-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.revoked-detail-value{color:#1e293b;font-size:.8125rem;font-weight:600;text-align:right}.revocation-reason-box{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1.5px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:1rem;text-align:left}.revocation-reason-header{align-items:center;color:#991b1b;display:flex;font-size:.8125rem;font-weight:600;gap:.5rem;margin-bottom:.75rem}.revocation-reason-header svg{stroke-width:2;height:16px;width:16px}.revocation-reason-text{background:#fff;border-left:3px solid #dc2626;border-radius:6px;color:#7f1d1d;font-size:.8125rem;line-height:1.5;padding:.75rem}.revoked-footer-note{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:1rem}.revoked-footer-note p{color:#64748b;font-size:.75rem;line-height:1.5;margin:.375rem 0}.revoked-footer-note p:first-child{color:#475569;font-weight:600}.error-display{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;box-shadow:0 2px 8px #dc262614,0 1px 3px #dc26260a;justify-content:center;margin:1rem auto;max-width:100%;min-height:200px;padding:1.25rem}.error-content,.error-display{align-items:center;display:flex}.error-content{flex-direction:column;gap:.75rem;text-align:center;width:100%}.error-content svg{color:#dc2626;flex-shrink:0;height:36px;margin-bottom:.25rem;width:36px}.error-content>div{align-items:center;display:flex;flex-direction:column;text-align:center;width:100%}.error-content h3{color:#dc2626;font-size:1.0625rem;font-weight:700;margin:0 0 .5rem}.error-content p{color:#991b1b;font-size:.8125rem;line-height:1.5;margin:0 0 .75rem}.error-reasons{align-items:center;border-top:1px solid #fecaca;display:flex;flex-direction:column;margin-top:.75rem;padding-top:.75rem;width:100%}.error-reason-title{color:#991b1b;font-size:.75rem;font-weight:600;margin:0 0 .5rem}.error-reason-list{list-style-type:none;margin:0;max-width:400px;padding-left:0;text-align:center;width:100%}.error-reason-list li{color:#991b1b;font-size:.75rem;line-height:1.4;margin-bottom:.375rem;padding-left:1rem;position:relative}.error-reason-list li:before{color:#dc2626;content:"•";font-size:1.2rem;font-weight:700;left:0;position:absolute}.error-reason-list li:last-child{margin-bottom:0}.info-cards{flex-direction:column;padding:0 1.5rem 1.5rem}.info-card,.info-cards{display:flex;gap:.75rem}.info-card{align-items:center;background:linear-gradient(135deg,#f9fafb,#fff);border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #00000005;padding:1rem;transition:all .2s ease}.info-card:hover{background:linear-gradient(135deg,#f3f4f6,#f9fafb);border-color:#d1d5db;box-shadow:0 2px 4px #0000000a;transform:translateY(-1px)}.info-card-icon{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;border-radius:8px;box-shadow:inset 0 1px 2px #fffc,0 1px 2px #0000000a;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.info-card-icon svg{color:#4b5563;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1));height:20px;width:20px}.info-card-content h4{color:#1e293b;font-size:.875rem;font-weight:500;margin:0 0 .15rem}.info-card-content p{color:#6b7280;font-size:.75rem;font-weight:400;margin:0}.verification-stats{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-top:1px solid #e2e8f0;display:flex;justify-content:space-around;padding:1.25rem 1.5rem}.stat-item{text-align:center}.stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#d97706);-webkit-background-clip:text;background-clip:text;color:#f59e0b}.stat-label{font-size:.75rem}.stat-divider{background:#cbd5e1;height:40px;width:1px}.result-section{align-items:stretch;align-self:stretch;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:linear-gradient(180deg,#ffffff80,#f9fafb4d),radial-gradient(circle at 90% 80%,#f59e0b05 0,#0000 40%);margin:0;min-height:500px;padding:2rem;position:relative;z-index:1}.result-intro,.result-section{display:flex;flex-direction:column}.result-intro{border-bottom:1px solid #e5e7eb80;justify-content:flex-start;margin-bottom:1.5rem;min-height:70px;padding-bottom:1rem}.result-intro h3{color:#1f2937;font-size:1.0625rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.result-intro p{color:#6b7280;font-size:.8125rem;line-height:1.5;margin:0}.certificate-header-bar{align-items:center;animation:slideDownFadeIn .6s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;box-shadow:0 2px 4px #00000008,inset 0 1px 0 #fffc;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:relative}.certificate-header-bar.certificate-header-single-line{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;padding:.625rem 1.25rem}.header-separator{color:#d1d5db;font-size:.875rem;font-weight:300;margin:0 .25rem}.certificate-label-inline{color:#4b5563;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.certificate-header-bar:before{background:linear-gradient(90deg,#0000,#d9770626,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.status-indicator{align-items:center;background:#0596691a;border:1px solid #05966933;border-radius:5px;color:#059669;display:flex;flex-shrink:0;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.3rem .625rem}.status-indicator svg{filter:drop-shadow(0 1px 2px rgba(5,150,105,.3));height:14px;width:14px}.certificate-meta{align-items:center;display:flex;flex-shrink:0;font-size:.8125rem;gap:.375rem}.meta-label{color:#6b7280;font-size:.8125rem;font-weight:400}.meta-value{color:#1e293b;font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500}.certificate-preview{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .2s both;background:linear-gradient(180deg,#fff,#fafbfc);padding:2.5rem 1.5rem}.certificate-details-right{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) .6s both;background:linear-gradient(135deg,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:8px;box-shadow:inset 0 1px 2px #00000005,0 1px 2px #00000005;display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0 .625rem;padding:.625rem .75rem;width:100%}.certificate-details-right.certificate-details-single-line{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:.375rem;justify-content:center;padding:.5rem .75rem}.cert-detail-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:.5rem;justify-content:space-between;padding:.375rem 0}.cert-detail-item:last-child{border-bottom:none}.certificate-details-right .cert-detail-label{color:#6b7280;flex-shrink:0;font-size:.75rem;font-weight:600;letter-spacing:.01em;min-width:75px}.certificate-details-single-line .cert-detail-label{color:#6b7280;font-size:.6875rem;font-weight:600;min-width:auto}.certificate-details-right .cert-detail-value{color:#1f2937;flex:1 1;font-size:.75rem;font-weight:500;letter-spacing:.01em;text-align:right}.certificate-details-single-line .cert-detail-value{color:#1f2937;flex:none;font-size:.6875rem;font-weight:500;text-align:left}.cert-detail-separator{color:#d1d5db;font-size:.6875rem;font-weight:300;margin:0 .2rem}.certificate-actions-right{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center}.download-validity-message{font-size:.8125rem;line-height:1.3;margin:0;text-align:center}.download-countdown{color:#6b7280;color:var(--text-muted,#6b7280)}.download-expired{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) .8s both;color:#dc2626;color:var(--error,#dc2626);font-weight:500;margin:0;padding:0;width:100%}.download-btn-right{align-items:center;background:#10b981;border:none;border-radius:7px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:.8125rem;font-weight:600;gap:.375rem;justify-content:center;padding:.625rem 1.25rem;transition:background-color .2s ease;width:100%}.download-btn-right:hover{background:#059669}.download-btn-right:active{background:#047857}.download-btn-right svg{height:16px;width:16px}.download-btn-right:disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.download-btn-right .btn-loader{animation:buttonSpin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:14px;width:14px}.certificate-label{margin-bottom:1.5rem;margin-left:auto;margin-right:auto;position:relative;text-align:center}.certificate-label span{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db;border-radius:6px;box-shadow:0 1px 2px #0000000a;color:#4b5563;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.15em;padding:.5rem 1rem;text-transform:uppercase}.document-frame{animation:fadeInScale .8s cubic-bezier(.4,0,.2,1) .4s both;background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000000f,0 2px 4px #0000000a,inset 0 1px 0 #fffc;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:95%;overflow:hidden;padding:1.5rem;position:relative}.document-frame:before{background:linear-gradient(90deg,#d97706,#f59e0b 50%,#d97706);content:"";height:4px;left:0;opacity:.6;position:absolute;right:0;top:0}.certificate-image{background:#fff;border:1px solid #f3f4f6;border-radius:8px;box-shadow:0 8px 24px #00000014,0 4px 8px #0000000a;overflow:hidden;position:relative}.cert-image{animation:fadeInImage .8s cubic-bezier(.4,0,.2,1) .5s both;border:none;display:block;height:auto;transition:transform .3s ease;width:100%}.cert-image:hover{transform:scale(1.01)}.certificate-header{border-bottom:3px solid #e2e8f0;margin-bottom:1.5rem;padding-bottom:1.5rem;text-align:center}.cert-logo{align-items:center;background:linear-gradient(135deg,#f59e0b,#b45309);border-radius:20px;box-shadow:0 8px 25px #f59e0b33;display:flex;height:50px;justify-content:center;margin:0 auto 1rem;width:50px}.cert-logo svg{color:#fff;height:25px;width:25px}.certificate-header h2{color:#1e293b;font-size:1.75rem;font-weight:700;letter-spacing:-.025em;margin:0}.certificate-body{margin-bottom:1.5rem;text-align:center}.cert-text{color:#64748b;font-size:1rem;margin:.5rem 0}.recipient-name{color:#1e293b;font-size:2rem;font-weight:700;letter-spacing:2px;margin:1rem 0;text-shadow:0 2px 4px #0000001a;text-transform:uppercase}.course-name{color:#f59e0b;font-size:1.25rem;font-weight:600;margin:1rem 0 1.5rem}.certificate-details{grid-gap:.5rem;border-top:1px solid #e2e8f0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));margin-top:.75rem;padding-top:.75rem}.detail-item{text-align:left}.detail-item strong{color:#64748b;display:block;font-size:.65rem;font-weight:600;letter-spacing:.05em;margin-bottom:.2rem;text-transform:uppercase}.detail-item{color:#1e293b;font-size:.75rem;font-weight:600}.status-active{color:#10b981!important}.certificate-footer{border-top:1px solid #e2e8f0;margin-top:1.5rem;padding-top:1.5rem}.signature-line{display:flex;justify-content:flex-end}.signature{text-align:center}.signature-placeholder{background:#1e293b;height:2px;margin-bottom:.5rem;width:120px}.signature p{color:#64748b;font-size:.75rem;margin:0}.certificate-actions{gap:.5rem;padding:0 .75rem .75rem}.copy-link-btn,.download-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:.75rem;font-weight:600;gap:.35rem;justify-content:center;min-width:100px;padding:.6rem .85rem;transition:all .2s ease}.download-btn{background:linear-gradient(135deg,#f59e0b,#b45309);box-shadow:0 2px 10px #f59e0b33}.download-btn:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 4px 15px #f59e0b40}.copy-link-btn{background:#f8fafc;border:2px solid #e2e8f0;color:#1e293b}.copy-link-btn:hover{background:#e2e8f0;border-color:#cbd5e1;transform:translateY(-1px)}.copy-link-btn svg,.download-btn svg{height:13px;width:13px}.sharing-section{background:#f8fafc;border-top:1px solid #e2e8f0;padding:1rem 1.5rem;text-align:center}.sharing-section h4{color:#1e293b;font-size:.9rem;font-weight:600;margin:0 0 .75rem}.share-buttons{display:flex;gap:.75rem;justify-content:center}.share-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;gap:.4rem;padding:.6rem 1rem;transition:all .2s ease}.share-btn svg{height:14px;width:14px}.share-btn.linkedin{background:#0077b5}.share-btn.linkedin:hover{background:#005885;transform:translateY(-1px)}@media (max-width:1200px){.portal-container{padding:0 1rem}.hero-title{font-size:1.25rem}.hero-subtitle{font-size:.6875rem}.hero-features{gap:1rem}.hero-feature{font-size:.875rem;padding:.75rem 1.25rem}.hero-feature svg{height:18px;width:18px}.input-form,.verification-form-section{padding:1.5rem}}@media (max-width:968px){.hero-section{padding:.875rem 1.5rem}.hero-content-wrapper{padding:0 1.5rem}.hero-badge{font-size:.6875rem;margin-bottom:.625rem;padding:.3rem .75rem}.hero-title{font-size:1.25rem}.hero-subtitle{font-size:.6875rem;margin-bottom:.875rem}.hero-features{gap:1rem}.hero-feature{font-size:.875rem;padding:.75rem 1.25rem}.hero-feature svg{height:18px;width:18px}.verification-card{grid-template-columns:1fr;grid-template-rows:auto 1fr}.verification-form-section{border-bottom:1px solid #e5e7eb;padding:1.5rem}.center-header{grid-column:1}.result-section{min-height:400px;padding:1.5rem}.input-header{padding:1.25rem 1.5rem}.input-form{padding:1.5rem}.error-display{margin:0 1.5rem 1.5rem}.certificate-actions{flex-direction:column}.copy-link-btn,.download-btn{min-width:auto}.certificate-header-bar{padding:1rem 1.25rem}.certificate-header-bar.certificate-header-single-line{flex-wrap:wrap;gap:1rem}.certificate-meta{flex-wrap:wrap}}@media (max-width:640px){.hero-section{margin:0 -.5rem 1rem;padding:.875rem 1rem}.hero-content-wrapper{padding:0 1rem}.hero-content{padding:0}.hero-badge{font-size:.625rem;margin-bottom:.5rem;padding:.25rem .625rem}.hero-badge svg{height:12px;width:12px}.hero-title{font-size:1.125rem;margin-bottom:.5rem}.hero-subtitle{font-size:.6875rem;line-height:1.4;margin-bottom:.875rem}.hero-features{align-items:center;flex-direction:column;gap:.875rem;padding-top:.5rem}.hero-feature{justify-content:center;max-width:280px;padding:.875rem 1.25rem;width:100%}.hero-feature svg{height:18px;width:18px}.hero-feature span{font-size:.875rem}.portal-container{padding:0 .5rem}.verification-toast{left:auto;margin:0 16px;max-width:calc(100% - 32px);min-width:auto;right:-100%}.verification-toast.show{left:16px;right:0}.certificate-preview,.input-form,.input-header{padding:1.5rem}.certificate-card{padding:1.5rem 1rem}.recipient-name{font-size:1.5rem}.course-name{font-size:1.125rem}.certificate-details{grid-template-columns:1fr}.trust-list{gap:.5rem}.share-buttons{align-items:center;flex-direction:column}.share-btn{justify-content:center;width:180px}.certificate-header-bar{align-items:flex-start}.certificate-header-bar,.certificate-header-bar.certificate-header-single-line{flex-direction:column;gap:.75rem;padding:1rem}.status-indicator{font-size:.75rem;justify-content:center;padding:.375rem .75rem;width:100%}.status-indicator svg{height:14px;width:14px}.certificate-meta{align-items:flex-start;flex-direction:column;gap:.25rem;width:100%}.meta-label{font-size:.6875rem}.meta-value{font-family:JetBrains Mono,monospace;font-size:.75rem;word-break:break-all}.certificate-preview{padding:1.5rem 1rem}.document-frame{border-radius:8px;margin-bottom:1.5rem;padding:1rem}.certificate-image{border-radius:6px}.cert-image{height:auto;width:100%}.certificate-actions-right{margin-top:1rem;padding:0;width:100%}.download-btn-right{font-size:.875rem;padding:.75rem 1rem;width:100%}.verification-form-section{padding:1.25rem 1rem}.form-intro{margin-bottom:1.25rem}.form-intro h3{font-size:1.25rem;margin-bottom:.5rem}.form-intro p{font-size:.875rem;line-height:1.5}.input-wrapper{margin-bottom:1rem}.certificate-input{font-size:.875rem;padding:.75rem .75rem .75rem 2.5rem}.input-icon{left:.75rem}.input-icon,.input-icon svg{height:18px;width:18px}.validate-button{font-size:.875rem;padding:.875rem 1rem;width:100%}.input-hint{font-size:.75rem;margin-top:.75rem;padding:.5rem}.input-hint svg{height:14px;width:14px}.instant-verify-box{align-items:center;flex-direction:row;margin-bottom:1rem;padding:1rem}.instant-verify-icon{flex-shrink:0;height:40px;width:40px}.instant-verify-icon svg{height:20px;width:20px}.instant-verify-content{flex:1 1}.instant-verify-content h4{font-size:.875rem;margin-bottom:.25rem}.instant-verify-content p{font-size:.75rem;line-height:1.4}.form-label{margin-bottom:.5rem}.label-text{font-size:.875rem}.label-badge{font-size:.625rem;padding:.125rem .375rem}}.certificate-details{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;box-shadow:inset 0 1px 2px #00000005,0 1px 2px #00000005;display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem;justify-content:center;margin-bottom:1.5rem;padding:1.5rem;text-align:center}.certificate-details strong{color:#6b7280;font-weight:500;margin-right:.25rem}.certificate-details span{color:#1f2937;font-weight:400}.separator{color:#d1d5db;margin:0 .25rem}.certificate-footer-section{align-items:stretch;background:linear-gradient(180deg,#fafbfc,#fff);border-top:2px solid #e5e7eb;display:flex;flex-direction:column;grid-column:1/-1;justify-content:center;margin:0;max-width:100%;overflow:hidden;padding:0;position:relative}.certificate-footer-section:before{background:linear-gradient(90deg,#0000,#d9770626,#0000);content:"";height:1px;left:0;position:absolute;right:0;top:0}.certificate-details-single{background:linear-gradient(135deg,#fff,#f9fafb);border:none;border-bottom:1px solid #e5e7eb;border-radius:0;box-shadow:inset 0 2px 4px #00000005,0 1px 0 #fffc;display:block;margin:0;padding:1.5rem 2rem;position:relative;text-align:center;width:100%}.cert-detail-label{color:#1f2937;display:inline;font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;text-shadow:0 1px 2px #0000000d}.cert-detail-value{color:#374151;display:inline;font-size:1.0625rem;font-weight:600;letter-spacing:.01em}.certificate-actions{align-items:center;background:linear-gradient(180deg,#f9fafb,#fff);margin:0;padding:1.5rem 2rem;width:100%}.download-btn{border-radius:10px;box-shadow:0 8px 20px #10b98159,0 4px 8px #10b98140,inset 0 1px 0 #fff3;font-size:1rem;gap:.625rem;justify-content:center;overflow:hidden;padding:1rem 2.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.download-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.download-btn:hover:before{left:100%}.download-btn:hover{box-shadow:0 12px 28px #10b98173,0 6px 12px #10b9814d,inset 0 1px 0 #ffffff40;transform:translateY(-3px) scale(1.01)}.download-btn:active{box-shadow:0 4px 12px #10b9814d,0 2px 4px #10b98133;transform:translateY(-1px) scale(.99)}.download-btn svg{height:16px;width:16px}.placeholder-content{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6 50%,#f9fafb),radial-gradient(circle at 30% 30%,rgba(217,119,6,.035) 0,#0000 50%),radial-gradient(circle at 70% 70%,#f59e0b05 0,#0000 50%);border:2px dashed #d1d5db99;border-radius:12px;box-shadow:inset 0 2px 4px #00000005,0 4px 12px #0000000a,0 2px 6px #00000008;display:flex;flex-direction:column;justify-content:center;margin:1rem;min-height:300px;overflow:hidden;padding:2rem 1.5rem;position:relative;text-align:center}.placeholder-content:before{animation:slidePattern 20s linear infinite;background:repeating-linear-gradient(45deg,#0000,#0000 20px,#e5e7eb66 0,#e5e7eb66 40px);content:"";height:200%;left:-50%;opacity:.5;pointer-events:none;position:absolute;top:-50%;width:200%}.placeholder-content:after{background:radial-gradient(circle at 30% 30%,rgba(217,119,6,.035) 0,#0000 50%),radial-gradient(circle at 70% 70%,#f59e0b05 0,#0000 50%);border-radius:12px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@keyframes slidePattern{0%{transform:translate(0)}to{transform:translate(40px,40px)}}.placeholder-icon{align-items:center;background:linear-gradient(135deg,#fff,#f9fafb);border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a,inset 0 1px 0 #fffc;display:flex;height:48px;justify-content:center;margin-bottom:1rem;position:relative;transition:all .3s ease;width:48px;z-index:1}.placeholder-icon:before{background:linear-gradient(135deg,#d9770614,rgba(245,158,11,.035));border-radius:12px;bottom:-2px;content:"";left:-2px;opacity:0;position:absolute;right:-2px;top:-2px;transition:opacity .3s ease;z-index:-1}.placeholder-content:hover .placeholder-icon:before{opacity:1}.placeholder-icon svg{color:#4b5563;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));height:24px;position:relative;width:24px;z-index:1}.placeholder-content h3{color:#1f2937;font-size:1.0625rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem;position:relative;text-shadow:0 1px 2px #fffc;z-index:1}.placeholder-content p{color:#6b7280;font-size:.75rem;line-height:1.4;margin:0;max-width:320px;position:relative;z-index:1}.placeholder-content{background-image:radial-gradient(circle at 20% 50%,#d9770605 0,#0000 50%),radial-gradient(circle at 80% 50%,rgba(245,158,11,.015) 0,#0000 50%),linear-gradient(135deg,#f9fafb,#f3f4f6)}.verification-toast{align-items:center;background:#fff;border-left:4px solid #10b981;border-radius:12px;box-shadow:0 8px 24px #00000026;color:#1e293b;display:flex;gap:12px;max-width:400px;min-width:300px;padding:16px 20px;position:fixed;right:-400px;top:80px;transition:right .4s cubic-bezier(.4,0,.2,1);z-index:10000}.verification-toast.show{right:20px}.verification-toast .toast-icon{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.verification-toast .toast-icon svg{height:20px;width:20px}.verification-toast .toast-content{flex:1 1}.verification-toast .toast-title{color:#1e293b;font-size:15px;font-weight:600;margin-bottom:4px}.verification-toast .toast-message{color:#64748b;font-size:13px;margin:0}.verification-toast .toast-close{align-items:center;background:none;border:none;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;justify-content:center;padding:4px;transition:color .2s ease}.verification-toast .toast-close svg{height:16px;width:16px}.verification-toast .toast-close:hover{color:#64748b}@keyframes slideDownFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeInImage{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@supports (padding:max(0px)){.certificate-portal{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.portal-container{padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right))}.hero-section{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(.875rem,env(safe-area-inset-top))}}@media only screen and (max-width:375px){.portal-container{padding:0 .75rem}.verification-card{margin:.5rem 0}.input-form,.verification-form-section{padding:1rem .75rem}.certificate-input{font-size:16px;min-height:44px;padding:.875rem .875rem .875rem 2.75rem}.download-btn-right,.validate-button{font-size:.9375rem;min-height:44px;padding:.875rem 1rem}.center-header h2{font-size:1.25rem}.center-header p{font-size:.8125rem}.form-intro h3{font-size:1.125rem}.form-intro p{font-size:.8125rem}.certificate-preview{padding:1rem .75rem}.document-frame{padding:.75rem}}@media only screen and (min-width:376px) and (max-width:428px){.certificate-input{font-size:16px;min-height:44px}.download-btn-right,.validate-button{min-height:44px}}@media only screen and (max-width:932px) and (orientation:landscape){.hero-section{padding:.5rem 1rem}.hero-title{font-size:1rem;margin-bottom:.25rem}.hero-subtitle{font-size:.625rem;margin-bottom:.5rem}.hero-features{flex-direction:row;gap:.5rem;justify-content:center}.hero-feature{max-width:200px;padding:.5rem .75rem}.portal-container{padding:.5rem 1rem}.verification-card{margin:.5rem 0}.input-form,.verification-form-section{padding:1rem}.certificate-preview{max-height:60vh;padding:1rem}.certificate-preview,.document-frame{-webkit-overflow-scrolling:touch;overflow-y:auto}.document-frame{max-height:50vh}}@supports (-webkit-touch-callout:none){.certificate-input{border-radius:8px}.certificate-input,.certificate-input:focus{font-size:16px!important}.download-btn-right,.input-icon,.validate-button{-webkit-tap-highlight-color:rgba(217,119,6,.2);min-height:44px;min-width:44px}.certificate-portal,.certificate-preview,.portal-container{-webkit-overflow-scrolling:touch}.download-btn-right,.validate-button{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.certificate-input{-webkit-appearance:none;appearance:none}.certificate-input:focus{box-shadow:0 0 0 3px #d977061a}}@media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3),only screen and (device-width:390px) and (device-height:844px) and (-webkit-device-pixel-ratio:3),only screen and (device-width:393px) and (device-height:852px) and (-webkit-device-pixel-ratio:3),only screen and (device-width:428px) and (device-height:926px) and (-webkit-device-pixel-ratio:3){.certificate-portal{padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}.hero-section{padding-top:max(.875rem,env(safe-area-inset-top))}.portal-container{padding-bottom:max(2rem,env(safe-area-inset-bottom))}.download-btn-right,.validate-button{margin-bottom:env(safe-area-inset-bottom)}}@media (hover:none) and (pointer:coarse){.download-btn-right:active,.validate-button:active{opacity:.9;transform:scale(.98)}.certificate-input:focus{transform:scale(1.01)}.input-icon{min-height:44px;min-width:44px}.form-label{margin-bottom:.5rem}}@supports (-webkit-touch-callout:none){.certificate-portal,.portal-container{min-height:-webkit-fill-available}}.certificate-portal{-webkit-overflow-scrolling:touch;overscroll-behavior-x:none;overscroll-behavior-y:auto}@supports (-webkit-font-smoothing:antialiased){.certificate-input,.certificate-portal,.validate-button{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.admin-login-page{align-items:center;background:#f8fafc;display:flex;font-family:Inter,sans-serif;justify-content:center;min-height:100vh;padding:2rem}.login-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;max-width:400px;padding:3rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-title{color:#1e293b;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.login-subtitle{color:#64748b;font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{position:relative}.form-group label{display:block;margin-bottom:.5rem}.form-group input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:.875rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.login-button{align-items:center;background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;margin-top:.5rem;padding:.75rem 1.5rem;transition:background-color .2s ease}.login-button:hover:not(:disabled){background:#1d4ed8}.login-button:disabled{cursor:not-allowed;opacity:.6}.loading-spinner{animation:spin 1s ease-in-out infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.error-message,.success-message{font-size:.875rem;margin-bottom:1rem}.success-message{border-radius:6px;color:#166534;padding:.75rem}.back-to-website{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:1.5rem;text-align:center}.back-link{align-items:center;background:none;border:none;color:#64748b;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;gap:.5rem;text-decoration:none;transition:color .2s ease}.back-link:hover{color:#2563eb}@media (max-width:480px){.admin-login-page{padding:1rem}.login-container{margin:1rem;padding:2rem}}.certificate-generator{animation:fadeInUp .6s ease-out .1s both;height:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.generator-card{border-radius:8px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;height:100%;overflow:hidden;padding:1.25rem;position:relative}.card-title{border-bottom:2px solid #f1f5f9;gap:.75rem;padding-bottom:.75rem}.title-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 15px #6366f14d;transition:all .3s ease}.title-icon:hover{transform:scale(1.05) rotate(-5deg)}.title-content{gap:.125rem}.title-text{font-weight:700}.title-subtitle{font-size:.8125rem;font-weight:500}.card-subtitle{font-size:.8125rem;margin-bottom:1.25rem}.generator-form{flex:1 1;gap:1rem}.form-group{gap:.375rem}.form-group label{font-size:.8125rem;font-weight:500;gap:.375rem}.form-group label i{font-size:.875rem;width:14px}.form-group input,.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;height:36px;padding:.5rem .75rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#6366f1;outline:none}.form-group input:disabled,.form-group select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.radio-group{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:6px;display:flex;gap:.5rem;padding:.5rem;transition:all .3s ease}.radio-group:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea1a}.radio-option{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;display:flex;flex:1 1;gap:.375rem;height:32px;overflow:hidden;padding:.375rem .5rem;position:relative;transition:all .3s ease}.radio-option:before{background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.radio-option:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translateY(-1px)}.radio-option input[type=radio]{accent-color:#667eea;height:14px;margin:0;position:relative;width:14px;z-index:2}.radio-option input[type=radio]:checked+.radio-content{color:#667eea;font-weight:600}.radio-content{align-items:center;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;position:relative;transition:all .3s ease;z-index:2}.radio-content i{color:#64748b;font-size:.75rem;transition:color .3s ease}.radio-option input[type=radio]:checked+.radio-content i{color:#667eea}.file-help{color:#64748b}.file-help,.template-help{font-size:.6875rem;margin-top:.25rem}.template-help{color:#f59e0b;display:flex;gap:.25rem}.template-help,.template-select-group{align-items:center}.template-select{border:1px solid #d1d5db;transition:border-color .2s}.template-select:focus{border-color:#6366f1}.template-select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-group input[type=file]{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:flex;font-size:.8125rem;height:36px;padding:.5rem .75rem;transition:border-color .2s;width:100%}.form-group input[type=file]:focus{border-color:#6366f1;outline:none}.form-group input[type=file]:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.file-upload-area{margin-bottom:.5rem}.file-drop-zone{align-items:center;background:#fafbfc;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;display:flex;justify-content:center;min-height:80px;padding:1.5rem;text-align:center;transition:all .3s ease}.file-drop-zone:hover{background:#f0f9ff;border-color:#6366f1}.drop-zone-content{align-items:center;display:flex;flex-direction:column;gap:.5rem}.drop-zone-content i{color:#9ca3af;font-size:1.5rem}.drop-zone-text{color:#374151;font-size:.875rem;font-weight:500}.drop-zone-subtext{color:#6b7280;font-size:.75rem}.file-selected{background:#f0fdf4;border:1px solid #10b981;border-radius:6px;justify-content:space-between;padding:.75rem}.file-info,.file-selected{align-items:center;display:flex}.file-info{color:#059669;gap:.5rem}.file-info i{font-size:1rem}.file-name{font-size:.875rem;font-weight:500}.remove-file{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:background .2s}.remove-file:hover{background:#dc2626}.id-range-group{grid-gap:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;padding:.75rem}.range-input{display:flex;flex-direction:column;gap:.375rem}.range-input label{align-items:center;color:#64748b;display:flex;font-size:.75rem;font-weight:500;gap:.25rem}.id-preview,.range-input label i{font-size:.6875rem}.id-preview{align-items:center;background:#f0f9ff;border-left:3px solid #6366f1;border-radius:4px;color:#64748b;display:flex;gap:.375rem;grid-column:1/-1;padding:.375rem .5rem}.id-preview i{color:#6366f1}.generate-btn{background:#6366f1;border-radius:6px;font-size:.8125rem;font-weight:500;gap:.375rem;height:36px;margin-top:auto;padding:.5rem;transition:background .2s}.generate-btn:hover:not(:disabled){background:#5856eb}.generate-btn:disabled{background:#9ca3af}.generation-progress{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:1rem;padding:.75rem}.progress-text{font-size:.8125rem}.progress-percentage{color:#6366f1;font-size:.8125rem}.progress-bar{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.error-message{border-radius:6px;font-size:.8125rem;gap:.375rem;margin-top:.75rem;padding:.75rem}.success-message{border-radius:8px;margin-top:1rem;padding:1rem}.success-header{gap:.5rem;margin-bottom:.75rem}.success-header i{font-size:1.25rem}.success-header h3{font-size:1.125rem}.certificate-details{border-radius:6px;margin-bottom:.75rem;padding:.75rem}.detail-item{padding:.375rem 0}.detail-item .label,.detail-item .value{font-size:.8125rem}.certificate-id{font-size:.75rem;padding:.25rem .375rem}.pdf-ready{color:#059669;font-weight:600}.certificate-actions{flex-wrap:wrap;gap:.75rem}.download-btn{background:#10b981;border-radius:6px;font-size:.8125rem;gap:.375rem;height:36px;padding:.5rem 1rem}.download-btn:hover{background:#059669}.view-btn{align-items:center;background:#6366f1;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.8125rem;font-weight:600;gap:.375rem;height:36px;padding:.5rem 1rem;transition:all .3s ease}.view-btn:hover{background:#5856eb;transform:translateY(-1px)}.close-btn{border-radius:6px;font-size:.8125rem;gap:.375rem;height:36px;padding:.5rem 1rem}.bulk-results{gap:.75rem}.bulk-results,.result-stats{display:flex;flex-direction:column}.result-stats,.stat-item{gap:.375rem}.stat-item{align-items:center;border-radius:4px;display:flex;font-size:.8125rem;padding:.5rem}.stat-item.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#059669}.stat-item.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.success-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem}.success-list h4{color:#374151;font-size:.875rem;margin:0 0 .5rem}.certificate-list{display:flex;flex-direction:column;gap:.375rem}.cert-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;display:flex;justify-content:space-between;padding:.375rem .5rem}.cert-info{display:flex;flex-direction:column;gap:.125rem}.cert-id,.cert-name{font-size:.75rem}.cert-name{color:#64748b}.mini-download-btn{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.6875rem;padding:.25rem .375rem;transition:background .2s}.mini-download-btn:hover{background:#059669}.more-certs{color:#64748b;font-size:.75rem;font-style:italic;padding:.375rem;text-align:center}.error-list{background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.75rem}.error-list h4{color:#dc2626;font-size:.8125rem;margin:0 0 .375rem}.error-list ul{color:#dc2626;font-size:.75rem;margin:0;padding-left:1rem}@media (max-width:768px){.radio-group{flex-direction:column;gap:.5rem}.id-range-group{gap:.5rem;grid-template-columns:1fr}.certificate-actions{flex-direction:column;gap:.5rem}}@media (max-width:480px){.generator-card{padding:.75rem}.card-title,.title-icon{font-size:.875rem}.title-icon{height:32px;width:32px}}.template-manager{padding:1.5rem}.template-upload-card{height:100%}.card-content{display:flex;flex-direction:column;height:100%;padding:1.5rem}.card-title{border-bottom:1px solid #e2e8f0;gap:1rem;margin-bottom:.5rem;padding-bottom:1rem}.card-title,.title-icon{align-items:center;display:flex}.title-icon{background:#6366f1;border-radius:8px;color:#fff;font-size:1rem;height:40px;justify-content:center;width:40px}.title-content{display:flex;flex-direction:column;gap:.25rem}.title-text{color:#1e293b;font-size:1.125rem;font-weight:600;line-height:1}.title-subtitle{font-weight:400}.card-subtitle,.title-subtitle{color:#64748b;font-size:.875rem}.card-subtitle{margin-bottom:1.5rem}.template-selection{animation:slideInLeft .6s ease-out .1s both;margin-bottom:1.25rem}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.form-label{font-size:.875rem;margin-bottom:.75rem}.form-label i{font-size:1rem}.template-select-group{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;display:flex;gap:.5rem;padding:.5rem;transition:all .3s ease}.template-select-group:hover{border-color:#667eea;box-shadow:0 4px 15px #667eea1a}.template-select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;flex:1 1;font-size:.8125rem;font-weight:500;height:36px;padding:.5rem .75rem;transition:all .3s ease}.template-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.use-template-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:.8125rem;font-weight:600;gap:.375rem;height:36px;padding:.5rem 1rem;transition:all .3s ease;white-space:nowrap}.use-template-btn:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.current-template-status{animation:slideInRight .6s ease-out .2s both;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:8px;margin-bottom:1.25rem;overflow:hidden;padding:1rem;position:relative}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.current-template-status:before{background:linear-gradient(90deg,#10b981,#059669);content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:all .3s ease}.current-template-status:hover:before{background:linear-gradient(90deg,#059669,#047857);height:6px}.status-header{justify-content:space-between;margin-bottom:.75rem}.status-header,.status-info{align-items:center;display:flex}.status-info{gap:1rem}.status-icon{background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;box-shadow:0 4px 15px #10b9814d;color:#fff;font-size:1rem;height:36px;justify-content:center;width:36px}.status-icon,.status-title{align-items:center;display:flex}.status-title{color:#1e293b;font-size:.875rem;font-weight:600;gap:.375rem;margin-bottom:.125rem}.active-indicator{animation:pulse 2s infinite;color:#10b981;font-size:.5rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-text{color:#64748b;font-size:.75rem;font-weight:500}.remove-template-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:6px;box-shadow:0 4px 15px #ef44444d;color:#fff;cursor:pointer;display:flex;font-size:.8125rem;height:32px;justify-content:center;padding:.5rem;transition:all .3s ease;width:32px}.remove-template-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 6px 20px #ef444466;transform:translateY(-2px)}.current-template-preview{background:#fff;border:1px solid #d1d5db;border-radius:4px;overflow:hidden}.template-preview-img{background:#f9fafb;height:80px;object-fit:contain;width:100%}.upload-new-template{border-top:1px solid #e2e8f0;padding-top:1rem}.upload-title{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:1rem}.form-group{margin-bottom:.75rem}.form-label{align-items:center;color:#374151;display:flex;font-size:.8125rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.form-label i{color:#667eea;font-size:.875rem}.form-input{border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;height:36px;padding:.5rem .75rem;transition:border-color .2s;width:100%}.form-input:focus{border-color:#6366f1;outline:none}.required{color:#ef4444}.form-help{align-items:center;color:#64748b;display:flex;font-size:.6875rem;gap:.25rem;margin-top:.25rem}.form-help i{color:#f59e0b}.upload-form{display:flex;flex:1 1;flex-direction:column}.upload-area-container{flex:1 1;margin-bottom:1rem}.upload-area{align-items:center;background:linear-gradient(135deg,#fafbfc,#f8fafc);border:3px dashed #d1d5db;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;height:100px;justify-content:center;overflow:hidden;padding:1.5rem;position:relative;text-align:center;transition:all .4s ease}.upload-area:before{background:radial-gradient(circle,#667eea0d 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:scale(0);transition:all .4s ease;width:200%}.upload-area:hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-color:#667eea;box-shadow:0 10px 30px #667eea26;transform:translateY(-2px)}.upload-area:hover:before{transform:scale(1)}.upload-icon{margin-bottom:.5rem;position:relative;z-index:2}.upload-icon i{color:#9ca3af;font-size:2rem;transition:all .4s ease}.upload-area:hover .upload-icon i{color:#667eea;transform:scale(1.1)}.upload-content{position:relative;z-index:2}.upload-text{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:600;gap:.375rem;justify-content:center;margin-bottom:.25rem;transition:color .3s ease}.upload-area:hover .upload-text{color:#667eea}.upload-subtext{align-items:center;color:#6b7280;display:flex;font-size:.8125rem;gap:.375rem;justify-content:center;transition:color .3s ease}.upload-area:hover .upload-subtext{color:#764ba2}.upload-decoration{bottom:1rem;display:flex;gap:.25rem;opacity:.3;position:absolute;right:1rem;transition:opacity .3s ease}.upload-area:hover .upload-decoration{opacity:.6}.decoration-dot{animation:bounce 2s infinite;background:#667eea;border-radius:50%;height:6px;width:6px}.decoration-dot:nth-child(2){animation-delay:.2s}.decoration-dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.template-preview{background:#f0fdf4;border:2px solid #10b981;border-radius:6px;height:80px;padding:.375rem;position:relative}.preview-header{position:absolute;right:.5rem;top:.5rem;z-index:10}.remove-file-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:.75rem;height:24px;justify-content:center;width:24px}.preview-content{align-items:center;display:flex;gap:1rem;height:100%}.preview-image{border:1px solid #d1d5db;border-radius:4px;flex-shrink:0;height:50px;overflow:hidden;width:50px}.preview-image img{height:100%;object-fit:cover;width:100%}.preview-info{flex:1 1;text-align:left}.preview-status{color:#059669;font-weight:600}.preview-filename,.preview-status{font-size:.8125rem;margin-bottom:.125rem}.preview-filename{color:#374151;word-break:break-all}.preview-filesize{color:#64748b;font-size:.75rem}.upload-progress{margin-bottom:1rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-text{color:#374151;font-size:.875rem;font-weight:500}.progress-percentage{color:#10b981;font-size:.875rem;font-weight:600}.progress-bar-container{background:#f3f4f6;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-bar{background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;height:100%;transition:width .3s ease}.save-template-btn{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.8125rem;font-weight:500;gap:.375rem;height:36px;justify-content:center;margin-top:auto;padding:.5rem;transition:background .2s;width:100%}.save-template-btn:hover:not(:disabled){background:#059669}.save-template-btn:disabled{background:#9ca3af;cursor:not-allowed}@media (max-width:768px){.card-content,.template-manager{padding:1rem}.template-select-group{flex-direction:column}.use-template-btn{width:100%}.upload-area{height:80px;padding:1rem}.template-preview{height:80px;padding:.375rem}.preview-image{height:50px;width:50px}.remove-file-btn{font-size:.625rem;height:20px;width:20px}.preview-filename{font-size:.75rem}.preview-filesize{font-size:.6875rem}}@media (max-width:480px){.card-content{padding:.75rem}.card-title{font-size:1rem}.upload-area{height:60px;padding:.75rem}.template-preview{height:60px}.preview-image{height:40px;width:40px}}.certificate-stats{padding:1rem}.certificates-table.compact table{border-collapse:collapse;font-size:.875rem;width:100%}.certificates-table.compact td.compact,.certificates-table.compact th{border-bottom:1px solid #e5e7eb;padding:.5rem .75rem;text-align:left}.certificates-table.compact th{background-color:#f9fafb;color:#374151;font-size:.8125rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.certificates-table.compact th.sortable{cursor:pointer;padding-right:1.5rem;position:relative;transition:background-color .2s,color .2s;-webkit-user-select:none;user-select:none}.certificates-table.compact th.sortable:hover{background-color:#f3f4f6;color:#1f2937}.certificates-table.compact th.sortable .sort-icon{color:#3b82f6;font-size:.7rem;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.certificates-table.compact td.compact{color:#6b7280;font-size:.8125rem}.certificates-table.compact .cert-id.compact{color:#374151;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;font-weight:600}.status-badge{border-radius:12px;display:inline-block;font-size:.7rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.revoked{background:#fee2e2;color:#991b1b}.action-buttons-compact{align-items:center;display:flex;gap:.375rem}.download-btn-compact{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.375rem .5rem;transition:background-color .2s}.download-btn-compact:hover{background:#2563eb}.download-btn-compact:disabled{background:#9ca3af;cursor:not-allowed}.revoke-btn-compact{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.375rem .5rem;transition:all .2s}.revoke-btn-compact:hover{background:#dc2626;transform:translateY(-1px)}.revoke-btn-compact:active{transform:translateY(0)}.unrevoke-btn-compact{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.375rem .5rem;transition:all .2s}.unrevoke-btn-compact:hover{background:#059669;transform:translateY(-1px)}.unrevoke-btn-compact:active{transform:translateY(0)}.edit-btn-compact{background:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.375rem .5rem;transition:all .2s}.edit-btn-compact:hover{background:#2563eb;transform:translateY(-1px)}.edit-btn-compact:active{transform:translateY(0)}.edit-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.edit-modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.edit-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.edit-modal-header h3{color:#1e293b;font-size:1.25rem;font-weight:600;margin:0}.edit-modal-close{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.25rem;padding:.25rem;transition:color .2s}.edit-modal-close:hover{color:#1e293b}.edit-modal-form{padding:1.5rem}.edit-form-group{margin-bottom:1.25rem}.edit-form-group label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.edit-input,.edit-input-disabled{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-family:inherit;font-size:.875rem;padding:.75rem;transition:all .2s;width:100%}.edit-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-input-disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.edit-modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.edit-btn-cancel,.edit-btn-save{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.edit-btn-cancel{background:#f1f5f9;color:#475569}.edit-btn-cancel:hover{background:#e2e8f0;color:#334155}.edit-btn-save{background:#3b82f6;color:#fff}.edit-btn-save:hover{background:#2563eb;transform:translateY(-1px)}.pagination-container.compact{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-top:1rem;padding:.75rem 0}.pagination-info.compact{color:#6b7280;font-size:.8125rem;font-weight:500}.pagination-controls.compact{align-items:center;display:flex;gap:.5rem}.pagination-btn.compact{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:.75rem;height:2rem;justify-content:center;min-width:2rem;padding:.375rem .5rem;transition:all .2s}.pagination-btn.compact:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.pagination-btn.compact:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.5}.pagination-pages.compact{align-items:center;display:flex;gap:.25rem}.pagination-page.compact{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:2rem;justify-content:center;min-width:2rem;padding:.375rem .5rem;transition:all .2s}.pagination-page.compact:hover{background:#f3f4f6;border-color:#9ca3af}.pagination-page.compact.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.pagination-ellipsis.compact{color:#9ca3af;font-size:.75rem;padding:0 .25rem}.stats-summary{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.stat-card{border:1px solid #e5e7eb;border-radius:8px;gap:.75rem;padding:1rem}.stat-icon{background:#f9fafb;border-radius:6px;color:#6b7280;font-size:1.125rem;height:2.5rem;width:2.5rem}.stat-number{color:#111827;font-size:1.5rem}.stat-label{color:#6b7280;font-size:.8125rem;margin-top:.25rem}.stats-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;padding:1rem}.filter-row{align-items:end;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.filter-row:last-child{margin-bottom:0}.filter-group{display:flex;flex:1 1;flex-direction:column;min-width:180px}.filter-group.filter-actions{flex:0 1;justify-content:flex-end;min-width:auto}.filter-group label{color:#374151;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.filter-group input,.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s,box-shadow .2s}.filter-group input:focus,.filter-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-group input::placeholder{color:#9ca3af}.clear-filters-btn{align-items:center;background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.clear-filters-btn:hover{background:#4b5563}.clear-filters-btn:disabled{background:#9ca3af;cursor:not-allowed}.no-results{color:#6b7280;font-style:italic;padding:2rem;text-align:center}.no-results i{color:#9ca3af;display:block;font-size:2rem;margin-bottom:.5rem}.stats-filter{margin-bottom:1rem}.stats-filter label{display:block;margin-bottom:.5rem}@media (max-width:768px){.pagination-container.compact{align-items:stretch;flex-direction:column;gap:.75rem}.pagination-controls.compact{justify-content:center}.certificates-table.compact{overflow-x:auto}.certificates-table.compact table{min-width:600px}.filter-row{flex-direction:column;gap:.75rem}.filter-group{min-width:auto}.filter-group.filter-actions{align-self:stretch}.clear-filters-btn{justify-content:center;width:100%}}.admin-dashboard{background:#f9fafb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.admin-container{margin:0 auto;max-width:1400px;padding:0}.professional-admin-header{background:#1f2937;border-bottom:1px solid #374151;box-shadow:0 4px 12px #00000026;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-container{height:70px}.brand-icon{align-items:center;background:#374151;border-radius:10px;box-shadow:0 2px 8px #0003;display:flex;height:45px;justify-content:center;width:45px}.brand-icon img{height:32px;object-fit:contain;width:32px}.brand-info{align-items:flex-start;display:flex;flex-direction:column}.brand-title{color:#fff;font-size:1.25rem;font-weight:700;line-height:1.2;margin:0}.brand-subtitle{color:#d1d5db;font-size:.875rem;font-weight:500}.header-nav{flex:1 1;gap:2rem;justify-content:center}.nav-item{align-items:center;border-radius:8px;color:#d1d5db;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.nav-item:hover{background:#374151;color:#fff}.nav-item.active{background:#3b82f6;border:1px solid #2563eb;color:#fff}.nav-item i{font-size:1rem}.header-actions{align-items:center;display:flex;flex:0 0 auto;gap:1.5rem}.action-buttons{gap:.5rem}.action-btn,.action-buttons{align-items:center;display:flex}.action-btn{background:#374151;border:none;border-radius:8px;color:#d1d5db;cursor:pointer;height:40px;justify-content:center;position:relative;transition:all .2s ease;width:40px}.action-btn:hover{background:#4b5563;color:#fff}.user-profile{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:.75rem;padding:.5rem;position:relative;transition:all .2s ease}.user-profile:hover{background:#374151}.user-profile:hover .user-dropdown-menu{opacity:1;transform:translateY(0);visibility:visible}.user-avatar{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;display:flex;font-size:1rem;height:40px;justify-content:center;width:40px}.user-info{align-items:flex-start;display:flex;flex-direction:column}.user-name{color:#fff;font-size:.875rem;font-weight:600;line-height:1.2}.user-role{color:#d1d5db;font-size:.75rem;font-weight:500}.user-dropdown{color:#9ca3af;font-size:.75rem;transition:transform .2s ease}.user-profile:hover .user-dropdown{transform:rotate(180deg)}.user-dropdown-menu{background:#1f2937;border:1px solid #374151;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:.5rem;min-width:160px;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .2s ease;visibility:hidden;z-index:1000}.dropdown-item{align-items:center;background:none;border:none;color:#d1d5db;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#374151;color:#fff}.dropdown-item i{font-size:.875rem;width:16px}.admin-main{padding:2rem}.page-header{gap:1rem;margin-bottom:2rem}.header-icon,.page-header{align-items:center;display:flex}.header-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:15px;box-shadow:0 4px 12px #6366f14d;color:#fff;font-size:1.5rem;height:60px;justify-content:center;width:60px}.header-content h2{color:#1e293b;font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.header-content p{color:#64748b;font-size:1rem;margin:0}.header-actions{margin-left:auto}.refresh-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .3s ease}.refresh-btn:hover{background:#e2e8f0;color:#334155;transform:translateY(-1px)}.certificate-generator{max-width:600px}.generator-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:2rem}.generator-form{gap:1.5rem}.form-group,.generator-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{align-items:center;color:#374151;display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.form-group label i{color:#6366f1;width:16px}.form-group input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:.9375rem;padding:.875rem 1rem;transition:all .3s ease}.form-group input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;outline:none;transform:translateY(-1px)}.form-group input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.generate-btn{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;box-shadow:0 2px 4px #6366f133;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .3s ease}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#5b5bd6,#7c3aed);box-shadow:0 4px 12px #6366f14d;transform:translateY(-2px)}.generate-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.error-message{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;gap:.5rem;margin-top:1rem;padding:1rem}.success-message{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.success-header{align-items:center;color:#166534;display:flex;gap:.75rem;margin-bottom:1rem}.success-header i{font-size:1.5rem}.success-header h3{font-size:1.25rem;font-weight:600;margin:0}.certificate-details{background:#fff;border:1px solid #d1fae5;border-radius:8px;margin-bottom:1rem;padding:1rem}.detail-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:.5rem 0}.detail-item:last-child{border-bottom:none}.detail-item .label{color:#374151;font-weight:500}.detail-item .value{color:#1e293b;font-weight:600}.certificate-id{background:#f3f4f6;border-radius:4px;color:#059669;font-family:Monaco,Menlo,monospace;padding:.25rem .5rem}.certificate-actions{display:flex;gap:1rem;justify-content:center}.download-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.25rem;transition:all .3s ease}.download-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.close-btn{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .3s ease}.close-btn:hover{background:#e2e8f0;color:#334155}.certificate-stats{width:100%}.empty-state,.error-state,.loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.empty-state i,.error-state i,.loading-state i{font-size:3rem;margin-bottom:1rem;opacity:.5}.retry-btn{align-items:center;background:#6366f1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-top:1rem;padding:.75rem 1.25rem}.stats-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-icon{align-items:center;border-radius:10px;color:#fff;display:flex;font-size:1.25rem;height:50px;justify-content:center;width:50px}.stat-card.total .stat-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.stat-card.types .stat-icon{background:linear-gradient(135deg,#10b981,#059669)}.stat-card.popular .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-content{flex:1 1}.stat-number{color:#1e293b;font-size:2rem;font-weight:700;line-height:1;margin-bottom:.25rem}.stat-label{color:#64748b;font-size:.875rem;font-weight:500}.stats-filter{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem}.stats-filter label{color:#374151;font-size:.875rem;font-weight:500}.stats-filter select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.875rem;min-width:200px;padding:.5rem .75rem}.certificate-groups{display:flex;flex-direction:column;gap:1.5rem}.certificate-group{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.group-header{align-items:center;color:#fff;display:flex;justify-content:space-between;padding:1rem 1.5rem}.group-info h3{font-size:1.125rem;font-weight:600;margin:0}.group-info span{font-size:.875rem;opacity:.9}.group-count{background:#fff3;border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.group-content{padding:0}.no-certificates{color:#64748b;font-style:italic;padding:2rem;text-align:center}.certificates-table{overflow-x:auto}.certificates-table table{border-collapse:collapse;width:100%}.certificates-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#374151;font-size:.875rem;font-weight:600;padding:.75rem 1rem;text-align:left}.certificates-table td{border-bottom:1px solid #f1f5f9;font-size:.875rem;padding:.75rem 1rem}.certificates-table tr:hover{background:#f8fafc}.cert-id{color:#059669;font-family:Monaco,Menlo,monospace;font-weight:600}.download-btn-small{background:#10b981;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:.375rem .5rem;transition:all .3s ease}.download-btn-small:hover{background:#059669;transform:translateY(-1px)}.show-more{background:#f8fafc;border-top:1px solid #e2e8f0;color:#64748b;font-size:.875rem;font-style:italic;padding:1rem;text-align:center}@media (max-width:768px){.admin-header{padding:1rem}.admin-header-content{align-items:flex-start;flex-direction:column;gap:1rem}.admin-nav{overflow-x:auto;padding:0 1rem}.admin-main{padding:1rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{margin-left:0}.stats-summary{grid-template-columns:1fr}.stats-filter{align-items:flex-start;flex-direction:column;gap:.5rem}.stats-filter select{min-width:100%}.certificate-actions{flex-direction:column}.user-details{display:none}}.dashboard-content{padding:0}.dashboard-content .page-header{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;margin-bottom:2rem;padding:2rem;text-align:center}.dashboard-content .page-header .header-icon{background:none;border-radius:0;box-shadow:none;display:block;height:auto;margin-bottom:1.5rem;width:auto}.dashboard-content .page-header .header-icon i{color:#6366f1;font-size:4rem}.dashboard-content .page-header .header-content h1{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.dashboard-content .page-header .header-content p{color:#64748b;font-size:1rem;margin:0}.side-by-side-layout{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.left-panel,.right-panel{height:100%}.side-by-side-layout .certificate-generator,.side-by-side-layout .template-manager{padding:0}.side-by-side-layout .admin-card,.side-by-side-layout .generator-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000001a}@media (max-width:1024px){.side-by-side-layout{gap:1.5rem;grid-template-columns:1fr}}@media (max-width:768px){.dashboard-content .page-header .header-icon i{font-size:3rem}.dashboard-content .page-header .header-content h1{font-size:1.5rem}.side-by-side-layout{gap:1rem}}@media (max-width:480px){.dashboard-content .page-header .header-icon i{font-size:2.5rem}.dashboard-content .page-header .header-content h1{font-size:1.25rem}}.certificate-dashboard-section{border-top:2px solid #f1f5f9;margin-top:2rem;padding-top:2rem}.stats-content{width:100%}.certificate-dashboard-section .certificate-stats,.stats-content .certificate-stats{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:2rem}.certificate-dashboard-section .page-header,.stats-content .certificate-stats .page-header{align-items:center;background:none;border-bottom:2px solid #f1f5f9;border-radius:0;display:flex;justify-content:space-between;margin-bottom:2rem;padding:0 0 1rem;text-align:left}.certificate-dashboard-section .page-header .header-icon{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:60px;justify-content:center;margin-bottom:0;margin-right:1rem;width:60px}.certificate-dashboard-section .page-header .header-content{flex:1 1}.certificate-dashboard-section .page-header .header-content h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.certificate-dashboard-section .page-header .header-content p{color:#64748b;font-size:1rem;margin:0}.certificate-dashboard-section .refresh-btn{align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem;transition:all .3s ease}.certificate-dashboard-section .refresh-btn:hover{background:#e5e7eb;transform:translateY(-1px)}.certificate-dashboard-section .stats-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.certificate-dashboard-section .stat-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.certificate-dashboard-section .stat-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.certificate-dashboard-section .stat-card.total{border-left:4px solid #8b5cf6}.certificate-dashboard-section .stat-card.types{border-left:4px solid #10b981}.certificate-dashboard-section .stat-card.popular{border-left:4px solid #f59e0b}@media (max-width:768px){.certificate-dashboard-section .page-header{align-items:flex-start;flex-direction:column;gap:1rem}.certificate-dashboard-section .page-header .header-icon{margin-right:0}.certificate-dashboard-section .stats-summary{grid-template-columns:1fr}}.defronix-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#1f2937,#111827);border-bottom:1px solid #ffffff1a;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a,inset 0 1px 0 #ffffff0d;overflow:hidden;position:-webkit-sticky;position:sticky;position:relative;top:0;z-index:100}.defronix-header:before{background:radial-gradient(circle at 20% 50%,#d977060f 0,#0000 50%),radial-gradient(circle at 80% 50%,rgba(245,158,11,.035) 0,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.header-container{align-items:center;display:flex;height:64px;justify-content:space-between;margin:0 auto;max-width:1400px;padding:0 2rem;position:relative;width:100%;z-index:1}.header-brand{-webkit-tap-highlight-color:transparent;align-items:center;cursor:pointer;display:flex;flex:0 0 auto;gap:1rem;transition:opacity .2s ease;-webkit-user-select:none;user-select:none}.header-brand:hover{opacity:.9}.header-brand:active{opacity:.8;transform:scale(.98)}.logo-container{align-items:center;background:linear-gradient(135deg,#374151,#4b5563);border:1px solid #ffffff1a;border-radius:10px;box-shadow:0 4px 12px #0003,inset 0 1px 0 #ffffff1a;cursor:pointer;display:flex;height:44px;justify-content:center;overflow:hidden;pointer-events:auto;position:relative;transition:all .3s ease;width:44px}.logo-container:before{background:linear-gradient(135deg,#d9770626,#0000);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.logo-container:hover{background:linear-gradient(135deg,#4b5563,#6b7280);box-shadow:0 6px 16px #0000004d,inset 0 1px 0 #ffffff26;transform:translateY(-2px)}.logo-container:hover:before{opacity:1}.logo-image{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));height:32px;object-fit:contain;position:relative;transition:transform .3s ease;width:32px;z-index:1}.logo-container:hover .logo-image{transform:scale(1.05)}.brand-text{align-items:flex-start;cursor:pointer;display:flex;flex-direction:column;pointer-events:auto}.company-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#e5e7eb);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0;text-shadow:0 1px 2px #0003}.tagline{color:#9ca3af;font-size:.75rem;font-weight:500;letter-spacing:.3px;margin:0}.header-nav{align-items:center;display:flex;flex:0 0 auto}.nav-links{align-items:center;gap:.5rem}@media (max-width:768px){.header-container{height:64px;padding:0 1rem}.header-brand{gap:.75rem}.logo-container{height:44px;width:44px}.logo-image{height:32px;width:32px}.company-name{font-size:1.125rem}.tagline{font-size:.75rem;letter-spacing:.2px}.nav-links{gap:.25rem}}@media (max-width:480px){.header-container{height:60px;padding:0 .75rem}.logo-container{height:40px;width:40px}.logo-image{height:28px;width:28px}.company-name{font-size:1rem}.tagline{display:none;font-size:.75rem}.nav-links{gap:.125rem}}.defronix-footer{background:#1f2937;border-top:1px solid #374151;color:#fff;margin-top:auto}.footer-container{margin:0 auto;max-width:1400px;padding:0 2rem}.footer-content{grid-gap:2rem;align-items:flex-start;display:grid;gap:2rem;grid-template-columns:1.5fr 1fr 1fr 1fr;min-height:108px;padding:1.35rem 0 .9rem}.footer-section.company-info{max-width:350px}.footer-brand{align-items:center;display:flex;gap:.6rem;margin-bottom:.8rem}.footer-logo-container{align-items:center;background:#374151;border-radius:6px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.footer-logo-image{height:24px;object-fit:contain;width:24px}.footer-logo-icon{color:#60a5fa;font-size:1.75rem}.footer-brand-text{display:flex;flex-direction:column;gap:.25rem}.footer-company-name{color:#fff;font-size:1.5rem;font-weight:600;line-height:1.2;margin:0}.footer-tagline{color:#e5e7eb;font-size:.875rem;font-weight:400;line-height:1;margin:0}.company-description{color:#e5e7eb;font-size:.8rem;line-height:1.4;margin-bottom:.75rem}.certifications{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.certification-badge{align-items:center;background:#059669;border-radius:6px;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;white-space:nowrap}.certification-badge i{color:#34d399;font-size:1rem}.footer-section-title{color:#fff;font-size:1.125rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem;position:relative}.footer-section-title:after{background:#2563eb;border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;width:40px}.footer-section.impact{display:flex;flex-direction:column;height:100%;justify-content:flex-start}.impact-stats{gap:.75rem}.impact-item,.impact-stats{display:flex;flex-direction:column}.impact-item{align-items:flex-start;padding:.5rem 0}.impact-number{color:#60a5fa;font-size:1.25rem;font-weight:700;line-height:1;margin-bottom:.25rem}.impact-label{color:#d1d5db;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.footer-section.connect{padding-top:0}.social-links{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:repeat(3,1fr);justify-items:center;max-width:150px}.social-link{align-items:center;background:#374151;border:1px solid #ffffff1a;border-radius:6px;color:#d1d5db;display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .2s ease;width:40px}.social-link:hover{background:#4b5563;color:#fff;transform:translateY(-2px)}.social-link[aria-label*=Facebook]:hover{background:#1877f2}.social-link[aria-label*=Twitter]:hover,.social-link[aria-label*=X]:hover{background:#000}.social-link[aria-label*=WhatsApp]:hover{background:#25d366}.social-link[aria-label*=Telegram]:hover{background:#08c}.social-link[aria-label*=Instagram]:hover{background:#e4405f}.social-link[aria-label*=LinkedIn]:hover{background:#0077b5}.social-link i{font-size:1.25rem;position:relative;transition:transform .3s ease;z-index:1}.social-link:hover i{transform:scale(1.1)}.footer-section.contact{padding-top:0}.contact-info{display:flex;flex-direction:column;gap:1rem}.contact-item{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;display:flex;gap:1rem;padding:.875rem;transition:all .2s ease}.contact-item:hover{background:#ffffff14;border-color:#fff3}.contact-item i{color:#60a5fa;flex-shrink:0;font-size:1.25rem;text-align:center;width:24px}.contact-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.contact-label{color:#d1d5db;font-size:.75rem;font-weight:600;letter-spacing:.8px;line-height:1;text-transform:uppercase}.contact-value{color:#fff;font-size:.9375rem;font-weight:500;line-height:1.4;text-decoration:none;transition:color .3s ease;word-break:break-word}.contact-value:hover{color:#60a5fa}.footer-bottom{background:#0000001a;border-top:1px solid #374151;padding:1.35rem 0}.footer-bottom-content{align-items:center;display:flex;justify-content:center}.copyright{color:#d1d5db;font-size:.875rem;margin:0;text-align:center}@media (max-width:1024px){.footer-content{gap:1.5rem;grid-template-columns:1fr 1fr 1fr;padding:1.35rem 0 .9rem}.footer-section.company-info{grid-column:1/-1;margin-bottom:1rem;max-width:none}}@media (max-width:768px){.footer-container{padding:0 1rem}.footer-content{gap:1.5rem;grid-template-columns:1fr;padding:1.35rem 0 .9rem}.footer-section.company-info{max-width:none}.footer-brand{gap:.6rem}.footer-logo-container{height:32px;width:32px}.footer-logo-image{height:22px;width:22px}.footer-company-name{font-size:1.125rem}.company-description{font-size:.75rem}.contact-item{padding:.6rem}.social-links{gap:.6rem;grid-template-columns:repeat(3,1fr);max-width:120px}.social-link{height:40px;width:40px}}@media (max-width:480px){.footer-container{padding:0 1rem}.footer-content{gap:2rem;padding:1.575rem 0 1.125rem}.footer-brand{gap:.625rem}.footer-logo-container{height:40px;width:40px}.footer-logo-image{height:28px;width:28px}.footer-company-name{font-size:1.25rem}.footer-tagline{font-size:.8125rem}.company-description{font-size:.8125rem;line-height:1.5}.certifications{gap:.625rem}.certification-badge{font-size:.75rem;padding:.375rem .875rem}.footer-section-title{font-size:1rem;margin-bottom:1.25rem}.contact-item{gap:.75rem;padding:.75rem}.contact-item i{font-size:1.125rem}.contact-value{font-size:.875rem}.social-links{gap:.5rem;grid-template-columns:repeat(3,1fr);max-width:110px}.social-link{height:38px;width:38px}.social-link i{font-size:1rem}.footer-bottom{padding:1.125rem 0}.copyright{font-size:.8125rem}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}.app-nav{background:#1f2937;box-shadow:0 1px 2px #0000000d;color:#fff;justify-content:space-between;padding:1rem 2rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-nav,.nav-brand{align-items:center;display:flex}.nav-brand{font-size:1.25rem;font-weight:700;gap:.75rem}.nav-brand i{color:#60a5fa;font-size:1.5rem}.nav-links{display:flex;gap:1rem}.nav-link{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;text-decoration:none;transition:all .2s ease}.nav-link:hover{background:#ffffff26}.nav-link.active{background:#2563eb33;border-color:#2563eb;color:#bfdbfe}.nav-link.admin-access{background:#ef44441a;border-color:#ef44444d;color:#fca5a5}.nav-link.admin-access:hover{background:#ef444433;border-color:#ef4444}.nav-link i{font-size:1rem}.admin-login-container{background:#f8fafc;min-height:100vh;position:relative}.back-to-verification{align-items:center;background:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;left:2rem;padding:.75rem 1.25rem;position:absolute;top:2rem;transition:all .3s ease;z-index:10}.back-to-verification:hover{background:#4b5563;transform:translateY(-1px)}.verification-container{display:flex;flex-direction:column;min-height:100vh}.app-main{background:#fafbfc;flex:1 1}@media (max-width:768px){.app-nav{padding:1rem}.nav-brand{font-size:1.125rem}.back-to-verification,.nav-link{font-size:.8125rem;padding:.625rem 1rem}.back-to-verification{left:1rem;top:1rem}}.loading-screen{align-items:center;background:#f8fafc;color:#64748b;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.loading-spinner{color:#3b82f6;font-size:2rem;margin-bottom:1rem}.loading-spinner i{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}