/* Estilo moderno da ferramenta Criptografia de Texto */
:root{--cripto-bg-light:#fff;--cripto-text-primary:#343a40;--cripto-text-secondary:#6c757d;--cripto-border-light:#e9ecef;--cripto-bg-input:#fff;--cripto-bg-light-neutral:#f8f9fa;--cripto-bg-light-neutral-2:#f0f8f5;--cripto-bg-light-neutral-3:#e8f5e8;--cripto-bg-light-neutral-4:#fafbfc;--cripto-bg-light-neutral-5:#f1f3f4;--cripto-text-mono:#2c3e50;--cripto-border-dark:#dee2e6;--cripto-border-blue:#0072bc;--cripto-text-blue:#0072bc;--cripto-shadow-light:rgba(0,0,0,0.1);--cripto-shadow-dark:rgba(0,0,0,0.15);--cripto-shadow-darker:rgba(0,0,0,0.08);}
[data-theme="dark"]{--cripto-bg-light:#2d2d2d;--cripto-text-primary:#e9ecef;--cripto-text-secondary:#adb5bd;--cripto-border-light:#495057;--cripto-bg-input:#3d3d3d;--cripto-bg-light-neutral:#1e1e1e;--cripto-bg-light-neutral-2:#1a1a1a;--cripto-bg-light-neutral-3:#0d2818;--cripto-bg-light-neutral-4:#1a1a1a;--cripto-bg-light-neutral-5:#2a2a2a;--cripto-text-mono:#b8c5d6;--cripto-border-dark:#495057;--cripto-border-blue:#5ac8fa;--cripto-text-blue:#5ac8fa;--cripto-shadow-light:rgba(0,0,0,0.3);--cripto-shadow-dark:rgba(0,0,0,0.4);--cripto-shadow-darker:rgba(0,0,0,0.2);}
.criptografia-container{background:var(--cripto-bg-light);border-radius:1rem;box-shadow:0 0.5rem 1rem var(--cripto-shadow-dark);padding:2rem;margin:1.5rem auto;max-width:700px;transition:all 0.3s ease;overflow:hidden;position:relative;border:2px solid transparent;}
.criptografia-container:hover{box-shadow:0 8px 25px var(--cripto-shadow-light);transform:translateY(-2px);}
.criptografia-opcoes{display:flex;gap:1.5rem;margin-bottom:2rem;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--cripto-bg-light-neutral),var(--cripto-border-light));padding:1.5rem;border-radius:0.75rem;border:1px solid var(--cripto-border-light);}
.criptografia-opcoes label{display:flex;align-items:center;gap:0.75rem;font-weight:600;color:var(--cripto-text-primary);cursor:pointer;padding:0.875rem 1.5rem;border-radius:0.5rem;transition:all 0.3s ease;border:2px solid transparent;background:var(--cripto-bg-light);box-shadow:0 2px 8px var(--cripto-shadow-light);position:relative;overflow:hidden;min-width:180px;justify-content:center;font-size:0.95rem;}
.criptografia-opcoes label:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--cripto-shadow-dark);background:var(--cripto-bg-light-neutral);}
.criptografia-opcoes input[type="radio"]{accent-color:#00a651;width:18px;height:18px;margin:0;}
.criptografia-opcoes input[type="radio"]:checked+span{color:#00a651;font-weight:700;}
.criptografia-opcoes label:has(input:checked){border-color:var(--primary-green);background:linear-gradient(135deg,var(--cripto-bg-light-neutral-2),var(--cripto-bg-light-neutral-3));box-shadow:0 4px 20px rgba(0,166,81,0.2);}
.criptografia-inputs{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;}
.criptografia-inputs textarea{width:100%;min-height:120px;padding:1rem 1.25rem;font-size:1rem;border:2px solid var(--cripto-border-light);border-radius:0.5rem;background-color:var(--cripto-bg-input);color:var(--cripto-text-primary);transition:all 0.3s ease;font-family:inherit;resize:vertical;box-sizing:border-box;font-weight:500;}
.criptografia-inputs textarea:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px rgba(0,166,81,0.1);transform:translateY(-1px);background-color:var(--cripto-bg-light-neutral);}
.criptografia-inputs textarea:hover{border-color:var(--cripto-border-blue);background-color:var(--cripto-bg-light-neutral);}
.criptografia-inputs textarea::placeholder{color:var(--cripto-text-secondary);font-weight:400;}
.criptografia-inputs input[type="text"]{width:100%;padding:1rem 1.25rem;font-size:1rem;border:2px solid var(--cripto-border-light);border-radius:0.5rem;background-color:var(--cripto-bg-input);color:var(--cripto-text-primary);transition:all 0.3s ease;font-family:inherit;box-sizing:border-box;font-weight:500;}
.criptografia-inputs input[type="text"]:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px rgba(0,166,81,0.1);transform:translateY(-1px);background-color:var(--cripto-bg-light-neutral);}
.criptografia-inputs input[type="text"]:hover{border-color:var(--cripto-border-blue);background-color:var(--cripto-bg-light-neutral);}
.criptografia-inputs input[type="text"]::placeholder{color:var(--cripto-text-secondary);font-weight:400;}
.criptografia-botoes{display:flex;gap:1rem;margin-top:1.5rem;justify-content:center;}
.criptografia-botoes button{flex:1;max-width:200px;padding:1rem 1.5rem;font-size:1rem;font-weight:600;border-radius:0.5rem;cursor:pointer;transition:all 0.3s ease;border:none;display:flex;align-items:center;justify-content:center;gap:0.5rem;box-shadow:0 2px 8px rgba(0,0,0,0.1);}
.criptografia-botao-executar{background:linear-gradient(135deg,#00a651,#0072bc);color:#fff;}
.criptografia-botao-executar:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,166,81,0.3);background:linear-gradient(135deg,#007e3a,#005a93);}
.criptografia-botoes button:active{transform:translateY(0);}
.criptografia-resultado{background:var(--cripto-bg-light);border-radius:1rem;margin-top:2rem;box-shadow:0 4px 20px var(--cripto-shadow-darker);border:1px solid var(--cripto-border-light);position:relative;opacity:0;transform:translateY(20px);transition:all 0.5s ease;display:none;overflow:hidden;}
.criptografia-resultado.show{opacity:1;transform:translateY(0);display:block;animation:resultFadeIn 0.6s ease-out;}
@keyframes resultFadeIn{from{opacity:0;transform:translateY(30px) scale(0.98);}to{opacity:1;transform:translateY(0) scale(1);}}
.criptografia-resultado.success{border-left:4px solid var(--success);}
.criptografia-resultado.success .resultado-header{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-bottom:1px solid #b8dabc;}
[data-theme="dark"] .criptografia-resultado.success .resultado-header{background:linear-gradient(135deg,#1e4620,#0d3d2b);border-bottom:1px solid #0d3d2b;}
.criptografia-resultado.error{border-left:4px solid var(--danger);}
.criptografia-resultado.error .resultado-header{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-bottom:1px solid #f1aeb5;}
[data-theme="dark"] .criptografia-resultado.error .resultado-header{background:linear-gradient(135deg,#4a1a1a,#2a0e0e);border-bottom:1px solid #2a0e0e;}
.criptografia-botoes button.loading{pointer-events:none;opacity:0.7;position:relative;}
.criptografia-botoes button.loading::after{content:'';position:absolute;width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.resultado-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:linear-gradient(135deg,var(--cripto-bg-light-neutral),var(--cripto-border-light));border-bottom:1px solid var(--cripto-border-dark);flex-wrap:wrap;gap:1rem;}
.resultado-titulo{display:flex;align-items:center;gap:0.75rem;font-weight:600;font-size:1.1rem;color:var(--cripto-text-primary);}
.resultado-titulo svg{color:var(--cripto-text-blue);flex-shrink:0;}
.resultado-status{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;border-radius:2rem;font-size:0.875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;}
.resultado-status.success{background:rgba(40,167,69,0.1);color:var(--success);border:1px solid rgba(40,167,69,0.2);}
[data-theme="dark"] .resultado-status.success{background:rgba(16,185,129,0.15);color:#10b981;border:1px solid rgba(16,185,129,0.3);}
.resultado-status.error{background:rgba(220,53,69,0.1);color:var(--danger);border:1px solid rgba(220,53,69,0.2);}
[data-theme="dark"] .resultado-status.error{background:rgba(239,68,68,0.15);color:#ef4444;border:1px solid rgba(239,68,68,0.3);}
.resultado-status svg{flex-shrink:0;}
.resultado-body{padding:0;}
.resultado-conteudo{padding:1.5rem;background:var(--cripto-bg-light-neutral-4);margin:0;}
.conteudo-texto{font-family:'SFMono-Regular','Monaco','Consolas','Liberation Mono','Courier New',monospace;font-size:0.95rem;line-height:1.6;color:var(--cripto-text-mono);word-break:break-all;white-space:pre-wrap;background:var(--cripto-bg-light);padding:1.25rem;border-radius:0.5rem;border:1px solid var(--cripto-border-light);box-shadow:inset 0 1px 3px var(--cripto-shadow-light);max-height:300px;overflow-y:auto;position:relative;}
.conteudo-texto::-webkit-scrollbar{width:6px;}
.conteudo-texto::-webkit-scrollbar-track{background:var(--cripto-bg-light-neutral-5);border-radius:3px;}
.conteudo-texto::-webkit-scrollbar-thumb{background:#c1c8cd;border-radius:3px;}
[data-theme="dark"] .conteudo-texto::-webkit-scrollbar-thumb{background:#666;}
.conteudo-texto::-webkit-scrollbar-thumb:hover{background:#a8b2ba;}
[data-theme="dark"] .conteudo-texto::-webkit-scrollbar-thumb:hover{background:#888;}
.resultado-acoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;padding:1.5rem;background:var(--cripto-bg-light-neutral);border-top:1px solid var(--cripto-border-dark);}
.btn-acao{display:flex;align-items:center;justify-content:center;gap:0.75rem;padding:0.875rem 1.25rem;border:none;border-radius:0.5rem;font-size:0.9rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;text-decoration:none;box-shadow:0 2px 8px var(--cripto-shadow-light);position:relative;overflow:hidden;}
.btn-acao:before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.5s;}
.btn-acao:hover:before{left:100%;}
.btn-copiar-simples{background:linear-gradient(135deg,#0072bc,#0056b3);color:#fff;}
.btn-copiar-simples:hover{background:linear-gradient(135deg,#005a93,#004085);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,114,188,0.3);}
.btn-copiar-detalhado{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;}
.btn-copiar-detalhado:hover{background:linear-gradient(135deg,#1e7e34,#17a2b8);transform:translateY(-2px);box-shadow:0 4px 15px rgba(40,167,69,0.3);}
.btn-acao:active{transform:translateY(0);}
.btn-acao svg{flex-shrink:0;}
.btn-acao.loading{pointer-events:none;opacity:0.7;}
.btn-acao.loading::after{content:'';position:absolute;width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;}
.aviso-senha{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-left:4px solid var(--warning);padding:1rem;margin-top:1rem;border-radius:0.5rem;color:#856404;font-size:0.9rem;line-height:1.5;display:flex;align-items:flex-start;gap:0.75rem;opacity:0;transform:translateY(10px);transition:all 0.4s ease;}
[data-theme="dark"] .aviso-senha{background:linear-gradient(135deg,#4a3800,#6b5000);border-left-color:#fbbf24;color:#fef08a;}
.aviso-senha.show{opacity:1;transform:translateY(0);}
.aviso-senha svg{color:var(--warning);flex-shrink:0;margin-top:2px;}
[data-theme="dark"] .aviso-senha svg{color:#fbbf24;}
@media (max-width:768px){.criptografia-container{margin:1rem;padding:1.5rem;max-width:none;}
.criptografia-opcoes{flex-direction:column;gap:1rem;padding:1.25rem;}
.criptografia-opcoes label{width:100%;min-width:auto;padding:1rem;font-size:0.9rem;}
.criptografia-inputs textarea{min-height:100px;padding:0.875rem 1rem;font-size:0.95rem;}
.criptografia-inputs input[type="text"]{padding:0.875rem 1rem;font-size:0.95rem;}
.criptografia-botoes{flex-direction:row;justify-content:center;gap:0.75rem;}
.criptografia-botoes button{padding:1rem 1.25rem;font-size:0.95rem;max-width:180px;}
.criptografia-resultado{margin-top:1.5rem;border-radius:0.75rem;}
.resultado-header{flex-direction:column;align-items:flex-start;gap:0.75rem;padding:1rem 1.25rem;}
.resultado-titulo{font-size:1rem;}
.resultado-status{align-self:flex-end;font-size:0.8rem;padding:0.4rem 0.8rem;}
.resultado-conteudo{padding:1.25rem;}
.conteudo-texto{font-size:0.9rem;padding:1rem;max-height:250px;}
.resultado-acoes{grid-template-columns:1fr;gap:0.75rem;padding:1.25rem;}
.btn-acao{padding:1rem;font-size:0.9rem;gap:0.5rem;}
.btn-acao svg{width:16px;height:16px;}}
@media (max-width:480px){.criptografia-container{margin:0.5rem;padding:1rem;}
.criptografia-opcoes{gap:0.75rem;padding:1rem;}
.criptografia-opcoes label{padding:0.875rem;font-size:0.85rem;}
.criptografia-inputs textarea{min-height:80px;padding:0.75rem;font-size:0.9rem;}
.criptografia-inputs input[type="text"]{padding:0.75rem;font-size:0.9rem;}
.criptografia-botoes button{padding:0.875rem 1rem;font-size:0.9rem;}
.criptografia-resultado{margin-top:1rem;border-radius:0.5rem;}
.resultado-header{padding:0.875rem 1rem;gap:0.5rem;}
.resultado-titulo{font-size:0.95rem;gap:0.5rem;}
.resultado-titulo svg{width:18px;height:18px;}
.resultado-status{font-size:0.75rem;padding:0.35rem 0.7rem;}
.resultado-conteudo{padding:1rem;}
.conteudo-texto{font-size:0.85rem;padding:0.875rem;max-height:200px;}
.resultado-acoes{padding:1rem;gap:0.5rem;}
.btn-acao{padding:0.875rem 0.75rem;font-size:0.85rem;gap:0.4rem;}
.btn-acao svg{width:14px;height:14px;}}
.criptografia-container>*{animation:slideInFromBottom 0.5s ease-out;}
@keyframes slideInFromBottom{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.criptografia-resultado:hover{box-shadow:0 6px 25px var(--cripto-shadow-dark);transform:translateY(-1px);}
.resultado-header:hover .resultado-titulo svg{transform:scale(1.1);transition:transform 0.3s ease;}
.conteudo-texto:hover{box-shadow:inset 0 2px 6px var(--cripto-shadow-light);}
.btn-acao{animation:buttonSlideIn 0.4s ease-out;animation-fill-mode:both;}
.btn-copiar-simples{animation-delay:0.1s;}
.btn-copiar-detalhado{animation-delay:0.2s;}
@keyframes buttonSlideIn{from{opacity:0;transform:translateY(10px) scale(0.95);}to{opacity:1;transform:translateY(0) scale(1);}}
@media (prefers-reduced-motion:reduce){.criptografia-container,.criptografia-container>*,.criptografia-resultado,.criptografia-botoes button:hover,.criptografia-inputs textarea:focus,.criptografia-inputs input:focus,.btn-acao,.resultado-header:hover .resultado-titulo svg,.criptografia-resultado:hover,.conteudo-texto:hover{animation:none;transform:none;transition:opacity 0.2s ease;}}