:root { color-scheme: light dark; }
body { margin: 0; min-width: 300px; background: #f5f7fa; }

#goskey-cabinet {
  --gk-bg: #f5f7fa;
  --gk-paper: #ffffff;
  --gk-ink: #222a38;
  --gk-muted: #717d90;
  --gk-line: #e7ebf1;
  --gk-brand: #2f6bd8;
  --gk-on-brand: #ffffff;
  --gk-selected: #edf3ff;
  --gk-hover: #f8faff;
  --gk-success: #197854;
  --gk-error: #c53a45;
  --gk-warn: #9c6c20;
  --gk-radius: 12px;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--gk-bg);
  color: var(--gk-ink);
  font-family: "Geist Variable", "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
}

@supports (color: light-dark(white, black)) {
  body { background: light-dark(#f5f7fa, #131820); }
  #goskey-cabinet {
    --gk-bg: light-dark(#f5f7fa, #131820);
    --gk-paper: light-dark(#ffffff, #1a202b);
    --gk-ink: light-dark(#222a38, #edf2fa);
    --gk-muted: light-dark(#717d90, #a2aec1);
    --gk-line: light-dark(#e7ebf1, #303b4b);
    --gk-brand: light-dark(#2f6bd8, #8ab1ff);
    --gk-on-brand: light-dark(#ffffff, #10213e);
    --gk-selected: light-dark(#edf3ff, #243651);
    --gk-hover: light-dark(#f8faff, #222c3b);
    --gk-success: light-dark(#197854, #7dd6b1);
    --gk-error: light-dark(#c53a45, #ff929d);
    --gk-warn: light-dark(#9c6c20, #e6bd70);
  }
}

#goskey-cabinet * { box-sizing: border-box; }
#goskey-cabinet [hidden] { display: none !important; }
#goskey-cabinet button,
#goskey-cabinet input,
#goskey-cabinet select { font: inherit; }
#goskey-cabinet button { cursor: pointer; }
#goskey-cabinet button:disabled { cursor: default; opacity: .45; }
#goskey-cabinet a { color: var(--gk-brand); text-underline-offset: 3px; }
#goskey-cabinet button:focus-visible,
#goskey-cabinet a:focus-visible,
#goskey-cabinet summary:focus-visible { outline: 2px solid var(--gk-brand); outline-offset: 3px; }
#goskey-cabinet input:focus,
#goskey-cabinet select:focus { outline: none; border-color: var(--gk-brand); box-shadow: none; }
#goskey-cabinet input::placeholder { color: var(--gk-muted); opacity: .75; }
#goskey-cabinet p { margin: 0; }
#goskey-cabinet h1,
#goskey-cabinet h2 { margin: 0; color: var(--gk-ink); font-size: 25px; line-height: 1.25; font-weight: 600; letter-spacing: -.8px; }
#goskey-cabinet h3 { margin: 0; color: var(--gk-ink); font-size: 16px; line-height: 1.4; font-weight: 550; }
#goskey-cabinet .gk-icon { width: 17px; height: 17px; flex-shrink: 0; }
#goskey-cabinet .gk-sr-only,
#goskey-cabinet .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

#goskey-cabinet .gk-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; padding: 16px max(24px, calc((100vw - 1056px) / 2)); border-bottom: 1px solid var(--gk-line); background: var(--gk-paper); }
#goskey-cabinet .gk-brand,
#goskey-cabinet .gk-wordmark { display: flex; align-items: center; gap: 9px; font-size: 21px; font-weight: 650; letter-spacing: -.7px; }
#goskey-cabinet .gk-brand .gk-icon,
#goskey-cabinet .gk-wordmark .gk-icon { width: 22px; height: 22px; color: var(--gk-brand); }
#goskey-cabinet .gk-wordmark small,
#goskey-cabinet .gk-topbar small { font-size: 12px; font-weight: 400; letter-spacing: 0; color: var(--gk-muted); }
#goskey-cabinet .gk-user { display: flex; align-items: center; gap: 12px; min-width: 0; }
#goskey-cabinet .gk-user > small { max-width: 300px; }
#goskey-cabinet .gk-avatar { display: grid; place-items: center; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--gk-selected); color: var(--gk-brand); font-size: 11px; font-weight: 600; }
#goskey-cabinet .gk-app,
#goskey-cabinet .gk-main { min-width: 0; }
#goskey-cabinet .gk-app-content,
#goskey-cabinet .gk-workspace { width: 100%; max-width: 1120px; margin: 0 auto; padding: 32px 32px 40px; }
#goskey-cabinet .gk-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
#goskey-cabinet .gk-subtitle { margin-top: 7px; color: var(--gk-muted); font-size: 13px; }

#goskey-cabinet .gk-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; max-width: 100%; padding: 9px 14px; border: 1px solid var(--gk-line); border-radius: 8px; background: var(--gk-paper); color: var(--gk-ink); font-size: 13px; font-weight: 500; line-height: 1.5; text-decoration: none; }
#goskey-cabinet .gk-button:hover:not(:disabled) { background: var(--gk-hover); }
#goskey-cabinet .gk-button.primary { border-color: var(--gk-brand); background: var(--gk-brand); color: var(--gk-on-brand); }
#goskey-cabinet .gk-button.primary:hover:not(:disabled) { filter: brightness(.96); }
#goskey-cabinet .gk-button.quiet { min-height: 32px; padding: 6px 0; border-color: transparent; background: transparent; color: var(--gk-muted); }
#goskey-cabinet .gk-button.compact { min-height: 32px; padding: 6px 9px; font-size: 12px; }
#goskey-cabinet .gk-tabs { display: flex; align-items: center; gap: 25px; margin-bottom: 22px; border-bottom: 1px solid var(--gk-line); }
#goskey-cabinet .gk-tab { position: relative; padding: 0 0 13px; border: 0; background: transparent; color: var(--gk-muted); font-size: 14px; }
#goskey-cabinet .gk-tab.active,
#goskey-cabinet .gk-tab[aria-selected="true"] { color: var(--gk-ink); font-weight: 600; }
#goskey-cabinet .gk-tab.active::after,
#goskey-cabinet .gk-tab[aria-selected="true"]::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--gk-brand); }
#goskey-cabinet .gk-tab span { margin-left: 6px; color: var(--gk-muted); font-size: 11px; font-variant-numeric: tabular-nums; }

#goskey-cabinet .gk-search-row { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
#goskey-cabinet .gk-search { display: flex; align-items: center; flex: 1; gap: 10px; min-width: 180px; min-height: 42px; padding: 0 13px; border: 1px solid transparent; border-radius: 8px; background: var(--gk-paper); color: var(--gk-muted); }
#goskey-cabinet .gk-search:focus-within { border-color: var(--gk-brand); }
#goskey-cabinet .gk-search input { width: 100%; min-width: 0; min-height: 40px; padding: 10px 0; border: 0; outline: none; background: transparent; color: var(--gk-ink); font-size: 13px; }
#goskey-cabinet .gk-filter { min-width: 0; }
#goskey-cabinet .gk-filter select,
#goskey-cabinet select.gk-filter { max-width: 260px; min-height: 42px; padding: 9px 12px; border: 1px solid var(--gk-line); border-radius: 8px; background: var(--gk-paper); color: var(--gk-ink); font-size: 13px; }
#goskey-cabinet .gk-filter select:focus,
#goskey-cabinet select.gk-filter:focus { border-color: var(--gk-brand); }
#goskey-cabinet .gk-list { overflow: hidden; border-radius: var(--gk-radius); background: var(--gk-paper); }
#goskey-cabinet .gk-list-head,
#goskey-cabinet .gk-row { display: grid; grid-template-columns: minmax(0, 1fr) 134px 150px; align-items: center; gap: 14px; width: 100%; text-align: left; }
#goskey-cabinet .gk-list-head { padding: 14px 18px; border-bottom: 1px solid var(--gk-line); color: var(--gk-muted); font-size: 11px; }
#goskey-cabinet .gk-row { min-height: 86px; padding: 19px 18px; border: 0; border-bottom: 1px solid var(--gk-line); background: transparent; color: var(--gk-ink); }
#goskey-cabinet .gk-row:last-child { border-bottom: 0; }
#goskey-cabinet .gk-row:hover { background: var(--gk-hover); }
#goskey-cabinet .gk-row:focus-visible { outline-offset: -2px; }
#goskey-cabinet .gk-file-title { display: flex; align-items: center; gap: 12px; min-width: 0; }
#goskey-cabinet .gk-file-symbol { display: grid; place-items: center; flex-shrink: 0; width: 32px; height: 38px; border-radius: 6px; background: var(--gk-bg); color: var(--gk-muted); font-size: 10px; font-weight: 500; }
#goskey-cabinet .gk-file-text { min-width: 0; }
#goskey-cabinet .gk-file-name { display: block; color: var(--gk-ink); font-size: 14px; font-weight: 550; letter-spacing: -.15px; overflow-wrap: anywhere; }
#goskey-cabinet .gk-file-note { display: block; margin-top: 4px; color: var(--gk-muted); font-size: 12px; }
#goskey-cabinet .gk-text-action { padding: 0; border: 0; background: transparent; color: var(--gk-brand); font-size: 13px; text-align: left; overflow-wrap: anywhere; }
#goskey-cabinet .gk-recipient,
#goskey-cabinet .gk-item-date { color: var(--gk-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
#goskey-cabinet .gk-status { display: inline-flex; align-items: center; gap: 7px; color: var(--gk-ink); font-size: 12px; }
#goskey-cabinet .gk-dot { flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--gk-brand); }
#goskey-cabinet .gk-dot.green,
#goskey-cabinet .gk-dot.signed,
#goskey-cabinet .gk-dot[data-tone="green"] { background: var(--gk-success); }
#goskey-cabinet .gk-dot.red,
#goskey-cabinet .gk-dot.rejected,
#goskey-cabinet .gk-dot[data-tone="red"] { background: var(--gk-error); }
#goskey-cabinet .gk-dot.amber,
#goskey-cabinet .gk-dot.expired,
#goskey-cabinet .gk-dot[data-tone="amber"] { background: var(--gk-warn); }
#goskey-cabinet .gk-empty { display: grid; justify-items: center; gap: 10px; padding: 64px 24px; color: var(--gk-muted); text-align: center; font-size: 13px; }
#goskey-cabinet .gk-empty > strong,
#goskey-cabinet .gk-empty h3 { color: var(--gk-ink); font-size: 16px; font-weight: 550; }
#goskey-cabinet .gk-empty p { max-width: 420px; }
#goskey-cabinet .gk-empty .gk-icon { width: 26px; height: 26px; margin-bottom: 4px; }

#goskey-cabinet .gk-paper-panel { min-width: 0; padding: 24px; border-radius: var(--gk-radius); background: var(--gk-paper); }
#goskey-cabinet .gk-composer-grid,
#goskey-cabinet .gk-preview-grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; align-items: start; }
#goskey-cabinet .gk-field { display: grid; gap: 8px; min-width: 0; margin-bottom: 22px; font-size: 13px; font-weight: 500; }
#goskey-cabinet .gk-field input,
#goskey-cabinet .gk-field select { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; border: 1px solid var(--gk-line); border-radius: 8px; background: var(--gk-paper); color: var(--gk-ink); font-size: 14px; font-weight: 400; }
#goskey-cabinet .gk-field input:focus,
#goskey-cabinet .gk-field select:focus { border-color: var(--gk-brand); }
#goskey-cabinet .gk-field small { color: var(--gk-muted); font-size: 12px; font-weight: 400; }
#goskey-cabinet .gk-section-label { display: block; margin-bottom: 12px; font-size: 13px; font-weight: 550; }
#goskey-cabinet .gk-drop { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px; padding: 28px 22px; border: 1px solid transparent; border-radius: 10px; background: var(--gk-bg); text-align: center; }
#goskey-cabinet .gk-drop .gk-icon { width: 24px; height: 24px; color: var(--gk-muted); }
#goskey-cabinet .gk-drop.dragging,
#goskey-cabinet .gk-drop.drag-over,
#goskey-cabinet .gk-drop:focus-within,
#goskey-cabinet .gk-drop[data-dragging="true"] { border-color: var(--gk-brand); }
#goskey-cabinet .gk-hint { color: var(--gk-muted); font-size: 12px; }
#goskey-cabinet .gk-upload-list { margin-top: 16px; }
#goskey-cabinet .gk-upload-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--gk-line); font-size: 13px; }
#goskey-cabinet .gk-upload-row:last-child { border-bottom: 0; }
#goskey-cabinet .gk-upload-row .gk-file-symbol { width: 26px; height: 30px; }
#goskey-cabinet .gk-upload-row .gk-file-name { font-size: 13px; }
#goskey-cabinet .gk-file-remove { display: inline-grid; place-items: center; flex-shrink: 0; min-width: 34px; min-height: 34px; padding: 6px 8px; border: 0; border-radius: 7px; background: transparent; color: var(--gk-muted); font-size: 12px; white-space: nowrap; }
#goskey-cabinet .gk-file-remove:hover:not(:disabled) { background: var(--gk-bg); color: var(--gk-ink); }
#goskey-cabinet .gk-file-remove .gk-icon { width: 15px; height: 15px; }
#goskey-cabinet .gk-compose-footer,
#goskey-cabinet .gk-upload-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding-top: 22px; margin-top: 20px; border-top: 1px solid var(--gk-line); }
#goskey-cabinet .gk-review-files { margin: 20px 0; }
#goskey-cabinet .gk-info-list { display: grid; gap: 17px; margin: 0; }
#goskey-cabinet .gk-info-list div { display: grid; gap: 4px; }
#goskey-cabinet .gk-info-list dt { color: var(--gk-muted); font-size: 12px; }
#goskey-cabinet .gk-info-list dd { margin: 0; font-size: 13px; }
#goskey-cabinet .gk-meta { color: var(--gk-muted); font-size: 12px; line-height: 1.6; }
#goskey-cabinet .gk-meta small { font: inherit; }
#goskey-cabinet .gk-quiet-label { display: block; margin-bottom: 5px; color: var(--gk-muted); font-size: 12px; font-weight: 400; }

#goskey-cabinet .gk-breadcrumb { display: flex; align-items: center; gap: 6px; margin-bottom: 20px; color: var(--gk-muted); font-size: 12px; }
#goskey-cabinet .gk-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
#goskey-cabinet .gk-detail-heading h2 { font-size: 24px; line-height: 1.3; }
#goskey-cabinet .gk-detail-status { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
#goskey-cabinet .gk-detail-status .gk-status { font-size: 13px; font-weight: 550; }
#goskey-cabinet .gk-detail-heading > .gk-button { flex-shrink: 0; margin-top: 20px; }
#goskey-cabinet .gk-detail-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 20px; }
#goskey-cabinet .gk-stepper { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); list-style: none; padding: 0 0 23px; margin: 0 0 24px; border-bottom: 1px solid var(--gk-line); }
#goskey-cabinet .gk-stepper.final-result { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#goskey-cabinet .gk-step { position: relative; display: flex; align-items: center; flex-direction: column; gap: 8px; min-width: 0; padding: 0 5px; color: var(--gk-muted); text-align: center; }
#goskey-cabinet .gk-step:not(:last-child)::after { content: ""; position: absolute; top: 11px; right: calc(-50% + 12px); left: calc(50% + 12px); height: 1px; background: var(--gk-line); }
#goskey-cabinet .gk-step.complete:not(:last-child)::after { background: var(--gk-brand); }
#goskey-cabinet .gk-step-marker { position: relative; z-index: 1; display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: var(--gk-bg); color: var(--gk-muted); font-size: 11px; }
#goskey-cabinet .gk-step.complete .gk-step-marker { background: var(--gk-brand); color: var(--gk-on-brand); }
#goskey-cabinet .gk-step.current .gk-step-marker { outline: 1px solid var(--gk-brand); background: var(--gk-selected); color: var(--gk-brand); }
#goskey-cabinet .gk-step.red .gk-step-marker,
#goskey-cabinet .gk-step.terminal-rejected .gk-step-marker,
#goskey-cabinet .gk-step[data-tone="red"] .gk-step-marker { background: var(--gk-error); color: var(--gk-on-brand); outline: none; }
#goskey-cabinet .gk-step.amber .gk-step-marker,
#goskey-cabinet .gk-step.terminal-expired .gk-step-marker,
#goskey-cabinet .gk-step[data-tone="amber"] .gk-step-marker { background: var(--gk-warn); color: var(--gk-on-brand); outline: none; }
#goskey-cabinet .gk-step.complete,
#goskey-cabinet .gk-step.current { color: var(--gk-ink); }
#goskey-cabinet .gk-step-label { max-width: 130px; font-size: 12px; line-height: 1.4; }
#goskey-cabinet .gk-step-time { color: var(--gk-muted); font-size: 11px; }
#goskey-cabinet .gk-step-marker .gk-icon { width: 13px; height: 13px; }
#goskey-cabinet .gk-doc-summary { margin-bottom: 22px; color: var(--gk-muted); font-size: 13px; }
#goskey-cabinet .gk-detail-metadata { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 20px 32px; margin-bottom: 23px; font-size: 12px; }
#goskey-cabinet .gk-detail-metadata span { display: block; margin-bottom: 4px; color: var(--gk-muted); font-size: 11px; }
#goskey-cabinet .gk-doc-block { padding: 19px 0 6px; border-top: 1px solid var(--gk-line); }
#goskey-cabinet .gk-doc-block-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; }
#goskey-cabinet .gk-doc-block-heading .gk-file-symbol { width: 30px; height: 34px; }
#goskey-cabinet .gk-doc-block-heading .gk-file-name { font-size: 14px; font-weight: 550; }
#goskey-cabinet .gk-download-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px 20px; padding: 9px 0 9px 40px; }
#goskey-cabinet .gk-download-label { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-size: 13px; }
#goskey-cabinet .gk-file-format { color: var(--gk-muted); font-size: 10px; font-weight: 550; }
#goskey-cabinet .gk-verified-note { display: flex; align-items: center; gap: 5px; color: var(--gk-muted); font-size: 12px; }
#goskey-cabinet .gk-verified-note .gk-icon { width: 13px; height: 13px; color: var(--gk-success); }
#goskey-cabinet .gk-download-action { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; max-width: 100%; padding: 7px 10px; border: 1px solid var(--gk-line); border-radius: 7px; background: var(--gk-paper); color: var(--gk-brand); font-size: 12px; font-weight: 500; }
#goskey-cabinet .gk-download-action:hover:not(:disabled) { background: var(--gk-hover); }
#goskey-cabinet .gk-download-action .gk-icon { width: 14px; height: 14px; }
#goskey-cabinet .gk-unavailable { color: var(--gk-muted); font-size: 12px; text-align: right; }
#goskey-cabinet .gk-response-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; font-size: 12px; }
#goskey-cabinet .gk-history { margin-top: 24px; color: var(--gk-muted); font-size: 12px; }
#goskey-cabinet .gk-history summary { color: var(--gk-ink); cursor: pointer; }
#goskey-cabinet .gk-history ol { display: grid; gap: 7px; padding-left: 18px; margin: 12px 0 0; }
#goskey-cabinet .gk-detail-bottom,
#goskey-cabinet .gk-footer-note { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 19px; color: var(--gk-muted); font-size: 12px; }
#goskey-cabinet .gk-preview-panel { margin-top: 24px; }
#goskey-cabinet .gk-preview-panel iframe { display: block; width: 100%; height: 560px; border: 0; border-radius: 6px; background: var(--gk-bg); }

#goskey-cabinet .gk-login-view { width: calc(100% - 32px); max-width: 420px; padding: 32px; margin: clamp(40px, 10vh, 108px) auto; border-radius: var(--gk-radius); background: var(--gk-paper); }
#goskey-cabinet .gk-login-view h2 { margin-bottom: 10px; }
#goskey-cabinet .gk-login-view .gk-subtitle { margin-bottom: 26px; }
#goskey-cabinet .gk-login-view .gk-button.primary { min-width: 110px; }
#goskey-cabinet .gk-login-view .gk-notice { margin: 18px 0 0; }
#goskey-cabinet .gk-login-view > .gk-paper-panel { padding: 0; border-radius: 0; background: transparent; }
#goskey-cabinet .gk-login-view form { margin-top: 26px; }
#goskey-cabinet .gk-notice { padding: 13px 16px; margin-bottom: 22px; border: 1px solid var(--gk-line); border-radius: 8px; background: var(--gk-paper); color: var(--gk-ink); font-size: 13px; line-height: 1.6; }
#goskey-cabinet .gk-notice.error,
#goskey-cabinet .gk-notice[data-tone="error"] { padding-left: 0; padding-right: 0; border-color: transparent; background: transparent; color: var(--gk-error); }
#goskey-cabinet .gk-error { margin-top: 10px; color: var(--gk-error); font-size: 13px; }
#goskey-cabinet .gk-alert { padding: 14px 0; color: var(--gk-warn); font-size: 13px; line-height: 1.6; }
#goskey-cabinet .gk-alert:empty { padding-top: 0; padding-bottom: 0; }
#goskey-cabinet .gk-alert.error,
#goskey-cabinet .gk-alert[data-tone="error"] { color: var(--gk-error); }
#goskey-cabinet .gk-help,
#goskey-cabinet .gk-help-block { display: grid; gap: 20px; }
#goskey-cabinet .gk-help-block { padding: 24px; border-radius: var(--gk-radius); background: var(--gk-paper); }
#goskey-cabinet .gk-help > .gk-help-block { padding: 0; border-radius: 0; background: transparent; }
#goskey-cabinet .gk-help h3,
#goskey-cabinet .gk-help-block h3 { margin-bottom: 7px; }
#goskey-cabinet .gk-help p,
#goskey-cabinet .gk-help-block p { max-width: 680px; color: var(--gk-muted); font-size: 13px; line-height: 1.7; }
#goskey-cabinet .gk-help ol,
#goskey-cabinet .gk-help-block ol { display: grid; gap: 8px; padding-left: 18px; margin: 12px 0 0; font-size: 13px; }
#goskey-cabinet .gk-loading { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 32px 20px; color: var(--gk-muted); font-size: 13px; }
#goskey-cabinet .gk-loading::before { content: ""; width: 15px; height: 15px; border: 2px solid var(--gk-line); border-top-color: var(--gk-brand); border-radius: 50%; animation: gk-loading-turn .8s linear infinite; }
@keyframes gk-loading-turn { to { transform: rotate(360deg); } }

@media (max-width: 800px) {
  #goskey-cabinet .gk-topbar { padding-left: 24px; padding-right: 24px; }
  #goskey-cabinet .gk-app-content,
  #goskey-cabinet .gk-workspace { padding: 28px 24px 36px; }
  #goskey-cabinet .gk-list-head,
  #goskey-cabinet .gk-row { grid-template-columns: minmax(0, 1fr) 140px; gap: 12px; }
  #goskey-cabinet .gk-row > .gk-recipient,
  #goskey-cabinet .gk-row > .gk-item-date,
  #goskey-cabinet .gk-list-head > :nth-child(2) { display: none; }
  #goskey-cabinet .gk-composer-grid,
  #goskey-cabinet .gk-preview-grid { grid-template-columns: 1fr; gap: 26px; }
  #goskey-cabinet .gk-detail-heading { flex-wrap: wrap; }
  #goskey-cabinet .gk-detail-heading > .gk-button { margin-top: 0; }
  #goskey-cabinet .gk-detail-actions { justify-content: flex-start; margin-top: 0; }
}

@media (max-width: 600px) {
  #goskey-cabinet .gk-topbar { min-height: 64px; padding: 12px 16px; gap: 12px; }
  #goskey-cabinet .gk-topbar .gk-wordmark small,
  #goskey-cabinet .gk-topbar .gk-user > small { display: none; }
  #goskey-cabinet .gk-brand,
  #goskey-cabinet .gk-wordmark { font-size: 20px; }
  #goskey-cabinet .gk-user { gap: 8px; }
  #goskey-cabinet .gk-app-content,
  #goskey-cabinet .gk-workspace { padding: 24px 16px 32px; }
  #goskey-cabinet h1,
  #goskey-cabinet h2 { font-size: 23px; }
  #goskey-cabinet .gk-heading { flex-wrap: wrap; margin-bottom: 22px; }
  #goskey-cabinet .gk-tabs { gap: 22px; }
  #goskey-cabinet .gk-search { flex-basis: 100%; }
  #goskey-cabinet .gk-filter { flex: 1; }
  #goskey-cabinet .gk-filter select,
  #goskey-cabinet select.gk-filter { width: 100%; max-width: none; }
  #goskey-cabinet .gk-list-head { display: none; }
  #goskey-cabinet .gk-row { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 17px 14px; }
  #goskey-cabinet .gk-row > .gk-status { margin-left: 44px; }
  #goskey-cabinet .gk-paper-panel,
  #goskey-cabinet .gk-help-block { padding: 20px; }
  #goskey-cabinet .gk-login-view { padding: 26px 24px; }
  #goskey-cabinet .gk-preview-panel iframe { height: 400px; }
  #goskey-cabinet .gk-compose-footer,
  #goskey-cabinet .gk-upload-footer { align-items: flex-start; flex-direction: column; }
  #goskey-cabinet .gk-stepper,
  #goskey-cabinet .gk-stepper.final-result { display: flex; flex-direction: column; gap: 14px; padding-bottom: 20px; }
  #goskey-cabinet .gk-step { display: grid; grid-template-columns: 23px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 0; text-align: left; }
  #goskey-cabinet .gk-step-label { max-width: none; font-size: 13px; }
  #goskey-cabinet .gk-step:not(:last-child)::after { top: 23px; right: auto; left: 11px; width: 1px; height: 15px; }
  #goskey-cabinet .gk-detail-metadata { gap: 14px 20px; }
  #goskey-cabinet .gk-download-row { grid-template-columns: minmax(0, 1fr); padding-left: 0; }
  #goskey-cabinet .gk-download-action { justify-self: start; min-height: 40px; }
  #goskey-cabinet .gk-unavailable { text-align: left; }
  #goskey-cabinet .gk-footer-note { align-items: flex-start; }
}

@media (pointer: coarse) {
  #goskey-cabinet .gk-button,
  #goskey-cabinet .gk-tab,
  #goskey-cabinet .gk-download-action,
  #goskey-cabinet .gk-file-remove { min-height: 44px; }
  #goskey-cabinet .gk-search input,
  #goskey-cabinet .gk-field input,
  #goskey-cabinet .gk-field select,
  #goskey-cabinet .gk-filter select,
  #goskey-cabinet select.gk-filter { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  #goskey-cabinet .gk-loading::before { animation: none; }
}
#goskey-cabinet .gk-pdf-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
#goskey-cabinet .gk-pdf-page-count { color:var(--gk-muted); font-size:12px; }
#goskey-cabinet .gk-pdf-status { color:var(--gk-muted); font-size:13px; margin:12px 0; }
#goskey-cabinet .gk-pdf-canvas { display:block; max-width:100%; height:auto; margin:0 auto; background:white; }
#goskey-cabinet .gk-pdf-text { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

#goskey-cabinet .gk-login-view .gk-field { margin-bottom: 20px; }
#goskey-cabinet .gk-login-view .gk-button.primary { width: 100%; }
#goskey-cabinet .gk-auth-switch { margin: 22px 0 0; color: var(--gk-muted); font-size: 13px; text-align: center; }
#goskey-cabinet .gk-auth-link { padding: 0; border: 0; background: transparent; color: var(--gk-brand); font: inherit; cursor: pointer; }
#goskey-cabinet .gk-auth-link:hover { text-decoration: underline; }
#goskey-cabinet .gk-auth-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
