.active-tab{border-bottom:2px solid #6366f1;color:#6366f1}.tab-link{padding-bottom:4px}.sig-color-btn{width:24px;height:24px;border-radius:50%;border:2px solid #fff0}.sig-color-btn.active{border-color:#6366f1}.pen-width-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:9999px;border:1.5px solid #e2e8f0;background:#fff;font-size:.8rem;font-weight:500;color:#64748b;cursor:pointer;transition:all 0.15s ease}.pen-width-btn:hover{border-color:#a5b4fc;color:#4f46e5}.pen-width-btn.active{border-color:#6366f1;background:#eef2ff;color:#4f46e5;font-weight:600}.pen-dot{display:inline-block;border-radius:50%;background:currentColor}.attest-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%);color:#fff;padding:12px 24px;border-radius:12px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:8px;box-shadow:0 10px 25px -5px rgb(99 102 241 / .4);opacity:0;visibility:hidden;transition:all 0.4s cubic-bezier(.4,0,.2,1);z-index:2000;white-space:nowrap}.attest-toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.canvas-control-tooltip{position:fixed;background:#1e293b;color:#fff;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.15s ease;z-index:2000;white-space:nowrap}.canvas-control-tooltip.show{opacity:1;visibility:visible}.editor-canvas-scroll{max-height:60vh;overflow-y:auto}#preview-content img{max-width:100%;height:auto;margin-bottom:1rem}.attest-toolbar{display:flex;flex-direction:row;gap:.5rem;padding:.5rem;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:.75rem;border:1px solid #e2e8f0;margin-bottom:.75rem;box-shadow:0 2px 8px -2px rgb(0 0 0 / .05)}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;color:#4c1d95;background:linear-gradient(135deg,#f5f3ff 0%,#ede9fe 100%);border:1px solid #c4b5fd;border-radius:.625rem;box-shadow:0 2px 6px -1px rgb(139 92 246 / .15);cursor:pointer;transition:all 0.25s ease;flex:1;white-space:nowrap}.toolbar-btn svg{width:.9rem;height:.9rem;color:#7c3aed;transition:transform 0.2s ease}.toolbar-btn:hover{background:linear-gradient(135deg,#ede9fe 0%,#ddd6fe 100%);border-color:#a78bfa;color:#5b21b6;transform:translateY(-2px);box-shadow:0 6px 15px -3px rgb(139 92 246 / .25)}.toolbar-btn:hover svg{transform:scale(1.1)}.toolbar-btn:active{transform:translateY(0);box-shadow:0 2px 4px -1px rgb(139 92 246 / .2)}@media (min-width:768px){.attest-toolbar{justify-content:center;padding:.75rem 1rem;gap:.75rem}.toolbar-btn{flex:0 1 auto;padding:.75rem 1.5rem;font-size:.875rem;gap:.625rem}.toolbar-btn svg{width:1.125rem;height:1.125rem}}@media (max-width:767px){#date-format-dropdown{right:auto!important;left:50%;transform:translateX(-50%)}}@media (max-width:540px){.toolbar-btn span{display:none}.toolbar-btn{padding:.6rem;justify-content:center}.toolbar-btn svg{width:1.1rem;height:1.1rem}}.attest-spinner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .92);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.3s ease,visibility 0.3s ease}.attest-spinner-overlay.show{opacity:1;visibility:visible}.attest-spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:attest-spin 0.8s linear infinite}@keyframes attest-spin{to{transform:rotate(360deg)}}.attest-spinner-message{margin-top:1rem;font-size:1rem;font-weight:500;color:#6366f1}.upload-area-modern{position:relative;z-index:100;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem 2rem;border:2px dashed #c7d2fe;border-radius:1.25rem;background:linear-gradient(135deg,#f5f3ff 0%,#eef2ff 50%,#e0e7ff 100%);cursor:pointer;transition:all 0.3s ease}.upload-area-modern:hover{border-color:#818cf8;background:linear-gradient(135deg,#ede9fe 0%,#e0e7ff 50%,#c7d2fe 100%);transform:translateY(-2px);box-shadow:0 10px 25px -5px rgb(99 102 241 / .15)}.upload-area-modern.dragover{border-color:#6366f1;background:linear-gradient(135deg,#e0e7ff 0%,#c7d2fe 50%,#a5b4fc 100%);transform:scale(1.02);box-shadow:0 15px 30px -5px rgb(99 102 241 / .25)}.upload-icon-wrapper{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:1.25rem;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 100%);border-radius:50%;box-shadow:0 8px 20px -4px rgb(99 102 241 / .4);transition:transform 0.3s ease,box-shadow 0.3s ease}.upload-area-modern:hover .upload-icon-wrapper{transform:scale(1.08);box-shadow:0 12px 25px -4px rgb(99 102 241 / .5)}.upload-icon{width:40px;height:40px;color:#fff}.upload-title{font-size:1.25rem;font-weight:600;color:#1e293b;margin-bottom:.5rem;text-align:center}.upload-subtitle{font-size:.95rem;color:#64748b;margin-bottom:1.25rem}.upload-browse-link{color:#6366f1;font-weight:600;text-decoration:underline;text-underline-offset:2px}.upload-file-types{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.file-type-badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;color:#6366f1;background-color:rgb(99 102 241 / .1);border-radius:9999px;border:1px solid rgb(99 102 241 / .2)}.star-blink{animation:star-blink 1.5s ease-in-out infinite}@keyframes star-blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.3)}}