*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-card: #ffffff;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--border-radius: 6px;color:var(--color-text-primary);background-color:var(--color-bg-primary)}html,body{margin:0;padding:0;min-width:320px}#root{width:100%;display:flex;flex-direction:column}@media(min-width:769px){html,body,#root{height:100dvh;max-height:100dvh;overflow:hidden}html[data-app-route=signature],html[data-app-route=document],html[data-app-route=signature] body,html[data-app-route=document] body,html[data-app-route=signature] #root,html[data-app-route=document] #root{height:auto;max-height:none;overflow:visible}}@media(max-width:768px){html,body{height:auto;overflow-x:hidden;overflow-y:auto}#root{height:auto;min-height:100dvh;overflow:visible}}button{font-family:inherit;transition:all .2s}button:focus,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}input,select,textarea{font-family:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=range]{-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;height:18px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#10b981;border:2px solid white;box-shadow:0 2px 4px #0003;margin-top:-6px}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#10b981;border:2px solid white;box-shadow:0 2px 4px #0003}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:#d1d5db}input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:#d1d5db}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-light-theme,.modal-light-theme *{color:#111827}@media(max-width:768px){button{min-height:44px;padding:8px 12px}input,select,textarea{min-height:44px;padding:8px}body{font-size:14px}}[data-sonner-toaster]{position:fixed!important;top:16px!important;left:50%!important;transform:translate(-50%)!important;z-index:9999!important}[data-sonner-toast]{box-shadow:0 4px 12px #00000026!important}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh;width:100%;background-color:#f9fafb}.app-loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-color-scheme:dark){.app-loading{background-color:#111827}.app-loading-spinner{border-color:#374151;border-top-color:#60a5fa}}.pwa-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.pwa-install{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:8px;border:1px solid var(--color-border, #e2e8f0);background-color:var(--color-bg-card, #ffffff);color:var(--color-text-primary, #1e293b);font-size:14px;font-weight:500;line-height:1.2;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .12s ease}.pwa-install:hover{border-color:var(--color-primary, #0ea5e9);color:var(--color-primary, #0ea5e9)}.pwa-install:active{transform:translateY(1px)}.pwa-install[data-highlight=true]{border-color:var(--color-primary, #0ea5e9);color:var(--color-primary, #0ea5e9);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary, #0ea5e9) 22%,transparent)}.pwa-ios-hint{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1.4;color:var(--color-text-secondary, #475569)}.pwa-ios-hint strong{font-weight:600;color:var(--color-text-primary, #1e293b)}.pwa-update{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:9999;display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 24px));padding:12px 14px;border-radius:12px;border:1px solid var(--color-border, #e2e8f0);background-color:var(--color-bg-card, #ffffff);color:var(--color-text-primary, #1e293b);box-shadow:0 8px 24px #0f172a2e;font-size:14px;line-height:1.4}.pwa-update-text{flex:1 1 220px;min-width:0}.pwa-update-actions{display:flex;gap:8px}.pwa-update button{min-height:40px;padding:8px 14px;border-radius:8px;border:1px solid var(--color-border, #e2e8f0);background-color:transparent;color:var(--color-text-primary, #1e293b);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease}.pwa-update button.pwa-update-primary{background-color:var(--color-primary, #0ea5e9);border-color:var(--color-primary, #0ea5e9);color:#fff}.pwa-update button:hover{border-color:var(--color-primary, #0ea5e9)}.pwa-update button.pwa-update-primary:hover{background-color:var(--color-primary-hover, #0284c7);border-color:var(--color-primary-hover, #0284c7);color:#fff}@media(prefers-reduced-motion:reduce){.pwa-install,.pwa-update button{transition:none}}
