.hash-input-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.hash-input-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}.hash-input-title{color:#0f172a;align-items:center;gap:.5rem;margin:0;font-size:.95rem;font-weight:700;display:flex}.hash-mode-tabs{border:1px solid #e2e8f0;border-radius:8px;gap:0;margin:1rem 1.25rem 0;display:flex;overflow:hidden}.hash-mode-tab{color:#64748b;cursor:pointer;background:#fff;border:none;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.hash-mode-tab.active{color:#fff;background:#5a4ff3}.hash-mode-tab:not(.active):hover{background:#f8fafc}.hash-textarea{resize:vertical;color:#1e293b;box-sizing:border-box;background:#fff;border:none;outline:none;width:100%;min-height:120px;padding:1.25rem;font-family:Fira Code,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem;line-height:1.6}.hash-textarea::placeholder{color:#cbd5e1}.hash-file-zone{text-align:center;color:#94a3b8;cursor:pointer;border:2px dashed #e2e8f0;border-radius:10px;margin:0 1.25rem 1.25rem;padding:1.5rem;font-size:.85rem;transition:all .2s}.hash-file-zone:hover{color:#5a4ff3;background:#faf5ff;border-color:#5a4ff3}.hash-file-input{display:none}.hash-file-name{color:#5a4ff3;margin-top:.5rem;font-size:.8rem;font-weight:600}.hash-results-grid{flex-direction:column;gap:.75rem;display:flex}.hash-result-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:1rem;padding:1rem 1.25rem;transition:box-shadow .2s;display:flex}.hash-result-row:hover{box-shadow:0 2px 8px #0000000a}.hash-result-algo{text-transform:uppercase;letter-spacing:.06em;text-align:center;border-radius:6px;flex-shrink:0;min-width:80px;padding:.35rem .75rem;font-size:.75rem;font-weight:700}.hash-result-algo.md5{color:#92400e;background:#fef3c7}.hash-result-algo.sha1{color:#1e40af;background:#dbeafe}.hash-result-algo.sha256{color:#166534;background:#dcfce7}.hash-result-algo.sha384{color:#5b21b6;background:#ede9fe}.hash-result-algo.sha512{color:#9d174d;background:#fce7f3}.hash-result-value{color:#334155;word-break:break-all;flex:1;font-family:Fira Code,monospace;font-size:.8rem;line-height:1.5}.hash-copy-btn{cursor:pointer;color:#64748b;background:0 0;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;align-items:center;padding:.4rem;transition:all .2s;display:flex}.hash-copy-btn:hover{color:#5a4ff3;background:#f1f5f9}.hash-copy-btn.copied{color:#10b981;border-color:#10b981}.hash-empty-state{text-align:center;color:#94a3b8;padding:2rem;font-size:.9rem}.hash-computing{color:#5a4ff3;align-items:center;gap:.5rem;padding:1rem;font-size:.85rem;font-weight:600;display:flex}@keyframes hash-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hash-spinner{animation:1s linear infinite hash-spin}
