/* Shared visual tokens. No external fonts, image libraries or runtime dependencies. */
:root {
  color-scheme: light;
  --page: #eff7ff;
  --page-deep: #e8f3ff;
  --surface: #ffffff;
  --surface-raised: #f5faff;
  --surface-soft: #eaf5ff;
  --field: #f8fbff;
  --text: #101d3f;
  --muted: #526889;
  --quiet: #526889;
  --line: #c8ddf2;
  --line-soft: #dce9f7;
  --accent: #0868ed;
  --accent-end: #0868ed;
  --button-text: #ffffff;
  --success: #087b62;
  --danger: #b52a36;
  --warning: #735015;
  --radius: 18px;
  --radius-small: 12px;
  --shadow: 0 18px 52px #3d82c51a;
  --space: 24px;
  --content: 1160px;
  font: 16px/1.55 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  color: var(--text);
  background: var(--page-deep);
  font-synthesis: none;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
* { box-sizing: border-box; }
body {
  margin: 0; min-width: 0; min-height: 100vh; min-height: 100svh;
  background: radial-gradient(ellipse at 85% 18%, #dcefff 0, transparent 55%), linear-gradient(150deg, #f8fbff, #eef7ff 65%, #eaf5ff);
  isolation: isolate;
}
.ambient { position: fixed; inset: 0; width: 100%; height: 100vh; height: 100svh; z-index: -1; pointer-events: none; opacity: .95; }
header, main, footer { width: min(100%, var(--content)); margin-inline: auto; padding-inline: max(28px, env(safe-area-inset-left)); }
header { display: flex; align-items: center; gap: 20px; padding-block: max(26px, env(safe-area-inset-top)) 24px; }
.brand { display: inline-flex; align-items: center; gap: 14px; min-width: 0; color: var(--text); text-decoration: none; }
.mark { flex: 0 0 52px; height: 52px; display: grid; place-items: center; border: 2px solid transparent; border-radius: 15px; background: linear-gradient(#1d4774, #1d4774) padding-box, linear-gradient(135deg, #89e5f9, #92a9f4) border-box; font-size: 25px; font-weight: 750; letter-spacing: -1px; }
.brand-copy { min-width: 0; }
.brand-copy strong { display: block; font-size: 24px; line-height: 1.25; letter-spacing: -.55px; }
.brand-copy small { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); white-space: nowrap; }
.badge { margin-left: auto; border: 1px solid var(--line-soft); background: #2a52774d; padding: 6px 12px; border-radius: 99px; color: var(--muted); font-size: 12px; }
#logout { flex-shrink: 0; }
main { padding-top: 30px; padding-bottom: 50px; min-height: calc(100svh - 195px); }
h1, h2, h3, p { overflow-wrap: break-word; }
h1 { max-width: 850px; font-size: clamp(32px, 3.5vw, 44px); line-height: 1.14; font-weight: 720; letter-spacing: -1.3px; margin: 10px 0 16px; }
h2 { font-size: 23px; line-height: 1.25; font-weight: 650; letter-spacing: -.45px; margin: 0 0 14px; }
p { color: var(--muted); margin: 0 0 16px; }
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: 1.5px; font-size: 11px; font-weight: 650; margin: 0 0 12px; }
.intro { max-width: 680px; font-size: 18px; line-height: 1.55; margin-bottom: 28px; }
.workspace-intro { margin-bottom: 28px; }
.card { min-width: 0; background: linear-gradient(140deg, #ffffffef, #fafdffff); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow); }
.work-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.work-grid > * { min-width: 0; }
.upload-heading { display: none; }
.upload form { display: block; }
label { display: block; font-size: 14px; font-weight: 600; color: var(--text); }
input, select { min-width: 0; max-width: 100%; width: 100%; font: inherit; font-size: 16px; color: var(--text); background: var(--field); border: 1px solid var(--line); border-radius: var(--radius-small); min-height: 48px; padding: 12px 14px; margin: 8px 0 18px; }
input::placeholder { color: #697d99; opacity: .8; }
input[readonly] { background: var(--surface-soft); }
button, .download { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 46px; max-width: 100%; border: 1px solid #8ddaff; border-radius: var(--radius-small); padding: 12px 18px; font: 650 14px/1.35 'Segoe UI', system-ui, sans-serif; text-align: center; color: var(--button-text); background: linear-gradient(115deg, #0877a5, #167af7 65%, #0560ef); cursor: pointer; text-decoration: none; white-space: normal; overflow-wrap: anywhere; transition: background .15s, border-color .15s, transform .15s; }
button:hover:not(:disabled), .download:hover { background: linear-gradient(115deg, #1682d0, #075adc); border-color: #c4f0ff; }
button:active:not(:disabled), .download:active { transform: translateY(1px); }
button:disabled { opacity: .52; cursor: not-allowed; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, .file-input:focus-visible + .dropzone { outline: 3px solid #9ee6ff; outline-offset: 4px; }
.quiet, .secondary { color: var(--text); border-color: var(--line); background: #edf6ff; }
.quiet:hover:not(:disabled), .secondary:hover:not(:disabled) { background: #dfedff; }
.wide { width: 100%; margin-top: 18px; }
#submit-audio { min-height: 58px; font-size: 19px; box-shadow: 0 8px 24px #0a2a4a30; }
.file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; padding: 0; margin: 0; border: 0; min-height: 0; }
.dropzone { min-height: 224px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 24px 20px; border: 1.5px dashed #a5cfe9; border-radius: 15px; background: #f5fbff; text-align: center; cursor: pointer; }
.dropzone.dragging { border-color: #d8f6ff; background: #e4f3ff; }
.dropzone strong { font-size: 17px; font-weight: 650; line-height: 1.4; }
.dropzone > span:not(.upload-symbol) { color: var(--muted); font-size: 14px; font-weight: 400; }
.dropzone small { display: block; font-weight: 400; font-size: 13px; color: var(--muted); }
.upload-symbol { display: block; width: 54px; height: 54px; margin-bottom: 10px; color: #0984ef; }
.upload-symbol svg { width: 100%; height: 100%; }
.selected-file { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 15px 16px; border: 1px solid #d4e6f7; border-radius: var(--radius-small); background: #eaf6ff; margin-top: 16px; }
.selected-file::before { content: '♫'; flex: 0 0 42px; height: 46px; display: grid; place-items: center; border-radius: 9px; background: #d6eeff; color: var(--text); font-size: 27px; }
.selected-file > div { min-width: 0; flex: 1; }
.selected-file strong { display: block; font-size: 15px; overflow-wrap: anywhere; line-height: 1.4; }
.selected-file span { display: block; font-size: 13px; color: var(--text); margin-top: 3px; }
#clear-file { flex-shrink: 0; width: 44px; min-height: 44px; padding: 0; border-radius: 50%; background: #d7eafa; border-color: transparent; font-size: 26px; font-weight: 400; }
#upload-progress { margin-top: 18px; }
#upload-progress label { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
progress { display: block; width: 100%; height: 9px; border: 0; border-radius: 10px; accent-color: var(--accent); background: var(--field); margin-top: 8px; }
progress::-webkit-progress-bar { background: var(--field); border-radius: 10px; }
progress::-webkit-progress-value { background: var(--accent); border-radius: 10px; }
progress::-moz-progress-bar { background: var(--accent); border-radius: 10px; }
.small { font-size: 12px; line-height: 1.6; color: var(--muted); }
.upload > .small { margin: 18px 0 0; }
#upload-message:empty, #demo-message:empty, #account-message:empty, #login-error:empty, #registration-message:empty, #admin-message:empty, #mail-message:empty, #account-summary:empty { display: none; }
#upload-message, #demo-message, #login-error, #registration-message { margin-top: 16px; margin-bottom: 0; overflow-wrap: anywhere; }
.demo-card { background: #ffffff; padding: 27px; }
.demo-card > p:not(.eyebrow):not(.small) { font-size: 14px; }
.demo-card .small { margin-top: 12px; margin-bottom: 0; }
.document-preview { display: flex; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line-soft); }
.document-icon { flex: 0 0 35px; height: 42px; border-radius: 7px; border: 1px solid #83b2de; display: grid; place-items: center; color: #d5eeff; background: #ebf5ff; font-size: 18px; font-weight: 700; }
.document-preview strong { font-size: 14px; font-weight: 600; }
.document-preview div > span { display: block; color: var(--muted); font-size: 12px; margin-top: 3px; }
.stats { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); gap: 20px; align-items: center; margin: 24px 0; }
.stats > div { min-width: 0; display: flex; align-items: center; gap: 16px; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 24px; background: #ffffffde; }
.stats strong { color: var(--text); font-size: 32px; line-height: 1.1; font-weight: 650; font-variant-numeric: tabular-nums; }
.stats span { color: var(--muted); font-size: 13px; line-height: 1.4; }
.stats > p { margin: 0; font-size: 12px; color: var(--muted); }
.admin-panel { margin: 22px 0; padding: 0; background: #ffffffec; overflow: clip; }
.admin-panel > summary { position: relative; list-style: none; min-height: 68px; padding: 20px 52px 20px 24px; color: var(--text); font-size: 18px; line-height: 1.4; font-weight: 600; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
.admin-panel > summary::after { content: '›'; position: absolute; right: 24px; top: 17px; font-size: 27px; line-height: 1; }
.admin-panel[open] > summary::after { transform: rotate(90deg); }
.admin-panel[open] > summary { border-bottom: 1px solid var(--line-soft); }
.admin-panel > :not(summary) { margin-inline: 24px; }
.admin-panel > p:first-of-type { margin-top: 20px; }
.admin-panel .work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 24px; margin-bottom: 24px; gap: 32px; }
.admin-panel h2 { font-size: 20px; }
.admin-panel details:not(.admin-panel) > summary, .user-row summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--text); }
.admin-panel button { margin-block: 5px; }
.new-invite { padding: 16px; background: var(--field); border-radius: var(--radius-small); margin: 18px 0; }
#invite-code { font-family: Consolas, monospace; font-size: 16px; }
.admin-row { padding: 18px 0; border-bottom: 1px solid var(--line-soft); overflow-wrap: anywhere; }
.user-row { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.user-row > p { width: 100%; margin-bottom: 0; }
.user-row label { flex: 1 1 150px; max-width: 230px; }
.user-row input { margin-bottom: 5px; }
.user-row details { width: 100%; }
.results { margin-top: 34px; }
#pending-uploads { margin-bottom: 30px; }
.results-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.results-heading h2 { margin-bottom: 0; }
.results-heading .eyebrow { margin-bottom: 6px; }
.search-label { font-size: 12px; color: var(--muted); width: min(100%, 280px); flex-shrink: 0; }
.search-label input { margin: 5px 0 0; }
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.filter { min-height: 44px; padding: 9px 16px; border-radius: 99px; font-size: 13px; font-weight: 500; color: var(--muted); background: #f5faff; border-color: var(--line-soft); }
.filter.active { background: #dceeff; color: var(--text); border-color: #a3c8e7; }
.job { min-width: 0; padding: 22px; background: #f8fcff; border: 1px solid var(--line-soft); border-radius: 15px; margin: 12px 0; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.job-info { min-width: 0; flex: 1 1 300px; }
.job-title { color: var(--text); font-size: 15px; font-weight: 600; overflow-wrap: anywhere; line-height: 1.45; }
.job p { margin: 6px 0 0; font-size: 13px; }
.job .job-meta { color: var(--quiet); font-size: 12px; }
.job-tag { display: inline-flex; border: 1px solid var(--line-soft); border-radius: 5px; padding: 3px 7px; margin-bottom: 9px; color: var(--muted); font-size: 10px; letter-spacing: .65px; text-transform: uppercase; }
.job-status { display: inline-flex; align-items: baseline; gap: 8px; color: var(--muted); }
.status-dot { flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--quiet); }
.job.done .status-dot { background: var(--success); }
.job.failed .status-dot { background: var(--danger); }
.job.processing .status-dot, .job.queued .status-dot, .job.checking .status-dot, .job.preparing .status-dot { background: var(--accent); }
.downloads { display: flex; flex-wrap: wrap; gap: 8px; }
.download { color: var(--text); background: #edf6ff; border-color: #c8ddf2; font-size: 12px; min-height: 44px; padding: 10px 13px; }
.download:hover { color: var(--button-text); }
.empty-state { padding: 32px; text-align: center; border: 1px dashed var(--line); background: #ffffffb0; border-radius: 15px; }
.service-banner, #connection { border: 1px solid #9b8963; border-radius: var(--radius-small); padding: 18px 20px; margin-bottom: 22px; background: #fff9ec; color: var(--warning); }
.service-banner p { color: var(--muted); font-size: 14px; margin: 6px 0 0; }
.error, #login-error { color: var(--danger); }
.notice { max-width: 900px; font-size: 12px; color: var(--quiet); margin: 28px 0 0; }
footer { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line-soft); padding-block: 24px max(24px, env(safe-area-inset-bottom)); font-size: 12px; color: var(--muted); }
footer span { color: var(--quiet); }
.auth-layout { display: flex; justify-content: center; align-items: center; min-height: calc(100svh - 270px); padding-block: 20px 40px; }
.auth-story { max-width: 510px; }
.auth-story h2 { font-size: clamp(36px, 3vw, 46px); line-height: 1.18; letter-spacing: -1.3px; margin: 18px 0 22px; }
.auth-story > p:not(.eyebrow):not(.auth-note) { font-size: 18px; max-width: 430px; }
.auth-formats { display: flex; flex-wrap: wrap; gap: 9px; margin: 28px 0 34px; }
.auth-formats span { padding: 8px 12px; font-size: 12px; border: 1px solid var(--line); border-radius: 99px; color: var(--muted); }
.auth-note { color: var(--quiet); font-size: 13px; }
.auth-form { width: 100%; max-width: 480px; justify-self: end; padding: 34px; }
.auth-form h1 { font-size: 30px; letter-spacing: -.8px; }
.auth-form p { font-size: 14px; }
.auth-form form > button[type=submit] { width: 100%; margin-top: 4px; }
.password-field { display: flex; gap: 8px; align-items: center; margin: 8px 0 18px; }
.password-field input { margin: 0; flex: 1; }
.password-field button { flex-shrink: 0; font-size: 12px; padding-inline: 11px; min-height: 48px; }
.auth-switch { margin: 22px 0 0; }
.text-button { display: inline-flex; padding: 6px 0; color: #0868ed; background: transparent; border: 0; text-decoration: underline; text-underline-offset: 4px; min-height: 44px; box-shadow: none; }
.text-button:hover:not(:disabled) { color: white; background: transparent; }
.skip-link { position: absolute; top: -100px; left: 16px; z-index: 5; padding: 12px 16px; background: var(--text); color: var(--page-deep); border-radius: 8px; }
.skip-link:focus { top: 12px; }
[hidden] { display: none !important; }
@media (max-width: 900px) {
  .work-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; }
  .card { padding: 22px; }
  .stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .stats > p { grid-column: 1/-1; }
  .stats > p br { display: none; }
  .auth-layout { gap: 35px; }
  .auth-story h2 { font-size: 36px; }
  .auth-form { padding: 28px; }
}
@media (max-width: 700px) {
  header, main, footer { padding-inline: max(20px, env(safe-area-inset-left)); }
  header { gap: 12px; padding-block: max(22px, env(safe-area-inset-top)) 20px; }
  .brand { gap: 10px; }
  .mark { flex-basis: 43px; height: 43px; border-radius: 13px; font-size: 22px; }
  .brand-copy strong { font-size: 20px; }
  .brand-copy small { font-size: 10px; }
  .badge { display: none; }
  #logout { margin-left: auto; min-height: 44px; padding: 9px 12px; font-size: 12px; }
  main { padding-top: 16px; }
  h1 { font-size: 30px; line-height: 1.16; letter-spacing: -.65px; max-width: 440px; }
  h2 { font-size: 21px; }
  .workspace-intro { margin-bottom: 22px; }
  .workspace-intro .eyebrow { display: none; }
  .intro { font-size: 16px; margin: 14px 0 0; max-width: 430px; }
  .work-grid { grid-template-columns: minmax(0,1fr); }
  .upload { padding: 18px; }
  .dropzone { min-height: 190px; padding: 22px 12px; }
  .dropzone strong { font-size: 16px; }
  .upload-symbol { width: 48px; height: 48px; margin-bottom: 7px; }
  #submit-audio { min-height: 52px; font-size: 17px; }
  .selected-file { padding: 12px; gap: 10px; }
  .selected-file::before { flex-basis: 34px; height: 42px; font-size: 25px; }
  .selected-file strong { font-size: 14px; }
  .demo-card { order: 2; }
  .stats { gap: 12px; margin: 18px 0; }
  .stats > div { padding: 17px; gap: 10px; align-items: start; flex-direction: column; }
  .stats strong { font-size: 28px; }
  .stats > p { font-size: 11px; }
  .admin-panel > summary { font-size: 17px; min-height: 62px; padding: 18px 45px 18px 20px; }
  .admin-panel .work-grid { grid-template-columns: minmax(0,1fr); }
  .admin-panel > :not(summary) { margin-inline: 20px; }
  .results-heading { flex-direction: column; align-items: stretch; gap: 18px; }
  .search-label { width: 100%; }
  .job { padding: 18px; gap: 15px; }
  .job-info { flex-basis: 100%; }
  .downloads { width: 100%; }
  .download { flex: 1 1 130px; }
  .auth-layout { display: block; min-height: auto; padding: 12px 0 40px; }
  .auth-story { display: none; }
  .auth-form { max-width: 480px; padding: 26px 22px; margin-inline: auto; }
  .auth-form h1 { font-size: 28px; }
  footer { flex-direction: column; gap: 6px; }
}
@media (max-width: 390px) {
  header, main, footer { padding-inline: max(16px, env(safe-area-inset-left)); }
  .brand-copy strong { font-size: 18px; }
  .brand-copy small { font-size: 9px; }
  .mark { flex-basis: 39px; height: 41px; }
  h1 { font-size: 28px; }
  .upload { padding: 15px; }
  .dropzone { min-height: 184px; }
  .filter { padding-inline: 13px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* Primary actions stay together ahead of the secondary example on phones. */
.primary-work { min-width: 0; }
.primary-work .stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
.primary-work .stats > p { grid-column: 1 / -1; }
.primary-work .stats > p br { display: none; }
.primary-work .admin-panel { margin-bottom: 0; }
@media (max-width: 700px) {
  .dropzone > span:not(.upload-symbol) { display: none; }
  .dropzone { min-height: 155px; }
}

header, main, footer { padding-left: max(var(--gutter, 28px), env(safe-area-inset-left)); padding-right: max(var(--gutter, 28px), env(safe-area-inset-right)); }
@media (max-width: 700px) { :root { --gutter: 20px; } }
@media (max-width: 390px) { :root { --gutter: 16px; } }

.selected-file strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 1000px) { .admin-panel .work-grid { grid-template-columns: minmax(0,1fr); } }

.card.admin-panel { padding: 0; }
.upload-help { margin-top: 12px; }
.upload-help summary { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; color: var(--muted); font-size: 12px; }
.upload-help summary::before { content: '+'; font-size: 18px; }
.upload-help[open] summary::before { content: '−'; }
.upload-help p { margin: 4px 0 0; }

input:-webkit-autofill { -webkit-text-fill-color: var(--text); box-shadow: 0 0 0 1000px var(--field) inset; caret-color: var(--text); }
.admin-panel > summary:focus-visible { outline-offset: -5px; border-radius: var(--radius); }

/* Light reference: shared surfaces, restrained waves and real account identity. */
.mark { padding:0; overflow:hidden; position:relative; border:0; background:#0876f7; box-shadow:0 5px 15px #147cdb25; }
.mark img { display:block; width:100%; height:100%; max-width:none; object-fit:contain; position:absolute; inset:0; }
.session-login { margin-left:auto; color:var(--muted); font-size:14px; overflow-wrap:anywhere; max-width:260px; text-align:right; }
header { flex-wrap:wrap; }
#logout { margin-left:0; }
.portal-grid { grid-template-columns:minmax(0,1fr); }
.primary-work { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:0 24px; align-items:start; }
.primary-work > .upload { grid-column:1; grid-row:1 / 5; }
.primary-work > .stats,.primary-work > #account-summary,.primary-work > .admin-panel { grid-column:2; }
.primary-work > .stats { margin-top:0; }
.stats > div { border-color:#d9e8f7; box-shadow:0 8px 24px #3d82c510; }
.admin-panel { box-shadow:0 8px 28px #3d82c514; }
.dropzone { border-color:#a4d1ff; background:linear-gradient(130deg,#f7fcff,#f0f8ff); }
.dropzone.dragging { border-color:#167af7; background:#dcefff; }
.upload-symbol { background:linear-gradient(130deg,#e3f3ff,#d6f7ff); border-radius:16px; padding:8px; }
.download { color:#075fc2; }
.download:hover { color:white; }
.text-button:hover:not(:disabled) { color:#034fa7; }
.auth-formats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.auth-formats > div { position:relative; min-height:132px; padding:32px 12px 16px; border:1px solid #c8ddf2; border-radius:8px 20px 8px 8px; background:linear-gradient(135deg,#ffffff,#f5faff); box-shadow:0 8px 24px #3d82c512; }
.auth-formats > div::before { content:''; position:absolute; right:0; top:0; width:20px; height:20px; background:#d8ecff; clip-path:polygon(0 0,0 100%,100% 100%); }
.auth-formats b { font-size:14px; line-height:1.3; display:block; color:#145fbc; }
.auth-formats span { display:block; border:0; border-radius:0; padding:8px 0 0; font-size:12px; }
footer { justify-content:center; flex-direction:column; align-items:center; gap:4px; }
footer a { color:#326baa; text-decoration:none; min-height:44px; display:inline-flex; align-items:center; }
.job-delete { display:flex; gap:8px; flex-wrap:wrap; }
.job-delete p { flex-basis:100%; }
.danger-button { background:#fff3f4; border-color:#efc8ce; color:#ad2838; }
.danger-button:hover:not(:disabled) { background:#a32032; color:white; border-color:#a32032; }
@media(max-width:900px) {
 .primary-work { display:block; }
 .primary-work > .stats { margin-top:20px; }
}
@media(max-width:700px) {
 .brand-copy small { display:none; }
 header { gap:10px; }
 .brand { flex:1 1 100%; }
 .session-login { flex:1; max-width:none; text-align:left; margin-left:0; font-size:13px; }
 #logout { margin-left:auto; }
 .auth-form { padding:24px 20px; }
 .workspace-intro .eyebrow { display:block; }
 .stats > div { padding:17px 14px; }
 .auth-story { display:none; }
}

/* Results remain light; confirmation stays beneath the document actions. */
.filter { color:#345575; border-color:#b9d7f3; }
.filter.active { color:#164d8c; border-color:#78b3e8; font-weight:650; }
.filter:hover:not(:disabled) { background:#e6f3ff; color:#164d8c; border-color:#78b3e8; }
.job { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,auto); align-items:start; }
.job-info { grid-column:1; grid-row:1 / 3; }
.job > .downloads { grid-column:2; grid-row:1; justify-content:flex-end; max-width:540px; }
.job > .job-delete { grid-column:2; grid-row:2; justify-content:flex-end; justify-self:end; text-align:right; max-width:540px; }
.job-delete button { font-size:13px; padding-inline:12px; }
@media(max-width:900px) {
 .job { display:flex; }
 .job > .job-delete { margin-left:auto; flex-basis:100%; }
 .job > .downloads { margin-left:auto; }
}

.sort-label { display:block; max-width:240px; margin:0 0 12px; }
.sort-label select { margin-bottom:0; }
.pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin:22px 0 12px; }
.pagination .page-button { min-width:44px; padding:10px 12px; }
.page-button[aria-current=page] { background:#dceeff; border-color:#78b3e8; color:#164d8c; font-weight:700; }
.pagination span { flex-basis:100%; text-align:center; color:var(--muted); font-size:13px; }
.upload > .upload-help { margin-top:16px; }

.fragment-selection { padding-left:22px; overflow-wrap:anywhere; }
.fragment-selection li { margin:8px 0; }
.fragment-selection button { margin-left:8px; }
#assembly-panel { margin-top:28px; }
.batch-card { margin:16px 0; }
.batch-card h3 { margin-top:0; }
.batch-card ol { padding-left:22px; }
.fragment-row { padding:8px 0; overflow-wrap:anywhere; }
.fragment-row > span { display:block; margin-bottom:6px; }
.fragment-row button { margin:0 6px 6px 0; min-height:44px; }
.batch-card > button { margin:8px 8px 8px 0; }
.batch-card details { margin:18px 0; }
.batch-card summary { min-height:44px; display:flex; align-items:center; cursor:pointer; }
.batch-card label { margin-top:12px; }
.batch-card label,.batch-card summary { overflow-wrap:anywhere; }
.overlap-choice { display:flex; align-items:start; gap:12px; }
.overlap-choice { min-height:44px; padding-block:8px; }
.overlap-choice input { width:22px; flex-shrink:0; min-height:22px; margin-top:4px; }
.batch-delete { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:16px; }
#batch-message:empty,#assembly-availability:empty { display:none; }
.processing-progress { min-width:0; width:100%; margin:10px 0; overflow-wrap:anywhere; }
.processing-track { width:100%; height:16px; border:1px solid #8dbdf5; border-radius:999px; background:#e8f3ff; overflow:hidden; box-shadow:inset 0 1px 3px #13529d0c; }
.processing-fill { height:100%; border-radius:inherit; background:linear-gradient(100deg,#0967eb 0%,#1686fa 30%,#67d9ff 50%,#1686fa 70%,#0967eb 100%); background-size:220% 100%; animation:processing-shimmer 2s linear infinite; transition:width .5s ease; }
@keyframes processing-shimmer { from {background-position:220% 0;} to {background-position:0 0;} }
.processing-track.indeterminate .processing-fill { animation:processing-shimmer 2s linear infinite,processing-sweep 2.8s ease-in-out infinite alternate; }
@keyframes processing-sweep { from {transform:translateX(0);} to {transform:translateX(233%);} }
@media(prefers-reduced-motion:reduce) { .processing-fill,.processing-track.indeterminate .processing-fill { animation:none; transition:none; } }

/* Owner center uses the same full width as meeting results. */
.admin-page-heading,.admin-section-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.admin-page-heading { margin:32px 0 24px; }
.admin-page-heading h1 { margin:8px 0 12px; }
.admin-page-heading h1 { font-size:clamp(26px,3vw,42px); }
.admin-page-heading .intro { max-width:760px; }
.admin-page-heading > button { flex-shrink:0; margin-top:6px; }
.admin-tabs { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 22px; }
.admin-tabs button { background:#edf7ff; color:#15559d; border:1px solid #bddaff; box-shadow:none; }
.admin-tabs button[aria-selected=true] { color:white; background:#1169e8; border-color:#1169e8; }
.admin-center { padding:30px; min-width:0; }
.admin-section-heading { margin-bottom:20px; }
.admin-section-heading h2 { margin-top:0; }
.admin-section-heading p { margin:4px 0; }
.admin-statistics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0; }
.admin-stat { background:#eff8ff; border:1px solid #d7eaff; border-radius:18px; padding:22px; display:flex; flex-direction:column; gap:8px; }
.admin-stat strong { font-size:32px; color:#092253; }
.admin-stat span { color:var(--muted); }
.admin-overview-grid,.admin-mail-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:28px; align-items:start; }
.admin-guide { border:1px solid #daebfc; background:#f3faff; border-radius:18px; padding:24px; }
.admin-guide h3 { margin-top:0; }
.catalog-filters { display:grid; grid-template-columns:minmax(180px,1.6fr) repeat(2,minmax(150px,1fr)) repeat(2,minmax(140px,.8fr)); align-items:end; gap:12px; margin-top:24px; }
.catalog-filters label { margin:0; min-width:0; }
.catalog-filters input,.catalog-filters select { width:100%; min-width:0; }
.filter-actions { grid-column:1 / -1; display:flex; gap:10px; flex-wrap:wrap; }
.admin-table-wrap { width:100%; overflow:auto; margin:18px 0; }
.admin-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:14px; }
.admin-table th { text-align:left; font-size:12px; color:#52749a; background:#edf7ff; padding:14px 10px; }
.admin-table td { padding:18px 10px; vertical-align:top; border-bottom:1px solid #deebf8; overflow-wrap:anywhere; }
.admin-table td:first-child { color:#142e55; }
.admin-table small { display:block; color:var(--muted); margin-top:6px; font-size:12px; line-height:1.5; }
.admin-table button { padding:9px 12px; min-height:44px; margin:0 0 6px; font-size:13px; }
.admin-badge { display:inline-block; padding:5px 9px; border-radius:9px; background:#eaf1fa; color:#4d668b; font-size:12px; font-weight:600; }
.admin-badge.active { background:#e2f7ed; color:#126c49; }
.admin-badge.used { background:#e8f0ff; color:#245baf; }
.admin-badge.revoked { background:#fff0f2; color:#a02e49; }
.admin-create { margin-top:24px; border:1px solid #cee4ff; box-shadow:none; }
.admin-create h3 { margin-top:0; }
.admin-create form { max-width:760px; }
.admin-create form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:end; max-width:none; }
.admin-create form label { margin-top:0; }
.admin-create form > button { grid-column:1 / -1; justify-self:start; }
#admin-view-promos th:nth-child(1),#admin-view-promos th:nth-child(6) { width:18%; }
#admin-view-promos th:nth-child(2) { width:6%; }
#admin-view-promos th:nth-child(3),#admin-view-promos th:nth-child(4),#admin-view-promos th:nth-child(5),#admin-view-promos th:nth-child(7) { width:12%; }
#admin-view-promos th:nth-child(8) { width:10%; }
#admin-view-users th:nth-child(1) { width:24%; }
.user-editor { background:#f2f9ff; border:1px solid #cbe2fb; border-radius:18px; padding:24px; margin:20px 0; }
.user-editor h3 { margin:0; overflow-wrap:anywhere; }
.user-editor form { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin-top:20px; }
.user-editor label { width:100%; margin:0; }
.user-editor input { flex:1; min-width:190px; }
.admin-mail-grid form { max-width:640px; }
.admin-mail-grid form button { margin:10px 8px 0 0; }
#open-admin { flex-shrink:0; }
@media(max-width:1100px) { .catalog-filters { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:800px) {
 .admin-statistics { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-overview-grid,.admin-mail-grid { grid-template-columns:minmax(0,1fr); }
 .admin-center { padding:22px; }
}
@media(max-width:700px) {
 .admin-page-heading,.admin-section-heading { flex-direction:column; gap:10px; }
 .admin-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-tabs button { padding-inline:10px; }
 .admin-center { padding:16px; }
 .admin-create form { grid-template-columns:minmax(0,1fr); }
 .catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-filters label:first-child { grid-column:1 / -1; }
 .admin-table,.admin-table tbody,.admin-table tr,.admin-table td { display:block; width:100%; }
 .admin-table { table-layout:auto; }
 .admin-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .admin-table tr { border:1px solid #dceafa; border-radius:14px; margin-bottom:14px; padding:8px 12px; background:#fbfdff; }
 .admin-table td { border:0; padding:8px 0; }
 .admin-table td::before { content:attr(data-label); display:block; color:#5c7596; font-size:12px; margin-bottom:3px; }
 .admin-table td[colspan]::before { content:none; }
 .admin-actions { display:flex!important; gap:8px; flex-wrap:wrap; }
 .admin-actions::before { width:100%; }
 .user-editor { padding:16px; }
 .user-editor input { min-width:0; width:100%; flex-basis:100%; }
 header { flex-wrap:wrap; }
 #open-admin { font-size:13px; padding-inline:12px; }
}

.document-selection{border:1px solid #b9dbff;border-radius:14px;padding:10px 14px;margin:16px 0;color:#142449;background:#f5faff;min-width:0}
.document-selection legend{font-weight:700;padding:0 6px}
.document-selection label{display:flex;align-items:center;gap:10px;margin:0;padding:5px 0;line-height:1.35;cursor:pointer;font-size:15px}
.document-selection input[type=checkbox]{appearance:none;-webkit-appearance:none;display:grid;place-content:center;width:21px;height:21px;min-height:21px;flex:0 0 21px;margin:0;padding:0;border:1.5px solid #88b5e9;border-radius:5px;background:#fff;cursor:pointer;transition:background-color .15s,border-color .15s}
.document-selection input[type=checkbox]::before{content:"";width:10px;height:6px;border:solid #fff;border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg) scale(0)}
.document-selection input[type=checkbox]:checked{background:#0866ee;border-color:#0866ee}
.document-selection input[type=checkbox]:checked::before{transform:translateY(-1px) rotate(-45deg) scale(1)}
.document-selection input[type=checkbox]:focus-visible{outline:3px solid #9dceff;outline-offset:3px}
.document-selection input[type=checkbox]:disabled{opacity:.55;cursor:wait}
.meeting-date-field{display:grid;gap:6px;margin-top:16px}
.meeting-date-field input{max-width:300px;min-width:0}
#fragment-selection{list-style:none;margin:12px 0;padding:0}
#fragment-selection .selected-fragment{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:6px 0;padding:6px 8px;border:1px solid #c9e2ff;border-radius:12px;background:#f3f9ff;transition:transform .18s ease,border-color .18s ease;}
.selected-fragment .file-remove{margin:0;padding:8px 10px;min-height:44px;font-size:13px;border-radius:9px}
.selected-fragment-info{display:flex;flex-direction:column;gap:2px}
.selected-fragment-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:14px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}
.selected-fragment-info small{font-size:12px;color:var(--muted);line-height:1.25}
.selected-fragment .selected-fragment-info,.selected-fragment .selected-fragment-info:hover,.selected-fragment .selected-fragment-info:active{min-width:0;min-height:44px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--text);text-align:left;align-items:flex-start;justify-content:center;transform:none}
.selected-fragment-info.is-expanded .selected-fragment-name{display:block;-webkit-line-clamp:unset;overflow:visible}
.reorderable .selected-fragment-info{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
#fragment-selection .file-pressed{transform:scale(.98);border-color:#4195e8}
#fragment-selection .file-dragging{z-index:2;border-color:#1686ee;transition:border-color .18s ease;box-shadow:0 5px 18px #1265ad18}
.file-dragging .selected-fragment-info{cursor:grabbing}
.file-add-hint{font-size:16px;line-height:1.5;color:var(--muted);margin:12px 0 16px}
.file-order-hint{font-size:15px;line-height:1.45;font-weight:600;margin:12px 0 8px;color:var(--text)}
@media(prefers-reduced-motion:reduce){#fragment-selection .selected-fragment{transition:none}}
@media(forced-colors:active){.document-selection input[type=checkbox]{appearance:auto}.document-selection input[type=checkbox]::before{display:none}}

.processing-phase{font-size:14px;line-height:1.4;color:var(--muted);margin:0 0 8px}
.support-banner{position:sticky;top:0;z-index:20;background:#fff3cf;border:2px solid #dca21d;border-radius:16px;padding:16px;margin:0 0 20px;color:#49360a}
.support-banner p{color:inherit;margin:8px 0}.download[aria-disabled=true]{opacity:.6;cursor:not-allowed}
.console-filters,.support-entry{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin:16px 0}
.console-filters label{flex:1 1 150px;min-width:0}.console-filters input,.console-filters select{width:100%}
.support-entry input,.support-entry select{flex:1 1 220px;min-width:0}.support-entry h4,.support-entry p{flex-basis:100%}
#console-meeting-detail{margin-top:24px}.admin-table td{overflow-wrap:anywhere}.admin-tabs{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.support-banner{scroll-behavior:auto}}
/* Document modules share the existing light card and control system. */
#document-module textarea{font:inherit;font-size:16px;line-height:1.45;padding:12px;border:1px solid #bfdcff;border-radius:14px;background:#f7fbff;color:#102047;box-sizing:border-box;resize:vertical;min-height:96px;max-width:100%;width:100%}#document-module textarea:focus{outline:2px solid #83caff;outline-offset:2px}
.module-nav{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}.module-nav button{font-size:15px;padding:10px 14px}.module-nav button[aria-pressed="true"]{background:#e0f1ff;border-color:#008cf0;color:#102047}.module-nav button:disabled{opacity:.55}
.document-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.document-form-grid>details,.document-form-grid>.document-form-grid{grid-column:1/-1}.document-form-grid label{min-width:0}.document-form-grid textarea{min-height:94px}.document-editor textarea{width:100%;box-sizing:border-box;margin-bottom:12px}.document-editor input,.document-editor select{max-width:100%}.document-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}.document-link{display:inline-block;padding:12px 16px;border:1px solid #bfdcff;border-radius:14px;background:#edf7ff;color:#075ab2;font-weight:600}.document-history-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #d4e8fa;overflow-wrap:anywhere}.document-history-row button{max-width:65%;text-align:left;overflow-wrap:anywhere}.document-history-row span{font-size:13px;color:#506681}.purchase-row{padding:16px;margin:14px 0;border:1px solid #bfdcff;border-radius:18px;background:#f5fbff}.organization-card summary{font-weight:600}.document-version-preview{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;background:#f3f9ff;padding:14px}.document-editor #document-warnings{white-space:pre-wrap}.document-editor details,.organization-card details{margin:16px 0}
.memo-compose #document-fields{display:block}.memo-compose textarea{min-height:150px;border-radius:18px;padding:16px;font:inherit}.document-compose-actions{display:flex;gap:10px;align-items:center;margin-top:12px}.memo-compose .document-compose-actions{justify-content:flex-end}.memo-compose #document-create{width:auto;margin:0;padding:12px 20px}.memo-compose #memo-voice{width:auto;margin:0;padding:12px 16px}.template-upload{padding:14px;border:1px solid #bfdcff;border-radius:16px;min-width:0}.template-upload input{max-width:100%;font-size:14px}.template-upload p{overflow-wrap:anywhere}#memo-result{padding-top:20px}#memo-result button{margin-left:10px}#organization-fields{display:grid;gap:12px}#organization-fields label{margin:0}
.memo-compose #document-create{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;font-size:24px;line-height:1}#organization-fields textarea{box-sizing:border-box;width:100%;min-height:110px;padding:12px;border:1px solid #bfdcff;border-radius:14px;background:#f8fbff;color:#102047;font:inherit}
@media(max-width:600px){.document-form-grid{grid-template-columns:1fr}.document-actions>*{max-width:100%}.document-history-row{align-items:flex-start;flex-direction:column}.document-history-row button{max-width:100%}.module-nav{display:flex;flex-direction:column;gap:6px}.module-nav button{flex:none;width:100%;min-height:40px;padding:8px 12px;text-align:left}.purchase-row{padding:12px}.document-actions button{width:100%}.document-compose-actions{flex-wrap:wrap}#memo-result button{margin:10px 0 0}}

/* Service chooser and focused service pages. */
#service-home{max-width:920px;margin:36px auto 60px}
#service-home .module-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#service-home .module-nav button{min-height:68px;padding:18px 22px;text-align:left;font-size:18px;border:1px solid #b4d9ff;border-radius:20px;background:#f3faff;color:#14294e;box-shadow:0 6px 20px #177bd009;transition:border-color .18s,transform .18s}
#service-home .module-nav button:hover:not(:disabled){border-color:#1689e9;transform:translateY(-2px)}
#service-home .module-nav button:last-child{grid-column:1/-1}
.service-back{margin:8px 0 20px;min-height:44px}
.history-toggle{margin:24px 0 16px;min-height:44px}
#meeting-current{margin:24px 0}
.memo-compose #memo-voice{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;position:relative}
#memo-voice[data-state=recording]{color:#0877c7;background:#e8f6ff;border-color:#69baf0;animation:voice-pulse 1.4s ease-in-out infinite}
.voice-stop-icon{display:block;width:13px;height:13px;border-radius:3px;background:currentColor}
.voice-busy-icon{display:block;width:20px;height:20px;border:2px solid #c1def7;border-top-color:#1689e9;border-radius:50%;animation:voice-spin .8s linear infinite}
#memo-voice [hidden]{display:none}
@keyframes voice-pulse{0%,100%{box-shadow:0 0 0 0 #1689e933}50%{box-shadow:0 0 0 7px #1689e900}}
@keyframes voice-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){#service-home{margin:16px 0 36px}#service-home .module-nav{grid-template-columns:1fr;gap:10px}#service-home .module-nav button{min-height:48px;padding:12px 16px;font-size:16px;border-radius:16px}}
@media(prefers-reduced-motion:reduce){#memo-voice[data-state=recording],.voice-busy-icon{animation:none}#service-home .module-nav button{transition:none;transform:none}}

/* A shared pinned brand and compact account actions on every page. */
.site-header{position:sticky;top:0;z-index:40;display:block;width:100%;max-width:none;margin:0;padding:env(safe-area-inset-top) 0 0;background:#f4faff;border-bottom:1px solid #d5e8f9;box-shadow:0 4px 20px #245c8c09}
.header-main,.header-account{width:min(100%,var(--content));margin-inline:auto;padding-inline:max(var(--gutter,28px),env(safe-area-inset-left));display:flex;align-items:center;gap:12px}
.header-main{justify-content:space-between;padding-block:10px 6px}
.site-header .brand{flex:0 1 auto;gap:10px;min-width:0}
.site-header .mark{flex-basis:44px;width:44px;height:44px}
.site-header .mark img{width:100%;height:100%;object-fit:cover}
.site-header .brand-copy strong{font-size:22px;font-weight:750;letter-spacing:-.65px;background:linear-gradient(115deg,#132549,#1265a4);background-clip:text;-webkit-background-clip:text;color:transparent}
.site-header .brand-copy small{display:block;color:#1379c8;font-size:11px;font-weight:550;letter-spacing:.1px;margin-top:2px;white-space:nowrap}
.header-account{justify-content:flex-end;padding-bottom:6px;gap:8px}
.header-account:has(#logout[hidden]){display:none}
.header-account .session-login{flex:0 1 auto;min-width:0;max-width:320px;margin:0;text-align:right;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.header-account #open-admin,.header-account #logout{height:32px;min-height:32px;padding:5px 10px;font-size:12px;margin:0;flex-shrink:0}
.site-header .menu-toggle{width:42px;height:42px;min-height:42px;padding:0;flex-shrink:0;border-radius:13px}
.menu-backdrop{position:fixed;inset:0;background:#142d4f55;z-index:50}
.service-menu{position:fixed;top:0;right:0;bottom:0;width:min(380px,90vw);height:100vh;height:100dvh;overflow-y:auto;z-index:60;background:#f5faff;padding:calc(20px + env(safe-area-inset-top)) 20px 24px;box-shadow:-12px 0 45px #123c6226;animation:menu-enter .2s ease-out}
.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.menu-heading h2{margin:0;font-size:22px}.menu-heading button{width:40px;height:40px;min-height:40px;padding:0;font-size:26px}
#service-menu-nav{display:grid;gap:10px}#service-menu-nav button{width:100%;justify-content:flex-start;text-align:left;min-height:46px;background:#ecf6ff;color:#15365b;border-color:#bfdcf5}#service-menu-nav button[aria-pressed=true]{border-color:#2198ea;background:#dff1ff}
.menu-open{overflow:hidden}
@keyframes menu-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
.memo-compose #document-create{border-radius:50%}
.meeting-date-field{width:100%;min-width:0;max-width:100%;grid-template-columns:minmax(0,1fr)}
.meeting-date-field input[type=date]{display:block;box-sizing:border-box;appearance:none;-webkit-appearance:none;width:100%;min-width:0;max-width:min(300px,100%);margin:0 0 18px}
.meeting-date-field input::-webkit-date-and-time-value{min-width:0;text-align:left}
@media(max-width:390px){.site-header .mark{flex-basis:38px;width:38px;height:38px}.site-header .brand-copy strong{font-size:18px}.site-header .brand-copy small{font-size:9px;letter-spacing:0}.header-main{gap:8px}.header-account .session-login{max-width:130px}}
@media(prefers-reduced-motion:reduce){.service-menu{animation:none}}

.support-banner{top:calc(102px + env(safe-area-inset-top))}

.meeting-review{grid-column:1/-1;width:100%;min-width:0;margin-top:20px;padding:16px;border:1px solid #bdddf7;border-radius:16px;background:#f6fbff}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.meeting-review details{margin:14px 0}.review-line{padding:12px 0;border-bottom:1px solid #d4e6f7}.meeting-review input[type=checkbox]{width:20px;min-height:20px;margin:8px;vertical-align:middle}.meeting-review p{white-space:pre-wrap}.meeting-review>button{margin:8px 0}@media(max-width:600px){.review-grid{grid-template-columns:1fr}}

.docx-mail-overlay{position:fixed;inset:0;z-index:5000;background:#122b4b66;display:flex;align-items:center;justify-content:center;padding:16px}.docx-mail-dialog{background:#f5fbff;border:1px solid #a6d4f7;border-radius:24px;padding:24px;width:min(100%,560px);max-height:90dvh;overflow:auto;box-shadow:0 16px 64px #12345644}.docx-mail-dialog p{overflow-wrap:anywhere}.docx-mail-dialog button{margin:8px 8px 0 0}.docx-mail-dialog select{width:100%;min-width:0}.docx-mail-button{white-space:normal}

.auth-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.auth-heading h1{margin:0;min-width:0;font-size:clamp(22px,4vw,32px)}.auth-heading img{width:104px;height:104px;object-fit:contain;flex-shrink:0;border-radius:22px}.profile-card{max-width:660px;margin:32px auto}.profile-card input{width:100%;box-sizing:border-box}.profile-card label{display:block;margin:16px 0 6px}.profile-card button{margin-top:22px}.memo-compose #document-fields textarea{min-height:300px;max-height:65vh;overflow-y:auto;resize:vertical}@media(max-width:480px){.auth-heading img{width:88px;height:88px}.auth-heading{gap:8px}.auth-heading h1{font-size:23px}.memo-compose #document-fields textarea{min-height:260px}.profile-card{margin:20px 0}}
