.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-family);font-weight:var(--font-weight-semibold);border:none;cursor:pointer;transition:all .2s ease-in-out;text-decoration:none;letter-spacing:.01em;text-overflow:clip;box-sizing:border-box}.btn,.btn>*{white-space:nowrap;overflow:visible}.btn span{margin:0;padding:0;display:inline-block;max-width:100%;overflow:visible}.btn-sm{padding:.625rem 1.25rem;font-size:var(--font-size-sm);border-radius:1.5rem;height:38px;min-width:100px}.btn-md{padding:.875rem .75rem;font-size:var(--font-size-base);border-radius:1.75rem;height:50px;min-width:180px}.btn-lg{padding:1.125rem 2.5rem;font-size:var(--font-size-lg);border-radius:2rem;height:56px;min-width:180px}.btn-full-width{width:100%;min-width:180px;box-sizing:border-box;margin:0;display:flex;align-items:center;justify-content:center;padding-left:.375rem;padding-right:.375rem}.btn-full-width .btn-text-loading,.btn-full-width span{overflow:visible;white-space:nowrap;text-overflow:clip}.btn-primary{background-color:var(--color-primary);color:white;box-shadow:0 2px 8px rgba(30,75,143,.25);font-weight:600}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:0 4px 12px rgba(30,75,143,.35);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px rgba(30,75,143,.25)}.btn-secondary{background-color:white;color:var(--color-primary);border:2px solid var(--color-primary);font-weight:600}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary);border-color:var(--color-primary);color:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(30,75,143,.25)}.btn-danger{background-color:transparent;color:var(--color-danger);border:2px solid var(--color-danger);font-weight:600}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-light);border-color:var(--color-danger-dark);color:var(--color-danger-dark);transform:translateY(-1px)}.btn-disabled,.btn:disabled{background-color:var(--color-background-tertiary);color:var(--color-text-tertiary);cursor:not-allowed;transform:none;box-shadow:none;border-color:var(--color-border)}.btn-loading{cursor:wait}.btn-spinner{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.btn-text-loading{opacity:.6}.input-wrapper{margin-bottom:1.5rem}.input-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:.5rem}.input-required{color:var(--color-danger);margin-left:.25rem}.input-container{position:relative}.input-field{width:100%;padding:.75rem 1rem;font-size:var(--font-size-base);font-family:var(--font-family);color:var(--color-text-primary);background-color:white;border:2px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);height:48px}.input-field:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-field:disabled{background-color:var(--color-background-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}.input-field::placeholder{color:#d1d5db;opacity:.75}.input-success{border-color:var(--color-success);padding-right:3rem}.input-success:focus{border-color:var(--color-success);box-shadow:0 0 0 3px rgba(16,185,129,.1)}.input-error{padding-right:3rem}.input-error,.input-error:focus{border-color:var(--color-danger)}.input-error:focus{box-shadow:0 0 0 3px rgba(239,68,68,.1)}.input-password{padding-right:3rem}.input-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:var(--font-size-lg);pointer-events:none}.input-icon-success{color:var(--color-success)}.input-icon-error{color:var(--color-danger)}.input-toggle-password{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:color .2s ease;z-index:1}.input-toggle-password:hover{color:var(--color-text-primary)}.input-toggle-password:focus{outline:none;color:var(--color-primary)}.input-toggle-password:active{transform:translateY(-50%) scale(.95)}.input-eye-icon{width:1.25rem;height:1.25rem;stroke-width:1.5}.input-hint{margin-top:.25rem;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.input-error-message{margin-top:.25rem;font-size:var(--font-size-sm);color:var(--color-danger);font-weight:var(--font-weight-medium)}@media (max-width:768px){.input-field{font-size:16px;height:52px}}.card{background-color:white;border:1px solid var(--color-border);border-radius:1rem;padding:2rem;box-shadow:0 1px 3px rgba(0,0,0,.08);transition:all .25s ease}.card-hover:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-4px);cursor:pointer;border-color:var(--color-primary-light)}.card-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border-light)}.card-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem;line-height:1.3}.card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}@media (max-width:768px){.card{padding:1.25rem}}.badge{display:inline-flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge-md,.badge-sm{padding:.25rem .75rem;font-size:var(--font-size-xs)}.badge-lg{padding:.5rem 1rem;font-size:var(--font-size-sm)}.badge-success{background-color:rgba(16,185,129,.1);color:var(--color-success)}.badge-warning{background-color:rgba(245,158,11,.1);color:var(--color-warning)}.badge-danger{background-color:rgba(239,68,68,.1);color:var(--color-danger)}.badge-neutral{background-color:var(--color-background-tertiary);color:var(--color-text-secondary)}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary)}.global-footer{background:var(--color-text-primary);color:white;margin-top:auto;contain:layout style;will-change:transform}.footer-content{max-width:1200px;margin:0 auto;padding:1rem 2rem 1.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:2rem;gap:2rem}.footer-brand{max-width:320px}.footer-logo{display:flex;align-items:center;gap:.625rem;font-size:1.5rem;font-weight:700;color:white;margin-bottom:.5rem}.footer-logo svg{width:32px;height:32px;color:white}.footer-logo-img{width:auto;height:65px;max-width:240px;object-fit:contain}.footer-tagline{font-size:.9375rem;line-height:1.45;color:rgba(255,255,255,.8);margin:0}.footer-section-title{font-size:.875rem;font-weight:700;color:white;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.25rem}.footer-links li:last-child{margin-bottom:0}.footer-links a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.9375rem;transition:color .2s ease;display:inline-block}.footer-links a:hover{color:white;transform:translateX(2px)}.tool-category{margin-bottom:1.5rem}.category-label{font-size:.875rem;font-weight:600;color:rgba(255,255,255,.9);margin-bottom:.75rem}.footer-view-all-link{display:inline-block;margin-top:.25rem;color:rgba(255,255,255,.85);background:transparent!important;border:none!important;padding:0!important;text-decoration:none;font-weight:500;font-size:.9375rem;transition:color .2s ease}.footer-view-all-link:hover{color:white;text-decoration:underline;background:transparent!important}.footer-disclaimer{background:rgba(0,0,0,.2);padding:2.5rem 2rem;border-top:1px solid rgba(255,255,255,.1)}.disclaimer-content{max-width:1200px;margin:0 auto}.disclaimer-content h5{font-size:1rem;font-weight:700;color:#fbbf24;margin-bottom:var(--spacing-3);display:flex;align-items:center;gap:.5rem}.disclaimer-content p{font-size:.8125rem;line-height:1.6;color:rgba(255,255,255,.85);margin-bottom:var(--spacing-3)}.disclaimer-content p:last-child{margin-bottom:0}.disclaimer-content strong{color:white;font-weight:600}.footer-disclaimer-row{border-top:1px solid rgba(255,255,255,.1);padding:.75rem 2rem;max-width:1200px;margin:0 auto;text-align:center}.footer-disclaimer-text{display:block;font-size:.8125rem;font-style:italic;font-weight:300;color:rgba(255,255,255,.65);line-height:1.5;margin:0;text-align:center}.footer-bottom{padding:.75rem 2rem 1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center;align-items:center;max-width:1200px;margin:0 auto;text-align:center}.footer-bottom p{font-size:.875rem;color:rgba(255,255,255,.6);margin:0}.footer-bottom-legal a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s ease}.footer-bottom-legal a:hover{color:white}.footer-love{font-style:italic}@media (max-width:1024px){.footer-content{grid-template-columns:1fr 1fr;gap:1.5rem}.footer-brand{max-width:100%;grid-column:1/-1}}@media (max-width:640px){.footer-content{grid-template-columns:1fr;gap:.75rem;padding:.75rem 1.5rem 5rem}.footer-section{margin-bottom:0}.footer-section-title{margin-bottom:.3rem}.footer-links li{margin-bottom:.2rem}.footer-links li:last-child{margin-bottom:0}.footer-view-all-link{margin-top:.2rem}.footer-disclaimer-row{padding:.5rem 1.5rem}.footer-disclaimer{padding:2rem 1.5rem}.disclaimer-content p{font-size:.75rem}.footer-bottom{flex-direction:column;gap:.25rem;text-align:center;padding:.75rem 1.5rem}}