.ffc-input{width:100%!important;max-width:none!important;height:45px!important;padding:10px 12px!important;border:1px solid var(--ffc-border)!important;border-radius:var(--ffc-radius-sm)!important;font-size:18px!important;line-height:1.5!important;box-sizing:border-box!important;background-color:var(--ffc-bg-input)!important;color:var(--ffc-text);display:block!important;margin-bottom:15px;transition:border-color var(--ffc-transition-base),box-shadow var(--ffc-transition-base);-webkit-appearance:none}.ffc-input:focus{outline:0;border-color:var(--ffc-primary);box-shadow:0 0 0 3px var(--ffc-focus-ring)}.ffc-form-wrapper{max-width:600px;margin:30px auto;padding:30px;background:var(--ffc-bg-card);border-radius:var(--ffc-radius-lg);box-shadow:var(--ffc-shadow-md);display:flex;flex-direction:column;align-items:center}.ffc-form-title{margin:0 0 25px 0;font-size:24px;color:var(--ffc-text);text-align:center;font-weight:600;width:100%}.ffc-submission-form{width:100%;max-width:450px;display:flex;flex-direction:column;align-items:stretch}.ffc-form-field{margin-bottom:20px;width:100%}.ffc-form-field label{display:block;margin-bottom:8px;font-weight:500;color:var(--ffc-text-secondary);font-size:18px}.ffc-form-field label .required{color:var(--ffc-danger);font-weight:700;margin-left:3px}.ffc-radio-group{display:flex;flex-direction:column;gap:10px}.ffc-radio-group label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.ffc-lgpd-consent{margin:25px 0 20px 0;padding:20px;background:var(--ffc-bg-alt);border:2px solid var(--ffc-primary);border-radius:var(--ffc-radius-lg);box-shadow:0 2px 8px var(--ffc-focus-ring)}.ffc-consent-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;margin-bottom:0;font-weight:400}.ffc-consent-label input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:2px 0 0 0;cursor:pointer;flex-shrink:0;accent-color:var(--ffc-primary)}.ffc-consent-text{flex:1;font-size:15px;line-height:1.6;color:var(--ffc-text)}.ffc-consent-text a{color:var(--ffc-link);text-decoration:underline;font-weight:500;transition:color var(--ffc-transition-base)}.ffc-consent-text a:hover{color:var(--ffc-link-hover);text-decoration:none}.ffc-consent-text .required{color:var(--ffc-danger);font-weight:700;margin-left:3px}.ffc-consent-description{margin:12px 0 0 32px;padding:12px;background:var(--ffc-bg);border-left:3px solid var(--ffc-primary);border-radius:var(--ffc-radius-sm);font-size:13px;line-height:1.5;color:var(--ffc-text-muted)}.ffc-consent-description a{color:var(--ffc-link);text-decoration:none;font-weight:500}.ffc-consent-description a:hover{text-decoration:underline}.ffc-consent-label input[type=checkbox]:invalid{outline:2px solid var(--ffc-danger);outline-offset:2px}.ffc-consent-label input[type=checkbox]:valid{outline:0}.ffc-consent-label input[type=checkbox]:focus-visible{outline:2px solid var(--ffc-primary);outline-offset:2px}.ffc-lgpd-consent.error{border-color:var(--ffc-danger);background:var(--ffc-danger-bg)}.ffc-lgpd-consent.error .ffc-consent-text{color:var(--ffc-danger-text)}.ffc-lgpd-consent.checked{border-color:var(--ffc-success);background:var(--ffc-success-bg)}@media (max-width:768px){.ffc-lgpd-consent{padding:15px;margin:20px 0 15px 0}.ffc-consent-label{gap:10px}.ffc-consent-text{font-size:14px}.ffc-consent-description{margin-left:0;font-size:12px}}@media (prefers-contrast:high){.ffc-lgpd-consent{border-width:3px;border-color:#000}.ffc-consent-text{color:#000}.ffc-consent-text a{color:#00e;text-decoration:underline}}@media print{.ffc-lgpd-consent{display:none}}.ffc-security-container{margin-top:25px;padding-top:25px;border-top:1px solid var(--ffc-border-light);width:100%}.ffc-captcha-row{margin-bottom:20px;padding:20px;background:var(--ffc-primary-light);border:2px solid var(--ffc-primary);border-radius:var(--ffc-radius-lg);box-shadow:0 2px 8px var(--ffc-focus-ring);width:100%;box-sizing:border-box}.ffc-captcha-row label{display:block;margin-bottom:10px;font-weight:600;color:var(--ffc-primary);font-size:18px}.ffc-captcha-row .ffc-input{border:2px solid var(--ffc-primary)!important;background:var(--ffc-bg-input)!important;margin-bottom:0!important}.ffc-captcha-row .ffc-input:focus{border-color:var(--ffc-primary-hover);box-shadow:0 0 0 3px var(--ffc-focus-ring)}.ffc-submit-btn{width:100%;padding:15px;background:var(--ffc-primary);color:var(--ffc-text-on-primary);border:none;border-radius:5px;font-size:18px;font-weight:600;cursor:pointer;transition:background var(--ffc-transition-slow),transform .1s;box-sizing:border-box}.ffc-submit-btn:hover{background:var(--ffc-primary-hover)}.ffc-submit-btn:active{transform:scale(.98)}.ffc-submit-btn:focus-visible{outline:2px solid var(--ffc-primary);outline-offset:2px}.ffc-submit-btn:disabled{background:var(--ffc-border);cursor:not-allowed;transform:none}.ffc-message{margin-top:20px;padding:15px;border-radius:5px;font-size:14px;line-height:1.5}.ffc-message.ffc-success{background:var(--ffc-success-bg);color:var(--ffc-success-text);border:1px solid var(--ffc-success-border)}.ffc-message.ffc-error{background:var(--ffc-danger-bg);color:var(--ffc-danger-text);border:1px solid var(--ffc-danger-border)}.ffc-verification-container{max-width:600px;margin:30px auto;padding:30px;background:var(--ffc-bg-card);border-radius:var(--ffc-radius-lg);box-shadow:var(--ffc-shadow-md);display:flex;flex-direction:column;align-items:center}.ffc-verification-header{margin-bottom:30px;text-align:center;width:100%}.ffc-verification-header h2{margin:0 0 10px 0;font-size:24px;color:var(--ffc-text);font-weight:600}.ffc-verification-header p{margin:0;color:var(--ffc-text-muted);font-size:16px}.ffc-verification-manual{width:100%;display:flex;flex-direction:column;align-items:center}.ffc-verification-form{width:100%;max-width:450px;display:flex;flex-direction:column;align-items:stretch}.ffc-verify-input-group{display:flex;gap:10px;margin-bottom:20px}.ffc-verify-input{padding:12px 15px!important;border:2px solid var(--ffc-border-light)!important;border-radius:5px!important;font-size:18px!important;font-family:monospace!important;text-transform:uppercase;letter-spacing:2px;text-align:center;background:var(--ffc-bg-input);color:var(--ffc-text);transition:border-color var(--ffc-transition-slow)}.ffc-verify-input:focus{outline:0;border-color:var(--ffc-primary)!important;box-shadow:0 0 0 3px var(--ffc-focus-ring)}.ffc-verify-input-group .ffc-submit-btn{flex:0 0 120px;width:auto}.ffc-no-js-security{margin-top:5px;width:100%}.ffc-verify-result{margin-top:20px}.ffc-verify-error{padding:15px;background:var(--ffc-danger-bg);color:var(--ffc-danger-text);border:1px solid var(--ffc-danger-border);border-radius:5px;font-size:18px}.ffc-verify-success{padding:20px;background:var(--ffc-success-bg);color:var(--ffc-success-text);border:1px solid var(--ffc-success-border);border-radius:5px}.ffc-verify-success h3{margin:0 0 15px 0;font-size:18px}.ffc-verify-success p{margin:10px 0;font-size:18px}.ffc-verify-success hr{margin:15px 0;border:none;border-top:1px solid var(--ffc-success-border)}.ffc-verify-success h4{margin:15px 0 10px 0;font-size:18px}.ffc-verify-data-list{list-style:none;padding:0;margin:0}.ffc-verify-data-list li{padding:8px 0;border-bottom:1px solid var(--ffc-success-border);font-size:18px}.ffc-verify-data-list li:last-child{border-bottom:none}.ffc-magic-link-container{position:relative;min-height:200px}.ffc-certificate-preview{max-width:700px;margin:0 auto;background:var(--ffc-bg-card);border:2px solid var(--ffc-primary);border-radius:var(--ffc-radius-lg);overflow:hidden;box-shadow:0 4px 12px var(--ffc-focus-ring);animation:fadeInUp .5s ease}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ffc-preview-header{background:linear-gradient(135deg,var(--ffc-primary) 0,var(--ffc-primary-hover) 100%);color:var(--ffc-text-on-primary);padding:20px;text-align:center}.ffc-status-badge{display:inline-block;font-size:22px;font-weight:600;padding:5px 15px;background:rgba(255,255,255,.2);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ffc-status-badge.success{background:rgba(212,237,218,.3)}.ffc-preview-body{padding:30px}.ffc-preview-body h3{margin:0 0 20px 0;font-size:20px;color:var(--ffc-text);font-weight:600;border-bottom:2px solid var(--ffc-primary);padding-bottom:10px}.ffc-preview-body h4{margin:25px 0 15px 0;font-size:16px;color:var(--ffc-text-secondary);font-weight:600}.ffc-detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--ffc-border-light)}.ffc-detail-row:last-child{border-bottom:none}.ffc-detail-row .label{font-weight:600;color:var(--ffc-text-secondary);font-size:14px}.ffc-detail-row .value{color:var(--ffc-text);font-size:14px;text-align:right;max-width:60%;word-wrap:break-word}.ffc-detail-row .value.code{font-family:'Courier New',monospace;font-size:16px;color:var(--ffc-primary);font-weight:600;letter-spacing:1px}.ffc-preview-body hr{margin:20px 0;border:none;border-top:1px solid var(--ffc-border-light)}.ffc-appointment-verification .ffc-certificate-header{text-align:center;margin-bottom:20px}.ffc-appointment-verification .ffc-auth-code-display{margin:10px 0}.ffc-appointment-verification .ffc-auth-code-display span{font-family:'Courier New',monospace;font-size:20px;font-weight:700;color:var(--ffc-primary);letter-spacing:2px}.ffc-appointment-status{display:inline-block;padding:4px 14px;border-radius:var(--ffc-radius-sm);font-size:13px;font-weight:600;text-transform:uppercase}.ffc-status-pending{background:var(--ffc-bg-alt);color:var(--ffc-text-muted)}.ffc-status-confirmed{background:var(--ffc-success-bg);color:var(--ffc-success-text)}.ffc-status-cancelled{background:var(--ffc-danger-bg);color:var(--ffc-danger-text)}.ffc-status-completed{background:var(--ffc-info-bg);color:var(--ffc-info-text)}.ffc-status-no_show{background:var(--ffc-warning-bg);color:var(--ffc-warning-text)}.ffc-appointment-verification .ffc-detail-row .ffc-detail-label{font-weight:600;color:var(--ffc-text-secondary);min-width:120px}.ffc-appointment-verification .ffc-detail-row .ffc-detail-value{color:var(--ffc-text)}.ffc-preview-actions{padding:25px 30px;text-align:center;background:var(--ffc-bg-alt);border-top:1px solid var(--ffc-border-light)}.ffc-download-btn{display:inline-block;background:linear-gradient(135deg,var(--ffc-primary) 0,var(--ffc-primary-hover) 100%);color:var(--ffc-text-on-primary);border:none;padding:15px 40px;font-size:18px;font-weight:600;border-radius:5px;cursor:pointer;transition:all var(--ffc-transition-slow);box-shadow:0 4px 12px var(--ffc-focus-ring)}.ffc-download-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px var(--ffc-focus-ring)}.ffc-download-btn:active{transform:translateY(0);box-shadow:var(--ffc-shadow-sm)}.ffc-download-btn:focus-visible{outline:2px solid var(--ffc-primary);outline-offset:2px}.ffc-download-btn:disabled{background:var(--ffc-border);cursor:not-allowed;transform:none;box-shadow:none}.ffc-has-geofence .ffc-submission-form{display:none!important}.ffc-has-geofence.ffc-validated .ffc-submission-form{display:block!important}.ffc-geofence-loading-msg{text-align:center;padding:30px 20px}.ffc-geofence-loading-msg p{margin:20px 0 0 0;color:var(--ffc-text-muted);font-size:16px}.ffc-geofence-blocked{background:var(--ffc-warning-bg);border-left:4px solid var(--ffc-warning-border);padding:15px 20px;margin:20px 0;border-radius:var(--ffc-radius-sm)}.ffc-geofence-blocked p{margin:0;color:var(--ffc-warning-text);font-size:15px}.ffc-geofence-admin-bypass{background:var(--ffc-info-bg);border-left:4px solid var(--ffc-info-border);padding:15px 20px;margin:0 0 20px 0;border-radius:var(--ffc-radius-sm)}.ffc-geofence-admin-bypass p{margin:0;color:var(--ffc-info-text);font-size:15px;font-weight:500}.ffc-verify-loading{text-align:center;padding:60px 20px}.ffc-verify-loading p{margin:20px 0 0 0;color:var(--ffc-text-muted);font-size:18px}.ffc-spinner{width:50px;height:50px;margin:0 auto;border:4px solid var(--ffc-border-light);border-top:4px solid var(--ffc-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@media (max-width:768px){.ffc-certificate-preview,.ffc-form-wrapper,.ffc-verification-container{padding:20px;margin:15px}.ffc-form-title,.ffc-verification-header h2{font-size:18px}.ffc-verify-input-group{flex-direction:column}.ffc-verify-input-group .ffc-submit-btn{flex:1;width:100%}.ffc-detail-row{flex-direction:column;align-items:flex-start;gap:8px}.ffc-detail-row .value{text-align:left;max-width:100%}.ffc-download-btn{width:100%;padding:12px 20px;font-size:18px}.ffc-preview-body h3{font-size:18px}.ffc-status-badge{font-size:18px}}@media print{.ffc-preview-actions,.ffc-preview-header,.ffc-submit-btn,.ffc-verify-input-group{display:none!important}.ffc-certificate-preview{border:none;box-shadow:none}}.ffc-success-container{text-align:center;padding:40px 20px;background:var(--ffc-bg-alt);border-radius:var(--ffc-radius-lg);margin:20px 0}.ffc-success-icon{width:80px;height:80px;background:var(--ffc-success);color:var(--ffc-text-on-primary);font-size:50px;line-height:80px;border-radius:50%;margin:0 auto 20px;text-align:center}.ffc-success-title{color:var(--ffc-text);margin-bottom:20px}.ffc-auth-code{background:var(--ffc-bg-alt);padding:5px 10px;border-radius:3px;font-family:monospace;font-size:18px}@media (prefers-reduced-motion:reduce){.ffc-certificate-preview{animation:none}.ffc-spinner{animation:none}.ffc-consent-text a,.ffc-download-btn,.ffc-input,.ffc-submit-btn,.ffc-verify-input{transition:none}}