
@font-face {
  font-family: "M PLUS 1p";
  font-style: normal;
  font-display: block;
  font-weight: 400;
  src: url("/fonts/m-plus-1p/m-plus-1p-japanese-400-normal-v1.woff2") format("woff2");
}
@font-face {
  font-family: "M PLUS 1p";
  font-style: normal;
  font-display: block;
  font-weight: 700;
  src: url("/fonts/m-plus-1p/m-plus-1p-japanese-700-normal-v1.woff2") format("woff2");
}
:root {
  color-scheme: light;
  --paper: #f7f9fc;
  --surface: #ffffff;
  --ink: #172126;
  --muted: #66737a;
  --line: #dce5e8;
  --accent: #087f91;
  --accent-dark: #075968;
  --accent-pale: #e7f3f4;
  --warning: #7a6417;
  --danger: #a43f2d;
  --serif: "M PLUS 1p", sans-serif;
  --sans: "M PLUS 1p", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-synthesis: none;
  font-size: 15px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--accent-dark); text-underline-offset: .22em; }
a:hover { color: var(--accent); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.app-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.app-header {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--line);
}
.app-brand { display: inline-flex; align-items: baseline; gap: 11px; color: inherit; text-decoration: none; }
.app-brand-word { color: var(--accent-dark); font-size: 20px; font-weight: 750; letter-spacing: .16em; line-height: 1; }
.app-brand-note { color: var(--muted); font-size: 12px; letter-spacing: .07em; }
.app-header-label { color: var(--muted); font-size: 12px; letter-spacing: .12em; }
.app-main { padding: 54px 0 96px; }
.page-intro { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(250px, .65fr); gap: 48px; align-items: end; margin-bottom: 46px; }
.page-intro-copy { min-width: 0; }
.eyebrow { margin: 0 0 12px; color: var(--accent-dark); font-size: 11px; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.page-title { margin: 0; font-family: var(--serif); font-size: clamp(34px, 4.4vw, 54px); font-weight: 600; line-height: 1.36; overflow-wrap: anywhere; }
.mobile-title-break { display: none; }
.page-lead { max-width: 700px; margin: 16px 0 0; color: #4d5a60; }
.page-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px 22px; align-items: center; }
.page-actions form { margin: 0; }
.organization-name { margin: 0; color: var(--muted); font-size: 13px; }
.back-link { display: inline-block; margin-bottom: 22px; font-size: 13px; }
.button, button {
  min-height: 44px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  padding: 9px 17px;
  color: var(--ink);
  background: transparent;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .025em;
}
.button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.button:hover, button:hover { border-color: var(--accent-dark); color: var(--accent-dark); }
.button-primary, button[type="submit"] { border-color: var(--accent-dark); color: #fff; background: var(--accent-dark); }
.button-primary:hover, button[type="submit"]:hover { border-color: var(--accent); color: #fff; background: var(--accent); }
.button-quiet, .page-actions button { min-height: auto; border: 0; padding: 3px 0; color: var(--accent-dark); background: transparent; text-decoration: underline; text-underline-offset: .22em; }
.button-danger, button.button-danger, .danger-zone button, .term-danger button { border-color: var(--danger); color: var(--danger); background: transparent; }
.button-danger:hover, button.button-danger:hover, .danger-zone button:hover, .term-danger button:hover { border-color: var(--danger); color: #fff; background: var(--danger); }
.notice { margin: 0 0 28px; border: 1px solid #b6d5d9; border-radius: 6px; padding: 15px 18px; background: var(--accent-pale); color: #32454c; }
.notice-error { border-color: #ddb7af; background: #f7ebe8; color: #713123; }
.notice-warning { border-color: #d8c98d; background: #f7f3e5; color: #675414; }
.section-stack { display: grid; gap: 34px; }
.panel { border-top: 1px solid var(--ink); padding-top: 25px; }
.panel-tint { border: 1px solid var(--line); padding: 28px; background: var(--surface); }
.panel-danger { border: 1px solid #ddb7af; border-radius: 8px; padding: 24px; background: #fffafa; }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.section-heading h2, .panel > h2 { margin: 0; font-family: var(--serif); font-size: 26px; font-weight: 600; line-height: 1.45; }
.section-heading p { max-width: 600px; margin: 0; color: var(--muted); font-size: 13px; }
.two-column { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: 34px; align-items: start; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-stack { display: grid; gap: 18px; }
.form-full { grid-column: 1 / -1; }
label { display: grid; gap: 7px; color: #435158; font-size: 12px; font-weight: 700; letter-spacing: .025em; }
input, select, textarea {
  width: 100%; min-width: 0; border: 1px solid #bfc9cb; border-radius: 6px; padding: 10px 12px;
  color: var(--ink); background: #fff; font-size: 15px; line-height: 1.5;
}
textarea { min-height: 104px; resize: vertical; }
input[type="checkbox"] { width: 18px; min-width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--accent-dark); }
.checkbox-label { display: flex; gap: 11px; align-items: flex-start; font-size: 13px; font-weight: 500; line-height: 1.65; }
.form-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.support-badge-actions { margin: 20px 0 10px; font-size: 13px; line-height: 1.7; }
.support-badge-actions form { margin: 0; }
.support-badge-external-link { display: inline-flex; align-items: center; gap: 5px; }
.support-badge-external-link svg { flex: 0 0 auto; }
.status.publication-current-status { align-self: center; padding: 0 9px; font-size: 13px; letter-spacing: .025em; line-height: 1.7; }
.support-badge-preview-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.support-badge-preview-row form { margin: 0; }
.support-badge-preview-refresh { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 6px; border-color: var(--line); padding: 7px 11px; color: var(--accent-dark); background: var(--surface); }
.support-badge-preview-refresh:hover { border-color: var(--accent-dark); color: var(--accent-dark); background: var(--surface); }
.support-badge-detail-settings { margin: 0; border: 1px solid var(--line); padding: 0; background: var(--surface); }
.support-badge-detail-settings > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; padding: 13px 15px; color: var(--ink); cursor: pointer; }
.support-badge-detail-settings > summary::-webkit-details-marker { display: none; }
.support-badge-detail-summary-copy { display: grid; min-width: 0; gap: 2px; text-align: left; }
.support-badge-detail-summary-copy strong { font-size: 13px; font-weight: 700; }
.support-badge-detail-summary-copy small { color: var(--muted); font-size: 11px; font-weight: 500; text-align: left; }
.support-badge-detail-settings > summary svg { flex: 0 0 auto; color: var(--accent-dark); transition: transform .18s ease; }
.support-badge-detail-settings[open] > summary svg { transform: rotate(180deg); }
.support-badge-detail-settings[open] > summary { border-bottom: 1px solid var(--line); }
.support-badge-detail-settings > form { display: grid; gap: 14px; padding: 16px; }
.support-badge-detail-settings fieldset { min-width: 0; margin: 0; border: 0; padding: 0; }
.support-badge-detail-settings legend { margin-bottom: 9px; color: #435158; font-size: 12px; font-weight: 700; }
.measurement-stop-disclosure { margin-top: 16px; border: 1px solid var(--line); padding-top: 0; background: var(--surface); }
.measurement-stop-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; padding: 13px 15px; color: #435158; cursor: pointer; }
.measurement-stop-disclosure > summary::-webkit-details-marker { display: none; }
.measurement-stop-disclosure > summary strong { font-size: 13px; font-weight: 700; }
.measurement-stop-disclosure > summary svg { flex: 0 0 auto; color: var(--muted); transition: transform .18s ease; }
.measurement-stop-disclosure[open] > summary svg { transform: rotate(180deg); }
.measurement-stop-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.measurement-stop-disclosure > form { padding: 18px 16px; background: #f8fafa; }
.measurement-stop-disclosure .checkbox-label input { margin: 2px 0 1px; }
.support-badge-link-options { display: grid; gap: 8px; }
.support-badge-link-option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: start; border: 1px solid #c7d0d2; padding: 12px; background: #fff; cursor: pointer; }
.support-badge-link-option:has(input:checked) { border-color: var(--accent-dark); box-shadow: inset 0 0 0 1px var(--accent-dark); }
.support-badge-link-option.is-disabled { color: var(--muted); background: #f3f5f5; cursor: not-allowed; }
.support-badge-link-option input { width: 18px; min-width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--accent-dark); }
.support-badge-link-option-copy { display: grid; min-width: 0; gap: 2px; }
.support-badge-link-option-copy strong { color: var(--ink); font-size: 13px; }
.support-badge-link-option-copy small { color: var(--muted); font-size: 11px; font-weight: 500; line-height: 1.55; }
.support-badge-link-option-copy .support-badge-link-option-note { color: var(--danger); }
.support-badge-link-option .status { margin-top: 0; white-space: nowrap; }
.support-badge-link-actions { justify-content: flex-end; }
.support-badge-embed-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.support-badge-embed-heading label { min-width: 0; }
.support-badge-copy-button { display: inline-flex; width: auto; min-height: 36px; flex: 0 0 auto; align-items: center; justify-content: center; gap: 6px; padding: 6px 11px; }
.support-badge-copy-button svg { flex: 0 0 auto; }
.support-badge-publish-form button:disabled { border-color: var(--line); color: var(--muted); background: #eef1f1; cursor: not-allowed; opacity: .72; }
.support-badge-create-scope { margin-top: 24px; }
.form-help.support-badge-privacy-note { margin-top: 16px; }
.form-help { margin: 0; color: var(--muted); font-size: 12px; }
.record-list, .asset-list, .term-list, .event-list { margin: 0; padding: 0; list-style: none; }
.record-list { border-top: 1px solid var(--line); }
.record-item { display: grid; grid-template-columns: minmax(180px, .75fr) minmax(0, 1.45fr) auto; gap: 22px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--line); }
.record-code { display: block; font-size: 13px; letter-spacing: .06em; overflow-wrap: anywhere; }
.record-title { margin: 2px 0 0; font-family: var(--serif); font-size: 20px; line-height: 1.45; }
.record-meta { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.record-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; font-size: 12px; }
.status { display: inline-flex; align-items: center; width: fit-content; border: 1px solid currentColor; padding: 3px 9px; color: var(--accent-dark); font-size: 11px; font-weight: 750; letter-spacing: .08em; line-height: 1.4; }
.status-scheduled { color: var(--warning); }
.status-expiring { color: var(--warning); }
.status-expired { color: var(--muted); }
.status-revoked, .status-failed { color: var(--danger); }
.status-ended { margin-left: 7px; color: var(--muted); font-size: 11px; }
.supporter-list { display: grid; gap: 16px; margin: 24px 0 0; padding: 0; list-style: none; }
.supporter-item { border-top: 1px solid var(--line); padding-top: 18px; }
.supporter-report-note { margin: -10px 0 22px; color: var(--muted); font-size: 12px; }
.supporter-filter { margin: 20px 0 22px; padding: 20px; }
.supporter-filter-primary { display: grid; grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr); gap: 15px; }
.supporter-filter-details { margin: 16px 0 0; border: 0; border-top: 1px solid var(--line); padding: 0; }
.supporter-filter-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0 0; }
.supporter-filter-details > summary small { color: var(--muted); font-size: 11px; font-weight: 500; text-align: right; }
.supporter-filter-advanced-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; padding-top: 16px; }
.supporter-filter-actions { margin-top: 18px; }
.supporter-report-result-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); padding: 0 0 11px; }
.supporter-report-result-heading strong { font-size: 14px; }
.supporter-report-result-heading span { color: var(--muted); font-size: 11px; }
.supporter-operation-list, .supporter-series-list { margin: 0; padding: 0; list-style: none; }
.supporter-operation-list > li {
  position: relative; display: grid; grid-template-columns: minmax(170px, 1.15fr) minmax(160px, .95fr) minmax(190px, 1.15fr) 18px;
  gap: 18px; align-items: center; border-bottom: 1px solid var(--line); padding: 18px 12px;
}
.supporter-operation-list > li:hover, .supporter-operation-list > li:focus-within { background: #f6fbfb; }
.supporter-operation-row-link { position: absolute; z-index: 1; inset: 0; }
.supporter-operation-row-link:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.supporter-operation-identity, .supporter-operation-state, .supporter-operation-purpose { display: grid; min-width: 0; gap: 4px; }
.supporter-operation-identity h3 { margin: 0; font-size: 15px; line-height: 1.45; overflow-wrap: anywhere; }
.supporter-operation-identity span, .supporter-operation-state p,
.supporter-operation-purpose span { margin: 0; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.supporter-operation-purpose strong { font-size: 12px; line-height: 1.55; }
.supporter-operation-chevron { justify-self: end; color: var(--muted); }
.supporter-series-list { border-top: 1px solid var(--line); }
.supporter-series-list > li { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(320px, 1fr) auto; gap: 22px; align-items: center; border-bottom: 1px solid var(--line); padding: 20px 0; }
.supporter-series-main { display: flex; min-width: 0; gap: 14px; align-items: flex-start; }
.supporter-series-main > .status { flex: 0 0 84px; width: 84px; justify-content: center; }
.supporter-series-main > div { min-width: 0; }
.supporter-series-main h3 { margin: 0; font-size: 15px; line-height: 1.45; overflow-wrap: anywhere; }
.supporter-series-main p { margin: 3px 0 0; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.supporter-series-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.supporter-series-meta div { min-width: 0; padding: 0 12px; }
.supporter-series-meta div + div { border-left: 1px solid var(--line); }
.supporter-series-meta dt { color: var(--muted); font-size: 10px; }
.supporter-series-meta dd { margin: 2px 0 0; font-size: 11px; overflow-wrap: anywhere; }
.supporter-series-list > li > a { font-size: 12px; white-space: nowrap; }
.supporter-badge-create-actions { margin: 0 0 24px; }
.meta-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 28px 0 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.meta-grid div { min-width: 0; padding: 18px 18px 18px 0; }
.meta-grid div + div { border-left: 1px solid var(--line); padding-left: 18px; }
.meta-grid dt { color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.meta-grid dd { margin: 3px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.program-detail-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.program-detail-link-actions { margin-top: 16px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin: 22px 0; border: 1px solid var(--line); background: var(--surface); }
.metric-grid div { padding: 18px; }
.metric-grid div + div { border-left: 1px solid var(--line); }
.metric-grid dt { color: var(--muted); font-size: 11px; }
.metric-grid dd { margin: 4px 0 0; font-family: var(--serif); font-size: 24px; font-weight: 600; }
.supporter-detail-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
caption { padding: 0 0 10px; color: var(--muted); text-align: left; }
th, td { border-top: 1px solid var(--line); padding: 10px 8px; text-align: left; }
.code-field { min-height: 104px; background: #f1f2ef; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.term-list { display: grid; gap: 26px; }
.term-card { border: 1px solid var(--line); padding: 26px; background: var(--surface); }
.term-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.term-header h3 { margin: 0; font-family: var(--serif); font-size: 23px; font-weight: 600; }
.term-copy { color: #415057; }
.term-subsection { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.term-subsection h4 { margin: 0 0 9px; font-size: 14px; }
.term-actions { display: grid; gap: 18px; margin-top: 22px; }
.term-danger { margin-top: 18px; padding-top: 18px; border-top: 1px solid #e8c8c1; }
details { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 14px; }
summary { color: var(--accent-dark); cursor: pointer; font-weight: 700; }
.event-list { border-top: 1px solid var(--line); }
.event-list li { padding: 12px 0; border-bottom: 1px solid var(--line); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.asset-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.asset-item { border: 1px solid var(--line); padding: 22px; background: var(--surface); }
.asset-item figure { margin: 18px 0; padding: 18px; border: 1px solid var(--line); background: var(--paper); }
.asset-item img { display: block; width: auto; max-width: 100%; max-height: 150px; margin: 0 auto; object-fit: contain; }
.asset-item figcaption { margin-top: 12px; color: var(--muted); font-size: 11px; }
.asset-guidance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 30px; margin-bottom: 20px; color: var(--muted); font-size: 13px; }
.asset-guidance p { margin: 0; }
.asset-registration-guide { margin: 0 0 24px; border: 1px solid #9fc5ca; padding: 20px; background: #f2f9f9; }
.asset-registration-guide-copy h3 { margin: 0; font-size: 16px; }
.asset-registration-guide-copy p { max-width: 760px; margin: 7px 0 0; color: #415057; font-size: 12px; line-height: 1.7; }
.asset-registration-guide ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: none; }
.asset-registration-guide li { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; min-width: 0; padding-right: 24px; }
.asset-registration-guide li:not(:last-child)::after { content: ""; position: absolute; top: 14px; right: 8px; width: 9px; border-top: 1px solid #75aeb5; }
.asset-registration-guide li > span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--accent); border-radius: 50%; color: var(--accent-dark); background: #fff; font-size: 11px; font-weight: 800; }
.asset-registration-guide li strong { display: block; font-size: 12px; }
.asset-registration-guide li p { margin: 4px 0 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.asset-registration-guide-note { margin: 17px 0 0; border-top: 1px solid #c9dfe2; padding-top: 13px; color: #415057; font-size: 11px; line-height: 1.7; }
.asset-connection-note { margin-bottom: 24px; }
.asset-slot-grid { display: grid; grid-template-columns: minmax(0, 760px); gap: 20px; margin: 0; padding: 0; list-style: none; }
.asset-slot { min-width: 0; border: 1px solid var(--line); padding: 22px; background: var(--surface); }
.asset-slot-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.asset-slot-header h3 { margin: 4px 0 1px; font-size: 18px; line-height: 1.4; }
.asset-slot-header p { margin: 0; color: var(--muted); font-size: 12px; }
.asset-requirement { color: var(--accent-dark); font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.status-empty, .status-retired { color: var(--muted); }
.status-pending { color: var(--warning); }
.asset-slot-meta { display: grid; gap: 9px; margin: 16px 0; }
.asset-slot-meta div { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 10px; }
.asset-slot-meta dt { color: var(--muted); font-size: 11px; }
.asset-slot-meta dd { margin: 0; font-size: 12px; }
.asset-library-secondary { margin-top: 28px; border-top: 1px solid var(--line); padding-top: 26px; }
.asset-library-secondary > .section-heading { align-items: end; }
.asset-library-secondary > .section-heading h3 { margin: 4px 0 0; font-size: 18px; }
.asset-library-secondary > .section-heading p { max-width: 520px; margin: 0; }
.asset-library-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0 0 20px; padding: 0; list-style: none; }
.asset-library-card { min-width: 0; border: 1px solid var(--line); padding: 18px; background: var(--surface); }
.asset-library-card > header { display: flex; align-items: start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.asset-library-card > header div { display: grid; gap: 3px; min-width: 0; }
.asset-library-card > header strong { overflow-wrap: anywhere; font-size: 15px; }
.asset-library-card > header div span { color: var(--muted); font-size: 11px; }
.asset-library-card .asset-preview { margin: 0 0 12px; }
.asset-library-pending { display: grid; gap: 12px; margin: 20px 0; }
.asset-library-pending h4 { margin: 0; font-size: 14px; }
.asset-library-upload { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(240px, 1fr) auto; align-items: end; gap: 14px; border-top: 1px solid var(--line); padding-top: 20px; }
.asset-library-upload button { min-height: 44px; }
.asset-library-upload .asset-upload-note { grid-column: 1 / -1; }
.asset-confirmation-single { grid-template-columns: minmax(0, 520px); }
.asset-preview { min-width: 0; min-height: 142px; display: grid; place-items: center; margin: 16px 0; border: 1px solid var(--line); padding: 16px; }
.asset-preview-light { color: var(--ink); background: #fff; }
.asset-preview-dark { color: #fff; background: #073f4a; }
.asset-preview img { display: block; width: auto; max-width: 100%; max-height: 108px; margin: auto; object-fit: contain; }
.asset-placeholder { display: grid; width: 100%; min-height: 92px; place-items: center; border: 1px dashed currentColor; color: inherit; opacity: .52; font-size: 11px; }
.asset-version { margin-top: 16px; border: 1px solid var(--line); padding: 16px; }
.asset-version-current { border-color: #b6d5d9; background: #f5fafa; }
.asset-version-ready { border-color: #d8c98d; background: #fbf8ee; }
.asset-version-failed { border-color: #ddb7af; background: #fffafa; }
.asset-version-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.asset-version-heading strong { font-size: 13px; }
.asset-version > p, .asset-dimensions { color: var(--muted); font-size: 11px; }
.asset-progress { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; color: var(--muted); }
.asset-progress span { flex: 0 0 auto; border: 1px solid var(--line-dark); padding: 2px 7px; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.asset-progress strong { color: inherit; font-size: 12px; }
.asset-progress-action { color: var(--accent-dark); }
.asset-progress-action span { border-color: var(--accent); background: #eef8f8; }
.asset-next-step { margin: 7px 0 0; color: #415057 !important; line-height: 1.7; }
.asset-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.asset-actions .button { min-height: 38px; padding: 7px 11px; font-size: 11px; }
.asset-upload-form { display: grid; gap: 12px; margin-top: 18px; border-top: 1px solid var(--line); padding-top: 18px; }
.asset-upload-form button { width: 100%; }
.asset-upload-note { margin: -2px 0 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.asset-history { margin-top: 18px; }
.asset-history ul { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.asset-history li { display: grid; grid-template-columns: auto auto minmax(0, 1fr); gap: 9px; align-items: center; font-size: 11px; }
.asset-history a { justify-self: end; }
.asset-confirmation { max-width: 1120px; }
.asset-confirmation-intro { margin-bottom: 22px; border: 1px solid #b6d5d9; border-radius: 6px; padding: 14px 16px; background: #f2f9f9; }
.asset-confirmation-intro .asset-progress { margin-bottom: 7px; }
.asset-confirmation-intro p { margin: 0; color: #415057; font-size: 12px; line-height: 1.75; }
.asset-confirmation-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.asset-confirmation-summary div { min-width: 0; padding: 15px 0; }
.asset-confirmation-summary div + div { border-left: 1px solid var(--line); padding-left: 18px; }
.asset-confirmation-summary dt { color: var(--muted); font-size: 11px; }
.asset-confirmation-summary dd { margin: 4px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.asset-confirmation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-bottom: 22px; }
.asset-confirmation-grid > section { min-width: 0; border: 1px solid var(--line); padding: 18px; }
.asset-confirmation-grid h3 { margin: 0; font-size: 15px; }
.asset-confirmation-grid section > p { color: var(--muted); font-size: 12px; }
.asset-library-panel { overflow: hidden; }
.brand-settings { margin-bottom: 26px; border: 1px solid var(--line); padding: 20px; background: #f8fafa; }
.brand-settings-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.brand-settings-heading h3, .asset-library-subheading h3 { margin: 0; font-size: 16px; }
.brand-settings-heading p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.brand-settings-grid { display: grid; grid-template-columns: minmax(210px, .7fr) minmax(0, 1.3fr); gap: 22px; margin-top: 20px; }
.brand-color-field, .brand-font-field { min-width: 0; margin: 0; border: 0; padding: 0; }
.brand-color-field { display: grid; align-content: start; gap: 8px; font-size: 12px; font-weight: 700; }
.brand-color-field small, .brand-font-field > small { color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.6; }
.brand-color-control { display: flex; align-items: center; gap: 12px; }
.brand-color-control input { width: 62px; height: 42px; border: 1px solid #aebabc; padding: 3px; background: #fff; cursor: pointer; }
.brand-color-control code { color: #35454b; font-size: 12px; }
.brand-color-output { display: grid; grid-template-columns: auto 22px auto; align-items: center; justify-content: start; gap: 8px; color: #415057; font-size: 10px; font-weight: 600; }
.brand-color-output-swatch { display: block; width: 22px; height: 22px; border: 1px solid #aebabc; background: #fff; }
.brand-color-output code { color: #35454b; font-size: 11px; }
.brand-font-field legend { margin-bottom: 8px; font-size: 12px; font-weight: 700; }
.brand-font-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.brand-font-option { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 7px; border: 1px solid #c7d0d2; padding: 10px; background: #fff; cursor: pointer; }
.brand-font-option:has(input:checked) { border-color: var(--accent-dark); box-shadow: inset 0 0 0 1px var(--accent-dark); }
.brand-font-option input { width: auto; margin: 2px 0 0; }
.brand-font-option span { font-size: 11px; font-weight: 700; }
.brand-font-option strong { grid-column: 1 / -1; font-family: var(--brand-font-family); font-size: 13px; font-weight: var(--brand-font-weight); white-space: nowrap; }
.brand-font-gothic { --brand-font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif; --brand-font-weight: 500; --brand-organization-weight: 600; }
.brand-font-mincho { --brand-font-family: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", Georgia, serif; --brand-font-weight: 600; --brand-organization-weight: 700; }
.brand-font-rounded-gothic { --brand-font-family: "Hiragino Maru Gothic ProN", "Hiragino Maru Gothic Pro", "BIZ UDPGothic", "Yu Gothic UI", Meiryo, sans-serif; --brand-font-weight: 500; --brand-organization-weight: 600; }
.brand-badge-sample { position: relative; display: flex; width: 280px; height: 64px; align-items: center; gap: 10px; margin-top: 18px; overflow: hidden; border: 1px solid #8f989c; border-radius: 7px; padding: 10px 12px 7px; background: #fff; }
.brand-badge-sample-mark { width: 30px; height: 30px; flex: 0 0 auto; object-fit: contain; }
.brand-badge-sample > div { display: grid; min-width: 0; gap: 2px; font-family: var(--brand-font-family); }
.brand-badge-sample strong, .brand-badge-sample span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.brand-badge-sample strong { font-size: 11px; font-weight: var(--brand-organization-weight); }
.brand-badge-sample span { color: var(--muted); font-size: 9px; }
.brand-badge-sample-detail { display: flex; align-items: center; gap: 5px; }
.brand-badge-sample-detail svg { width: 64px; height: 10px; flex: 0 0 auto; overflow: visible; }
.brand-settings-note { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.brand-settings-actions { display: flex; justify-content: flex-end; margin-top: 16px; }
.brand-settings-actions button { min-width: 142px; min-height: 40px; }
.asset-library-subheading { margin-top: 0; padding-top: 2px; }
.asset-library-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 24px; align-items: start; }
.asset-library-list { min-width: 0; border: 1px solid var(--line); background: var(--surface); }
.asset-library-list-head,
.asset-library-row { display: grid; grid-template-columns: minmax(180px, 1.6fr) minmax(120px, 1.1fr) 44px 76px 78px; gap: 10px; align-items: center; }
.asset-library-list-head { min-height: 42px; padding: 0 18px; color: var(--muted); background: #f6f8f8; font-size: 10px; font-weight: 700; letter-spacing: .04em; }
.asset-library-row { min-height: 102px; border-top: 1px solid var(--line); padding: 14px 18px; }
.asset-library-row-pending { background: #fffaf2; }
.asset-library-row > * { min-width: 0; }
.asset-library-row > p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.asset-library-row > span { font-size: 11px; }
.asset-library-identity { display: flex; gap: 13px; align-items: center; }
.asset-library-identity > div:last-child { display: grid; gap: 4px; min-width: 0; }
.asset-library-identity strong { overflow-wrap: anywhere; font-size: 13px; line-height: 1.5; }
.asset-library-identity span { color: var(--muted); font-size: 10px; }
.asset-library-thumbnail { display: grid; width: 70px; height: 70px; flex: 0 0 70px; place-items: center; border: 1px solid var(--line); background: #fff; overflow: hidden; }
.asset-library-thumbnail .asset-preview { width: 100%; min-height: 0; height: 100%; margin: 0; border: 0; padding: 8px; }
.asset-library-thumbnail .asset-preview img { max-height: 52px; }
.asset-library-thumbnail .asset-placeholder { min-height: 50px; border: 0; font-size: 9px; }
.asset-library-action { display: flex; justify-content: flex-end; }
.asset-library-manage { width: 78px; min-height: 36px; border: 1px solid #aebabc; padding: 7px 6px; font-size: 9px; white-space: nowrap; }
.asset-library-empty { border-top: 1px solid var(--line); padding: 24px 18px; color: var(--muted); text-align: center; font-size: 12px; }
.asset-library-empty p { margin: 0; }
.asset-library-guide { border: 1px solid #b9d4d7; padding: 20px; background: #f1f8f8; }
.asset-library-guide h3 { margin: 0; font-size: 16px; }
.asset-library-guide > p { margin: 7px 0 0; color: #536168; font-size: 11px; line-height: 1.7; }
.asset-library-guide ol { display: grid; gap: 0; margin: 18px 0; padding: 0; list-style: none; counter-reset: asset-guide; }
.asset-library-guide li { position: relative; display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 10px; min-height: 58px; counter-increment: asset-guide; }
.asset-library-guide li::before { content: counter(asset-guide); display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid var(--accent); border-radius: 50%; color: var(--accent-dark); background: #fff; font-size: 10px; font-weight: 800; }
.asset-library-guide li:not(:last-child)::after { content: ""; position: absolute; top: 27px; left: 12px; height: 30px; border-left: 1px solid #8dbbc0; }
.asset-library-guide li strong { font-size: 11px; }
.asset-library-guide li span { grid-column: 2; margin-top: -17px; color: var(--muted); font-size: 10px; }
.asset-library-guide .asset-library-guide-note { border-top: 1px solid #c9dfe2; padding-top: 13px; }
.asset-library-guide .button { width: 100%; min-height: 42px; margin-top: 18px; font-size: 11px; }
.asset-library-footnote { margin: 16px 0 0; color: var(--muted); font-size: 11px; }
.asset-operation-dialog { width: min(580px, calc(100% - 40px)); max-width: none; max-height: calc(100dvh - 48px); margin: auto; border: 0; padding: 0; color: var(--ink); background: transparent; overflow: visible; }
.asset-operation-dialog::backdrop { background: rgba(7, 25, 30, .66); }
.asset-operation-dialog[data-fallback] { position: fixed; inset: 0; z-index: 100; width: 100%; max-height: none; height: 100%; margin: 0; border: 0; padding: 24px; place-items: center; background: rgba(7, 25, 30, .66); }
.asset-operation-dialog[data-fallback][open] { display: grid; }
.asset-operation-dialog[data-fallback] .asset-operation-dialog-shell { width: min(580px, 100%); }
body.asset-modal-open { overflow: hidden; }
.asset-operation-dialog-shell { position: relative; max-height: calc(100dvh - 48px); border: 1px solid #bdc7c9; background: #fff; box-shadow: 0 18px 54px rgba(8, 29, 34, .24); overflow-y: auto; }
.asset-operation-dialog-close { position: absolute; z-index: 1; top: 15px; right: 16px; display: grid; width: 38px; height: 38px; min-height: 0; place-items: center; border: 0; padding: 0; color: var(--ink); background: transparent; }
.asset-operation-dialog-close:hover { color: var(--accent-dark); background: var(--accent-pale); }
.asset-operation-dialog[data-busy] .asset-operation-dialog-close { opacity: .35; cursor: wait; }
.asset-modal-content { padding: 0 28px 26px; }
.asset-modal-header { margin: 0 -28px 22px; border-bottom: 1px solid var(--line); padding: 22px 70px 19px 28px; }
.asset-modal-header h2 { margin: 2px 0 0; font-size: 20px; line-height: 1.45; }
.asset-modal-header > p:last-child { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.asset-modal-eyebrow { margin: 0; color: var(--accent-dark); font-size: 10px; font-weight: 800; letter-spacing: .09em; }
.asset-modal-form { display: grid; gap: 17px; }
.asset-modal-form label { display: grid; gap: 7px; }
.asset-modal-form label small { color: var(--muted); font-size: 10px; font-weight: 500; line-height: 1.6; }
.asset-modal-explanation { border: 1px solid #b6d5d9; border-radius: 6px; padding: 12px 14px; background: #f2f9f9; }
.asset-modal-explanation strong { font-size: 12px; }
.asset-modal-explanation p { margin: 5px 0 0; color: #536168; font-size: 11px; line-height: 1.7; }
.asset-modal-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 20px; border-top: 1px solid var(--line); padding-top: 18px; }
.asset-modal-actions .button, .asset-modal-actions button { min-height: 42px; padding: 9px 16px; font-size: 11px; }
.asset-modal-note { margin: 0 0 18px; color: var(--muted); font-size: 11px; }
.asset-modal-state { display: grid; gap: 14px; padding: 34px 10px 42px; text-align: center; }
.asset-modal-state h2, .asset-modal-state h3 { margin: 0; }
.asset-modal-state > p { max-width: 500px; margin: 0 auto; color: var(--muted); font-size: 12px; line-height: 1.8; }
.asset-modal-progress { width: min(420px, 100%); height: 8px; margin: 8px auto; accent-color: var(--accent); }
.asset-modal-public-link { display: inline-block; margin-top: 4px; font-size: 12px; }
.asset-operation-dialog .asset-confirmation-summary { margin-bottom: 18px; }
.asset-operation-dialog .asset-confirmation-summary .break-all { font-size: 10px; font-weight: 500; line-height: 1.65; }
.asset-operation-dialog .asset-confirmation-grid { margin-bottom: 18px; }
.asset-operation-dialog .asset-confirmation-grid > section { padding: 14px; }
.asset-operation-dialog .asset-preview { min-height: 116px; }
.asset-operation-dialog .asset-preview img { max-height: 132px; }
.asset-operation-dialog .asset-modal-actions .button,
.asset-operation-dialog .asset-modal-actions button { font-size: 12px; }
.asset-use-status { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; color: #93650d; font-size: 12px; font-weight: 750; }
.asset-use-status span { width: 10px; height: 10px; flex: 0 0 10px; border-radius: 50%; background: #a77716; }
.asset-use-preview { display: grid; gap: 0; border: 1px solid var(--line); }
.asset-use-preview .asset-preview { min-height: 244px; margin: 0; border: 0; padding: 22px 24px 10px; }
.asset-use-preview .asset-preview img { max-height: 210px; }
.asset-use-preview > p { display: grid; gap: 3px; max-width: 560px; margin: 0 auto; padding: 4px 18px 22px; color: var(--muted); text-align: center; font-size: 12px; line-height: 1.65; }
.asset-use-preview > p strong { color: var(--ink); font-size: 13px; }
.asset-use-preview > p small { margin-top: 5px; font-size: 10px; }
.asset-use-details { margin-top: 9px; }
.asset-use-details > summary { width: max-content; padding: 8px 2px; color: var(--accent-dark); cursor: pointer; font-size: 11px; font-weight: 750; }
.asset-use-details-content { display: grid; gap: 12px; border-top: 1px solid var(--line); padding: 15px 2px 17px; }
.asset-use-details-content dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.asset-use-details-content dl > div { min-width: 0; padding: 0 14px; }
.asset-use-details-content dl > div:first-child { padding-left: 0; }
.asset-use-details-content dl > div + div { border-left: 1px solid var(--line); }
.asset-use-details-content dt { color: var(--muted); font-size: 10px; }
.asset-use-details-content dd { margin: 4px 0 0; font-size: 11px; font-weight: 700; overflow-wrap: anywhere; }
.asset-use-details-content p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.7; }
.asset-use-form { gap: 0; }
.asset-use-actions { justify-content: center; margin-top: 8px; border-top: 0; padding-top: 0; }
.asset-use-actions button:first-child { min-width: 200px; }
.certificate-issue-confirmation { max-width: 920px; }
.certificate-issue-confirmation-meta { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.certificate-issue-preview { display: grid; justify-items: start; gap: 12px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.certificate-issue-preview h3, .certificate-issue-preview p { margin: 0; }
.certificate-preview-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 14px; }
.certificate-preview-actions form { margin: 0; }
.certificate-preview-actions button { width: 176px; min-height: 44px; padding: 9px 17px; white-space: nowrap; }
.certificate-preview-actions .publication-current-status { width: 176px; min-height: 44px; justify-content: center; padding: 9px 17px; }
.certificate-issue-statement { margin: 26px 0; border: 1px solid var(--line); padding: 20px; background: var(--surface); }
.certificate-issue-statement h3 { margin: 0 0 8px; font-family: var(--serif); font-size: 18px; font-weight: 600; }
.certificate-issue-statement p { margin: 0; line-height: 1.8; overflow-wrap: anywhere; }
.certificate-issue-statement small { display: block; margin-top: 8px; color: var(--muted); font-size: 11px; }
.certificate-issue-edit { margin-top: 14px; }
.asset-purpose-options { display: grid; gap: 10px; margin: 0; border: 1px solid var(--line); padding: 18px; }
.asset-purpose-options legend { padding: 0 8px; font-weight: 700; }
.radio-label { display: flex; align-items: flex-start; gap: 11px; border: 1px solid var(--line); padding: 13px; background: var(--surface); }
.radio-label input { width: 18px; min-width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--accent-dark); }
.radio-label span { display: grid; gap: 2px; }
.radio-label small { color: var(--muted); font-weight: 500; }
.break-all { overflow-wrap: anywhere; }
.auth-page { min-height: calc(100vh - 76px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 520px); gap: 72px; align-items: center; padding-top: 44px; padding-bottom: 80px; }
.auth-copy h1 { margin: 0; font-family: var(--serif); font-size: clamp(40px, 5vw, 66px); font-weight: 600; line-height: 1.35; }
.auth-copy p:last-child { max-width: 580px; margin: 22px 0 0; color: var(--muted); font-size: 17px; }
.auth-panel { border-left: 1px solid var(--line); padding-left: 54px; }
.auth-panel h2 { margin: 0 0 10px; font-family: var(--serif); font-size: 27px; font-weight: 600; }
.auth-panel > p { margin: 0 0 24px; color: var(--muted); }
.auth-panel > .notice { margin: 18px 0 0; }
.empty-state { margin: 0; padding: 26px; border: 1px solid var(--line); color: var(--muted); background: var(--surface); }
.setup-guide { border: 1px solid var(--line); border-radius: 10px; padding: 25px; background: var(--surface); }
.setup-guide-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.setup-guide-heading .eyebrow { margin-bottom: 7px; }
.setup-guide-heading h2 { margin: 0; font-family: var(--serif); font-size: 30px; font-weight: 600; line-height: 1.4; }
.setup-progress { color: var(--accent-dark); font-family: var(--serif); font-size: 27px; font-weight: 600; white-space: nowrap; }
.setup-lead { max-width: 680px; margin: 10px 0 25px; color: var(--muted); }
.setup-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid var(--ink); list-style: none; }
.setup-step { min-width: 0; min-height: 250px; padding: 23px 26px 25px 0; border-bottom: 1px solid var(--line); }
.setup-step + .setup-step { border-left: 1px solid var(--line); padding-left: 26px; }
.setup-step-current { background: var(--accent-pale); }
.setup-step-upcoming { color: var(--muted); }
.setup-step-meta { display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .11em; }
.setup-step-current .setup-step-meta, .setup-step-complete .setup-step-meta strong { color: var(--accent-dark); }
.setup-step h3 { margin: 28px 0 8px; font-family: var(--serif); font-size: 21px; font-weight: 600; line-height: 1.45; }
.setup-step p { min-height: 48px; margin: 0 0 20px; color: var(--muted); font-size: 13px; }
.setup-step .button { width: 100%; }
.setup-step-link { display: inline-block; font-size: 12px; font-weight: 700; }
.setup-guide-complete { border-top-width: 1px; }
.setup-guide-complete > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--accent-dark); cursor: pointer; }
.setup-guide-complete > summary span { color: var(--muted); font-size: 12px; font-weight: 750; letter-spacing: .12em; }
.setup-guide-complete > summary strong { font-family: var(--serif); font-size: 20px; font-weight: 600; }
.setup-guide-complete[open] > summary { margin-bottom: 22px; }
.setup-single-column { max-width: 720px; }
.certificate-issue-shell { width: min(100%, 1040px); }
.danger-zone { border: 1px solid #ddb7af; border-radius: 8px; padding: 22px; background: #fffafa; }
.danger-zone p { color: #713123; }

@media (max-width: 900px) {
  .app-shell { width: min(100% - 32px, 760px); }
  .page-intro, .two-column, .auth-page { grid-template-columns: 1fr; }
  .page-actions { justify-content: flex-start; }
  .auth-page { gap: 42px; align-content: center; }
  .auth-panel { border-top: 1px solid var(--line); border-left: 0; padding: 34px 0 0; }
  .meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .certificate-issue-confirmation-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .meta-grid div + div { border-left: 0; padding-left: 0; }
  .meta-grid div:nth-child(even) { border-left: 1px solid var(--line); padding-left: 18px; }
  .record-item { grid-template-columns: minmax(150px, .65fr) minmax(0, 1.35fr); }
  .record-links { grid-column: 1 / -1; justify-content: flex-start; }
  .setup-steps { grid-template-columns: 1fr; }
  .setup-step, .setup-step + .setup-step { min-height: 0; border-left: 0; padding: 22px 0; }
  .setup-step h3 { margin-top: 13px; }
  .setup-step p { min-height: 0; }
  .setup-step-current { background: transparent; }
}

@media (max-width: 600px) {
  .app-shell { width: min(100% - 24px, 520px); }
  .app-header { min-height: 68px; }
  .app-brand-note, .app-header-label { display: none; }
  .app-main { padding: 38px 0 72px; }
  .page-intro { gap: 24px; margin-bottom: 34px; }
  .page-title { font-size: 36px; }
  .mobile-title-break { display: inline; }
  .page-actions { display: grid; justify-items: start; }
  .form-grid, .asset-list, .asset-slot-grid, .asset-library-grid, .metric-grid { grid-template-columns: 1fr; }
  .asset-library-secondary > .section-heading, .asset-library-upload { display: grid; grid-template-columns: 1fr; align-items: stretch; }
  .asset-library-upload button { width: 100%; }
  .asset-guidance, .asset-confirmation-grid, .asset-confirmation-summary { grid-template-columns: 1fr; }
  .asset-registration-guide ol { grid-template-columns: 1fr; gap: 14px; }
  .asset-registration-guide li { padding-right: 0; }
  .asset-registration-guide li:not(:last-child)::after { top: 31px; left: 14px; width: 1px; height: 13px; border-top: 0; border-left: 1px solid #75aeb5; }
  .asset-confirmation-summary div + div { border-top: 1px solid var(--line); border-left: 0; padding-left: 0; }
  .asset-actions { display: grid; }
  .asset-history li { grid-template-columns: auto minmax(0, 1fr); }
  .asset-history a { grid-column: 1 / -1; justify-self: start; }
  .form-full { grid-column: auto; }
  .section-heading { display: grid; gap: 8px; }
  .panel-tint, .term-card { padding: 21px; }
  .record-item { grid-template-columns: 1fr; gap: 11px; }
  .record-links { grid-column: auto; }
  .meta-grid { grid-template-columns: 1fr; }
  .certificate-issue-confirmation-meta { grid-template-columns: 1fr; }
  .certificate-preview-actions { display: grid; }
  .certificate-preview-actions form, .certificate-preview-actions button, .certificate-preview-actions .publication-current-status { width: 100%; }
  .meta-grid div, .meta-grid div:nth-child(even), .meta-grid div + div { border-left: 0; padding: 14px 0; }
  .meta-grid div + div { border-top: 1px solid var(--line); }
  .metric-grid div + div { border-top: 1px solid var(--line); border-left: 0; }
  .term-header { align-items: flex-start; }
  .button, button { width: 100%; }
  .page-actions .button-quiet, .page-actions button { width: auto; }
  .auth-copy h1 { font-size: 40px; }
  .setup-guide-heading { align-items: start; }
  .setup-guide-heading h2 { font-size: 27px; }
  .setup-progress { font-size: 22px; }
  .setup-guide-complete > summary { align-items: baseline; }
}

/* Authenticated organization dashboard */
.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;
}
.dashboard-body { min-height: 100vh; background: var(--paper); }
.dashboard-frame { width: 100%; min-height: 100vh; }
.dashboard-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 10;
  display: flex;
  width: 264px;
  flex-direction: column;
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  border-right: 1px solid var(--line);
  padding: 26px 18px 18px;
  color: var(--ink);
  background: #fff;
}
.dashboard-brand { display: grid; gap: 5px; padding: 0 10px; color: var(--accent-dark); text-decoration: none; }
.dashboard-brand:hover { color: var(--accent); }
.dashboard-brand > span { font-size: 22px; font-weight: 700; letter-spacing: .18em; line-height: 1; }
.dashboard-brand > small { color: var(--muted); font-size: 11px; letter-spacing: .08em; }
.dashboard-nav-desktop { margin-top: 34px; }
.dashboard-nav { display: grid; gap: 4px; }
.dashboard-nav-group { display: grid; gap: 4px; margin-top: 17px; }
.dashboard-nav-group > span { padding: 0 10px 6px; color: #7b878d; font-size: 11px; font-weight: 700; letter-spacing: .07em; }
.dashboard-nav a {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 12px;
  border-radius: 8px;
  padding: 10px 12px;
  color: #35454b;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.dashboard-nav a:hover { color: var(--accent-dark); background: #f2f7f7; }
.dashboard-nav a.is-active { color: var(--accent-dark); background: #eaf5f5; }
.dashboard-nav svg, .dashboard-logout svg { flex: 0 0 auto; }
.dashboard-mobile-header, .dashboard-sidebar-close, .dashboard-drawer-backdrop { display: none; }
.dashboard-logout { margin: auto 0 0; padding-top: 30px; }
.dashboard-logout button {
  display: flex;
  width: 100%;
  min-height: 46px;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  border: 0;
  padding: 10px 12px;
  color: #4d5a60;
  background: transparent;
  text-decoration: none;
}
.dashboard-logout button:hover { color: var(--accent-dark); background: #f2f7f7; }
.dashboard-main { width: calc(100% - 264px); min-width: 0; margin-left: 264px; }
.dashboard-topbar {
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  border-bottom: 0;
  padding: 18px 28px;
  background: var(--paper);
}
.dashboard-topbar h1 { margin: 0; font-size: 24px; font-weight: 700; line-height: 1.3; }
.dashboard-topbar-meta { display: flex; align-items: center; justify-self: end; color: #4d5a60; font-size: 13px; line-height: 1.4; }
.organization-switcher { position: relative; margin: 0; border: 0; padding: 0; }
.organization-switcher > summary { display: flex; min-height: 24px; align-items: center; gap: 7px; cursor: pointer; font-weight: 400; line-height: 1.4; list-style: none; }
.organization-switcher > summary::-webkit-details-marker { display: none; }
.organization-switcher > summary::after { width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: translateY(-1px) rotate(45deg); }
.organization-switcher-menu { position: absolute; z-index: 30; top: calc(100% + 10px); right: 0; display: grid; width: min(320px, calc(100vw - 32px)); border: 1px solid var(--line); border-radius: 10px; padding: 8px; background: #fff; box-shadow: 0 14px 34px rgb(34 59 67 / 14%); font-weight: 400; }
.organization-switcher-menu p { margin: 0; padding: 7px 10px; color: var(--muted); font-size: 11px; font-weight: 400; }
.organization-switcher-menu form { margin: 0; }
.organization-switcher-menu button, .organization-switcher-menu > span { display: flex; width: 100%; min-height: 40px; align-items: center; border: 0; border-radius: 7px; padding: 9px 10px; color: var(--ink); background: transparent; font: inherit; font-weight: 400; line-height: 1.4; text-align: left; }
.organization-switcher-menu button:hover { color: var(--accent-dark); background: var(--accent-pale); }
.organization-switcher-menu > span { color: var(--accent-dark); background: var(--accent-pale); }
.dashboard-topbar-action { grid-template-rows: 58px 62px; padding-top: 0; padding-bottom: 14px; }
.dashboard-topbar-action .dashboard-primary-action { grid-column: 2; grid-row: 2; align-self: end; }
.dashboard-primary-action { min-width: 190px; }
.dashboard-primary-action .button { width: 100%; min-height: 48px; }
.dashboard-content { width: 100%; max-width: none; padding: 0 28px 72px; }
.dashboard-content > * { min-width: 0; }
.dashboard-content > .section-stack { width: 100%; max-width: none; gap: 20px; }
.certificate-detail-section-stack { margin-top: 24px; }
.certificate-update-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; align-items: start; }
.certificate-update-card { height: 100%; }
.certificate-update-card h3 { margin: 0 0 16px; font-family: var(--serif); font-size: 18px; font-weight: 600; }
.certificate-renew-form h3 { margin-bottom: 0; }
.certificate-update-current, .certificate-update-empty { margin: 0; color: var(--muted); font-size: 13px; }
.certificate-renew-form { grid-template-columns: minmax(0, 1fr); }
.certificate-extension-period { margin: 0; color: var(--muted); font-size: 13px; }
.workspace-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.workspace-heading h2 { margin: 0; font-size: 22px; line-height: 1.4; }
.workspace-heading p { max-width: 700px; margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.dashboard-content .panel { border: 1px solid var(--line); border-radius: 10px; padding: 24px; background: #fff; }
.dashboard-content .panel-tint { background: #f8fafa; }
.supporter-sites { display: grid; gap: 11px; }
.supporter-site-list { display: grid; gap: 12px; }
.supporter-site-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: end; }
.supporter-site-row .supporter-site-remove { width: auto; margin-bottom: 10px; }
.supporter-site-add { width: fit-content; }
.supporter-sites .form-help { margin: 0; max-width: 760px; }
.dashboard-content .section-heading { align-items: start; margin-bottom: 18px; }
.dashboard-content .section-heading h2,
.dashboard-content .panel > h2 { font-family: var(--sans); font-size: 19px; font-weight: 700; }
.dashboard-content .section-heading p { color: #657278; }
.dashboard-content .program-detail-panel { padding-top: 30px; }
.dashboard-content .program-detail-heading h2 { margin-top: 8px; }
.dashboard-content .empty-state { border: 0; padding: 38px 20px; text-align: center; }
.organization-profile-panel { padding: 0 !important; overflow: hidden; }
.organization-profile-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
}
.organization-profile-heading h2 { margin: 0; font-size: 19px; font-weight: 750; }
.organization-profile-heading p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.organization-profile-edit { display: inline-flex; flex: 0 0 auto; gap: 7px; align-items: center; }
.organization-profile-details { margin: 0; }
.organization-profile-details > div {
  display: grid;
  grid-template-columns: minmax(150px, .3fr) minmax(0, 1fr);
  gap: 28px;
  border-top: 1px solid var(--line);
  padding: 18px 28px;
}
.organization-profile-details dt { color: #657278; font-size: 12px; font-weight: 700; }
.organization-profile-details dd { min-width: 0; margin: 0; font-size: 14px; overflow-wrap: anywhere; }
.organization-profile-details dd a { color: var(--accent-dark); }
.organization-profile-description dd { white-space: pre-wrap; }
.organization-profile-empty { color: #859095; }
.organization-profile-note {
  margin: 0;
  border-top: 1px solid var(--line);
  padding: 15px 28px;
  color: var(--muted);
  background: #f8fafa;
  font-size: 12px;
}
.profile-edit-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  place-items: center;
  padding: 24px;
  background: rgba(7, 25, 30, .66);
}
.profile-edit-modal:target { display: grid; }
body:has(.profile-edit-modal:target) { overflow: hidden; }
.profile-edit-dialog {
  width: min(660px, 100%);
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  border: 1px solid #bdc7c9;
  background: #fff;
  box-shadow: 0 18px 54px rgba(8, 29, 34, .24);
}
.profile-edit-dialog-compact { width: min(520px, 100%); }
.profile-edit-dialog-header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 24px;
  border-bottom: 1px solid var(--line);
  padding: 22px 24px 19px;
}
.profile-edit-dialog-header h2 { margin: 0; font-size: 19px; }
.profile-edit-dialog-header p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.profile-edit-close {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--ink);
  text-decoration: none;
}
.profile-edit-close:hover { color: var(--accent-dark); background: var(--accent-pale); }
.profile-edit-form { padding: 24px; }
.profile-edit-actions { justify-content: flex-end; border-top: 1px solid var(--line); padding-top: 20px; }
.profile-edit-actions .button { min-height: 42px; border: 1px solid #aebabc; padding: 9px 17px; text-decoration: none; }
.organization-selection-page { width: min(680px, 100%); margin: 60px auto; }
.organization-selection-page .page-intro { grid-template-columns: minmax(0, 1fr); }
.organization-selection-list { display: grid; gap: 12px; margin: 28px 0; }
.organization-selection-list form { margin: 0; }
.organization-selection-list button { display: flex; width: 100%; min-height: 70px; align-items: center; justify-content: space-between; gap: 20px; border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px; color: var(--ink); background: #fff; text-align: left; }
.organization-selection-list button:hover { border-color: var(--accent); color: var(--ink); background: var(--accent-pale); }
.organization-selection-list button strong { font-size: 15px; }
.organization-selection-list button span { color: var(--muted); font-size: 12px; }
.organization-selection-logout { display: flex; justify-content: flex-end; margin: 22px 0 0; border-top: 1px solid var(--line); padding-top: 20px; }
.organization-selection-logout button[type="submit"] { display: inline-flex; min-height: 42px; align-items: center; gap: 8px; border: 1px solid #c7d0d2; border-radius: 8px; padding: 8px 15px; color: #536168; background: #fff; font-size: 12px; font-weight: 700; line-height: 1; }
.organization-selection-logout button[type="submit"] svg { display: block; flex: 0 0 auto; }
.organization-selection-logout button[type="submit"]:hover { border-color: #8fa0a4; color: var(--ink); background: #f5f8f8; }
.invitation-summary { display: grid; gap: 0; margin: 18px 0 24px; }
.invitation-summary div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; border-top: 1px solid var(--line); padding: 12px 0; }
.invitation-summary dt { color: var(--muted); font-size: 12px; }
.invitation-summary dd { margin: 0; overflow-wrap: anywhere; font-weight: 700; }
.organization-user-list, .pending-invitations ul { margin: 0; padding: 0; list-style: none; }
.organization-user-list > li { border-top: 1px solid var(--line); padding: 18px 0; }
.organization-user-main { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 24px; align-items: start; }
.organization-user-identity { display: flex; min-width: 0; flex-wrap: wrap; gap: 8px; align-items: flex-start; }
.organization-user-identity > strong { min-width: 0; padding: 0; line-height: 22px; overflow-wrap: anywhere; }
.organization-user-identity > span { display: inline-flex; min-height: 22px; align-items: center; border-radius: 999px; padding: 2px 8px; color: var(--accent-dark); background: var(--accent-pale); font-size: 10px; font-weight: 700; line-height: 1.4; }
.organization-user-role-form { display: grid; grid-template-columns: 132px 128px; gap: 10px; align-items: end; margin: 0; }
.organization-user-role-form label { gap: 5px; }
.organization-user-role-form select, .organization-user-role-form button { min-height: 44px; }
.organization-user-role-form button { width: 128px; padding-right: 14px; padding-left: 14px; }
.organization-user-role-static { display: grid; grid-template-columns: auto auto; gap: 2px 10px; justify-items: start; align-items: baseline; min-width: 270px; }
.organization-user-role-static > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.organization-user-role-static > strong { font-size: 13px; }
.organization-user-role-static > small { grid-column: 1 / -1; color: var(--muted); font-size: 11px; font-weight: 400; }
.organization-user-remove { min-width: 0; margin: 0; border: 0; padding: 0; }
.organization-user-remove > summary { display: flex; width: fit-content; min-height: 22px; align-items: center; gap: 4px; border-radius: 999px; padding: 2px 8px; color: var(--danger); background: #fff1ed; cursor: pointer; font-size: 10px; font-weight: 700; line-height: 1.4; list-style: none; }
.organization-user-remove > summary::-webkit-details-marker { display: none; }
.organization-user-remove > summary svg { transition: transform .18s ease; }
.organization-user-remove[open] > summary svg { transform: rotate(180deg); }
.organization-user-remove form { display: grid; width: min(620px, calc(100vw - 420px)); gap: 14px; margin: 12px 0 0; border: 1px solid #e3c4bd; border-radius: 8px; padding: 18px; background: #fff9f7; }
.organization-user-remove form p { margin: 0; color: #713123; font-size: 12px; }
.organization-user-remove .form-actions { justify-content: flex-end; }
.organization-invite-form { display: grid; grid-template-columns: minmax(0, 1fr) 180px auto; align-items: end; }
.organization-invite-form .form-actions { margin: 0; }
.pending-invitations { margin-top: 28px; }
.pending-invitations h3 { margin: 0 0 10px; font-size: 15px; }
.pending-invitations li { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid var(--line); padding: 14px 0; }
.pending-invitations li > div { display: grid; gap: 3px; }
.pending-invitations li span { color: var(--muted); font-size: 12px; }
.dashboard-overview .section-heading { margin-bottom: 18px; }
.dashboard-overview-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.dashboard-overview-metrics dd { font-family: var(--sans); font-size: 21px; }
.dashboard-publication-alert { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.dashboard-publication-alert strong { display: block; margin-bottom: 3px; }
.dashboard-publication-alert p { margin: 0; }
.dashboard-publication-alert > a { flex: 0 0 auto; font-weight: 700; }
.dashboard-content .program-list-heading { align-items: center; }
.program-list-heading > div { min-width: 0; }
.program-list-heading > div p { margin-top: 4px; }
.program-list-create { flex: 0 0 auto; gap: 7px; }
.program-grid { display: grid; grid-template-columns: repeat(3, minmax(280px, 1fr)); gap: 24px 16px; }
.program-card { min-width: 0; border: 0; padding: 0; background: transparent; }
.program-card h3 { margin: 14px 0 6px; font-size: 17px; }
.program-card p { margin: 0 0 12px; color: var(--muted); }
.program-card-preset { background: transparent; }
.program-badge-preview {
  position: relative;
  display: grid;
  width: 280px;
  height: 280px;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: 13px;
  margin: 16px 0 18px;
  overflow: hidden;
  border: 1px solid #8f989c;
  border-radius: 8px;
  padding: 25px 23px 21px;
  color: #172126;
  background: #fff;
  font-family: var(--brand-font-family);
}
.program-badge-preview-open { position: absolute; top: 13px; right: 13px; color: #087f91; }
.program-badge-preview-identity { display: grid; min-height: 0; align-content: center; justify-items: center; gap: 10px; text-align: center; }
.program-badge-preview-identity > strong { display: -webkit-box; max-width: 220px; overflow: hidden; font-size: 16px; font-weight: var(--brand-organization-weight); line-height: 1.4; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.program-badge-preview-mark { display: grid; width: 68px; height: 68px; place-items: center; }
.program-badge-preview-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.program-badge-preview-mark > span { display: block; width: 48px; height: 48px; border: 3px solid #8f989c; border-radius: 50%; }
.program-badge-preview-copy { display: grid; justify-items: center; gap: 3px; text-align: center; }
.program-badge-preview-copy > span { font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.program-badge-preview-copy > strong { max-width: 220px; overflow: hidden; font-size: 17px; font-weight: var(--brand-font-weight); line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.program-badge-preview-copy > small { color: #66737a; font-size: 9px; }
.program-badge-preview-meta { display: flex; align-items: center; justify-content: center; gap: 14px; color: #66737a; font-size: 9px; }
.program-card-actions { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 12px; }
.program-editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; align-items: start; }
.program-editor-form { min-width: 0; }
.program-editor-hierarchy { display: grid; min-width: 0; gap: 18px; margin: 0; border: 0; padding: 0; }
.program-editor-hierarchy > legend { margin-bottom: -6px; padding: 0; font-size: 13px; font-weight: 700; }
.program-editor-rank { display: grid; min-width: 0; gap: 10px; margin: 2px 0 0 10px; border: 0; border-left: 2px solid var(--line); padding: 3px 0 3px 16px; }
.program-editor-rank > legend { padding: 0; color: #435158; font-size: 12px; font-weight: 700; }
.program-editor-preview { min-width: 0; border-left: 1px solid var(--line); padding-left: 24px; }
.program-editor-preview h3 { margin: 0; font-size: 15px; }
.program-editor-preview .program-badge-preview { margin: 14px 0 10px; }
.program-editor-preview > p { margin: 0; color: var(--muted); font-size: 11px; }
.program-detail-workspace {
  display: grid;
  grid-template-areas:
    "summary preview"
    "classes preview";
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
  align-items: start;
}
.program-detail-panel { grid-area: summary; }
.program-detail-preview-panel { grid-area: preview; }
.program-detail-class-panel { grid-area: classes; }
.program-detail-preview-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.program-detail-preview-heading h2 { margin: 0; font-size: 19px; font-weight: 750; }
.program-detail-preview-heading span { color: var(--muted); font-size: 11px; }
.program-detail-preview-panel .program-badge-preview { margin: 18px 0 12px; }
.program-detail-preview-panel > p { margin: 0; color: var(--muted); font-size: 11px; }
.program-class-list > li { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); padding: 16px 0; }
.program-class-summary { display: grid; min-width: 0; gap: 3px; }
.program-class-summary span { color: var(--muted); font-size: 12px; }
.program-class-list > li.is-archived strong { color: var(--muted); }
.program-class-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; font-size: 12px; }
.impact-list { display: grid; gap: 8px; margin: 0 0 22px; padding-left: 20px; color: #713123; }
.detail-disclosure { margin: 0; }
.detail-disclosure > summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  color: var(--ink);
  list-style-position: outside;
}
.detail-disclosure > summary span { font-size: 17px; font-weight: 750; }
.detail-disclosure > summary small { color: var(--muted); font-size: 12px; font-weight: 500; text-align: right; }
.detail-disclosure[open] > summary { margin-bottom: 20px; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.detail-disclosure-body { min-width: 0; }
.certificate-setting-card { display: grid; gap: 14px; }
.certificate-setting-card > h3, .certificate-setting-card > p { margin: 0; }
.certificate-setting-current { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; }
.certificate-setting-current strong { display: inline-flex; min-width: 68px; justify-content: center; border: 1px solid var(--accent-dark); padding: 3px 9px; color: var(--accent-dark); background: #fff; font-size: 11px; }
.certificate-setting-card form { margin: 0; }
.certificate-setting-card form[aria-busy="true"] button { cursor: wait; }
.certificate-setting-feedback { margin: 0; font-size: 12px; font-weight: 700; }
.certificate-setting-feedback[data-state="pending"] { color: var(--muted); }
.certificate-setting-feedback[data-state="success"] { color: var(--accent-dark); }
.certificate-setting-feedback[data-state="error"] { color: var(--danger); }
.danger-zone.detail-disclosure > summary { color: #7f2424; }
.certificate-lifecycle-actions > summary { align-items: center; list-style: none; }
.certificate-lifecycle-actions > summary::-webkit-details-marker { display: none; }
.detail-disclosure-chevron { margin-left: auto; font-size: 11px !important; line-height: 1; transition: transform 160ms ease; }
.certificate-lifecycle-actions[open] .detail-disclosure-chevron { transform: rotate(180deg); }
.danger-zone.detail-disclosure form { margin-top: 18px; }
.danger-zone.detail-disclosure form + form { border-top: 1px solid #e8c8c1; padding-top: 20px; }
.certificate-revoke-form button { margin-top: 16px; }
.setup-guide {
  border: 1px solid #ccd5d6;
  padding: 27px 30px 25px;
  background: #fff;
}
.setup-guide-heading { align-items: start; }
.setup-guide-heading h2 { font-family: var(--sans); font-size: 20px; font-weight: 750; }
.setup-guide-heading p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.setup-progress { color: var(--ink); font-family: var(--sans); font-size: 19px; font-weight: 700; }
.setup-progress-track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 28px 5% 25px;
  padding: 0;
  list-style: none;
}
.setup-progress-track::before {
  position: absolute;
  top: 17px;
  right: 11%;
  left: 11%;
  height: 1px;
  background: #cbd3d5;
  content: "";
}
.setup-progress-track li { position: relative; display: grid; place-items: center; }
.setup-progress-track li > span:first-child {
  z-index: 1;
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid #b6c1c3;
  border-radius: 50%;
  color: #536168;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
}
.setup-progress-track li.is-current > span:first-child,
.setup-progress-track li.is-complete > span:first-child { border: 2px solid #096071; color: #075968; }
.setup-progress-track li.is-complete > span:first-child { color: #fff; background: #075968; }
.setup-steps { display: grid; grid-template-columns: 1fr; border: 1px solid #d5dcdd; }
.setup-step,
.setup-step + .setup-step {
  min-height: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) minmax(128px, auto);
  align-items: center;
  gap: 22px;
  border: 0;
  padding: 19px 24px;
  background: #fff;
}
.setup-step + .setup-step { border-top: 1px solid #d5dcdd; }
.setup-step-current { background: #f6fbfb; }
.setup-step-upcoming { color: #536168; }
.setup-step-number { font-size: 17px; }
.setup-step-copy h3 { margin: 0; font-family: var(--sans); font-size: 16px; font-weight: 700; }
.setup-step-copy p { min-height: 0; margin: 4px 0 0; font-size: 12px; }
.setup-step-link { justify-self: end; color: #075968; font-size: 13px; text-decoration: none; }
.setup-step-link::after { margin-left: 12px; content: "›"; font-size: 20px; vertical-align: -1px; }
.setup-step-current .setup-step-link { color: #075968; font-weight: 750; }
.setup-step-state { justify-self: end; color: #7d898e; font-size: 12px; }
.setup-guide-complete { border: 1px solid #ccd5d6; padding: 20px 28px; }
.setup-guide-complete > summary { color: var(--ink); }
.setup-guide-complete > summary strong { font-family: var(--sans); font-size: 16px; }
.setup-guide-complete[open] > summary { margin-bottom: 20px; }
.certificate-expiry-alert { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 0; }
.certificate-expiry-alert { border-radius: 8px; }
.certificate-expiry-alert strong { display: block; margin-bottom: 3px; }
.certificate-expiry-alert p { margin: 0; }
.certificate-expiry-alert > a { flex: 0 0 auto; font-weight: 700; }
.certificate-index-filters { display: grid; grid-template-columns: minmax(240px, 1fr) 170px auto auto; gap: 12px; align-items: end; margin: 20px 0 16px; padding: 15px 16px; background: #f5f7f7; }
.certificate-index-filters label { display: grid; gap: 5px; min-width: 0; }
.certificate-index-filters label > span { color: var(--muted); font-size: 11px; font-weight: 700; }
.certificate-index-filters input, .certificate-index-filters select { width: 100%; min-height: 40px; background: #fff; }
.certificate-index-filter-submit { width: auto; min-height: 40px; padding: 7px 16px; }
.certificate-index-filter-reset { display: inline-flex; min-height: 40px; align-items: center; font-size: 12px; }
.dashboard-records .certificate-index-list { border-top: 1px solid #d7ddde; }
.certificate-index-item { position: relative; display: grid; grid-template-columns: 76px 160px minmax(0, 1fr) 150px 162px 18px; column-gap: 16px; row-gap: 8px; align-items: center; justify-items: start; min-height: 68px; padding: 13px 12px; border-bottom: 1px solid #dfe4e4; text-align: left; }
.certificate-index-item:hover, .certificate-index-item:focus-within { background: #f6fbfb; }
.certificate-index-row-link { position: absolute; z-index: 1; inset: 0; }
.certificate-index-row-link:focus-visible { outline: 2px solid var(--accent); outline-offset: -3px; }
.certificate-index-supporter, .certificate-index-recognition strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.certificate-index-supporter { font-size: 13px; }
.certificate-index-recognition { display: flex; width: 100%; min-width: 0; align-items: center; justify-self: stretch; gap: 9px; }
.certificate-index-recognition strong { font-size: 13px; }
.certificate-index-preview-link { position: relative; z-index: 2; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 3px; font-size: 11px; }
.certificate-index-preview-link svg { flex: 0 0 auto; }
.certificate-index-status { width: 76px; max-width: 100%; justify-content: center; justify-self: start; padding-right: 6px; padding-left: 6px; white-space: nowrap; }
.certificate-index-code, .certificate-index-period { width: 100%; min-width: 0; color: var(--muted); font-size: 11px; white-space: nowrap; }
.certificate-index-code { overflow: hidden; text-overflow: ellipsis; }
.certificate-index-period { overflow: hidden; text-overflow: clip; }
.certificate-index-chevron { justify-self: end; color: #789096; }
.certificate-index-mobile-label { display: none; }
.guidance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.badge-format-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.badge-format-card { display: grid; align-content: start; gap: 16px; min-width: 0; border: 1px solid var(--line); padding: 18px; background: #f8faf9; }
.badge-format-card:last-child { grid-column: 1 / -1; }
.badge-format-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.badge-format-heading h3 { margin: 0; font-size: 16px; }
.badge-format-heading p { margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
.badge-format-description { margin: -8px 0 0; color: var(--muted); font-size: 13px; }
.badge-format-preview-viewport { width: 100%; overflow-x: auto; overflow-y: hidden; }
.badge-format-preview { display: block; max-width: none; border: 0; background: transparent; }
.badge-format-preview-compact { width: 280px; height: 64px; }
.badge-format-preview-logo { width: 360px; height: 120px; }
.badge-format-preview-card { width: 280px; height: 280px; }
.badge-branding-notice { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.badge-branding-notice p { margin: 0; }
.badge-branding-notice .button { flex: 0 0 auto; }
.branding-confirmation-grid > section > div + div { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 18px; }
.branding-confirmation-grid .badge-format-preview { margin: 18px auto 0; }
.certificate-guidance { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 22px; }
.certificate-guidance-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.certificate-guidance-heading h3 { margin: 0; font-size: 16px; }
.certificate-guidance-heading p { margin: 0; color: var(--muted); font-size: 12px; text-align: right; }
.guidance-copy-grid { grid-template-columns: 1fr; margin-top: 14px; }
.guidance-copy { height: auto; min-height: 0; overflow-y: hidden; field-sizing: content; white-space: pre-wrap; }
.certificate-installation-status { margin: 0 0 20px; }
.guidance-confirmation { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 20px; border-top: 1px solid var(--line); padding-top: 20px; }
.guidance-confirmation .checkbox-label { max-width: 760px; }
.guidance-confirmation button { flex: 0 0 auto; }
.billing-current-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); background: var(--surface); }
.billing-current-grid > div { display: grid; gap: 5px; min-width: 0; padding: 18px 20px; }
.billing-current-grid > div + div { border-left: 1px solid var(--line); }
.billing-current-grid span { color: var(--muted); font-size: 11px; }
.billing-current-grid strong { font-size: 18px; }
.billing-current > .notice { margin: 18px 0 0; }
.billing-portal-action { margin-top: 18px; }
.billing-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 800px; }
.billing-profile-wide { grid-column: 1 / -1; }
.billing-plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: stretch; }
.billing-plan-card { display: grid; align-content: start; gap: 14px; min-width: 0; border: 1px solid var(--line); border-radius: 8px; padding: 20px; background: var(--surface); }
.billing-plan-card.is-current { border-color: #9cc8ce; background: #f5fafa; }
.billing-plan-title { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 10px; }
.billing-plan-title h3 { margin: 0; font-size: 18px; }
.billing-plan-title span { flex: 0 0 auto; border-radius: 999px; padding: 3px 7px; color: var(--accent-dark); background: var(--accent-pale); font-size: 9px; font-weight: 700; }
.billing-plan-card > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.billing-plan-price { font-size: 19px; }
.billing-plan-capacity { color: var(--ink) !important; font-weight: 700; }
.billing-plan-form { display: grid; gap: 12px; margin-top: auto; padding-top: 4px; }
.billing-plan-form select { font-size: 13px; }

@media (max-width: 1080px) {
  .billing-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1000px) {
  .dashboard-topbar { padding-right: 24px; padding-left: 24px; }
  .dashboard-content { padding-right: 24px; padding-left: 24px; }
  .certificate-index-filters { grid-template-columns: minmax(220px, 1fr) 160px auto; }
  .certificate-index-filter-reset { grid-column: 1 / -1; min-height: auto; }
  .certificate-index-item { grid-template-columns: 76px minmax(0, 1.25fr) minmax(120px, .75fr) minmax(148px, .9fr) 18px; grid-template-areas: "status supporter code period chevron" "recognition recognition recognition recognition chevron"; gap: 7px 12px; }
  .certificate-index-supporter { grid-area: supporter; }
  .certificate-index-recognition { grid-area: recognition; }
  .certificate-index-status { grid-area: status; }
  .certificate-index-code { grid-area: code; }
  .certificate-index-period { grid-area: period; }
  .certificate-index-chevron { grid-area: chevron; }
  .supporter-filter-advanced-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supporter-operation-list > li { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supporter-operation-chevron { position: absolute; right: 12px; bottom: 20px; }
  .supporter-series-list > li { grid-template-columns: minmax(220px, 1fr) minmax(0, 1fr); }
  .supporter-series-list > li > a { grid-column: 1 / -1; }
  .asset-library-workspace { grid-template-columns: 1fr; }
  .brand-settings-grid { grid-template-columns: 1fr; }
  .asset-library-guide { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 22px; align-items: start; }
  .asset-library-guide ol, .asset-library-guide-note { grid-column: 1; }
  .asset-library-guide .button { grid-column: 2; grid-row: 1 / span 3; width: auto; min-width: 170px; margin-top: 0; }
}

@media (max-width: 1269px) {
  .program-grid { grid-template-columns: repeat(2, minmax(280px, 1fr)); }
}

@media (max-width: 1120px) {
  .program-detail-workspace {
    grid-template-areas:
      "summary"
      "classes"
      "preview";
    grid-template-columns: 1fr;
  }
  .program-detail-preview-panel { display: grid; justify-items: start; }
  .program-detail-preview-heading { width: min(100%, 280px); }
}

@media (max-width: 920px) {
  .program-grid { grid-template-columns: 1fr; }
  .program-editor-layout { grid-template-columns: 1fr; }
  .program-editor-preview { border-top: 1px solid var(--line); border-left: 0; padding-top: 24px; padding-left: 0; }
}

@media (max-width: 780px) {
  .dashboard-body.dashboard-drawer-open { overflow: hidden; }
  .dashboard-mobile-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    min-height: 64px;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid var(--line);
    padding: 9px 16px;
    background: #fff;
  }
  .dashboard-mobile-menu-button, .dashboard-sidebar-close {
    display: inline-flex;
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0;
    color: var(--ink);
    background: #fff;
  }
  .dashboard-mobile-menu-button:hover, .dashboard-sidebar-close:hover { color: var(--accent-dark); background: #f2f7f7; }
  .dashboard-mobile-brand { color: var(--accent-dark); font-size: 19px; font-weight: 700; letter-spacing: .16em; text-decoration: none; }
  .dashboard-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 40;
    width: min(320px, 86vw);
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    border-right: 1px solid var(--line);
    padding: 26px 18px 18px;
    visibility: hidden;
    transform: translateX(-100%);
    transition: transform .2s ease, visibility 0s linear .2s;
  }
  .dashboard-sidebar.is-open { visibility: visible; transform: translateX(0); transition-delay: 0s; box-shadow: 16px 0 36px rgb(28 50 58 / .15); }
  .dashboard-sidebar-close { position: absolute; top: 16px; right: 14px; }
  .dashboard-main { width: 100%; margin-left: 0; }
  .dashboard-brand { padding: 0 58px 0 10px; }
  .dashboard-nav-desktop { display: block; margin-top: 32px; }
  .dashboard-logout { margin-top: 28px; padding-top: 0; }
  .dashboard-logout button { padding-left: 13px; }
  .dashboard-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 30;
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    background: rgb(20 35 42 / .38);
    transition: opacity .2s ease, visibility .2s ease;
  }
  .dashboard-drawer-backdrop.is-open { opacity: 1; visibility: visible; }
  .dashboard-topbar { min-height: 80px; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 6px 18px; }
  .dashboard-topbar-meta { grid-column: 2; grid-row: 1; }
  .dashboard-topbar-action { grid-template-rows: auto auto; padding-top: 18px; }
  .dashboard-topbar-action .dashboard-primary-action { grid-column: 2; grid-row: 2; align-self: center; }
  .dashboard-content { padding-top: 22px; }
  .guidance-grid, .badge-format-grid, .program-grid { grid-template-columns: 1fr; }
  .badge-format-card:last-child { grid-column: auto; }
  .supporter-filter-advanced-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-sidebar, .dashboard-drawer-backdrop { transition: none; }
}

@media (max-width: 600px) {
  .billing-current-grid, .billing-profile-grid, .billing-plan-grid { grid-template-columns: 1fr; }
  .billing-profile-wide { grid-column: auto; }
  .billing-current-grid > div + div { border-top: 1px solid var(--line); border-left: 0; }
  input:not([type="hidden"]), select, textarea { font-size: 16px; }
  .dashboard-topbar { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 8px 14px; padding: 18px 16px; }
  .dashboard-topbar-meta { grid-column: 2; grid-row: 1; }
  .dashboard-topbar-action .dashboard-primary-action { grid-column: 1 / -1; grid-row: 2; margin-top: 6px; }
  .dashboard-primary-action { min-width: 0; }
  .dashboard-content { padding: 16px 12px 54px; }
  .workspace-heading { display: grid; gap: 8px; }
  .workspace-heading h2 { font-size: 20px; line-height: 1.45; overflow-wrap: anywhere; text-wrap: balance; }
  .dashboard-content .panel { padding: 20px 17px; }
  .certificate-update-grid { grid-template-columns: 1fr; }
  .certificate-update-card .form-actions, .certificate-update-card .form-actions button { width: 100%; }
  .organization-profile-panel { padding: 0 !important; }
  .organization-profile-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 20px 17px; }
  .organization-profile-edit { width: auto; justify-self: end; }
  .organization-profile-details > div { grid-template-columns: 1fr; gap: 5px; padding: 15px 17px; }
  .organization-profile-note { padding: 14px 17px; }
  .profile-edit-modal { align-items: end; padding: 0; }
  .profile-edit-dialog { width: 100%; max-height: calc(100dvh - 20px); }
  .profile-edit-dialog-header, .profile-edit-form { padding-right: 17px; padding-left: 17px; }
  .profile-edit-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .profile-edit-actions .button, .profile-edit-actions button { width: 100%; }
  .organization-user-main { grid-template-columns: 1fr; gap: 14px; align-items: stretch; }
  .organization-user-role-form { grid-template-columns: 1fr 1fr; }
  .organization-user-role-form button { width: 100%; }
  .organization-user-role-static { min-width: 0; }
  .organization-user-remove[open] { flex-basis: 100%; }
  .organization-user-remove form { width: 100%; margin-top: 12px; }
  .organization-invite-form { grid-template-columns: 1fr; align-items: stretch; }
  .organization-invite-form button { width: 100%; }
  .pending-invitations li { align-items: stretch; flex-direction: column; }
  .pending-invitations li form, .pending-invitations li button { width: 100%; }
  .organization-switcher-menu { right: 0; left: auto; }
  .invitation-summary div { grid-template-columns: 1fr; gap: 3px; }
  .badge-format-card { padding: 14px; }
  .badge-format-heading { display: grid; gap: 4px; }
  .badge-format-heading p { text-align: left; }
  .certificate-guidance-heading { display: grid; gap: 4px; }
  .certificate-guidance-heading p { text-align: left; }
  .badge-branding-notice { display: grid; }
  .badge-branding-notice .button { width: 100%; }
  .setup-guide { padding: 22px 17px 18px; }
  .setup-guide-heading { display: grid; gap: 10px; }
  .setup-progress-track { margin: 22px 0 20px; }
  .setup-progress-track::before { right: 12.5%; left: 12.5%; }
  .setup-step, .setup-step + .setup-step { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 16px 14px; }
  .setup-step-link, .setup-step-state { grid-column: 2; justify-self: stretch; }
  .setup-step-current .setup-step-link { justify-content: flex-start; }
  .certificate-index-filters { grid-template-columns: 1fr; padding: 14px; }
  .certificate-expiry-alert { align-items: flex-start; flex-direction: column; gap: 8px; }
  .certificate-index-filter-reset { grid-column: auto; }
  .certificate-index-item { grid-template-columns: 76px minmax(0, 1fr); grid-template-areas: "status supporter" "recognition recognition" "code chevron" "period chevron"; gap: 8px 12px; padding: 16px 12px; }
  .certificate-index-mobile-label { display: inline; margin-right: 6px; color: #7b878c; font-weight: 700; }
  .supporter-filter-primary, .supporter-filter-advanced-grid, .supporter-operation-list > li, .supporter-series-list > li { grid-template-columns: 1fr; }
  .supporter-filter-details > summary { align-items: flex-start; }
  .supporter-filter-details > summary small { max-width: 190px; }
  .supporter-report-result-heading { display: grid; gap: 3px; }
  .dashboard-publication-alert { align-items: flex-start; flex-direction: column; gap: 8px; }
  .supporter-series-main { display: grid; }
  .supporter-series-meta { grid-template-columns: 1fr; }
  .supporter-series-meta div { padding: 9px 0; }
  .supporter-series-meta div + div { border-top: 1px solid var(--line); border-left: 0; }
  .supporter-series-list > li > a { grid-column: auto; }
  .guidance-confirmation { display: grid; }
  .guidance-confirmation button { width: 100%; }
  .dashboard-overview-metrics { grid-template-columns: 1fr; }
  .program-list-create { width: 100%; }
  .detail-disclosure > summary { display: grid; gap: 4px; }
  .detail-disclosure > summary small { text-align: left; }
  .certificate-lifecycle-actions > summary { display: flex; gap: 16px; }
  .brand-settings { padding: 17px; }
  .brand-settings-heading { display: grid; }
  .brand-settings-actions button { width: 100%; }
  .support-badge-actions { display: grid; }
  .support-badge-actions form, .support-badge-actions button { width: 100%; }
  .support-badge-preview-row { display: grid; }
  .support-badge-preview-row form, .support-badge-preview-refresh { width: 100%; }
  .support-badge-link-option { grid-template-columns: auto minmax(0, 1fr); }
  .support-badge-link-option .status { grid-column: 2; }
  .support-badge-link-actions, .support-badge-link-actions button { width: 100%; }
  .support-badge-embed-heading { align-items: flex-start; }
  .brand-font-options { grid-template-columns: 1fr; }
  .brand-badge-sample { max-width: 100%; }
  .asset-library-list-head { display: none; }
  .asset-library-row { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; align-items: start; padding: 16px; }
  .asset-library-identity { grid-column: 1 / -1; }
  .asset-library-row > p { grid-column: 1 / -1; }
  .asset-library-row > span::before { display: block; margin-bottom: 2px; color: var(--muted); font-size: 9px; font-weight: 500; }
  .asset-library-row > span:nth-of-type(1)::before { content: "版"; }
  .asset-library-row > span:nth-of-type(2)::before { content: "状態"; }
  .asset-library-row > .status { display: grid; border: 0; padding: 0; background: transparent; }
  .asset-library-action { grid-column: 1 / -1; }
  .asset-library-manage { width: 100%; }
  .asset-library-guide { display: block; }
  .asset-library-guide .button { width: 100%; margin-top: 18px; }
  .asset-operation-dialog { width: 100%; max-height: calc(100dvh - 16px); margin: auto 0 0; }
  .asset-operation-dialog-shell { max-height: calc(100dvh - 16px); border-right: 0; border-bottom: 0; border-left: 0; }
  .asset-modal-content { padding: 0 17px 20px; }
  .asset-modal-header { margin-right: -17px; margin-left: -17px; padding: 20px 60px 17px 17px; }
  .asset-modal-actions { display: grid; grid-template-columns: 1fr; }
  .asset-modal-actions .button, .asset-modal-actions button { width: 100%; }
  .asset-use-preview .asset-preview { min-height: 230px; padding: 18px; }
  .asset-use-preview .asset-preview img { max-height: 176px; }
  .asset-use-details-content dl { grid-template-columns: 1fr; }
  .asset-use-details-content dl > div { padding: 9px 0; }
  .asset-use-details-content dl > div + div { border-top: 1px solid var(--line); border-left: 0; }
  .asset-use-actions button:first-child { min-width: 0; }
}
