.app{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8ecf1)}.app-header{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;padding:2rem;text-align:center;box-shadow:0 4px 6px #0000001a}.app-header h1{margin:0;font-size:2.5rem;font-weight:700}.app-header p{margin:.5rem 0 0;font-size:1.1rem;opacity:.9}.app-main{max-width:1400px;margin:0 auto;padding:2rem}.certificate-form{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:3rem}.certificate-form h2{margin:0 0 1.5rem;color:#1e293b;font-size:1.8rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#475569;font-weight:500;font-size:.95rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .3s;box-sizing:border-box}.form-group input:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.submit-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.certificates-list{margin-top:3rem}.certificates-list h2{color:#1e293b;font-size:1.8rem;margin-bottom:1.5rem}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(900px,1fr));gap:2rem}.certificate-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.certificate-preview{margin-bottom:1rem}.certificate-border{background:linear-gradient(135deg,#2563eb,#1d4ed8);padding:20px;border-radius:8px}.certificate-content{background:#fff;padding:3rem;border:3px solid #e8b923;border-radius:4px;position:relative}.watermark{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) rotate(-15deg);width:60%;opacity:.05;pointer-events:none}.serial-tag{position:absolute;right:1.5rem;top:1.5rem;background:#0f172a;color:#fff;border:1px solid rgba(232,185,35,.7);border-radius:6px;padding:.35rem .6rem;font-family:monospace;font-size:.8rem;box-shadow:0 2px 6px #00000026}.subtitle{color:#475569;margin-top:.25rem;font-size:1rem}.qr-caption{color:#94a3b8;font-size:.75rem;margin-top:.25rem}.seal{width:100px;height:auto;opacity:.95;filter:drop-shadow(0 3px 6px rgba(0,0,0,.15));margin-bottom:.5rem}.signatory-name{margin-top:.25rem;color:#1e293b;font-weight:700}.certificate-header{text-align:center;margin-bottom:2rem}.logo-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.logo-circle{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.org-name{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0;letter-spacing:2px}.certificate-title{text-align:center;margin-bottom:2rem}.certificate-title h1{color:#2563eb;font-size:3rem;margin:0;font-weight:800;letter-spacing:3px}.title-line{width:200px;height:4px;background:linear-gradient(90deg,transparent,#e8b923,transparent);margin:1rem auto}.certificate-body{text-align:center;margin-bottom:2rem}.intro-text{color:#64748b;font-size:1.1rem;margin-bottom:1rem}.student-name{color:#1e293b;font-size:2.5rem;font-weight:700;margin:1.5rem 0;border-bottom:2px solid #e8b923;display:inline-block;padding-bottom:.5rem}.course-text{font-size:1.2rem;margin:1.5rem 0;display:block}.label{color:#64748b;font-weight:500}.course-name{color:#2563eb;font-weight:700;margin-left:.5rem}.dates-section{display:flex;justify-content:center;gap:3rem;margin:2rem 0}.date-item{text-align:center}.date-label{display:block;color:#64748b;font-size:.9rem;margin-bottom:.3rem}.date-value{display:block;color:#1e293b;font-weight:600;font-size:1rem}.certificate-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:3rem;padding-top:2rem;border-top:2px solid #e2e8f0}.qr-section{text-align:center}.qr-code{width:120px;height:120px;border:3px solid #2563eb;border-radius:8px;padding:8px;background:#fff}.dir{font-size:15px;font-weight:600;position:absolute;right:40%;bottom:10%}.card2{text-align:end;border:1px solid black;margin-top:8px;padding:5px;border-radius:10px}.shtamp{width:150px;margin-left:500px}.imzo{width:100px;rotate:30deg}.glspon{display:flex;gap:30px;align-items:center}.spon{width:200px}.activ{width:70px;border-radius:50%}.volna{position:absolute;width:12%;top:14%;left:10%}.volna2{position:absolute;width:12%;top:14%;right:5%}.cert-number{font-size:.8rem;color:#64748b;margin-top:.5rem;font-family:monospace}.signature-section{text-align:center}.signature-line{width:200px;height:2px;background:#1e293b;margin-bottom:.5rem}.signature-text{color:#64748b;font-size:.9rem;margin:0}.download-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#059669,#047857);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.download-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #05966966}.loading,.empty-state{text-align:center;padding:3rem;color:#64748b;font-size:1.2rem}.empty-state p{margin:.5rem 0}@media (max-width: 1024px){.certificates-grid{grid-template-columns:1fr}.certificate-content{padding:2rem}.student-name{font-size:2rem}.certificate-title h1{font-size:8rem}}.verify-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8ecf1);display:flex;align-items:center;justify-content:center;padding:2rem}.verify-container{background:#fff;border-radius:16px;padding:3rem;max-width:600px;width:100%;box-shadow:0 4px 20px #0000001a;text-align:center}.loading-spinner{width:60px;height:60px;border:5px solid #e2e8f0;border-top:5px solid #2563eb;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon{width:80px;height:80px;background:linear-gradient(135deg,#059669,#047857);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 1.5rem;animation:scaleIn .5s ease-out}.error-icon{width:80px;height:80px;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;margin:0 auto 1.5rem;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.verify-container h2{color:#1e293b;font-size:2rem;margin-bottom:2rem}.certificate-details{background:#f8fafc;border-radius:12px;padding:2rem;margin:2rem 0;text-align:left}.detail-item{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid #e2e8f0}.detail-item:last-child{border-bottom:none}.detail-label{color:#64748b;font-weight:500}.detail-value{color:#1e293b;font-weight:600;text-align:right}.detail-value.cert-num{font-family:monospace;font-size:.9rem}.verify-badge{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #059669;border-radius:12px;padding:1rem;margin:2rem 0}.verify-badge p{color:#047857;font-weight:600;margin:0}.error-message{color:#dc2626;font-size:1.2rem;font-weight:500;margin:2rem 0}.back-link{display:inline-block;margin-top:2rem;padding:.75rem 2rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;transition:all .3s}.back-link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2563eb66}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{width:100%;max-width:640px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1.2rem;color:#0f172a}.close-btn{background:transparent;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:#64748b}.close-btn:hover{color:#0f172a}.modal-body{padding:1rem 1.25rem 1.25rem}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color:#1e293b;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}
