/* Integration Consulting / Projeto Aché — compact application interface. */
:root {
  --ink: #29272f;
  --muted: #756e7c;
  --line: #e8e4eb;
  --canvas: #f6f5f8;
  --red: #cf2d3f;
  --magenta: #b41e64;
  --sidebar: #252229;
  --sidebar-width: 224px;
  font-family: "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
  background: var(--canvas);
}
* { box-sizing: border-box; }
body { margin: 0; }
button, input, select { font: inherit; }
form, h1, h2, h3, p { margin: 0; }
a { color: var(--magenta); text-decoration: none; }
a:hover { text-decoration: underline; }
p { color: var(--muted); line-height: 1.65; }
h1 { font-size: 28px; line-height: 1.2; letter-spacing: -.7px; font-weight: 650; }
h2 { font-size: 16px; line-height: 1.4; font-weight: 650; }
h3 { font-size: 14px; font-weight: 650; }
strong { font-weight: 600; }
:focus-visible { outline: 3px solid #b41e6455; outline-offset: 3px; }

/* Explicit dimensions protect every control from intrinsic SVG sizing. */
svg.icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  max-width: 18px;
  max-height: 18px;
  flex: 0 0 18px;
  vertical-align: middle;
  overflow: hidden;
  pointer-events: none;
}
button, .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  gap: 7px;
  width: auto;
  max-width: 100%;
  height: 36px;
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid #dad3df;
  border-radius: 6px;
  background: #fff;
  color: #5f5369;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
