@import url('open-iconic/font/css/open-iconic-bootstrap.min.css'); html, body { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; padding: 0; margin: 0; width: 100%; } html, body { height: 100%; overflow: hidden; } main, .page { margin: 0; padding: 0; width: 100%; } article { height: calc(100vh - 36px); display: flex; flex-direction: column; overflow-y: auto; padding: 0 !important; margin: 0 !important; } .receiver-page-layout { display: flex; flex-direction: column; height: 100%; overflow: hidden; } .receiver-signature-panel { flex: 0 0 auto; } .receiver-viewer-wrapper { flex: 1 1 0; min-height: 0; overflow: hidden; } .valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; } .invalid { outline: 1px solid red; } .validation-message { color: red; } #blazor-error-ui { background: lightyellow; bottom: 0; box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2); display: none; left: 0; padding: 0.6rem 1.25rem 0.7rem 1.25rem; position: fixed; width: 100%; z-index: 1000; } #blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; } .dx-blazor-reporting-container { height: calc(100vh - 166px) !important; width: 100% !important; } /* ── Force DevExpress viewer pages into a single centered column ─────────── */ .dxbrv-report-preview-content { display: flex !important; flex-direction: column !important; align-items: center !important; } /* ── Annotation signature checkbox overlays ─────────────────────────────── */ .annot-sig-cb-wrapper { display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 6px; font-size: 0.75rem; font-weight: 600; font-family: "Segoe UI", Arial, sans-serif; padding: 0 12px; overflow: hidden; cursor: pointer; user-select: none; background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%); border: none; color: #ffffff; box-shadow: 0 2px 8px rgba(44, 62, 80, 0.35); transition: box-shadow 0.18s, filter 0.18s; } .annot-sig-cb-wrapper:hover { filter: brightness(1.12); box-shadow: 0 4px 14px rgba(44, 62, 80, 0.45); } .annot-sig-cb-wrapper--checked { background: linear-gradient(135deg, #1a6b2a 0%, #27ae60 100%); box-shadow: 0 2px 8px rgba(26, 107, 42, 0.35); } .annot-sig-cb-wrapper--checked:hover { filter: brightness(1.1); box-shadow: 0 4px 14px rgba(26, 107, 42, 0.45); } .annot-sig-cb { display: none; } .annot-sig-cb__label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; letter-spacing: 0.01em; } /* ── Envelope info header ────────────────────────────────────────────────── */ .receiver-info-header { border-bottom: 1px solid rgba(0,0,0,.08); } .receiver-info-header__gradient { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 10px 16px 8px; background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%); color: #fff; } .receiver-info-header__left { display: flex; align-items: center; gap: 10px; min-width: 0; } .receiver-info-header__icon { flex-shrink: 0; opacity: .85; } .receiver-info-header__title { font-size: 0.92rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 340px; } .receiver-info-header__sender { font-size: 0.72rem; opacity: .8; margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 400px; } .receiver-info-header__badges { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; } .receiver-info-badge { display: inline-flex; align-items: center; background: rgba(255,255,255,.18); color: #fff; border-radius: 20px; padding: 2px 9px; font-size: 0.70rem; font-weight: 500; white-space: nowrap; } .receiver-info-badge--muted { background: rgba(255,255,255,.10); opacity: .8; } .receiver-info-badge--accent { background: rgba(39,174,96,.35); border: 1px solid rgba(39,174,96,.5); } .receiver-info-message { padding: 7px 16px; font-size: 0.78rem; color: #444; border-bottom: 1px solid rgba(0,0,0,.05); white-space: pre-wrap; line-height: 1.45; } .receiver-info-private-message { display: flex; align-items: flex-start; gap: 4px; padding: 5px 16px 6px; font-size: 0.75rem; color: #5a5a72; background: #f8f7ff; border-top: 1px solid rgba(90,80,180,.12); } /* ── Signature action bar ────────────────────────────────────────────────── */ .receiver-action-bar { border-bottom: 1px solid rgba(0,0,0,.08); background: #fff; } .receiver-action-bar__inner { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 7px 14px; } .receiver-action-bar__progress { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; } /* ── Home page ───────────────────────────────────────────────────────────── */ .home-page-wrapper { display: flex; flex-direction: column; align-items: center; min-height: calc(100vh - 36px); background: linear-gradient(160deg, #1e2e3e 0%, #2c3e50 40%, #3498db 100%); padding-bottom: 36px; } .home-hero-header { width: 100%; padding: 48px 24px 36px; text-align: center; } .home-hero-header__inner { display: inline-flex; align-items: center; gap: 20px; color: #fff; } .home-hero-header__icon { opacity: 0.90; flex-shrink: 0; } .home-hero-header__title { font-size: 2rem; font-weight: 700; margin: 0; color: #fff; letter-spacing: 0.02em; } .home-hero-header__subtitle { font-size: 0.92rem; margin: 4px 0 0; color: rgba(255,255,255,0.75); } .home-content { width: 100%; max-width: 520px; padding: 0 16px; } .home-card { border-radius: 12px !important; overflow: hidden; } .home-btn-primary { background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%); border: none; color: #fff; font-weight: 500; border-radius: 8px; transition: filter 0.15s, box-shadow 0.15s; box-shadow: 0 2px 10px rgba(44,62,80,0.30); } .home-btn-primary:hover { filter: brightness(1.12); box-shadow: 0 4px 16px rgba(44,62,80,0.40); color: #fff; } .home-feature-badge { display: inline-flex; align-items: center; background: rgba(52,152,219,0.10); color: #3498db; border: 1px solid rgba(52,152,219,0.25); border-radius: 20px; padding: 4px 12px; font-size: 0.75rem; font-weight: 500; } /* ── Footer ──────────────────────────────────────────────────────────────── */ .receiver-footer { position: fixed; bottom: 0; left: 0; right: 0; height: 36px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; background: linear-gradient(135deg, #2c3e50 0%, #3498db 100%); color: rgba(255, 255, 255, 0.75); font-size: 0.72rem; z-index: 100; flex-shrink: 0; } .receiver-footer a { color: rgba(255, 255, 255, 0.90); text-decoration: none; transition: color 0.15s; } .receiver-footer a:hover { color: #ffffff; text-decoration: underline; } .receiver-footer__sep { opacity: 0.4; }