:root { --ink:#13243d; --blue:#105ce8; --sky:#eaf3ff; --line:#d8e0ea; --muted:#647287; --orange:#ffbd3a; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
.control-block > label.file-picker { display:flex; font-weight:400; }
.viewer-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; position:sticky; top:0; z-index:5; background:#f4f7fa; padding:10px 0; font-size:.8rem; }
.viewer-toolbar > div { display:flex; align-items:center; gap:8px; }
.viewer-toolbar button,.nudge button { min-width:44px; min-height:44px; border:1px solid #bbcadd; background:white; color:var(--ink); }
.viewer-toolbar select { min-height:40px; background:white; border:1px solid #bbcadd; border-radius:6px; padding:5px; color:var(--ink); }
.page-overview { display:flex; gap:6px; overflow:auto; max-height:100px; padding:0 0 15px; }
.page-overview button { min-width:36px; min-height:36px; background:white; border:1px solid #bbcadd; color:var(--ink); }
.page-overview button.current { background:var(--blue); color:white; }
.document-area { overflow:auto; }
.document-area.drag-over { outline:3px solid var(--blue); outline-offset:-3px; background:#eaf3ff; }
.document-viewer { max-width:none; width:max-content; min-width:100%; }
.page-card { max-width:none !important; overflow:hidden; }
.pdf-widget { position:absolute; z-index:2; border:1px solid #4f8bdd; background:#eaf3ffe8; color:#13243d; padding:2px; border-radius:2px; font-family:Arial,sans-serif; }
.pdf-widget:focus { outline:2px solid #105ce8; background:white; }
.pdf-widget[disabled] { background:#f1f3f5; color:#4b5563; }
textarea.pdf-widget { resize:none; }
input.pdf-widget[type=checkbox],input.pdf-widget[type=radio] { margin:0; accent-color:var(--blue); }
.signature { min-width:0; outline:1px dashed transparent; z-index:3; }
.signature.selected { outline:2px dashed var(--blue); background:#105ce80a; }
.signature-handle { position:absolute; z-index:4; width:22px; height:22px; padding:0; border:2px solid #fff; background:var(--blue); color:white; font-size:17px; line-height:18px; border-radius:5px; opacity:0; touch-action:none; box-shadow:0 1px 4px #13243d55; }
.signature.selected .signature-handle,.signature:focus-within .signature-handle { opacity:1; }
.signature-handle.nw { top:0; left:0; cursor:nwse-resize; }
.signature-handle.ne { top:0; right:0; cursor:nesw-resize; }
.signature-handle.sw { bottom:0; left:0; cursor:nesw-resize; }
.signature-handle.se { bottom:0; right:0; cursor:nwse-resize; }
@media(pointer:coarse) { .signature-handle { width:28px; height:28px; } }
.signature-delete { position:absolute; top:0; left:50%; transform:translateX(-50%); width:32px; height:30px; padding:5px; border:1px solid #fff; border-radius:5px; background:#fff; color:#b42335; box-shadow:0 1px 5px #13243d55; opacity:0; }
.signature.selected .signature-delete,.signature:focus-within .signature-delete { opacity:1; }
.signature-delete svg { width:100%; height:100%; pointer-events:none; }
.signature { outline:1px solid transparent; border-radius:3px; }
.signature:hover { outline-color:#105ce866; }
.signature.selected { outline:1.5px solid var(--blue); background:#105ce805; }
.signature.dragging { cursor:grabbing; background:#105ce809; }
.signature-handle { width:24px; height:24px; background:transparent; border:0; box-shadow:none; color:var(--blue); font-size:15px; transition:opacity .12s ease; }
.signature-handle::before { content:''; position:absolute; inset:6px; border:2px solid var(--blue); background:white; border-radius:3px; box-shadow:0 1px 3px #13243d22; }
.signature-handle.se { color:transparent; }
.signature-handle.nw { top:-12px; left:-12px; }.signature-handle.ne { top:-12px; right:-12px; }.signature-handle.sw { bottom:-12px; left:-12px; }.signature-handle.se { bottom:-12px; right:-12px; }
.mark-actions { position:absolute; bottom:calc(100% + 12px); right:0; display:flex; align-items:center; gap:2px; padding:3px; border:1px solid #d8e0ea; background:white; border-radius:9px; box-shadow:0 4px 14px #13243d20; opacity:0; pointer-events:none; transition:opacity .12s ease; }
.signature.selected .mark-actions,.signature:focus-within .mark-actions { opacity:1; pointer-events:auto; }
.signature.tools-below .mark-actions { bottom:auto; top:calc(100% + 12px); }
.mark-actions .signature-delete,.mark-actions .signature-edit { position:static; transform:none; width:36px; height:34px; opacity:1; padding:7px; border:0; border-radius:6px; box-shadow:none; background:white; color:var(--ink); font-size:22px; line-height:20px; }
.mark-actions .signature-delete { color:#b42335; }.mark-actions button:hover { background:#f1f5fa; }.mark-actions .signature-delete:hover { background:#fff0f1; }
.signature.dragging .mark-actions { opacity:0; pointer-events:none; }
#editor-hint { margin:4px 0 18px; font-size:.75rem; color:var(--muted); line-height:1.5; }
.insert-menu { position:fixed; z-index:20; width:250px; padding:8px; border:1px solid #d8e0ea; border-radius:12px; box-shadow:0 12px 36px #13243d28; background:white; }
.insert-menu p { margin:6px 10px 8px; color:var(--muted); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; }
.insert-menu button { display:flex; gap:10px; align-items:center; width:100%; min-height:44px; padding:8px 12px; border:0; background:white; text-align:left; font-size:.8rem; color:var(--ink); }
.insert-menu button:hover { background:var(--sky); }.insert-menu button:disabled { opacity:.4; cursor:not-allowed; }.insert-menu button span { width:18px; color:var(--blue); font-size:20px; }
#dismiss-menu { color:var(--muted); border-top:1px solid #e8edf2; margin-top:5px; }
dialog { width:min(550px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:auto; border:1px solid #d8e0ea; border-radius:18px; padding:25px; color:var(--ink); box-shadow:0 20px 80px #13243d44; }
dialog::backdrop { background:#13243d70; backdrop-filter:blur(3px); }
.dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.dialog-heading .eyebrow { margin-bottom:9px; font-size:.65rem; }.dialog-heading h2 { margin:0; font-size:1.45rem; letter-spacing:-.03em; }
#close-element { width:36px; height:36px; background:#f1f5fa; border:0; color:var(--muted); font-size:23px; }
.editor-tabs { display:flex; gap:5px; background:#f1f5fa; border-radius:8px; padding:4px; margin:22px 0 18px; }.editor-tabs button { flex:1; height:38px; border:0; background:transparent; color:var(--muted); }.editor-tabs button.active { background:white; color:var(--blue); box-shadow:0 2px 4px #13243d12; }
dialog p { font-size:.8rem; line-height:1.5; color:var(--muted); }dialog .canvas-wrap { height:175px; background:linear-gradient(transparent 75%,#e6edf5 75%,#e6edf5 75.5%,transparent 75.5%),#fafcff; }
dialog label { display:block; font-size:.75rem; font-weight:700; margin:0 0 8px; }
#element-text { width:100%; font:inherit; padding:12px; border:1px solid #b9c8da; border-radius:8px; color:var(--ink); resize:vertical; min-height:110px; }
.text-settings { display:flex; gap:14px; margin:15px 0; }.text-settings label { flex:1; }.text-settings select { display:block; width:100%; padding:9px; border:1px solid #b9c8da; border-radius:6px; margin-top:8px; background:white; color:var(--ink); }
#text-preview { min-height:65px; padding:14px; background:#f8fafc; border:1px dashed #cbd5e1; border-radius:8px; white-space:pre-wrap; overflow-wrap:anywhere; font-size:22px; max-height:160px; overflow:auto; }
.dialog-actions { display:flex; gap:12px; padding-top:16px; border-top:1px solid #e8edf2; margin-top:16px; }.dialog-actions button { flex:1; margin:0; min-height:44px; }
#element-error { color:#b42335; min-height:20px; margin:12px 0 0; }
@media(pointer:coarse) { .signature-handle { width:32px; height:32px; }.signature-handle::before { inset:8px; }.signature-handle.nw { top:-16px;left:-16px; }.signature-handle.ne { top:-16px;right:-16px; }.signature-handle.sw { bottom:-16px;left:-16px; }.signature-handle.se { bottom:-16px;right:-16px; }.mark-actions button { min-width:44px;min-height:44px; } }
#signature-tools label { display:block; font-size:.75rem; margin-top:15px; }
#signature-size { width:100%; min-height:44px; accent-color:var(--blue); }
.nudge { display:flex; justify-content:space-between; gap:6px; }
#action-status,#page-status { font-size:.8rem; color:var(--blue); line-height:1.5; }
button:focus-visible,label.file-picker:focus-within { outline:3px solid #105ce8; outline-offset:3px; }
@media(max-width:760px) { .primary,.secondary,.download { min-height:44px; } .viewer-toolbar { position:relative; } .document-area { padding:12px; } .signature { width:auto; } .pdf-widget { font-size:16px; } }
body { margin:0; color:var(--ink); background:#f8fafc; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.site-header { height:74px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(22px, 6vw, 100px); background:#fff; border-bottom:1px solid #edf0f4; }
.brand { color:var(--ink); font-size:1.5rem; font-weight:800; text-decoration:none; letter-spacing:-.08em; }.brand span { color:var(--blue); }.site-header p { margin:0; font-size:.82rem; color:var(--muted); }
main { max-width:1240px; margin:auto; padding:72px 28px 42px; }.hero { max-width:770px; }.eyebrow { font-size:.7rem; font-weight:800; letter-spacing:.14em; color:var(--blue); margin:0 0 16px; }.hero h1 { font-size:clamp(2.55rem, 6vw, 4.8rem); letter-spacing:-.065em; line-height:.98; margin:0; }.lead { font-size:1.1rem; line-height:1.6; max-width:625px; color:var(--muted); margin:25px 0 0; }
.privacy-note { margin:46px 0 30px; padding:16px 19px; display:flex; gap:14px; background:#eaf5f2; border:1px solid #cde7df; color:#22534b; border-radius:9px; font-size:.9rem; line-height:1.45; }.lock { font-size:1.5rem; line-height:1; }
.workspace { background:#fff; border:1px solid #e5eaf0; border-radius:16px; box-shadow:0 20px 55px rgba(34,60,93,.07); overflow:hidden; }.steps { min-height:65px; padding:0 30px; display:flex; gap:15px; align-items:center; border-bottom:1px solid #e8edf2; color:#94a0af; font-size:.75rem; font-weight:700; }.steps .active { color:var(--blue); }.steps i { width:27px; height:1px; background:#dfe5ec; }
.tool-grid { display:grid; grid-template-columns:315px minmax(0,1fr); min-height:620px; }.panel { border-right:1px solid #e8edf2; padding:27px; }.control-block { padding:0 0 25px; margin:0 0 23px; border-bottom:1px solid #e9edf2; }.control-block:last-child { border:0; }.control-block > label, .label-row label { font-size:.76rem; font-weight:800; display:block; margin-bottom:11px; }.label-row { display:flex; align-items:center; justify-content:space-between; }.label-row button { border:0; background:transparent; color:var(--blue); font:inherit; font-size:.73rem; cursor:pointer; }
#pdf-file { position:absolute; width:1px; height:1px; opacity:0; }.file-picker { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:105px; text-align:center; border:1.5px dashed #b8c8dc; border-radius:9px; cursor:pointer; background:#fbfdff; transition:.16s ease; }.file-picker:hover,.file-picker.drag-over { border-color:var(--blue); background:var(--sky); transform:translateY(-1px); box-shadow:0 5px 14px rgba(16,92,232,.12); }.file-picker.drag-over { border-style:solid; }.file-picker span { color:var(--blue); font-size:1.6rem; line-height:1; }.file-picker strong { font-size:.78rem; margin:7px 0 4px; }.file-picker small { color:var(--muted); font-size:.68rem; max-width:230px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.file-status { min-height:17px; margin:7px 0 0; color:var(--muted); font-size:.68rem; line-height:1.35; }.file-status.error { color:#bc3232; }.file-status.loading { color:var(--blue); }
.canvas-wrap { position:relative; height:108px; background:#fbfcfd; border:1px solid #ccd7e4; border-radius:7px; overflow:hidden; touch-action:none; }.canvas-wrap canvas { display:block; width:100%; height:100%; cursor:crosshair; }.canvas-wrap p { pointer-events:none; position:absolute; inset:41px 0 auto; text-align:center; margin:0; font-size:.68rem; color:#97a2b1; }.canvas-wrap.has-ink p { display:none; }
.pdf-fields > p { margin:0 0 12px; color:var(--muted); font-size:.7rem; line-height:1.45; }.label-row #field-count { color:var(--blue); font-size:.68rem; font-weight:750; }.pdf-field { margin:0 0 11px; }.pdf-field label { display:block; margin:0 0 5px; font-size:.68rem; font-weight:700; color:#3e4e63; }.pdf-field small { display:block; margin-top:3px; color:#8b98a8; font-size:.62rem; }.pdf-field input[type="text"],.pdf-field select { width:100%; height:32px; padding:0 8px; border:1px solid #cbd5e1; border-radius:5px; color:var(--ink); background:white; font:inherit; font-size:.72rem; }.pdf-field-check { display:flex; align-items:center; gap:7px; font-size:.7rem; color:#3e4e63; }.pdf-field-check input { accent-color:var(--blue); }
button { font-family:inherit; font-weight:750; border-radius:7px; cursor:pointer; }.secondary { width:100%; margin-top:10px; height:34px; border:1px solid #b9c8da; background:#fff; color:var(--ink); font-size:.72rem; }.primary,.download { width:100%; min-height:41px; padding:0 12px; border:0; font-size:.78rem; }.primary { background:var(--blue); color:#fff; }.primary:disabled,.download:disabled,.secondary:disabled { cursor:not-allowed; opacity:.42; }.placement-actions p { color:var(--muted); font-size:.72rem; line-height:1.5; min-height:33px; margin:0 0 13px; }.download { margin-top:10px; background:var(--orange); color:#5c3a00; }.download span { float:right; font-size:1.1rem; }
.document-area { padding:30px; background:#f4f7fa; min-width:0; }.empty-state { height:100%; min-height:560px; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#8290a1; text-align:center; }.empty-state span { font-size:3rem; color:#b6c3d2; }.empty-state h2 { margin:13px 0 5px; color:#405067; font-size:1rem; }.empty-state p { margin:0; font-size:.8rem; }.document-viewer { max-width:750px; margin:auto; }.viewer-status { padding:15px; margin:0 auto 18px; width:fit-content; border-radius:7px; background:#e8f1ff; color:var(--blue); font-size:.75rem; font-weight:700; }.page-card { position:relative; margin:0 auto 28px; width:fit-content; box-shadow:0 4px 18px rgba(30,48,70,.16); background:white; }.page-card canvas { display:block; max-width:100%; height:auto; }.page-number { position:absolute; top:8px; right:8px; padding:4px 7px; background:rgba(19,36,61,.75); color:white; border-radius:4px; font-size:.65rem; pointer-events:none; }.page-card.placing { outline:3px solid var(--blue); cursor:crosshair; }.signature { position:absolute; width:27%; min-width:48px; cursor:grab; touch-action:none; user-select:none; }.signature.dragging { cursor:grabbing; }.signature img { width:100%; height:auto; display:block; filter:none; }.signature:hover .remove,.signature:focus-within .remove { opacity:1; }.remove { position:absolute; top:-10px; right:-10px; width:20px; height:20px; padding:0; color:white; background:#d84545; border:2px solid white; border-radius:50%; opacity:0; line-height:14px; }.resize { position:absolute; right:-5px; bottom:-5px; width:12px; height:12px; border:2px solid white; border-radius:50%; background:var(--blue); cursor:nwse-resize; }
.information { display:grid; grid-template-columns:1fr 1.65fr; gap:80px; padding:90px 0 44px; }.information h2 { letter-spacing:-.04em; font-size:2rem; margin:0; }.information ol { list-style:none; padding:0; margin:0; }.information li { display:grid; grid-template-columns:47px 1fr; gap:10px; padding:0 0 23px; margin-bottom:20px; border-bottom:1px solid #e1e7ee; }.information li:last-child { border:0; }.information b { color:var(--blue); font-size:.76rem; }.information strong { font-size:.95rem; }.information p { margin:5px 0 0; color:var(--muted); font-size:.84rem; line-height:1.5; } footer { display:flex; gap:20px; justify-content:space-between; padding:23px clamp(22px, 6vw, 100px); border-top:1px solid #e4e8ee; color:#8490a0; font-size:.7rem; }
@media (max-width:760px) { main { padding:43px 16px 25px; }.site-header { height:62px; padding:0 17px; }.site-header p { display:none; }.tool-grid { display:block; }.panel { border-right:0; border-bottom:1px solid #e8edf2; }.document-area { padding:18px 10px; }.empty-state { min-height:300px; }.steps { padding:0 16px; gap:8px; font-size:.63rem; }.steps i { width:12px; }.information { grid-template-columns:1fr; gap:30px; padding:60px 0 20px; } footer { display:block; line-height:2; }.page-card { max-width:100%; }.signature { width:31%; } }

.signature { min-width:0; }
.signature.selected { z-index:4; }

.touch-placement-controls { display:none; }
@media (max-width:1024px), (pointer:coarse) { .touch-placement-controls { display:block; } }

.file-picker.document-open { cursor:default; border-style:solid; background:#f5f8fc; }
#new-pdf { margin-top:12px; }
#new-pdf-help { font-size:.75rem; color:var(--muted); line-height:1.5; }
.pdf-edit-tools { flex-wrap:wrap; }
.direct-toolbar { position:fixed; top:12px; left:50%; transform:translateX(-50%); z-index:30; display:flex; flex-wrap:wrap; gap:8px; align-items:center; max-width:calc(100vw - 24px); padding:10px; background:white; border:1px solid #d8e0ea; border-radius:12px; box-shadow:0 8px 30px #13243d30; font-size:14px; }
.direct-toolbar button,.direct-toolbar select { min-height:40px; padding:8px 12px; border:1px solid #bbcadd; border-radius:7px; background:white; color:var(--ink); }
.direct-toolbar button.primary { background:var(--blue); color:white; width:auto; margin:0; }
.direct-drawing { position:absolute; inset:0; width:100%; height:100%; z-index:8; touch-action:none; cursor:crosshair; }
.inline-text-editor { position:absolute; z-index:8; min-width:70px; }
.inline-text-editor textarea { display:block; width:100%; min-height:54px; font-size:20px; line-height:1.333; padding:5px; border:1.5px solid var(--blue); border-radius:3px; background:#80808018; resize:none; overflow:auto; }
#draw-editor .canvas-wrap { background:#edf0f4; }
#drawing-color { min-height:40px; padding:6px; margin-bottom:10px; }
@media(max-width:600px) { .direct-toolbar { width:calc(100vw - 24px); }.direct-toolbar strong { width:100%; } }
@media(max-width:600px) { .direct-toolbar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }.direct-toolbar strong { grid-column:1 / -1; }.direct-toolbar select,.direct-toolbar button { min-width:0; padding:7px 4px; font-size:12px; } }
/* A single, quiet document editor. */
.tool-grid { display:block; min-height:0; }
.document-file-header { padding:20px 24px; border-bottom:1px solid #e5e7eb; }
.document-file-header > label:first-child { display:none; }
.document-file-header .file-picker { max-width:600px; margin:auto; }
.has-document .document-file-header { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:12px 20px; }
.has-document .file-picker { flex:1; margin:0; min-height:44px; border:0; flex-direction:row; justify-content:flex-start; gap:10px; background:transparent; box-shadow:none; transform:none; }
.has-document .file-picker strong { display:none; }.has-document .file-picker small { max-width:400px; color:var(--ink); font-size:13px; }
.has-document #new-pdf { width:auto; min-height:36px; margin:0; padding:7px 12px; font-size:12px; }
#new-pdf-help { display:none; }.has-document .file-status { margin:0; font-size:11px; }
.document-area { position:relative; padding:0 24px 24px; max-height:76dvh; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.viewer-toolbar { top:0; margin:0 -24px; padding:10px 20px; z-index:12; background:#fafafbf5; backdrop-filter:blur(16px); border-bottom:1px solid #e2e5e9; gap:12px; }
.viewer-toolbar button { border:0; border-radius:8px; background:transparent; min-width:38px; min-height:38px; color:#43474f; }
.viewer-toolbar button:hover { background:#e8ebf0; }.viewer-toolbar button[aria-pressed=true] { color:#0066d9; background:#e4efff; }
.viewer-toolbar .tool-icon { width:40px; height:40px; padding:9px; }.tool-icon svg { display:block; width:22px; height:22px; }
.color-palette { display:flex; gap:6px; align-items:center; padding:0 5px; }
.color-palette button.color-swatch { width:30px; height:30px; min-width:30px; min-height:30px; padding:0; border:3px solid white; border-radius:50%; background:var(--swatch); box-shadow:0 0 0 1px #c8cdd4; }
.color-palette .color-swatch[aria-checked=true] { box-shadow:0 0 0 2px #0879ec; }
.viewer-toolbar .pdf-edit-tools { gap:4px; }
.viewer-toolbar .document-actions { margin-left:auto; gap:6px; }
.viewer-toolbar #download-pdf { width:auto; margin:0; padding:8px 14px; background:#0879ec; color:white; font-size:13px; }
.viewer-toolbar #undo { width:38px; margin:0; padding:0; font-size:23px; }
.viewer-toolbar select { font-size:12px; border:0; min-height:36px; }
.viewer-toolbar .zoom-control { font-size:12px; }
.viewer-toolbar #signature-tools { flex-basis:100%; }
#signature-tools > button { display:none; }.touch-placement-controls { max-width:360px; margin:auto; }
.touch-placement-controls label { font-weight:400; }.touch-placement-controls .nudge { margin:6px 0; }
.page-overview { display:none !important; }
#editor-hint,#action-status { font-size:12px; margin:12px 0; line-height:1.5; }
#action-status:empty { display:none; }
.page-navigation { display:flex; align-items:center; justify-content:center; gap:8px; }
.page-navigation label { display:flex; align-items:center; gap:5px; font-size:12px; color:#717680; white-space:nowrap; }
.page-navigation input { width:54px; padding:6px; border:1px solid #d5d9df; border-radius:6px; background:white; text-align:center; color:var(--ink); font-size:13px; appearance:textfield; }
.page-navigation input::-webkit-inner-spin-button { appearance:none; }
.bottom-navigation { padding:10px 20px; border-top:1px solid #e2e5e9; background:#fafafb; }
.bottom-navigation button { width:38px; height:36px; border:0; background:transparent; color:#43474f; }
.viewer-toolbar .direct-toolbar { position:static; transform:none; max-width:none; width:100%; margin:0; padding:0; border:0; box-shadow:none; background:transparent; z-index:auto; }
.viewer-toolbar.editing > .pdf-edit-tools,.viewer-toolbar.editing > .page-navigation,.viewer-toolbar.editing > .zoom-control { display:none; }
.viewer-toolbar .direct-toolbar strong { font-size:13px; font-weight:500; }
.viewer-toolbar .direct-toolbar button { padding:7px 12px; font-size:13px; }
.viewer-toolbar .direct-toolbar button.primary { color:#fff; background:#0879ec; }
#draw-editor .color-palette { margin:8px 0 12px; }
@media(max-width:760px) { .document-area { padding:0 12px 16px; max-height:78dvh; }.viewer-toolbar { margin:0 -12px; padding:8px 10px; gap:8px; }.viewer-toolbar .zoom-control { display:none; }.viewer-toolbar .page-navigation { order:4; width:100%; }.has-document .document-file-header { padding:10px 14px; }.has-document .file-picker small { max-width:210px; }.viewer-toolbar .direct-toolbar { display:flex; flex-wrap:wrap; }.viewer-toolbar .direct-toolbar strong { width:auto; }.viewer-toolbar .direct-toolbar select { max-width:100px; }.viewer-toolbar .document-actions { gap:0; }.viewer-toolbar #download-pdf { padding:7px 10px; } }
.viewer-toolbar.editing #signature-tools { display:none; }
@media(max-width:760px) { .viewer-toolbar #download-pdf { width:38px; min-width:38px; padding:7px; font-size:20px; }.viewer-toolbar .download-label { display:none; } }
.workspace:not(.has-document) .document-area { display:none; }
.workspace:not(.has-document) .document-file-header { padding:26px; border-bottom:0; }
.workspace.drag-over { outline:3px solid #0879ec; outline-offset:3px; background:#edf5ff; }
.viewer-toolbar.editing > :not(.direct-toolbar) { display:none !important; }
.viewer-toolbar.editing { min-height:61px; }
.layer-actions { gap:5px; padding-left:8px; border-left:1px solid #d7dce3; }
.layer-actions span { font-size:12px; color:#717680; }
#delete-layer { color:#b42335; padding:9px; }
#delete-layer svg { display:block; width:20px; height:20px; }
@media(max-width:760px) { .layer-actions span { display:none; }.layer-actions { padding-left:0; border:0; }.viewer-toolbar.editing { min-height:61px; } }
.has-document #new-pdf { order:3; margin-left:auto; }
.has-document .file-status { order:2; }
.has-document .file-picker { flex:0 1 auto; }
.viewer-toolbar .zoom-control { display:flex; align-items:center; gap:2px; margin-left:auto; }
.viewer-toolbar .document-actions { margin-left:0; }
#fit-width { padding:8px; }#fit-width svg { display:block; width:22px; height:22px; }
.document-area.pan-ready .page-card { cursor:grab; }
.document-area.panning,.document-area.panning * { cursor:grabbing !important; user-select:none; }
@media(max-width:760px) { .viewer-toolbar .zoom-control { display:flex; }.viewer-toolbar .zoom-control select { max-width:100px; }.has-document .file-picker small { max-width:180px; } }

/* Course templates share the same local PDF editor. */
footer { display:block; }
.course-links { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:28px;border-bottom:1px solid #dce3ec; }
.course-links > div { grid-column:1/-1;margin-bottom:6px; }
.course-links strong { font-size:18px;color:#172a44; }
.course-links p { margin:6px 0 0; }
.course-links a { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #dce3ec;border-radius:12px;background:white;color:#172a44;text-decoration:none;font-weight:600;transition:background .15s,border-color .15s; }
.course-links a:hover,.course-links a[aria-current="page"] { background:#eff5ff;border-color:#9bbcf6; }
.course-links a:focus-visible,.course-actions a:focus-visible { outline:3px solid #165cff;outline-offset:3px; }
.course-links a span { color:#165cff; }
.footer-meta { display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px; }
.course-actions { display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:20px; }
.course-actions a { font-size:15px;color:#165cff;text-decoration:none; }
.course-actions a:hover { text-decoration:underline; }
@media(max-width:800px) { .course-links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .course-links { grid-template-columns:1fr; } }

/* PDF.kursusfabrikken identity: name followed by the supplied square logo. */
.site-header .brand { display:inline-flex;align-items:center;gap:16px;letter-spacing:-.045em;font-size:clamp(17px,2.4vw,26px);line-height:1.2; }
.site-header .brand-name { color:var(--ink); }
.site-header .brand img { display:block;width:44px;height:44px;flex-shrink:0; }
@media(max-width:480px) { .site-header .brand { gap:10px;font-size:19px; }.site-header .brand img { width:36px;height:36px; } }