button:hover, .button:hover { background: #f7f3f8; border-color: #c2b4cb; text-decoration: none; }
button.primary, .button.primary { background: var(--magenta); border-color: var(--magenta); color: #fff; }
button.primary:hover, .button.primary:hover { background: #971650; border-color: #971650; }
button .icon, .button .icon { width: 16px; height: 16px; flex-basis: 16px; }
button.danger { color: #a94355; border-color: #ead1d9; background: #fff; }
button.danger:hover { background: #fff1f4; border-color: #d69fac; }
.full-width { width: 100%; }
label { display: block; margin: 16px 0 6px; color: #514857; font-size: 12px; font-weight: 600; }
input, select {
  display: block;
  width: 100%;
  min-width: 0;
  height: 38px;
  padding: 8px 11px;
  border: 1px solid #dcd4e1;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  line-height: 20px;
}
input::placeholder { color: #a298a9; }
input:hover, select:hover { border-color: #bfb0c8; }
input:focus, select:focus { border-color: var(--magenta); outline: 2px solid #b41e6420; outline-offset: 1px; }
input[type="hidden"] { display: none; }

/* Application frame. */
.main-shell { display: flex; flex-direction: column; min-height: 100vh; min-width: 0; }
.workspace .main-shell { margin-left: var(--sidebar-width); }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  width: var(--sidebar-width);
  padding: 22px 16px 0;
  background: var(--sidebar);
  color: #fff;
  overflow-y: auto;
}
.sidebar-logo { display: flex; align-items: center; justify-content: flex-start; height: 54px; padding: 4px 10px; margin-bottom: 24px; border-radius: 6px; }
.sidebar-logo img { display: block; width: 158px; height: 46px; max-width: 100%; object-fit: contain; }
.sidebar-product { display: flex; align-items: center; gap: 9px; margin: 0 6px 28px; }
.product-mark { display: grid; place-items: center; width: 31px; height: 34px; flex-shrink: 0; border-radius: 7px; background: #a02a5226; color: #ed8fb1; }
.sidebar-product strong { display: block; font-size: 12px; }
.sidebar-product div > span { display: block; margin-top: 2px; color: #ada0b4; font-size: 11px; }
.nav-label { padding: 0 10px; margin-bottom: 9px; color: #a094a8; font-size: 10px; letter-spacing: 1px; }
.workspace-nav { display: flex; flex-direction: column; gap: 5px; }
.workspace-nav > a { display: flex; align-items: center; gap: 9px; min-height: 39px; padding: 9px 10px; border-radius: 6px; color: #c4bacb; font-size: 12px; }
.workspace-nav > a:hover { background: #ffffff09; color: #fff; text-decoration: none; }
.workspace-nav > a.active { background: #a52a512c; color: #fff; box-shadow: inset 2px 0 #e55d85; }
.workspace-nav > a.active .icon { color: #ee87ab; }
.sidebar-bottom { margin-top: auto; padding-top: 30px; }
.sidebar-project { display: flex; align-items: center; gap: 10px; padding: 12px; margin-bottom: 18px; border: 1px solid #ffffff12; border-radius: 7px; }
.sidebar-project strong { display: block; font-size: 12px; }
.sidebar-project div > span { display: block; margin-top: 3px; color: #a89bb0; font-size: 10px; }
.project-dot { display: inline-block; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: #d578a4; }
.sidebar-account { display: flex; align-items: center; gap: 8px; padding: 16px 0; border-top: 1px solid #ffffff14; }
.avatar { display: inline-grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 7px; background: #503346; color: #f2c6dd; font-size: 12px; font-weight: 600; }
.account-info { flex: 1; min-width: 0; }
.account-info strong { display: block; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.account-info span { display: block; color: #aa9bb2; font-size: 10px; }
.icon-button.logout { width: 30px; height: 30px; min-height: 30px; padding: 0; color: #b4a6bc; background: transparent; border-color: transparent; }
.icon-button.logout:hover { background: #ffffff0a; color: #fff; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 66px; padding: 12px 28px; background: #fff; border-bottom: 1px solid var(--line); }
.topbar-title { display: flex; align-items: center; gap: 9px; color: #716478; font-size: 12px; }
.topbar-title .icon { color: #97819f; }
.project-brands { display: flex; align-items: center; gap: 15px; flex-shrink: 0; }
.project-brands img { display: block; object-fit: contain; }
.project-brands .integration-logo { width: 130px; height: 40px; padding: 4px 9px; border-radius: 5px; background: var(--sidebar); }
.project-brands .ache-logo { width: 78px; height: 28px; }
.brand-divider { width: 1px; height: 25px; background: var(--line); }
.client-caption { color: #97889e; font-size: 9px; letter-spacing: .5px; line-height: 1.6; }
.client-caption strong { color: #6c5e74; font-size: 11px; letter-spacing: 0; }
main { flex: 1; width: 100%; min-width: 0; max-width: 1440px; margin: 0 auto; padding: 26px 28px 36px; }
main:focus { outline: none; }
.site-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; padding: 15px 28px; border-top: 1px solid var(--line); color: #8a7a93; font-size: 10px; }
.site-footer > span { display: inline-flex; align-items: center; gap: 7px; }
.site-footer svg.icon { width: 12px; height: 12px; flex-basis: 12px; }
.site-footer > span > span { color: #c0b3c8; }

/* Dense enough for work, with a single spacing and sizing scale. */
.breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; color: #8e7d98; font-size: 11px; }
.breadcrumb > span { color: #bcb0c4; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 22px; }
.page-heading p { margin-top: 8px; font-size: 13px; }
.access-chip { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; padding: 6px 9px; border: 1px solid #eadce7; border-radius: 6px; color: #8f426b; background: #fcf8fb; font-size: 11px; }
.access-chip svg.icon { width: 14px; height: 14px; flex-basis: 14px; }
.overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.overview-card { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.overview-card div > span { display: block; color: #7a6a84; font-size: 12px; }
.overview-card strong { display: block; margin: 4px 0 1px; font-size: 25px; line-height: 1.3; letter-spacing: -.6px; }
.overview-card small { display: block; color: #8d7b97; font-size: 11px; }
.stat-icon { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 8px; background: #f6eff7; color: #9671a2; }
.success-icon { background: #edf7f0; color: #3a8056; }
.pending-icon { background: #fff6e9; color: #a27835; }
.card { margin-bottom: 20px; padding: 20px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 17px; }
.section-heading p { margin-top: 3px; font-size: 12px; }
.heading-with-icon { display: flex; align-items: center; gap: 10px; }
.section-icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 8px; background: #fbf0f6; color: var(--magenta); }
.tag { display: inline-block; padding: 4px 7px; border-radius: 4px; background: #f6f1f8; color: #8a7196; font-size: 10px; font-weight: 600; white-space: nowrap; }
.upload-card { border-top: 2px solid #c06396; }
.upload-form { display: flex; align-items: center; gap: 18px; }
.file-picker { flex: 1; min-width: 0; padding: 16px; border: 1px dashed #d9c9e1; border-radius: 7px; background: #fcfafd; }
.file-picker label { margin: 0 0 9px; font-size: 12px; }
.file-picker input[type="file"] { height: 32px; padding: 0; border: 0; background: transparent; font-size: 12px; line-height: 30px; }
.file-picker input::file-selector-button { height: 30px; padding: 0 10px; margin-right: 10px; border: 1px solid #d4c5df; border-radius: 5px; background: #fff; color: #70547f; font: inherit; font-size: 12px; cursor: pointer; }
.file-picker > span { display: block; margin-top: 8px; color: #897591; font-size: 11px; }
.upload-form > button { align-self: center; }
.processing-steps { display: flex; align-items: center; gap: 12px; margin: 16px 0; color: #8d7598; font-size: 11px; }
.processing-steps > span:not(.step-divider) { display: inline-flex; align-items: center; gap: 6px; }
.processing-steps b { display: inline-grid; place-items: center; width: 20px; height: 20px; flex: 0 0 20px; border: 1px solid #ede2f2; border-radius: 50%; color: #a184ac; font-size: 9px; font-weight: 500; }
.step-divider { height: 1px; max-width: 65px; flex: 1; background: #eee5f3; }
.processing-details { padding-top: 12px; border-top: 1px solid #f1eaf5; }
.processing-details summary { color: #8b7099; font-size: 11px; cursor: pointer; }
.processing-details p { margin-top: 10px; font-size: 12px; }
.table-card { overflow: hidden; padding: 0; }
.table-heading { padding: 19px 20px; margin: 0; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; text-align: left; white-space: nowrap; }
th { padding: 12px 18px; border-block: 1px solid #eee7f3; background: #fbf9fd; color: #8a749a; font-size: 10px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; }
td { padding: 13px 18px; border-bottom: 1px solid #f0eaf5; color: #796586; font-size: 12px; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #fefcff; }
.file-identity { display: flex; align-items: center; gap: 9px; }
.file-type-icon { display: grid; place-items: center; width: 27px; height: 31px; border: 1px solid #eee1f5; border-radius: 5px; background: #f9f3fc; color: #a180b0; }
.file-type-icon svg.icon { width: 16px; height: 16px; flex-basis: 16px; }
.mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; color: #63516e; font-size: 12px; }
.cell-caption { display: block; margin-top: 3px; color: #8a7697; font-size: 10px; }
.format-label { display: inline-block; padding: 2px 5px; border: 1px solid #e9def1; border-radius: 4px; color: #9276a4; font-size: 10px; font-weight: 600; }
.format-arrow { margin: 0 5px; color: #bcabc7; }
.output-format { background: #fbf5fb; color: #a16b9a; border-color: #eedcec; }
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border-radius: 15px; background: #f3edf8; color: #8c70a0; font-size: 10px; font-weight: 600; white-space: nowrap; }
.badge > span { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.badge.ready, .badge.enabled { background: #edf8f0; color: #367c4b; }
.badge.queued, .badge.processing, .badge.review { background: #fff6e7; color: #8e6b25; }
.badge.failed { background: #fff0f3; color: #ad4d66; }
.badge.expired, .badge.disabled { background: #f3eef8; color: #8c779d; }
.actions { display: flex; align-items: center; gap: 7px; }
.actions button { height: 30px; min-height: 30px; padding: 0 9px; border-radius: 5px; font-size: 11px; }
.actions svg.icon { width: 14px; height: 14px; flex-basis: 14px; }
.download-button { background: #fffcff; color: #9c5a8c; border-color: #ead8e7; }
.error-code { max-width: 180px; margin-top: 5px; white-space: normal; overflow-wrap: anywhere; color: #aa7392; font-size: 10px; }
.table-footnote { display: flex; align-items: center; gap: 7px; padding: 12px 20px; border-top: 1px solid #eee7f3; color: #947ba4; font-size: 11px; }
.table-footnote svg.icon { width: 13px; height: 13px; flex-basis: 13px; }
.empty-state { padding: 28px 12px 32px; text-align: center; white-space: normal; }
.empty-state > span { display: inline-grid; place-items: center; width: 42px; height: 42px; margin-bottom: 12px; border: 1px solid #eee3f5; border-radius: 10px; background: #faf6fd; color: #ac90bf; }
.empty-state h3 { color: #8b719b; font-size: 14px; }
.empty-state p { margin-top: 5px; color: #a08aae; font-size: 12px; }
.notice { display: flex; align-items: flex-start; gap: 9px; padding: 12px 15px; margin-bottom: 18px; border: 1px solid #d0e9d9; border-radius: 7px; background: #f0faf3; color: #447c55; font-size: 12px; }
.notice .icon { margin-top: 1px; }
.notice.error, .errorlist { color: #ad4f66; background: #fff2f5; border-color: #f0cdd8; }
.errorlist { padding: 10px 24px; border-radius: 5px; font-size: 12px; }
.small, .helptext { color: #8b739b; font-size: 12px; line-height: 1.7; }
.helptext { display: block; margin-top: 6px; }
.user-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr) auto; align-items: end; gap: 14px; }
.user-form label { margin-top: 0; }
.user-form button { height: 38px; }
.guidance-strip { display: flex; align-items: flex-start; gap: 7px; padding-top: 14px; margin-top: 17px; border-top: 1px solid #f0e6f7; color: #9474a5; font-size: 11px; }
.guidance-strip .icon { margin-top: 1px; }
.user-identity { display: flex; align-items: center; gap: 8px; }
.user-identity .avatar { width: 28px; height: 28px; flex-basis: 28px; background: #f6eaf4; color: #ac71a0; }
.audit-table .mono { font-size: 10px; }
.centered-card { max-width: 470px; margin: 24px auto; padding: 26px; }
.centered-card h1 { margin: 12px 0 9px; font-size: 25px; }
.centered-card > p { font-size: 13px; }
.centered-card form { margin-top: 20px; }
.centered-card form > p { margin-bottom: 16px; }
.centered-card .helptext ul { padding-left: 17px; margin: 7px 0; }
.centered-card .full-width { height: 38px; margin-top: 10px; }
.form-emblem { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 20px; border: 1px solid #f1deed; border-radius: 9px; background: #fcf2f9; color: var(--magenta); }
.success-emblem { border-color: #d8efdf; background: #effaf3; color: #49885b; }
.eyebrow { display: block; color: #a06792; font-size: 10px; font-weight: 600; letter-spacing: 1.3px; }
.download-info { display: flex; align-items: center; justify-content: space-between; padding: 13px; margin: 19px 0; border: 1px solid #f0e2f7; border-radius: 7px; background: #fdf9ff; }
.download-info > div { display: flex; align-items: center; gap: 8px; color: #aa86bd; }
.download-card .primary { margin: 20px 0 12px; }
.back-link { display: block; margin-top: 17px; text-align: center; font-size: 12px; }

/* Compact login; keep the form and branding at natural scale. */
.guest .topbar { padding-inline: max(24px, calc((100vw - 1180px) / 2)); }
.guest main { display: flex; flex-direction: column; justify-content: center; max-width: 1136px; padding: 28px; }
.guest .site-footer { justify-content: center; gap: 18px 40px; border-top: 0; }
.login-layout { display: grid; grid-template-columns: 1fr 1fr; width: 100%; border: 1px solid #e5dce9; border-radius: 11px; overflow: hidden; background: #fff; }
.login-story { display: flex; flex-direction: column; padding: 28px 32px; color: #fff; background: linear-gradient(145deg, #29232e, #362435); }
.story-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pill-outline { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid #a2718e45; border-radius: 15px; color: #d8a4c2; font-size: 9px; letter-spacing: .5px; }
.live-dot { width: 4px; height: 4px; border-radius: 50%; background: #e59dc6; }
.story-edition { color: #bc9ac8; font-size: 8px; letter-spacing: .8px; }
.story-copy { max-width: 370px; margin-top: 36px; }
.story-copy .eyebrow { margin-bottom: 14px; color: #bb8ba9; font-size: 9px; }
.story-copy h1 { font-size: 36px; line-height: 1.16; letter-spacing: -1px; font-weight: 550; }
.story-copy h1 > span { color: #ed9cc4; }
.story-copy > p { max-width: 315px; margin-top: 17px; color: #bba2c5; font-size: 12px; line-height: 1.8; }
.flow-visual { display: flex; align-items: flex-start; justify-content: center; width: 100%; max-width: 300px; margin: 30px 0 28px; }
.flow-node { display: flex; align-items: center; flex-direction: column; gap: 7px; min-width: 55px; color: #b79ac5; font-size: 10px; }
.flow-node-icon { display: grid; place-items: center; width: 32px; height: 36px; border: 1px solid #996a9b66; border-radius: 6px; background: #49324e; color: #c5a1d6; }
.flow-node-icon.done { border-color: #bc76a365; background: #60354f; color: #efb4d5; }
.flow-core { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; margin-top: -3px; border: 1px solid #d887b676; border-radius: 9px; background: #7c3b60; color: #f2b7da; }
.flow-connector { flex: 1; height: 1px; max-width: 55px; margin-top: 18px; background: #b777a477; }
.story-bottom { display: flex; align-items: center; gap: 8px; padding-top: 16px; margin-top: auto; border-top: 1px solid #ffffff12; }
.story-bottom p { max-width: 230px; color: #b390bf; font-size: 10px; }
.story-bottom-icon { color: #bc85ae; }
.story-bottom-icon svg.icon { width: 13px; height: 13px; flex-basis: 13px; }
.story-index { margin-left: auto; color: #b285bd; font-size: 8px; letter-spacing: .8px; white-space: nowrap; }
.login-panel { display: flex; align-items: center; justify-content: center; padding: 32px; }
.login-form-wrap { width: 100%; max-width: 320px; }
.login-panel h2 { margin-top: 10px; font-size: 25px; letter-spacing: -.6px; }
.login-intro { margin: 8px 0 21px; color: #9981a7; font-size: 12px; }
.login-form label { margin-top: 15px; font-size: 12px; }
.login-form input { height: 38px; }
.login-form button { justify-content: space-between; height: 40px; margin-top: 22px; font-size: 13px; }
.login-support { display: flex; align-items: flex-start; gap: 8px; padding-top: 17px; margin-top: 22px; border-top: 1px solid #f0e5f7; color: #b397c2; }
.login-support svg.icon { width: 14px; height: 14px; flex-basis: 14px; margin-top: 2px; }
.login-support p { color: #9879aa; font-size: 11px; line-height: 1.7; }
.login-support strong { color: #8b679f; font-weight: 500; }
.login-confidential { display: flex; align-items: center; gap: 7px; margin-top: 18px; color: #a488b6; font-size: 10px; }
.login-confidential .project-dot { width: 4px; height: 4px; flex-basis: 4px; }
.skip-link { position: fixed; top: -100px; left: 18px; z-index: 99; padding: 10px 14px; border: 1px solid var(--magenta); border-radius: 6px; background: #fff; color: var(--magenta); }
.skip-link:focus { top: 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

@media (max-width: 1120px) {
  :root { --sidebar-width: 208px; }
  main { padding: 24px; }
  .topbar { padding-inline: 24px; }
  .client-caption { display: none; }
  .upload-form { flex-wrap: wrap; gap: 12px; }
  .file-picker { flex-basis: 100%; }
  .upload-form > button { margin-left: auto; }
  .user-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .user-form > button { justify-self: end; align-self: end; }
  .overview-card { padding: 14px; }
  .overview-card small { font-size: 10px; }
  .story-edition { display: none; }
}
@media (max-width: 800px) {
  .sidebar { position: static; width: 100%; padding: 12px 18px 0; overflow: visible; }
  .workspace .main-shell { margin-left: 0; }
  .sidebar-logo { width: 148px; height: 43px; padding: 0; margin: 0 0 13px; }
  .sidebar-logo img { width: 148px; height: 43px; }
  .sidebar-product, .nav-label, .sidebar-project { display: none; }
  .workspace-nav { flex-direction: row; gap: 5px; overflow-x: auto; padding-bottom: 10px; }
  .workspace-nav > a { flex-shrink: 0; min-height: 35px; padding: 8px; font-size: 11px; }
  .sidebar-bottom { padding: 0; margin: 0; }
  .sidebar-account { padding: 9px 0; }
  .sidebar-account .avatar { width: 25px; height: 25px; flex-basis: 25px; font-size: 10px; }
  .sidebar-account .account-info { display: flex; align-items: center; gap: 10px; }
  .sidebar-account form { margin-left: auto; }
  .topbar { min-height: 58px; padding: 10px 20px; }
  .topbar-title { font-size: 11px; }
  .guest .topbar-title { max-width: 215px; }
  .guest .project-brands { gap: 10px; }
  .guest .project-brands .integration-logo { width: 115px; height: 36px; }
  .guest .project-brands .ache-logo { width: 66px; height: 26px; }
  .login-story { padding: 26px; }
  .story-copy h1 { font-size: 31px; }
  .story-copy { margin-top: 29px; }
  .login-panel { padding: 28px; }
}
@media (max-width: 600px) {
  h1 { font-size: 25px; }
  main { padding: 20px 16px 26px; }
  .topbar { padding-inline: 16px; gap: 10px; }
  .topbar-title { max-width: 230px; line-height: 1.5; }
  .project-brands .ache-logo { width: 62px; height: 26px; }
  .guest .topbar-title { display: none; }
  .guest .project-brands { width: 100%; justify-content: space-between; gap: 12px; }
  .guest .brand-divider { margin-left: auto; }
  .guest .client-caption { display: block; }
  .guest .project-brands .integration-logo { width: 120px; }
  .guest main { padding: 20px 16px; }
  .login-layout { grid-template-columns: 1fr; border-radius: 9px; }
  .login-story { padding: 23px; }
  .story-copy { max-width: 100%; margin-top: 22px; }
  .story-copy h1 { max-width: 350px; font-size: 29px; }
  .story-copy > p { margin-top: 13px; }
  .flow-visual, .story-bottom { display: none; }
  .login-panel { padding: 27px 24px; }
  .login-form-wrap { max-width: 360px; }
  .login-panel .form-emblem { display: none; }
  .login-panel h2 { font-size: 24px; }
  .login-form button, .centered-card .full-width { height: 42px; }
  .login-support { margin-top: 19px; padding-top: 15px; }
  .page-heading { align-items: flex-start; gap: 10px; margin-bottom: 20px; }
  .page-heading p { font-size: 12px; }
  .access-chip { padding: 5px 7px; font-size: 10px; }
  .access-chip .icon { display: none; }
  .overview-grid { gap: 8px; }
  .overview-card { padding: 12px 10px; }
  .overview-card div > span { font-size: 11px; }
  .overview-card strong { margin-top: 7px; font-size: 23px; }
  .overview-card small, .overview-card .stat-icon { display: none; }
  .card { padding: 17px; }
  .section-heading { gap: 10px; }
  .section-heading p { font-size: 11px; }
  .file-picker { padding: 13px; }
  .file-picker > span { font-size: 11px; }
  .file-picker input[type="file"] { font-size: 11px; }
  .file-picker input::file-selector-button { padding-inline: 8px; font-size: 11px; }
  .upload-form > button { width: auto; max-width: 100%; height: 40px; font-size: 12px; }
  .processing-steps { align-items: flex-start; gap: 7px; font-size: 10px; }
  .processing-steps > span:not(.step-divider) { flex: 1; align-items: flex-start; gap: 5px; }
  .processing-steps b { width: 17px; height: 17px; flex-basis: 17px; font-size: 8px; }
  .step-divider { display: none; }
  .table-card { padding: 0; }
  .table-heading { padding: 17px; align-items: flex-start; }
  .table-heading > div { min-width: 0; }
  .table-heading .button { height: 32px; min-height: 32px; padding-inline: 8px; font-size: 11px; }
  .table-heading .button .icon { display: none; }
  .table-footnote { padding: 12px 16px; align-items: flex-start; font-size: 10px; }
  .user-form { grid-template-columns: 1fr; }
  .user-form > button { justify-self: start; }
  .centered-card { margin-top: 15px; padding: 23px; }
  .site-footer { padding: 14px 16px; font-size: 10px; }
  .sidebar-account .account-info { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
}

/* Administrator policy controls use native, compact checkboxes. */
.policy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.policy-option { display: flex; align-items: flex-start; gap: 11px; min-width: 0; margin: 0; padding: 15px; border: 1px solid #e7ddea; border-radius: 7px; background: #fff; cursor: pointer; }
.policy-option:has(input:checked) { border-color: #d5a8c2; background: #fdf8fb; }
.policy-option:focus-within { outline: 2px solid #b41e6440; outline-offset: 2px; }
.policy-option input[type="checkbox"] { display: inline-block; width: 16px; height: 16px; flex: 0 0 16px; margin: 2px 0 0; padding: 0; accent-color: var(--magenta); cursor: pointer; }
.policy-option strong { display: block; color: #625169; font-size: 13px; }
.policy-option small { display: block; margin-top: 5px; color: #8b7697; font-size: 12px; font-weight: 400; line-height: 1.6; }
.policy-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.policy-notes p { margin-top: 12px; font-size: 12px; }
.audit-policy-detail { display: block; max-width: 360px; margin-top: 5px; white-space: normal; color: #9475a0; font-size: 11px; line-height: 1.6; }
@media (max-width: 700px) { .policy-grid { grid-template-columns: 1fr; } .policy-option { padding: 13px; } }

/* Multiple-file selection and local transfer queue. */
[hidden] { display: none !important; }
button:disabled { opacity: .55; cursor: not-allowed; }
.upload-selectors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.upload-help { margin-top: 12px; color: #8a7496; font-size: 11px; }
.upload-feedback { margin: 13px 0; color: #916084; font-size: 12px; }
.upload-feedback:empty { display: none; }
.batch-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 17px; }
.upload-queue { margin-top: 17px; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.queue-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; background: #fcf9fe; color: #92749f; font-size: 11px; }
.queue-heading progress { width: 150px; height: 7px; accent-color: var(--magenta); }
.queue-filename { min-width: 150px; max-width: 350px; white-space: normal; overflow-wrap: anywhere; }
.queue-detail { display: block; max-width: 310px; margin-top: 5px; white-space: normal; font-size: 11px; color: #9978a8; }
button.queue-remove { height: 28px; min-height: 28px; padding-inline: 8px; font-size: 11px; }
@media (max-width: 700px) { .upload-selectors { grid-template-columns: 1fr; } .queue-heading { align-items: flex-start; flex-direction: column; } .batch-actions button { font-size: 12px; } }
