:root{color:#17241f;background:#f4f7f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{border:0;font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-shell{min-height:100vh;background:linear-gradient(180deg,#eef5f1,#f8faf9 38%,#f4f7f5)}.page{width:min(760px,100%);margin:0 auto;padding:clamp(18px,4vw,36px)}.page-header{padding:18px 0 24px}.page-header.compact{padding-bottom:18px}.eyebrow{margin:0 0 8px;color:#537468;font-size:.95rem;font-weight:700;text-transform:uppercase}h1{margin:0;color:#17483a;font-size:clamp(2rem,6vw,3.4rem);line-height:1.05;letter-spacing:0}p{margin:8px 0 0;color:#50685f}.lead{max-width:650px;color:#334840;font-size:1.12rem;line-height:1.5}.install-card{display:grid;gap:14px;margin-bottom:18px;border-radius:8px;padding:18px;background:#fff;box-shadow:0 16px 40px #17483a14}.install-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.install-grid article{border:2px solid #d7e5df;border-radius:8px;padding:14px;background:#f8faf9}.install-grid h3{margin:0 0 8px;color:#17483a;font-size:1.1rem}.install-grid ol{margin:0;padding-left:1.25rem;color:#334840;line-height:1.45}.privacy-note{border-radius:8px;padding:12px 14px;background:#e3f2eb;color:#17483a;font-weight:700}h2{margin:0;color:#17483a;font-size:1.35rem;letter-spacing:0}.button-stack{display:grid;gap:12px}.proof-button,.primary-button,.secondary-button,.danger-button,.back-button{min-height:60px;border-radius:8px;padding:0 18px;font-weight:700}.proof-button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;color:#fff;background:#17483a;text-align:left}.status{flex:0 0 auto;min-width:54px;border-radius:999px;padding:6px 10px;background:#ffffff29;color:#e5f1ed;font-size:.85rem;text-align:center}.status.saved{background:#d7f0e4;color:#17483a}.primary-button{width:100%;color:#fff;background:#17483a}.secondary-button{width:100%;color:#17483a;background:#fff;border:2px solid #bad2c8}.danger-button{width:100%;color:#8a1f1f;background:#fff;border:2px solid #e4b8b8}.back-button{min-height:44px;color:#17483a;background:#fff;border:2px solid #c8d9d2}.hidden-input{display:none}.info-box{white-space:pre-line;border-radius:8px;padding:clamp(18px,4vw,26px);background:#fff;box-shadow:0 16px 40px #17483a14;color:#253831;font-size:1.1rem;line-height:1.55}.backup-panel{display:grid;gap:12px;margin-top:18px;border-radius:8px;padding:18px;background:#fff;box-shadow:0 16px 40px #17483a14}.backup-panel .button-stack{margin-top:4px}.message-box{border-radius:8px;padding:12px 14px;background:#e3f2eb;color:#17483a;font-weight:700}.viewer-page{display:grid;grid-template-rows:auto 1fr;height:100vh;background:#e8eeeb}.viewer-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;background:#f8faf9;border-bottom:1px solid #d6e0dc}.viewer-title{min-width:0;display:grid;gap:2px}.viewer-title span{overflow:hidden;color:#61766e;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.zoom-controls{display:grid;grid-template-columns:42px 60px 42px;align-items:center;gap:4px}.zoom-controls button{height:42px;border-radius:8px;color:#17483a;background:#fff;border:2px solid #c8d9d2;font-size:1.3rem;font-weight:700}.zoom-controls span{color:#253831;font-size:.95rem;text-align:center}.viewer-surface{position:relative;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:14px;width:100%;height:100%;touch-action:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.pdf-wrap{width:min(100%,980px)}.pdf-frame{width:100%;height:82vh;border:0;border-radius:8px;background:#fff;box-shadow:0 10px 30px #0000001f}.open-file-link{display:block;margin-top:10px;color:#17483a;font-weight:700;text-align:center}.proof-image{max-width:none;min-width:min(100%,320px);height:auto;border-radius:8px;background:#fff;box-shadow:0 10px 30px #0000001f}@media (max-width: 620px){.install-grid,.viewer-toolbar{grid-template-columns:1fr}.zoom-controls{width:100%;grid-template-columns:56px 1fr 56px}}.pdf-js-viewer{width:100%;max-width:980px;margin:0 auto}.viewer-status{text-align:center;color:#49665c;font-weight:700;padding:.75rem}.pdf-pages{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:.5rem 0 2rem;overflow-x:auto}.pdf-canvas{max-width:none;background:#fff;box-shadow:0 8px 24px #00000038;border-radius:4px}.reminder-panel,.expiry-detail-card{display:grid;gap:12px;margin-top:18px;border-radius:8px;padding:18px;background:#fff;box-shadow:0 16px 40px #17483a14}.expiry-detail-card label{color:#17483a;font-weight:800}.expiry-detail-card input[type=date]{min-height:52px;border:2px solid #bad2c8;border-radius:8px;padding:0 12px;font:inherit;color:#253831;background:#fff}.calendar-button{margin-top:4px}.small-note{color:#61766e;font-size:.92rem;line-height:1.4}.proof-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.expiry-pill,.expiry-detail{border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:800}.expiry-detail{border-radius:8px;margin-top:0}.expiry-pill.unknown,.expiry-detail.unknown{background:#ffffff29;color:#e5f1ed}.expiry-detail.unknown{background:#edf3f0;color:#49665c}.expiry-pill.valid,.expiry-detail.valid{background:#d7f0e4;color:#17483a}.expiry-pill.warning,.expiry-detail.warning{background:#fff3c4;color:#6d5100}.expiry-pill.expired,.expiry-detail.expired{background:#ffe0e0;color:#8a1f1f}

.viewer-surface canvas,.viewer-surface img,.pdf-js-viewer,.pdf-pages{touch-action:none}

.viewer-page{overflow:hidden}.pdf-js-viewer{min-width:min-content}.pdf-pages{min-width:min-content}

/* Pan/scroll fix: zoom skal kun foregå i dokumentfeltet, men når PDF'en
   bliver bredere end skærmen, skal man kunne trække helt ud til både
   venstre og højre kant. */
.viewer-surface{
  display:block;
  overflow:auto;
  touch-action:pan-x pan-y;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.pdf-js-viewer{
  width:max-content;
  min-width:100%;
  max-width:none;
  margin:0;
}
.pdf-pages{
  width:max-content;
  min-width:100%;
  align-items:flex-start;
  overflow:visible;
}
.pdf-canvas{
  display:block;
  margin-left:0;
  margin-right:0;
}
.proof-image{
  display:block;
  max-width:none;
  transform-origin:top left;
}

/* Stabil touch-pan: behold zoom kun i dokumentområdet, men lad browserens
   egen scroll håndtere flytning rundt i den zoomede PDF. */
.viewer-surface{
  display:block !important;
  overflow:auto !important;
  touch-action:pan-x pan-y !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
}
.viewer-surface canvas,
.viewer-surface img,
.pdf-js-viewer,
.pdf-pages{
  touch-action:auto !important;
}
.pdf-js-viewer{
  display:block !important;
  width:max-content !important;
  min-width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
.pdf-pages{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:max-content !important;
  min-width:100% !important;
  overflow:visible !important;
}
.pdf-canvas{
  display:block !important;
  max-width:none !important;
  flex:0 0 auto !important;
}
